示例#1
0
def signup():
    form = UserForm()
    error = None
    if request.method == 'POST' and form.validate():
        firstname = form.firstname.data
        middlename = form.middlename.data
        lastname = form.lastname.data
        street = form.street.data
        district = form.district.data
        city = form.city.data
        state = form.state.data
        country = form.country.data
        username = form.username.data
        password = form.password.data
        conf_pass = form.conf_pass.data
        mobileno = form.mobile.data
        # check duplicate
        result = s.query(Person).filter(Person.firstname == \
            firstname, Person.middlename == middlename, \
            Person.lastname == lastname).count()
        if result == 0:
            create_user(s, firstname, middlename, lastname,\
                street, district, city, state, country,\
                username, password, mobileno)
            return redirect(url_for('signin'))
    return render_template("signup.html", form=form)
示例#2
0
async def _user(request, user_id=None):
    user = None
    form = UserForm(request)

    if user_id is not None:
        user = await User.get_or_404(user_id)

    if request.method in ('POST', 'PUT') and form.validate():
        name = form.name.data
        email = form.email.data
        password = form.password.data
        active = form.active.data
        avatar = form.avatar.data
        user = await User.filter(name=name).first()
        if user:
            user.email = email
            if password:
                user.password = generate_password(password)
            user.avatar = avatar
            user.active = active
            await user.save()
        else:
            password = generate_password(password)
            user = await User.create(name=name,
                                     email=email,
                                     avatar=avatar,
                                     password=password,
                                     active=active)
        ok = True
    else:
        ok = False

    return response.json({'user': await user.to_sync_dict(), 'ok': ok})
示例#3
0
def add_new():
    form = UserForm(request.form)
    if request.method == "POST" and form.validate():
        if mongo_init().users.find_one({"email": form.data.get("email")}):
            flash("User with email {} already exist".format(
                form.data.get("email")), "alert-error")
            return render_template("add_new.html", form=form)

        user = add_user(**form.data)
        history = {
            "registrationid": user["registrationid"],
            "passed_by": None,
            "cancelled_by": None,
            "created_by": g.user["username"],
            "when": datetime.datetime.now(),
            "query": None}
        mongo_init().history.insert(history)

        flash(u"User {name} ({email}) successfully registered".format(
            **user))

        return redirect("{}?query={}".format(
            url_for("registration_deck"),
            user["registrationid"]
        ))

    return render_template(
        "add_new.html", form=form)
示例#4
0
文件: admin.py 项目: ihyf/blog
async def _user(request: Request, user_id: Optional[Any] = None):
    user = None
    form = UserForm(request)

    if user_id is not None:
        user = await User.get_or_404(user_id)

    if request.method in ('POST', 'PUT') and form.validate():
        name = form.name.data
        email = form.email.data
        password = form.password.data
        active = form.active.data
        avatar = form.avatar.data
        if (user := await User.filter(name=name).first()):
            user.email = email
            if password:
                user.password = generate_password(password)
            user.avatar = avatar
            user.active = active
            await user.save()
        else:
            password = generate_password(password)
            user = await User.create(name=name, email=email, avatar=avatar,
                                     password=password, active=active)
        ok = True
示例#5
0
文件: admin.py 项目: hendmzh/hsh
def new_user():
    form = UserForm(request.form)

    print form.errors
    if request.method == 'POST':
        FName = request.form['FName']
        LName = request.form['LName']
        Username = request.form['Username']
        Email = request.form['Email']
        Password = request.form['Password']
        Gender = request.form['Gender']
        EmergencyPhone = request.form['EmergencyPhone']
        print FName, " ", LName, " ", Username, " ", Email, " ", Password, " ", Gender, " ", EmergencyPhone

        if request.method == "POST" and form.validate():
            new_user = User()
            new_user.FName = form.FName.data
            new_user.LName = form.LName.data
            new_user.Username = form.Username.data
            new_user.Email = form.Email.data
            new_user.Password = form.Password.data
            new_user.Gender = form.Gender.data
            new_user.EmergencyPhone = form.EmergencyPhone.data
            db_session.add(new_user)
            db_session.commit()
            flash('Thanks for registering, ' + FName)
        else:
            flash('Error: All the form fields are required. ')

    return render_template('newuser.html', form=form)
