elixir-luxembourg / daisy

Data Information System (DAISY) is a data bookkeeping application designed to help Biomedical Research institutions with their GDPR compliance.
GNU Affero General Public License v3.0
13 stars 10 forks source link

Extend user importer to import from local json (in addition to LDAP) #164

Open pinarpink opened 4 years ago

pinarpink commented 4 years ago

Currently the import_users command only imports from an LDAP directory (if an LDAP connection is configured).

For running tutorials/workshops, also for cases of local users we require the ability to import user definitions from a json file (much like the project and datasets importer) OR ALTERNATIVELY

The current interface in Django admin for creating a new user does not seem to work. The user's password is not set correctly. if this can be fixed that would also meet the requirement.

OR ALTERNATIVELY

The current User management form that is available to superusers inside DAISY has no field to update password. If such a field is added that would also meet the requirement.

jLebioda commented 4 years ago

I will first fix the django-admin issue.

The admin interface will display more information (superuser, full name) as well on Users page:

Screenshot 2020-04-30 at 13 11 47
pinarpink commented 4 years ago

@jLebioda if the password setting works from the admin, that would be ideal.

jLebioda commented 4 years ago

The creation of new user will be splitted in two steps:

1) required fields

Screenshot 2020-04-30 at 14 50 18

2) optional

Screenshot 2020-04-30 at 14 51 30

Then to change the password, there is a link below hashed value:

Screenshot 2020-04-30 at 14 52 37 Screenshot 2020-04-30 at 14 52 54
vildead commented 3 years ago

user can be created through Django admin

Is there a need to import users from JSON? If so, how should be the passwords set? Inside JSON? Prompt on first login? Only in Django Amin?

vildead commented 2 years ago

come up with detailed requiremets probably:

vildead commented 2 months ago

the code with user importer can be found here: https://github.com/elixir-luxembourg/ds-pack-deployment-example/pull/17