Determine if this user can edit writers list.

@param int|Member $member

@return boolean
192198
public function canEditWriters($member = null)
    {
        $member = $this->getMember($member);

        $extended = $this->extendedCan('canEditWriters', $member);

        if ($extended !== null) {
            return $extended;
        }

        if ($this->isEditor($member)) {
            return true;
        }

        return Permission::checkMember($member, self::MANAGE_USERS);
    }
39371
public function canCreate($member = null, $context = [])
    {
        // Allow Only Root Level:
        
        if (isset($context['Parent'])) {
            return false;
        }
        
        // Answer Permission Check:
        
        return Permission::checkMember($member, ['ADMIN', 'SILVERWARE_FOLDER_CREATE']);
    }
1177112
public function canCreate($member = null, $context = [])
    {
        $extended = $this->extendedCan(__FUNCTION__, $member);
        if ($extended !== null) {
            return $extended;
        }
        return $this->Parent()->canCreate();
    }
1359463
public function canView($member = null) {
		if(!$member) $member = Member::currentUser();

		if(Permission::checkMember($member, 'ADMIN')) return true;

		return $member->inGroups($this->Viewers());
	}
120261
public function existsField(string $member) : bool
        {
                return $this->_redis->zscore($this->_key, $member)===null ? false : true;
        }
520690
public function canCreateCategories($member = null)
    {
        $member = $this->getMember($member);

        $parent = $this->Parent();

        if (!$parent || !$parent->exists() || !($parent instanceof Blog)) {
            return false;
        }

        if ($parent->isEditor($member)) {
            return true;
        }

        return Permission::checkMember($member, 'ADMIN');
    }
1212113
public function canAbort($member = null) {
		if(!$member) $member = Member::currentUser();
		if(!$member) return false;

		if(Permission::checkMember($member, 'ADMIN')) return true;

		return $this->PipelineCancellers()->byID($member->ID)
			|| $member->inGroups($this->PipelineCancellerGroups());
	}
1065448
public function set($member, $value)
    {
        $member = '_'.$member;
        $members = get_object_vars($this);
        if (array_key_exists($member, $members)) {
            if (is_array($this->$member)) {
                $this->{$member}[] = $value;
            } else {
                $this->$member = $value;
            }

            return TRUE;
        }

        return FALSE;
    }
357149
public function delField(string $member) : bool
        {
	        $result = $this->_redis->zrem($this->_key, $member);
	        return $result>0?true:false;
        }
1041417
public function can($perm, $member = null)
    {
        if (!$member) {
            $member = Security::getCurrentUser();
        }
        if (is_array($perm)) {
            $perm = array_map(array($this, 'can'), $perm, array_fill(0, count($perm), $member));
            return min($perm);
        }
        if ($this->hasMethod($methodName = 'can' . $perm)) {
            return $this->$methodName($member);
        } else {
            return true;
        }
    }
211354
public function canReview($member, $record) {
		$extended = $this->extendedCan(__FUNCTION__, $member);
		if($extended !== null) return $extended;

		if (!class_exists('FrontEndWorkflowController')) {
			// Cannot review if there's no workflow module installed
			return false;
		}

		// NOTE(Jake): Might *want* to update the below logic so that when "$record === null"
		//			   the user must belong in the Restricted User/Group.
		if (!$this->WorkflowDefinitionID) {
			// Cannot review if there's no workflow applied to the object creator page.
			return false;
		}

		if ($record && !$record->getWorkflowInstance()) {
			// Cannot review if there's no workflow active on the record.
			return false;
		}

		if (!$member) {
			// Cannot review if not a logged in member.
			return false;
		}

		if (Permission::check('ADMIN', 'any', $member)) {
			return true;
		}

		if ($record) {
			$extended = $record->canEdit($member);
			if($extended !== null) return $extended;
		}
		return true;
	}
839206
public function canEdit($member = null)
    {
        $parent = $this->Parent();
        if ($parent && $parent->exists()) {
            return $parent->canEdit($member) && !$this->isReadonly();
        } elseif (!$this->exists() && Controller::has_curr()) {
            // This is for GridFieldOrderableRows support as it checks edit permissions on
            // singleton of the class. Allows editing of User Defined Form pages by
            // 'Content Authors' and those with permission to edit the UDF page. (ie. CanEditType/EditorGroups)
            // This is to restore User Forms 2.x backwards compatibility.
            $controller = Controller::curr();
            if ($controller && $controller instanceof CMSPageEditController) {
                $parent = $controller->getRecord($controller->currentPageID());
                // Only allow this behaviour on pages using UserFormFieldEditorExtension, such
                // as UserDefinedForm page type.
                if ($parent && $parent->hasExtension(UserFormFieldEditorExtension::class)) {
                    return $parent->canEdit($member);
                }
            }
        }

        // Fallback to secure admin permissions
        return parent::canEdit($member);
    }
1316149
public function canView($member = null)
    {
        $managedModels = $this->getManagedModels();
        if (count($managedModels) == 0) {
            return false;
        }

        return parent::canView($member);
    }
1168987
public function isAuthor($member = null)
    {
        if (!$member || !$member->exists()) {
            return false;
        }

        $list = $this->Authors();

        if ($list instanceof UnsavedRelationList) {
            return in_array($member->ID, $list->getIDList());
        }

        return $list->byID($member->ID) !== null;
    }
943463
public function canTranslate($member, $locale)
    {
        if ($locale && !i18n::validate_locale($locale)) {
            throw new InvalidArgumentException(sprintf('Invalid locale "%s"', $locale));
        }

        if (!$member || !(is_a($member, 'Member')) || is_numeric($member)) {
            $member = Member::currentUser();
        }

        // Always allow on cli and for non-logged users in dev mode
        if ((!$member && Director::isDev()) || Director::is_cli())
            return true;

        // check for locale
        $allowedLocale = (
            !is_array(Translatable::get_allowed_locales())
            || in_array($locale, Translatable::get_allowed_locales())
        );

        if (!$allowedLocale) {
            return false;
        }

        // By default, anyone who can edit a page can edit the default locale
        if ($locale == Translatable::default_locale()) {
            return true;
        }

        // check for generic translation permission
        if (Permission::checkMember($member, 'TRANSLATE_ALL')) {
            return true;
        }

        // check for locale specific translate permission
        return Permission::checkMember($member, 'TRANSLATE_' . $locale) == true;
    }
1059755
public function canView($member = null)
    {
        if (!$member && $member !== false) {
            $member = Member::currentUser();
        }

        if (!$member) {
            return false;
        }

        return Permission::checkMember($member, "CMS_ACCESS_AssetAdmin");
    }
224746
public function canEdit(): bool
    {
        if ($this->isPendingDeletion()) {
            return false;
        }

        if (Auth::isManager($this->record->tree())) {
            return true;
        }

        // Members cannot edit RESN, CHAN and locked records
        return Auth::isEditor($this->record->tree()) && strpos($this->gedcom, "\n2 RESN locked") === false && $this->getTag() !== 'RESN' && $this->getTag() !== 'CHAN';
    }