def cse(): dossiers_cse = DossierCSE.objects() role_anonyme = user_datastore.find_role('CSE-Anonyme') users_cse_anonyme = [user.prenom + ' ' + user.nom for user in User.objects(roles=role_anonyme)] role_dossier = user_datastore.find_role('CSE-Dossier') users_cse_dossier = [user.prenom + ' ' + user.nom for user in User.objects(roles=role_dossier)] return render_template('cse.html', dossiers_cse=dossiers_cse, users_cse_anonyme=users_cse_anonyme, users_cse_dossier=users_cse_dossier)
def admin(id=None): if id: user = User.objects.get(id=id) raw_user = user.to_mongo() raw_user.pop('roles') user_form = UserForm(request.form, roles=[r.name for r in user.roles], **raw_user) title_aside = u'Modifier l\'utilisateur' else: user = User() user_form = UserForm() title_aside = u'Créer un utilisateur' if user_form.associations.data: user_form.associations.choices = make_choices(user_form.associations_choices, selected=user_form.associations.data, name='Associations') if user_form.roles.data: user_form.roles.choices = make_choices(user_form.roles_choices, selected=user_form.roles.data, name=u'Rôles') if user_form.validate_on_submit(): user.email = user_form.email.data user.nom = user_form.nom.data user.prenom = user_form.prenom.data if user_form.password.data: user.password = encrypt_password(user_form.password.data) roles_list = [user_datastore.find_or_create_role(role_name).to_dbref() for role_name in user_form.roles.data] user.roles = roles_list user.associations = user_form.associations.data user.save() if id: return redirect('/admin') def pretty_dict(_dict, key): return ', '.join([getattr(r, key) for r in _dict]) users = User.objects() return render_template('admin.html', users=users, arrow=arrow, user_form=user_form, title_aside=title_aside, pretty_dict=pretty_dict)