Spaces:
Running
Running
Update app.py
Browse files
app.py
CHANGED
|
@@ -405,6 +405,10 @@ CATALOG_TEMPLATE = '''
|
|
| 405 |
<input type="radio" name="payment_method" value="paynet">
|
| 406 |
<span><i class="fas fa-wallet"></i> Paynet</span>
|
| 407 |
</label>
|
|
|
|
|
|
|
|
|
|
|
|
|
| 408 |
</div>
|
| 409 |
|
| 410 |
<button class="confirm-btn" onclick="submitOrder()">Оформить и Распечатать</button>
|
|
@@ -809,6 +813,7 @@ CATALOG_TEMPLATE = '''
|
|
| 809 |
<tr><td>Click</td><td>${data.by_payment.click || 0} ${currency}</td></tr>
|
| 810 |
<tr><td>Payme</td><td>${data.by_payment.payme || 0} ${currency}</td></tr>
|
| 811 |
<tr><td>Paynet</td><td>${data.by_payment.paynet || 0} ${currency}</td></tr>
|
|
|
|
| 812 |
</table>
|
| 813 |
`;
|
| 814 |
|
|
@@ -966,6 +971,7 @@ ORDER_TEMPLATE = '''
|
|
| 966 |
{% elif order.payment_method == 'click' %}Click
|
| 967 |
{% elif order.payment_method == 'payme' %}Payme
|
| 968 |
{% elif order.payment_method == 'paynet' %}Paynet
|
|
|
|
| 969 |
{% else %}{{ order.payment_method }}{% endif %}
|
| 970 |
</span>
|
| 971 |
</div>
|
|
@@ -1118,6 +1124,7 @@ REPORTS_TEMPLATE = '''
|
|
| 1118 |
else if(pType === 'click') pType = 'Click';
|
| 1119 |
else if(pType === 'payme') pType = 'Payme';
|
| 1120 |
else if(pType === 'paynet') pType = 'Paynet';
|
|
|
|
| 1121 |
|
| 1122 |
if(!byPay[pType]) byPay[pType] = {sum: 0, qty: 0};
|
| 1123 |
byPay[pType].sum += o.total_price;
|
|
@@ -1595,6 +1602,7 @@ ADMIN_TEMPLATE = '''
|
|
| 1595 |
{% elif order.payment_method == 'click' %}Click
|
| 1596 |
{% elif order.payment_method == 'payme' %}Payme
|
| 1597 |
{% elif order.payment_method == 'paynet' %}Paynet
|
|
|
|
| 1598 |
{% else %}{{ order.payment_method }}{% endif %}
|
| 1599 |
</span>
|
| 1600 |
</td>
|
|
@@ -1970,11 +1978,18 @@ def admin_salary():
|
|
| 1970 |
if request.method == 'POST':
|
| 1971 |
action = request.form.get('action')
|
| 1972 |
if action == 'add_fine':
|
| 1973 |
-
emp_id = request.form.get('employee_id')
|
| 1974 |
-
date_fine = request.form.get('date')
|
| 1975 |
-
|
|
|
|
|
|
|
|
|
|
| 1976 |
reason = request.form.get('reason', '')
|
| 1977 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1978 |
'id': uuid4().hex,
|
| 1979 |
'employee_id': emp_id,
|
| 1980 |
'date': date_fine,
|
|
@@ -1983,6 +1998,7 @@ def admin_salary():
|
|
| 1983 |
})
|
| 1984 |
save_data(data)
|
| 1985 |
return redirect(url_for('admin_salary'))
|
|
|
|
| 1986 |
elif action == 'delete_fine':
|
| 1987 |
fine_id = request.form.get('fine_id')
|
| 1988 |
data['fines'] = [f for f in data.get('fines', []) if f.get('id') != fine_id]
|
|
@@ -2239,4 +2255,4 @@ if __name__ == '__main__':
|
|
| 2239 |
threading.Thread(target=periodic_backup, daemon=True).start()
|
| 2240 |
|
| 2241 |
port = int(os.environ.get('PORT', 7860))
|
| 2242 |
-
app.run(host='0.0.0.0', port=port)
|
|
|
|
| 405 |
<input type="radio" name="payment_method" value="paynet">
|
| 406 |
<span><i class="fas fa-wallet"></i> Paynet</span>
|
| 407 |
</label>
|
| 408 |
+
<label class="payment-method-label">
|
| 409 |
+
<input type="radio" name="payment_method" value="qr">
|
| 410 |
+
<span><i class="fas fa-qrcode"></i> QR</span>
|
| 411 |
+
</label>
|
| 412 |
</div>
|
| 413 |
|
| 414 |
<button class="confirm-btn" onclick="submitOrder()">Оформить и Распечатать</button>
|
|
|
|
| 813 |
<tr><td>Click</td><td>${data.by_payment.click || 0} ${currency}</td></tr>
|
| 814 |
<tr><td>Payme</td><td>${data.by_payment.payme || 0} ${currency}</td></tr>
|
| 815 |
<tr><td>Paynet</td><td>${data.by_payment.paynet || 0} ${currency}</td></tr>
|
| 816 |
+
<tr><td>QR</td><td>${data.by_payment.qr || 0} ${currency}</td></tr>
|
| 817 |
</table>
|
| 818 |
`;
|
| 819 |
|
|
|
|
| 971 |
{% elif order.payment_method == 'click' %}Click
|
| 972 |
{% elif order.payment_method == 'payme' %}Payme
|
| 973 |
{% elif order.payment_method == 'paynet' %}Paynet
|
| 974 |
+
{% elif order.payment_method == 'qr' %}QR
|
| 975 |
{% else %}{{ order.payment_method }}{% endif %}
|
| 976 |
</span>
|
| 977 |
</div>
|
|
|
|
| 1124 |
else if(pType === 'click') pType = 'Click';
|
| 1125 |
else if(pType === 'payme') pType = 'Payme';
|
| 1126 |
else if(pType === 'paynet') pType = 'Paynet';
|
| 1127 |
+
else if(pType === 'qr') pType = 'QR';
|
| 1128 |
|
| 1129 |
if(!byPay[pType]) byPay[pType] = {sum: 0, qty: 0};
|
| 1130 |
byPay[pType].sum += o.total_price;
|
|
|
|
| 1602 |
{% elif order.payment_method == 'click' %}Click
|
| 1603 |
{% elif order.payment_method == 'payme' %}Payme
|
| 1604 |
{% elif order.payment_method == 'paynet' %}Paynet
|
| 1605 |
+
{% elif order.payment_method == 'qr' %}QR
|
| 1606 |
{% else %}{{ order.payment_method }}{% endif %}
|
| 1607 |
</span>
|
| 1608 |
</td>
|
|
|
|
| 1978 |
if request.method == 'POST':
|
| 1979 |
action = request.form.get('action')
|
| 1980 |
if action == 'add_fine':
|
| 1981 |
+
emp_id = request.form.get('employee_id', '')
|
| 1982 |
+
date_fine = request.form.get('date', '')
|
| 1983 |
+
try:
|
| 1984 |
+
amount = float(request.form.get('amount', 0))
|
| 1985 |
+
except (ValueError, TypeError):
|
| 1986 |
+
amount = 0.0
|
| 1987 |
reason = request.form.get('reason', '')
|
| 1988 |
+
|
| 1989 |
+
if 'fines' not in data:
|
| 1990 |
+
data['fines'] = []
|
| 1991 |
+
|
| 1992 |
+
data['fines'].append({
|
| 1993 |
'id': uuid4().hex,
|
| 1994 |
'employee_id': emp_id,
|
| 1995 |
'date': date_fine,
|
|
|
|
| 1998 |
})
|
| 1999 |
save_data(data)
|
| 2000 |
return redirect(url_for('admin_salary'))
|
| 2001 |
+
|
| 2002 |
elif action == 'delete_fine':
|
| 2003 |
fine_id = request.form.get('fine_id')
|
| 2004 |
data['fines'] = [f for f in data.get('fines', []) if f.get('id') != fine_id]
|
|
|
|
| 2255 |
threading.Thread(target=periodic_backup, daemon=True).start()
|
| 2256 |
|
| 2257 |
port = int(os.environ.get('PORT', 7860))
|
| 2258 |
+
app.run(host='0.0.0.0', port=port)
|