Projet

Général

Profil

Bug #3780

crash lors de la création d'un user local

Ajouté par Thomas Noël il y a plus de 10 ans. Mis à jour il y a plus de 10 ans.

Statut:
Rejeté
Priorité:
Normal
Assigné à:
-
Version cible:
-
Début:
10 octobre 2013
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Planning:

Description

Conditions Orléans (mode dev) : utilisateurs locaux et SAML2, stockage SQL.

Lors de la création d'un nouvel utilisateur, crash :

Exception:
  type = '<type 'exceptions.AttributeError'>', value = ''NoneType' object has no attribute 'get''

Stack trace (most recent call first):
  File "/usr/lib/python2.7/dist-packages/wcs/sql.py", line 373, in get_sql_dict_from_data
   371             if sql_type is None:
   372                 continue
>  373             value = data.get(field.id)
   374             if value is not None:
   375                 if field.key == 'ranked-items':

  locals:
     sql_type = 'varchar'
     sql_dict = {}
     formdef = <ERROR WHILE PRINTING VALUE>
     self = <SqlUser 'Utilisateur inconnu' id:None>
     field = <fields.ItemField instance at 0x25e6908>
     data = None

  File "/usr/lib/python2.7/dist-packages/wcs/sql.py", line 751, in store
   749             sql_dict['last_seen'] = datetime.datetime.fromtimestamp(self.last_seen),
   750
>  751         sql_dict.update(self.get_sql_dict_from_data(self.form_data, self.get_formdef()))
   752
   753         conn, cur = get_connection_and_cursor()

  locals:
     self = <SqlUser 'Utilisateur inconnu' id:None>
     sql_dict = {'identification_token': None, 'is_admin': True, 'name': None, 'roles': None, 'name_identifiers': [], 'last_seen': None, 'a
nonymous': False, 'email': None, 'lasso_dump': None}

  File "/usr/lib/python2.7/dist-packages/wcs/sql.py", line 95, in f
    93         except psycopg2.Error:
    94             get_connection().rollback()
>   95             raise
    96     return f
    97

  locals:
     args = (<SqlUser 'Utilisateur inconnu' id:None>,)
     func = <function store at 0x2c8ccf8>
     kwargs = {}

  File "/usr/lib/python2.7/dist-packages/wcs/admin/users.ptl", line 97, in submit_form
    95         # user is stored first so it get an id; necessary for some ident
    96         # methods
>   97         self.user.store()
    98
    99         ident_methods = get_cfg('identification', {}).get('methods', [])

  locals:
     widget = <WidgetList at 2c8bc90: roles>
     self = <wcs.admin.users.UserUI instance at 0x29ae2d8>
     form = <qommon.form.Form object at 0x2c8ba10>
     f = 'roles'

  File "/usr/lib/python2.7/dist-packages/wcs/admin/users.ptl", line 404, in new
   402             form.render()
   403         else:
>  404             user_ui.submit_form(form)
   405             if first_user:
   406                 req = get_request()

  locals:
     ident_methods = ['password', 'idp']
     form = <qommon.form.Form object at 0x2c8ba10>
     first_user = False
     self = <wcs.admin.users.UsersDirectory object at 0x18d4650>
     _q_output = <TemplateIO object at 0x2372df0>
     user = <SqlUser 'Utilisateur inconnu' id:None>
     user_ui = <wcs.admin.users.UserUI instance at 0x29ae2d8>

  File "/usr/lib/pymodules/python2.7/quixote/directory.py", line 67, in _q_traverse
    65                 raise TraversalError
    66         elif hasattr(obj, '__call__'):
>   67             return obj()
    68         else:
    69             return obj

  locals:
     component = 'new'
     self = <wcs.admin.users.UsersDirectory object at 0x18d4650>
     obj = <bound method UsersDirectory.new of <wcs.admin.users.UsersDirectory object at 0x18d4650>>
     name = 'new'
     path = []

  File "/usr/lib/pymodules/python2.7/quixote/directory.py", line 63, in _q_traverse
    61         if path:
    62             if hasattr(obj, '_q_traverse'):
>   63                 return obj._q_traverse(path)
    64             else:
    65                 raise TraversalError

  locals:
     component = 'users'
     self = <modules.admin.AdminRootDirectory object at 0x19c31d0>
     obj = <wcs.admin.users.UsersDirectory object at 0x18d4650>
     name = None
     path = ['new']

(...)

Historique

#1

Mis à jour par Thomas Noël il y a plus de 10 ans

  • Statut changé de Nouveau à Rejeté

Le système a été configuré pour que l'IdP gère les attributs... d'où l'erreur, "normale", du moins qui ne sera pas corrigée pour l'instant.

Formats disponibles : Atom PDF