/**
  * 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'];
 }
 public function delete()
 {
     parent::delete();
     $Extensions = Extension::where('app', 'ConfBridge')->where('appdata', Auth::user()->customer . '_' . $this->conf_name)->where('customer', Auth::user()->customer)->get();
     foreach ($Extensions as $Extension) {
         if ($Extension->context == Auth::user()->Customer->internal_context) {
             UsedExtension::where('customer', Auth::user()->customer)->where('extension', $Extension->exten)->delete();
         }
         Extension::where('context', $Extension->context)->where('exten', $Extension->exten)->where('customer', Auth::user()->customer)->delete();
     }
 }
 /**
  * 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');
 }