public function edit(Request $request)
 {
     $id = 0;
     if (isset($request->id)) {
         $id = $request->id;
     }
     $modelData = new \stdClass();
     if ($id > 0) {
         try {
             $modelData = AdBanIp::findOrFail($id);
         } catch (ModelNotFoundException $e) {
             session()->flash('message', trans('admin_common.Invalid IP ID'));
             return redirect(url('admin/ipban'));
         }
     }
     /**
      * form is submitted check values and save if needed
      */
     if ($request->isMethod('post')) {
         /**
          * validate data
          */
         $rules = ['ban_ip' => 'required|ip|unique:ad_ban_ip,ban_ip', 'ban_reason' => 'required|max:255'];
         if (isset($modelData->ban_ip_id)) {
             $rules['ban_ip'] = 'required|ip|unique:ad_ban_ip,ban_ip,' . $modelData->ban_ip_id . ',ban_ip_id';
         }
         $validator = Validator::make($request->all(), $rules);
         if ($validator->fails()) {
             $this->throwValidationException($request, $validator);
         }
         /**
          * get data from form
          */
         $data = $request->all();
         /**
          * save or update
          */
         if (!isset($modelData->ban_ip_id)) {
             AdBanIp::create($data);
         } else {
             $modelData->update($data);
         }
         /**
          * clear cache, set message, redirect to list
          */
         Cache::flush();
         session()->flash('message', trans('admin_common.Banned IP saved'));
         return redirect(url('admin/ipban'));
     }
     return view('admin.ip_ban.ip_ban_edit', ['modelData' => $modelData]);
 }