/** * Show the form for editing the specified resource. * * @param int $id * @return \Illuminate\Http\Response */ public function edit($id) { $mailRow = $this->repository->find($id); if (!$_POST) { $form = FormBuilder\create_form(['action' => route('admin.mail.edit', ['id' => $id]), 'method' => FormBuilder\Form::METHOD_POST]); $elements[] = FormBuilder\element_text('slug', ['name' => 'slug', 'group' => 'default', 'value' => isset($mailRow->slug) ? $mailRow->slug : '']); if ($mailRow instanceof Translatable) { $locales = Locale\get_locales(); foreach ($locales as $locale => $attributes) { $translation = $mailRow->translate($locale); foreach ($mailRow->translatedAttributes() as $attribute => $type) { $elements[] = FormBuilder\get_element($type, ['group' => 'translations', 'label' => ucfirst($attribute) . ' ' . $locale, 'value' => isset($translation[$attribute]) ? $translation[$attribute] : '', 'name' => $locale . '[' . $attribute . ']']); } } } $form->addElements($elements, true); return view('scaffold::scaffold.edit', compact('form')); } $mailRow->fill($_POST)->save(); return back(); }
/** * Render filter form . * * @param Table $table * @param array $attributes * @return string */ function render_filter_form(Table $table, $attributes = array()) { $form = get_filter_form($table); foreach ($attributes as $key => $value) { if (method_exists($form, $key)) { $form->{$key}($value); } } if (isset($attributes['group'])) { $groups = $form->getGroup($attributes['group']); } else { $groups = $form->getGroups(); } $html = $form->openForm(); array_walk($groups, function ($value, $group) use(&$html, $form) { $html .= '<div class="' . $group . '">'; $html .= $form->render($group, false); $html .= '</div>'; }); $html .= FormBuilder\get_element('button', ['value' => _("Search"), 'type' => 'submit', 'class' => 'btn btn-success btn-search btn-flat'])->render(); $html .= $form->closeForm(); return $html; }
/** * Get filter form .. * * @param null $request * @return Form * @throws FormBuilder\ElementException */ public function renderFilter($request = null) { $fields = $this->getDriver()->filterFields(); if (!$request) { $request = array_merge($_GET, $_POST); } $elements = []; foreach ($fields as $key => $value) { $type = !is_array($value) ? $value : $value['type']; #@todo spark---------------- $attributes = ['value' => isset($request[$key]) ? $request[$key] : '', 'name' => $key, 'class' => 'form-control']; if (is_array($value)) { $attributes = array_merge($value, $attributes); } $attributes['before'] = '<div class="form-group">'; $attributes['after'] = '</div>'; if (!isset($attributes['label'])) { $attributes['label'] = ucfirst($key); } $elements[$key] = FormBuilder\get_element($type, $attributes + ['label' => $attributes['label']]); } $form = new Form(['elements' => $elements, 'class' => 'form-inline']); return $form; }
/** * @param $section * @return \Illuminate\View\View */ public function edit($section) { $default = config('administrator-settings.default')[$section]; $form = FormBuilder\create_form(['action' => route('update_setting', ['section' => $section]), 'method' => FormBuilder\Form::METHOD_POST]); $settings = $this->getRepository()->all($section); $settings = $section == 'general' ? isset($settings['general']) ? $settings['general'] : [] : $settings; array_walk($default['items'], function ($value, $key) use(&$form, $settings) { if (!$this->isAllowed(isset($value['roles']) ? $value['roles'] : [], isset($value['permissions']) ? $value['permissions'] : [])) { return false; } $attributes = ['name' => $value['key'], 'value' => isset($settings[$value['key']]) ? $settings[$value['key']] : (isset($value['value']) ? $value['value'] : '')]; $type = isset($value['type']) ? $value['type'] : 'text'; if ($type == 'checkbox') { $form->addElement($key . '1', FormBuilder\element_hidden('', ['value' => 0, 'group' => $value['group']] + $attributes), true); } $form->addElement($key, FormBuilder\get_element($type, $attributes + $value), true); }); return view('scaffold::scaffold.edit', compact('form')); }