Beispiel #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;
 }
Beispiel #2
0
 /**
  * Formr action
  * @param  Array $inputs
  */
 public static function formAction($dataInput)
 {
     //return var_dump($dataInput);
     if (!isset($dataInput['formParam']) || !isset($dataInput['formParam']['formId'])) {
         App::abbort(404);
     }
     $form = Formr::findOrFail($dataInput['formParam']['formId']);
     // recuperation de l'ordre pour le nouvel input
     $lastOrder = self::mapping($form);
     // Suppression du dernier pipe et surchage de "data['rules']"
     $dataInput['rules'] = isset($dataInput['rules']) ? self::generateRules($dataInput['rules']) : "";
     $view = Viewr::where('name', $dataInput['type'])->firstOrFail();
     $dataInput['view'] = $view->id;
     $dataInput = array_merge($dataInput, self::generateI18n($dataInput));
     $inputType = InputType::add($dataInput);
     $input = self::add($inputType->id, $dataInput);
     /**
      *
      *
      *
      *
      *
      *  A  FAIRE : TRAITER LES OPTIONS
      *
      *
      *
      *
      *
      * 
      */
     // Add options if the input type is a select
     if ($input->name = "select") {
         if (isset($dataInput['options'])) {
             foreach ($dataInput['options'] as $option) {
                 $option['key'] = i18n::add($option['key'], 'option_key');
                 $option['value'] = i18n::add($option['value'], 'option_value');
                 SelectOption::add($input->id, $option);
             }
         }
     }
     // Add form map
     FormMap::add($input->id, $form->id, $lastOrder);
     return Redirect::route('admin.form.show', $form->id);
 }
Beispiel #3
0
 public function edit($formID)
 {
     $this->data['form'] = Formr::findOrFail($formID);
     return View::make('theme::' . 'admin.formr.edit', $this->data);
 }