1
0
Fork 0
forked from bton/matekasse

Compare commits

...

9 commits

5 changed files with 82 additions and 1 deletions

View file

@ -57,6 +57,10 @@ def create_app(test_config=None):
def socketiojs():
return send_file('../static/socket.io.js')
@app.route('/ka-ching.wav')
def kaching():
return send_file('../static/ka-ching.wav')
@app.route('/new.css')
def newcss():
return send_file('../static/new.min.css')
@ -283,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

@ -8,6 +8,7 @@
></script>
<link rel="stylesheet" href="/new.css">
<link rel="prefetch" href="/ka-ching.wav" />
<link rel="shortcut icon" type="Logo/png" href="/ccc_logo.png"/>
{% block customscript %}{% endblock %}
</head>
@ -17,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<font face="emoji">🎺⚧</font></a>
</p>
</nav>
<hr>

View file

@ -4,6 +4,21 @@ Strichliste
{% endblock %}
{% block customscript %}
<script type="text/javascript" charset="utf-8">
function play() {
return new Promise((resolve, reject) => {
var audio = new Audio('/ka-ching.wav');
audio.play();
audio.addEventListener("ended", function(){
resolve()
});
});
}
async function ka_ching(element) {
await play();
element.parentElement.submit();
}
var socket = io();
socket.on("update", function () {
window.location = "http://matekasse.server.c3h/list"
@ -28,7 +43,8 @@ Strichliste
</form>
<form action="/change" method="post" style="display: inline">
<input name="id" type="hidden" value="{{user[0]}}">
<button type="submit" name="change" value={{preis}}>{{preis}}€</button>
<input name="change" value={{preis}} type="hidden">
<button onclick="ka_ching(this)" type="button">{{preis}}€</button>
</form>
<br style="line-height: 50%;"></br>
{% endfor %}

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" max=1000 min=-1000 placeholder="money to transfare">
</p>
<p>
<button type="submit">transfare money</button>
</p>
</form>
{% endblock %}

BIN
static/ka-ching.wav Normal file

Binary file not shown.