Merge pull request 'origin/transaction_between_user' (#41) from origin/transaction_between_user into master

Reviewed-on: anton/matekasse#41
This commit is contained in:
anton 2024-10-04 19:48:17 +00:00
commit ac400f9db7
3 changed files with 60 additions and 0 deletions

View file

@ -287,6 +287,31 @@ def create_app(test_config=None):
socketio.emit("error", "418", to=session[id])
leave_room(session[id])
@app.route("/transfare")
def transfare():
db = get_db()
c = db.cursor()
c.execute("SELECT * FROM users")
user_list = c.fetchall()
return render_template("transfare.html", user_list=user_list)
@app.route("/api/transfare", methods=['POST'])
def api_transfare():
db = get_db()
c = db.cursor()
transfare_from = request.form["transfarefrom"]
transfare_to = request.form["transfareto"]
change = int(float(request.form["change"]) * float(100))
c.execute("SELECT * FROM users WHERE id=?", [transfare_from])
if c.fetchall() == []:
return render_template("error.html", error_code="043")
c.execute("SELECT * FROM users WHERE id=?", [transfare_to])
if c.fetchall() == []:
return render_template("error.html", error_code="043")
db_handler.change_balance(transfare_from, -change)
db_handler.change_balance(transfare_to, change)
return render_template("redirect.html")
@app.route("/api/balance", methods=['POST', 'GET'])
def api_change():
if request.method == 'POST':

View file

@ -18,6 +18,7 @@
| <a href="/list">user and tag list</a>
| <a href="/documentation">Documentation</a>
| <a href="/transactionlist">transactionlist</a>
| <a href="/transfare">transfare</a>
</p>
</nav>
<hr>

View file

@ -0,0 +1,34 @@
{% extends "base.html" %}
{% block title %}
transfare
{% endblock %}
{% block content %}
<form action="/api/transfare" method="post">
<p>
<select name="transfarefrom">
<option value="">Select the user to transfare from</option>
{% for user in user_list %}
<option value={{user[0]}}>{{user[1]}}</option>
{% endfor %}
</select>
</p>
<p>
<select name="transfareto">
<option value="">Select the user to transfare to</option>
{% for user in user_list %}
<option value={{user[0]}}>{{user[1]}}</option>
{% endfor %}
</select>
</p>
<p>
<input name="change" type="number" lang="nb" step="0.01" placeholder="money to transfare">
</p>
<p>
<button type="submit">transfare money</button>
</p>
</form>
{% endblock %}