Fixed UI issues.

This commit is contained in:
Timur Nurlygayanov 2013-03-27 03:49:46 +07:00
parent 2acd3031a6
commit 2dc4c0e9e4
5 changed files with 49 additions and 45 deletions

View File

@ -78,7 +78,6 @@ def services_create(request, datacenter, parameters):
def services_list(request, datacenter_id): def services_list(request, datacenter_id):
session_id = None session_id = None
sessions = windcclient(request).sessions.list(datacenter_id) sessions = windcclient(request).sessions.list(datacenter_id)
LOG.critical('DC ID: ' + str(datacenter_id))
for s in sessions: for s in sessions:
if s.state in ['open', 'deploying']: if s.state in ['open', 'deploying']:

View File

@ -24,6 +24,8 @@ import string
from django import forms from django import forms
from django.utils.translation import ugettext_lazy as _ from django.utils.translation import ugettext_lazy as _
from tabula.windc import api
LOG = logging.getLogger(__name__) LOG = logging.getLogger(__name__)
@ -104,10 +106,25 @@ class WizardFormIISConfiguration(forms.Form):
adm_password = PasswordField(_('Administrator password')) adm_password = PasswordField(_('Administrator password'))
iis_domain = forms.CharField(label=_('Member of the Domain'), iis_domain = forms.ChoiceField(label=_('Member of the Domain'),
required=True) required=False)
def __init__(self, request, *args, **kwargs):
domain_user_name = forms.CharField(label=_('Domain User Name'), super(WizardFormIISConfiguration, self).__init__(request,
required=True) *args,
**kwargs)
domain_user_password = PasswordField(_('Domain User Password'))
link = self.request.__dict__['META']['HTTP_REFERER']
datacenter_id = re.search('windc/(\S+)', link).group(0)[6:-1]
domains = api.services_list(request, datacenter_id)
LOG.critical('$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$')
LOG.critical(domains)
LOG.critical('&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&')
self.fields['iis_domain'].choices = [("", "")] + \
[(domain.name, domain.name)
for domain in domains]

View File

@ -154,13 +154,6 @@ STATUS_DISPLAY_CHOICES = (
('finished', 'Active') ('finished', 'Active')
) )
STATUS_DISPLAY_CHOICES = (
('draft', 'Ready to deploy'),
('pending', 'Wait for configuration'),
('inprogress', 'Deploy in progress'),
('finished', 'Active')
)
class WinDCTable(tables.DataTable): class WinDCTable(tables.DataTable):
@ -170,7 +163,6 @@ class WinDCTable(tables.DataTable):
('Active', True) ('Active', True)
) )
name = tables.Column('name', name = tables.Column('name',
link=('horizon:project:windc:services'), link=('horizon:project:windc:services'),
verbose_name=_('Name')) verbose_name=_('Name'))
@ -199,7 +191,7 @@ class WinServicesTable(tables.DataTable):
) )
name = tables.Column('name', verbose_name=_('Name'), name = tables.Column('name', verbose_name=_('Name'),
link=('horizon:project:windc:service_details'),) link=('horizon:project:windc:service_details'))
_type = tables.Column('service_type', verbose_name=_('Type')) _type = tables.Column('service_type', verbose_name=_('Type'))

View File

