Esempio n. 1
0
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)
Esempio n. 2
0
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"))
Esempio n. 3
0
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)
Esempio n. 4
0
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
Esempio n. 5
0
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')
Esempio n. 6
0
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
Esempio n. 7
0
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('/')
Esempio n. 8
0
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('/')
Esempio n. 9
0
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"))
Esempio n. 10
0
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')
Esempio n. 11
0
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()
Esempio n. 12
0
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()
Esempio n. 13
0
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"))
Esempio n. 14
0
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"))
Esempio n. 15
0
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)
Esempio n. 16
0
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)
Esempio n. 17
0
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"))