for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
/**
* YAWIK
*
* @filesource
* @license MIT
* @copyright 2013 - 2016 Cross Solution <http://cross-solution.de>
*/
/** */
namespace Organizations\Acl\Assertion;
use Auth\Entity\UserInterface;
use Core\Entity\PermissionsInterface;
use Organizations\Entity\OrganizationInterface;
use Zend\Permissions\Acl\Acl;
use Zend\Permissions\Acl\Assertion\AssertionInterface;
use Zend\Permissions\Acl\Resource\ResourceInterface;
use Zend\Permissions\Acl\Role\RoleInterface;
* ${CARET}
* @author Mathias Gelhausen <[email protected]>
* @todo write test
class WriteAssertion implements AssertionInterface
{
public function assert(Acl $acl, RoleInterface $role = null, ResourceInterface $resource = null, $privilege = null)
return 'edit' == $privilege
&& $role instanceOf UserInterface
&& $resource instanceOf OrganizationInterface
&& $resource->getPermissions()->isGranted($role, PermissionsInterface::PERMISSION_CHANGE);
}