@ -58,21 +58,24 @@ class Wizard(ModalFormMixin, SessionWizardView, generic.FormView):
def done(self, form_list, **kwargs): def done(self, form_list, **kwargs):
link = self.request.__dict__['META']['HTTP_REFERER'] link = self.request.__dict__['META']['HTTP_REFERER']
datacenter_id = re.search('windc/(\S+)', link).group(0)[6:-1] datacenter_id = re.search('windc/(\S+)', link).group(0)[6:-1]
LOG.critical("/////////////////////////////")
LOG.critical(link)
LOG.critical(datacenter_id)
LOG.critical("/////////////////////////////")
url = "/project/windc/%s/" % datacenter_id url = "/project/windc/%s/" % datacenter_id
service_type = form_list[0].data.get('0-service', '') service_type = form_list[0].data.get('0-service', '')
parameters = {'service_type': service_type} parameters = {'service_type': service_type}
data = form_list[1].data
if service_type == 'Active Directory': if service_type == 'Active Directory':
parameters['configuration'] = 'standalone' parameters['configuration'] = 'standalone'
parameters['name'] = str(form_list[1].data.get('1-dc_name', parameters['name'] = str(data.get('1-dc_name', 'noname'))
'noname'))
parameters['domain'] = parameters['name'] # Fix Me in orchestrator parameters['domain'] = parameters['name'] # Fix Me in orchestrator
parameters['adminPassword'] = \ parameters['adminPassword'] = str(data.get('1-adm_password', ''))
str(form_list[1].data.get('1-adm_password', '')) dc_count = int(data.get('1-dc_count', 1))
dc_count = int(form_list[1].data.get('1-dc_count', 1)) recovery_password = str(data.get('1-recovery_password', ''))
recovery_password = \
str(form_list[1].data.get('1-recovery_password', ''))
parameters['units'] = [] parameters['units'] = []
parameters['units'].append({'isMaster': True, parameters['units'].append({'isMaster': True,
'recoveryPassword': recovery_password, 'recoveryPassword': recovery_password,
@ -83,18 +86,11 @@ class Wizard(ModalFormMixin, SessionWizardView, generic.FormView):
'location': 'west-dc'}) 'location': 'west-dc'})
elif service_type == 'IIS': elif service_type == 'IIS':
password = form_list[1].data.get('1-adm_password', '') password = data.get('1-adm_password', '')
domain = form_list[1].data.get('1-iis_domain', '') parameters['name'] = str(data.get('1-iis_name', 'noname'))
dc_user = form_list[1].data.get('1-domain_user_name', '')
dc_pass = form_list[1].data.get('1-domain_user_password', '')
parameters['name'] = str(form_list[1].data.get('1-iis_name',
'noname'))
parameters['domain'] = parameters['name']
parameters['credentials'] = {'username': 'Administrator', parameters['credentials'] = {'username': 'Administrator',
'password': password} 'password': password}
parameters['domain'] = str(domain) parameters['domain'] = str(data.get('1-iis_domain', ''))
# 'username': str(dc_user),
# 'password': str(dc_pass)}
parameters['location'] = 'west-dc' parameters['location'] = 'west-dc'
parameters['units'] = [] parameters['units'] = []
@ -102,22 +98,24 @@ class Wizard(ModalFormMixin, SessionWizardView, generic.FormView):
'endpoint': [{'host': '10.0.0.1'}], 'endpoint': [{'host': '10.0.0.1'}],
'location': 'west-dc'}) 'location': 'west-dc'})
service = api.services_create(self.request, service = api.services_create(self.request, datacenter_id, parameters)
datacenter_id,
parameters)
message = "The %s service successfully created." % service_type message = "The %s service successfully created." % service_type
messages.success(self.request, message) messages.success(self.request, message)
return HttpResponseRedirect(url) return HttpResponseRedirect(url)
def get_form(self, step=None, data=None, files=None): def get_form(self, step=None, data=None, files=None):
LOG.critical("@@@@@@@@@@@@@@@@@@@@@@")
LOG.critical(dir(WizardFormIISConfiguration))
LOG.critical("######################")
form = super(Wizard, self).get_form(step, data, files) form = super(Wizard, self).get_form(step, data, files)
if data: if data:
service_type = data.get('0-service', '') self.service_type = data.get('0-service', '')
self.service_type = service_type if self.service_type == 'Active Directory':
if service_type == 'Active Directory':
self.form_list['1'] = WizardFormADConfiguration self.form_list['1'] = WizardFormADConfiguration
elif service_type == 'IIS': elif self.service_type == 'IIS':
self.form_list['1'] = WizardFormIISConfiguration self.form_list['1'] = WizardFormIISConfiguration
return form return form

View File

@ -62,8 +62,7 @@ class SelectProjectUser(workflows.Step):
class ConfigureDCAction(workflows.Action): class ConfigureDCAction(workflows.Action):
name = forms.CharField(label=_("Data Center Name"), name = forms.CharField(label=_("Data Center Name"), required=True)
required=True)
class Meta: class Meta:
name = _("Data Center") name = _("Data Center")
@ -87,8 +86,7 @@ class CreateWinDC(workflows.Workflow):
success_message = _('Created data center "%s".') success_message = _('Created data center "%s".')
failure_message = _('Unable to create data center "%s".') failure_message = _('Unable to create data center "%s".')
success_url = "horizon:project:windc:index" success_url = "horizon:project:windc:index"
default_steps = (SelectProjectUser, default_steps = (SelectProjectUser, ConfigureDC)
ConfigureDC)
def format_status_message(self, message): def format_status_message(self, message):
name = self.context.get('name', 'noname') name = self.context.get('name', 'noname')