Ejemplo n.º 1
0
def update_profile():
    user = User.find_by_username(username=current_user.username)
    city = City.get_id_by_name(_name=current_user.city)
    form = ProfileUpdateForm(city=city.uuid, bld_grp=user.bld_grp, sex=user.sex, pan=user.pan,
                             organ_donation=bool(user.organ_donation),
                             bld_donation=bool(user.bld_donation))
    form.city.choices = [(city.uuid, city.name) for city in City.find_by_state('Kerala')]

    role = Role.find_by_id(current_user.role)
    print('user role is ', role.name)
    print(form.validate_on_submit())
    print(form.errors)
    if 'pan' in form.errors:
        flash("PAN is a mandatory field \n PAN will always be a of 10 characters length")
        return render_template("update_profile.html", form=form, role=role.name)
    print('log')
    if form.validate_on_submit():
        user.uname = form.uname.data
        user.mail = form.mail.data
        user.dob = form.dob.data
        user.age = get_age(form.dob.data)
        user.pan = form.pan.data
        user.name = form.name.data
        user.sex = form.sex.data
        user.bld_grp = form.bld_grp.data
        user.addr = form.addr.data
        user.state = form.state.data
        curr_city = City.get_by_id(form.city.data)
        user.city = curr_city.name
        user.po_num = form.pincode.data
        user.mobile = form.mobile.data
        user.aadhar = form.aadhar.data
        # user_role = form.role.data
        user.organ_donation = bool(strtobool(form.organ_donation.data))
        user.bld_donation = bool(strtobool(form.bld_donation.data))
        # role = Role.find_by_id(user_role)
        user.role = role.uuid
        user.save_to_db()
        print('user_id=', user.uuid, 'selected_role_id=', role.uuid, 'selected_role_name=', role.name)
        print('user_id=', user.uuid, 'role_id_db=', user.role, )
        return redirect(url_for("view_profile"))
    return render_template("update_profile.html", form=form, role=role.name, auth=is_auth())