コード例 #1
0
 public function setUp()
 {
     parent::setUp();
     Yii::app()->user->userModel = User::getByUsername('super');
     DisplayAttributeForReportForm::resetCount();
     DrillDownDisplayAttributeForReportForm::resetCount();
 }
 public function setup()
 {
     parent::setUp();
     Yii::app()->user->userModel = User::getByUsername('super');
     Yii::app()->user->userModel->timeZone = 'America/Chicago';
     DisplayAttributeForReportForm::resetCount();
 }
 public function setup()
 {
     parent::setUp();
     Yii::app()->user->userModel = User::getByUsername('super');
     DisplayAttributeForReportForm::resetCount();
     ModelRelationsAndAttributesToSummableReportAdapter::forgetAll();
     ModelRelationsAndAttributesToRowsAndColumnsReportAdapter::forgetAll();
     ModelRelationsAndAttributesToMatrixReportAdapter::forgetAll();
 }
コード例 #4
0
 public function setup()
 {
     parent::setUp();
     Yii::app()->user->userModel = User::getByUsername('super');
     DisplayAttributeForReportForm::resetCount();
     $freeze = false;
     if (RedBeanDatabase::isFrozen()) {
         RedBeanDatabase::unfreeze();
         $freeze = true;
     }
     $this->freeze = $freeze;
 }
 public function setup()
 {
     parent::setUp();
     Yii::app()->user->userModel = User::getByUsername('super');
     DisplayAttributeForReportForm::resetCount();
     ModelRelationsAndAttributesToSummableReportAdapter::forgetAll();
     ModelRelationsAndAttributesToRowsAndColumnsReportAdapter::forgetAll();
     ModelRelationsAndAttributesToMatrixReportAdapter::forgetAll();
     $freeze = false;
     if (RedBeanDatabase::isFrozen()) {
         RedBeanDatabase::unfreeze();
         $freeze = true;
     }
     $this->freeze = $freeze;
 }
 public function testDynamicallyDerivedAttributeOnSelf()
 {
     $q = DatabaseCompatibilityUtil::getQuote();
     //2 __User attributes on the same model
     $joinTablesAdapter = new RedBeanModelJoinTablesQueryAdapter('ReportModelTestItem9');
     $selectQueryAdapter = new RedBeanModelSelectQueryAdapter();
     $builder = new DisplayAttributesReportQueryBuilder($joinTablesAdapter, $selectQueryAdapter);
     $displayAttribute = new DisplayAttributeForReportForm('ReportsTestModule', 'ReportModelTestItem9', Report::TYPE_ROWS_AND_COLUMNS);
     $displayAttribute->attributeIndexOrDerivedType = 'createdByUser__User';
     $displayAttribute2 = new DisplayAttributeForReportForm('ReportsTestModule', 'ReportModelTestItem9', Report::TYPE_ROWS_AND_COLUMNS);
     $displayAttribute2->attributeIndexOrDerivedType = 'modifiedByUser__User';
     $content = $builder->makeQueryContent(array($displayAttribute, $displayAttribute2));
     $compareContent = "select {$q}reportmodeltestitem9{$q}.{$q}id{$q} reportmodeltestitem9id ";
     $this->assertEquals($compareContent, $content);
     $this->assertEquals(0, $joinTablesAdapter->getFromTableJoinCount());
     $this->assertEquals(0, $joinTablesAdapter->getLeftTableJoinCount());
     $idTableAliasesAndModelClassNames = $selectQueryAdapter->getIdTableAliasesAndModelClassNames();
     $this->assertCount(1, $idTableAliasesAndModelClassNames);
     $this->assertEquals('ReportModelTestItem9', $idTableAliasesAndModelClassNames['reportmodeltestitem9']);
     //2 __User attributes on the same model, one is owned, so not originating both from Item
     DisplayAttributeForReportForm::resetCount();
     $joinTablesAdapter = new RedBeanModelJoinTablesQueryAdapter('ReportModelTestItem9');
     $selectQueryAdapter = new RedBeanModelSelectQueryAdapter();
     $builder = new DisplayAttributesReportQueryBuilder($joinTablesAdapter, $selectQueryAdapter);
     $displayAttribute = new DisplayAttributeForReportForm('ReportsTestModule', 'ReportModelTestItem9', Report::TYPE_ROWS_AND_COLUMNS);
     $displayAttribute->attributeIndexOrDerivedType = 'createdByUser__User';
     $displayAttribute2 = new DisplayAttributeForReportForm('ReportsTestModule', 'ReportModelTestItem9', Report::TYPE_ROWS_AND_COLUMNS);
     $displayAttribute2->attributeIndexOrDerivedType = 'owner__User';
     $content = $builder->makeQueryContent(array($displayAttribute, $displayAttribute2));
     $compareContent = "select {$q}reportmodeltestitem9{$q}.{$q}id{$q} reportmodeltestitem9id ";
     $this->assertEquals($compareContent, $content);
     $this->assertEquals(0, $joinTablesAdapter->getFromTableJoinCount());
     $this->assertEquals(0, $joinTablesAdapter->getLeftTableJoinCount());
     $idTableAliasesAndModelClassNames = $selectQueryAdapter->getIdTableAliasesAndModelClassNames();
     $this->assertCount(1, $idTableAliasesAndModelClassNames);
     $this->assertEquals('ReportModelTestItem9', $idTableAliasesAndModelClassNames['reportmodeltestitem9']);
     $idTableAliasesAndModelClassNames = $selectQueryAdapter->getIdTableAliasesAndModelClassNames();
     $this->assertCount(1, $idTableAliasesAndModelClassNames);
     $this->assertEquals('ReportModelTestItem9', $idTableAliasesAndModelClassNames['reportmodeltestitem9']);
 }
コード例 #7
0
 /**
  * @param array $data
  * @param Report $report
  */
 protected static function resolveDisplayAttributes($data, Report $report)
 {
     $report->removeAllDisplayAttributes();
     DisplayAttributeForReportForm::resetCount();
     $moduleClassName = $report->getModuleClassName();
     if (count($displayAttributesData = ArrayUtil::getArrayValue($data, ComponentForReportForm::TYPE_DISPLAY_ATTRIBUTES)) > 0) {
         foreach ($displayAttributesData as $key => $displayAttributeData) {
             $displayAttribute = new DisplayAttributeForReportForm($moduleClassName, $moduleClassName::getPrimaryModelName(), $report->getType(), $key);
             $displayAttribute->setAttributes($displayAttributeData);
             $report->addDisplayAttribute($displayAttribute);
         }
     } else {
         $report->removeAllDisplayAttributes();
     }
 }