def add_trader_page(): if (login.is_logged_in() == 0): #Only logged in users can view this page! return redirect("/login/not_logged_in") if (request.method == 'POST' ): #Adding form was sent - then add the new trader form_t_name = validate.sql_escape(request.form["t_name"]) form_contact_name = validate.sql_escape(request.form["contact_name"]) form_phone = validate.sql_escape(request.form["phone"]) form_address = validate.sql_escape(request.form["address"]) form_notes = validate.sql_escape(request.form["notes"]) form_is_active = validate.is_boolean(request.form["is_active"]) form_is_supplier = validate.is_boolean(request.form["is_supplier"]) form_is_costumer = validate.is_boolean(request.form["is_costumer"]) new_trader_id = traders.add_trader(form_t_name, form_contact_name, form_phone, form_address, form_notes, form_is_active, form_is_supplier, form_is_costumer) return redirect('/traders/edit/' + str(new_trader_id)) #If the request is get - then print the add new trader form return render_template('index.html', page_title="Add new trader: ", content=traders.add_trader_form())
def update_trader_page(): if (login.is_logged_in() == 0): #Only logged in users can view this page! return redirect("/login/not_logged_in") form_t_id = validate.is_trader(request.form["t_id"]) form_t_name = validate.sql_escape(request.form["t_name"]) form_contact_name = validate.sql_escape(request.form["contact_name"]) form_phone = validate.sql_escape(request.form["phone"]) form_address = validate.sql_escape(request.form["address"]) form_notes = validate.sql_escape(request.form["notes"]) form_is_active = validate.is_boolean(request.form["is_active"]) form_is_supplier = validate.is_boolean(request.form["is_supplier"]) form_is_costumer = validate.is_boolean(request.form["is_costumer"]) is_success = traders.trader_update(form_t_id, form_t_name, form_contact_name, form_phone, form_address, form_notes, form_is_active, form_is_supplier, form_is_costumer) if (is_success): return render_template('index.html', page_title="Edit trader: ", message="trader details updated! ", content=traders.traders_list()) else: return render_template('index.html', page_title="Edit trader: ", warning="Error - update failed! ", content=traders.trader_edit(form_t_id))
def edit_warehouse_page(wh_id): if (login.is_logged_in() == 0): #Only logged in users can view this page! return redirect("/login/not_logged_in") return render_template('index.html', page_title="Edit warehuose: ", content=wh.wh_edit(validate.is_wh(wh_id)))
def show_warehouse_page(): if (login.is_logged_in() == 0): #Only logged in users can view this page! return redirect("/login/not_logged_in") return render_template('index.html', page_title="Warehouses list: ", content=wh.wh_list())
def report_storage_page(): if (login.is_logged_in() == 0): #Only logged in users can view this page! return redirect("/login/not_logged_in") return render_template('index.html', page_title="Storage report: ", content=reports.storage_report())
def report_active_suppliers_page(): if (login.is_logged_in() == 0): #Only logged in users can view this page! return redirect("/login/not_logged_in") return render_template('index.html', page_title="Active suppliers report: ", content=reports.active_suppliers_report())
def error_not_admin(): if login.is_logged_in() == 0: redirect("/login/not_logged_in") return render_template( 'index.html', warning= "You have no premissions to watch this page. Only admin user can! ")
def main(): user = login.is_logged_in() if user: for x in user: login.logged_user(x[0]) else: welcome()
def show_traders_page(): if (login.is_logged_in() == 0): #Only logged in users can view this page! return redirect("/login/not_logged_in") return render_template('index.html', page_title="Traders list: ", content=traders.traders_list())
def view(_id): print('View more details\n', ('-' * 30)) item = database.select("SELECT * FROM tools WHERE id = " + str(_id)) print((item[0][1]), '\nDescription: ', (item[0][2]), '\n', ('-' * 30)) print('Full Day Rate: $', (item[0][3]), '\nHalf Day Rate: $', (item[0][4])) print('Availability: ', (item[0][5])) print('Available Till: ', (item[0][6])) user = login.is_logged_in() if user: for x in user: username = x[0] decision = input('Do you want to book this tool?(y/n)') if str.lower(decision) == 'y': decision2 = input('Enter mode of collection: (Collect/Drop off)') date = datetime.datetime.now() bdate = str(date.year) + '-' + str(date.month) + '-' + str( date.day) if decision2 == '': sql = "INSERT INTO bookings (item_id, username, date) VALUES ('" \ + str(_id) + "', '" + username + "', '" + bdate + "')" else: sql = "INSERT INTO bookings (item_id, username, date, mode) VALUES ('" \ + str(_id) + "', '" + username + "', '" + bdate + "', '" + decision2 + "')" sql2 = database.insert( "UPDATE tools SET status = 'hired' WHERE id = '" + str(_id) + "'") database.insert(sql) database.insert(sql2) print('Order Executed\n', ('-' * 30)) login.logged_user(username) else: print('Log in to book this item')
def edit_trader_page(t_id): if (login.is_logged_in() == 0): #Only logged in users can view this page! return redirect("/login/not_logged_in") return render_template('index.html', page_title="Edit trader: ", content=traders.trader_edit( validate.is_trader(t_id)))
def undelete_transaction_page(transaction_id): #transactions are not actually deleted from the db, but actually just changing their status, while updating the storage. if (login.is_logged_in() == 0): #Only logged in users can view this page! return redirect("/login/not_logged_in") transactions.transaction_undelete(validate.is_transaction(transaction_id)) return redirect('/transactions/edit/' + str(transaction_id))
def open_transaction_page(transaction_id): #Close open transactions, later passing the user to view mode. (Because the transaction is closed and can't be edited anymore. ) if (login.is_logged_in() == 0): #Only logged in users can view this page! return redirect("/login/not_logged_in") transactions.transaction_open(validate.is_transaction(transaction_id)) return redirect('/transactions/edit/' + str(transaction_id))
def edit_action_form_page(action_id): if (login.is_logged_in() == 0): #Only logged in users can view this page! return redirect("/login/not_logged_in") return render_template('index.html', page_title="Edit action: ", content=transactions.edit_action_form( validate.is_action(action_id)))
def new_transaction_page(transaction_type): if (login.is_logged_in() == 0): #Only logged in users can view this page! return redirect("/login/not_logged_in") if (int(transaction_type) not in [1, 2]): return "wrong value, please choose inside (1) or outside (2) " new_transaction_id = transactions.transaction_new(transaction_type) return redirect('/transactions/edit/' + str(new_transaction_id))
def do_list(args): session = get_session() if session == None or not is_logged_in(session): print "Invalid session. Please login." exit(1) if args.limit < 1: print "Invalid limit number!" exit(1) print_result(session, args.limit) write_session(session)
def logout_page(): if (login.is_logged_in() == 0): #If use is not logged-in return redirect('login') #Try to log out: if (login.logout()): return render_template('login.html', message="You logged out successfully! ") return render_template( 'login.html', warning="Logout failed, please try to logout again! ")
def do_login(args): stdout.write("Username: "******"Logged in successfully!" write_session(session) else: print "Login failed!" exit(1)
def add_action_page(): if (login.is_logged_in() == 0): #Only logged in users can view this page! return redirect("/login/not_logged_in") form_transaction_id = validate.is_transaction( request.form["transaction_id"]) form_item_id = validate.is_item(request.form["item_id"]) form_amount = validate.is_number(request.form["amount"]) form_notes = validate.sql_escape(request.form["notes"]) transactions.add_action(form_transaction_id, form_item_id, form_amount, form_notes) return redirect('/transactions/edit/' + str(form_transaction_id))
def report_transactions_by_item_page(): if (login.is_logged_in() == 0): #Only logged in users can view this page! return redirect("/login/not_logged_in") if (request.args.get("i_id") != None): #If the form was sent - generate the report: i_id = validate.is_item(request.args.get('i_id')) return render_template( 'index.html', page_title="Transactions by item report: ", content=reports.transactions_by_item_report(i_id)) #Else show the form - return render_template('index.html', page_title="Transactions by item report: ", content=reports.transactions_by_item_report_form())
def add_warehouse_page(): if (login.is_logged_in() == 0): #Only logged in users can view this page! return redirect("/login/not_logged_in") form_wh_name = validate.sql_escape(request.form["wh_name"]) form_is_active = validate.is_boolean(request.form["is_active"]) if (wh.wh_add(form_wh_name, form_is_active)): return render_template('index.html', page_title="Warehouses list: ", message="Warehouse sucessfully added! ", content=wh.wh_list()) return render_template('index.html', page_title="Warehouses list: ", warning="Error - Warehouse wasn't added! ", content=wh.wh_list())
def view_transaction_page(transaction_id): #It is for a completed transactions #Viewing a transaction shows information about it - but cannot allow to edit it! if (login.is_logged_in() == 0): #Only logged in users can view this page! return redirect("/login/not_logged_in") if ( int(translate.get_transaction_status(transaction_id)) in [1, 2] ): #OPen transaction, which has status created (1) or open (2) status - allows editing, so show them the edit forms. return redirect("/transactions/edit/" + str(transaction_id)) return render_template('index.html', page_title="View transaction: ", content=transactions.transaction_view( validate.is_transaction(transaction_id)))
def login_page(): #Check if user is loggged in if (login.is_logged_in()): return redirect('/') #Check if the login form was submitted if (request.method == 'GET'): return render_template('login.html') else: #If it is POST , then it means the form was sent - try to relogin. form_username = request.form["username"] form_password = request.form["password"] if (login.login(form_username, form_password)): return redirect('/') #If login success - redirect to main page else: return render_template('login.html', warning="Wrong username or password")
def do_submit(args): try: src = open(args.file).read() except Exception: print "File not found!" exit(1) session = get_session() if session == None or not is_logged_in(session): print "Invalid session. Please login." exit(1) if args.problem_ID < 1: print "Invalid problem ID!" exit(1) submit(session, args.problem_ID, args.language, src) print "File submitted!" write_session(session)
def delete_action_page(action_id): #An action can only be deleted in the transaction is not completed! if (login.is_logged_in() == 0): #Only logged in users can view this page! return redirect("/login/not_logged_in") conn = db_conn.db_conn() transaction_id_raw = conn.select_query_single_row( "SELECT transaction_id FROM actions WHERE action_id = %s" % (validate.is_action(action_id))) transaction_id = transaction_id_raw[0] #delete the action - transactions.remove_action(action_id) return redirect('/transactions/edit/' + str(transaction_id))
def update_warehouse_page(): if (login.is_logged_in() == 0): #Only logged in users can view this page! return redirect("/login/not_logged_in") form_wh_id = validate.is_wh(request.form["wh_id"]) form_wh_name = validate.sql_escape(request.form["wh_name"]) form_is_active = validate.is_boolean(request.form["is_active"]) if (wh.wh_update(form_wh_id, form_wh_name, form_is_active)): return render_template('index.html', page_title="Edit warehouse: ", message="Warehouse updated! ", content=wh.wh_edit(form_wh_id)) return render_template('index.html', page_title="Edit warehouse: ", warning="Update failed! ", content=wh.wh_edit(form_wh_id))
def update_transaction_page(): #this page allows editing transaction, adding actions to it - and eventually to apply it! if (login.is_logged_in() == 0): #Only logged in users can view this page! return redirect("/login/not_logged_in") form_transaction_id = validate.is_transaction( request.form["transaction_id"]) form_title = validate.sql_escape(request.form["title"]) form_reason = validate.sql_escape(request.form["reason"]) form_transaction_type = validate.is_number( request.form["transaction_type"]) form_trader_id = validate.is_trader(request.form["trader_id"]) form_notes = validate.sql_escape(request.form["notes"]) is_success = transactions.transaction_update(form_transaction_id, form_title, form_reason, form_transaction_type, form_trader_id, form_notes) return redirect('/transactions/edit/' + str(form_transaction_id))
def edit_transaction_page(transaction_id): #this page allows editing transaction, adding actions to it - and eventually to apply it! if (login.is_logged_in() == 0): #Only logged in users can view this page! return redirect("/login/not_logged_in") if ( int( translate.get_transaction_status( validate.is_transaction(transaction_id))) in [3, 4, 5] ): #Closed transactions cannot be edited - these have status close (3) , canceled (4) or deleted (5) - so reffer them to the view mode. return redirect("/transactions/view/" + str(transaction_id)) #If information was sent from the form in this page, in order to update the transactino - then try to update it. #Updating of transaction is reffered using POST method. if (request.method == 'POST'): transactions.transaction_update() #In case the equest to the server is with get method, then show the edit form. This form will refer to this same micro-service with POST method in order to update the transaction. return render_template( 'index.html', page_title="Edit transaction: ", content=transactions.transaction_edit(transaction_id))
def main_page(): if (login.is_logged_in() == 0): #Unlogged users - login return redirect("/login") return render_template('main.html', page_title="Main page:")