Example #1
0
def Register():
    registration_form = RegistrationForm()
    if registration_form.submit2.data and \
        registration_form.validate_on_submit():
        user = (db_session.query(User).filter_by(
            email=registration_form.email.data).first())
        if user is None:
            new_user = User(name=registration_form.name.data,
                            email=registration_form.email.data)
            new_user.password = registration_form.password.data
            db_session.add(new_user)
            db_session.commit()
            flash('Registration successful. \
                Please Log in with the credentials')
            return redirect(url_for('Home'))
        flash('User already exists. Please log in')
    return render_template('register.html', form=registration_form)
def register():
    if request.method == 'GET':
        return render_template('register.html')
    username = request.form['username']
    password = request.form['password']
    email = request.form['email']
    if username and password and email:
        user = User()
        user.email = request.form['email']
        user.password = request.form['password']
        user.username = request.form['username']
        db.session.add(user)
        db.session.commit()
        flash('User successfully registered')
        return redirect(url_for('login'))
    else:
        flash('Please fill all the fields to register')
        return redirect(url_for('register'))
Example #3
0
    def do_POST(self):
        try:
            if self.path.endswith('/logout'):
                res = self.check_login()
                if res is not 'NotLoggedIn':
                    id = session.query(User).filter_by(username = res).one().id
                    session.query(LoginSessions).filter_by(user_id = id).delete()
                    session.commit()

                self.send_response(302)
                self.send_header('content-type','text/html')
                self.send_header('location','/restaurant')
                self.end_headers()

                return

            if self.path.endswith("/create/menuitem"):
                    ctype,pdict = cgi.parse_header(self.headers.getheader('content-type'))
                    if ctype == 'multipart/form-data':
                            fields = cgi.parse_multipart(self.rfile,pdict)

                    postcontent = fields.get('name')
                    postcontent += fields.get('description')
                    postcontent += fields.get('price')
                    restid = re.compile('/restaurant/([0-9]+)/').match(self.path).group(1)
                    rest = session.query(Restaurant).filter_by(id = restid).one()
                    newitem = MenuItem(name = postcontent[0],description = postcontent[1],price = postcontent[2],restaurant = rest)
                    session.add(newitem)
                    session.commit()

                    self.send_response(301)
                    self.send_header('Content-type','text/html')
                    self.send_header('location','/restaurant/%s' %(restid))
                    self.end_headers()
                    return


            if self.path.endswith("/create/restaurant"):
                    ctype,pdict = cgi.parse_header(self.headers.getheader('content-type'))
                    if ctype == 'multipart/form-data':
                            fields = cgi.parse_multipart(self.rfile,pdict)

                    postcontent = fields.get('name')

                    newrest = Restaurant(name = postcontent[0])
                    session.add(newrest)
                    session.commit()

                    self.send_response(301)
                    self.send_header('content-type','text/html')
                    self.send_header('location','/restaurant')
                    self.end_headers()
                    return

            if self.path.endswith("/register"):
                    ctype,pdict = cgi.parse_header(self.headers.getheader('content-type'))
                    if ctype == 'multipart/form-data':
                            fields = cgi.parse_multipart(self.rfile,pdict)

                    data = fields.get('username')
                    data += fields.get('password')

                    indb = session.query(User).filter_by(username = data[0])
                    if indb.count() == 1:
                        self.send_response(302)
                        self.send_header('content-type','text/html')
                        self.send_header('error','Username already exists')
                        self.send_header('location','/register')
                        self.end_headers()
                        return

                    obj = User()
                    obj.username = data[0]
                    obj.password = data[1]
                    session.add(obj)
                    session.commit()

                    self.send_response(302)
                    self.send_header('content-type','text/html')
                    self.send_header('location','/login')
                    self.end_headers()
                    return

            if self.path.endswith("/login"):
                    ctype,pdict = cgi.parse_header(self.headers.getheader('content-type'))
                    if ctype == 'multipart/form-data':
                            fields = cgi.parse_multipart(self.rfile,pdict)

                    data = fields.get('username')
                    data += fields.get('password')

                    user = session.query(User).filter_by(username = data[0])
                    if user.count() == 1:
                        if user.one().password == data[1]:
                            newsession = LoginSessions(user = user.one())
                            session.add(newsession)
                            session.commit()
                            c = Cookie.SimpleCookie()
                            c['id'] = user.one().id
                            self.send_response(301)
                            self.send_header('content-type','text/html')
                            self.send_header('Set-Cookie',c.output(header = ''))
                            self.send_header('location','/restaurant')
                            self.end_headers()
                                    
                    return

        except IOError:
            self.send_response(404,"Input Data incorrect")