示例#1
0
 public function saveNewUser()
 {
     $first_name = Input::get('first_name');
     $last_name = Input::get('last_name');
     $email = Input::get('email');
     $phone = Input::get('phone');
     $password = Input::get('password');
     $device_token = Input::get('device_token');
     $device_type = Input::get('device_type');
     $fc = 'flash_error';
     $fm = 'Error in creating user';
     $validator = Validator::make(array('first_name' => $first_name, 'last_name' => $last_name, 'password' => $password, 'email' => $email, 'phone' => $phone, 'device_token' => $device_token, 'device_type' => $device_type), array('first_name' => 'required|max:255', 'last_name' => 'required|max:255', 'email' => 'required|email|max:255', 'password' => 'required', 'phone' => 'required|max:15', 'device_type' => 'required|in:android,ios', 'device_token' => ''));
     $image = Input::file('photo');
     if ($image) {
         $filename = $image->getClientOriginalName();
         $filename = pathinfo($filename, PATHINFO_FILENAME);
         $fullname = Str::slug(Str::random(8) . $filename) . '.' . $image->getClientOriginalExtension();
         $upload = $image->move(public_path() . '/uploads/photo', $fullname);
     } else {
         $fullname = "";
     }
     if ($validator->fails()) {
         $error_messages = $validator->messages()->all();
         Log::info('Error during registration by admin = ' . print_r($error_messages, true));
         $fc = 'flash_error';
         $fm = implode('<br>', $error_messages);
     } else {
         if (User::where('email', '=', $email)->first()) {
             $fm = 'Email ID is already registered.';
         } else {
             $owner = new User();
             $owner->first_name = $first_name;
             $owner->last_name = $last_name;
             $owner->email = $email;
             $owner->phone = $phone;
             if ($password != "") {
                 $owner->password = Hash::make($password);
             }
             $owner->token = generate_token();
             $owner->token_expiry = generate_expiry();
             $owner->device_token = $device_token;
             $owner->device_type = $device_type;
             //$ckj_assign = Cik::where('status',0)->first();
             $ckj_assign = Cik::first();
             if ($ckj_assign == Null) {
                 $fm = 'Unassigned Cik is not available.';
             } else {
                 $owner->cik = $ckj_assign->name;
                 $ckj_change = Cik::find($ckj_assign->id);
                 $ckj_change->status = 1;
                 $ckj_change->save();
                 $owner->role_id = 1;
                 $owner->photo = $fullname;
                 $owner->save();
                 // Link device to user by passing $email, $owner->$cik
                 $ExositeController = new ExositeController();
                 $dashboard_link = $ExositeController->link_device_to_user($email, $owner->cik);
                 $owner->dashboard_link = $dashboard_link;
                 $owner->save();
                 $data = array('name' => $owner->first_name . " " . $owner->last_name, 'email' => $owner->email, 'password' => $password, 'cik' => $owner->cik, 'dashboard_link' => $owner->dashboard_link);
                 Mail::queue('emails.auth.registermail', $data, function ($message) use($owner) {
                     $message->to($owner->email, $owner->first_name . " " . $owner->last_name)->subject('Welcome to CarIO');
                 });
                 $fc = 'flash_success';
                 $fm = 'New User created successfully.';
             }
         }
     }
     return Redirect::back()->with($fc, $fm);
 }
