public function actionDetails($id) { $contact = static::getModelAndCatchNotFoundAndDisplayError('Contact', intval($id)); ControllerSecurityUtil::resolveAccessCanCurrentUserReadModel($contact); if (!LeadsUtil::isStateALead($contact->state)) { $urlParams = array('/contacts/' . $this->getId() . '/details', 'id' => $contact->id); $this->redirect($urlParams); } else { AuditEvent::logAuditEvent('ZurmoModule', ZurmoModule::AUDIT_EVENT_ITEM_VIEWED, array(strval($contact), 'LeadsModule'), $contact); $getData = GetUtil::getData(); $isKanbanBoardInRequest = ArrayUtil::getArrayValue($getData, 'kanbanBoard'); if ($isKanbanBoardInRequest == 0 || $isKanbanBoardInRequest == null || Yii::app()->userInterface->isMobile() === true) { $breadCrumbView = StickySearchUtil::resolveBreadCrumbViewForDetailsControllerAction($this, 'LeadsSearchView', $contact); $detailsAndRelationsView = $this->makeDetailsAndRelationsView($contact, 'LeadsModule', 'LeadDetailsAndRelationsView', Yii::app()->request->getRequestUri(), $breadCrumbView); $view = new LeadsPageView(ZurmoDefaultViewUtil::makeStandardViewForCurrentUser($this, $detailsAndRelationsView)); } else { $kanbanItem = new KanbanItem(); $kanbanBoard = new TaskKanbanBoard($kanbanItem, 'type', $contact, get_class($contact)); $kanbanBoard->setIsActive(); $params['relationModel'] = $contact; $params['relationModuleId'] = $this->getModule()->getId(); $params['redirectUrl'] = null; $listView = new TasksForLeadKanbanView($this->getId(), 'tasks', 'Task', null, $params, null, array(), $kanbanBoard); $view = new LeadsPageView(ZurmoDefaultViewUtil::makeStandardViewForCurrentUser($this, $listView)); } echo $view->render(); } }
/** * @param $id * @param null $redirectUrl */ public function actionDetails($id, $redirectUrl = null) { $modelClassName = $this->getModule()->getPrimaryModelName(); $activity = static::getModelAndCatchNotFoundAndDisplayError($modelClassName, intval($id)); ControllerSecurityUtil::resolveAccessCanCurrentUserReadModel($activity); AuditEvent::logAuditEvent('ZurmoModule', ZurmoModule::AUDIT_EVENT_ITEM_VIEWED, array(strval($activity), get_class($this->getModule())), $activity); $pageViewClassName = $this->getPageViewClassName(); $view = new $pageViewClassName(ZurmoDefaultViewUtil::makeStandardViewForCurrentUser($this, $this->makeEditAndDetailsView($activity, 'Details'))); echo $view->render(); }
public function actionDetails($id) { $product = static::getModelAndCatchNotFoundAndDisplayError('Product', intval($id)); ControllerSecurityUtil::resolveAccessCanCurrentUserReadModel($product); $breadCrumbLinks = array(StringUtil::getChoppedStringContent(strval($product), 25)); AuditEvent::logAuditEvent('ZurmoModule', ZurmoModule::AUDIT_EVENT_ITEM_VIEWED, array(strval($product), 'ProductsModule'), $product); $detailsView = new ProductEditAndDetailsView('Details', $this->getId(), $this->getModule()->getId(), $product); $view = new ProductsPageView(ProductDefaultViewUtil::makeViewWithBreadcrumbsForCurrentUser($this, $detailsView, $breadCrumbLinks, 'ProductBreadCrumbView')); echo $view->render(); }
public function actionDetails($id) { $account = static::getModelAndCatchNotFoundAndDisplayError('Account', intval($id)); ControllerSecurityUtil::resolveAccessCanCurrentUserReadModel($account); AuditEvent::logAuditEvent('ZurmoModule', ZurmoModule::AUDIT_EVENT_ITEM_VIEWED, array(strval($account), 'AccountsModule'), $account); $breadCrumbView = StickySearchUtil::resolveBreadCrumbViewForDetailsControllerAction($this, 'AccountsSearchView', $account); $detailsAndRelationsView = $this->makeDetailsAndRelationsView($account, 'AccountsModule', 'AccountDetailsAndRelationsView', Yii::app()->request->getRequestUri(), $breadCrumbView); $view = new AccountsPageView(ZurmoDefaultViewUtil::makeStandardViewForCurrentUser($this, $detailsAndRelationsView)); echo $view->render(); }
public function actionDetails($id) { $animal = static::getModelAndCatchNotFoundAndDisplayError('Animal', intval($id)); $breadCrumbView = StickySearchUtil::resolveBreadCrumbViewForDetailsControllerAction($this, 'AnimalsSearchView', $animal); ControllerSecurityUtil::resolveAccessCanCurrentUserReadModel($animal); AuditEvent::logAuditEvent('ZurmoModule', ZurmoModule::AUDIT_EVENT_ITEM_VIEWED, array(strval($animal), 'AnimalsModule'), $animal); $titleBarAndEditView = $this->makeEditAndDetailsView($animal, 'Details'); $view = new AnimalsPageView(ZurmoDefaultViewUtil::makeStandardViewForCurrentUser($this, $titleBarAndEditView)); echo $view->render(); }
public function actionDetails($id) { $savedReport = static::getModelAndCatchNotFoundAndDisplayError('SavedReport', intval($id)); ControllerSecurityUtil::resolveCanCurrentUserAccessModule($savedReport->moduleClassName); ControllerSecurityUtil::resolveAccessCanCurrentUserReadModel($savedReport); AuditEvent::logAuditEvent('ZurmoModule', ZurmoModule::AUDIT_EVENT_ITEM_VIEWED, array(strval($savedReport), 'ReportsModule'), $savedReport); $breadCrumbLinks = array(strval($savedReport)); $breadCrumbView = new ReportBreadCrumbView($this->getId(), $this->getModule()->getId(), $breadCrumbLinks); $detailsAndRelationsView = $this->makeReportDetailsAndRelationsView($savedReport, Yii::app()->request->getRequestUri(), $breadCrumbView); $view = new ReportsPageView(ZurmoDefaultViewUtil::makeStandardViewForCurrentUser($this, $detailsAndRelationsView)); echo $view->render(); }
public function actionDetails($id) { $conversation = static::getModelAndCatchNotFoundAndDisplayError('Conversation', intval($id)); ControllerSecurityUtil::resolveAccessCanCurrentUserReadModel($conversation); AuditEvent::logAuditEvent('ZurmoModule', ZurmoModule::AUDIT_EVENT_ITEM_VIEWED, array(strval($conversation), 'ConversationsModule'), $conversation); ConversationsUtil::markUserHasReadLatest($conversation, Yii::app()->user->userModel); $detailsView = new ConversationDetailsView($this->getId(), $this->getModule()->getId(), $conversation); $conversationsMashableInboxUrl = Yii::app()->createUrl('mashableInbox/default/list', array('modelClassName' => 'Conversation')); $breadcrumbLinks = array(Zurmo::t('ConversationsModule', 'Conversations') => $conversationsMashableInboxUrl, StringUtil::getChoppedStringContent(strval($conversation), 25)); $view = new ConversationsPageView(ZurmoDefaultViewUtil::makeViewWithBreadcrumbsForCurrentUser($this, $detailsView, $breadcrumbLinks, 'ConversationBreadCrumbView')); echo $view->render(); }
public function actionDetails($id) { $contact = static::getModelAndCatchNotFoundAndDisplayError('Contact', intval($id)); ControllerSecurityUtil::resolveAccessCanCurrentUserReadModel($contact); AuditEvent::logAuditEvent('ZurmoModule', ZurmoModule::AUDIT_EVENT_ITEM_VIEWED, array(strval($contact), 'ContactsModule'), $contact); if (KanbanUtil::isKanbanRequest() === false) { $breadCrumbView = StickySearchUtil::resolveBreadCrumbViewForDetailsControllerAction($this, 'ContactsSearchView', $contact); $detailsAndRelationsView = $this->makeDetailsAndRelationsView($contact, 'ContactsModule', 'ContactDetailsAndRelationsView', Yii::app()->request->getRequestUri(), $breadCrumbView); $view = new ContactsPageView(ZurmoDefaultViewUtil::makeStandardViewForCurrentUser($this, $detailsAndRelationsView)); } else { $view = TasksUtil::resolveTaskKanbanViewForRelation($contact, $this->getModule()->getId(), $this, 'TasksForContactKanbanView', 'ContactsPageView'); } echo $view->render(); }
public function actionDetails($id) { $savedWorkflow = static::getModelAndCatchNotFoundAndDisplayError('SavedWorkflow', intval($id)); ControllerSecurityUtil::resolveCanCurrentUserAccessModule($savedWorkflow->moduleClassName); ControllerSecurityUtil::resolveAccessCanCurrentUserReadModel($savedWorkflow); AuditEvent::logAuditEvent('ZurmoModule', ZurmoModule::AUDIT_EVENT_ITEM_VIEWED, array(strval($savedWorkflow), 'WorkflowsModule'), $savedWorkflow); $breadCrumbLinks = array(strval($savedWorkflow)); $workflow = SavedWorkflowToWorkflowAdapter::makeWorkflowBySavedWorkflow($savedWorkflow); $workflowToWizardFormAdapter = new WorkflowToWizardFormAdapter($workflow); $form = $workflowToWizardFormAdapter->makeFormByType(); $detailsView = new WorkflowDetailsView($this->getId(), $this->getModule()->getId(), $form); $view = new WorkflowsPageView(ZurmoDefaultAdminViewUtil::makeViewWithBreadcrumbsForCurrentUser($this, $detailsView, $breadCrumbLinks, 'WorkflowBreadCrumbView')); echo $view->render(); }
public function actionDetails($id) { $contact = static::getModelAndCatchNotFoundAndDisplayError('Contact', intval($id)); ControllerSecurityUtil::resolveAccessCanCurrentUserReadModel($contact); if (!LeadsUtil::isStateALead($contact->state)) { $urlParams = array('/contacts/' . $this->getId() . '/details', 'id' => $contact->id); $this->redirect($urlParams); } else { AuditEvent::logAuditEvent('ZurmoModule', ZurmoModule::AUDIT_EVENT_ITEM_VIEWED, array(strval($contact), 'LeadsModule'), $contact); $breadCrumbView = StickySearchUtil::resolveBreadCrumbViewForDetailsControllerAction($this, 'LeadsSearchView', $contact); $detailsAndRelationsView = $this->makeDetailsAndRelationsView($contact, 'LeadsModule', 'LeadDetailsAndRelationsView', Yii::app()->request->getRequestUri(), $breadCrumbView); $view = new LeadsPageView(ZurmoDefaultViewUtil::makeStandardViewForCurrentUser($this, $detailsAndRelationsView)); echo $view->render(); } }
protected function logAuditEventsListForCreatedAndModifed($newModel) { if ($newModel) { AuditEvent::logAuditEvent('ZurmoModule', ZurmoModule::AUDIT_EVENT_ITEM_CREATED, strval($this), $this); } else { AuditUtil::logAuditEventsListForChangedAttributeValues($this); } }
public function testGetTailDistinctEventsByEventName() { Yii::app()->user->userModel = User::getByUsername('super'); $account1 = new Account(); $account1->name = 'Dooble1'; $this->assertTrue($account1->save()); $account2 = new Account(); $account2->name = 'Dooble2'; $this->assertTrue($account2->save()); $account3 = new Account(); $account3->name = 'Dooble3'; $account3->owner = User::getByUsername('jimmy'); $this->assertTrue($account3->save()); $auditEvents = AuditEvent::getTailDistinctEventsByEventName('Item Viewed', Yii::app()->user->userModel, 5); $this->assertEquals(0, count($auditEvents)); //Now create some audit entries for the Item Viewed event. AuditEvent::logAuditEvent('ZurmoModule', ZurmoModule::AUDIT_EVENT_ITEM_VIEWED, array(strval($account1), 'AccountsModule'), $account1); AuditEvent::logAuditEvent('ZurmoModule', ZurmoModule::AUDIT_EVENT_ITEM_VIEWED, array(strval($account2), 'AccountsModule'), $account2); AuditEvent::logAuditEvent('ZurmoModule', ZurmoModule::AUDIT_EVENT_ITEM_VIEWED, array(strval($account1), 'AccountsModule'), $account1); //Switch users to add an audit event. Yii::app()->user->userModel = User::getByUsername('jimmy'); AuditEvent::logAuditEvent('ZurmoModule', ZurmoModule::AUDIT_EVENT_ITEM_VIEWED, array(strval($account3), 'AccountsModule'), $account3); Yii::app()->user->userModel = User::getByUsername('super'); $auditEvents = AuditEvent::getTailDistinctEventsByEventName('Item Viewed', Yii::app()->user->userModel, 5); $this->assertEquals(2, count($auditEvents)); }
/** * Details view for project * @param int $id */ public function actionDetails($id) { $project = static::getModelAndCatchNotFoundAndDisplayError('Project', intval($id)); ControllerSecurityUtil::resolveAccessCanCurrentUserReadModel($project); AuditEvent::logAuditEvent('ZurmoModule', ZurmoModule::AUDIT_EVENT_ITEM_VIEWED, array(strval($project), 'ProjectsModule'), $project); $view = TasksUtil::resolveTaskKanbanViewForRelation($project, $this->getModule()->getId(), $this, 'TasksForProjectKanbanView', 'ProjectsPageView'); echo $view->render(); }
protected function logAuditEventsListForCreatedAndModifed($newModel) { if ($newModel) { // When the first user is created there can be no // current user. Log the first user as creating themselves. if (Yii::app()->user->userModel == null || !Yii::app()->user->userModel->id > 0) { Yii::app()->user->userModel = $this; } AuditEvent::logAuditEvent('ZurmoModule', ZurmoModule::AUDIT_EVENT_ITEM_CREATED, strval($this), $this); } else { AuditUtil::logAuditEventsListForChangedAttributeValues($this); } }
public function testDeleteModelFromRecentlyViewed() { Yii::app()->user->userModel = User::getByUsername('super'); ZurmoConfigurationUtil::setForCurrentUserByModuleName('ZurmoModule', 'recentlyViewed', null); $account1 = new Account(); $account1->name = 'Dooble1'; $this->assertTrue($account1->save()); $account2 = new Account(); $account2->name = 'Dooble2'; $this->assertTrue($account2->save()); $account3 = new Account(); $account3->name = 'Dooble3'; $account3->owner = User::getByUsername('jimmy'); $this->assertTrue($account3->save()); //Now create some audit entries for the Item Viewed event. AuditEvent::logAuditEvent('ZurmoModule', ZurmoModule::AUDIT_EVENT_ITEM_VIEWED, array(strval($account1), 'AccountsModule'), $account1); AuditEvent::logAuditEvent('ZurmoModule', ZurmoModule::AUDIT_EVENT_ITEM_VIEWED, array(strval($account2), 'AccountsModule'), $account2); AuditEvent::logAuditEvent('ZurmoModule', ZurmoModule::AUDIT_EVENT_ITEM_VIEWED, array(strval($account1), 'AccountsModule'), $account3); $content = AuditEventsRecentlyViewedUtil::getRecentlyViewedAjaxContentByUser(Yii::app()->user->userModel, 5); $this->assertContains('Dooble1', $content); $this->assertContains('Dooble2', $content); $this->assertContains('Dooble3', $content); AuditEvent::logAuditEvent('ZurmoModule', ZurmoModule::AUDIT_EVENT_ITEM_DELETED, strval($account1), $account1); $content = AuditEventsRecentlyViewedUtil::getRecentlyViewedAjaxContentByUser(Yii::app()->user->userModel, 5); $this->assertNotContains('Dooble1', $content); $this->assertContains('Dooble2', $content); $this->assertContains('Dooble3', $content); }
public function actionDetails($id, $renderJson = false, $includeFilesInJson = false) { $emailTemplate = static::getModelAndCatchNotFoundAndDisplayError('EmailTemplate', intval($id)); ControllerSecurityUtil::resolveAccessCanCurrentUserReadModel($emailTemplate); if ($renderJson) { header('Content-type: application/json'); echo $this->resolveEmailTemplateAsJson($emailTemplate, $includeFilesInJson); Yii::app()->end(0, false); } AuditEvent::logAuditEvent('ZurmoModule', ZurmoModule::AUDIT_EVENT_ITEM_VIEWED, array(strval($emailTemplate), 'EmailTemplatesModule'), $emailTemplate); $detailsView = new EmailTemplateEditAndDetailsView('Details', $this->getId(), $this->getModule()->getId(), $emailTemplate); if ($emailTemplate->type == EmailTemplate::TYPE_WORKFLOW) { $breadcrumbLinks = static::getDetailsAndEditForWorkflowBreadcrumbLinks(); $breadcrumbLinks[] = StringUtil::getChoppedStringContent(strval($emailTemplate), 25); $view = new EmailTemplatesPageView(WorkflowDefaultAdminViewUtil::makeViewWithBreadcrumbsForCurrentUser($this, $detailsView, $breadcrumbLinks, 'WorkflowBreadCrumbView')); } elseif ($emailTemplate->type == EmailTemplate::TYPE_CONTACT) { $breadcrumbLinks = static::getDetailsAndEditForMarketingBreadcrumbLinks(); $breadcrumbLinks[] = StringUtil::getChoppedStringContent(strval($emailTemplate), 25); $view = new EmailTemplatesPageView(MarketingDefaultViewUtil::makeViewWithBreadcrumbsForCurrentUser($this, $detailsView, $breadcrumbLinks, 'MarketingBreadCrumbView')); } else { throw new NotSupportedException(); } echo $view->render(); }
public function actionDetails($id) { $user = User::getById(intval($id)); UserAccessUtil::resolveAccessingASystemUser($user); $title = Zurmo::t('UsersModule', 'Profile'); $breadCrumbLinks = array(strval($user) => array('default/details', 'id' => $id), $title); AuditEvent::logAuditEvent('ZurmoModule', ZurmoModule::AUDIT_EVENT_ITEM_VIEWED, array(strval($user), 'UsersModule'), $user); $params = array('controllerId' => $this->getId(), 'relationModuleId' => $this->getModule()->getId(), 'relationModel' => $user); $detailsAndRelationsView = new UserDetailsAndRelationsView($this->getId(), $this->getModule()->getId(), $params); $view = new UsersPageView($this->resolveZurmoDefaultOrAdminView($detailsAndRelationsView, $breadCrumbLinks, 'UserBreadCrumbView')); echo $view->render(); }
protected function beforeLogout() { AuditEvent::logAuditEvent('UsersModule', UsersModule::AUDIT_EVENT_USER_LOGGED_OUT); return true; }
public function actionDetails($id) { $emailTemplate = static::getModelAndCatchNotFoundAndDisplayError('EmailTemplate', intval($id)); ControllerSecurityUtil::resolveAccessCanCurrentUserReadModel($emailTemplate); AuditEvent::logAuditEvent('ZurmoModule', ZurmoModule::AUDIT_EVENT_ITEM_VIEWED, array(strval($emailTemplate), 'EmailTemplatesModule'), $emailTemplate); $detailsView = new EmailTemplateDetailsView($this->getId(), $this->getModule()->getId(), $emailTemplate, strval($emailTemplate)); $viewUtil = static::getViewUtilByType($emailTemplate->type); $breadCrumbView = static::getBreadCrumbViewByType($emailTemplate->type); $breadCrumbLinks = static::getBreadCrumbLinksByType($emailTemplate->type); $breadCrumbLinks[] = StringUtil::getChoppedStringContent(strval($emailTemplate), 25); $view = new EmailTemplatesPageView($viewUtil::makeViewWithBreadcrumbsForCurrentUser($this, $detailsView, $breadCrumbLinks, $breadCrumbView)); echo $view->render(); }
/** * @param Item $item * @param array $attributeNames * @param RedBeanModel $ownedModel */ public static function logAuditEventsListForChangedAttributeValues(Item $item, array $attributeNames = array(), RedBeanModel $ownedModel = null) { assert('$item->id > 0'); $attributeModel = $ownedModel === null ? $item : $ownedModel; $noAuditAttributeNames = self::getNoAuditAttributeNames($attributeModel); foreach ($attributeModel->originalAttributeValues as $attributeName => $oldValue) { if (!in_array($attributeName, $noAuditAttributeNames)) { $processAuditEvent = true; if (!$attributeModel::isRelation($attributeName)) { $newValue = $attributeModel->{$attributeName}; } elseif ($attributeModel->{$attributeName} instanceof RedBeanOneToManyRelatedModels) { $newValue = $attributeModel->{$attributeName}->getStringifiedData(); assert('$oldValue != $newValue'); } else { assert('$attributeModel->$attributeName instanceof RedBeanModel'); $relatedModel = $attributeModel->{$attributeName}; if ($relatedModel->id < 0 && $oldValue[1] < 0) { $processAuditEvent = false; } else { $newValue = array(get_class($relatedModel), $relatedModel->id, strval($relatedModel)); assert('$oldValue != $newValue'); } } if ($processAuditEvent) { $tempAttributeNames = $attributeNames; $tempAttributeNames[] = $attributeName; $data = array(strval($item), $tempAttributeNames, $oldValue, $newValue); AuditEvent::logAuditEvent('ZurmoModule', ZurmoModule::AUDIT_EVENT_ITEM_MODIFIED, $data, $item); } } } foreach ($attributeModel->attributeNames() as $attributeName) { if (!in_array($attributeName, $noAuditAttributeNames) && $attributeModel::isOwnedRelation($attributeName)) { try { $ownedModel = $attributeModel->{$attributeName}; } catch (AccessDeniedSecurityException $e) { continue; // If someone doesn't have access they // they can't have modified the attributes. } catch (NotSupportedException $e) { continue; // Certain attributes can't be modified, like // rights on the super administrators group // so we can safely ignore them. } if ($ownedModel instanceof OwnedModel || $ownedModel instanceof OwnedCustomField || $ownedModel instanceof OwnedMultipleValuesCustomField) { $ownedModels = array($ownedModel); } else { assert('$ownedModel instanceof RedBeanModels'); $ownedModels = array(); } foreach ($ownedModels as $ownedModel) { $tempAttributeNames = $attributeNames; $tempAttributeNames[] = $attributeName; self::logAuditEventsListForChangedAttributeValues($item, $tempAttributeNames, $ownedModel); } } } }
/** * to change isActive attribute properly during save */ protected function setIsActive() { if (Right::DENY == $this->getExplicitActualRight('UsersModule', UsersModule::RIGHT_LOGIN_VIA_WEB) || Right::DENY == $this->getExplicitActualRight('UsersModule', UsersModule::RIGHT_LOGIN_VIA_MOBILE) || Right::DENY == $this->getExplicitActualRight('UsersModule', UsersModule::RIGHT_LOGIN_VIA_WEB_API)) { $isActive = false; } else { $isActive = true; } if ($this->isActive != $isActive) { $data = array(strval($this), array('isActive'), BooleanUtil::boolToString((bool) $this->isActive), BooleanUtil::boolToString((bool) $isActive)); AuditEvent::logAuditEvent('ZurmoModule', ZurmoModule::AUDIT_EVENT_ITEM_MODIFIED, $data, $this); $this->unrestrictedSet('isActive', $isActive); $this->save(); } }
public function testMakeDataProviderBySearchAttributeData() { $account = new Account(); $user = UserTestHelper::createBasicUser('Andy'); $account->name = 'aNewDawn Inc 2'; $account->owner = $user; $this->assertTrue($account->save()); $account->name = 'aNewDawn Inc 3'; $this->assertTrue($account->save()); $searchAttributeData = AuditEventsListControllerUtil::makeModalSearchAttributeDataByAuditedModel($account); $dataProvider = AuditEventsListControllerUtil::makeDataProviderBySearchAttributeData($searchAttributeData); $this->assertTrue($dataProvider instanceof RedBeanModelDataProvider); $data = $dataProvider->getData(); $this->assertEquals(1, count($data)); $firstAuditEvent = current($data); $accountInfo = unserialize($firstAuditEvent->serializedData); $this->assertEquals(strval($account), $accountInfo[0]); $this->assertEquals('name', $accountInfo[1][0]); $this->assertEquals('aNewDawn Inc 2', $accountInfo[2]); $this->assertEquals($account->name, $accountInfo[3]); //For login/logout events $searchAttributeData = AuditEventsListControllerUtil::makeModalSearchAttributeDataByAuditedModel($user); $dataProvider = AuditEventsListControllerUtil::makeDataProviderBySearchAttributeData($searchAttributeData); $this->assertTrue($dataProvider instanceof RedBeanModelDataProvider); $data = $dataProvider->getData(); $count = count($data); AuditEvent::logAuditEvent('UsersModule', UsersModule::AUDIT_EVENT_USER_PASSWORD_CHANGED, $user->username, $user); $searchAttributeData = AuditEventsListControllerUtil::makeModalSearchAttributeDataByAuditedModel($user); $dataProvider = AuditEventsListControllerUtil::makeDataProviderBySearchAttributeData($searchAttributeData); $this->assertTrue($dataProvider instanceof RedBeanModelDataProvider); $data = $dataProvider->getData(); $this->assertEquals($count + 1, count($data)); }
public function testAuditEventsModalList() { $super = $this->logoutCurrentUserLoginNewUserAndGetByUsername('super'); AuditEvent::logAuditEvent('UsersModule', UsersModule::AUDIT_EVENT_USER_LOGGED_IN); AuditEvent::logAuditEvent('UsersModule', UsersModule::AUDIT_EVENT_USER_LOGGED_OUT); $this->setGetArray(array('id' => $super->id)); $this->resetPostArray(); $content = $this->runControllerWithNoExceptionsAndGetContent('users/default/auditEventsModalList'); $this->assertContains('User Logged In', $content); $this->assertContains('User Logged Out', $content); }
/** * Loads modal view from related view * @param string $id */ public function actionModalDetails($id) { $task = Task::getById(intval($id)); ControllerSecurityUtil::resolveAccessCanCurrentUserReadModel($task); AuditEvent::logAuditEvent('ZurmoModule', ZurmoModule::AUDIT_EVENT_ITEM_VIEWED, array(strval($task), 'TasksModule'), $task); $this->attemptToValidateAndSaveFromModalDetails($task); $this->processModalDetails($task); }
public function testAuditEventsModalList() { $super = $this->logoutCurrentUserLoginNewUserAndGetByUsername('super'); AuditEvent::logAuditEvent('UsersModule', UsersModule::AUDIT_EVENT_USER_PASSWORD_CHANGED, $super->username, $super); $this->setGetArray(array('id' => $super->id)); $this->resetPostArray(); $content = $this->runControllerWithNoExceptionsAndGetContent('users/default/auditEventsModalList'); $this->assertContains('User Password Changed', $content); }
public function delete() { if ($this->isAudited) { AuditEvent::logAuditEvent('ZurmoModule', ZurmoModule::AUDIT_EVENT_ITEM_DELETED, strval($this), $this); } return parent::delete(); }