当前位置: 首页>>代码示例>>PHP>>正文


PHP Tinebase_Container::setGrants方法代码示例

本文整理汇总了PHP中Tinebase_Container::setGrants方法的典型用法代码示例。如果您正苦于以下问题:PHP Tinebase_Container::setGrants方法的具体用法?PHP Tinebase_Container::setGrants怎么用?PHP Tinebase_Container::setGrants使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Tinebase_Container的用法示例。


在下文中一共展示了Tinebase_Container::setGrants方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: _inspectBeforeUpdate

 /**
  * inspect update of one record (before update)
  * 
  * @param   Tinebase_Record_Interface $_record      the update record
  * @param   Tinebase_Record_Interface $_oldRecord   the current persistent record
  * @return  void
  * @throws Tinebase_Exception_Record_NotAllowed
  * 
  * @todo if shared -> personal remove all admins except new owner
  */
 protected function _inspectBeforeUpdate($_record, $_oldRecord)
 {
     if ($_oldRecord->application_id !== $_record->application_id) {
         throw new Tinebase_Exception_Record_NotAllowed('It is not allowed to change the application of a container.');
     }
     $_record->account_grants = $this->_convertGrantsToRecordSet($_record->account_grants);
     Tinebase_Container::getInstance()->checkContainerOwner($_record);
     $this->_containerController->setGrants($_record, $_record->account_grants, TRUE, FALSE);
 }
开发者ID:ingoratsdorf,项目名称:Tine-2.0-Open-Source-Groupware-and-CRM,代码行数:19,代码来源:Container.php

示例2: testGetSearchContainerWithoutReadButWithAdminGrant

 /**
  * testGetSearchContainerWithoutReadButWithAdminGrant
  */
 public function testGetSearchContainerWithoutReadButWithAdminGrant()
 {
     $newGrants = new Tinebase_Record_RecordSet('Tinebase_Model_Grants');
     $newGrants->addRecord(new Tinebase_Model_Grants(array('account_id' => Tinebase_Core::getUser()->getId(), 'account_type' => 'user', Tinebase_Model_Grants::GRANT_READ => false, Tinebase_Model_Grants::GRANT_ADD => true, Tinebase_Model_Grants::GRANT_EDIT => true, Tinebase_Model_Grants::GRANT_DELETE => true, Tinebase_Model_Grants::GRANT_ADMIN => true)));
     $grants = $this->_instance->setGrants($this->objects['initialContainer'], $newGrants);
     $container = $this->_instance->getContainerById($this->objects['initialContainer']);
     $this->assertTrue(is_object($container));
     $containers = $this->_instance->getPersonalContainer(Tinebase_Core::getUser(), 'Addressbook', Tinebase_Core::getUser(), Tinebase_Model_Grants::GRANT_READ);
     $container = $containers->find('name', $this->objects['initialContainer']->name);
     $this->assertTrue(is_object($container));
 }
开发者ID:rodrigofns,项目名称:ExpressoLivre3,代码行数:14,代码来源:ContainerTest.php

示例3: testSetGrantsCacheInvalidation

 /**
  * cache invalidation needs a second 
  */
 public function testSetGrantsCacheInvalidation()
 {
     $container = $this->objects['initialContainer'];
     $sclever = Tinebase_Helper::array_value('sclever', Zend_Registry::get('personas'));
     $this->assertEquals(FALSE, $this->_instance->hasGrant($sclever->getId(), $container->getId(), Tinebase_Model_Grants::GRANT_READ), 'sclever should _not_ have a read grant');
     // have readGrant for sclever
     $this->_instance->setGrants($container->getId(), new Tinebase_Record_RecordSet('Tinebase_Model_Grants', array(array('account_id' => Tinebase_Core::getUser()->getId(), 'account_type' => 'user', Tinebase_Model_Grants::GRANT_ADMIN => true), array('account_id' => $sclever->getId(), 'account_type' => 'user', Tinebase_Model_Grants::GRANT_READ => true))), TRUE);
     sleep(1);
     $this->assertEquals(TRUE, $this->_instance->hasGrant($sclever->getId(), $container->getId(), Tinebase_Model_Grants::GRANT_READ), 'sclever _should have_ a read grant');
     // remove readGrant for sclever again
     $this->_instance->setGrants($container->getId(), new Tinebase_Record_RecordSet('Tinebase_Model_Grants', array(array('account_id' => Tinebase_Core::getUser()->getId(), 'account_type' => 'user', Tinebase_Model_Grants::GRANT_ADMIN => true), array('account_id' => $sclever->getId(), 'account_type' => 'user', Tinebase_Model_Grants::GRANT_READ => false))), TRUE);
     sleep(1);
     $this->assertEquals(FALSE, $this->_instance->hasGrant($sclever->getId(), $container->getId(), Tinebase_Model_Grants::GRANT_READ), 'sclever should _not_ have a read grant');
 }
开发者ID:bitExpert,项目名称:Tine-2.0-Open-Source-Groupware-and-CRM,代码行数:17,代码来源:ContainerTest.php


注:本文中的Tinebase_Container::setGrants方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。