Example #1
0
    public function testAddAndRemove()
    {
        $builder = new MaskBuilder();

        $builder
            ->add('view')
            ->add('eDiT')
            ->add('ownEr')
        ;
        $mask = $builder->get();

        $this->assertEquals(MaskBuilder::MASK_VIEW, $mask & MaskBuilder::MASK_VIEW);
        $this->assertEquals(MaskBuilder::MASK_EDIT, $mask & MaskBuilder::MASK_EDIT);
        $this->assertEquals(MaskBuilder::MASK_OWNER, $mask & MaskBuilder::MASK_OWNER);
        $this->assertEquals(0, $mask & MaskBuilder::MASK_MASTER);
        $this->assertEquals(0, $mask & MaskBuilder::MASK_CREATE);
        $this->assertEquals(0, $mask & MaskBuilder::MASK_DELETE);
        $this->assertEquals(0, $mask & MaskBuilder::MASK_UNDELETE);

        $builder->remove('edit')->remove('OWner');
        $mask = $builder->get();
        $this->assertEquals(0, $mask & MaskBuilder::MASK_EDIT);
        $this->assertEquals(0, $mask & MaskBuilder::MASK_OWNER);
        $this->assertEquals(MaskBuilder::MASK_VIEW, $mask & MaskBuilder::MASK_VIEW);
    }
Example #2
0
 protected function setRights($entity, $record)
 {
     $maskBuilder = new MaskBuilder();
     if ($this->hasKey('viewRight', $record)) {
         $entity->setViewRight(true);
         $maskBuilder->add(MaskBuilder::MASK_VIEW);
     } else {
         $entity->setViewRight(false);
         $maskBuilder->remove(MaskBuilder::MASK_VIEW);
     }
     if ($this->hasKey('editRight', $record)) {
         $entity->setViewRight(true);
         $entity->setEditRight(true);
         $maskBuilder->add(MaskBuilder::MASK_VIEW);
         $maskBuilder->add(MaskBuilder::MASK_EDIT);
     } else {
         $entity->setEditRight(false);
         $maskBuilder->remove(MaskBuilder::MASK_EDIT);
     }
     if ($this->hasKey('masterRight', $record)) {
         $entity->setViewRight(true);
         $entity->setEditRight(true);
         $entity->setMasterRight(true);
         $maskBuilder->add(MaskBuilder::MASK_VIEW);
         $maskBuilder->add(MaskBuilder::MASK_EDIT);
         $maskBuilder->add(MaskBuilder::MASK_MASTER);
     } else {
         $entity->setMasterRight(false);
         $maskBuilder->remove(MaskBuilder::MASK_MASTER);
     }
     return $maskBuilder;
 }