Skip to content

Commit 64f9731

Browse files
committed
Update
1 parent 91178ac commit 64f9731

8 files changed

Lines changed: 649 additions & 346 deletions

File tree

landolfio/inventory/locale/nl/LC_MESSAGES/django.po

Lines changed: 44 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ msgid ""
77
msgstr ""
88
"Project-Id-Version: \n"
99
"Report-Msgid-Bugs-To: \n"
10-
"POT-Creation-Date: 2025-07-20 23:02+0200\n"
10+
"POT-Creation-Date: 2025-07-28 15:41+0200\n"
1111
"PO-Revision-Date: 2023-02-21 13:39+0100\n"
1212
"Last-Translator: Job Doesburg <job.doesburg@gmail.com>\n"
1313
"Language-Team: \n"
@@ -103,7 +103,7 @@ msgstr "heeft leenovereenkomst"
103103
#: inventory/models/asset_on_document_line.py:69
104104
#: inventory/models/asset_on_document_line.py:117
105105
#: inventory/models/asset_on_document_line.py:165
106-
#: inventory/models/asset_property.py:147 inventory/models/attachment.py:17
106+
#: inventory/models/asset_property.py:141 inventory/models/attachment.py:17
107107
#: inventory/models/remarks.py:9
108108
msgid "asset"
109109
msgstr "eigendom"
@@ -113,15 +113,21 @@ msgstr "eigendom"
113113
msgid "assets"
114114
msgstr "eigendommen"
115115

116-
#: inventory/admin.py:682
116+
#: inventory/admin.py:683
117+
#, fuzzy
118+
#| msgid "categories"
119+
msgid "Categories"
120+
msgstr "categorieën"
121+
122+
#: inventory/admin.py:687
117123
msgid "Basic Information"
118124
msgstr ""
119125

120-
#: inventory/admin.py:686
126+
#: inventory/admin.py:691
121127
msgid "Type-Specific Settings"
122128
msgstr ""
123129

124-
#: inventory/admin.py:690
130+
#: inventory/admin.py:695
125131
msgid ""
126132
"Unit is used for numeric properties. Dropdown options should be a JSON array "
127133
"like [\"Option 1\", \"Option 2\"]"
@@ -181,7 +187,7 @@ msgstr "contact"
181187
#: inventory/models/asset_on_document_line.py:78
182188
#: inventory/models/asset_on_document_line.py:126
183189
#: inventory/models/asset_on_document_line.py:174
184-
#: inventory/models/asset_property.py:156
190+
#: inventory/models/asset_property.py:150
185191
msgid "value"
186192
msgstr "waarde"
187193

@@ -270,8 +276,7 @@ msgstr "nummer"
270276
msgid "name"
271277
msgstr "naam"
272278

273-
#: inventory/models/asset.py:104 inventory/models/asset_property.py:23
274-
#: inventory/models/category.py:8
279+
#: inventory/models/asset.py:104 inventory/models/category.py:8
275280
#: inventory/templates/admin/inventory/asset/view_asset/includes/sidebar.html:44
276281
msgid "category"
277282
msgstr "categorie"
@@ -442,6 +447,18 @@ msgstr ""
442447
msgid "Dropdown"
443448
msgstr ""
444449

450+
#: inventory/models/asset_property.py:22 inventory/models/category.py:9
451+
#: inventory/models/category.py:40
452+
#: inventory/templates/admin/inventory/asset/overview/includes/categories_module.html:6
453+
msgid "categories"
454+
msgstr "categorieën"
455+
456+
#: inventory/models/asset_property.py:23
457+
#, fuzzy
458+
#| msgid "assets value"
459+
msgid "Categories this property applies to"
460+
msgstr "voorraadwaarde"
461+
445462
#: inventory/models/asset_property.py:27
446463
msgid "property name"
447464
msgstr ""
@@ -454,47 +471,45 @@ msgstr ""
454471
msgid "slug"
455472
msgstr ""
456473

457-
#: inventory/models/asset_property.py:37
458-
msgid ""
459-
"URL-friendly version with category prefix (e.g., 'electronics-color', "
460-
"'furniture-weight')"
474+
#: inventory/models/asset_property.py:36
475+
msgid "URL-friendly version of property name (e.g., 'color', 'weight')"
461476
msgstr ""
462477

