public function editDefault()
 {
     $this->setAction('edit');
     $crud = $this->getCrudInstance();
     /* @var $crud Ajde_Crud */
     if (!$crud) {
         Ajde::app()->getResponse()->redirectNotFound();
     }
     $editOptions = $crud->getOptions('edit');
     if ($crud->getOperation() === 'list') {
         if (!empty($editOptions) && isset($editOptions['action'])) {
             $crud->setAction($editOptions['action']);
         } else {
             $crud->setAction('edit');
         }
     }
     if (!$crud->hasId()) {
         $crud->setId(Ajde::app()->getRequest()->getParam('edit', false));
     }
     $session = new Ajde_Session('AC.Crud');
     $session->setModel($crud->getHash(), $crud);
     $view = $crud->getTemplate();
     $view->requireJsFirst('component/shortcut', 'html', MODULE_DIR . '_core/');
     $view->assign('crud', $crud);
     // Editor
     if (Config::get('textEditor')) {
         $editorClassName = "Ajde_Crud_Editor_" . ucfirst(Config::get('textEditor'));
         $textEditor = new $editorClassName();
         /* @var $textEditor Ajde_Crud_Editor */
         $textEditor->getResources($view);
     }
     return $view->render();
 }
Exemple #2
0
 public function login()
 {
     if (empty($this->_data)) {
         // TODO:
         throw new Ajde_Exception('Invalid user object');
     }
     $session = new Ajde_Session('user');
     $session->setModel('model', $this);
 }
Exemple #3
0
 public function editDefault()
 {
     $this->setAction('edit');
     $crud = $this->getCrudInstance();
     /* @var $crud Ajde_Crud */
     if (!$crud) {
         Ajde::app()->getResponse()->redirectNotFound();
     }
     $editOptions = $crud->getOptions('edit');
     if ($crud->getOperation() === 'list') {
         if (!empty($editOptions) && isset($editOptions['action'])) {
             $crud->setAction($editOptions['action']);
         } else {
             if ($crud->getOption('edit.layout')) {
                 $crud->setAction('edit/layout');
             } else {
                 // Automatically switch to layouts now
                 //					$crud->setAction('edit');
                 // Insert layout and set action
                 $show = $crud->getOption('edit.show');
                 $editOptions = new Ajde_Crud_Options_Edit();
                 $editOptions->selectLayout()->addRow()->addColumn()->setSpan(12)->addBlock()->setShow($show)->finished();
                 $crud->setOption('edit', $editOptions->getArray());
                 $crud->setAction('edit/layout');
             }
         }
     }
     if (!$crud->hasId()) {
         $crud->setId(Ajde::app()->getRequest()->getParam('edit', false));
     }
     // get view for crud instance, load from request, but do not persist
     $crudView = $crud->getCollectionView();
     // current mainfilter from view
     $mainFilter = $crudView->getMainFilter();
     if ($mainFilter) {
         // get current filter
         $currentFilter = $crudView->getFilterForField($mainFilter);
         // update mainfilter for new records
         if (Ajde::app()->getRequest()->has('new')) {
             $crud->setOption('fields.' . $mainFilter . '.value', $currentFilter);
         }
         // hide mainfilter fields
         $crud->setOption('fields.' . $mainFilter . '.hidden', true);
     }
     // Set prefilled, disabled and hidden fields from request
     $disable = Ajde::app()->getRequest()->getParam('disable', []);
     $hide = Ajde::app()->getRequest()->getParam('hide', []);
     $prefill = Ajde::app()->getRequest()->getParam('prefill', []);
     foreach ($prefill as $field => $value) {
         $crud->setOption('fields.' . $field . '.value', $value);
     }
     foreach ($disable as $field => $value) {
         if ($value) {
             $crud->setOption('fields.' . $field . '.readonly', true);
         }
     }
     foreach ($hide as $field => $value) {
         if ($value) {
             $crud->setOption('fields.' . $field . '.hidden', true);
         }
     }
     // Read only entire view?
     if ($crud->getOption('edit.readonly', false)) {
         $crud->setReadOnlyForAllFields();
     }
     // Reload Crud fields in case they were already loaded
     $crud->loadFields();
     $session = new Ajde_Session('AC.Crud');
     $session->setModel($crud->getHash(), $crud);
     $view = $crud->getTemplate();
     $view->requireJsFirst('component/shortcut', 'html', MODULE_DIR . '_core/');
     $view->assign('crud', $crud);
     // Editor
     if (config('layout.textEditor')) {
         $editorClassName = 'Ajde_Crud_Editor_' . ucfirst(config('layout.textEditor'));
         $textEditor = new $editorClassName();
         /* @var $textEditor Ajde_Crud_Editor */
         $textEditor->getResources($view);
     }
     return $view->render();
 }