Completed
Push — develop ( 83694e...386ced )
by
unknown
17:24 queued 08:59
created

WriteAssertion   A

Complexity

Total Complexity 4

Size/Duplication

Total Lines 10
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 0

Importance

Changes 1
Bugs 1 Features 0
Metric Value
wmc 4
c 1
b 1
f 0
lcom 0
cbo 0
dl 0
loc 10
rs 10

1 Method

Rating   Name   Duplication   Size   Complexity  
A assert() 0 7 4
1
<?php
2
/**
3
 * YAWIK
4
 *
5
 * @filesource
6
 * @license MIT
7
 * @copyright  2013 - 2016 Cross Solution <http://cross-solution.de>
8
 */
9
  
10
/** */
11
namespace Organizations\Acl\Assertion;
12
13
use Auth\Entity\UserInterface;
14
use Core\Entity\PermissionsInterface;
15
use Organizations\Entity\OrganizationInterface;
16
use Zend\Permissions\Acl\Acl;
17
use Zend\Permissions\Acl\Assertion\AssertionInterface;
18
use Zend\Permissions\Acl\Resource\ResourceInterface;
19
use Zend\Permissions\Acl\Role\RoleInterface;
20
21
/**
22
 * ${CARET}
23
 * 
24
 * @author Mathias Gelhausen <[email protected]>
25
 * @todo write test 
26
 */
27
class WriteAssertion implements AssertionInterface
28
{
29
    public function assert(Acl $acl, RoleInterface $role = null, ResourceInterface $resource = null, $privilege = null)
30
    {
31
        return 'edit' == $privilege
32
               && $role instanceOf UserInterface
33
               && $resource instanceOf OrganizationInterface
34
               && $resource->getPermissions()->isGranted($role, PermissionsInterface::PERMISSION_CHANGE);
35
    }
36
}