def edit_user():
    form = UserForm(request.form)

    # if request.method == 'POST':
    if request.form['type_'] == "save":
        if not form.validate_on_submit():
            flash('Please enter all the fields', 'error')
        else:
            defer = 0
            if "defer" in request.form: defer = 1
            print(defer)
            db.session.query(User).filter_by(id = request.form['id']).update({User.name: request.form['name'], User.username: request.form['username'], \
                User.password: request.form['password'], User.email: request.form['email'], User.phone: request.form['phone'], User.profession: request.form['profession'], \
                User.country: "##".join(request.form.getlist('country')), User.dates: request.form['dates'], \
                User.locations: "##".join(request.form.getlist('locations_')), User.defer: defer, User.test_date: request.form['test_date']}, synchronize_session = False)
            db.session.commit()
            flash('Record was successfully updated')
            return redirect(url_for('admin'))
    else:
        user_ = User.query.filter_by(id=request.form['user_id']).first()
        user_.country = user_.country.split("##")
        user_.locations = user_.locations.split("##")
        # user_.dates = user_.dates.split(",")
        pprint.pprint(user_.country)
    return render_template('user.html', form=form, user=user_)
def add_user():
    form = UserForm(request.form)

    if 'type_' in request.form:  # == "save":
        # print(len(request.form.getlist('country')))
        # pprint.pprint(request.form.getlist('country'))
        # # print(request.form.getlist('country')[1])
        # print(len(request.form.getlist('locations_')))
        # print("#############################")
        if not form.validate_on_submit():
            flash('Please enter all the fields', 'error')
        else:
            defer = 0
            if "defer" in request.form: defer = 1
            user_ = User(request.form['name'], request.form['username'], request.form['password'], request.form['email'], request.form['phone'], \
                request.form['profession'], "##".join(request.form.getlist('country')), request.form['dates'],  \
                "##".join(request.form.getlist('locations_')), defer, request.form['test_date'])

            db.session.add(user_)
            db.session.commit()
            flash('Record was successfully added')
            return redirect(url_for('admin'))

    return render_template(
        'user.html',
        form=form,
    )
def edit_user():  
    form = UserForm(request.form)
    
    # if request.method == 'POST':
    if request.form['type_'] == "save":
        if not form.validate_on_submit():
            flash('Please enter all the fields', 'error')
        else:
            str = ''
            for i in range(len(request.form.getlist('td_search[]'))):
                if request.form.getlist('td_search[]')[i]:
                    if str != '' :
                        str += ','
                    str += '{"s": "' + request.form.getlist('td_search[]')[i] +'", '
                    str += '"m": "' + request.form.getlist('td_miles[]')[i] +'", '
                    str += '"t": "' + request.form.getlist('td_time[]')[i] +'"}'
            str = '{"locationList":[' + str +']}'
           
            
            db.session.query(User).filter_by(id = request.form['id']).update({User.name: request.form['name'], User.user_id: request.form['user_id'], User.password: request.form['password'], User.email: request.form['email'], User.phone: request.form['phone'], User.dates: request.form['dates'], User.locations: str}, synchronize_session = False)
            db.session.commit()
            flash('Record was successfully updated')
            return redirect(url_for('admin'))   
    else:
        user_ = User.query.filter_by(id=request.form['user_id']).first()
    user_.locations = json.loads(user_.locations)
    return render_template('user.html', form=form, user=user_)
def add_user():
    form = UserForm(request.form)
    
    if 'type_' in request.form:# == "save":

        if not form.validate_on_submit():
            flash('Please enter all the fields', 'error')
        else:
            str = ''
            for i in range(len(request.form.getlist('td_search[]'))):
                if request.form.getlist('td_search[]')[i]:
                    if str != '' :
                        str += ','
                    str += '{"s": "' + request.form.getlist('td_search[]')[i] +'", '
                    str += '"m": "' + request.form.getlist('td_miles[]')[i] +'", '
                    str += '"t": "' + request.form.getlist('td_time[]')[i] +'"}'
            str = '{"locationList":[' + str +']}'

            user_ = User(request.form['name'], request.form['user_id'], request.form['password'], request.form['email'], request.form['phone'], request.form['dates'], str)
            
            db.session.add(user_)
            db.session.commit()
            flash('Record was successfully added')
            return redirect(url_for('admin'))   
    
    form.locations = [{"search": "", "miles": "", "time": ""}]
    return render_template('user.html', form=form, )
Example #5
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)