Completed
Push — dev5 ( 0ca5ae...abba83 )
by Ron
09:59
created

CustomerDetailsController::store()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 30
Code Lines 21

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 21
nc 1
nop 1
dl 0
loc 30
rs 9.584
c 0
b 0
f 0
1
<?php
2
3
namespace App\Http\Controllers\Customers;
4
5
use App\Customers;
6
use Illuminate\Http\Request;
7
use Illuminate\Support\Facades\Log;
8
use Illuminate\Support\Facades\Auth;
9
use App\Http\Controllers\Controller;
10
11
class CustomerDetailsController extends Controller
12
{
13
    public function __construct()
14
    {
15
        $this->middleware('auth');
16
    }
17
    
18
    /**
19
     * Display a listing of the resource.
20
     *
21
     * @return \Illuminate\Http\Response
22
     */
23
    public function index()
24
    {
25
        //
26
    }
27
28
    //  New Customer Form
29
    public function create()
30
    {
31
        return view('customer.newCustomer');
32
    }
33
34
    /**
35
     * Store a newly created resource in storage.
36
     *
37
     * @param  \Illuminate\Http\Request  $request
38
     * @return \Illuminate\Http\Response
39
     */
40
    public function store(Request $request)
41
    {
42
        $request->validate([
43
            'custID'   => 'required|numeric|unique:customers,cust_id',
44
            'custName' => 'required', // |unique:customers,name',
45
            'custDBA'  => 'nullable',
46
            'custAddr' => 'required',
47
            'custCity' => 'required',
48
            'custZip'  => 'required|numeric'
49
        ]);
50
        
51
        //  Remove any forward slash (/) from the Customer name field
52
        $request->merge(['custName' => str_replace('/', '-', $request->custName)]);
53
        
54
        Customers::create([
55
            'cust_id'  => $request->custID,
56
            'name'     => $request->custName,
57
            'dba_name' => $request->custDBA,
58
            'address'  => $request->custAddr,
59
            'city'     => $request->custCity,
60
            'state'    => $request->selectedState,
61
            'zip'      => $request->custZip,
62
            'active'   => 1
63
        ]);
64
        
65
        Log::info('New Customer ID-'.$request->custID.' created by User ID-'.Auth::user()->user_id);
66
        
67
        return response()->json([
68
            'success' => true, 
69
            'url' => route('customer.details', [$request->custID, urlencode($request->custName)])]);
70
    }
71
    
72
    //  Show the customer details
73
    public function details($id, $name)
74
    {
75
        return view('customer.details');
76
    }
77
78
    /**
79
     * Display the specified resource.
80
     *
81
     * @param  int  $id
82
     * @return \Illuminate\Http\Response
83
     */
84
    public function show($id)
85
    {
86
        //
87
    }
88
89
    /**
90
     * Show the form for editing the specified resource.
91
     *
92
     * @param  int  $id
93
     * @return \Illuminate\Http\Response
94
     */
95
    public function edit($id)
96
    {
97
        //
98
    }
99
100
    /**
101
     * Update the specified resource in storage.
102
     *
103
     * @param  \Illuminate\Http\Request  $request
104
     * @param  int  $id
105
     * @return \Illuminate\Http\Response
106
     */
107
    public function update(Request $request, $id)
108
    {
109
        //
110
    }
111
112
    /**
113
     * Remove the specified resource from storage.
114
     *
115
     * @param  int  $id
116
     * @return \Illuminate\Http\Response
117
     */
118
    public function destroy($id)
119
    {
120
        //
121
    }
122
}
123