463-
#: inventory/models/asset_property.py:44
478+
#: inventory/models/asset_property.py:42
464479
msgid "property type"
465480
msgstr ""
466481

467-
#: inventory/models/asset_property.py:49
482+
#: inventory/models/asset_property.py:47
468483
msgid "unit"
469484
msgstr ""
470485

471-
#: inventory/models/asset_property.py:50
486+
#: inventory/models/asset_property.py:48
472487
msgid "Unit for numeric properties (e.g., 'kg', 'cm', 'V')"
473488
msgstr ""
474489

475-
#: inventory/models/asset_property.py:54
490+
#: inventory/models/asset_property.py:52
476491
msgid "dropdown options"
477492
msgstr ""
478493

479-
#: inventory/models/asset_property.py:56
494+
#: inventory/models/asset_property.py:54
480495
msgid ""
481496
"JSON array of options for dropdown properties (e.g., [\"Red\", \"Blue\", "
482497
"\"Green\"])"
483498
msgstr ""
484499

485-
#: inventory/models/asset_property.py:61
500+
#: inventory/models/asset_property.py:59
486501
msgid "display order"
487502
msgstr ""
488503

489-
#: inventory/models/asset_property.py:62
504+
#: inventory/models/asset_property.py:60
490505
msgid "Order in which properties are displayed"
491506
msgstr ""
492507

493-
#: inventory/models/asset_property.py:66
508+
#: inventory/models/asset_property.py:64
494509
msgid "asset property"
495510
msgstr ""
496511

497-
#: inventory/models/asset_property.py:67
512+
#: inventory/models/asset_property.py:65
498513
#, fuzzy
499514
#| msgid "assets subscriptions"
500515
msgid "asset properties"
@@ -512,39 +527,35 @@ msgstr ""
512527
msgid "Invalid JSON format for dropdown options"
513528
msgstr ""
514529

515-
#: inventory/models/asset_property.py:122
516-
msgid "Category is required to generate slug"
517-
msgstr ""
518-
519-
#: inventory/models/asset_property.py:153
530+
#: inventory/models/asset_property.py:147
520531
msgid "property"
521532
msgstr ""
522533

523-
#: inventory/models/asset_property.py:157
534+
#: inventory/models/asset_property.py:151
524535
msgid "The value of this property for this asset"
525536
msgstr ""
526537

527-
#: inventory/models/asset_property.py:161
538+
#: inventory/models/asset_property.py:155
528539
#, fuzzy
529540
#| msgid "assets value"
530541
msgid "asset property value"
531542
msgstr "voorraadwaarde"
532543

533-
#: inventory/models/asset_property.py:162
544+
#: inventory/models/asset_property.py:156
534545
#, fuzzy
535546
#| msgid "assets value"
536547
msgid "asset property values"
537548
msgstr "voorraadwaarde"
538549

539-
#: inventory/models/asset_property.py:176
540-
msgid "Property must belong to the same category as the asset"
550+
#: inventory/models/asset_property.py:168
551+
msgid "Property must apply to the asset's category"
541552
msgstr ""
542553

543-
#: inventory/models/asset_property.py:187
554+
#: inventory/models/asset_property.py:177
544555
msgid "Value must be a valid number for numeric properties"
545556
msgstr ""
546557

547-
#: inventory/models/asset_property.py:196
558+
#: inventory/models/asset_property.py:186
548559
msgid "Value must be one of the allowed dropdown options: {}"
549560
msgstr ""
550561

@@ -560,11 +571,6 @@ msgstr "uploaddatum"
560571
msgid "from"
561572
msgstr ""
562573

563-
#: inventory/models/category.py:9 inventory/models/category.py:40
564-
#: inventory/templates/admin/inventory/asset/overview/includes/categories_module.html:6
565-
msgid "categories"
566-
msgstr "categorieën"
567-
568574
#: inventory/models/category.py:20
569575
msgid "name singular"
570576
msgstr "naam enkelvoud"

landolfio/inventory_frontend/templates/detail.html

