def add_employee_xrequest(): if not current_user.is_authenticated: return redirect(url_for('login')) # add employee request to database # declare the Request Form form = RequestForm(request.form) form.stock_item.choices = [(x.id, x) for x in Stock.query.all()] msg = None # check if both http method is POST and form is valid on submit if form.validate_on_submit(): # assign form data to variables stock_item = request.form.get('stock_item', '', type=int) quantity = request.form.get('quantity', '', type=int) # see if request already exists # TODO: filter by datecreated as well # request = Request.query.filter_by(user_id=current_user.id, product_id=stock_item, quantity = quantity).first() xrequest = Request(current_user.id, stock_item, 1, quantity, 1) # check if request is in bounds stock = Stock.query.filter_by(id=stock_item).first() if quantity <= stock.stocklevel: xrequest.save() flash('Request successfully created!') else: flash( f'I am sorry but we have only {stock.quantity} {stock} available' ) else: flash('I am sorry but the details you entered cannot be saved :(') return redirect('/psalm2vs8/employee-requests')
def index(): form = RequestForm() requests = Request.query.order_by(Request.client_priority).all() sameClientRequestsA = Request.query.filter_by(client=form.client.data).order_by(Request.client_priority).all() sameClientRequestsD = Request.query.filter_by(client=form.client.data).order_by(Request.client_priority.desc()).all() if form.validate_on_submit(): request = Request(title=form.title.data, description=form.description.data, client=form.client.data, client_priority=form.client_priority.data, product_area=form.product_area.data, target_date=form.target_date.data, reporter=current_user) # Check through all priority numbers for the given client looking for a duplicate value duplicate = "no" for check in sameClientRequestsA: if check.client_priority == form.client_priority.data: duplicate = "yes" # If a duplicate was found, move through the exisitng list of requests and increase priority of all items by one to reorder list if duplicate == "yes": for item in sameClientRequestsD: if item.client_priority >= form.client_priority.data: item.client_priority = item.client_priority +1 db.session.add(item) db.session.commit() db.session.add(request) db.session.commit() flash('Your request has been posted!') return redirect(url_for('index')) return render_template("index.html", title='Home Page', form=form, requests=requests)
def request_form(): form = RequestForm() form.origin_city.choices = app.config['CITIES'] form.origin.choices = app.config['LOCATIONS'] form.destination_city.choices = app.config['CITIES'] form.destination.choices = app.config['LOCATIONS'] if form.validate_on_submit(): request = Request(origin_city=form.origin_city.data, origin=form.origin.data, destination_city=form.destination_city.data, destination=form.destination.data, date=form.date.data, time=form.time.data, author=current_user, description=form.description.data) if form.destination.data == form.origin.data: flash("Origin and Destination cannot be the same") else: db.session.add(request) db.session.commit() flash('Your request has been posted!') # return redirect(url_for('index')) return render_template('requestForm.html', title='Request', form=form)
def edit_request(request_id): old_request = Request.query.filter_by(id=request_id).first() form = RequestForm(origin_city=old_request.origin_city, origin=old_request.origin, destination_city=old_request.destination_city, destination=old_request.destination, date=old_request.date, time=old_request.time, description=old_request.description) form.origin_city.choices = app.config['CITIES'] form.origin.choices = app.config['LOCATIONS'] form.destination_city.choices = app.config['CITIES'] form.destination.choices = app.config['LOCATIONS'] if form.validate_on_submit(): request = old_request request.origin_city = form.origin_city.data request.origin = form.origin.data request.destination_city = form.destination_city.data request.destination = form.destination.data request.date = form.date.data request.time = form.time.data request.description = form.description.data if form.destination.data == form.origin.data: flash("Origin and Destination cannot be the same") else: db.session.add(request) db.session.commit() flash('Your request has been edited!') return redirect(url_for('user', username=current_user.username)) return render_template('requestForm.html', title='Request', form=form)
def request_goods(): form = RequestForm() formDict = {} if (form.validate_on_submit()): formDict['product1'] = form.product1.data formDict['quantity1'] = form.quantity1.data formDict['product2'] = form.product2.data formDict['quantity2'] = form.quantity2.data url = 'http://' + userdata[form.To.data]['host'] + ':' + str( userdata[form.To.data]['port']) + '/update' request_hash = hash(formDict) #update requested_hash for the current user userdata[session['username']]['requested_hash'].append(request_hash) from_to_hash = concat(form.To.data, session['username']) hashr = post(url=validater_data + '/Manu/Request', data={ 'supplier_manu': from_to_hash, 'requested_hash': request_hash }) formDict['Type'] = 'goods_request' formDict['From'] = session['username'] formDict['To'] = form.To.data r = post(url=url, data=formDict) if (r.status_code == 200): return 'Goods Request Sent' else: return 'Error in Sending' return render_template('request.html', title='Request', form=form)
def request_food(): form = RequestForm(request.form) times = [time[0] for time in ORDER_TIMES] requests = [ len(db.session.query(Request).filter_by(time=time).all()) for time in times ] current = [] for a, b in zip(times, requests): current.append({"time": a, "requests": b}) if request.method == 'POST' and form.validate(): db.session.rollback() db.session.expunge_all() try: food_request = Request(email=form.request_email.data + EMAIL_DOMAIN, time=form.time.data) db.session.add(food_request) db.session.commit() return redirect("/") except IntegrityError: db.session.rollback() db.session.expunge_all() return redirect("/request") return render_template('request.html', form=form, domain=EMAIL_DOMAIN, current=current)
def request(): form = RequestForm() if form.validate_on_submit(): flash('Barista requested for {}'.format( form.cafe_name.data)) print(form.owner_name.data) print(form.cafe_name.data) print(form.email.data) print(form.phone.data) return redirect('/') return render_template('barista_request.html', title='Submit Request', form=form)
def index_d(): global dark dark = True form = RequestForm() if form.validate_on_submit(): data = request.form['url'] if data is None: flash("No URL entered") return redirect('/download/' + data) return render_template("index.html", title="Offline", form=form, dark=True)
def accept_request(id): form = RequestForm() form['csrf_token'].data = request.cookies['csrf_token'] if form.validate_on_submit(): request = Request(user_id=current_user.id, party_id=party_id, message=form.data["message"]) db.session.add(request) db.session.commit() return {"request": {request.id: request.to_dict()}} else: return "Bad Data"
def add_request(username): form = RequestForm() if form.validate_on_submit(): feature = Feature(title=form.title.data, description=form.description.data, product_area=form.product_area.data, clients=form.clients.data, priority=form.priority.data, target_date=form.target_date.data, requestor=current_user) db.session.add(feature) db.session.commit() flash('Your feature request has been recorded.') return redirect(url_for('display_requests', user_id=current_user.id)) return render_template('add_request.html', user=user, form=form)
def employee_requests(): if not current_user.is_authenticated: return redirect(url_for('login')) # declare the Request Form form = RequestForm(request.form) form.stock_item.choices = [(x.id, x) for x in Stock.query.all()] form.process() msg = None xrequests = Request.query.filter_by(user_id=current_user.id).all() return render_template('layouts/default.html', content=render_template( 'pages/employee-requests.html', requests=xrequests, form=form, msg=msg))
def request_page(): form = RequestForm() if form.validate_on_submit() and request.method == 'POST': demo = DemoRequest(name=request.form['name'], email=request.form['email'], demo=request.form['demo'], date_request=request.form['date_request'], comments=request.form.get('comments')) db.session.add(demo) db.session.commit() flash( 'Your demo request was successfully submitted. You should receive an email confirmation shortly. If you do not, please contact the demoroom at [email protected]' ) return render_template('request_page.html', title='Request Page', form=form)
def request_results(): if request.method == 'POST': logging.info('posted') req = request.form try: results = get_results(req.get('results_url')) logging.info(f"results: {results}") return render_template('results.html', title='Results', results=results) except: logging.exception('exception') pass else: form = RequestForm() if form.validate_on_submit(): flash('Url={}, States={}'.format( form.results_url.data, form.state_list.data)) return redirect('/index') return render_template('request.html', title='Get Results', form=form)
def post_help_request(): form = RequestForm() if form.validate_on_submit(): address = form.address.data location = get_location(address) Request.add({ "name": form.name.data, "phone": form.phone.data, "address": address, "latitude": location["lat"], "longitude": location["lng"], "category": form.category.data, "request": form.request.data }) flash('You request was successfully saved !', "success") # return redirect(url_for('login.login')) return render_template("get_help.html", form=form)
def receive_goods(): form = RequestForm() formDict = {} if (form.validate_on_submit()): formDict['product1'] = form.product1.data formDict['quantity1'] = form.quantity1.data formDict['product2'] = form.product2.data formDict['quantity2'] = form.quantity2.data received_hash = hash(formDict) supplier_manu = concat(form.To.data, session['username']) #update sent_hash for the current user userdata[session['username']]['received_hash'].append(received_hash) hashr = post(url=validater_data + '/Manu/Received', data={ 'supplier_manu': supplier_manu, 'received_hash': received_hash }) return 'Goods Recieved. Try sending payment to see if goods received are authentic.' return render_template('request.html', title='Receive', form=form)
def dashboard(): if 'user' not in session: return redirect("/"), 302 user = load_user(session['user']) return render_template("dashboard.html", user=user, forms=dict(users=UserForm(), requests=RequestForm(), clients=ClientForm(), productions=ProductionForm(), roles=RoleForm()))
def new_request(): """ Create new request """ form = RequestForm() # Get the csrf_token from the request cookie and put it into the # form manually to validate_on_submit can be used user = None if current_user.is_authenticated: user = current_user.to_dict() form['csrf_token'].data = request.cookies['csrf_token'] if form.validate_on_submit(): # Add the user to the session, we are logged in! new_request = Request(title=form.data['title'], active=False, userId=user["id"]) db.session.add(new_request) db.session.commit() return new_request.to_dict() return {'errors': validation_errors_to_error_messages(form.errors)}, 401
def request_food(): form = RequestForm(request.form) times = [time[0] for time in ORDER_TIMES] requests = [len(db.session.query(Request).filter_by(time=time).all()) for time in times] current = [] for a, b in zip(times, requests): current.append({"time": a, "requests": b}) if request.method == 'POST' and form.validate(): db.session.rollback() db.session.expunge_all() try: food_request = Request(email=form.request_email.data + EMAIL_DOMAIN, time=form.time.data) db.session.add(food_request) db.session.commit() return redirect("/") except IntegrityError: db.session.rollback() db.session.expunge_all() return redirect("/request") return render_template('request.html', form=form, domain=EMAIL_DOMAIN, current=current)
def make_hit_request(id): player = Player.query.get(id) form = RequestForm() form['csrf_token'].data = request.cookies['csrf_token'] if form.validate_on_submit(): hit_request = Request(date=form.data['date'], requester_id=current_user.id, requestee_id=id, court_id=form.data['court_id'], response=None) db.session.add(hit_request) db.session.commit() return jsonify(hit_request.to_dict()) else: return ({"errors": "errors"}) return ({"errors": "errors"})
def index(): top_graded = Movie.query.join(Review)\ .with_entities(Movie.title, Movie.year, Movie.id, func.round(func.avg(Review.grade), 2)\ .label('avg'))\ .group_by(Movie.id).order_by(desc('avg')).limit(10).all() newbies = Movie.query.order_by(Movie.timestamp.desc()).limit(10).all() form = RequestForm() if form.validate_on_submit() and current_user.is_authenticated: movreq = MovieRequest(user_id=current_user.id, name=form.name.data, year=form.year.data, other_info=form.other_info.data) db.session.add(movreq) db.session.commit() flash('Request sent!') return redirect(url_for('main.index')) return render_template('index.html', title='home', top_graded=top_graded, newbies=newbies, form=form)
def render_request_done(): form = RequestForm() if form.validate_on_submit(): goal = int(form.goals.data) name = form.clientName.data phone = form.clientPhone.data client = Client(name=name, phone=phone) db.session.add(client) db.session.commit() db.session.add( Request(client=client.id, goals=goal, time=int(form.time.data))) db.session.commit() return render_template( "request_done.html", goal=Goal.query.filter(Goal.id == goal).first(), form=form, ) else: return render_template("request.html", form=form)
def send_goods(): form = RequestForm() formDict = {} if (form.validate_on_submit()): formDict['product1'] = form.product1.data formDict['quantity1'] = form.quantity1.data formDict['product2'] = form.product2.data formDict['quantity2'] = form.quantity2.data sent_hash = hash(formDict) supplier_manu = concat(form.To.data, session['username']) #update sent_hash for the current user userdata[session['username']]['sent_hash'].append(sent_hash) hashr = post(url=validater_data + '/Supplier/Sent', data={ 'supplier_manu': supplier_manu, 'sent_hash': sent_hash, 'requested_payment': form.payment.data }) payment = {} payment['From'] = session['username'] payment['To'] = form.To.data payment['Type'] = 'payment_request' payment['payment_request'] = form.payment.data url = 'http://' + userdata[form.To.data]['host'] + ':' + str( userdata[form.To.data]['port']) + '/update' r = post(url=url, data=payment) userdata[session['username']]['goods_request'].pop(0) if (r.status_code == 200): return 'Payment Request Sent' else: return 'Error in Sending' return render_template('request.html', title='Request', form=form, payment=True)
def send_request(): form = RequestForm() my_house = House.get_house_by_id(form.houseFrom.data) target_house = House.get_house_by_id(form.houseTo.data) request = Request.get_request_by_owner_id(current_user.id) if request is None: request = Request(current_user.id, my_house.house_id, target_house.house_id, form.reason.data, models.PENDING, date.today(), None, 0) Request.add_request_by_entity(request) request.status_txt = models.status_dict.get(request.status) if request.send_date == date.today().strftime("%Y-%m-%d"): request.is_frozen = True else: request.is_frozen = False return render_template('notification/request_result_page_student.html', my_house=my_house, target_house=target_house, request=request) else: return redirect(url_for('notification.request_page'))
def search(): data = None form = RequestForm.new() if form.validate_on_submit(): req = dict() req_stat = dict() # HOST if form.host.data: if form.host_ie.data == 0: req['h'] = {'$in': form.host.data} else: req['h'] = {'$nin': form.host.data} # APPLICATION if form.application.data: if form.application_ie.data == 0: req['a'] = {'$in': form.application.data} else: req['a'] = {'$nin': form.application.data} # FACILITY if form.facility.data: if form.facility_ie.data == 0: req['f'] = {'$in': form.facility.data} else: req['f'] = {'$nin': form.facility.data} # PRIORITY if form.priority.data: if form.priority_ie.data == 0: req['p'] = {'$in': [i for i in form.priority.data]} else: req['p'] = {'$nin': [i for i in form.priority.data]} # DATEFROM if form.date_from.data: req['d'] = {'$gte': form.date_from.data} # DATETO if form.date_to.data: if 'd' in req: req['d']['$lte'] = form.date_to.data else: req['d'] = {'$lte': form.date_to.data} # RECORD PER PAGE - in find() # SORT - in find() # SEARCH STR if form.search_str.data: req['m'] = {'$regex': form.search_str.data} # pagination skip records skip_records = (int(form.current_page.data) - 1) * form.records_per_page.data # statistics begin = time.time() total_records = db.messages.find(req).count() info = db.messages.find(filter=req, skip=skip_records, limit=form.records_per_page.data, sort=[('d', form.sort_direction.data)]) data = [i for i in info] # if MEDB enabled, process messages if app.config['MEDB_ENABLED']: for i in range(len(data)): t = medb_parse_msg(data[i]['m']) if t: data[i]['m'] = t + ' ' + data[i]['m'] end = time.time() req_stat['total_records'] = total_records req_stat['time_elapsed'] = end - begin pagination = Pagination(page=int(form.current_page.data), per_page=form.records_per_page.data, total=total_records, bs_version=3, href='javascript:change_page({0})') else: req_stat = None pagination = None flash_form_errors(form) return render_template('search.html', form=form, data=data, req_stat=req_stat, pagination=pagination)
def render_request(): form = RequestForm() return render_template("request.html", form=form)
def search(): data = None form = RequestForm.new() if form.validate_on_submit(): req = dict() req_stat = dict() # HOST if form.host.data: if form.host_ie.data == 0: req['h'] = {'$in': form.host.data} else: req['h'] = {'$nin': form.host.data} # APPLICATION if form.application.data: if form.application_ie.data == 0: req['a'] = {'$in': form.application.data} else: req['a'] = {'$nin': form.application.data} # FACILITY if form.facility.data: if form.facility_ie.data == 0: req['f'] = {'$in': form.facility.data} else: req['f'] = {'$nin': form.facility.data} # PRIORITY if form.priority.data: if form.priority_ie.data == 0: req['p'] = {'$in': [i for i in form.priority.data]} else: req['p'] = {'$nin': [i for i in form.priority.data]} # DATEFROM if form.date_from.data: req['d'] = {'$gte': form.date_from.data} # DATETO if form.date_to.data: if 'd' in req: req['d']['$lte'] = form.date_to.data else: req['d'] = {'$lte': form.date_to.data} # RECORD PER PAGE - in find() # SORT - in find() # SEARCH STR if form.search_str.data: req['m'] = {'$regex': form.search_str.data} # pagination skip records skip_records = (int(form.current_page.data) - 1) * form.records_per_page.data # statistics begin = time.time() total_records = db.messages.find(req).count() info = db.messages.find(filter=req, skip=skip_records, limit=form.records_per_page.data, sort=[('d', form.sort_direction.data)]) data = [i for i in info] # if MEDB enabled, process messages if app.config['MEDB_ENABLED'] == 1: for i in range(len(data)): t = medb_parse_msg(data[i]['m']) if t: data[i]['m'] = t + ' ' + data[i]['m'] end = time.time() req_stat['total_records'] = total_records req_stat['time_elapsed'] = end - begin pagination = Pagination(page=int(form.current_page.data), per_page=form.records_per_page.data, total=total_records, bs_version=3, href='javascript:change_page({0})') else: req_stat = None pagination = None flash_form_errors(form) return render_template('search.html', form=form, data=data, req_stat=req_stat, pagination=pagination)
def get_help(): return render_template("get_help.html", form=RequestForm())