/** * Get the validation rules that apply to the request. * * @return array */ public function rules() { if ($this->input('delete') == 'on') { return []; } $SpeedDial = SpeedDial::find($this->route('id')); $old = UsedExtension::where('customer', Auth::user()->customer)->where('extension', $SpeedDial->sd_exten)->first(); return ['sd_extension' => 'required|numeric|min:2|unique:used_extensions,extension,' . $old->id . ',id,customer,' . Auth::user()->customer, 'destination_type' => 'required', 'forward' => 'required_if:destination_type,forward|numeric', 'extension' => 'required_if:destination_type,extension', 'ivr' => 'required_if:destination_type,ivr', 'ringgroup' => 'required_if:destination_type,ringgroup', 'schedule' => 'required_if:destination_type,schedule', 'confbridge' => 'required_if:destination_type,confbridge', 'voicemail' => 'required_if:destination_type,voicemail', 'queue' => 'required_if:destination_type,queue']; }
/** * Update the specified resource in storage. * * @param \Illuminate\Http\Request $request * @param int $id * @return \Illuminate\Http\Response */ public function update(Requests\UpdateSpeedDialRequest $request, $id) { $SpeedDial = SpeedDial::find($id); if ($request->input('delete') == 'on') { if ($SpeedDial->isInUse()) { \Session::flash('error_message', "Cannot delete a speed dial that is in use"); return redirect()->back(); } UsedExtension::where('customer', Auth::user()->customer)->where('extension', $SpeedDial->sd_exten)->delete(); $SpeedDial->delete(); \Session::flash('success_message', "Speed Dial deleted"); return redirect('/queue'); } $SpeedDial->sd_exten = $request->input('sd_extension'); $SpeedDial->sd_dest_type = $request->input('destination_type'); $SpeedDial->save(); \Session::flash('success_message', "Speed Dial updated"); return redirect('/speeddials'); }