Lines changed: 51 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -8,29 +8,34 @@
88
<!-- Buttons row -->
99
<div class="d-flex justify-content-between align-items-center mb-3">
1010
<div class="d-flex align-items-center gap-2">
11-
<a href="{{ back_url }}" class="btn btn-outline-secondary btn-sm">
12-
<i class="fas fa-arrow-left me-1 d-inline"></i><span class="d-none d-sm-inline">{% translate "Back" %}</span>
11+
<a href="{{ back_url }}" class="btn btn-outline-secondary">
12+
<i class="fas fa-arrow-left me-sm-1 d-inline"></i><span class="d-none d-sm-inline">{% translate "Back" %}</span>
1313
</a>
1414
<div class="position-relative" style="width: 150px;">
1515
<input type="text" id="detail-search-input-mobile" class="form-control"
16-
placeholder="{% translate 'Search...' %}" style="height: 31px;"
16+
placeholder="{% translate 'Search...' %}"
1717
autocomplete="off">
1818
<div id="detail-autocomplete-suggestions-mobile" class="position-absolute w-100 mt-1 bg-white border rounded shadow-lg" style="z-index: 1000; display: none; max-height: 300px; overflow-y: auto;"></div>
19-
<i class="fas fa-search position-absolute top-50 end-0 translate-middle-y me-2 text-muted" style="pointer-events: none; font-size: 0.75rem;"></i>
19+
<i class="fas fa-search position-absolute top-50 end-0 translate-middle-y me-2 text-muted" style="pointer-events: none;"></i>
2020
</div>
2121
</div>
22-
<div class="btn-group btn-group-sm">
22+
<div class="btn-group">
2323
<a href="{% url 'inventory_frontend:update' asset.pk %}" class="btn btn-outline-primary">
24-
<i class="fas fa-edit me-1 d-inline"></i><span class="d-none d-sm-inline">{% translate "Edit" %}</span>
24+
<i class="fas fa-edit me-sm-1 d-inline"></i><span class="d-none d-sm-inline">{% translate "Edit" %}</span>
2525
</a>
2626
{% if perms.inventory.delete_asset %}
2727
<button class="btn btn-outline-danger" data-bs-toggle="modal" data-bs-target="#deleteModal">
28-
<i class="fas fa-trash me-1 d-inline"></i><span class="d-none d-sm-inline">{% translate "Delete" %}</span>
28+
<i class="fas fa-trash me-sm-1 d-inline"></i><span class="d-none d-sm-inline">{% translate "Delete" %}</span>
2929
</button>
3030
{% endif %}
31+
</div>
32+
<div class="btn-group">
3133
<a href="{% url 'admin:index' %}" class="btn btn-outline-secondary">
32-
<i class="fas fa-cog me-1 d-inline"></i><span class="d-none d-sm-inline">{% translate "Admin" %}</span>
34+
<i class="fas fa-cog"></i>
3335
</a>
36+
<button type="button" class="btn btn-outline-secondary customer-mode-toggle" title="{% translate 'Toggle Customer Mode' %}">
37+
<i class="fas fa-user-tie"></i>
38+
</button>
3439
</div>
3540
</div>
3641
<!-- Asset name and info -->
@@ -56,7 +61,7 @@ <h2 class="mb-2">{{ asset.name }}</h2>
5661
<!-- Desktop/tablet layout: same line -->
5762
<div class="d-none d-lg-flex align-items-start py-4">
5863
<!-- Left side - same width as right side -->
59-
<div class="d-flex justify-content-start align-items-center gap-2" style="flex: 0 0 auto; min-width: 300px;">
64+
<div class="d-flex justify-content-start align-items-center gap-2" style="flex: 0 0 auto; min-width: 350px;">
6065
<a href="{{ back_url }}" class="btn btn-outline-secondary">
6166
<i class="fas fa-arrow-left me-2"></i>{% translate "Back" %}
6267
</a>
@@ -89,19 +94,26 @@ <h2 class="mb-0">{{ asset.name }}</h2>
8994
</div>
9095

