public function xGetListAction() { $moduleParams = array('roles' => $this->getList(), 'platforms' => self::loadController('Platforms')->getEnabledPlatforms(true), 'groups' => ROLE_GROUPS::GetName(null, true)); $this->response->data($moduleParams); }
public function buildAction() { $this->request->defineParams(array('farmId' => array('type' => 'int'), 'roleId' => array('type' => 'int'))); $farmId = $this->getParam('farmId'); $roleId = $this->getParam('roleId'); $moduleParams = array('farmId' => $farmId, 'roleId' => $roleId, 'currentTimeZone' => $this->getEnvironment()->getPlatformConfigValue(Scalr_Environment::SETTING_TIMEZONE), 'currentTime' => Scalr_Util_DateTime::convertTz(time()), 'currentEnvId' => $this->getEnvironmentId(), 'groups' => ROLE_GROUPS::GetName(null, true)); $platforms = $this->getEnvironment()->getEnabledPlatforms(); if (empty($platforms)) { throw new Exception('Before building new farm you need to configure environment and setup cloud credentials'); } if ($farmId) { $c = self::loadController('Builder', 'Scalr_UI_Controller_Farms'); $moduleParams['farm'] = $c->getFarm($farmId); } $moduleParams['tabs'] = array('scaling', 'mysql', 'dbmsr', 'cloudfoundry', 'rabbitmq', 'mongodb', 'haproxy', 'balancing', 'placement', 'openstack', 'cloudstack', 'rsplacement', 'params', 'rds', 'eips', 'ebs', 'ebs2', 'dns', 'scripting', 'timeouts', 'cloudwatch', 'euca', 'nimbula', 'ec2', 'servicesconfig', 'deployments', 'devel'); if ($this->user->getAccount()->isFeatureEnabled(Scalr_Limits::FEATURE_CHEF)) { $moduleParams['tabs'][] = 'chef'; } $moduleParams['tabParams'] = array('farmId' => $farmId, 'currentTimeZone' => $this->getEnvironment()->getPlatformConfigValue(Scalr_Environment::SETTING_TIMEZONE), 'currentTime' => Scalr_Util_DateTime::convertTz(time()), 'currentEnvId' => $this->getEnvironmentId()); $this->response->page('ui/farms/builder.js', $moduleParams, array('ui/farms/builder/selroles.js', 'ui/farms/builder/roleedit.js', 'ui/farms/builder/allroles.js', 'ui/farms/builder/tab.js', 'ui/farms/builder/tabs/balancing.js', 'ui/farms/builder/tabs/cloudwatch.js', 'ui/farms/builder/tabs/dbmsr.js', 'ui/farms/builder/tabs/cloudfoundry.js', 'ui/farms/builder/tabs/rabbitmq.js', 'ui/farms/builder/tabs/mongodb.js', 'ui/farms/builder/tabs/haproxy.js', 'ui/farms/builder/tabs/dns.js', 'ui/farms/builder/tabs/ebs.js', 'ui/farms/builder/tabs/ebs2.js', 'ui/farms/builder/tabs/eips.js', 'ui/farms/builder/tabs/euca.js', 'ui/farms/builder/tabs/mysql.js', 'ui/farms/builder/tabs/nimbula.js', 'ui/farms/builder/tabs/params.js', 'ui/farms/builder/tabs/placement.js', 'ui/farms/builder/tabs/rsplacement.js', 'ui/farms/builder/tabs/cloudstack.js', 'ui/farms/builder/tabs/openstack.js', 'ui/farms/builder/tabs/rds.js', 'ui/farms/builder/tabs/scaling.js', 'ui/farms/builder/tabs/scripting.js', 'ui/farms/builder/tabs/servicesconfig.js', 'ui/farms/builder/tabs/timeouts.js', 'ui/farms/builder/tabs/vpc.js', 'ui/farms/builder/tabs/ec2.js', 'ui/farms/builder/tabs/chef.js', 'ui/farms/builder/tabs/deployments.js', 'ui/farms/builder/tabs/devel.js', 'ui/scripts/scriptfield.js'), array('ui/farms/builder/tabs/scripting.css', 'ui/farms/builder/selroles.css', 'ui/farms/builder/allroles.css')); }