diff --git a/src/api_packing_list_handler.php b/src/api_packing_list_handler.php index 5df171a..0a8fc65 100644 --- a/src/api_packing_list_handler.php +++ b/src/api_packing_list_handler.php @@ -224,7 +224,33 @@ function user_can_edit_list($conn, $packing_list_id, $user_id) { } function get_all_items($conn, $packing_list_id) { - $stmt = $conn->prepare("SELECT pli.id, pli.article_id, pli.quantity, pli.parent_packing_list_item_id, pli.carrier_user_id, pli.backpack_id, pli.backpack_compartment_id, COALESCE(a.name, pli.name) as name, a.weight_grams, a.product_designation, a.consumable, m.name as manufacturer_name FROM packing_list_items pli LEFT JOIN articles a ON pli.article_id = a.id LEFT JOIN manufacturers m ON a.manufacturer_id = m.id WHERE pli.packing_list_id = ? ORDER BY pli.order_index ASC, pli.id ASC"); + $sql = "SELECT + pli.id, + pli.article_id, + pli.quantity, + pli.parent_packing_list_item_id, + pli.carrier_user_id, + pli.backpack_id, + pli.backpack_compartment_id, + COALESCE( + a.name, + bc.name, + CASE WHEN b.name IS NOT NULL THEN CONCAT('Rucksack: ', b.name) ELSE NULL END, + pli.name + ) as name, + a.weight_grams, + a.product_designation, + a.consumable, + m.name as manufacturer_name + FROM packing_list_items pli + LEFT JOIN articles a ON pli.article_id = a.id + LEFT JOIN manufacturers m ON a.manufacturer_id = m.id + LEFT JOIN backpacks b ON pli.backpack_id = b.id + LEFT JOIN backpack_compartments bc ON pli.backpack_compartment_id = bc.id + WHERE pli.packing_list_id = ? + ORDER BY pli.order_index ASC, pli.id ASC"; + + $stmt = $conn->prepare($sql); $stmt->bind_param("i", $packing_list_id); $stmt->execute(); $result = $stmt->get_result()->fetch_all(MYSQLI_ASSOC); diff --git a/src/edit_packing_list_details.php b/src/edit_packing_list_details.php index 14fa1fb..0a9e4e3 100644 --- a/src/edit_packing_list_details.php +++ b/src/edit_packing_list_details.php @@ -85,11 +85,19 @@ if ($_SERVER["REQUEST_METHOD"] == "POST" && $can_edit) { // Update Basic Details $name = trim($_POST['name']); $description = trim($_POST['description']); - $stmt_update = $conn->prepare("UPDATE packing_lists SET name = ?, description = ? WHERE id = ?"); - $stmt_update->bind_param("ssi", $name, $description, $packing_list_id); + + // Household sharing logic + $new_household_id = NULL; + if (isset($_POST['is_household_list']) && $_POST['is_household_list'] == '1' && $current_user_household_id) { + $new_household_id = $current_user_household_id; + } + + $stmt_update = $conn->prepare("UPDATE packing_lists SET name = ?, description = ?, household_id = ? WHERE id = ?"); + $stmt_update->bind_param("ssii", $name, $description, $new_household_id, $packing_list_id); $stmt_update->execute(); $packing_list['name'] = $name; $packing_list['description'] = $description; + $packing_list['household_id'] = $new_household_id; // Handle Participation & Backpacks // Get all potential users to check if they were unchecked @@ -179,12 +187,13 @@ function cleanup_old_backpack_containers($conn, $list_id, $user_id) { } $back_link = 'packing_lists.php' . (!empty($packing_list['is_template']) ? '?view=templates' : ''); +$page_headline = !empty($packing_list['is_template']) ? 'Vorlage bearbeiten' : 'Details bearbeiten'; ?>
-

Details:

+

:

Zurück
@@ -203,10 +212,17 @@ $back_link = 'packing_lists.php' . (!empty($packing_list['is_template']) ? '?vie
+ + +
+ > + +
+
-
Teilnehmer & Rucksäcke
+
Teilnehmer & Rucksäcke (Standard)

Wähle hier, wer mitkommt und welchen Rucksack er trägt.

diff --git a/src/packing_lists.php b/src/packing_lists.php index 94a8e5d..4f0c001 100644 --- a/src/packing_lists.php +++ b/src/packing_lists.php @@ -142,16 +142,11 @@ $conn->close(); // VORLAGEN ACTIONS ?>
-
- - + +