merge
This commit is contained in:
commit
20568b2010
|
@ -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">'
|
||||
|
|
|
@ -7,4 +7,5 @@ class Collectivity(StorableObject):
|
|||
name = None
|
||||
own_idp = None
|
||||
propose_msp = True
|
||||
msp_tsid = None
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
Reference in New Issue