コード例 #1
0
ファイル: Admin.php プロジェクト: Tisho84/conference
 /**
  * Handle an incoming request.
  *
  * @param  \Illuminate\Http\Request  $request
  * @param  \Closure  $next
  * @return mixed
  */
 public function handle($request, Closure $next)
 {
     if (!systemAccess(9)) {
         return redirect()->guest($request->segment(1) . '/admin/');
     }
     return $next($request);
 }
コード例 #2
0
 /**
  * Handle an incoming request.
  *
  * @param  \Illuminate\Http\Request  $request
  * @param  \Closure  $next
  * @param $access
  * @return mixed
  */
 public function handle($request, Closure $next, $access)
 {
     if (!systemAccess((int) $access)) {
         return redirect()->route('admin-home')->with('error', 'access-denied');
     }
     return $next($request);
 }
コード例 #3
0
 public function display()
 {
     $settings = new \App\Classes\Settings();
     $departments = $this->getDepartmentsAdmin();
     $settingsRecords = [];
     if (session('department_filter_id')) {
         $settingsDB = Settings::where('department_id', session('department_filter_id'))->get();
     } else {
         $settingsDB = Settings::all();
     }
     foreach ($settingsDB as $setting) {
         $settingsRecords[$setting['department_id']][$setting['key']] = $setting['value'];
     }
     $departmentId = null;
     if (systemAccess(100)) {
         if (session('department_filter_id')) {
             $departmentId = session('department_filter_id');
         }
     } else {
         $departmentId = auth()->user()->department_id;
     }
     if ($departmentId) {
         $userDepartment = [];
         foreach ($departments as $department) {
             if ($department->id == $departmentId) {
                 $userDepartment = $department;
                 break;
             }
         }
         $departments = [$userDepartment];
     }
     $settings = $settings->getSettings($departments);
     return view('admin.settings.display', compact('settings', 'departments', 'settingsRecords'));
 }
コード例 #4
0
 /**
  * Handle an incoming request.
  *
  * @param  \Illuminate\Http\Request  $request
  * @param  \Closure  $next
  * @return mixed
  */
 public function handle($request, Closure $next)
 {
     if (!systemAccess(100)) {
         session(['error' => 'access-denied']);
         return redirect()->route('admin-home');
     }
     return $next($request);
 }
コード例 #5
0
 public function __construct()
 {
     $this->middleware('departmentAccess:11');
     $statuses = new PaperStatus();
     if (systemAccess(100)) {
         $this->systemAdmin = true;
     }
     view()->share(['systemAdmin' => $this->systemAdmin, 'statuses' => $statuses->getStatuses()]);
 }
コード例 #6
0
 /**
  * Instantiate a new DepartmentController instance.
  */
 public function __construct()
 {
     $this->middleware('departmentAccess:10');
     if (systemAccess(100)) {
         #can config all departments
         $this->systemAdmin = true;
     } else {
         $this->middleware('userFromDepartment', ['except' => ['index']]);
     }
 }
コード例 #7
0
 public function __construct()
 {
     $this->middleware('departmentAccess:3');
     $this->middleware('adminDepartmentObject:EmailTemplate', ['only' => ['edit', 'update', 'delete']]);
     if (systemAccess(100)) {
         $this->systemAdmin = true;
     }
     $temp = new Template();
     view()->share(['systemAdmin' => $this->systemAdmin, 'text' => $temp->getParams()]);
 }
コード例 #8
0
 /**
  * Handle an incoming request.
  *
  * @param  \Illuminate\Http\Request  $request
  * @param  \Closure  $next
  * @param $object
  * @return mixed
  */
 public function handle($request, Closure $next, $object)
 {
     $objectId = $request->segment(4);
     $object = app()->make('App' . '\\' . $object);
     $object = $object->find($objectId);
     if (!systemAccess(100) && $object) {
         if ($object->department_id != ($departmentId = auth()->user()->department_id)) {
             return redirect()->route('admin-home')->with('error', 'access-denied');
         }
     }
     return $next($request);
 }
コード例 #9
0
ファイル: NewsController.php プロジェクト: Tisho84/conference
 public function __construct()
 {
     $this->middleware('departmentAccess:4');
     $this->middleware('adminDepartmentObject:News', ['only' => ['edit', 'update', 'delete']]);
     $this->systemAdmin = false;
     $departments = [];
     if (systemAccess(100)) {
         $this->systemAdmin = true;
         $departments = getNomenclatureSelect($this->getDepartmentsAdmin(), true);
     }
     view()->share(['systemAdmin' => $this->systemAdmin, 'departments' => $departments]);
 }
コード例 #10
0
 public function __construct()
 {
     $this->middleware('departmentAccess:6');
     $this->middleware('adminDepartmentObject:Criteria', ['only' => ['edit', 'update', 'delete']]);
     $this->systemAdmin = false;
     $departments = [];
     $types = new CriteriaType();
     if (systemAccess(100)) {
         $this->systemAdmin = true;
         $departments = getNomenclatureSelect($this->getDepartmentsAdmin(), true);
     }
     view()->share(['systemAdmin' => $this->systemAdmin, 'departments' => $departments, 'types' => $types->getTypes()]);
 }
