public function testGet_granted_base() { $base_ids = []; $n = 0; foreach (self::$DI['app']['phraseanet.appbox']->get_databoxes() as $databox) { foreach ($databox->get_collections() as $collection) { $base_ids[] = $collection->get_base_id(); $n++; } } if ($n === 0) { $this->fail('Not enough collection to test'); } self::$object->give_access_to_base($base_ids); $bases = array_keys(self::$object->get_granted_base()); $this->assertEquals(count($bases), count($base_ids)); $this->assertEquals($n, count($base_ids)); foreach ($bases as $base_id) { try { $collection = collection::get_from_base_id(self::$DI['app'], $base_id); $this->assertTrue($collection instanceof collection); $this->assertEquals($base_id, $collection->get_base_id()); unset($collection); } catch (Exception $e) { $this->fail('get granted base should returned OK collection'); } } }
/** * Resets admin rights on a databox. * * @param \ACL $acl * @param \databox $databox */ private function doResetAdminRightsOnDatabox(\ACL $acl, \databox $databox) { $collections = $databox->get_collections(); $acl->update_rights_to_sbas($databox->get_sbas_id(), ['bas_manage' => '1', 'bas_modify_struct' => '1', 'bas_modif_th' => '1', 'bas_chupub' => '1']); $acl->give_access_to_base(array_map(function (\collection $collection) { return $collection->get_base_id(); }, $collections)); foreach ($collections as $collection) { $this->doResetRightsOnCollection($acl, $collection); } }