function getPuppetInfo($formData) { global $wgOpenStackManagerPuppetOptions; $puppetinfo = array(); if ($wgOpenStackManagerPuppetOptions['enabled']) { $puppetGroups = OpenStackNovaPuppetGroup::getGroupList($formData['project']); $this->getPuppetInfoByGroup($puppetinfo, $puppetGroups, $formData); $puppetGroups = OpenStackNovaPuppetGroup::getGroupList(); $this->getPuppetInfoByGroup($puppetinfo, $puppetGroups, $formData); } return $puppetinfo; }
/** * @return void */ function listPuppetGroups() { $this->setHeaders(); $this->getOutput()->setPagetitle($this->msg('openstackmanager-puppetgrouplist')); $this->getOutput()->addModuleStyles('ext.openstack'); if ($this->getUser()->isAllowed('listall')) { $projects = OpenStackNovaProject::getAllProjects(); } else { $projects = OpenStackNovaProject::getProjectsByName($this->userLDAP->getProjects()); } $this->showProjectFilter($projects); $projectfilter = $this->getProjectFilter(); if (!$projectfilter) { $this->getOutput()->addWikiMsg('openstackmanager-setprojectfilter'); return null; } $out = ''; foreach ($projects as $project) { $projectName = $project->getProjectName(); if ($projectfilter && !in_array($projectName, $projectfilter)) { continue; } $actions = array('projectadmin' => array()); $actions['projectadmin'][] = $this->createActionLink('openstackmanager-createpuppetgroup', array('action' => 'create', 'project' => $projectName)); $out .= $this->createProjectSection($projectName, $actions, $this->getPuppetGroupOutput(OpenStackNovaPuppetGroup::getGroupList($projectName))); } $action = ''; $showlinks = $this->userCanExecute($this->getUser()); if ($showlinks) { $action = $this->createActionLink('openstackmanager-createpuppetgroup', array('action' => 'create')); $action = Html::rawElement('span', array('id' => 'novaaction'), "[{$action}]"); } $allProjectsMsg = Html::rawElement('span', array('class' => 'mw-customtoggle-allprojects', 'id' => 'novaproject'), $this->msg('openstackmanager-puppetallprojects')->escaped()); $out .= Html::rawElement('h2', array(), "{$allProjectsMsg} {$action}"); $groupsOut = $this->getPuppetGroupOutput(OpenStackNovaPuppetGroup::getGroupList(), $showlinks); $out .= Html::rawElement('div', array('class' => 'mw-collapsible', 'id' => 'mw-customcollapsible-allprojects'), $groupsOut); $this->getOutput()->addHTML($out); }
function setPuppetInfo(&$instanceInfo, $puppetinfo = array()) { $project = $instanceInfo['project']['default']; $projectGroups = OpenStackNovaPuppetGroup::getGroupList($project); $this->setPuppetInfoByGroups($instanceInfo, $puppetinfo, $projectGroups); $globalGroups = OpenStackNovaPuppetGroup::getGroupList(); $this->setPuppetInfoByGroups($instanceInfo, $puppetinfo, $globalGroups); }
/** * @return void */ function listPuppetGroups() { $this->setHeaders(); $this->getOutput()->setPagetitle(wfMsg('openstackmanager-puppetgrouplist')); $this->getOutput()->addModuleStyles('ext.openstack'); $out = ''; $projects = $this->userLDAP->getProjects(); foreach ($projects as $project) { if (!$this->userLDAP->inRole('sysadmin', $project)) { continue; } $action = Linker::link($this->getTitle(), wfMsgHtml('openstackmanager-createpuppetgroup'), array(), array('action' => 'create', 'project' => $project)); $action = Html::rawElement('span', array('id' => 'novaaction'), "[{$action}]"); $projectName = Html::rawElement('span', array('class' => 'mw-customtoggle-' . $project, 'id' => 'novaproject'), $project); $out .= Html::rawElement('h2', array(), "{$projectName} {$action}"); $groupsOut = $this->getPuppetGroupOutput(OpenStackNovaPuppetGroup::getGroupList($project)); $out .= Html::rawElement('div', array('class' => 'mw-collapsible', 'id' => 'mw-customcollapsible-' . $project), $groupsOut); } $action = ''; $showlinks = $this->userCanExecute($this->getUser()); if ($showlinks) { $action = Linker::link($this->getTitle(), wfMsgHtml('openstackmanager-createpuppetgroup'), array(), array('action' => 'create')); $action = Html::rawElement('span', array('id' => 'novaaction'), "[{$action}]"); } $allProjectsMsg = Html::rawElement('span', array('class' => 'mw-customtoggle-allprojects', 'id' => 'novaproject'), wfMsgHtml('openstackmanager-puppetallprojects')); $out .= Html::rawElement('h2', array(), "{$allProjectsMsg} {$action}"); $groupsOut = $this->getPuppetGroupOutput(OpenStackNovaPuppetGroup::getGroupList(), $showlinks); $out .= Html::rawElement('div', array('class' => 'mw-collapsible', 'id' => 'mw-customcollapsible-allprojects'), $groupsOut); $this->getOutput()->addHTML($out); }