Passed
Push — master ( 9b9c6c...ef704e )
by Daniel
35:52 queued 24:20
created

UnstagedNode::canView()   A

Complexity

Conditions 2
Paths 2

Size

Total Lines 6
Code Lines 3

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 2
eloc 3
nc 2
nop 1
dl 0
loc 6
rs 9.4285
c 0
b 0
f 0
1
<?php
2
3
namespace SilverStripe\Security\Tests\InheritedPermissionsTest;
4
5
use SilverStripe\Core\Injector\Injector;
6
use SilverStripe\Dev\TestOnly;
7
use SilverStripe\ORM\DataObject;
8
use SilverStripe\Security\InheritedPermissions;
9
use SilverStripe\Security\InheritedPermissionsExtension;
10
use SilverStripe\Security\PermissionChecker;
11
use SilverStripe\Security\Security;
12
use SilverStripe\Versioned\Versioned;
13
14
/**
15
 * @method UnstagedNode Parent()
16
 * @mixin Versioned
17
 * @mixin InheritedPermissionsExtension
18
 */
19
class UnstagedNode extends DataObject implements TestOnly
20
{
21
    private static $db = [
0 ignored issues
show
introduced by
The private property $db is not used, and could be removed.
Loading history...
22
        "Title" => "Varchar(255)",
23
    ];
24
25
    private static $has_one = [
0 ignored issues
show
introduced by
The private property $has_one is not used, and could be removed.
Loading history...
26
        "Parent" => self::class,
27
    ];
28
29
    private static $table_name = 'InheritedPermissionsTest_UnstagedNode';
0 ignored issues
show
introduced by
The private property $table_name is not used, and could be removed.
Loading history...
30
31
    private static $extensions = [
0 ignored issues
show
introduced by
The private property $extensions is not used, and could be removed.
Loading history...
32
        Versioned::class . '.versioned',
33
        InheritedPermissionsExtension::class,
34
    ];
35
36
    /**
37
     * @return InheritedPermissions
38
     */
39
    public static function getInheritedPermissions()
40
    {
41
        /** @var InheritedPermissions $permissions */
42
        return Injector::inst()->get(PermissionChecker::class . '.unstagedpermissions');
43
    }
44
45
    public function canEdit($member = null)
46
    {
47
        if (!$member) {
48
            $member = Security::getCurrentUser();
49
        }
50
        return static::getInheritedPermissions()->canEdit($this->ID, $member);
51
    }
52
53
    public function canView($member = null)
54
    {
55
        if (!$member) {
56
            $member = Security::getCurrentUser();
57
        }
58
        return static::getInheritedPermissions()->canView($this->ID, $member);
59
    }
60
61
    public function canDelete($member = null)
62
    {
63
        if (!$member) {
64
            $member = Security::getCurrentUser();
65
        }
66
        return static::getInheritedPermissions()->canDelete($this->ID, $member);
67
    }
68
}
69