The ucs-school-import.log shows a ValidationError: {'firstname': ['"First name" is required. Please provide this information.']}

Problem

The import was not completed due to the following traceback:

2018-10-04 16:14:10 ERROR cmdline.main:137  Outer Exception catcher: ValidationError({'firstname': ['"First name" is required. Please provide this information.']},)
Traceback (most recent call last):
  File "/usr/lib/pymodules/python2.7/ucsschool/importer/frontend/cmdline.py", line 117, in main
    self.do_import()
  File "/usr/lib/pymodules/python2.7/ucsschool/importer/frontend/cmdline.py", line 95, in do_import
    importer.mass_import()
  File "/usr/lib/pymodules/python2.7/ucsschool/importer/mass_import/mass_import.py", line 70, in mass_import
    self.import_users()
  File "/usr/lib/pymodules/python2.7/ucsschool/importer/mass_import/mass_import.py", line 99, in import_users
    user_import.delete_users(users_to_delete)  # 0% - 10%
  File "/usr/lib/pymodules/python2.7/ucsschool/importer/mass_import/user_import.py", line 289, in delete_users
    success = self.do_delete(user)
  File "/usr/lib/pymodules/python2.7/ucsschool/importer/mass_import/user_import.py", line 375, in do_delete
    success = user.modify(lo=self.connection)
  File "/usr/lib/pymodules/python2.7/ucsschool/importer/models/import_user.py", line 664, in modify
    return super(ImportUser, self).modify(lo, validate, move_if_necessary)
  File "/usr/lib/pymodules/python2.7/ucsschool/lib/models/base.py", line 481, in modify
    success = self.modify_without_hooks(lo, validate, move_if_necessary)
  File "/usr/lib/pymodules/python2.7/ucsschool/importer/models/import_user.py", line 672, in modify_without_hooks
    return super(ImportUser, self).modify_without_hooks(lo, validate, move_if_necessary)
  File "/usr/lib/pymodules/python2.7/ucsschool/lib/models/base.py", line 495, in modify_without_hooks
    raise ValidationError(self.errors.copy())
ValidationError: {'firstname': ['"First name" is required. Please provide this information.']}

Investigation

Further up in ucs-school-import.log you will find the uid for the corresponding user. With this object you can search via
univention-ldapsearch uid=scheinig

udm users/user list --filter uid=scheinig |grep firstname
firstname: None

Solution

No firstname is set for the user in ldap. Via multiselect in UMC you can delete the user(s) and add them via import again, or set the firstname for each user via udm

Mastodon