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