/** * * * 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; }
/** * 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); }
public function edit($formID) { $this->data['form'] = Formr::findOrFail($formID); return View::make('theme::' . 'admin.formr.edit', $this->data); }