def edit_user(user_id): if not g.user: flash("Access unauthorized.", "danger") return redirect("/") if g.user and session[CURR_USER_KEY] != user_id: flash("Access unauthorized.", "danger") return redirect("/") if g.user and session[CURR_USER_KEY] == user_id: regions = Region.query.all() # list of tuples for selectfield region_list = [(i.id, i.city) for i in regions] form = UserInfoForm() #passing selectfield choice into the form form.region_id.choices = region_list if form.validate_on_submit(): user = User.query.get_or_404(user_id) if form.image_url.data: user.image_url = form.image_url.data if form.bio.data: user.bio = form.bio.data if form.website.data: user.website = form.website.data if form.region_id.data: user.region_id = form.region_id.data db.session.add(user) db.session.commit() return redirect(f'/users/{user_id}') return render_template('users/user-add-info.html', form=form)
def home(): form = UserInfoForm() if form.validate_on_submit(): if request.method == 'POST': name = request.form['name'] weight = float(request.form['weight']) height = float(request.form['height']) age = int(request.form['age']) gender = request.form['gender'] phys_act = request.form['physical_activity'] tdee = algo.calc_tdee(name, weight, height, age, gender, phys_act) return redirect(url_for('result', tdee=tdee)) return render_template('home.html', title="Diet App", form=form)
def add_userinfo(): """ Add a userinfo to the database """ check_admin() add_userinfo = True form = UserInfoForm() if form.validate_on_submit(): userinfo = mongo.db.userInfo # userinfo = UserInfo(name=form.name.data, # description=form.description.data) try: # add department to the database userinfo.insert({ 'name': form.name.data, 'passward': form.passward.data, 'nickname': form.nickname.data, 'tel': form.tel.data, 'head_picture': form.head_picture.data, 'gender': form.gender.data, 'region': form.region.data, 'signature': form.signature.data }) flash(u'您已经成功添加一个用户信息') except: # in case department name already exists flash(u'错误: 该用户信息已存在') # redirect to departments page return redirect(url_for('admin.list_userinfos')) # load department template return render_template('admin/userinfos/userinfo.html', action="Add", add_userinfo=add_userinfo, form=form, title=u"添加用户信息")
def editProfile(): form = UserInfoForm() db = get_db() cur = db.cursor() user = cur.execute( 'SELECT * FROM USER WHERE Email=?', (g.user['Email'], )).fetchone( ) #gets the current logged in user to pass to editProfile.html if form.validate_on_submit( ): #update g.user table with entered information cur.execute( 'UPDATE USER SET Email=?, First_name=?, Last_name=?, Dob=?, Street_address =?, City=?, Province=?, Postal_code=? WHERE Email=?', ( form.email.data, form.fname.data, form.lname.data, form.dob.data, form.street.data, form.city.data, form.province.data, form.postalCode.data, g.user['Email'], )) db.commit() cur.close() return redirect(url_for('profile')) elif request.method == 'GET': #populates the form with the current_user's information form.email.data = user[0] form.fname.data = user[2] form.lname.data = user[3] form.dob.data = datetime.strptime(user[4], '%Y-%m-%d') form.street.data = user[5] form.city.data = user[6] form.province.data = user[7] form.postalCode.data = user[8] return render_template('editProfile.html', form=form, user=user)
def edit_userinfo(name): """ Edit a userinfo """ check_admin() add_userinfo = False userinfo = mongo.db.userInfo.find({"name": name}) userinfos = mongo.db.userInfo # userinfos.remove({'name': name}) edit_user = { 'name': u"待赋值", 'passward': u"待赋值", 'nickname': u"待赋值", 'tel': u"待赋值", 'head_picture': u"待赋值", 'gender': u"待赋值", 'region': u"待赋值", 'signature': u"待赋值" } userinfoarray = UserInfoArray(name=u"待赋值", passward=u"待赋值", nickname=u"待赋值", tel=u"待赋值", head_picture=u"待赋值", gender=u"待赋值", region=u"待赋值", signature=u"待赋值") for s in userinfo: userinfoarray.name = s['name'] userinfoarray.passward = s['passward'] userinfoarray.nickname = s['nickname'] userinfoarray.tel = s['tel'] userinfoarray.head_picture = s['head_picture'] userinfoarray.gender = s['gender'] userinfoarray.region = s['region'] userinfoarray.signature = s['signature'] form = UserInfoForm(obj=userinfoarray) userinfos.remove({'name': name}) if form.validate_on_submit(): edit_user['name'] = form.name.data edit_user['passward'] = form.passward.data edit_user['nickname'] = form.nickname.data edit_user['tel'] = form.tel.data edit_user['head_picture'] = form.head_picture.data edit_user['gender'] = form.gender.data edit_user['region'] = form.region.data edit_user['signature'] = form.signature.data # db.session.commit() userinfos.insert(edit_user) flash(u'您已经成功修改用户信息') # redirect to the duserinfos page return redirect(url_for('admin.list_userinfos')) for s in userinfo: form.passward.data = s['passward'] form.name.data = s['name'] # form.passward.data = userinfo[0]['passward'] # form.name.data = userinfo[0]['name'] return render_template('admin/userinfos/userinfo.html', action="Edit", add_userinfo=add_userinfo, form=form, userinfo=userinfo, title=u"修改用户信息")