def register(): msg = '' if request.method == 'POST' and 'username' in request.form and 'password' in request.form and 'email' in request.form: username = request.form['username'] password = request.form['password'] email = request.form['email'] data = User.query.filter_by(username=username, email=email).first() if data: msg = 'Account already exists!' elif not re.match(r'[^@]+@[^@]+\.[^@]+', email): msg = 'Invalid email address!' elif not re.match(r'[A-Za-z0-9]+', username): msg = 'Username must contain only characters and numbers!' elif not username or not password or not email: msg = 'Please fill out the form!' else: # Account doesnt exists and the form data is valid, now insert new account into accounts table msg = 'You have successfully registered!' user = User(username, email, password) db.session.add(user) db.session.commit() return render_template('index.html', msg=msg) elif request.method == 'POST': msg = 'Please fill out the form!' return render_template('register.html', msg=msg)
def Pin(): if session.get('username'): system = System() pins = system.pins() login_user = system.getUser(session.get('username')) error = None if request.method == "POST": email = session.get('username') response = User(email).createPins() if type(response) is int: error = 'Error ' + str(response) return render_template('pin.html', login_user=login_user, error=error, pins=pins) else: error = response return render_template('pin.html', login_user=login_user, error=error, pins=pins) return render_template('pin.html', login_user=login_user, error=error, pins=pins) return redirect(url_for("Index"))
def Login(): if not session.get('username'): if request.method == 'POST': error = None email = request.form['email'] account = request.form['account'] if len(email) < 5: abort(400, 'The email address is too short') elif len(account) < 1: abort(400, 'No account number specified') response = User(email).login(account) if response == 1: flash("Logged In") session['username'] = email login_user = System().getUser(session.get('username')) return redirect('/home') error = 'Invalid login credentials' return render_template('login.html', error=error) return render_template('login.html') system = System() login_user = system.getUser(session.get('username')) return render_template('home.html', login_user=login_user)
def createUser(login_session): newUser = User(name=login_session['username'], email=login_session['email'], picture=login_session['picture']) session.add(newUser) session.commit() user = session.query(User).filter_by(email=login_session['email']).first() return user.id
def Register(): error = None if not session.get('username'): if request.method == 'POST': firstname = request.form['firstname'] lastname = request.form['lastname'] email = request.form['email'] number = request.form['number'] if len(email) < 5: error = 'The email is invalid' elif len(firstname) < 1: error = 'The firstname cannot be empty' elif len(lastname) < 1: error = 'The lastname cannot be empty' else: db.session.commit( ) ###### commit to the database to refresh it system = System() account = system.account() response = User(email).register(firstname, lastname, email, account, number) if response == 1: error = 'No record inserted, the email (' + email + ') already exist' else: session['username'] = email msg = Message( "Registration successfull, your registration details ", sender=app.config["DEFAULT_MAIL_SENDER"], recipients=[email]) msg.html = render_template("reg-email.html", firstname=firstname, lastname=lastname, account=account, email=email) thr = Thread(target=send_async_email_test, args=[app, msg]) thr.start() flash("Logged In") db.session.commit( ) ####### commit to the database to refresh it login_user = system.getUser(session.get('username')) return redirect(url_for('Home')) return render_template('register.html', error=error) db.session.rollback( ) ################ commit to the database to refresh it system = System() login_user = system.getUser(session.get('username')) return redirect('/home')
def test_to_str(): """ Just to ensure there is no type in __str__ methods """ assert str(Acquisition()) is not None assert str(Process()) is not None assert str(Project()) is not None assert str(Sample()) is not None assert str(Task()) is not None assert str(Taxonomy()) is not None assert str(User()) is not None assert str(Role()) is not None assert str(ProjectPrivilege()) is not None assert str(ParticleProject()) is not None
def destination_new(user_id): if session.get('username'): system = System() dids = system.available_dids() owns = system.owns() login_user = system.getUser(session.get('username')) user = system.getUserById(user_id) error = None if not user: return redirect('/customers') if request.method == 'POST': did = request.form['did'] own = request.form['own'] record = request.form['record'] auth_gw = request.form['auth_gw'] auth_did = request.form['auth_did'] gateway = request.form['gateway'] channel = request.form['channel'] number = request.form['number'] day = request.form['day'] month = request.form['month'] year = request.form['year'] string_date = year + '-' + month + '-' + day + ' 12:00:00' end_date = datetime.datetime.strptime(string_date, "%Y-%m-%d %H:%M:%S") email = session.get('username') response = User(email).destination_new(user_id, did, number, record, auth_did, auth_gw, gateway, channel, own, end_date) if response == 0: error = "Destination created for origin " if response == 1: error = " Destination number already exist with origin " return render_template('destination-new.html', login_user=login_user, user=user, error=error, dids=dids, owns=owns) return render_template('destination-new.html', login_user=login_user, user=user, error=error, dids=dids, owns=owns) return redirect('/')
def user_create(): if 'username' in session: system = System() login_user = system.getUser(session.get('username')) error = None if request.method == 'POST': firstname = request.form['firstname'] lastname = request.form['lastname'] email_cust = request.form['email_cust'] or None origin = request.form['number'] if len(firstname) < 1: abort(400, 'Enter firstname') elif len(lastname) < 1: abort(400, 'Enter lastname') elif len(origin) < 1: abort(400, 'Enter phone number') email = session.get('username') response = User(email).createCustomer(firstname, lastname, email_cust, origin) if response == 0: error = firstname + ' ' + lastname + ' is added Successfully' flash("Customer added Successfully") if email_cust is not None: msg = Message( "Registration successfull, your registration details ", sender=app.config["DEFAULT_MAIL_SENDER"], recipients=[email_cust]) msg.html = render_template("reg-email.html", firstname=firstname, lastname=lastname, email=email_cust) thr = Thread(target=send_async_email_test, args=[app, msg]) thr.start() return render_template('user-create.html', login_user=login_user, error=error) if response == 1: error = origin + ' already exist, so no record created' return render_template('user-create.html', login_user=login_user, error=error) return render_template('user-create.html', login_user=login_user) return redirect('/')
def countries(): if 'username' in session: system = System() countries = system.countries() login_user = system.getUser(session.get('username')) error = None if request.method == 'POST': country = request.form['country'] region = request.form['region'] if len(country) < 1: abort(400, 'No country entered') elif len(region) < 1: abort(400, 'No region selected') email = session.get('username') response = User(email).createCountry(region, country) if response == 0: error = country + ' added to region ' + region + ', refresh browser to see update' flash("Country added Successfully") countries = system.countries() return render_template('country.html', login_user=login_user, error=error, countries=countries) if response == 506: abort( 400, 'No data insertion was made, please check Internet connectivity' ) if response == 1: error = country + ' already exist' return render_template('country.html', login_user=login_user, error=error, countries=countries) return render_template('country.html', login_user=login_user, error=error, countries=countries) return redirect(url_for("Index"))
def Login(): if not 'username' in session: #db.session.commit() ####### commit to the database to refresh it if request.method == 'POST': error = None email = request.form['email'] account = request.form['account'] if len(email) < 5: abort(400, 'The email address is too short') elif len(account) < 1: abort(400, 'No account number specified') response = User(email).login(account) if response == 1: session['username'] = email db.session.commit( ) ####### commit to the database to refresh it system = System() username = session.get('username') login_user = system.getUser(username) session.permanent = True return redirect('/home') elif response == 2: error = 'Database server is sleeping... Please try again to wake it up' elif response == 0: error = 'Invalid login credentials' else: abort( 400, 'Something unusual happened, please check Internet connectivity' ) return render_template('login.html', error=error) return render_template('login.html') db.session.commit() ####### commit to the database to refresh it system = System() username = session.get('username') login_user = system.getUser(username) return redirect('/home')
import sys from DB import db, User from Security import password if 'y' != input('Tämä tuohoaa tietokannan, oletko varma? [y/n]'): sys.exit() db.drop_all() db.create_all() u = User() u.username = '******' u.password_hash = password.hash('swat') u.email = '*****@*****.**' u.admin = True db.session.add(u) db.session.commit()
from DB import Bill, User, db from Security.password import hash from datetime import datetime, timedelta for i in range(100): bill = Bill(submitter="Loers The {}".format(i), description="Kaljaa {}".format(i), iban="DE79850503003100180568", date=datetime.now() + timedelta(days=-i), receipts=[]) db.session.add(bill) uns = ['Rahis', 'Puhis', 'IE', 'Äbäj'] for un in uns: user = User(username=un, password_hash=hash(un), admin=False) db.session.commit()
def Did(): if 'username' in session: db.session.commit() ###### commit to the database system = System() login_user = system.getUser(session.get('username')) pins = system.available_pins() countries = system.countries() dids = system.dids() count_available_dids = system.count_available_dids() error = None if request.method == 'POST': file = request.files['did_file'] if not file: phone = request.form['phone'] cost = request.form['cost'] country = request.form['country'] capacity = request.form['capacity'] provider = request.form['provider'] mode = request.form['mode'] pin = request.form['pin'] if len(phone) < 1: abort(400, 'The phone number is invalid') elif len(cost) < 1: abort(400, 'Invalid cost specified') elif len(country) < 1: abort(400, 'Invalid country code') elif len(capacity) < 1: abort(400, 'Please select capacity') elif len(provider) < 1: abort(400, 'Please select provider') elif len(mode) < 1: abort(400, 'Please select mode') elif mode == 'PIN-DIALING' and len(pin) < 1: abort(400, 'Please select pin') elif mode == 'DIRECT-DIALING': pin = None email = session.get('username') response = User(email).createDid(phone, provider, cost, country, capacity, mode, pin) if response == 0: flash('DID Successfully created') dids = system.dids() pins = system.available_pins() error = 'DID Successfully created ' + phone #return render_template('did.html', login_user=login_user, error=error, dids=dids, pins=pins, countries=countries) return redirect('/did') elif response == 1: abort(400, 'DID %s already exist' % (phone)) elif response == 506: abort( 400, 'A technical error occured, this has to do with the application program the mode for the pin in the (PIN) table' ) else: abort(400, 'DID is not created') if System().allowed_file(file.filename): filename = secure_filename(file.filename) try: file.save( os.path.join(app.config['UPLOAD_FOLDER'], filename)) fileUrl = os.path.abspath(app.config['UPLOAD_FOLDER'] + filename) #fileUrl = path(app.config['UPLOAD_FOLDER']+filename).abspath() error = 'File uploaded : Path -> ' + fileUrl data_list_dids = System().readCSV(fileUrl) insert_dids = System().insertDids(data_list_dids) error = str( insert_dids['insertnum'] ) + ' DIDs has been uploaded in total of ' + str( insert_dids['total']) except: error = 'File not uploaded Successfully' else: error = 'File format is not allowed' ###### After the browsers refresh when uploading from a file dids = system.dids() pins = system.available_pins() count_available_dids = system.count_available_dids() return render_template('did.html', login_user=login_user, countdids=count_available_dids, error=error, did_file=file, dids=dids, pins=pins, countries=countries) ###### When the browser is using other method apart from GET db.session.rollback() dids = system.dids() pins = system.available_pins() count_available_dids = system.count_available_dids() return render_template('did.html', login_user=login_user, countdids=count_available_dids, error=error, pins=pins, dids=dids, countries=countries) return redirect(url_for("Index"))
def Did(): if session.get('username'): system = System() login_user = system.getUser(session.get('username')) pins = system.pins() countries = system.countries() dids = system.dids() error = None if request.method == 'POST': file = request.files['did_file'] if not file: phone = request.form['phone'] cost = request.form['cost'] country = request.form['country'] capacity = request.form['capacity'] provider = request.form['provider'] mode = request.form['mode'] pin = request.form['pin'] if len(phone) < 1: abort(400, 'The phone number is invalid') elif len(cost) < 1: abort(400, 'Invalid cost specified') elif len(country) < 1: abort(400, 'Invalid country code') elif len(capacity) < 1: abort(400, 'Please select capacity') elif len(provider) < 1: abort(400, 'Please select provider') elif len(mode) < 1: abort(400, 'Please select mode') elif len(pin) < 1: abort(400, 'Please select pin') email = session.get('username') response = User(email).createDid(phone, provider, cost, country, capacity, mode, pin) if response == 0: flash('DID Successfully created') error = 'DID Successfully created with pin ' + pin return render_template('did.html', login_user=login_user, error=error, dids=dids, pins=pins, countries=countries) elif response == 1: abort(400, 'DID %s already exist' % (phone)) else: abort(400, 'DID is not created') if System().allowed_file(file.filename): filename = secure_filename(file.filename) try: file.save( os.path.join(app.config['UPLOAD_FOLDER'], filename)) fileUrl = os.path.abspath(app.config['UPLOAD_FOLDER'] + filename) #fileUrl = path(app.config['UPLOAD_FOLDER']+filename).abspath() error = 'File uploaded : Path -> ' + fileUrl data_list_dids = System().readCSV(fileUrl) insert_dids = System().insertDids(data_list_dids) error = str( insert_dids) + ' DIDs has been uploaded and saved' except: error = 'File not uploaded Successfully' else: error = 'File format is not allowed' return render_template('did.html', login_user=login_user, error=error, did_file=file, dids=dids, pins=pins, countries=countries) return render_template('did.html', login_user=login_user, error=error, pins=pins, dids=dids, countries=countries) return redirect(url_for("Index"))
from sqlalchemy import create_engine from sqlalchemy.orm import sessionmaker from DB import Theater, Base, MovieName, User # connect with DB engine = create_engine('postgresql://*****:*****@localhost/catalog') Base.metadata.bind = engine DBSession = sessionmaker(bind=engine) session = DBSession() # Create User user1 = User(name="admin", email="*****@*****.**") session.add(user1) session.commit() # create random theater number 1 theater1 = Theater(name="Test Theater", user_id="1") session.add(theater1) session.commit() # Create movie names for funny theater movieName1 = MovieName( name="Free State of Jones", description="A disillusioned Confederate army deserter returns to " " Mississippi and leads a militia of fellow deserters " " and women in an uprising " "against the corrupt local Confederate government.", price="10", theater=theater1, user_id="1") session.add(movieName1)
from DB import User, Blog from Module0 import app from flask_sqlalchemy import SQLAlchemy app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///site.db' db = SQLAlchemy(app=app) currentUser = User(name='Anh', email='*****@*****.**', phoneNumber='123456789', employment='CEO') db.session.add(currentUser)
def Own(): if 'username' in session: db.session.commit() ###### commit to the database system = System() login_user = system.getUser(session.get('username')) dids = system.dids() owns = system.owns() error = None if request.method == 'POST': file = request.files['own_file'] if not file: sim = request.form['sim'] did = request.form['did'] if len(sim) < 1: abort(400, 'Please enter a SIM number') elif len(did) < 1: abort(400, 'Please select a did') email = session.get('username') response = User(email).createSim(sim, did) if response == 0: flash('OWN Successfully created') error = 'OWN Successfully created with did ' + did owns = system.owns() return redirect('/own') elif response == 1: abort(400, 'OWN %s already exist with SIM ' % (sim)) elif response == 506: abort(400, 'Error:' + response + ', Data insertion error') if System().allowed_file(file.filename): filename = secure_filename(file.filename) try: file.save( os.path.join(app.config['UPLOAD_FOLDER'], filename)) fileUrl = os.path.abspath(app.config['UPLOAD_FOLDER'] + filename) #fileUrl = path(app.config['UPLOAD_FOLDER']+filename).abspath() error = 'File uploaded : Path -> ' + fileUrl data_list_owns = system.readCSV(fileUrl) insert_owns = system.insertOwns(data_list_owns) error = error = str( insert_owns['insertnum'] ) + ' Owns has been uploaded in total of ' + str( insert_owns['total']) #error = data_list_owns except: error = 'File not uploaded Successfully' else: error = 'File format is not allowed' owns = system.owns() return render_template('own.html', login_user=login_user, error=error, own_file=file, owns=owns) db.session.commit() ###### commit to the database dids = system.dids() owns = system.owns() return render_template('own.html', login_user=login_user, error=error, dids=dids, owns=owns) return redirect(url_for("Index"))