/** * Determines if a request can be created by an author for a specific page. * Add custom authentication checks by subclassing this method. * * @param Member $member * @param SiteTree $page * @return boolean */ public static function can_create($member = NULL, $page) { if (!$member && $member !== FALSE) { $member = Member::currentUser(); } return $page->canEdit($member); }
/** * @param Member $member * @param SiteTree $page * @return boolean */ public static function can_create($member = NULL, $page) { if (!$member && $member !== FALSE) { $member = Member::currentUser(); } // if user can't edit page, he shouldn't be able to request publication if (!$page->canEdit($member)) { return false; } $request = $page->OpenWorkflowRequest(); // if no request exists, allow creation of a new one (we can just have one open request at each point in time) if (!$request || !$request->ID) { return true; } // members can re-submit their own publication requests if ($member && $member->ID == $request->AuthorID) { return true; } return true; }