Example #1
0
 /**
  * @param \Illuminate\Database\Eloquent\Model $model
  * @param $id
  * @param $showFields
  * @param array $fieldsNames
  * @param array $selectsOptions
  * @param array $extraParams
  * @return string
  */
 public static function generateCRUDform($model, $id, $showFields, $fieldsNames = array(), $selectsOptions = array(), $extraParams = array(), $defaultValues = array())
 {
     $renderer = new Renderer();
     $modelObject = $model::find($id);
     $btnName = "Modificar ficha";
     if (!$modelObject) {
         $modelObject = new $model();
         $btnName = "AƱadir";
     }
     $extraParams['class'][] = "form-horizontal";
     $extraParams['class'][] = "autoGeneratedCRUDForm";
     $extraParams['role'] = "form";
     $extraParams['method'] = "post";
     Renderer::addJS("\n        <script>\n            \$(function(){\n                \$('.autoGeneratedCRUDForm').on('submit', function(e){\n                    var form = \$(this);\n                    \$('.autoGeneratedCRUDForm input[type=checkbox]').each(function()\n                    {\n                        if(\$(this).prop('checked')) {\n                            form.append('<input type=\"hidden\" name=\"'+\$(this).attr('name')+'\" value=\"1\">');\n                        }\n                        else form.append('<input type=\"hidden\" name=\"'+\$(this).attr('name')+'\" value=\"0\">');\n                        \$(this).remove();\n                    });\n                    return true;\n                });\n            });\n        </script>\n        ");
     $htmlParams = $renderer->generateHtmlParams($extraParams);
     $result = "<form {$htmlParams}>";
     $result .= $renderer->generate2columnsFormContent($showFields, $modelObject, $fieldsNames, $selectsOptions, $defaultValues);
     $result .= "<div class='row form-group text-center'>\n\t\t\t\t\t\t<button class='btn btn-success'>{$btnName}</button>\n\n\t\t\t\t\t</div>";
     $result .= "</form>";
     $result .= $renderer->renderJS();
     return $result;
 }