/** * 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); }