Example #1
0
 public static function getInstance($id = NULL)
 {
     if ($id) {
         $form = new AdminUserForm('edit');
         $user = User::model()->findByPk($id);
         if ($user) {
             $form->attributes = $user->attributes;
             $form->unsetAttributes(array('password'));
             $form->_userModel = $user;
         }
     } else {
         $form = new AdminUserForm('new');
     }
     return $form;
 }
Example #2
0
 public function actions()
 {
     $model = new User('search');
     $tripModel = new Trip('search');
     $messagesModel = new Messages('search');
     $complaintsModel = new UserComplaints('search');
     if ($userId = getParam('userId', FALSE)) {
         $tripModel->owner_id = $userId;
         $messagesModel->userId = $userId;
         // id of target user ( sender or receiver - no matter )
         $complaintsModel->on_id = $userId;
     }
     return array('admins' => array('class' => 'application.actions.backend.ListAction', 'model' => $model, 'listHeaders' => $model::getHeadersForListGrid(), 'primaryField' => 'id', 'view' => 'list', 'partialView' => '_list', 'widgetFormId' => 'table-form', 'pageTitle' => _('Адміністрація сайту'), 'listTitle' => _('Всі адміністратори'), 'widgetWrapperId' => 'pageHolder', 'groupingCheckboxName' => static::GROUP_IDS_VARIABLE, 'dataProviderGetterMethod' => 'backendSearch', 'actionCreate' => 'addAdmin', 'actionEdit' => 'editAdmin', 'actionDelete' => 'deleteAdmin', 'actionGroupDeleteUrl' => $this->createUrl('groupDeleteAdmins')), 'addAdmin' => array('class' => 'application.actions.backend.CreateAction', 'model' => AdminUserForm::getInstance(), 'view' => 'add-edit', 'formView' => '_form', 'pageTitle' => _('Новий адміністратор'), 'formId' => AdminUserForm::FORM_ID, 'formAction' => '', 'isMultilingual' => FALSE, 'redirectUrl' => $this->createUrl('admins')), 'editAdmin' => array('class' => 'application.actions.backend.UpdateAction', 'model' => AdminUserForm::getInstance(getParam('id')), 'view' => 'add-edit', 'formView' => '_form', 'pageTitle' => _('Редагування даних адміністратора'), 'formId' => AdminUserForm::FORM_ID, 'formAction' => '', 'isMultilingual' => FALSE), 'deleteAdmin' => array('class' => 'application.actions.backend.DeleteAction', 'model' => $model, 'deleteCriteria' => 'id = :itemId', 'deleteParams' => array(':itemId' => getParam('id')), 'nonAjaxRedirect' => $this->createUrl('index'), 'isMultilingual' => FALSE), 'groupDeleteAdmins' => array('class' => 'application.actions.backend.GroupDeleteAction', 'isMultilingual' => FALSE, 'redirectUrl' => $this->createUrl('admins'), 'groupingCheckboxName' => self::GROUP_IDS_VARIABLE, 'flashSuccessMessage' => _('Статтю видалено!'), 'flashWarningNoItems' => _('Нічого не вибрано!'), 'primaryId' => 'id', 'tableModelClass' => 'User'), 'users' => array('class' => 'application.actions.backend.ListAction', 'model' => $model, 'listHeaders' => $model::getUserHeadersForListGrid(), 'listFilters' => $model::getUsersFiltersForListGrid(), 'primaryField' => 'id', 'view' => 'list-users', 'partialView' => '_list-users', 'widgetFormId' => 'table-form', 'pageTitle' => _('Користувачі сайту'), 'listTitle' => _('Всі користувачі'), 'widgetWrapperId' => 'pageHolder', 'groupingCheckboxName' => static::GROUP_IDS_VARIABLE, 'actionEdit' => 'editUser', 'actionDelete' => 'deleteUser', 'actionGroupDeleteUrl' => $this->createUrl('groupDeleteUsers')), 'deleteUser' => array('class' => 'application.actions.backend.DeleteAction', 'model' => $model, 'deleteCriteria' => 'id = :itemId', 'deleteParams' => array(':itemId' => getParam('id')), 'nonAjaxRedirect' => $this->createUrl('users'), 'isMultilingual' => FALSE), 'groupDeleteUsers' => array('class' => 'application.actions.backend.GroupDeleteAction', 'isMultilingual' => FALSE, 'redirectUrl' => $this->createUrl('users'), 'groupingCheckboxName' => self::GROUP_IDS_VARIABLE, 'flashSuccessMessage' => _(' користувача видалено!'), 'flashWarningNoItems' => _('Нічого не вибрано!'), 'primaryId' => 'id', 'tableModelClass' => 'User'), 'trips' => array('class' => 'application.actions.backend.ListAction', 'model' => $tripModel, 'listHeaders' => $tripModel::getHeadersForListGrid(), 'listFilters' => $tripModel::getFiltersForListGrid(), 'primaryField' => 'id', 'view' => 'trips', 'partialView' => '_trips', 'widgetFormId' => 'table-form', 'pageTitle' => _('Оголошення користувача'), 'listTitle' => _('Всі оголошення'), 'widgetWrapperId' => 'pageHolder', 'groupingCheckboxName' => static::GROUP_IDS_VARIABLE, 'dataProviderGetterMethod' => 'getUserTrips', 'actionEdit' => '', 'actionDelete' => 'deleteTrip', 'actionGroupDeleteUrl' => $this->createUrl('groupDeleteTrips')), 'deleteTrip' => array('class' => 'application.actions.backend.DeleteAction', 'model' => $tripModel, 'deleteCriteria' => 'id = :itemId', 'deleteParams' => array(':itemId' => getParam('id')), 'nonAjaxRedirect' => $this->createUrl('trips', array('userId' => $userId)), 'isMultilingual' => FALSE), 'groupDeleteTrips' => array('class' => 'application.actions.backend.GroupDeleteAction', 'isMultilingual' => FALSE, 'redirectUrl' => $this->createUrl('trips', array('userId' => $userId)), 'groupingCheckboxName' => self::GROUP_IDS_VARIABLE, 'flashSuccessMessage' => _(' оголошення видалено!'), 'flashWarningNoItems' => _('Нічого не вибрано!'), 'primaryId' => 'id', 'tableModelClass' => 'Trip'), 'messages' => array('class' => 'application.actions.backend.ListAction', 'model' => $messagesModel, 'listHeaders' => $messagesModel::getHeadersForListGrid(), 'listFilters' => $messagesModel::getFiltersForListGrid(), 'primaryField' => 'id', 'view' => 'messages', 'partialView' => '_messages', 'widgetFormId' => 'table-form', 'pageTitle' => _('Повідомлення користувача'), 'listTitle' => _('Всі Повідомлення'), 'widgetWrapperId' => 'pageHolder', 'groupingCheckboxName' => static::GROUP_IDS_VARIABLE, 'dataProviderGetterMethod' => 'getUserMessages', 'actionEdit' => '', 'actionDelete' => '', 'actionGroupDeleteUrl' => $this->createUrl('users')), 'complaints' => array('class' => 'application.actions.backend.ListAction', 'model' => $complaintsModel, 'listHeaders' => $complaintsModel::getHeadersForListGrid(), 'listFilters' => $complaintsModel::getFiltersForListGrid(), 'primaryField' => 'id', 'view' => 'complaints', 'partialView' => '_complaints', 'widgetFormId' => 'table-form', 'pageTitle' => _('Скарги на користувача'), 'listTitle' => _('Всі сарги'), 'widgetWrapperId' => 'pageHolder', 'groupingCheckboxName' => static::GROUP_IDS_VARIABLE, 'dataProviderGetterMethod' => 'retrieveComplaints', 'actionEdit' => '', 'actionDelete' => 'deleteComplaint', 'actionGroupDeleteUrl' => $this->createUrl('groupDeleteComplaints')), 'deleteComplaint' => array('class' => 'application.actions.backend.DeleteAction', 'model' => $complaintsModel, 'deleteCriteria' => 'id = :itemId', 'deleteParams' => array(':itemId' => getParam('id')), 'nonAjaxRedirect' => $this->createUrl('complaints', array('userId' => $userId)), 'isMultilingual' => FALSE), 'groupDeleteComplaints' => array('class' => 'application.actions.backend.GroupDeleteAction', 'isMultilingual' => FALSE, 'redirectUrl' => $this->createUrl('complaints', array('userId' => $userId)), 'groupingCheckboxName' => self::GROUP_IDS_VARIABLE, 'flashSuccessMessage' => _('Скарги видалені!'), 'flashWarningNoItems' => _('Нічого не вибрано!'), 'primaryId' => 'id', 'tableModelClass' => 'UserComplaints'));
 }