Exemplo n.º 1
0
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)
Exemplo n.º 2
0
def save_info(request):
    if request.method == 'POST':
        form = UserInfoForm(request.POST)
        if form.is_valid():
            #form.cleaned_data["xx"] mobile_no, nickname, user_type
            user_info = User_Info(user = request.user, **form.cleaned_data) 
            user_info.save()
    return HttpResponseRedirect("/person/myinfo/")
Exemplo n.º 3
0
def save_info(request):
    if request.method == 'POST':
        form = UserInfoForm(request.POST)
        if form.is_valid():
            #form.cleaned_data["xx"] mobile_no, nickname, user_type
            user_info = User_Info(user=request.user, **form.cleaned_data)
            user_info.save()
    return HttpResponseRedirect("/person/myinfo/")
Exemplo n.º 4
0
 def post(self, request):
     # 添加操作需要带instance
     user_info_form = UserInfoForm(request.POST, instance=request.user)
     if user_info_form.is_valid():
         user_info_form.save()
         return JsonResponse({"status": "success"})
     else:
         return HttpResponse(json.dumps(user_info_form.errors))
Exemplo n.º 5
0
 def post(self, request):
     user_info_form = UserInfoForm(request.POST, instance=request.user)
     if user_info_form.is_valid():
         user_info_form.save()
         return HttpResponse('{"status":"success","msg":"修改成功"}',
                             content_type='application/json')
     else:
         return HttpResponse(json.dumps(user_info_form.errors),
                             content_type='application/json')
Exemplo n.º 6
0
 def post(self, request, *args, **kwargs):
     user_info_form = UserInfoForm(request.POST)
     if user_info_form.is_valid():
         user_info = UserInfo.objects.get(pk=user_info_form.data['pk'])
         user_info.circle = Circle.objects.filter(pk=user_info_form.data['circle'])
         user_info.notes = user_info_form.data['notes']
         contact = Contact.objects.get(
                 optional_informations__pk=user_info_form.data['pk'])
         contact.optional_informations = user_info
         contact.save()
         user_info.save()
         return HttpResponseRedirect(reverse('contact_detail',
             kwargs={'pk': contact.pk}))
Exemplo n.º 7
0
 def test_user_info_model_form(self):
     """Test for model form mapped to model with user info"""
     form_data = {'name': "Vitalyi",
                  'last_name': "Rudyi",
                  'date_of_birth': "1983-03-23",
                  'email': "*****@*****.**",
                  'jabber': "*****@*****.**",
                  'skype': "ditto_marks",
                  'photo': "some_photo.jpg",
                  'bio': "Bio information<br />more lines goes here...",
                  'other_contacts': "ICQ: 329193784<br />" +
                  "secondary email: [email protected]"}
     form = UserInfoForm(data=form_data)
     self.assertTrue(form.is_valid())
Exemplo n.º 8
0
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)
Exemplo n.º 9
0
def settings():
    info_form = UserInfoForm(obj=current_user)
    filter_form = FilterForm(obj=current_user.filters)
    # Modifying User Info
    # if info_form.validate_on_submit():
    #     current_user.username = info_form.username.data
    #     current_user.description = info_form.description.data
    #     current_user.avatar = info_form.avatar.data
    #     current_user.email = info_form.email.data
    #     db.session.commit()
    #     return redirect(url_for('users.settings'))
    # Modifying User Filter
    if filter_form.validate_on_submit():
        current_user.filters.price_min = filter_form.price_min.data
        current_user.filters.price_max = filter_form.price_max.data
        current_user.filters.calorie_min = filter_form.calorie_min.data
        current_user.filters.calorie_max = filter_form.calorie_max.data
        current_user.filters.meal_type = filter_form.meal_type.data
        current_user.filters.meal_style = filter_form.meal_style.data
        current_user.filters.dietary_preferences = filter_form.dietary_preferences.data
        current_user.filters.cooking_time_min = filter_form.cooking_time_min.data
        current_user.filters.cooking_time_max = filter_form.cooking_time_max.data
        db.session.commit()
        return redirect(url_for('users.settings'))
    return render_template('settings.html',
                           user_info=current_user,
                           info_form=info_form,
                           filter_form=filter_form)
