Code Duplication    Length = 19-21 lines in 2 locations

code/Model/SiteTree.php 2 locations

@@ 1065-1083 (lines=19) @@
1062
     * @param Member $member
1063
     * @return bool
1064
     */
1065
    public function canPublish($member = null)
1066
    {
1067
        if (!$member) {
1068
            $member = Member::currentUser();
1069
        }
1070
1071
        // Check extension
1072
        $extended = $this->extendedCan('canPublish', $member);
1073
        if ($extended !== null) {
1074
            return $extended;
1075
        }
1076
1077
        if (Permission::checkMember($member, "ADMIN")) {
1078
            return true;
1079
        }
1080
1081
        // Default to relying on edit permission
1082
        return $this->canEdit($member);
1083
    }
1084
1085
    /**
1086
     * This function should return true if the current user can delete this page. It can be overloaded to customise the
@@ 1199-1219 (lines=21) @@
1196
     *                       unit tests)
1197
     * @return bool True if the current user can edit this page
1198
     */
1199
    public function canEdit($member = null)
1200
    {
1201
        if (!$member) {
1202
            $member = Member::currentUser();
1203
        }
1204
1205
        // Standard mechanism for accepting permission changes from extensions
1206
        $extended = $this->extendedCan('canEdit', $member);
1207
        if ($extended !== null) {
1208
            return $extended;
1209
        }
1210
1211
        // Default permissions
1212
        if (Permission::checkMember($member, "SITETREE_EDIT_ALL")) {
1213
            return true;
1214
        }
1215
1216
        // Check inherited permissions
1217
        return static::getPermissionChecker()
1218
            ->canEdit($this->ID, $member);
1219
    }
1220
1221
    /**
1222
     * Stub method to get the site config, unless the current class can provide an alternate.