Пример #1
0
 public function staffCreate()
 {
     // Validate Input.
     $validator = Validator::make(Input::all(), array('username' => 'required', 'password' => 'required', 'worker' => 'required', 'name' => 'required', 'phone' => 'required', 'insurance' => 'required', 'inss' => 'required', 'patron' => 'required', 'basic' => 'required', 'bonusPercentage' => 'required', 'bonusSource' => 'required', 'staffCategory' => 'required', 'permission' => 'required'));
     if ($validator->fails()) {
         return response()->json(['error' => 'Informacion incompleta!']);
     }
     // Check that user is part of authorized staff.
     if (Auth::user()->Type != 1) {
         // If they are unauthorized no point in returning anything.
         return response()->json(array());
     }
     // Make sure username is unique.
     $user = User::where('Username', '=', Input::get('username'))->get();
     if (count($user) > 0) {
         $response['state'] = 'Error';
         $response['error'] = 'Ya existe un usuario con este nombre!';
         return response()->json($response);
     }
     // Make sure the worker is unique.
     $existWorker = Worker::where('Cedula', '=', Input::get('worker'))->first();
     if ($existWorker) {
         $response['state'] = 'Error';
         $response['error'] = 'Ya existe un trabajador con esta cedula!';
         return response()->json($response);
     }
     $branchId = Worker::where('Id', '=', Auth::user()->TypeId)->first()->BranchId;
     $worker = Worker::create(array('Name' => Input::get('name'), 'Cedula' => Input::get('worker'), 'INSS' => Input::get('inss'), 'BranchId' => $branchId, 'Phone' => Input::get('phone'), 'Category' => Input::get('staffCategory'), 'Basic' => Input::get('basic'), 'Insurance' => Input::get('insurance'), 'Patron' => Input::get('patron'), 'BonusSource' => Input::get('bonusSource'), 'BonusPercentage' => Input::get('bonusPercentage')));
     $salt = uniqid();
     // Get permission view.
     $permissions = json_decode(UserLevel::find(Input::get('permission'))->Permissions);
     $user = User::create(array('Type' => 1, 'TypeId' => $worker->Id, 'UserLevel' => Input::get('permission'), 'Username' => Input::get('username'), 'Password' => bcrypt(Input::get('password') . $salt), 'Salt' => $salt, 'View' => $permissions->view));
     $response['state'] = 'Success';
     $response['permissions'] = $permissions;
     return response()->json($response);
 }