public function testGet_granted_sbas() { $sbas_ids = []; $n = 0; foreach (self::$DI['app']['phraseanet.appbox']->get_databoxes() as $databox) { $sbas_ids[] = $databox->get_sbas_id(); $n++; } self::$object->give_access_to_sbas($sbas_ids); $sbas = self::$object->get_granted_sbas(); $this->assertEquals(count($sbas), count($sbas_ids)); $this->assertEquals($n, count($sbas_ids)); foreach ($sbas as $sbas_id => $databox) { try { $this->assertTrue($databox instanceof databox); $this->assertEquals($sbas_id, $databox->get_sbas_id()); unset($databox); } catch (Exception $e) { $this->fail('get granted sbas should returned OK collection'); } } }
/** * Restrict users on database with provided rights * * @param ACL $ACL * @param array $rights * * @return $this */ public function on_sbas_where_i_am(ACL $ACL, array $rights) { $this->sbas_restrictions = true; $databoxes = array_keys($ACL->get_granted_sbas($rights)); if (count($this->sbas_ids) > 0) { $this->sbas_ids = array_intersect($this->sbas_ids, $databoxes); } else { $this->sbas_ids = $databoxes; } $this->total = $this->page = $this->total_page = null; return $this; }