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 actionAuditEventsModalList($id)
 {
     $model = $this->resolveModelForAuditEventsModalList($id);
     ControllerSecurityUtil::resolveAccessCanCurrentUserReadModel($model);
     $searchAttributeData = AuditEventsListControllerUtil::makeModalSearchAttributeDataByAuditedModel($model);
     $dataProvider = AuditEventsListControllerUtil::makeDataProviderBySearchAttributeData($searchAttributeData);
     Yii::app()->getClientScript()->setToAjaxMode();
     echo AuditEventsListControllerUtil::renderList($this, $dataProvider);
 }
 public function testMakeDataProviderBySearchAttributeData()
 {
     $account = new Account();
     $user = UserTestHelper::createBasicUser('Andy');
     $account->name = 'aNewDawn Inc 2';
     $account->owner = $user;
     $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);
     $accountName = unserialize($firstAuditEvent->serializedData);
     $this->assertEquals($account->name, $accountName);
 }