From 46b6bee9135a9d4ca49a193de4d4cb3f294d7e4b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=80=9CNaeel=E2=80=9D?= Date: Mon, 15 Jun 2026 06:52:54 +0400 Subject: [PATCH] =?UTF-8?q?fix:=20=D0=BB=D0=BE=D0=B3=D0=BE=20SVG,=20=D1=83?= =?UTF-8?q?=D0=B1=D1=80=D0=B0=D0=BD=20=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=B8?= =?UTF-8?q?=D1=82=D1=8C=20(onchange),=20create=5Fcontract=20=D0=B2=D0=BE?= =?UTF-8?q?=D0=B7=D0=B2=D1=80=D0=B0=D1=89=D0=B0=D0=B5=D1=82=20id,=20JS=20?= =?UTF-8?q?=D0=B1=D0=B5=D0=B7=20=D0=BB=D0=B8=D1=88=D0=BD=D0=B5=D0=B3=D0=BE?= =?UTF-8?q?=20GET?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- site/api.py | 23 +++++++++++++++++------ site/static/nubes-logo.svg | 5 +++-- site/templates/upload.html | 10 ++++------ 3 files changed, 24 insertions(+), 14 deletions(-) diff --git a/site/api.py b/site/api.py index 01c6b02..2b6384d 100644 --- a/site/api.py +++ b/site/api.py @@ -36,14 +36,25 @@ def create_contract(): if not number: return jsonify({"error": "number is required"}), 400 - rowcount, err = db.execute( - "INSERT INTO contracts (number, client, date_signed) VALUES (%s, %s, %s)", - (number, client, date_signed), - ) + # INSERT с RETURNING id + conn, err = db.connect() if err: return jsonify({"error": err}), 500 - - return jsonify({"status": "created", "rowcount": rowcount}), 201 + try: + cur = conn.cursor() + cur.execute( + "INSERT INTO contracts (number, client, date_signed) VALUES (%s, %s, %s) RETURNING id", + (number, client, date_signed), + ) + contract_id = cur.fetchone()[0] + conn.commit() + cur.close() + conn.close() + return jsonify({"status": "created", "id": str(contract_id)}), 201 + except Exception as e: + conn.rollback() + conn.close() + return jsonify({"error": str(e)}), 500 @api_bp.route("/api/contracts", methods=["GET"]) diff --git a/site/static/nubes-logo.svg b/site/static/nubes-logo.svg index 1a7aed4..4ccedbe 100644 --- a/site/static/nubes-logo.svg +++ b/site/static/nubes-logo.svg @@ -1,2 +1,3 @@ -Forbidden -Transaction ID: bdd7fbca-219a-4dbf-95ca-a27cc8bdecd9 + + nubes + diff --git a/site/templates/upload.html b/site/templates/upload.html index 04fb4f1..595020e 100644 --- a/site/templates/upload.html +++ b/site/templates/upload.html @@ -107,10 +107,7 @@
- - +
Нет добавленных файлов
@@ -197,8 +194,9 @@ method: 'POST', headers: {'Content-Type': 'application/json'}, body: JSON.stringify({number: 'б/н ' + new Date().toISOString().slice(0,10)}), }); - const listResp = await fetch('/api/contracts'); - contractId = (await listResp.json()).contracts[0].id; + const data = await resp.json(); + if (!resp.ok || !data.id) throw new Error(data.error || 'no id'); + contractId = data.id; } catch (e) { resultsBody.innerHTML = '
❌ ' + e.message + '
'; resetBtn(); return;