本文整理汇总了PHP中PhabricatorProject::getIsMembershipLocked方法的典型用法代码示例。如果您正苦于以下问题:PHP PhabricatorProject::getIsMembershipLocked方法的具体用法?PHP PhabricatorProject::getIsMembershipLocked怎么用?PHP PhabricatorProject::getIsMembershipLocked使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类PhabricatorProject
的用法示例。
在下文中一共展示了PhabricatorProject::getIsMembershipLocked方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: userCannotLeave
/**
* This is enforced in @{class:PhabricatorProjectTransactionEditor}. We use
* this logic to render a better form for users hitting this case.
*/
private function userCannotLeave(PhabricatorProject $project)
{
$viewer = $this->getViewer();
return $project->getIsMembershipLocked() && !PhabricatorPolicyFilter::hasCapability($viewer, $project, PhabricatorPolicyCapability::CAN_EDIT);
}
示例2: buildActions
private function buildActions(PhabricatorProject $project)
{
$viewer = $this->getViewer();
$id = $project->getID();
$view = id(new PhabricatorActionListView())->setUser($viewer);
$is_locked = $project->getIsMembershipLocked();
$can_edit = PhabricatorPolicyFilter::hasCapability($viewer, $project, PhabricatorPolicyCapability::CAN_EDIT);
$supports_edit = $project->supportsEditMembers();
$can_join = $supports_edit && PhabricatorPolicyFilter::hasCapability($viewer, $project, PhabricatorPolicyCapability::CAN_JOIN);
$can_leave = $supports_edit && (!$is_locked || $can_edit);
$viewer_phid = $viewer->getPHID();
if (!$project->isUserMember($viewer_phid)) {
$view->addAction(id(new PhabricatorActionView())->setHref('/project/update/' . $project->getID() . '/join/')->setIcon('fa-plus')->setDisabled(!$can_join)->setWorkflow(true)->setName(pht('Join Project')));
} else {
$view->addAction(id(new PhabricatorActionView())->setHref('/project/update/' . $project->getID() . '/leave/')->setIcon('fa-times')->setDisabled(!$can_leave)->setWorkflow(true)->setName(pht('Leave Project')));
}
if (!$project->isUserWatcher($viewer->getPHID())) {
$view->addAction(id(new PhabricatorActionView())->setWorkflow(true)->setHref('/project/watch/' . $project->getID() . '/')->setIcon('fa-eye')->setName(pht('Watch Project')));
} else {
$view->addAction(id(new PhabricatorActionView())->setWorkflow(true)->setHref('/project/unwatch/' . $project->getID() . '/')->setIcon('fa-eye-slash')->setName(pht('Unwatch Project')));
}
$can_silence = $project->isUserMember($viewer_phid);
$is_silenced = $this->isProjectSilenced($project);
if ($is_silenced) {
$silence_text = pht('Enable Mail');
} else {
$silence_text = pht('Disable Mail');
}
$view->addAction(id(new PhabricatorActionView())->setName($silence_text)->setIcon('fa-envelope-o')->setHref("/project/silence/{$id}/")->setWorkflow(true)->setDisabled(!$can_silence));
$can_add = $can_edit && $supports_edit;
$view->addAction(id(new PhabricatorActionView())->setName(pht('Add Members'))->setIcon('fa-user-plus')->setHref("/project/members/{$id}/add/")->setWorkflow(true)->setDisabled(!$can_add));
$can_lock = $can_edit && $supports_edit && $this->hasApplicationCapability(ProjectCanLockProjectsCapability::CAPABILITY);
if ($is_locked) {
$lock_name = pht('Unlock Project');
$lock_icon = 'fa-unlock';
} else {
$lock_name = pht('Lock Project');
$lock_icon = 'fa-lock';
}
$view->addAction(id(new PhabricatorActionView())->setName($lock_name)->setIcon($lock_icon)->setHref($this->getApplicationURI("lock/{$id}/"))->setDisabled(!$can_lock)->setWorkflow(true));
return $view;
}