Signed-off-by: Patrick Uiterwijk <puiterwijk@redhat.com>
Signed-off-by: Simo Sorce <simo@redhat.com>
# Copyright (C) 2014 Ipsilon contributors, see COPYING file for license
# 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
from ipsilon.login.common import LoginFormBase, LoginManagerBase
from ipsilon.login.common import FACILITY
from ipsilon.util.plugin import PluginObject
except ImportError:
CLA_GROUPS = dict()
except ImportError:
CLA_GROUPS = dict()
+fas_mapping = {
+ 'username': 'nickname',
+ 'telephone': 'phone',
+ 'country_code': 'country',
+ 'human_name': 'fullname',
+ 'email': 'email',
+ 'timezone': 'timezone',
+}
+
class FAS(LoginFormBase):
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")
def POST(self, *args, **kwargs):
username = kwargs.get("login_name")
password = kwargs.get("login_password")
return self._template(self.formtemplate, **context)
def make_userdata(self, fas_data):
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'] = []
# 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
for group in fas_data.get('approved_memberships', {}):
if 'name' not in group:
continue