diff --git a/backend/zetikettes/tikette/views.py b/backend/zetikettes/tikette/views.py
index 5dc52b4..b81a027 100644
--- a/backend/zetikettes/tikette/views.py
+++ b/backend/zetikettes/tikette/views.py
@@ -30,7 +30,6 @@ def auth_only(f):
def __f(request):
# check that email is valid
# exp?
- print(request.META, file=sys.stderr)
if 'user_data' not in request.session:
raise PermissionDenied('Not logged in')
email = request.session['user_data']['email']
@@ -57,6 +56,7 @@ def get_list(request):
'id': x.id,
'title': x.title,
'category': x.category.name,
+ 'category_id': x.category.id,
'prototempalte': x.category.prototempalte.name,
'landscape': x.category.landscape,
'designation': x.designation,
diff --git a/backend/zetikettes/zetikettes/urls.py b/backend/zetikettes/zetikettes/urls.py
index b0b1195..2e4e1b3 100644
--- a/backend/zetikettes/zetikettes/urls.py
+++ b/backend/zetikettes/zetikettes/urls.py
@@ -29,6 +29,7 @@ urlpatterns = [
path('generate', tikette.views.generate),
path('newtikette', tikette.views.newtikette),
path('deletetikette', tikette.views.deletetikette),
+ path('updatetikette', tikette.views.newtikette), # yes, we use newtikette
path('signin', tikette.views.signin),
path('signout', tikette.views.signout),
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
diff --git a/frontend/index.html b/frontend/index.html
index dee14dc..08b5316 100644
--- a/frontend/index.html
+++ b/frontend/index.html
@@ -21,14 +21,15 @@
@@ -38,7 +39,7 @@ main {
Zětikwett's
-
-
+
addNouveau produit
@@ -49,8 +50,8 @@ main {
+
+
+ Supprimer le produit blařg titre long de test sa mère ?
+
+
+
diff --git a/frontend/zetikettes.js b/frontend/zetikettes.js
index 1b08cbf..209c488 100644
--- a/frontend/zetikettes.js
+++ b/frontend/zetikettes.js
@@ -30,6 +30,56 @@ function post(url, data) {
});
}
+function disableButtons() {
+ $('.btn').addClass("disabled");
+}
+
+function enableButtons() {
+ $('.btn').removeClass('disabled');
+}
+
+function resetEditModal(force = false) {
+ if ($("#new-add").text() === "Ajouter" && !force) {
+ return;
+ }
+ $("#new-name").val("");
+ $("#new-type").val("").formSelect();
+ $("#new-designation").val("");
+ $("#new-ingredients").val("");
+ $("#new-description").val("");
+ $("#new-color")[0].jscolor.fromString("#97a1cc");
+ $("#new-organic").prop("checked", false);
+ M.updateTextFields();
+
+ $("#new-add").text("Ajouter").off('click').click(() => {
+ const req = getTiketteData();
+ post(backend_api + 'newtikette', req).then(() => {
+ resetEditModal(true);
+ reload();
+ });
+ });
+}
+
+function openEditModal(zett) {
+ M.Modal.getInstance($("#newproduct")[0]).open();
+
+ $("#new-name").val(zett.title);
+ $("#new-type").val(zett.category_id).formSelect();
+ $("#new-designation").val(zett.designation);
+ $("#new-ingredients").val(zett.ingredients);
+ $("#new-description").val(zett.description);
+ $("#new-color")[0].jscolor.fromString(zett.color);
+ $("#new-organic").prop("checked", zett.ab === "inline");
+ M.updateTextFields();
+
+ $("#new-add").text("Modifier").off('click').click(() => {
+ const req = getTiketteData();
+ req.id = zett.id;
+ resetEditModal();
+ post(backend_api + 'updatetikette', req).then(reload);
+ });
+}
+
function addProduct(tikette) {
const zett = tikette;
const appbody = $("#appbody");
@@ -41,7 +91,7 @@ function addProduct(tikette) {
.hide();
const action = $('