示例#1
0
 /**
  * Copy the rights from the parent to its children.
  *
  * @param \Claroline\CoreBundle\Entity\Resource\ResourceNode $original
  * @param \Claroline\CoreBundle\Entity\Resource\ResourceNode $node
  */
 public function copy(ResourceNode $original, ResourceNode $node)
 {
     $originalRights = $this->rightsRepo->findBy(array('resourceNode' => $original));
     $this->om->startFlushSuite();
     foreach ($originalRights as $originalRight) {
         $new = $this->om->factory('Claroline\\CoreBundle\\Entity\\Resource\\ResourceRights');
         $new->setRole($originalRight->getRole());
         $new->setResourceNode($node);
         $new->setMask($originalRight->getMask());
         $new->setCreatableResourceTypes($originalRight->getCreatableResourceTypes()->toArray());
         $this->om->persist($new);
         $node->addRight($new);
     }
     $this->om->endFlushSuite();
     return $node;
 }