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(); }
public function login() { if (empty($this->_data)) { // TODO: throw new Ajde_Exception('Invalid user object'); } $session = new Ajde_Session('user'); $session->setModel('model', $this); }
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(); }