示例#6
0
def add_user():
    form = UserForm(request.form)
    if form.validate():
        db.session.add(User(form.data["first_name"], form.data["last_name"]))
        db.session.commit()
        return redirect(url_for("show_users"))
    return redirect(url_for("new_user"))
示例#7
0
def add_new():
    form = UserForm(request.form)
    if request.method == "POST" and form.validate():
        if mongo_init().users.find_one({"email": form.data.get("email")}):
            flash(
                "User with email {} already exist".format(
                    form.data.get("email")), "alert-error")
            return render_template("add_new.html", form=form)

        user = add_user(**form.data)
        history = {
            "registrationid": user["registrationid"],
            "passed_by": None,
            "cancelled_by": None,
            "created_by": g.user["username"],
            "when": datetime.datetime.now(),
            "query": None
        }
        mongo_init().history.insert(history)

        flash(u"User {name} ({email}) successfully registered".format(**user))

        return redirect("{}?query={}".format(url_for("registration_deck"),
                                             user["registrationid"]))

    return render_template("add_new.html", form=form)
示例#8
0
def modify_profile(userId):
    user = g.user
    profile = User.query.get(userId)
    if user.role != 3 and user.id != int(userId):
        flash("what do u think u doing thats not ur profile")
        return redirect(url_for("users.profile", userId=userId))
    form = UserForm()
    if request.method == "POST" and form.validate():
        if User.query.filter(User.id != userId).filter_by(username=form.username.data).first():
            flash("The username already exists idiot")
            return render_template("users/modify_profile.html", form=form, user=user)
        if User.query.filter(User.id != userId).filter_by(email=form.email.data).first():
            flash("The email has already been registored")
            return render_template("users/modify_profile.html", form=form, user=user)
        profile.username = form.username.data
        profile.email = form.email.data
        profile.description = form.description.data
        profile.homepage = form.homepage.data
        profile.role = form.role.data
        profile.zodiac = form.zodiac.data
        psc_db.session.commit()
        return redirect(url_for("users.profile", userId=userId))
    form.username.data = profile.username
    form.email.data = profile.email
    form.description.data = profile.description
    form.homepage.data = profile.homepage
    form.zodiac.data = profile.zodiac
    return render_template("users/modify_profile.html", form=form, user=user)
示例#9
0
def add_user():
    form = UserForm(request.form)
    if request.method == 'POST' and form.validate():
        user = User(form.username.data, form.email.data)
        db_session.add(user)
        db_session.commit()
        flash('Thanks for registering')
        return redirect(url_for('show_entries'))
    return render_template('register.html', form=form)
示例#10
0
def edit_user(id):
    user = User.query.get(id)
    form = UserForm(request.form)
    if form.validate():
        user.first_name = form.data["first_name"]
        user.last_name = form.data["last_name"]
        db.session.add(user)
        db.session.commit()
    return redirect(url_for("show_users"))
示例#11
0
def add_user():
    form = UserForm(request.form)
    if request.method == 'POST' and form.validate():
        user = User(form.username.data, form.email.data)
        db_session.add(user)
        db_session.commit()
        flash('Thanks for registering')
        return redirect(url_for('show_entries'))
    return render_template('register.html', form=form)
示例#12
0
def profile(user_id=None):
    client=currentSession()
    form = UserForm(request.form)
    if request.method == 'POST':
        if not form.validate():
            return render_template('user.html', client=client, form=form)
        else:
            client.saveUser()
            return render_template('user.html', client=client, form=form)
    return render_template('user.html', client=client, form=form)
示例#13
0
def register():
    form = UserForm(request.form)
    if request.method == 'POST' and form.validate():
        user = models.Users(id_no=form.id_no.data,
                            name=form.name.data,
                            course=form.course.data)
        user.add()
        return redirect('/')
    else:
        return render_template('signup.html', form=form)
