예제 #1
0
파일: Permission.php 프로젝트: saj696/pipe
 /**
  * Handle an incoming request.
  *
  * @param  \Illuminate\Http\Request $request
  * @param  \Closure $next
  * @param  string|null $guard
  * @return mixed
  */
 public function handle($request, Closure $next, $guard = null)
 {
     $route_uri = $request->route()->getName();
     $route = strstr($route_uri, '.', true);
     if (Auth::check()) {
         if ($request->ajax()) {
             return response('Unauthorized.', 401);
         } else {
             $permission = UserHelper::get_route_permission($route);
             if ($route_uri == $route . '.index' && isset($permission->list) && $permission->list == 1) {
                 return $next($request);
             } elseif ($route_uri == $route . '.show' && isset($permission->view) && $permission->view == 1) {
                 return $next($request);
             } elseif ($route_uri == $route . '.create' && isset($permission->add) && $permission->add == 1) {
                 return $next($request);
             } elseif ($route_uri == $route . '.store' && isset($permission->add) && $permission->add == 1) {
                 return $next($request);
             } elseif ($route_uri == $route . '.edit' && isset($permission->edit) && $permission->edit == 1) {
                 return $next($request);
             } elseif ($route_uri == $route . '.update' && isset($permission->edit) && $permission->edit == 1) {
                 return $next($request);
             } else {
                 Session()->flash('warning_message', 'You do not have permission to access!');
                 if (isset($permission->list) && $permission->list == 1) {
                     return redirect($route);
                 } else {
                     return redirect('/home');
                 }
             }
         }
     } else {
         return redirect()->guest('login');
     }
 }
예제 #2
0
 /**
  * Handle an incoming request.
  *
  * @param  \Illuminate\Http\Request $request
  * @param  \Closure $next
  * @param  string|null $guard
  * @return mixed
  */
 public function handle($request, Closure $next, $guard = null)
 {
     $user = Auth::user();
     $route_uri = $request->route()->getName();
     $route = strstr($route_uri, '.', true);
     $currentYear = CommonHelper::get_current_financial_year();
     $closingStatus = DB::table('account_closings')->where(['year' => $currentYear, 'workspace_id' => $user->workspace_id])->value('status');
     $existingYearDetail = DB::table('financial_years')->where('year', $currentYear)->first();
     $permission = UserHelper::get_route_permission($route);
     if (!isset($closingStatus) || $closingStatus == 1 && $existingYearDetail->end_date < strtotime(date('Y-m-d'))) {
         return $next($request);
     } else {
         Session()->flash('warning_message', 'Year closed already! If you want to do any Transaction, Please request for the Rollback!');
         if (isset($permission->list) && $permission->list == 1) {
             return redirect($route);
         } else {
             return redirect('/home');
         }
     }
 }
예제 #3
0
 /**
  * Handle an incoming request.
  *
  * @param  \Illuminate\Http\Request $request
  * @param  \Closure $next
  * @param  string|null $guard
  * @return mixed
  */
 public function handle($request, Closure $next, $guard = null)
 {
     $route_uri = $request->route();
     $route = $route_uri->uri();
     if (Auth::check()) {
         $permission = UserHelper::get_route_permission($route);
         if (isset($permission->list) && ($permission->list == 1 || $permission->view == 1)) {
             return $next($request);
         } else {
             Session()->flash('flash_message', 'You do not have permission to access!');
             if (isset($permission->list) && $permission->list == 1) {
                 return redirect($route);
             } else {
                 return redirect('/home');
             }
         }
     } else {
         return redirect()->guest('login');
     }
 }