public static function updateUserData(Request $request, $id)
 {
     $user = User::find($id);
     $rules = self::getRules();
     $validator = Validator::make($request->all(), $rules);
     if ($validator->fails()) {
         return Redirect::to('/system/users/' . $id . '/edit')->withErrors($validator)->withInput()->send();
     } else {
         //DEAL WITH IMAGE FILE
         if ($request->file('image_name')) {
             if ($user->image_name != null) {
                 CommonTasks::deleteImage($user->image_name);
             }
             $storageName = CommonTasks::prepareImage($request->file('image_name'), 200, 200);
             $user->image_name = $storageName;
         } else {
             if ($request->input("clear_check") == 'yes') {
                 CommonTasks::deleteImage($user->image_name);
                 $user->image_name = null;
             }
         }
         $user->first_name = $request->input("first_name");
         $user->last_name = $request->input("last_name");
         $user->email = $request->input("email");
         $user->username = $request->input("username");
         $user->role_id = $request->input("role_id");
         $user->push();
         Session::flash('message', "User Details Updated");
         return Redirect::to("/system/users")->send();
     }
 }
 public static function saveCompanyDetails(Request $request)
 {
     $rules = self::getRules();
     $validator = Validator::make($request->all(), $rules);
     if ($validator->fails()) {
         return Redirect::to('/system/company')->withErrors($validator)->withInput()->send();
     } else {
         $companyDetailsContent = CompanyRepository::count();
         if ($companyDetailsContent > 0) {
             $companyDetails = CompanyRepository::getCompanyDetails();
             if ($request->file('company_logo_name')) {
                 if ($companyDetails->company_logo_name != null) {
                     CommonTasks::deleteImage($companyDetails->company_logo_name);
                 }
                 $storageName = CommonTasks::prepareImage($request->file('company_logo_name'), 200, 200);
                 $companyDetails->company_logo_name = $storageName;
             } else {
                 if ($request->get('clear_check') == 'checked') {
                     CommonTasks::deleteImage($companyDetails->company_logo_name);
                     $companyDetails->company_logo_name = null;
                 }
             }
             $companyDetails->company_name = $request->get("company_name");
             $companyDetails->company_description = $request->get("company_description");
             $companyDetails->company_address = $request->input("company_address") == "" ? null : $request->input("company_address");
             $companyDetails->company_telephone = $request->input("company_telephone") == "" ? null : $request->input("company_telephone");
             $companyDetails->company_tin_number = $request->input("company_tin_number") == "" ? null : $request->input("company_tin_number");
             $companyDetails->company_ssnit_number = $request->input("company_ssnit_number") == "" ? null : $request->input("company_ssnit_number");
             $companyDetails->company_email = $request->input("company_email") == "" ? null : $request->input("company_email");
             $companyDetails->company_website = $request->input("company_website") == "" ? null : $request->input("company_website");
             $companyDetails->push();
             Session::flash('message', 'Company Information Saved');
             return Redirect::to('/system/company')->send();
         } else {
             $company = new Company();
             $company->company_name = $request->get("company_name");
             $company->company_description = $request->get("company_description");
             $company->company_address = $request->input("company_address") == "" ? null : $request->input("company_address");
             $company->company_telephone = $request->input("company_telephone") == "" ? null : $request->input("company_telephone");
             $company->company_tin_number = $request->input("company_tin_number") == "" ? null : $request->input("company_tin_number");
             $company->company_ssnit_number = $request->input("company_ssnit_number") == "" ? null : $request->input("company_ssnit_number");
             $company->company_email = $request->input("company_email") == "" ? null : $request->input("company_email");
             $company->company_website = $request->input("company_website") == "" ? null : $request->input("company_website");
             if ($request->file('company_logo_name')) {
                 $storageName = CommonTasks::prepareImage($request->file('company_logo_name'), 200, 200);
                 $company->company_logo_name = $storageName;
             } else {
                 $company->company_logo_name = null;
             }
             $company->save();
             Session::flash('message', 'Company Information Saved');
             return Redirect::to('/system/company')->send();
         }
     }
 }