示例#14
0
def home():
    form = UserForm(request.form)
    if request.method == 'POST' and form.validate():
        user = User(form.f_name.data, form.l_name.data, form.email.data,
                    form.feedback.data)
        db.session.add(user)
        db.session.commit()
        flash('Thank you for your feedback.', 'success')
        # Handle POST Request here
        return redirect(url_for('index'))
    return render_template('index.html', form=form)
示例#15
0
def register():
    form = UserForm(request.form)
    if request.method == 'POST' and form.validate():
        user = models.Users(username=form.username.data,
                            email=form.email.data,
                            password=form.password.data)
        user.add()
        # return str(user)
        return redirect('/')
    else:
        return render_template('signup.html', form=form)
示例#16
0
def dashboard_create_user():
    form = UserForm(request.form)
    if request.method == 'POST' and form.validate():
        user = User()
        user.user_id = form.user_id.data
        user.name = form.name.data
        user.email = form.email.data
        db_session.add(user)
        db_session.commit()
        return redirect(url_for('dashboard.dashboard_users'))
    return render_template('create_user.html', form=form)
示例#17
0
def show(id):
    found_user = User.query.get_or_404(id)
    if request.method == b'PATCH':
        form = UserForm(request.form)
        if form.validate():
            found_user.first_name = request.form.get('first_name')
            found_user.last_name = request.form.get('last_name')
            found_user.image_url = request.form.get('image_url')
            db.session.add(found_user)
            db.session.commit()
            return redirect(url_for('show', id=id))
        return render_template('users/edit.html',
                               user=User.query.get_or_404(id),
                               form=form)
    if request.method == b'DELETE':
        form = DeleteForm(request.form)
        if form.validate():
            db.session.delete(found_user)
            db.session.commit()
            return redirect(url_for('index'))
    return render_template('users/show.html', user=found_user)
示例#18
0
文件: views.py 项目: dimashiro/sfacts
def users():
    form = UserForm()
    users = User.query.order_by('login')
    if request.method == "POST":
        if form.validate():
            newuser = User(form.login.data, form.password.data,
                           form.email.data, form.role.data,
                           form.comment.data, form.name.data)
            db.session.add(newuser)
            db.session.commit()
            flash(u"Добавлен новый пользователь", "alert-success")
    return render_template("users.html", form=form, users=users, edit=0)
示例#19
0
def user_edit(user_id):
    user = db.session.query(User).filter_by(id=user_id).first()
    form = UserForm(obj=user)
    if request.method == 'POST':
        form = UserForm(data=request.form)
        if form.validate():
            user.first_name = form.first_name.data
            user.last_name = form.last_name.data
            db.session.add(user)
            db.session.commit()
            return redirect(f'/user/{user.user_id}/')
    return render_template('user_edit.html', form=form)
示例#20
0
def index():
  delete_form = DeleteForm()
  if request.method == "POST":
    form = UserForm(request.form)
    if form.validate():
      new_user = User(request.form['first_name'], request.form['last_name'])
      db.session.add(new_user)
      db.session.commit()
      return redirect(url_for('index'))
    else:
      return render_template('users/new.html', form=form)
  return render_template('users/index.html', users=User.query.all(), delete_form=delete_form)
示例#21
0
def signup():
    form = UserForm(request.form)
    if request.method == "POST" and form.validate():
        try:
            new_user = User(form.data['username'], form.data['password'])
            db.session.add(new_user)
            db.session.commit()
        except IntegrityError as e:
            flash("Oopsy! Please try again!")
            return render_template('users/signup.html', form=form)
        return redirect(url_for('login'))
    return render_template('users/signup.html', form=form)
示例#22
0
def register():
    form = UserForm(request.form)
    if request.method == 'POST' and form.validate():
        user = models.Users(id_num=form.id_num.data,
                            f_name=form.f_name.data,
                            l_name=form.l_name.data,
                            course=form.course.data,
                            year=form.year.data,
                            gender=form.gender.data)
        user.add()
        return redirect('/')
    else:
        return render_template('add.html', form=form)
