88use Illuminate \Http \Request ;
99use App \Events \ServiceWasCreated ;
1010use App \Events \ServiceWasUpdated ;
11+ use App \Category ;
1112
1213class ServiceController extends Controller
1314{
@@ -18,7 +19,10 @@ class ServiceController extends Controller
1819 */
1920 public function index ()
2021 {
21- $ services = Service::orderBy ('month ' )->orderBy ('day ' )->with (['client ' ])->get ();
22+ $ services = Service::orderBy ('month ' )
23+ ->orderBy ('day ' )
24+ ->with (['client ' , 'category ' ])
25+ ->get ();
2226
2327 return view ('services.index ' )->with (compact ('services ' ));
2428 }
@@ -36,8 +40,9 @@ public function create()
3640 'eur ' => 'EUR ' ,
3741 ];
3842 $ clients = Client::orderBy ('name ' )->pluck ('name ' , 'id ' )->toArray ();
43+ $ categories = Category::orderBy ('name ' )->pluck ('name ' , 'id ' )->toArray ();
3944
40- return view ('services.create ' )->with (compact ('currencies ' , 'clients ' ));
45+ return view ('services.create ' )->with (compact ('currencies ' , 'clients ' , ' categories ' ));
4146 }
4247
4348 /**
@@ -57,10 +62,12 @@ public function store(Request $request)
5762 'currency ' => 'required|in:hrk,usd,eur ' ,
5863 'exchange_rate ' => 'required|numeric|min:0 ' ,
5964 'active ' => 'boolean ' ,
60- 'client_id ' => 'required|exists:clients,id '
65+ 'client_id ' => 'required|exists:clients,id ' ,
66+ 'category_id ' => 'required|exists:categories,id '
6167 ]);
6268
6369 $ client = Client::find ($ request ->get ('client_id ' ));
70+ $ category = Category::find ($ request ->get ('category_id ' ));
6471
6572 $ service = new Service ;
6673 $ service ->title = $ request ->get ('title ' );
@@ -72,6 +79,7 @@ public function store(Request $request)
7279 $ service ->exchange_rate = $ request ->get ('exchange_rate ' );
7380 $ service ->active = $ request ->get ('active ' , false );
7481 $ service ->client ()->associate ($ client );
82+ $ service ->category ()->associate ($ category );
7583 $ service ->save ();
7684
7785 event (new ServiceWasCreated ($ service ));
@@ -96,8 +104,9 @@ public function edit($id)
96104 'eur ' => 'EUR ' ,
97105 ];
98106 $ clients = Client::orderBy ('name ' )->pluck ('name ' , 'id ' )->toArray ();
107+ $ categories = Category::orderBy ('name ' )->pluck ('name ' , 'id ' )->toArray ();
99108
100- return view ('services.edit ' )->with (compact ('service ' , 'currencies ' , 'clients ' ));
109+ return view ('services.edit ' )->with (compact ('service ' , 'currencies ' , 'clients ' , ' categories ' ));
101110 }
102111
103112 /**
@@ -120,7 +129,8 @@ public function update(Request $request, $id)
120129 'currency ' => 'required|in:hrk,usd,eur ' ,
121130 'exchange_rate ' => 'required|numeric|min:0 ' ,
122131 'active ' => 'boolean ' ,
123- 'client_id ' => 'required|exists:clients,id '
132+ 'client_id ' => 'required|exists:clients,id ' ,
133+ 'category_id ' => 'required|exists:categories,id '
124134 ]);
125135
126136 $ service ->update ([
@@ -136,6 +146,8 @@ public function update(Request $request, $id)
136146
137147 $ client = Client::find ($ request ->get ('client_id ' ));
138148 $ service ->client ()->associate ($ client );
149+ $ category = Category::find ($ request ->get ('category_id ' ));
150+ $ service ->category ()->associate ($ category );
139151 $ service ->save ();
140152
141153 event (new ServiceWasUpdated ($ service ));
0 commit comments