9196
<!-- Right side buttons - same width as left side -->
92-
<div class="d-flex justify-content-end" style="flex: 0 0 auto; min-width: 300px;">
97+
<div class="d-flex justify-content-end" style="flex: 0 0 auto; min-width: 350px;">
9398
<div class="d-flex gap-2">
94-
<a href="{% url 'inventory_frontend:update' asset.pk %}" class="btn btn-outline-primary">
95-
<i class="fas fa-edit me-2"></i>{% translate "Edit" %}
96-
</a>
97-
{% if perms.inventory.delete_asset %}
98-
<button class="btn btn-outline-danger" data-bs-toggle="modal" data-bs-target="#deleteModal">
99-
<i class="fas fa-trash me-2"></i>{% translate "Delete" %}
100-
</button>
101-
{% endif %}
102-
<a href="{% url 'admin:index' %}" class="btn btn-outline-secondary">
103-
<i class="fas fa-cog me-2"></i>{% translate "Admin" %}
104-
</a>
99+
<div class="btn-group" role="group">
100+
<a href="{% url 'inventory_frontend:update' asset.pk %}" class="btn btn-outline-primary">
101+
<i class="fas fa-edit me-2"></i>{% translate "Edit" %}
102+
</a>
103+
{% if perms.inventory.delete_asset %}
104+
<button class="btn btn-outline-danger" data-bs-toggle="modal" data-bs-target="#deleteModal">
105+
<i class="fas fa-trash me-2"></i>{% translate "Delete" %}
106+
</button>
107+
{% endif %}
108+
</div>
109+
<div class="btn-group" role="group">
110+
<a href="{% url 'admin:index' %}" class="btn btn-outline-secondary">
111+
<i class="fas fa-cog"></i>
112+
</a>
113+
<button type="button" class="btn btn-outline-secondary customer-mode-toggle" title="{% translate 'Toggle Customer Mode' %}">
114+
<i class="fas fa-user-tie"></i>
115+
</button>
116+
</div>
105117
</div>
106118
</div>
107119
</div>
@@ -172,15 +184,15 @@ <h5 class="card-title mb-0">{% translate "Basic Information" %}</h5>
172184
{% if asset.location_nr %}#{{ asset.location_nr }}{% endif %}
173185
</td>
174186
</tr>
175-
<tr>
187+
<tr class="customer-mode-hide">
176188
<td class="text-muted">{% translate "Collection" %}:</td>
177189
<td>{{ asset.collection.name }}</td>
178190
</tr>
179-
<tr class="purchase-price">
191+
<tr class="purchase-price customer-mode-hide">
180192
<td class="text-muted">{% translate "Created" %}:</td>
181193
<td>{{ asset.created_at|date:"d-m-Y H:i" }}</td>
182194
</tr>
183-
<tr>
195+
<tr class="customer-mode-hide">
184196
<td class="text-muted">{% translate "Last Updated" %}:</td>
185197
<td>{{ asset.updated_at|date:"d-m-Y H:i" }}</td>
186198
</tr>
@@ -746,17 +758,24 @@ <h5 class="modal-title">{% translate "Delete Asset" %}</h5>
746758
return cookieValue;
747759
}
748760

761+
function setCookie(name, value, days = 30) {
762+
const date = new Date();
763+
date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
764+
const expires = "expires=" + date.toUTCString();
765+
document.cookie = name + "=" + value + ";" + expires + ";path=/";
766+
}
767+
749768
// Adjust layout on page load
750769
document.addEventListener('DOMContentLoaded', function() {
751770
adjustOverviewLayout();
752-
});
753-
754-
// Listen for customer mode changes (if the toggle is clicked)
755-
document.addEventListener('click', function(e) {
756-
if (e.target.id === 'customer-mode-toggle' || e.target.closest('#customer-mode-toggle')) {
757-
// Small delay to allow cookie to be set
758-
setTimeout(adjustOverviewLayout, 100);
759-
}
771+
772+
// Listen for customer mode changes and adjust layout
773+
document.addEventListener('click', function(e) {
774+
if (e.target.matches('.customer-mode-toggle') || e.target.closest('.customer-mode-toggle')) {
775+
// Small delay to allow cookie to be set by base template handler
776+
setTimeout(adjustOverviewLayout, 100);
777+
}
778+
});
760779
});
761780

762781
Fancybox.bind('[data-fancybox="gallery"]', {

0 commit comments

Comments
 (0)