Beispiel #1
0
 /**
  * Change password
  *
  * @return Response
  */
 public function change()
 {
     if (!Input::has('email') || !Input::has('password')) {
         return new JSend('error', (array) Input::all(), 'Tidak ada data customer.');
     }
     $email = Input::get('email');
     $password = Input::get('password');
     $errors = new MessageBag();
     DB::beginTransaction();
     //1. Check Email
     $customer_data = \App\Models\Customer::email($email)->notSSOMedia(['facebook'])->first();
     if (!$customer_data) {
         $errors->add('Customer', 'Email tidak valid.');
     } elseif (empty($customer_data->reset_password_link)) {
         $errors->add('Customer', 'Email tidak valid.');
     } else {
         //if validator passed, save customer
         $customer_data = $customer_data->fill(['reset_password_link' => '', 'password' => $password, 'date_of_birth' => strtotime($customer_data['date_of_birth']) ? $customer_data['date_of_birth']->format('Y-m-d H:i:s') : '']);
         if (!$customer_data->save()) {
             $errors->add('Customer', $customer_data->getError());
         }
     }
     if ($errors->count()) {
         DB::rollback();
         return new JSend('error', (array) Input::all(), $errors);
     }
     DB::commit();
     $final_customer = \App\Models\Customer::id($customer_data['id'])->first()->toArray();
     return new JSend('success', (array) $final_customer);
 }