Пример #1
0
 /**
  * Activate user account
  *
  * @return Response
  */
 public function activate()
 {
     if (!Input::has('link')) {
         return new JSend('error', (array) Input::all(), 'Tidak ada data customer.');
     }
     $link = Input::get('link');
     $errors = new MessageBag();
     DB::beginTransaction();
     //1. Check Link
     $customer_data = \App\Models\Customer::activationlink($link)->first();
     if (!$customer_data) {
         $errors->add('Customer', 'Link tidak valid.');
     } elseif ($customer_data->is_active) {
         $errors->add('Customer', 'Link tidak valid.');
     } else {
         //if validator passed, save customer
         $customer_data = $customer_data->fill(['is_active' => true, 'activation_link' => '', '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);
 }