@@ -85,8 +85,8 @@ discard block |
||
| 85 | 85 | { |
| 86 | 86 | $this->startTime = clone $startTime; |
| 87 | 87 | $this->endTime = clone $this->startTime; |
| 88 | - $this->endTime->add(new \DateInterval('PT' . ($this->time_slots * |
|
| 89 | - config('app.timeslots.duration')) . 'S')); |
|
| 88 | + $this->endTime->add(new \DateInterval('PT'.($this->time_slots * |
|
| 89 | + config('app.timeslots.duration')).'S')); |
|
| 90 | 90 | } |
| 91 | 91 | |
| 92 | 92 | /** |
@@ -158,11 +158,11 @@ discard block |
||
| 158 | 158 | $solver = $this->setData($solver); |
| 159 | 159 | $solver = $solver->solve(); |
| 160 | 160 | $this->solver = $solver; |
| 161 | - }catch(OptimiseException $e) { |
|
| 162 | - if(!$e->isEmpty()) |
|
| 161 | + } catch (OptimiseException $e) { |
|
| 162 | + if (!$e->isEmpty()) |
|
| 163 | 163 | \Event::fire(new ErrorEvent($this->company, $e->getMessage())); |
| 164 | 164 | throw $e; |
| 165 | - }catch (\Exception $e) { |
|
| 165 | + } catch (\Exception $e) { |
|
| 166 | 166 | //TODO use the correct exceptions to avoid to share private data |
| 167 | 167 | \Event::fire(new ErrorEvent($this->company, $e->getMessage())); |
| 168 | 168 | throw new OptimiseException('Optimising error', 0, $e); |
@@ -207,7 +207,7 @@ discard block |
||
| 207 | 207 | { |
| 208 | 208 | //since we consider busy timeslots, we need to get all users |
| 209 | 209 | $users = $this->company->employees->pluck('id')->toArray(); |
| 210 | - if(count($users) == 0) |
|
| 210 | + if (count($users) == 0) |
|
| 211 | 211 | throw ((new OptimiseException("No users for this company"))->withEmpty(true)); |
| 212 | 212 | return $solver->setUsers($users); |
| 213 | 213 | } |
@@ -223,9 +223,9 @@ discard block |
||
| 223 | 223 | * @var $meetings \Illuminate\Support\Collection |
| 224 | 224 | */ |
| 225 | 225 | $meetings = collect($this->company->getMeetingsTimeSlots($this->startTime, $this->endTime)); |
| 226 | - if($meetings->count() == 0) |
|
| 226 | + if ($meetings->count() == 0) |
|
| 227 | 227 | throw ((new OptimiseException("No meetings for this week"))->withEmpty(true)); |
| 228 | - $timeslots = $meetings->groupBy('id')->map(function ($item) { //convert timeslots |
|
| 228 | + $timeslots = $meetings->groupBy('id')->map(function($item) { //convert timeslots |
|
| 229 | 229 | return $this->durationConverter($this->timeSlotsConverter($item)); |
| 230 | 230 | }); |
| 231 | 231 | return $solver->setMeetings($timeslots->keys()->toArray()) |
@@ -240,8 +240,8 @@ discard block |
||
| 240 | 240 | */ |
| 241 | 241 | private function durationConverter($item) |
| 242 | 242 | { |
| 243 | - return $item->each(function ($item2) { |
|
| 244 | - $item2->duration = $this->convertDuration((int)$item2->duration); |
|
| 243 | + return $item->each(function($item2) { |
|
| 244 | + $item2->duration = $this->convertDuration((int) $item2->duration); |
|
| 245 | 245 | return $item2; |
| 246 | 246 | //TODO try catch |
| 247 | 247 | }); |
@@ -253,7 +253,7 @@ discard block |
||
| 253 | 253 | */ |
| 254 | 254 | static private function convertDuration($duration) |
| 255 | 255 | { |
| 256 | - return (int)ceil($duration / config('app.timeslots.duration')); |
|
| 256 | + return (int) ceil($duration / config('app.timeslots.duration')); |
|
| 257 | 257 | } |
| 258 | 258 | |
| 259 | 259 | /** |
@@ -262,7 +262,7 @@ discard block |
||
| 262 | 262 | */ |
| 263 | 263 | private function timeSlotsConverter($item) |
| 264 | 264 | { |
| 265 | - return $item->each(function ($item2) { |
|
| 265 | + return $item->each(function($item2) { |
|
| 266 | 266 | $item2->time_start = $this->toTimeSlot($item2->time_start); |
| 267 | 267 | $item2->time_end = $this->toTimeSlot($item2->time_end); |
| 268 | 268 | return $item2; |
@@ -280,13 +280,13 @@ discard block |
||
| 280 | 280 | $dateTime = new \DateTime($time); |
| 281 | 281 | $diff = $dateTime->diff($this->startTime); |
| 282 | 282 | $diff = explode(':', $diff->format('%R:%d:%h:%i:%s')); |
| 283 | - $diff = $diff[1] * 86400 + $diff[2] * 3600 + $diff[3] * 60 + $diff[4]; |
|
| 283 | + $diff = $diff[ 1 ] * 86400 + $diff[ 2 ] * 3600 + $diff[ 3 ] * 60 + $diff[ 4 ]; |
|
| 284 | 284 | //if($diff[0] != '-' && $diff != 0) |
| 285 | 285 | // throw new OptimiseException('timeslot time <= startTime'); |
| 286 | 286 | //TODO fix check |
| 287 | 287 | //TODO check if diff makes sense |
| 288 | 288 | //TODO check upper limit |
| 289 | - return (int)(round($diff / config('app.timeslots.duration')) + 1); //TODO can round cause overlaps? |
|
| 289 | + return (int) (round($diff / config('app.timeslots.duration')) + 1); //TODO can round cause overlaps? |
|
| 290 | 290 | } |
| 291 | 291 | |
| 292 | 292 | /** |
@@ -299,10 +299,10 @@ discard block |
||
| 299 | 299 | */ |
| 300 | 300 | static private function getAvailabilityArray(\Illuminate\Support\Collection $timeSlots, $timeSlotsN, array $ids, $free = true) |
| 301 | 301 | { |
| 302 | - $ret = []; |
|
| 302 | + $ret = [ ]; |
|
| 303 | 303 | foreach ($ids as $id) { |
| 304 | - if(isset($timeSlots[$id])) |
|
| 305 | - $ret = self::fillTimeSlots($ret, $id, $timeSlots[$id], $free ? '1' : '0'); |
|
| 304 | + if (isset($timeSlots[ $id ])) |
|
| 305 | + $ret = self::fillTimeSlots($ret, $id, $timeSlots[ $id ], $free ? '1' : '0'); |
|
| 306 | 306 | $ret = self::fillRow($ret, $id, $timeSlotsN, $free ? '0' : '1'); |
| 307 | 307 | } |
| 308 | 308 | |
@@ -319,9 +319,9 @@ discard block |
||
| 319 | 319 | static private function fillTimeSlots(array $array, $id, \Illuminate\Support\Collection $timeSlots, $fill = '0') |
| 320 | 320 | { |
| 321 | 321 | foreach ($timeSlots as $timeSlot) { |
| 322 | - if (!isset($array[$id])) |
|
| 323 | - $array[$id] = []; |
|
| 324 | - $array[$id] = self::arrayPadInterval($array[$id], $timeSlot->time_start, $timeSlot->time_end, $fill); |
|
| 322 | + if (!isset($array[ $id ])) |
|
| 323 | + $array[ $id ] = [ ]; |
|
| 324 | + $array[ $id ] = self::arrayPadInterval($array[ $id ], $timeSlot->time_start, $timeSlot->time_end, $fill); |
|
| 325 | 325 | } |
| 326 | 326 | return $array; |
| 327 | 327 | } |
@@ -336,7 +336,7 @@ discard block |
||
| 336 | 336 | static private function arrayPadInterval(array $array, $from, $to, $pad = '0') |
| 337 | 337 | { |
| 338 | 338 | for ($i = $from; $i < $to; $i++) |
| 339 | - $array[$i] = $pad; |
|
| 339 | + $array[ $i ] = $pad; |
|
| 340 | 340 | return $array; |
| 341 | 341 | } |
| 342 | 342 | |
@@ -349,8 +349,8 @@ discard block |
||
| 349 | 349 | static private function fillRow(array $array, $id, $until, $fill = '0') |
| 350 | 350 | { |
| 351 | 351 | for ($i = 1; $i <= $until; $i++) { |
| 352 | - if (!isset($array[$id][$i])) |
|
| 353 | - $array[$id][$i] = $fill; |
|
| 352 | + if (!isset($array[ $id ][ $i ])) |
|
| 353 | + $array[ $id ][ $i ] = $fill; |
|
| 354 | 354 | } |
| 355 | 355 | |
| 356 | 356 | return $array; |
@@ -369,7 +369,7 @@ discard block |
||
| 369 | 369 | $users = collect($this->company->getEmployeesTimeSlots($this->startTime, $this->endTime)); |
| 370 | 370 | //if($users->count() == 0) |
| 371 | 371 | // throw ((new OptimiseException("No users for this company"))->withEmpty(true)); |
| 372 | - $timeslots = $users->groupBy('id')->map(function ($item) { //convert timeslots |
|
| 372 | + $timeslots = $users->groupBy('id')->map(function($item) { //convert timeslots |
|
| 373 | 373 | return $this->timeSlotsConverter($item); |
| 374 | 374 | }); |
| 375 | 375 | return $solver->setUsersAvailability(self::getAvailabilityArray($timeslots, $this->time_slots, $solver->getUsers(), |
@@ -389,7 +389,7 @@ discard block |
||
| 389 | 389 | * @var $usersMeetings \Illuminate\Support\Collection |
| 390 | 390 | */ |
| 391 | 391 | $usersMeetings = collect($this->company->getUsersMeetings($users, $meetings))->groupBy('employee_id'); |
| 392 | - if($usersMeetings->count() == 0) |
|
| 392 | + if ($usersMeetings->count() == 0) |
|
| 393 | 393 | throw ((new OptimiseException("No users for any meeting"))->withEmpty(true)); |
| 394 | 394 | |
| 395 | 395 | return $solver->setUsersMeetings(self::getUsersMeetingsArray($users, $meetings, $usersMeetings)); |
@@ -403,14 +403,14 @@ discard block |
||
| 403 | 403 | */ |
| 404 | 404 | static private function getUsersMeetingsArray($users, $meetings, \Illuminate\Support\Collection $usersMeetings) |
| 405 | 405 | { |
| 406 | - $ret = []; |
|
| 406 | + $ret = [ ]; |
|
| 407 | 407 | foreach ($users as $user) { |
| 408 | 408 | $usersMeetingsTmp = $usersMeetings->get($user); |
| 409 | 409 | foreach ($meetings as $meeting) { |
| 410 | 410 | if ($usersMeetingsTmp != null && $usersMeetingsTmp->contains('meeting_id', $meeting)) { |
| 411 | - $ret[$user][$meeting] = 1; |
|
| 411 | + $ret[ $user ][ $meeting ] = 1; |
|
| 412 | 412 | } else { |
| 413 | - $ret[$user][$meeting] = 0; |
|
| 413 | + $ret[ $user ][ $meeting ] = 0; |
|
| 414 | 414 | } |
| 415 | 415 | } |
| 416 | 416 | } |
@@ -453,7 +453,7 @@ discard block |
||
| 453 | 453 | { |
| 454 | 454 | $meetings = $solver->getYResults(); |
| 455 | 455 | foreach ($meetings as $id => $meeting) { |
| 456 | - $meetingO = \plunner\Meeting::findOrFail($id);//TODO catch error |
|
| 456 | + $meetingO = \plunner\Meeting::findOrFail($id); //TODO catch error |
|
| 457 | 457 | $meetingO->start_time = $this->toDateTime(array_search('1', $meeting)); |
| 458 | 458 | $meetingO->save(); |
| 459 | 459 | } |
@@ -469,7 +469,7 @@ discard block |
||
| 469 | 469 | //TODO check, because the meetings cannot have this date available -> this to avoid errors if we don't have a date for a meeting |
| 470 | 470 | if ($timeslot <= 1) //false == 0 |
| 471 | 471 | return $ret; |
| 472 | - return $ret->add(new \DateInterval('PT' . (($timeslot - 1) * config('app.timeslots.duration')) . 'S')); |
|
| 472 | + return $ret->add(new \DateInterval('PT'.(($timeslot - 1) * config('app.timeslots.duration')).'S')); |
|
| 473 | 473 | } |
| 474 | 474 | |
| 475 | 475 | /** |
@@ -481,7 +481,7 @@ discard block |
||
| 481 | 481 | foreach ($employeesMeetings as $eId => $employeeMeetings) { |
| 482 | 482 | $employee = \plunner\Employee::findOrFail($eId); |
| 483 | 483 | $employeeMeetings = collect($employeeMeetings); |
| 484 | - $employeeMeetings = $employeeMeetings->filter(function ($item) { |
|
| 484 | + $employeeMeetings = $employeeMeetings->filter(function($item) { |
|
| 485 | 485 | return $item == 1; |
| 486 | 486 | }); |
| 487 | 487 | $employee->meetings()->attach($employeeMeetings->keys()->toArray()); |
@@ -47,12 +47,12 @@ |
||
| 47 | 47 | |
| 48 | 48 | private static function withFilter() |
| 49 | 49 | { |
| 50 | - return ['groups' => function ($query) { |
|
| 50 | + return [ 'groups' => function($query) { |
|
| 51 | 51 | $query->select('id', 'company_id'); |
| 52 | - }, 'groups.meetings' => function ($query) { |
|
| 52 | + }, 'groups.meetings' => function($query) { |
|
| 53 | 53 | $query->select('id', 'group_id', 'start_time'); |
| 54 | - }, 'groups.meetings.employees' => function ($query) { |
|
| 54 | + }, 'groups.meetings.employees' => function($query) { |
|
| 55 | 55 | $query->select('id'); |
| 56 | - }]; |
|
| 56 | + } ]; |
|
| 57 | 57 | } |
| 58 | 58 | } |
@@ -42,13 +42,13 @@ discard block |
||
| 42 | 42 | * en = employee normal |
| 43 | 43 | * @var array |
| 44 | 44 | */ |
| 45 | - protected $custom = ['mode' => 'en']; |
|
| 45 | + protected $custom = [ 'mode' => 'en' ]; |
|
| 46 | 46 | |
| 47 | 47 | /** |
| 48 | 48 | * unique identifiers of the user |
| 49 | 49 | * @var array |
| 50 | 50 | */ |
| 51 | - protected $username = ['company_id', 'email']; |
|
| 51 | + protected $username = [ 'company_id', 'email' ]; |
|
| 52 | 52 | |
| 53 | 53 | /** |
| 54 | 54 | * @var company |
@@ -61,13 +61,13 @@ discard block |
||
| 61 | 61 | */ |
| 62 | 62 | public function __construct() |
| 63 | 63 | { |
| 64 | - config(['auth.model' => \plunner\Employee::class]); |
|
| 65 | - config(['jwt.user' => \plunner\Employee::class]); |
|
| 64 | + config([ 'auth.model' => \plunner\Employee::class ]); |
|
| 65 | + config([ 'jwt.user' => \plunner\Employee::class ]); |
|
| 66 | 66 | } |
| 67 | 67 | |
| 68 | 68 | public function postRegister(Request $request) |
| 69 | 69 | { |
| 70 | - $this->validate($request, ['company' => 'required|exists:companies,name']); |
|
| 70 | + $this->validate($request, [ 'company' => 'required|exists:companies,name' ]); |
|
| 71 | 71 | $this->company = Company::whereName($request->input('company'))->firstOrFail(); |
| 72 | 72 | return $this->postRegisterOriginal($request); |
| 73 | 73 | } |
@@ -75,17 +75,17 @@ discard block |
||
| 75 | 75 | public function postLogin(Request $request) |
| 76 | 76 | { |
| 77 | 77 | //get company ID and impiled it in the request |
| 78 | - $this->validate($request, ['company' => 'required|exists:companies,name']); |
|
| 78 | + $this->validate($request, [ 'company' => 'required|exists:companies,name' ]); |
|
| 79 | 79 | $this->company = Company::whereName($request->input('company'))->firstOrFail(); |
| 80 | - $request->merge(['company_id' => $this->company->id]); |
|
| 80 | + $request->merge([ 'company_id' => $this->company->id ]); |
|
| 81 | 81 | |
| 82 | 82 | //remember me |
| 83 | - $this->validate($request, ['remember' => 'required|boolean']); |
|
| 83 | + $this->validate($request, [ 'remember' => 'required|boolean' ]); |
|
| 84 | 84 | if ($request->input('remember', false)) { |
| 85 | - config(['jwt.ttl' => '43200']); //30 days |
|
| 86 | - $this->custom = array_merge($this->custom, ['remember' => 'true']); |
|
| 85 | + config([ 'jwt.ttl' => '43200' ]); //30 days |
|
| 86 | + $this->custom = array_merge($this->custom, [ 'remember' => 'true' ]); |
|
| 87 | 87 | } else |
| 88 | - $this->custom = array_merge($this->custom, ['remember' => 'false']); |
|
| 88 | + $this->custom = array_merge($this->custom, [ 'remember' => 'false' ]); |
|
| 89 | 89 | |
| 90 | 90 | return $this->postLoginOriginal($request); |
| 91 | 91 | } |
@@ -100,7 +100,7 @@ discard block |
||
| 100 | 100 | { |
| 101 | 101 | return Validator::make($data, [ |
| 102 | 102 | 'name' => 'required|min:1|max:255', |
| 103 | - 'email' => 'required|email|max:255|unique:employees,email,NULL,id,company_id,' . $this->company->id, |
|
| 103 | + 'email' => 'required|email|max:255|unique:employees,email,NULL,id,company_id,'.$this->company->id, |
|
| 104 | 104 | 'password' => 'required|confirmed|min:6', |
| 105 | 105 | ]); |
| 106 | 106 | } |
@@ -114,9 +114,9 @@ discard block |
||
| 114 | 114 | protected function create(array $data) |
| 115 | 115 | { |
| 116 | 116 | return $this->company->save(new employee([ |
| 117 | - 'name' => $data['name'], |
|
| 118 | - 'email' => $data['email'], |
|
| 119 | - 'password' => bcrypt($data['password']), |
|
| 117 | + 'name' => $data[ 'name' ], |
|
| 118 | + 'email' => $data[ 'email' ], |
|
| 119 | + 'password' => bcrypt($data[ 'password' ]), |
|
| 120 | 120 | ])); |
| 121 | 121 | } |
| 122 | 122 | } |
@@ -10,8 +10,8 @@ discard block |
||
| 10 | 10 | { |
| 11 | 11 | public function __construct() |
| 12 | 12 | { |
| 13 | - config(['auth.model' => \plunner\Employee::class]); |
|
| 14 | - config(['jwt.user' => \plunner\Employee::class]); |
|
| 13 | + config([ 'auth.model' => \plunner\Employee::class ]); |
|
| 14 | + config([ 'jwt.user' => \plunner\Employee::class ]); |
|
| 15 | 15 | $this->middleware('jwt.authandrefresh:mode-en'); |
| 16 | 16 | } |
| 17 | 17 | |
@@ -36,10 +36,10 @@ discard block |
||
| 36 | 36 | public function update(EmployeeRequest $request) |
| 37 | 37 | { |
| 38 | 38 | $employee = \Auth::user(); |
| 39 | - $input = $request->only(['name', 'password']); |
|
| 39 | + $input = $request->only([ 'name', 'password' ]); |
|
| 40 | 40 | //TODO authorize??? |
| 41 | - if (isset($input['password'])) |
|
| 42 | - $input['password'] = bcrypt($input['password']); |
|
| 41 | + if (isset($input[ 'password' ])) |
|
| 42 | + $input[ 'password' ] = bcrypt($input[ 'password' ]); |
|
| 43 | 43 | $employee->update($input); |
| 44 | 44 | return $employee; |
| 45 | 45 | } |
@@ -40,7 +40,7 @@ discard block |
||
| 40 | 40 | * cn = company normal |
| 41 | 41 | * @var array |
| 42 | 42 | */ |
| 43 | - protected $custom = ['mode' => 'cn']; |
|
| 43 | + protected $custom = [ 'mode' => 'cn' ]; |
|
| 44 | 44 | |
| 45 | 45 | /** |
| 46 | 46 | * Create a new authentication controller instance. |
@@ -48,22 +48,22 @@ discard block |
||
| 48 | 48 | */ |
| 49 | 49 | public function __construct() |
| 50 | 50 | { |
| 51 | - config(['auth.model' => \plunner\Company::class]); |
|
| 52 | - config(['jwt.user' => \plunner\Company::class]); |
|
| 51 | + config([ 'auth.model' => \plunner\Company::class ]); |
|
| 52 | + config([ 'jwt.user' => \plunner\Company::class ]); |
|
| 53 | 53 | } |
| 54 | 54 | |
| 55 | 55 | public function postLogin(Request $request) |
| 56 | 56 | { |
| 57 | 57 | //remember me |
| 58 | - $this->validate($request, ['remember' => 'required|boolean']); |
|
| 59 | - $this->validate($request, ['token' => 'sometimes|required|max:255']); |
|
| 58 | + $this->validate($request, [ 'remember' => 'required|boolean' ]); |
|
| 59 | + $this->validate($request, [ 'token' => 'sometimes|required|max:255' ]); |
|
| 60 | 60 | if ($request->input('remember', false)) { |
| 61 | - config(['jwt.ttl' => '43200']); //30 days |
|
| 62 | - $this->custom = array_merge($this->custom, ['remember' => 'true']); |
|
| 61 | + config([ 'jwt.ttl' => '43200' ]); //30 days |
|
| 62 | + $this->custom = array_merge($this->custom, [ 'remember' => 'true' ]); |
|
| 63 | 63 | } else |
| 64 | - $this->custom = array_merge($this->custom, ['remember' => 'false']); |
|
| 64 | + $this->custom = array_merge($this->custom, [ 'remember' => 'false' ]); |
|
| 65 | 65 | $ret = $this->postLoginOriginal($request); |
| 66 | - if($ret->getStatusCode() == 200) |
|
| 66 | + if ($ret->getStatusCode() == 200) |
|
| 67 | 67 | ;//TODO store the token |
| 68 | 68 | return $ret; |
| 69 | 69 | } |
@@ -93,9 +93,9 @@ discard block |
||
| 93 | 93 | protected function create(array $data) |
| 94 | 94 | { |
| 95 | 95 | return Company::create([ |
| 96 | - 'name' => $data['name'], |
|
| 97 | - 'email' => $data['email'], |
|
| 98 | - 'password' => bcrypt($data['password']), |
|
| 96 | + 'name' => $data[ 'name' ], |
|
| 97 | + 'email' => $data[ 'email' ], |
|
| 98 | + 'password' => bcrypt($data[ 'password' ]), |
|
| 99 | 99 | ]); |
| 100 | 100 | } |
| 101 | 101 | |
@@ -19,41 +19,41 @@ discard block |
||
| 19 | 19 | * Companies |
| 20 | 20 | */ |
| 21 | 21 | |
| 22 | -Route::group(['namespace' => 'Companies', 'prefix' => 'companies'], function () { |
|
| 22 | +Route::group([ 'namespace' => 'Companies', 'prefix' => 'companies' ], function() { |
|
| 23 | 23 | |
| 24 | 24 | //\Auth |
| 25 | 25 | |
| 26 | - Route::group(['namespace' => 'Auth'], function () { |
|
| 27 | - Route::group(['prefix' => 'auth'], function () { |
|
| 26 | + Route::group([ 'namespace' => 'Auth' ], function() { |
|
| 27 | + Route::group([ 'prefix' => 'auth' ], function() { |
|
| 28 | 28 | // Authentication routes... |
| 29 | - Route::post('login', ['as' => 'companies.auth.login', 'uses' => 'AuthController@postLogin']); |
|
| 29 | + Route::post('login', [ 'as' => 'companies.auth.login', 'uses' => 'AuthController@postLogin' ]); |
|
| 30 | 30 | |
| 31 | 31 | // Registration routes... |
| 32 | - Route::post('register', ['as' => 'companies.auth.register', 'uses' => 'AuthController@postRegister']); |
|
| 32 | + Route::post('register', [ 'as' => 'companies.auth.register', 'uses' => 'AuthController@postRegister' ]); |
|
| 33 | 33 | |
| 34 | 34 | }); |
| 35 | 35 | |
| 36 | - Route::group(['prefix' => 'password'], function () { |
|
| 36 | + Route::group([ 'prefix' => 'password' ], function() { |
|
| 37 | 37 | // Password reset link request routes... |
| 38 | - Route::post('email', ['as' => 'companies.auth.email', 'uses' => 'PasswordController@postEmail']); |
|
| 38 | + Route::post('email', [ 'as' => 'companies.auth.email', 'uses' => 'PasswordController@postEmail' ]); |
|
| 39 | 39 | |
| 40 | 40 | // Password reset routes... |
| 41 | - Route::post('reset', ['as' => 'companies.auth.reset', 'uses' => 'PasswordController@postReset']); |
|
| 41 | + Route::post('reset', [ 'as' => 'companies.auth.reset', 'uses' => 'PasswordController@postReset' ]); |
|
| 42 | 42 | }); |
| 43 | 43 | }); |
| 44 | 44 | |
| 45 | - Route::group(['namespace' => 'Employees'], function () { |
|
| 46 | - Route::resource('employees', 'EmployeesController', ['except' => ['create', 'edit']]); |
|
| 45 | + Route::group([ 'namespace' => 'Employees' ], function() { |
|
| 46 | + Route::resource('employees', 'EmployeesController', [ 'except' => [ 'create', 'edit' ] ]); |
|
| 47 | 47 | }); |
| 48 | 48 | |
| 49 | - Route::group(['namespace' => 'Groups'], function () { |
|
| 50 | - Route::resource('groups', 'GroupsController', ['except' => ['create', 'edit']]); |
|
| 51 | - Route::resource('groups.employees', 'EmployeesController', ['only' => ['store', 'index', 'destroy']]); |
|
| 49 | + Route::group([ 'namespace' => 'Groups' ], function() { |
|
| 50 | + Route::resource('groups', 'GroupsController', [ 'except' => [ 'create', 'edit' ] ]); |
|
| 51 | + Route::resource('groups.employees', 'EmployeesController', [ 'only' => [ 'store', 'index', 'destroy' ] ]); |
|
| 52 | 52 | }); |
| 53 | 53 | |
| 54 | - Route::group(['namespace' => 'Company', 'prefix' => 'company'], function () { |
|
| 55 | - Route::get('/', ['as' => 'companies.company.index', 'uses' => 'CompanyController@index']); |
|
| 56 | - Route::put('/', ['as' => 'companies.company.update', 'uses' => 'CompanyController@update']); |
|
| 54 | + Route::group([ 'namespace' => 'Company', 'prefix' => 'company' ], function() { |
|
| 55 | + Route::get('/', [ 'as' => 'companies.company.index', 'uses' => 'CompanyController@index' ]); |
|
| 56 | + Route::put('/', [ 'as' => 'companies.company.update', 'uses' => 'CompanyController@update' ]); |
|
| 57 | 57 | }); |
| 58 | 58 | }); |
| 59 | 59 | |
@@ -61,55 +61,55 @@ discard block |
||
| 61 | 61 | /** |
| 62 | 62 | * Employees |
| 63 | 63 | */ |
| 64 | -Route::group(['namespace' => 'Employees', 'prefix' => 'employees'], function () { |
|
| 64 | +Route::group([ 'namespace' => 'Employees', 'prefix' => 'employees' ], function() { |
|
| 65 | 65 | |
| 66 | 66 | //\Auth |
| 67 | - Route::group(['namespace' => 'Auth'], function () { |
|
| 68 | - Route::group(['prefix' => 'auth'], function () { |
|
| 67 | + Route::group([ 'namespace' => 'Auth' ], function() { |
|
| 68 | + Route::group([ 'prefix' => 'auth' ], function() { |
|
| 69 | 69 | // Authentication routes... |
| 70 | - Route::post('login', ['as' => 'companies.auth.login', 'uses' => 'AuthController@postLogin']); |
|
| 70 | + Route::post('login', [ 'as' => 'companies.auth.login', 'uses' => 'AuthController@postLogin' ]); |
|
| 71 | 71 | |
| 72 | 72 | // Registration routes... |
| 73 | 73 | //Route::post('register', ['as' => 'companies.auth.register', 'uses'=>'AuthController@postRegister']); //the registration is managed by the company |
| 74 | 74 | |
| 75 | 75 | }); |
| 76 | 76 | |
| 77 | - Route::group(['prefix' => 'password'], function () { |
|
| 77 | + Route::group([ 'prefix' => 'password' ], function() { |
|
| 78 | 78 | // Password reset link request routes... |
| 79 | - Route::post('email', ['as' => 'companies.auth.email', 'uses' => 'PasswordController@postEmail']); |
|
| 79 | + Route::post('email', [ 'as' => 'companies.auth.email', 'uses' => 'PasswordController@postEmail' ]); |
|
| 80 | 80 | |
| 81 | 81 | // Password reset routes... |
| 82 | - Route::post('reset', ['as' => 'companies.auth.reset', 'uses' => 'PasswordController@postReset']); |
|
| 82 | + Route::post('reset', [ 'as' => 'companies.auth.reset', 'uses' => 'PasswordController@postReset' ]); |
|
| 83 | 83 | }); |
| 84 | 84 | }); |
| 85 | 85 | |
| 86 | - Route::group(['namespace' => 'Calendars'], function () { |
|
| 87 | - Route::resource('calendars', 'CalendarsController', ['except' => ['create', 'edit']]); |
|
| 88 | - Route::post('calendars/caldav', ['as' => 'employees.calendars.caldav', 'uses' => 'CalendarsController@storeCaldav']); |
|
| 89 | - Route::post('calendars/calendars', ['as' => 'employees.calendars.calendars', 'uses' => 'CalendarsController@getCalendars']); |
|
| 90 | - Route::resource('calendars.timeslots', 'TimeslotsController', ['except' => ['create', 'edit']]); |
|
| 86 | + Route::group([ 'namespace' => 'Calendars' ], function() { |
|
| 87 | + Route::resource('calendars', 'CalendarsController', [ 'except' => [ 'create', 'edit' ] ]); |
|
| 88 | + Route::post('calendars/caldav', [ 'as' => 'employees.calendars.caldav', 'uses' => 'CalendarsController@storeCaldav' ]); |
|
| 89 | + Route::post('calendars/calendars', [ 'as' => 'employees.calendars.calendars', 'uses' => 'CalendarsController@getCalendars' ]); |
|
| 90 | + Route::resource('calendars.timeslots', 'TimeslotsController', [ 'except' => [ 'create', 'edit' ] ]); |
|
| 91 | 91 | }); |
| 92 | 92 | |
| 93 | - Route::group(['namespace' => 'Planners', 'prefix' => 'planners'], function () { |
|
| 94 | - Route::resource('groups', 'GroupsController', ['only' => ['index', 'show']]); |
|
| 95 | - Route::post('groups/{groups}/meetings/{meetings}/image', ['as' => 'employees.planners.groups.meetings.storeImage', 'uses' => 'MeetingsController@storeImage']); |
|
| 96 | - Route::get('groups/{groups}/meetings/{meetings}/image', ['as' => 'employees.planners.groups.meetings.showImage', 'uses' => 'MeetingsController@showImage']); |
|
| 97 | - Route::resource('groups.meetings', 'MeetingsController', ['except' => ['create', 'edit']]); |
|
| 98 | - Route::resource('groups.meetings.timeslots', 'MeetingTimeslotsController', ['except' => ['create', 'edit']]); |
|
| 93 | + Route::group([ 'namespace' => 'Planners', 'prefix' => 'planners' ], function() { |
|
| 94 | + Route::resource('groups', 'GroupsController', [ 'only' => [ 'index', 'show' ] ]); |
|
| 95 | + Route::post('groups/{groups}/meetings/{meetings}/image', [ 'as' => 'employees.planners.groups.meetings.storeImage', 'uses' => 'MeetingsController@storeImage' ]); |
|
| 96 | + Route::get('groups/{groups}/meetings/{meetings}/image', [ 'as' => 'employees.planners.groups.meetings.showImage', 'uses' => 'MeetingsController@showImage' ]); |
|
| 97 | + Route::resource('groups.meetings', 'MeetingsController', [ 'except' => [ 'create', 'edit' ] ]); |
|
| 98 | + Route::resource('groups.meetings.timeslots', 'MeetingTimeslotsController', [ 'except' => [ 'create', 'edit' ] ]); |
|
| 99 | 99 | }); |
| 100 | 100 | |
| 101 | - Route::group(['namespace' => 'Groups'], function () { |
|
| 102 | - Route::resource('groups', 'GroupsController', ['only' => ['index', 'show']]); |
|
| 101 | + Route::group([ 'namespace' => 'Groups' ], function() { |
|
| 102 | + Route::resource('groups', 'GroupsController', [ 'only' => [ 'index', 'show' ] ]); |
|
| 103 | 103 | }); |
| 104 | 104 | |
| 105 | 105 | |
| 106 | - Route::group(['namespace' => 'Meetings'], function () { |
|
| 107 | - Route::get('meetings/{meetings}/image', ['as' => 'employees.meetings.showImage', 'uses' => 'MeetingsController@showImage']); |
|
| 108 | - Route::resource('meetings', 'MeetingsController', ['only' => ['index', 'show']]); |
|
| 106 | + Route::group([ 'namespace' => 'Meetings' ], function() { |
|
| 107 | + Route::get('meetings/{meetings}/image', [ 'as' => 'employees.meetings.showImage', 'uses' => 'MeetingsController@showImage' ]); |
|
| 108 | + Route::resource('meetings', 'MeetingsController', [ 'only' => [ 'index', 'show' ] ]); |
|
| 109 | 109 | }); |
| 110 | 110 | |
| 111 | - Route::group(['namespace' => 'Employee', 'prefix' => 'employee'], function () { |
|
| 112 | - Route::get('/', ['as' => 'employees.employee.index', 'uses' => 'EmployeeController@index']); |
|
| 113 | - Route::put('/', ['as' => 'employees.employee.update', 'uses' => 'EmployeeController@update']); |
|
| 111 | + Route::group([ 'namespace' => 'Employee', 'prefix' => 'employee' ], function() { |
|
| 112 | + Route::get('/', [ 'as' => 'employees.employee.index', 'uses' => 'EmployeeController@index' ]); |
|
| 113 | + Route::put('/', [ 'as' => 'employees.employee.update', 'uses' => 'EmployeeController@update' ]); |
|
| 114 | 114 | }); |
| 115 | 115 | }); |
| 116 | 116 | \ No newline at end of file |
@@ -25,15 +25,15 @@ discard block |
||
| 25 | 25 | public function handle(OkEvent $event) |
| 26 | 26 | { |
| 27 | 27 | // |
| 28 | - \Log::info('Meeting correctly optimised (company id = ' . $event->getCompany()->id . ')'); |
|
| 28 | + \Log::info('Meeting correctly optimised (company id = '.$event->getCompany()->id.')'); |
|
| 29 | 29 | $company = $event->getCompany()->fresh(); |
| 30 | 30 | //send email to company |
| 31 | 31 | self::sendCompanyEmail($company->email); |
| 32 | 32 | //send emails to employees |
| 33 | - $employees = $company->employees()->with(['meetings'=>function($query){ |
|
| 33 | + $employees = $company->employees()->with([ 'meetings'=>function($query) { |
|
| 34 | 34 | $query->where('start_time', '>=', new \DateTime()); |
| 35 | - }])->get(); |
|
| 36 | - self::sendPushs('New meeting scheduled', $employees->get(0)->meetings->get(0)['title'] . ' - ' . $employees->get(0)->meetings->get(0)['start_time'], $employees->get(0)->meetings->get(0)['id']); |
|
| 35 | + } ])->get(); |
|
| 36 | + self::sendPushs('New meeting scheduled', $employees->get(0)->meetings->get(0)[ 'title' ].' - '.$employees->get(0)->meetings->get(0)[ 'start_time' ], $employees->get(0)->meetings->get(0)[ 'id' ]); |
|
| 37 | 37 | foreach ($employees as $employee) |
| 38 | 38 | self::sendEmployeeEmail($employee->email, $employee->meetings); |
| 39 | 39 | } |
@@ -43,7 +43,7 @@ discard block |
||
| 43 | 43 | */ |
| 44 | 44 | static private function sendCompanyEmail($email) |
| 45 | 45 | { |
| 46 | - \Mail::queue('emails.optimise.ok.company', [], function ($message) use ($email) { |
|
| 46 | + \Mail::queue('emails.optimise.ok.company', [ ], function($message) use ($email) { |
|
| 47 | 47 | $message->from(config('mail.from.address'), config('mail.from.name')); |
| 48 | 48 | $message->to($email)->subject('Meetings optimised'); |
| 49 | 49 | }); |
@@ -63,8 +63,7 @@ discard block |
||
| 63 | 63 | // replace API |
| 64 | 64 | //\Log::info('GCM registration id: ' . $to); |
| 65 | 65 | $registrationIds = array($to); |
| 66 | - $msg = array |
|
| 67 | - ( |
|
| 66 | + $msg = array( |
|
| 68 | 67 | 'message' => $message, |
| 69 | 68 | 'title' => $title, |
| 70 | 69 | 'vibrate' => 1, |
@@ -73,14 +72,12 @@ discard block |
||
| 73 | 72 | |
| 74 | 73 | // you can also add images, additionalData |
| 75 | 74 | ); |
| 76 | - $fields = array |
|
| 77 | - ( |
|
| 75 | + $fields = array( |
|
| 78 | 76 | 'registration_ids' => $registrationIds, |
| 79 | 77 | 'data' => $msg |
| 80 | 78 | ); |
| 81 | - $headers = array |
|
| 82 | - ( |
|
| 83 | - 'Authorization: key=' . config('app.gcm_key'), |
|
| 79 | + $headers = array( |
|
| 80 | + 'Authorization: key='.config('app.gcm_key'), |
|
| 84 | 81 | 'Content-Type: application/json' |
| 85 | 82 | ); |
| 86 | 83 | $ch = curl_init(); |
@@ -93,7 +90,7 @@ discard block |
||
| 93 | 90 | $result = curl_exec($ch); |
| 94 | 91 | curl_close($ch); |
| 95 | 92 | //echo $result; |
| 96 | - \Log::info('GCM results: ' . $result); |
|
| 93 | + \Log::info('GCM results: '.$result); |
|
| 97 | 94 | } |
| 98 | 95 | |
| 99 | 96 | /** |
@@ -102,7 +99,7 @@ discard block |
||
| 102 | 99 | */ |
| 103 | 100 | static private function sendEmployeeEmail($email, $meetings) |
| 104 | 101 | { |
| 105 | - \Mail::queue('emails.optimise.ok.employee', ['meetings' => $meetings], function ($message) use ($email) { |
|
| 102 | + \Mail::queue('emails.optimise.ok.employee', [ 'meetings' => $meetings ], function($message) use ($email) { |
|
| 106 | 103 | $message->from(config('mail.from.address'), config('mail.from.name')); |
| 107 | 104 | $message->to($email)->subject('Meetings of next week'); |
| 108 | 105 | }); |
@@ -11,8 +11,8 @@ discard block |
||
| 11 | 11 | { |
| 12 | 12 | public function __construct() |
| 13 | 13 | { |
| 14 | - config(['auth.model' => \plunner\Employee::class]); |
|
| 15 | - config(['jwt.user' => \plunner\Employee::class]); |
|
| 14 | + config([ 'auth.model' => \plunner\Employee::class ]); |
|
| 15 | + config([ 'jwt.user' => \plunner\Employee::class ]); |
|
| 16 | 16 | $this->middleware('jwt.authandrefresh:mode-en'); |
| 17 | 17 | } |
| 18 | 18 | |
@@ -27,10 +27,10 @@ discard block |
||
| 27 | 27 | $employee = \Auth::user(); |
| 28 | 28 | $meetings = $employee->meetings(); |
| 29 | 29 | if ($request->query('current')) |
| 30 | - $meetings->where(function ($query) { //parenthesis for conditions ...(C1 OR C2)... |
|
| 31 | - $query->where('start_time', '=', NULL);//to be planned |
|
| 30 | + $meetings->where(function($query) { //parenthesis for conditions ...(C1 OR C2)... |
|
| 31 | + $query->where('start_time', '=', NULL); //to be planned |
|
| 32 | 32 | //datetime to consider timezone, don't use mysql NOW() |
| 33 | - $query->orWhere('start_time', '>=', new \DateTime());//planned |
|
| 33 | + $query->orWhere('start_time', '>=', new \DateTime()); //planned |
|
| 34 | 34 | }); |
| 35 | 35 | return $meetings->get(); |
| 36 | 36 | } |
@@ -72,7 +72,7 @@ discard block |
||
| 72 | 72 | |
| 73 | 73 | private static function getImg(Meeting $meeting) |
| 74 | 74 | { |
| 75 | - $name = 'meetings/' . $meeting->id; |
|
| 75 | + $name = 'meetings/'.$meeting->id; |
|
| 76 | 76 | if (!\Storage::exists($name)) |
| 77 | 77 | return false; |
| 78 | 78 | return \Storage::get($name); |
@@ -14,8 +14,8 @@ discard block |
||
| 14 | 14 | { |
| 15 | 15 | public function __construct() |
| 16 | 16 | { |
| 17 | - config(['auth.model' => \plunner\Planner::class]); |
|
| 18 | - config(['jwt.user' => \plunner\Planner::class]); |
|
| 17 | + config([ 'auth.model' => \plunner\Planner::class ]); |
|
| 18 | + config([ 'jwt.user' => \plunner\Planner::class ]); |
|
| 19 | 19 | $this->middleware('jwt.authandrefresh:mode-en'); |
| 20 | 20 | } |
| 21 | 21 | |
@@ -33,10 +33,10 @@ discard block |
||
| 33 | 33 | $this->authorize($group); |
| 34 | 34 | $meetings = $group->meetings(); |
| 35 | 35 | if ($request->query('current')) |
| 36 | - $meetings->where(function ($query) { //parenthesis for conditions ...(C1 OR C2)... |
|
| 37 | - $query->where('start_time', '=', NULL);//to be planned |
|
| 36 | + $meetings->where(function($query) { //parenthesis for conditions ...(C1 OR C2)... |
|
| 37 | + $query->where('start_time', '=', NULL); //to be planned |
|
| 38 | 38 | //datetime to consider timezone, don't use mysql NOW() |
| 39 | - $query->orWhere('start_time', '>=', new \DateTime());//planned |
|
| 39 | + $query->orWhere('start_time', '>=', new \DateTime()); //planned |
|
| 40 | 40 | }); |
| 41 | 41 | |
| 42 | 42 | return $meetings->get(); |
@@ -86,7 +86,7 @@ discard block |
||
| 86 | 86 | */ |
| 87 | 87 | public function storeImage(Requests\Request $request, $groupId, $meetingId) |
| 88 | 88 | { |
| 89 | - $this->validate($request, ['data' => 'required|image']); |
|
| 89 | + $this->validate($request, [ 'data' => 'required|image' ]); |
|
| 90 | 90 | $group = Group::findOrFail($groupId); |
| 91 | 91 | $this->authorize($group); |
| 92 | 92 | $meeting = Group::findOrFail($meetingId); |
@@ -98,7 +98,7 @@ discard block |
||
| 98 | 98 | |
| 99 | 99 | private static function putImg($file, Meeting $meeting) |
| 100 | 100 | { |
| 101 | - \Storage::put('meetings/' . $meeting->id, \File::get($file)); |
|
| 101 | + \Storage::put('meetings/'.$meeting->id, \File::get($file)); |
|
| 102 | 102 | } |
| 103 | 103 | |
| 104 | 104 | /** |
@@ -125,7 +125,7 @@ discard block |
||
| 125 | 125 | |
| 126 | 126 | private static function getImg(Meeting $meeting) |
| 127 | 127 | { |
| 128 | - $name = 'meetings/' . $meeting->id; |
|
| 128 | + $name = 'meetings/'.$meeting->id; |
|
| 129 | 129 | if (!\Storage::exists($name)) |
| 130 | 130 | return false; |
| 131 | 131 | return \Storage::get($name); |
@@ -147,8 +147,8 @@ discard block |
||
| 147 | 147 | $this->authorize($meeting); |
| 148 | 148 | $input = $request->all(); |
| 149 | 149 | //the planner cannot modify the duration of a planed meeting |
| 150 | - if ($meeting->start_time != NULL && $meeting->duration != $input['duration']) |
|
| 151 | - return Response::json(['error' => 'the meeting is already planned, you cannot change the duration'], 422); |
|
| 150 | + if ($meeting->start_time != NULL && $meeting->duration != $input[ 'duration' ]) |
|
| 151 | + return Response::json([ 'error' => 'the meeting is already planned, you cannot change the duration' ], 422); |
|
| 152 | 152 | $meeting->update($input); |
| 153 | 153 | return $meeting; |
| 154 | 154 | } |