App\Http\Controllers\AccountController::saveUserDetails PHP Method

saveUserDetails() public method

public saveUserDetails ( )
    public function saveUserDetails()
    {
        /** @var \App\Models\User $user */
        $user = Auth::user();
        $rules = ['email' => 'email|required|unique:users,email,' . $user->id . ',id'];
        $validator = Validator::make(Input::all(), $rules);
        if ($validator->fails()) {
            return Redirect::to('settings/' . ACCOUNT_USER_DETAILS)->withErrors($validator)->withInput();
        } else {
            $user->first_name = trim(Input::get('first_name'));
            $user->last_name = trim(Input::get('last_name'));
            $user->username = trim(Input::get('email'));
            $user->email = trim(strtolower(Input::get('email')));
            $user->phone = trim(Input::get('phone'));
            if (Utils::isNinja()) {
                if (Input::get('referral_code') && !$user->referral_code) {
                    $user->referral_code = $this->accountRepo->getReferralCode();
                }
            }
            if (Utils::isNinjaDev()) {
                $user->dark_mode = Input::get('dark_mode') ? true : false;
            }
            $user->save();
            event(new UserSettingsChanged());
            Session::flash('message', trans('texts.updated_settings'));
            return Redirect::to('settings/' . ACCOUNT_USER_DETAILS);
        }
    }

Usage Example

 public function doSection($section = ACCOUNT_COMPANY_DETAILS)
 {
     if ($section === ACCOUNT_COMPANY_DETAILS) {
         return AccountController::saveDetails();
     } elseif ($section === ACCOUNT_USER_DETAILS) {
         return AccountController::saveUserDetails();
     } elseif ($section === ACCOUNT_LOCALIZATION) {
         return AccountController::saveLocalization();
     } elseif ($section === ACCOUNT_NOTIFICATIONS) {
         return AccountController::saveNotifications();
     } elseif ($section === ACCOUNT_EXPORT) {
         return AccountController::export();
     } elseif ($section === ACCOUNT_INVOICE_SETTINGS) {
         return AccountController::saveInvoiceSettings();
     } elseif ($section === ACCOUNT_EMAIL_SETTINGS) {
         return AccountController::saveEmailSettings();
     } elseif ($section === ACCOUNT_INVOICE_DESIGN) {
         return AccountController::saveInvoiceDesign();
     } elseif ($section === ACCOUNT_CUSTOMIZE_DESIGN) {
         return AccountController::saveCustomizeDesign();
     } elseif ($section === ACCOUNT_CLIENT_PORTAL) {
         return AccountController::saveClientPortal();
     } elseif ($section === ACCOUNT_TEMPLATES_AND_REMINDERS) {
         return AccountController::saveEmailTemplates();
     } elseif ($section === ACCOUNT_PRODUCTS) {
         return AccountController::saveProducts();
     } elseif ($section === ACCOUNT_TAX_RATES) {
         return AccountController::saveTaxRates();
     }
 }