public function saveAction(Request $request)
 {
     $params = $request->all();
     unset($params['_token'], $params['q']);
     if (strlen($params['password'])) {
         $params['password'] = Crypt::encrypt($params['password']);
     }
     if ($request->getMethod() == 'POST') {
         // saving data!
         $isValid = $this->repository->validateRequest($request);
         if (!is_bool($isValid)) {
             $request->session()->flash('message', "Invalid data, please check the following errors: ");
             $request->session()->flash('validationErrros', $isValid);
             return redirect()->route('configuration')->withInput();
         }
         $configuration = $this->repository->findById($params['id']);
         if (!$configuration) {
             $request->session()->flash('message', "Configuration not found");
             return redirect('configuration');
         }
         $this->repository->update($params, $params['id']);
         $request->session()->flash('message', "Configuration updated successfully!");
         $request->session()->flash('success', true);
         return redirect('configuration');
     }
     $request->session()->flash('message', "Method not allowed");
     return redirect('configuration');
 }