Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from sqlalchemy import create_engine
- from sqlalchemy.ext.declarative import declarative_base
- from sqlalchemy.orm import *
- from ESproj.Alch import *;
- from flask import *
- from ESproj.Alch import Dealership
- app = Flask(__name__)
- Base = declarative_base()
- engine = create_engine('mysql+pymysql://root:admin@localhost:3306/ES')
- # set the secret key. keep this really secret:
- app.secret_key = 'A0Zr98j/3yX R~XHH!jmN]LWX/,?RT'
- @app.route('/registo', methods=['POST', 'GET'])
- def registo():
- if request.method == 'POST':
- if request.form['action'] == "Cancel":
- return render_template('login.html')
- elif regist(request.form['email'],request.form['password'],request.form['name']):
- if session['owner']==1:
- return render_template('MainOwnerPage.html')
- else:
- return render_template('MainClientPage.html')
- return render_template('registo.html')
- else:
- return render_template('registo.html')
- def regist(mail,passw,name):
- Session = sessionmaker(bind=engine)
- sessions = Session()
- user = User(name=name, email=mail, password=passw)
- try:
- typ= request.form['type']
- if typ == "owner" :
- session['owner'] = 1;
- user.owner=True;
- else:
- session['owner'] = 0;
- sessions.add(user)
- sessions.commit();
- sessions.close()
- except:
- return False;
- session['name'] = name;
- session['email'] = mail;
- return True;
- @app.route('/', methods=['POST', 'GET'])
- def login():
- if request.method == 'POST':
- if valid_login(request.form['email'],request.form['password']):
- if session['owner']==1:
- return render_template('MainOwnerPage.html')
- else:
- return render_template('MainClientPage.html')
- return render_template('login.html')
- def valid_login(mail,passw):
- Session = sessionmaker(bind=engine)
- sessions = Session()
- query = sessions.query(User).filter_by(email=mail,password=passw)
- if query.first():
- email=query.first().email
- name=query.first().name;
- session['name'] = name;
- session['owner']= query.first().owner
- session['email'] = email;
- return True
- else:
- return False
- def dicConverterDealer(lista):
- result = []
- for i in lista:
- result.append({"d_id":i.dealership_id,"name": i.name, "owner":i.owner.name})
- return result
- @app.route('/getDealership')
- def getD():
- lista=getAllDealerships();
- dic = dicConverterDealer(lista)
- return Response(response=json.dumps(dic), status=200, mimetype="application/json")
- def getAllDealerships():
- Session = sessionmaker(bind=engine)
- sessions = Session()
- query = sessions.query(Dealership).order_by(desc(Dealership.name)).all()
- return query;
- @app.route('/logout',methods=['POST'])
- def logout():
- session.clear()
- return render_template('login.html')
- @app.route('/searchCars',methods=['POST','GET'])
- def searchCars():
- try:
- session['email']
- except:
- return render_template('login.html')
- if request.method == 'GET':
- return render_template('list.html')
- @app.route("/newDealership",methods=['POST','GET'])
- def ndealer():
- try:
- email= session['email']
- user = session['owner']
- except:
- return render_template('login.html')
- if request.method == 'GET':
- if user == 1:
- return render_template('NewDealership.html')
- return render_template('MainClientPage.html')
- if request.form['action'] == "Cancel":
- return render_template('MainOwnerPage.html')
- Session = sessionmaker(bind=engine)
- sessions = Session()
- user = sessions.query(User).filter_by(email=email).first()
- info=request.form['info']
- contact=request.form['contact']
- name=request.form['name']
- dealer = Dealership(name=name,contactos=contact,owner = user)
- dealer.info=info;
- try:
- sessions.add(dealer)
- sessions.commit();
- sessions.close()
- except:
- print("fdx")
- return render_template('NewDealership.html')
- return render_template('MainOwnerPage.html')
- @app.route('/getList')
- def getListAll():
- lista = loadAllCars()
- object_dict = dicConverterAll(lista)
- return Response(response=json.dumps(object_dict), status=200, mimetype="application/json")
- def dicConverterAll(lista):
- result = []
- for i in lista:
- result.append({"brand": i.marca, "model":i.modelo, "price":i.preco, "region":i.distrito, "discription":i.info, "date":i.ano, "fuel":i.combustivel, "km":i.km, "id":i.car_id})
- return result
- def loadAllCars():
- Session = sessionmaker(bind=engine)
- sessions = Session()
- query = sessions.query(Car).all()
- sessions.close();
- return query
- @app.route('/personal',methods=['POST','GET'])
- def info():
- try:
- session['email']
- except:
- return render_template('login.html')
- if request.method == 'GET':
- return render_template('PersonalInfo.html',email=session['email'],name=session['name'])
- if request.form['action'] == "Change":
- email=request.form['email']
- password=request.form['password']
- name=request.form['name']
- if password !="" or name !="" or email!="":
- Session = sessionmaker(bind=engine)
- sessions = Session()
- query = sessions.query(User).filter_by(email=session['email']).first()
- if password !="":
- query.password = password
- if name !="":
- query.name = name
- if email !="":
- query.email = email
- try:
- sessions.commit()
- sessions.close()
- if name !="":
- session['name'] = name
- if email !="":
- session['email'] = email
- except:
- return render_template('PersonalInfo.html',email=session['email'],name=session['name'])
- if session['owner']==1:
- return render_template('MainOwnerPage.html')
- else:
- return render_template('MainClientPage.html')
- def loadData(dealer):
- Session = sessionmaker(bind=engine)
- sessions = Session()
- my_parent = sessions.query(Dealership).filter_by(dealership_id = dealer).first();
- query = sessions.query(Car).with_parent(my_parent).all()
- sessions.close();
- return query
- @app.route('/getListDealer')
- def getList():
- dealer = session['id']
- lista = loadData(dealer)
- object_dict = dicConverter(lista)
- return Response(response=json.dumps(object_dict), status=200, mimetype="application/json")
- def dicConverter(lista):
- result = []
- for i in lista:
- result.append({"brand": i.marca, "model":i.modelo, "price":i.preco, "id":i.car_id})
- return result
- @app.route('/getListOwner')
- def getList2():
- dealer = session['email']
- lista = loadData2(dealer)
- object_dict = dicConverter(lista)
- return Response(response=json.dumps(object_dict), status=200, mimetype="application/json")
- def loadData2(dealer):
- Session = sessionmaker(bind=engine)
- sessions = Session()
- my_parent = sessions.query(User).filter_by(email = dealer).first();
- query = sessions.query(Car).filter_by(owner_id=my_parent.user_id)
- sessions.close();
- return query
- @app.route('/addCar', methods=['POST', 'GET'])
- def adicionarCarro():
- if request.method == 'POST':
- brand = request.form['brand']
- model = request.form['model']
- region = request.form['region']
- date = request.form['date']
- price = request.form['price']
- fuel = request.form['fuel']
- km = request.form['km']
- discription = request.form['discription']
- addCar(brand, model,date,price,km,fuel,region,discription)
- return getList2()
- if session['owner']==1:
- return render_template("addCar.html")
- else:
- return render_template('MainClientPage.html')
- def addCar(marca,modelo,ano,preco,km,combustivel,distrito,discription):
- Session = sessionmaker(bind=engine)
- sessions = Session()
- user = sessions.query(User).filter_by(email=session['email']).first()
- car = Car(name="carro", marca = marca, modelo=modelo, ano=ano, preco=float(preco), km=int(km), combustivel=combustivel, distrito= distrito, imagem="imagem",owner=user)
- try:
- car.info=discription;
- sessions.add(car)
- sessions.commit();
- sessions.close();
- except:
- return False;
- return True;
- @app.route('/detailCar', methods=['POST', 'GET'])
- def detailCar():
- try:
- session['email']
- except:
- return render_template('login.html')
- if request.method == 'GET':
- if request.args.get('action')== 'MoreInfo2':
- d_id=request.args.get('select')
- print(d_id)
- Session = sessionmaker(bind=engine)
- sessions = Session()
- car = sessions.query(Car).filter_by(car_id=d_id).first()
- user = sessions.query(User).filter_by(email=session['email']).first()
- if user.user_id != car.owner_id:
- return render_template("detailCar.html", brand=car.marca, model=car.modelo, date=car.ano, price=car.preco, km=car.km, fuel=car.combustivel, region= car.distrito, discription=car.info)
- return render_template("editCar.html", brand=car.marca, model=car.modelo, date=car.ano, price=car.preco, km=car.km, fuel=car.combustivel, region= car.distrito, discription=car.info)
- d_id=request.args.get('select')
- Session = sessionmaker(bind=engine)
- sessions = Session()
- car = sessions.query(Car).filter_by(car_id=d_id).first()
- user = sessions.query(User).filter_by(email=session['email']).first()
- if user.user_id != car.owner_id:
- return render_template("detailCar.html", brand=car.marca, model=car.modelo, date=car.ano, price=car.preco, km=car.km, fuel=car.combustivel, region= car.distrito, discription=car.info)
- return render_template("editCar.html", brand=car.marca, model=car.modelo, date=car.ano, price=car.preco, km=car.km, fuel=car.combustivel, region= car.distrito, discription=car.info)
- d_id =session['id']
- if request.form['action'] == "Change":
- Session = sessionmaker(bind=engine)
- sessions = Session()
- query = sessions.query(Car).filter_by(car_id=d_id).first()
- brand = request.form['brand']
- model = request.form['model']
- region = request.form['region']
- date = request.form['date']
- price = request.form['price']
- fuel = request.form['fuel']
- km = request.form['km']
- discription = request.form['discription']
- if brand !="":
- query.marca = brand
- if model !="":
- query.modelo = model
- if region !="":
- query.distrito = region
- if date !="":
- query.ano = date
- if price !="":
- query.preco = price
- if fuel !="":
- query.combustivel = fuel
- if km !="":
- query.km = km
- if discription !="":
- query.info = discription
- try:
- sessions.commit()
- sessions.close()
- except:
- return render_template('MainClientPage.html')
- return render_template("MainClientPage.html")
- @app.route('/detailDealership', methods=['POST', 'GET'])
- def detail():
- try:
- session['email']
- except:
- return render_template('login.html')
- if request.method == 'GET':
- d_id=request.args.get('select')
- session['id']=d_id
- Session = sessionmaker(bind=engine)
- sessions = Session()
- query = sessions.query(Dealership).filter_by(dealership_id=d_id).first()
- user = sessions.query(User).filter_by(email=session['email']).first()
- if user.user_id!= query.owner.user_id:
- return render_template("detailDealership.html",name = query.name,info=query.info,contact=query.contactos,owner=query.owner.name)
- else:
- return render_template('EditDealership.html',name = query.name,info=query.info,contact=query.contactos,owner=query.owner.name)
- d_id =session['id']
- if request.form['action'] == "Change":
- Session = sessionmaker(bind=engine)
- sessions = Session()
- query = sessions.query(Dealership).filter_by(dealership_id=d_id).first()
- contact=request.form['contact']
- info=request.form['info']
- print(info)
- name=request.form['name']
- if contact !="":
- query.contactos = contact
- if name !="":
- query.name = name
- if info !="":
- query.info = info
- try:
- sessions.commit()
- sessions.close()
- except:
- return render_template('MainOwnerPage.html')
- return render_template('MainOwnerPage.html')
- def getClients():
- Session = sessionmaker(bind=engine)
- sessions = Session()
- query = sessions.query(User).filter_by(owner=0).order_by(desc(User.name)).all()
- sessions.close();
- return query
- def dicClientConverter(lista):
- result = []
- for i in lista:
- result.append({"d_id":i.user_id,"name": i.name})
- return result
- @app.route('/getClients')
- def clients():
- lista = getClients()
- dic = dicClientConverter(lista)
- return Response(response=json.dumps(dic), status=200, mimetype="application/json")
- @app.route('/clients',methods=['POST', 'GET'])
- def c():
- try:
- session['email']
- except:
- return render_template('login.html')
- if request.method == 'GET':
- return render_template('client.html')
- if request.method == 'POST':
- if request.form['action'] == "Cancel":
- return render_template('client.html')
- return render_template('viewClient.html',email=session['email'],name=session['name'])
- @app.route('/car',methods=['POST', 'GET'])
- def car():
- try:
- session['email']
- except:
- return render_template('login.html')
- if request.method == 'POST':
- if request.form['action'] == "Cancel":
- if session['owner']==1:
- Session = sessionmaker(bind=engine)
- sessions = Session()
- query = sessions.query(Dealership).filter_by(dealership_id=session['id']).first()
- user = sessions.query(User).filter_by(email=session['email']).first()
- if user.user_id!= query.owner.user_id:
- return render_template("detailDealership.html",name = query.name,info=query.info,contact=query.contactos,owner=query.owner.name)
- else:
- return render_template('EditDealership.html',name = query.name,info=query.info,contact=query.contactos,owner=query.owner.name)
- else:
- return render_template('list.html')
- return render_template('list.html')
- @app.route('/backMenuOwner')
- def back():
- return render_template('MainOwnerPage.html')
- if __name__ == "__main__":
- app.debug=True
- app.run()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement