diff --git a/app/Http/Controllers/Api/EventsController.php b/app/Http/Controllers/Api/EventsController.php index 8b2cefb..ce20de0 100644 --- a/app/Http/Controllers/Api/EventsController.php +++ b/app/Http/Controllers/Api/EventsController.php @@ -12,11 +12,17 @@ class EventsController extends Controller { $start = $request->get('start'); $end = $request->get('end'); - $events = Event::where(function ($query) use ($start, $end) { + $eventQuery = Event::where(function ($query) use ($start, $end) { if ($start && $end) { $query->whereBetween('start', [$start, $end]); } - })->with('user')->get(); + })->with('user'); + + if (auth()->user()->hasRole('admin') == false) { + $eventQuery->where('user_id', auth()->id()); + } + + $events = $eventQuery->get(); $response = fractal() ->collection($events) @@ -65,8 +71,8 @@ class EventsController extends Controller $event->save(); $response = [ - 'message' => trans('event.created'), - ] + fractal()->item($event) + 'message' => trans('event.created'), + ] + fractal()->item($event) ->transformWith(function ($event) { return [ 'id' => $event->id, @@ -110,8 +116,8 @@ class EventsController extends Controller $event->save(); $response = [ - 'message' => trans('event.updated'), - ] + fractal()->item($event) + 'message' => trans('event.updated'), + ] + fractal()->item($event) ->transformWith(function ($event) { return [ 'id' => $event->id, @@ -162,8 +168,8 @@ class EventsController extends Controller $event->save(); $response = [ - 'message' => trans('event.rescheduled'), - ] + fractal()->item($event) + 'message' => trans('event.rescheduled'), + ] + fractal()->item($event) ->transformWith(function ($event) { return [ 'id' => $event->id, diff --git a/resources/views/layouts/partials/sidebar.blade.php b/resources/views/layouts/partials/sidebar.blade.php index 1ff6a94..c41001c 100755 --- a/resources/views/layouts/partials/sidebar.blade.php +++ b/resources/views/layouts/partials/sidebar.blade.php @@ -33,6 +33,7 @@
  • {!! html_link_to_route('backups.index', trans('backup.list'), [], ['icon' => 'refresh']) !!}
  • @else
  • {!! html_link_to_route('projects.index', trans('project.projects'), [], ['icon' => 'table']) !!}
  • +
  • {!! html_link_to_route('users.calendar', trans('nav_menu.calendar'), [], ['icon' => 'calendar']) !!}
  • @endcan
  • {!! html_link_to_route('auth.change-password', trans('auth.change_password'), [], ['icon' => 'lock']) !!}
  • {!! html_link_to_route('auth.logout', trans('auth.logout'), [], ['icon' => 'sign-out']) !!}
  • diff --git a/routes/web/calendar.php b/routes/web/calendar.php index 5786a9a..de6229b 100644 --- a/routes/web/calendar.php +++ b/routes/web/calendar.php @@ -5,7 +5,13 @@ Route::group(['middleware' => ['web', 'auth'], 'namespace' => 'Api'], function ( * Savety Calendar */ Route::get('my-calendar', ['as' => 'users.calendar', 'uses' => function () { - $projects = App\Entities\Projects\Project::orderBy('name')->pluck('name', 'id'); + $user = auth()->user(); + + if ($user->hasRole('admin') == false) { + $projects = $user->projects()->orderBy('projects.name')->pluck('projects.name', 'projects.id'); + } else { + $projects = App\Entities\Projects\Project::orderBy('name')->pluck('name', 'id'); + } return view('users.calendar', compact('projects')); }]);