Exemplo n.º 10
0
def resetPasswd(request):
  reponse = dict()
  reponse.update(status = 0, msg = '录入信息错误,请重新录入!')
  msg = ''
  if request.method == 'POST':
    form = UserInfoForm(request.POST)
    if form.is_valid():
      if not checkIdAndEmail(form.cleaned_data['userId'], form.cleaned_data['email']):
        msg = '用户名或邮箱错误,请重新录入!'
      else:
        userInfo = getUserByUserId(form.cleaned_data['userId'])
        userInfo.passwd = form.cleaned_data['passwd']
        userInfo.changeFlag = ''
        userInfo.put();
        msg = '密码重设成功!'
        reponse.update(status = 1)
  if msg != '':
    reponse.update(msg = msg)
  return HttpResponse(json.dumps(reponse),mimetype='application/json')
Exemplo n.º 11
0
def user_edit():
    user = checkUser()
    if user == '':
        return redirect('/')
    form = UserInfoForm()
    return render_template(
        'user_edit.html',
        form=form,
        user=user,
        base64=base64
    )
Exemplo n.º 12
0
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"添加用户信息")
Exemplo n.º 13
0
def regUser(request):
  reponse = dict()
  reponse.update(status = 0, msg = '录入信息错误,请重新录入!')
  msg = ''
  if request.method == 'POST':
    form = UserInfoForm(request.POST)
    if form.is_valid():
      if checkUserId(form.cleaned_data['userId']):
        msg = '用户名已存在!'
      elif checkEmail(form.cleaned_data['email']):
        msg = '邮箱已存在!'
      else:
        userInfo = UserInfo()
        userInfo.userId = form.cleaned_data['userId']
        userInfo.email = form.cleaned_data['email']
        userInfo.passwd = form.cleaned_data['passwd']
        userInfo.create();
        msg = '注册成功!'
        reponse.update(status = 1)
  if msg != '':
    reponse.update(msg = msg)
  return HttpResponse(json.dumps(reponse),mimetype='application/json')
Exemplo n.º 14
0
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)
Exemplo n.º 15
0
def main_edit_update(request, item_id):
    template = "testTicketsApp/main_edit.html"
    try:
        item = get_object_or_404(UserInfo, pk=item_id)
        context = dict({'user_info': item})
    except (KeyError, UserInfo.DoesNotExist):
        template = 'testTicketsApp/errors.html'
        context = dict({'error_message': 'Edit: UserInfo by id %s - not hound' % item_id})
    else:
        form = UserInfoForm(request.POST or None, request.FILES or None, instance=item)
        context.update({'form': form})
        request_method = request.method

        if request_method == 'POST':
            if request.is_ajax():
                if form.is_valid():
                    form.save()
                    return HttpResponseRedirect(reverse('update', kwargs={'item_id': item_id}))
            else:
                template = 'testTicketsApp/errors.html'
                context = dict({'error_message': 'Update user contact info: Post is not ajax'})

    return render(request, template, context)
Exemplo n.º 16
0
def user_info_edit(request):
    userinfo = get_object_or_404(UserInfo)
    if request.method == 'POST':
        form = UserInfoForm(request.POST, request.FILES, instance=userinfo)
        if form.is_valid():
            form.save()
            if request.is_ajax():
                return HttpResponse("success")
            else:
                return redirect(reverse('home'))
    else:
        form = UserInfoForm(instance=userinfo)
    return render(request, 'hello/edit.html', {'form': form})
Exemplo n.º 17
0
def user(id):
    user = checkUser()
    user_info = Users.query.filter_by(id = id).all()[0]
    user_blog = Blogs.query.filter_by(user_id = id).order_by(Blogs.created_at.desc()).limit(2).all()
    user_comment = Comments.query.filter_by(user_id = id).order_by(Comments.created_at.desc()).limit(2).all()
    form = UserInfoForm()
    return render_template(
        'user_index.html',
        user = user,
        user_info = user_info,
        user_blog = user_blog,
        user_comment = user_comment,
        base64 = base64,
        form = form
    )
