8
8
use Illuminate \Http \Request ;
9
9
use App \Events \ServiceWasCreated ;
10
10
use App \Events \ServiceWasUpdated ;
11
+ use App \Category ;
11
12
12
13
class ServiceController extends Controller
13
14
{
@@ -18,7 +19,10 @@ class ServiceController extends Controller
18
19
*/
19
20
public function index ()
20
21
{
21
- $ services = Service::orderBy ('month ' )->orderBy ('day ' )->with (['client ' ])->get ();
22
+ $ services = Service::orderBy ('month ' )
23
+ ->orderBy ('day ' )
24
+ ->with (['client ' , 'category ' ])
25
+ ->get ();
22
26
23
27
return view ('services.index ' )->with (compact ('services ' ));
24
28
}
@@ -36,8 +40,9 @@ public function create()
36
40
'eur ' => 'EUR ' ,
37
41
];
38
42
$ clients = Client::orderBy ('name ' )->pluck ('name ' , 'id ' )->toArray ();
43
+ $ categories = Category::orderBy ('name ' )->pluck ('name ' , 'id ' )->toArray ();
39
44
40
- return view ('services.create ' )->with (compact ('currencies ' , 'clients ' ));
45
+ return view ('services.create ' )->with (compact ('currencies ' , 'clients ' , ' categories ' ));
41
46
}
42
47
43
48
/**
@@ -57,10 +62,12 @@ public function store(Request $request)
57
62
'currency ' => 'required|in:hrk,usd,eur ' ,
58
63
'exchange_rate ' => 'required|numeric|min:0 ' ,
59
64
'active ' => 'boolean ' ,
60
- 'client_id ' => 'required|exists:clients,id '
65
+ 'client_id ' => 'required|exists:clients,id ' ,
66
+ 'category_id ' => 'required|exists:categories,id '
61
67
]);
62
68
63
69
$ client = Client::find ($ request ->get ('client_id ' ));
70
+ $ category = Category::find ($ request ->get ('category_id ' ));
64
71
65
72
$ service = new Service ;
66
73
$ service ->title = $ request ->get ('title ' );
@@ -72,6 +79,7 @@ public function store(Request $request)
72
79
$ service ->exchange_rate = $ request ->get ('exchange_rate ' );
73
80
$ service ->active = $ request ->get ('active ' , false );
74
81
$ service ->client ()->associate ($ client );
82
+ $ service ->category ()->associate ($ category );
75
83
$ service ->save ();
76
84
77
85
event (new ServiceWasCreated ($ service ));
@@ -96,8 +104,9 @@ public function edit($id)
96
104
'eur ' => 'EUR ' ,
97
105
];
98
106
$ clients = Client::orderBy ('name ' )->pluck ('name ' , 'id ' )->toArray ();
107
+ $ categories = Category::orderBy ('name ' )->pluck ('name ' , 'id ' )->toArray ();
99
108
100
- return view ('services.edit ' )->with (compact ('service ' , 'currencies ' , 'clients ' ));
109
+ return view ('services.edit ' )->with (compact ('service ' , 'currencies ' , 'clients ' , ' categories ' ));
101
110
}
102
111
103
112
/**
@@ -120,7 +129,8 @@ public function update(Request $request, $id)
120
129
'currency ' => 'required|in:hrk,usd,eur ' ,
121
130
'exchange_rate ' => 'required|numeric|min:0 ' ,
122
131
'active ' => 'boolean ' ,
123
- 'client_id ' => 'required|exists:clients,id '
132
+ 'client_id ' => 'required|exists:clients,id ' ,
133
+ 'category_id ' => 'required|exists:categories,id '
124
134
]);
125
135
126
136
$ service ->update ([
@@ -136,6 +146,8 @@ public function update(Request $request, $id)
136
146
137
147
$ client = Client::find ($ request ->get ('client_id ' ));
138
148
$ service ->client ()->associate ($ client );
149
+ $ category = Category::find ($ request ->get ('category_id ' ));
150
+ $ service ->category ()->associate ($ category );
139
151
$ service ->save ();
140
152
141
153
event (new ServiceWasUpdated ($ service ));
0 commit comments