示例#23
0
文件: main.py 项目: RajatDoshi/dash
def user_index():
    form = UserForm(request.form)

    if request.method == 'POST' and form.validate():
        user = User()
        save_user(user, form, new=True)
        return redirect('/users')

    qry = db_session.query(User)
    results = qry.all()

    # table = UserResults(results)
    # table.border = True
    return render_template('users.html', results=results, form=form)
示例#24
0
 def post(self):
     form = UserForm(data=request.get_json())
     if not form.validate():
         response = jsonify(form.errors)
         response.status_code = 400
         return response
     user = User(**form.data)
     user.created_at = datetime.utcnow()
     db.session.add(user)
     db.session.commit()
     response = jsonify(**user.to_dict())
     response.status_code = 201
     response.headers.add("Location", f"users/{user.id}")
     return response
示例#25
0
def greetings():
    form = UserForm()
    if request.method == 'POST':
        form = UserForm(data=request.form)
        name = request.form.get('name', None)
        if form.validate():
            user = User()
            user.first_name = form.first_name.data
            user.last_name = form.last_name.data
            user.email = form.email.data
            user.password = form.password.data
            db.session.add(user)
            db.session.commit()
            return redirect(f'/user/{user.id}/')
    return render_template('user.html', form=form)
示例#26
0
def addUser():

    if "username" in session:
        usrname = session["username"]
        form = UserForm(request.form)
        if request.method == 'POST' and form.validate():
            user = User()
            save_changesUser(user, form, new=True)
            flash('User created successfully!')
            return render_template('adminBase.html', form=form)

        return render_template('addUser.html', form=form)
    else:
        flash("You must login first!", "info")
        return redirect(url_for("login"))
示例#27
0
def createuser():
    form = UserForm()

    if request.method == "POST":
        if form.validate() == False:
            return render_template("user.html", form=form)
        else:
            passhash = hashlib.sha512(form.password.data).hexdigest()
            user = User(login=form.login.data, password=passhash, name=form.name.data)
            db.session.add(user)
            db.session.commit()
            return render_template("user.html", form=UserForm(formdata=None))

    elif request.method == "GET":
        return render_template("user.html", form=form)
示例#28
0
def index():
    if request.method == 'POST':
        form = UserForm(request.form)
        if form.validate():
            first_name = form.data['first_name']
            last_name = form.data['last_name']
            image_url = form.data['image_url']
            new_user = User(first_name=first_name,
                            last_name=last_name,
                            image_url=image_url)
            db.session.add(new_user)
            db.session.commit()
            return redirect(url_for('index'))
        return render_template('users/new.html', form=form)
    return render_template('users/index.html', users=User.query.all())
示例#29
0
def edit_page(id):
    print id
    user = User.query.filter(User.id == id).first()
    form = UserForm(request.form)
    if request.method == 'POST' and form.validate():
        #user = User(form.username.data, form.email.data)
        user.name = form.username.data
        user.email = form.email.data
        #user.update(dict(name=form.username.data, email=form.email.data))
        db_session.commit()
        flash('Thanks for registering')
        return redirect(url_for('show_entries'))
    form = UserForm(request.form, username=user.name, email=user.email)
    #user = User(form.username.data=user.name, form.email.data=user.email)
    return render_template('edit_page.html', form=form, id=user.id)
示例#30
0
def edit_page(id):
    print(id)
    user = User.query.filter(User.id == id).first()
    form = UserForm(request.form)
    if request.method == 'POST' and form.validate():
        #user = User(form.username.data, form.email.data)
        user.name = form.username.data
        user.email = form.email.data
        #user.update(dict(name=form.username.data, email=form.email.data))
        db_session.commit()
        flash('Thanks for registering')
        return redirect(url_for('show_entries'))
    form = UserForm(request.form, username=user.name, email=user.email)
    #user = User(form.username.data=user.name, form.email.data=user.email)
    return render_template('edit_page.html', form=form, id=user.id)
