public function testSetAndGetMetadata()
 {
     Yii::app()->user->userModel = User::getByUsername('super');
     $user = UserTestHelper::createBasicUser('Steven');
     $contact = new Contact();
     $view = new ContactEditAndDetailsView('Details', 'whatever', 'whatever', $contact);
     $originalMetadata = ContactEditAndDetailsView::getMetadata($user);
     $metadataIn = $originalMetadata;
     $metadataIn['perUser']['junk1'] = 'stuff1';
     $metadataIn['global']['junk2'] = 'stuff2';
     $view->setMetadata($metadataIn, $user);
     $metadataOut = ContactEditAndDetailsView::getMetadata($user);
     $this->assertNotEquals($originalMetadata, $metadataOut);
     $this->assertEquals($metadataIn, $metadataOut);
 }
 /**
  * @param array $viewData
  * @param array $params
  * @param string $uniqueLayoutId
  */
 public function __construct($viewData, $params, $uniqueLayoutId)
 {
     assert('isset($params["controllerId"])');
     assert('isset($params["relationModuleId"])');
     assert('$params["relationModel"] instanceof RedBeanModel || $params["relationModel"] instanceof ModelForm');
     assert('isset($params["portletId"])');
     assert('isset($params["redirectUrl"])');
     $this->modelClassName = $this->getModelClassName();
     $this->viewData = $viewData;
     $this->params = $params;
     $this->uniqueLayoutId = $uniqueLayoutId;
     $this->gridIdSuffix = $uniqueLayoutId;
     $this->rowsAreSelectable = false;
     $this->gridId = 'list-view';
     $this->controllerId = $this->resolveControllerId();
     $this->moduleId = $this->resolveModuleId();
     parent::__construct('Details', $this->controllerId, $this->moduleId, $params["relationModel"]);
 }
 /**
  * @return array
  */
 public static function getDefaultMetadata()
 {
     $metadata = parent::getDefaultMetadata();
     $metadata['global']['toolbar']['elements'] = array(array('type' => 'SaveButton', 'renderType' => 'Edit'), array('type' => 'CancelLink', 'renderType' => 'Edit'));
     return $metadata;
 }