Code Duplication    Length = 19-21 lines in 2 locations

code/Model/SiteTree.php 2 locations

@@ 1073-1091 (lines=19) @@
1070
     * @param Member $member
1071
     * @return bool
1072
     */
1073
    public function canPublish($member = null)
1074
    {
1075
        if (!$member) {
1076
            $member = Member::currentUser();
1077
        }
1078
1079
        // Check extension
1080
        $extended = $this->extendedCan('canPublish', $member);
1081
        if ($extended !== null) {
1082
            return $extended;
1083
        }
1084
1085
        if (Permission::checkMember($member, "ADMIN")) {
1086
            return true;
1087
        }
1088
1089
        // Default to relying on edit permission
1090
        return $this->canEdit($member);
1091
    }
1092
1093
    /**
1094
     * This function should return true if the current user can delete this page. It can be overloaded to customise the
@@ 1207-1227 (lines=21) @@
1204
     *                       unit tests)
1205
     * @return bool True if the current user can edit this page
1206
     */
1207
    public function canEdit($member = null)
1208
    {
1209
        if (!$member) {
1210
            $member = Member::currentUser();
1211
        }
1212
1213
        // Standard mechanism for accepting permission changes from extensions
1214
        $extended = $this->extendedCan('canEdit', $member);
1215
        if ($extended !== null) {
1216
            return $extended;
1217
        }
1218
1219
        // Default permissions
1220
        if (Permission::checkMember($member, "SITETREE_EDIT_ALL")) {
1221
            return true;
1222
        }
1223
1224
        // Check inherited permissions
1225
        return static::getInheritedPermissions()
1226
            ->canEdit($this->ID, $member);
1227
    }
1228
1229
    /**
1230
     * Stub method to get the site config, unless the current class can provide an alternate.