Beispiel #1
0
 public function getEditAction(Dynamic $form, Record $record, Table $table)
 {
     if (!$table->listableFields->count()) {
         $this->response()->notFound('Missing view field permissions.');
     }
     $form->setTable($table);
     $form->setRecord($record);
     $form->initFields();
     $form->populateFromRecord($record);
     $tableEntity = $table->createEntity();
     if ($tableEntity->isTranslatable()) {
         $form->initLanguageFields();
     }
     if ($tableEntity->isPermissionable()) {
         $form->initPermissionFields();
     }
     $title = 'Edit ' . $record->title ?? $record->slug ?? $record->email ?? $record->num ?? $table->title;
     $formalize = $this->formalize($form, $record, $title);
     /**
      * We also have to return related tables.
      */
     $tabs = $table->tabs;
     try {
         list($tabelizes, $functionizes) = $this->getTabelizesAndFunctionizes($tabs, $record, $table);
     } catch (Throwable $e) {
         $tabelizes = [];
         $functionizes = [];
     }
     /**
      * And build tabs ...
      */
     if (!$tabs->count()) {
         /**
          * Return simple html without tabs.
          */
         return view('edit/singular', ['formalize' => $formalize, 'tabelizes' => $tabelizes, 'functionizes' => $functionizes]);
     }
     ksort($tabelizes);
     ksort($functionizes);
     Tab::$dynamicRecord = $record;
     Tab::$dynamicTable = $table;
     /**
      * We have to build tabs.
      */
     return view('edit/tabs', ['tabs' => $tabs, 'tabelizes' => $tabelizes, 'formalize' => $formalize, 'functionizes' => $functionizes]);
 }