示例#2
0
 public function register()
 {
     $first_name = Input::get('first_name');
     $last_name = Input::get('last_name');
     $email = Input::get('email');
     $phone = Input::get('phone');
     $password = Input::get('password');
     $device_token = Input::get('device_token');
     $device_type = Input::get('device_type');
     $validator = Validator::make(array('first_name' => $first_name, 'last_name' => $last_name, 'password' => $password, 'email' => $email, 'phone' => $phone, 'device_token' => $device_token, 'device_type' => $device_type), array('phone' => 'required', 'password' => 'required', 'email' => 'required|email', 'first_name' => 'required', 'last_name' => 'required', 'device_token' => 'required', 'device_type' => 'required|in:android,ios'));
     $image = Input::file('photo');
     if ($image) {
         $filename = $image->getClientOriginalName();
         $filename = pathinfo($filename, PATHINFO_FILENAME);
         $fullname = Str::slug(Str::random(8) . $filename) . '.' . $image->getClientOriginalExtension();
         $upload = $image->move(public_path() . '/uploads/photo', $fullname);
     } else {
         $fullname = "";
     }
     if ($validator->fails()) {
         $error_messages = $validator->messages()->all();
         Log::info('Error while during owner registration = ' . print_r($error_messages, true));
         $response_array = array('success' => false, 'error' => 'Invalid Input', 'error_code' => 401, 'error_messages' => $error_messages);
         $response_code = 200;
     } else {
         if (User::where('email', '=', $email)->first()) {
             $response_array = array('success' => false, 'error' => 'Email ID already Registred', 'error_code' => 402);
             $response_code = 200;
         } else {
             $owner = new User();
             $owner->first_name = $first_name;
             $owner->last_name = $last_name;
             $owner->email = $email;
             $owner->phone = $phone;
             if ($password != "") {
                 $owner->password = Hash::make($password);
             }
             $owner->token = generate_token();
             $owner->token_expiry = generate_expiry();
             $owner->device_token = $device_token;
             $owner->device_type = $device_type;
             $ckj_assign = Cik::where('status', 0)->first();
             /*New Unassigned cik will be assigned to every newly registered user*/
             //$ckj_assign = Cik::first(); /*The first cik will be assigned to every newly registered user*/
             if ($ckj_assign == Null) {
                 //$owner->cik = 'Not Available';
                 $response_array = array('success' => false, 'error' => 'Cik Not Available', 'error_code' => 405);
                 $response_code = 200;
             } else {
                 $owner->cik = $ckj_assign->name;
                 $ckj_change = Cik::find($ckj_assign->id);
                 $ckj_change->status = 1;
                 $ckj_change->save();
                 $owner->role_id = 1;
                 $owner->photo = $fullname;
                 $owner->save();
                 // Link device to user by passing $email, $owner->$cik
                 $ExositeController = new ExositeController();
                 $dashboard_link = $ExositeController->link_device_to_user($email, $owner->cik);
                 $owner->dashboard_link = $dashboard_link;
                 $owner->save();
                 $response_array = array('success' => true, 'id' => $owner->id, 'first_name' => $owner->first_name, 'last_name' => $owner->last_name, 'phone' => $owner->phone, 'email' => $owner->email, 'device_token' => $owner->device_token, 'device_type' => $owner->device_type, 'token' => $owner->token, 'photo' => $owner->photo, 'cik' => $owner->cik, 'dashboard_link' => $owner->dashboard_link);
                 $response_code = 200;
                 $data = array('name' => $owner->first_name . " " . $owner->last_name, 'email' => $owner->email, 'password' => $password, 'cik' => $owner->cik, 'dashboard_link' => $owner->dashboard_link);
                 Mail::queue('emails.auth.registermail', $data, function ($message) use($owner) {
                     $message->to($owner->email, $owner->first_name . " " . $owner->last_name)->subject('Welcome to CarIO');
                 });
             }
         }
     }
     response:
     $response = Response::json($response_array, $response_code);
     return $response;
 }
示例#3
0
 public function link_device_to_user($email, $cik)
 {
     try {
         $user = User::where('email', $email)->first();
         $cik = Cik::where('name', $cik)->first();
         $full_name = $user->first_name . " " . $user->last_name;
         $description = $user->first_name . " " . $user->last_name . " " . $cik->device_rid . " " . $cik->name;
         // Update device name
         Log::info('*********update_device_name(' . $cik->device_rid . ', ' . $full_name . ')*********');
         $this->update_device_name($cik->device_rid, $full_name);
         // Update dashboard name
         Log::info('*********update_dashboard_name(' . $cik->dashboard_id . ', ' . $full_name . ', ' . $description . ')*********');
         $this->update_dashboard_name($cik->dashboard_id, $full_name, $description);
     } catch (Exception $exception) {
         Log::error($exception->getMessage() . $exception->getTraceAsString());
     }
     return "https://skylab.exosite.com/views/" . Config::get('app.exosite_portal_id') . "/" . $cik->dashboard_id;
 }