Change behaviour of viewing services

User can now get list of services without session at all.
Python client is updated accordingly

Change-Id: Ic35ce73b4b6237e9f7d42e87b853cbcbaff058b8
This commit is contained in:
Serg Melikyan 2013-03-12 18:34:59 +04:00
parent 8015cb7f9a
commit 4143081a89
4 changed files with 23 additions and 25 deletions

View File

@ -1,12 +1,16 @@
from portas.db.models import Session
from portas.db.models import Session, Environment
from portas.db.session import get_session
def get_draft(session_id):
def get_draft(environment_id, session_id):
unit = get_session()
session = unit.query(Session).get(session_id)
return session.description
#TODO: When session is deployed should be returned env.description
if session_id:
session = unit.query(Session).get(session_id)
return session.description
else:
environment = unit.query(Environment).get(environment_id)
return environment.description
def save_draft(session_id, draft):

View File

@ -8,17 +8,10 @@ log = logging.getLogger(__name__)
class Controller(object):
@utils.verify_session
def index(self, request, environment_id):
log.debug(_('ActiveDirectory:Index <EnvId: {0}>'.format(environment_id)))
draft = get_draft(request.context.session)
if not draft.has_key('services'):
return dict()
if not draft['services'].has_key('activeDirectories'):
return dict()
draft = prepare_draft(get_draft(environment_id, request.context.session))
return {'activeDirectories': draft['services']['activeDirectories']}

View File

@ -8,17 +8,10 @@ log = logging.getLogger(__name__)
class Controller(object):
@utils.verify_session
def index(self, request, environment_id):
log.debug(_('WebServer:List <EnvId: {0}>'.format(environment_id)))
draft = get_draft(request.context.session)
if not draft.has_key('services'):
return dict()
if not draft['services'].has_key('webServers'):
return dict()
draft = prepare_draft(get_draft(environment_id, request.context.session))
return {'webServers': draft['services']['webServers']}

View File

@ -27,8 +27,12 @@ class ActiveDirectory(base.Resource):
class ActiveDirectoryManager(base.Manager):
resource_class = ActiveDirectory
def list(self, environment_id, session_id):
headers = {'X-Configuration-Session': session_id}
def list(self, environment_id, session_id=None):
if session_id:
headers = {'X-Configuration-Session': session_id}
else:
headers = {}
return self._list('environments/{id}/activeDirectories'.format(id=environment_id), 'activeDirectories',
headers=headers)
@ -56,8 +60,12 @@ class WebServer(base.Resource):
class WebServerManager(base.Manager):
resource_class = WebServer
def list(self, environment_id, session_id):
headers = {'X-Configuration-Session': session_id}
def list(self, environment_id, session_id=None):
if session_id:
headers = {'X-Configuration-Session': session_id}
else:
headers = {}
return self._list('environments/{id}/webServers'.format(id=environment_id), 'webServers',
headers=headers)