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();
 }
Ejemplo n.º 3
0
 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();
 }
Ejemplo n.º 4
0
 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();
 }
Ejemplo n.º 5
0
 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();
 }
Ejemplo n.º 7
0
 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();
 }
Ejemplo n.º 8
0
 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();
 }
Ejemplo n.º 10
0
 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();
     }
 }
Ejemplo n.º 11
0
 protected function logAuditEventsListForCreatedAndModifed($newModel)
 {
     if ($newModel) {
         AuditEvent::logAuditEvent('ZurmoModule', ZurmoModule::AUDIT_EVENT_ITEM_CREATED, strval($this), $this);
     } else {
         AuditUtil::logAuditEventsListForChangedAttributeValues($this);
     }
 }
Ejemplo n.º 12
0
 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));
 }
Ejemplo n.º 13
0
 /**
  * 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();
 }
Ejemplo n.º 14
0
 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);
 }
Ejemplo n.º 16
0
 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();
 }
Ejemplo n.º 17
0
 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();
 }
Ejemplo n.º 18
0
 protected function beforeLogout()
 {
     AuditEvent::logAuditEvent('UsersModule', UsersModule::AUDIT_EVENT_USER_LOGGED_OUT);
     return true;
 }
Ejemplo n.º 19
0
 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();
 }
Ejemplo n.º 20
0
 /**
  * @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);
             }
         }
     }
 }
Ejemplo n.º 21
0
 /**
  * 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);
 }
Ejemplo n.º 26
0
 public function delete()
 {
     if ($this->isAudited) {
         AuditEvent::logAuditEvent('ZurmoModule', ZurmoModule::AUDIT_EVENT_ITEM_DELETED, strval($this), $this);
     }
     return parent::delete();
 }