示例#1
0
 public function action()
 {
     \OLOG\Exits::exit403If(!Auth::currentUserHasAnyOfPermissions([1]));
     $html = '';
     $html .= \OLOG\CRUD\CRUDTable::html(\CRUDDemo\DemoTerm::class, CRUDForm::html(new DemoTerm(), [new CRUDFormRow('Title', new CRUDFormWidgetInput('title', false, true)), new CRUDFormRow('Chooser', new CRUDFormWidgetRadios('chooser', [1 => 'one', 2 => 'two'], true, true)), new CRUDFormRow('Options', new CRUDFormWidgetOptions('options', [1 => 'one', 2 => 'two'], false, true))]), [new CRUDTableColumn('Edit', new CRUDTableWidgetTextWithLink('{this->title}', DemoTermEditAction::getUrl('{this->id}'))), new CRUDTableColumn('Vocabulary', new CRUDTableWidgetOptions('{this->vocabulary_id}', DemoTerm::VOCABULARIES_ARR)), new CRUDTableColumn('Parent', new CRUDTableWidgetText('{' . DemoTerm::class . '.{this->parent_id}->title}')), new CRUDTableColumn('', new CRUDTableWidgetWeight(['parent_id' => null])), new CRUDTableColumn('', new CRUDTableWidgetDelete())], [new CRUDTableFilterEqualInvisible('parent_id', null), new CRUDTableFilterEqualOptionsInline('34785ty8y45t8', 'Словарь', 'vocabulary_id', DemoTerm::VOCABULARIES_ARR, false, null, true), new CRUDTableFilterEqualOptionsInline('345634g3tg534', '', 'gender', DemoTerm::GENDER_ARR, false, null, true, 'М. и Ж.'), new CRUDTableFilterLikeInline('3748t7t45gdfg', '', 'title', 'Название содержит')], 'weight', '8726438755234', CRUDTable::FILTERS_POSITION_INLINE);
     DemoLayoutTemplate::render($html, 'Термы', self::breadcrumbsArr());
 }
示例#2
0
 public function action($term_id)
 {
     \OLOG\Exits::exit403If(!Auth::currentUserHasAnyOfPermissions([1]));
     $html = '';
     $term_obj = DemoTerm::factory($term_id);
     $html .= \OLOG\CRUD\CRUDForm::html($term_obj, [new CRUDFormVerticalRow('Title', new CRUDFormWidgetInput('title', false, true), 'Comment string'), new CRUDFormVerticalRow('weight', new CRUDFormWidgetInput('weight', false, true)), new CRUDFormRow('Chooser', new CRUDFormWidgetRadios('chooser', [1 => 'one', 2 => 'two'], true, true)), new CRUDFormRow('Gender', new CRUDFormWidgetRadios('gender', [1 => 'male', 2 => 'female'], true)), new CRUDFormRow('Options', new CRUDFormWidgetOptions('options', [1 => 'one', 2 => 'two'], false, true)), new CRUDFormRow('Vocabulary', new CRUDFormWidgetOptions('vocabulary_id', DemoTerm::VOCABULARIES_ARR, false, true)), new CRUDFormRow('Parent id', new CRUDFormWidgetReferenceAjax('parent_id', DemoTerm::class, 'title', DemoAjaxTermsListAction::getUrl(), DemoTermEditAction::getUrl('REFERENCED_ID')))]);
     $html .= '<h2>Child terms</h2>';
     $new_term_obj = new DemoTerm();
     $new_term_obj->setParentId($term_id);
     $html .= \OLOG\CRUD\CRUDTable::html(\CRUDDemo\DemoTerm::class, \OLOG\CRUD\CRUDForm::html($new_term_obj, [new CRUDFormRow('Title', new CRUDFormWidgetInput('title')), new CRUDFormInvisibleRow(new CRUDFormWidgetInput('parent_id'))]), [new CRUDTableColumn('Title', new CRUDTableWidgetTextWithLink('{this->title}', DemoTermEditAction::getUrl('{this->id}'))), new CRUDTableColumn('Weight', new CRUDTableWidgetWeight(['parent_id' => $term_id])), new CRUDTableColumn('Delete', new CRUDTableWidgetDelete())], [new CRUDTableFilterEqualInvisible('parent_id', $term_id)], 'weight');
     DemoLayoutTemplate::render($html, 'Term ' . $term_id, self::breadcrumbsArr($term_id));
 }