示例#31
0
文件: views.py 项目: gluker/jaot
def editUser(user_id):
    user = db_session.query(User).get(user_id)
    if user is None:
        abort(404)
    form = UserForm(request.form,user)
    courses = db_session.query(Course).all()
    if request.method == "POST" and form.validate():
        user.type = form.type.data
        user.courses = []
        for field in request.form:
            if request.form[field] == "on":
                course = db_session.query(Course).get(int(field))
                user.courses.append(course)
        db_session.commit()
        return redirect(url_for("showUsers"))
    return render_template("edituser.html", user=user, courses=courses, form=form)
示例#32
0
def login():
    form = UserForm(request.form)
    if request.method == "POST" and form.validate():
        found_user = User.query.filter_by(
            username=form.data['username']).first()
        if found_user:
            authenticated_user = bcrypt.check_password_hash(
                found_user.password, form.data['password'])
            if authenticated_user:
                flash("Woohoo! You are inside the Happiness Journal!")
                session['user_id'] = found_user.id
                return redirect(url_for('index'))
        flash(
            "Oopsy! Your username and password is unrecognised. Please try again!"
        )
    return render_template('users/login.html', form=form)
示例#33
0
def users_create():
    form = UserForm()
    if form.validate():
        try:
            new_user = User(username=form.username.data,
                            email=form.email.data,
                            password=User.hash_password(form.password.data))
            if form.image_url.data:
                new_user.image_url = form.image_url.data
            db.session.add(new_user)
            db.session.commit()
            login_user(new_user)
            return redirect(url_for('root'))
        except IntegrityError as e:
            flash({'text': "Username already taken", 'status': 'danger'})
    return render_template('users/signup.html', form=form)
示例#34
0
def admin_login():
    form = UserForm()
    if request.method == 'POST' and form.validate():
        name = request.form.get('username')
        word = request.form.get('password')
        user = UserModel.query.filter(UserModel.username == name,
                                      UserModel.password == word).first()
        if user:
            session['user_id'] = user.id
            print user.id
            session.permanent = True
            return redirect(url_for('admin'))
        else:
            return u'用户名或密码错误!'
    else:
        return render_template('login.html')
示例#35
0
async def _user(request, user_id=None):
    """
    用户创建 or 更新
    :param request:
    :param user_id:
    :return:
    """
    form = UserForm(request)  # 创建用户form 对象
    msg = ''  # 用户前端页面显示创建成功后显示的内容

    if user_id is not None:
        user = await User.get_or_404(user_id)  # base models

    if request.method == 'POST' and form.validate():
        name = form.name.data
        email = form.email.data
        password = form.password.data
        active = form.active.data
        user = await User.filter(name=name).first()  # search user
        if user:
            user.email = email
            if password:
                user.password = generate_password(password)
            user.active = active
            await user.save()
            msg = 'User was successfully updated.'
        else:
            user = await User.create(name=name,
                                     email=email,
                                     password=password,
                                     active=active)
            msg = 'User was successfully created.'
        users = await User.all()
        total = await User.filter().count()
        context = {'users': users, 'total': total, 'msg': msg}
        # 获取全部的用户并跳转到用户列表
        return await render_template('admin/list_users.html', request, context)
    elif user_id is not None:  # GET 的编辑页面
        form = UserForm(request, obj=user)
        form.password.data = ''
        form.active.data = user.active
        form.submit.label.text = 'Update'
    return await render_template('admin/user.html', request, {
        'form': form,
        'msg': msg,
        'user_id': user_id
    })
示例#36
0
def show(id):
    found_user = User.query.get(id)
    if request.method == b"PATCH":
        form = UserForm(request.form)
        if form.validate():

            found_user.first_name = form.first_name.data
            found_user.last_name = form.last_name.data
            db.session.add(found_user)
            db.session.commit()
        return redirect(url_for('index'))
    return render_template('users/edit.html', user=found_user, form=form)
    if request.method == b"DELETE":
        db.session.delete(found_user)
        db.session.commit()
        return redirect(url_for('index'))
    return render_template('users/show.html', user=found_user)
