Esempio n. 1
0
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)
Esempio n. 2
0
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)