nowe opcje w paragonacch
This commit is contained in:
15
app.py
15
app.py
@@ -155,6 +155,7 @@ class Receipt(db.Model):
|
||||
filesize = db.Column(db.Integer, nullable=True)
|
||||
file_hash = db.Column(db.String(64), nullable=True, unique=True)
|
||||
|
||||
|
||||
with app.app_context():
|
||||
db.create_all()
|
||||
from werkzeug.security import generate_password_hash
|
||||
@@ -256,11 +257,12 @@ def enrich_list_data(l):
|
||||
l.total_expense = sum(e.amount for e in expenses)
|
||||
return l
|
||||
|
||||
|
||||
def save_resized_image(file, path):
|
||||
try:
|
||||
image = Image.open(file)
|
||||
image.verify() # sprawdzenie poprawności pliku
|
||||
file.seek(0) # reset do początku
|
||||
image.verify() # sprawdzenie poprawności pliku
|
||||
file.seek(0) # reset do początku
|
||||
image = Image.open(file) # ponowne otwarcie po verify()
|
||||
except Exception:
|
||||
raise ValueError("Nieprawidłowy plik graficzny")
|
||||
@@ -989,7 +991,10 @@ def upload_receipt(list_id):
|
||||
db.session.add(new_receipt)
|
||||
db.session.commit()
|
||||
|
||||
if request.is_json or request.headers.get("X-Requested-With") == "XMLHttpRequest":
|
||||
if (
|
||||
request.is_json
|
||||
or request.headers.get("X-Requested-With") == "XMLHttpRequest"
|
||||
):
|
||||
url = url_for("uploaded_file", filename=webp_filename)
|
||||
socketio.emit("receipt_added", {"url": url}, to=str(list_id))
|
||||
return jsonify({"success": True, "url": url})
|
||||
@@ -1000,7 +1005,6 @@ def upload_receipt(list_id):
|
||||
return _receipt_error("Niedozwolony format pliku")
|
||||
|
||||
|
||||
|
||||
@app.route("/uploads/<filename>")
|
||||
def uploaded_file(filename):
|
||||
response = send_from_directory(app.config["UPLOAD_FOLDER"], filename)
|
||||
@@ -1264,6 +1268,7 @@ def rotate_receipt(receipt_id):
|
||||
|
||||
return redirect(request.referrer or url_for("admin_receipts", id="all"))
|
||||
|
||||
|
||||
@app.route("/admin/rename_receipt/<int:receipt_id>")
|
||||
@login_required
|
||||
@admin_required
|
||||
@@ -1317,6 +1322,7 @@ def delete_receipt(receipt_id):
|
||||
|
||||
return redirect(request.referrer or url_for("admin_receipts", id="all"))
|
||||
|
||||
|
||||
@app.route("/admin/generate_receipt_hash/<int:receipt_id>")
|
||||
@login_required
|
||||
@admin_required
|
||||
@@ -1332,6 +1338,7 @@ def generate_receipt_hash(receipt_id):
|
||||
return redirect(request.referrer)
|
||||
|
||||
import hashlib
|
||||
|
||||
try:
|
||||
with open(file_path, "rb") as f:
|
||||
file_hash = hashlib.sha256(f.read()).hexdigest()
|
||||
|
Reference in New Issue
Block a user