Exemplo n.º 18
0
def updateInfo(request):
  reponse = dict()
  reponse.update(status = 0, msg = '录入信息错误,请重新录入!')
  if not userApi.checkUserAuth(request):
    reponse.update(msg = '请重新登录系统重试!')
    return HttpResponse(json.dumps(reponse),mimetype='application/json')
  
  msg = ''
  if request.method == 'POST':
    form = UserInfoForm(request.POST)
    if form.is_valid():
      if not userApi.authService(form.cleaned_data['userId'], form.cleaned_data['passwd']):
        msg = '密码不正确!'
      else:
        userInfo = userApi.getUserByUserId(form.cleaned_data['userId'])
        userInfo.email = form.cleaned_data['email']
        remarks = form.cleaned_data['remark']
        userInfo.remark = remarks
        userInfo.put();
        msg = '信息更新成功!'
        reponse.update(status = 1)
  if msg != '':
    reponse.update(msg = msg)
  return HttpResponse(json.dumps(reponse),mimetype='application/json')
Exemplo n.º 19
0
def submit_userinfo(request, appId):
    if request.method == 'GET':
        form = UserInfoForm()
        return render_to_response('userinfo.html',{'form':form}, context_instance=RequestContext(request))
    else:
        form = UserInfoForm(request.POST)
        if form.is_valid():
            form = form.save(commit=False)
            app = AppFactory.objects.filter(id=appId)
            if app:
                form.app = app[0]
                form.save()
                return render_to_response('userinfo.html',{'form':form,'done':'done'}, context_instance=RequestContext(request))
        else:
            return render_to_response('userinfo.html',{'form':form,'done':'app not exist'}, context_instance=RequestContext(request))
Exemplo n.º 20
0
def user_info():
	"""
		Grab user's profile information into the database
		user sign up page, user must log in successfully before getting to this page
	"""

	if not is_loggedin():
		return redirect(url_for('login'))
	form=UserInfoForm()
	if request.method=='POST':
		userInfo=UserInfo(form.nickName.data, form.email.data, form.phone.data, form.city.data, 
			form.state.data, form.zipcode.data, form.education.data, form.sports.data,form.arts.data,
			form.travel.data,form.music.data,form.reading.data,form.gardening.data, form.nature.data,
			form.snowboard.data,form.food.data)
		db.session.add(userInfo) #add returned data to user table in the database 
		db.session.commit()
		return redirect(url_for('home'))

	elif request.method=='GET':
		return render_template('user_info.html',form=form)
Exemplo n.º 21
0
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"修改用户信息")
Exemplo n.º 22
0
def edit_home(request):
    delete_old = False
    storage = None
    path = None
    userinfo = UserInfo.objects.first()
    if not userinfo:
        return HttpResponse('User profile not found in database')
    if userinfo.photo:
        delete_old = True
        storage = userinfo.photo.storage
        path = userinfo.photo.path
    form = UserInfoForm(request.POST or None,
                        request.FILES or None,
                        instance=userinfo)
    if request.method == 'POST':
        form_is_valid = False
        if form.is_valid():
            form.save()
            form_is_valid = True
            form_new = UserInfoForm(instance=userinfo)
            if delete_old and (path != '.') and (path != '/'):
                if os.path.isfile(path):
                    if form_new.instance.photo:
                        if path != form_new.instance.photo.path:
                            storage.delete(path)
                    else:
                        storage.delete(path)
        if request.is_ajax():
            results = {'result': 'error',
                       'errors': {},
                       'photo_url': '',
                       'photo_field': ''}
            if form_is_valid:
                if form_new.instance.photo:
                    results['photo_url'] = form_new.instance.photo.url
                context = {'form': form_new}
                results['photo_field'] = \
                    render_to_string('userinfo/'
                                     'ajax_update_photo_field.html',
                                     context)
                results['result'] = 'success'
            else:
                results['result'] = 'error'
                for k in form.errors:
                    results['errors'][k] = form.errors[k][0]
            data = json.dumps(results)
            return HttpResponse(data, content_type='application/json')
        else:
            if form_is_valid:
                messages.success(request, 'Changes have been saved')
                return HttpResponseRedirect(reverse('userinfo:edit_home'))
            else:
                messages.error(request,
                               'Error occured saving form data,'
                               ' check fields...')
    photo_exists = False
    if form.instance.photo:
        if os.path.isfile(form.instance.photo.path):
            photo_exists = True
    context = {'form': form,
               'photo_exists': photo_exists,
               'messages': get_messages(request)}
    return render(request, 'userinfo/edit_home.html', context)