示例#37
0
def editUser(username):
    """
    edit a User in the database
    """
    if "username" in session:
        usrname = session["username"]
        user = User.query.filter(User.username == username).first()

        if user:
            form = UserForm(formdata=request.form, obj=user)
            if request.method == 'POST' and form.validate():

                save_changesUser(user, form)
                flash('User updated successfully!')
                return render_template('adminBase.html', form=form)
            return render_template('edit_user.html', form=form)
        else:
            return 'Error loading #{username}'.format(username=username)
示例#38
0
def users_register(id=None):
    if id:
        user = User.get(id)
    else:
        user = User()

    if request.method == 'POST':
        form = UserForm(request.form, obj=user) if id else UserForm(
            request.form)
        if form.validate():
            form.populate_obj(user)
            user.password = generate_password_hash(user.password)
            user.save()
            flash('You have been saved')
            return redirect(url_for('users_login'))
    else:
        form = UserForm(obj=user) if id else UserForm()
    return render_template('users/register.html', form=form, user=user)
示例#39
0
def users_update(user_id):
    found_user = User.query.get_or_404(user_id)
    form = UserForm(request.form)
    if form.validate():
        if User.authenticate(found_user.username, form.password.data):
            found_user.username = form.username.data
            found_user.email = form.email.data
            found_user.image_url = form.image_url.data or "/static/images/default-pic.png"
            found_user.bio = form.bio.data
            found_user.location = form.location.data
            found_user.header_image_url = form.header_image_url.data
            db.session.add(found_user)
            db.session.commit()
            return redirect(url_for('users_show', user_id=user_id))
        flash({
            'text': "Wrong password, please try again.",
            'status': 'danger'
        })
    return redirect(url_for('users_show', user_id=user_id))
示例#40
0
文件: views.py 项目: YoYuUm/Blonkey
def register():
    if (g.user.role == ROLE_ADMIN):
        form = UserForm(request.form)
        if request.method == 'POST':
            if form.validate():
                user = User()
                form.populate_obj(user)
                db.session.add(user)
                db.session.commit()
                flash('User %s created' % user.nickname)
                return redirect(url_for('index'))
            else:
                # This can be improved recognizing errors such Username in use,
                # repeated mail..
                flash('Error while creating user')
        return render_template('content_register.html',
                               title='Sign In',
                               user=g.user,
                               form=form)
示例#41
0
def create_user():
  if 'email' not in session:
    return redirect(url_for('home'))

  user = User.query.filter_by(email=session['email']).first()
  if user.accessLvl != "Super admin":
    return redirect(url_for('home'))

  form = UserForm()

  if request.method == 'POST':
    if form.validate() == False:
      return render_template('create_user.html', form=form)
    else:
      newUser = User(form.name.data, form.email.data, form.password.data, form.accessLvl.data)
      db.session.add(newUser)
      db.session.commit()
      flash('User created')
      return redirect(url_for('create_user'))
                   
  elif request.method == 'GET':
    return render_template('create_user.html', form=form)
def registration():
    form = UserForm(request.form)
    if request.method == 'POST':
        if form.validate():
            new_user = User()
            form.populate_obj(new_user)
            db.session.add(new_user)
            db.session.commit()
            return jsonify({
                'status': 'ok',
            })
        else:
            return jsonify({
                'status': 'error',
                'input_errors': form.errors
            })

    ctx = {
        'form': form
    }

    return render_template('registration.html', **ctx)
示例#43
0
文件: views.py 项目: dimashiro/sfacts
def update_user(uid):
    user = User.query.get_or_404(uid)
    form = UserForm(request.form, obj=user)

    if request.method == "POST":
        if form.validate():
            user.uid = form.uid.data
            user.login = form.login.data
            user.email = form.email.data
            user.role = form.role.data
            user.name = form.name.data
            user.comment = form.comment.data
            user.allow_edit = form.allow_edit.data
            if not form.password.data == u'':
                user.set_password(form.password.data)

            db.session.add(user)
            db.session.commit()
            flash(u"Изменения сохранены", "alert-success")
            return redirect(url_for("users"))

    return render_template('user.html', form=form, orgs=user.orgs,
                           subusers=user.subusers, edit=1)