コード例 #11
0
 public function postProfile(Requests\ProfileUpdateRequest $request)
 {
     $settings = $this->getDepartment()->settings()->key('user_data');
     if (isset($settings->value) && $settings->value) {
         return redirect()->back()->with('error', 'access-denied');
     }
     DB::transaction(function () use($request) {
         auth()->user()->update($request->all());
         if (auth()->user()->is_reviewer || systemAccess(2)) {
             auth()->user()->categories()->sync((array) $request->get('categories'));
         }
     });
     return redirect()->to(route('department::index', [$request->segment(2)]))->with('success', 'profile-updated');
 }
コード例 #12
0
ファイル: PaperRequest.php プロジェクト: Tisho84/conference
 /**
  * Get the validation rules that apply to the request.
  *
  * @return array
  */
 public function rules()
 {
     $rules = ['category_id' => 'required|exists:category,id', 'title' => 'required|min:3|max:255', 'description' => 'min:3|max:1000', 'paper' => 'required|max:32000|mimes:pdf,doc,docx', 'authors' => 'required|min:3|max:255'];
     if (isAdminPanel()) {
         $paper = new PaperStatus();
         if (systemAccess(100)) {
             $rules['department_id'] = 'required';
         }
         $rules['user_id'] = 'required|exists:users,id';
         $rules['payment_description'] = 'min:3|max:1000';
         $rules['payment_source'] = 'image|max:5000';
         $rules['status_id'] = 'required|between:1,' . count($paper->getStatuses());
     }
     if ($this->request->get('id')) {
         #update request1
         if (!$this->request->get('paper')) {
             $rules['paper'] = '';
         }
     }
     return $rules;
 }
コード例 #13
0
ファイル: HomeController.php プロジェクト: Tisho84/conference
 public function postLogin()
 {
     $request = $this->request;
     $this->validate($request, ['email' => 'required', 'password' => 'required']);
     $throttles = $this->isUsingThrottlesLoginsTrait();
     if ($throttles && $this->hasTooManyLoginAttempts($request)) {
         return $this->sendLockoutResponse($request);
     }
     if (Auth::attempt($this->getCredentials($request))) {
         if (systemAccess(9)) {
             #admin panel access id
             Session::flash('success', 'login');
             return $this->handleUserWasAuthenticated($request, $throttles);
         } else {
             auth()->logout();
         }
     }
     if ($throttles) {
         $this->incrementLoginAttempts($request);
     }
     return redirect(route('admin-index'))->withInput($request->only('email'))->withErrors(['email' => trans('admin.admin-login-failed')]);
 }
コード例 #14
0
 /**
  * @param int paper
  * save reviewer evaluation
  * @return \Illuminate\Http\Response
  */
 public function postEvaluate($paper)
 {
     $paper = Paper::findOrFail($paper);
     if ($paper->department_id != auth()->user()->department_id || !systemAccess(2)) {
         if (!$this->systemAdmin) {
             return redirect()->action('Admin\\PaperController@index')->with('error', 'access-denied');
         }
     }
     $criteriaPaper = $rules = $params = $errors = [];
     $criteria = Criteria::where('department_id', $paper->department_id)->with(['langs' => function ($query) {
         $query->lang();
     }])->get();
     foreach ($criteria as $value) {
         $errors[$value->id] = $value->langs->first()->title;
         if (request()->has($value->id)) {
             $params[$value->id] = request($value->id);
             $criteriaPaper[$value->id] = ['value' => request($value->id)];
         }
         if ($value->required) {
             $rules[$value->id] = 'required';
         }
         if ($value->type_id == 1) {
             $max = 'max:1500';
             if (isset($rules[$value->id])) {
                 $rules[$value->id] .= '|' . $max;
             } else {
                 $rules[$value->id] = $max;
             }
         }
     }
     $validator = Validator::make($params, $rules);
     $validator->setAttributeNames($errors);
     if ($validator->fails()) {
         return redirect()->back()->withErrors($validator)->withInput();
     }
     DB::transaction(function () use($criteriaPaper, $paper) {
         $paper->update(['status_id' => 4, 'reviewed_at' => Carbon::now()]);
         $paper->criteria()->sync($criteriaPaper);
     });
     if (request()->get('email')) {
         event(new PaperWasFinished($paper));
     }
     return redirect()->action('Admin\\PaperController@index')->with('success', 'paper-evaluated');
 }
コード例 #15
0
 /**
  * Remove the specified resource from storage.
  *
  * @param  \App\User $user
  * @return \Illuminate\Http\Response
  */
 public function destroy(User $user)
 {
     if (systemAccess(100, $user)) {
         return redirect()->back()->with('error', 'admin-delete');
     }
     try {
         $user->delete();
     } catch (\Exception $e) {
         return redirect()->back()->with('error', 'error-user-paper');
     }
     return redirect()->action('Admin\\UsersController@index')->with('success', 'deleted');
 }
コード例 #16
0
 public function request(Department $department, $paper)
 {
     if (!systemAccess(13)) {
         return redirect()->action('PaperController@index', [$department->keyword])->with('error', 'access-denied');
     }
     $paper = Paper::findOrFail($paper);
     $paper->requests()->attach(auth()->user()->id);
     return redirect()->action('PaperController@index', [$department->keyword])->with('success', 'request-send');
 }