public static function addUserToBastionProject($user, &$group) { global $wgOpenStackManagerBastionProjectName; if (User::groupHasPermission($group, 'loginviashell')) { // Add the user to the bastion project if not already a // member. $username = $user->getName(); $project = new OpenStackNovaProject($wgOpenStackManagerBastionProjectName); if (!in_array($username, $project->getMembers())) { $project->addMember($username); } } return true; }
/** * @param $formData * @param string $entryPoint * @return bool */ function tryAddMemberSubmit($formData, $entryPoint = 'internal') { $project = new OpenStackNovaProject($formData['projectname']); $members = explode(',', $formData['member']); foreach ($members as $member) { $user = User::newFromName($member, 'usable'); if (!$user) { $this->getOutput()->addWikiMsg('openstackmanager-failedtoadd', $formData['member'], $formData['projectname']); continue; } $success = $project->addMember($member); if ($success) { if (!$user->isAllowed('loginviashell')) { # Grant user the shell right if they have # successfully been added to a project $user->addGroup('shell'); } $this->getOutput()->addWikiMsg('openstackmanager-addedto', $formData['member'], $formData['projectname']); if (class_exists('EchoEvent')) { EchoEvent::create(array('type' => 'osm-projectmembers-add', 'title' => Title::newFromText($formData['projectname'], NS_NOVA_RESOURCE), 'agent' => $this->getUser(), 'extra' => array('userAdded' => $user->getId()))); } } else { $this->getOutput()->addWikiMsg('openstackmanager-failedtoadd', $formData['member'], $formData['projectname']); } } $out = '<br />'; $out .= Linker::link($this->getPageTitle(), $this->msg('openstackmanager-backprojectlist')->escaped()); $this->getOutput()->addHTML($out); return true; }
/** * @param $formData * @param string $entryPoint * @return bool */ function tryAddMemberSubmit( $formData, $entryPoint = 'internal' ) { $project = new OpenStackNovaProject( $formData['projectname'] ); $members = explode( ',', $formData['member'] ); foreach ( $members as $member ) { $success = $project->addMember( $member ); if ( $success ) { $project->editArticle(); $this->getOutput()->addWikiMsg( 'openstackmanager-addedto', $formData['member'], $formData['projectname'] ); } else { $this->getOutput()->addWikiMsg( 'openstackmanager-failedtoadd', $formData['member'], $formData['projectname'] ); } } $out = '<br />'; $out .= Linker::link( $this->getTitle(), wfMsgHtml( 'openstackmanager-backprojectlist' ) ); $this->getOutput()->addHTML( $out ); return true; }