Пример #1
0
 /**
  * 
  *
  * A FINIR :
  * BUG DETECTE : LE DERNIER CHECKBOX DE LA PAGE CONTACT NE VEUT PAS REMONTER /!\
  * 
  * @param  [type] $formId    [description]
  * @param  [type] $inputId   [description]
  * @param  [type] $direction [description]
  * @return [type]            [description]
  */
 public function move($formId, $inputId, $direction)
 {
     $form = Formr::findOrFail($formId);
     $input = FormMap::where('input_id', $inputId)->firstOrFail();
     if ($direction == "up") {
         if ($input->order > 1) {
             // Récupere le précédent
             $prevInput = FormMap::where('form_id', $formId)->where('order', $input->order - 1)->firstOrFail();
             // On descend le suivant
             $prevInput->order = $input->order;
             $prevInput->save();
             // Et on remonte celui qu'on veut remonter
             $input->order = $input->order - 1;
             $input->save();
             return Redirect::back()->with('success', "L'ordre a été changé");
         } else {
             return Redirect::back()->with('error', "Cet Input est déjà au plus haut");
         }
     } else {
         // Récupere le suivant
         $nextInput = FormMap::where('form_id', $formId)->where('order', $input->order + 1)->firstOrFail();
         // On remonte le suivant
         $nextInput->order = $input->order;
         $nextInput->save();
         // Et on descend celui qu'on veut descendre
         $input->order = $input->order + 1;
         $input->save();
         return Redirect::back()->with('success', "L'ordre a été changé");
     }
     $this->data['params']['formId'] = $formId;
 }
Пример #2
0
 /**
  * Genere le nouveau mappage et retourne l'order pour le nouvel input
  * @param  Object $form 
  * @return Integer
  */
 public static function mapping($form)
 {
     $lastInputMap = FormMap::join('inputs', 'inputs.id', '=', 'form_maps.input_id')->join('views', 'views.id', '=', 'inputs.view_id')->where('form_maps.form_id', $form->id)->where('views.name', 'submit')->first();
     if (!$lastInputMap) {
         $lastInputMap = FormMap::where('form_id', $form->id)->orderBy('order', 'DESC')->first();
         $lastOrder = isset($lastInputMap) ? $lastInputMap->order + 1 : 1;
     } else {
         // On set l'odre du submit pour le nouveau input
         $lastOrder = $lastInputMap->order;
         // et on descend l'ordre su submit d'un cran pour qu'il reste en bas par défault
         $lastInputMap->order = $lastInputMap->order + 1;
         $lastInputMap->save();
     }
     return $lastOrder;
 }