diff options
author | Patrick Uiterwijk <puiterwijk@redhat.com> | 2014-10-24 19:25:19 +0200 |
---|---|---|
committer | Patrick Uiterwijk <puiterwijk@redhat.com> | 2014-10-24 19:47:17 +0200 |
commit | b9a969e989f6a84e945b8656ae79712d00d8a5be (patch) | |
tree | 42b7d2d30361787aab463d9cde94d93c479a6e5e /ipsilon/login | |
parent | dcc545ed447feadb1ed6d53ab70311ed0d2123c3 (diff) | |
download | ipsilon-b9a969e989f6a84e945b8656ae79712d00d8a5be.tar.gz ipsilon-b9a969e989f6a84e945b8656ae79712d00d8a5be.tar.xz ipsilon-b9a969e989f6a84e945b8656ae79712d00d8a5be.zip |
Map some common attributes from fas to userdata
Signed-off-by: Patrick Uiterwijk <puiterwijk@redhat.com>
Signed-off-by: Simo Sorce <simo@redhat.com>
Diffstat (limited to 'ipsilon/login')
-rwxr-xr-x | ipsilon/login/authfas.py | 20 |
1 files changed, 17 insertions, 3 deletions
diff --git a/ipsilon/login/authfas.py b/ipsilon/login/authfas.py index 8f05e82..2759626 100755 --- a/ipsilon/login/authfas.py +++ b/ipsilon/login/authfas.py @@ -3,6 +3,7 @@ # Copyright (C) 2014 Ipsilon contributors, see COPYING file for license +from ipsilon.info.common import InfoMapping from ipsilon.login.common import LoginFormBase, LoginManagerBase from ipsilon.login.common import FACILITY from ipsilon.util.plugin import PluginObject @@ -28,9 +29,23 @@ try: except ImportError: CLA_GROUPS = dict() +fas_mapping = { + 'username': 'nickname', + 'telephone': 'phone', + 'country_code': 'country', + 'human_name': 'fullname', + 'email': 'email', + 'timezone': 'timezone', +} + class FAS(LoginFormBase): + def __init__(self, site, mgr, page): + super(FAS, self).__init__(site, mgr, page) + self.mapper = InfoMapping() + self.mapper.set_mapping(fas_mapping) + def POST(self, *args, **kwargs): username = kwargs.get("login_name") password = kwargs.get("login_password") @@ -66,12 +81,11 @@ class FAS(LoginFormBase): return self._template(self.formtemplate, **context) def make_userdata(self, fas_data): - userdata = dict() - userdata['fas'] = fas_data + userdata, fas_extra = self.mapper.map_attrs(fas_data) # compute and store groups and cla groups userdata['groups'] = [] - userdata['extras'] = {'cla': []} + userdata['extras'] = {'fas': fas_extra, 'cla': []} for group in fas_data.get('approved_memberships', {}): if 'name' not in group: continue |