This commit is contained in:
root 2008-11-13 09:27:51 +01:00
commit 20568b2010
3 changed files with 17 additions and 21 deletions

View File

@ -96,28 +96,13 @@ class CollectivityUI:
def form(self, new = False):
form = Form(enctype="multipart/form-data")
if new:
form.add(StringWidget, 'id', title = _('Collectivity Id'), required = True, size = 30,
form.add(StringWidget, 'id', title = _('Collectivity SPL Id'),
required = True, size = 30,
value = self.collectivity.id)
form.add(StringWidget, 'name', title = _('Name'), required = True, size = 30,
value = self.collectivity.name)
options = [('', _('None'))]
for klp, lp in get_cfg('providers', {}).items():
if lp['role'] != lasso.PROVIDER_ROLE_IDP:
continue
p = lasso.Provider(lp['role'],
misc.get_abs_path(lp['metadata']),
misc.get_abs_path(lp.get('publickey')),
misc.get_abs_path(lp.get('cacertchain')))
if not p:
continue
label = misc.get_provider_and_label(klp)[1]
if not label:
label = klp
options.append((p.providerId, label))
form.add(SingleSelectWidget, 'own_idp', title = _('Collectivity Own Identity Provider'),
options = options, value = self.collectivity.own_idp)
form.add(CheckboxWidget, 'propose_msp', title = _('Propose MSP as Identity Provider'),
value = self.collectivity.propose_msp)
form.add(StringWidget, 'msp_tsid', title = _('MSP tsId'), required = False, size = 10,
value = self.collectivity.msp_tsid)
form.add_submit('submit', _('Submit'))
form.add_submit('cancel', _('Cancel'))
return form
@ -129,7 +114,7 @@ class CollectivityUI:
return self.form()
def submit_form(self, form):
for f in ('id', 'name', 'own_idp', 'propose_msp'):
for f in ('id', 'name', 'msp_tsid'):
if form.get_widget(f):
setattr(self.collectivity, f, form.get_widget(f).parse())
@ -188,7 +173,6 @@ class AdelineSettingsDirectory(Directory):
html_top('adeline')
'<p><a href="newcollectivity">%s</a> - ' % _('New Collectivity')
'<a href="newnationalservice">%s</a> - '% _('New National Service')
'<a href="mspmapping">%s</a> - ' % _('SP Mapping for MSP')
'<a href="options">%s</a></p>' % _('Options')
'<h2>%s</h2>' % _('Collectivities')
@ -197,6 +181,7 @@ class AdelineSettingsDirectory(Directory):
'<li>'
'<strong>%s</strong>' % collectivity.name
'<p class="details">'
_('SPL Code: ')
collectivity.id
'</p>'
'<p class="commands">'

View File

@ -7,4 +7,5 @@ class Collectivity(StorableObject):
name = None
own_idp = None
propose_msp = True
msp_tsid = None

View File

@ -28,6 +28,8 @@ import misc
import authentic.liberty.root
from authentic.liberty.root import SOAPError
import collectivity
ED_MIGRATION_DISABLED = False
ED_DOCUMENTS_MIGRATION_DISABLED = True
@ -98,6 +100,14 @@ class AlternateLibertyDirectory(authentic.liberty.root.RootDirectory):
continue_home = ('/',_('Home'))
server = authentic.misc.get_lasso_server(lasso.PROVIDER_ROLE_SP)
if get_field('tsId'):
for coll in collectivity.Collectivity.select():
if coll.msp_tsid == get_field('tsId'):
resp = get_response()
resp.set_header('X-Gdd-Account-Number', coll.id)
break
if session.msp_login_dump:
login = lasso.Login.newFromDump(server, session.msp_login_dump)
session.msp_login_dump = None