From 82bdb08d6d8633e4fc8efde1eb6a3f2c95b9ca1f Mon Sep 17 00:00:00 2001 From: Horilla Date: Fri, 1 Mar 2024 12:30:44 +0530 Subject: [PATCH] [UPDT] ASSET: Added individual view and next-previous buttons to asset request allocation --- asset/models.py | 2 +- .../asset_request_allocation_list.html | 2 +- .../asset_request_allocation_view.html | 24 +++- .../request_allocation/individual_own.html | 110 ++++++++++++++++++ asset/urls.py | 5 + asset/views.py | 35 ++++++ 6 files changed, 175 insertions(+), 3 deletions(-) create mode 100644 asset/templates/request_allocation/individual_own.html diff --git a/asset/models.py b/asset/models.py index 09a9c836b..528101147 100644 --- a/asset/models.py +++ b/asset/models.py @@ -46,7 +46,7 @@ class Asset(models.Model): """ ASSET_STATUS = [ - ("In use", _("Allocated")), + ("In use", _("In Use")), ("Available", _("Available")), ("Not-Available", _("Not-Available")), ] diff --git a/asset/templates/request_allocation/asset_request_allocation_list.html b/asset/templates/request_allocation/asset_request_allocation_list.html index d36f6d134..8f26e4cd6 100644 --- a/asset/templates/request_allocation/asset_request_allocation_list.html +++ b/asset/templates/request_allocation/asset_request_allocation_list.html @@ -72,7 +72,7 @@
{% for asset in assets %} -
+
diff --git a/asset/templates/request_allocation/asset_request_allocation_view.html b/asset/templates/request_allocation/asset_request_allocation_view.html index 93216470c..2c0ed7bdc 100644 --- a/asset/templates/request_allocation/asset_request_allocation_view.html +++ b/asset/templates/request_allocation/asset_request_allocation_view.html @@ -378,7 +378,7 @@ aria-labelledby="AssetRequestModal" aria-hidden="true" > -
+
+ +
+ + + +
+{% endif %} + +
{% trans "Asset Information" %}
+
+
+
+ + +
+
+ +
+
+ +
+ {{asset.asset_description}} +
+
+
+ +
+
+ + +
+
+
+
+ + +
+
+ +
+
+ + +
+
+ +
+
+ + +
+
+ +
+
+ + +
+
+
+
+ + +
+
+ +
+
+ {% if perms.asset.change_assetassignment %} + + {% else %} + {% if asset.return_request %} +
+ + {% trans "Requested to return" %} +
+ {% else %} +
+ {% csrf_token %} + +
+ {% endif %} + {% endif %} +
+
+
\ No newline at end of file diff --git a/asset/urls.py b/asset/urls.py index 2e3b1c7e6..6fea3f4fe 100644 --- a/asset/urls.py +++ b/asset/urls.py @@ -77,6 +77,11 @@ urlpatterns = [ views.asset_request_individual_view, name="asset-request-individual-view", ), + path( + "own-asset-individual-view/", + views.own_asset_individual_view, + name="own-asset-individual-view", + ), path( "asset-allocation-individual-view/", views.asset_allocation_individual_view, diff --git a/asset/views.py b/asset/views.py index 5e65778ad..2f0b1917b 100644 --- a/asset/views.py +++ b/asset/views.py @@ -913,6 +913,12 @@ def filter_pagination_asset_request_allocation(request): [instance.id for instance in asset_allocation_filtered.object_list] ) + assets_ids = paginator_qry( + assets_filtered.qs, request.GET.get("page") + ) + assets_id = json.dumps( + [instance.id for instance in assets_ids.object_list] + ) asset_paginator = Paginator(assets_filtered.qs, get_pagination()) asset_request_paginator = Paginator(asset_request_filtered, get_pagination()) asset_allocation_paginator = Paginator(asset_allocation_filtered, get_pagination()) @@ -948,6 +954,7 @@ def filter_pagination_asset_request_allocation(request): "allocation_field": allocation_field, "requests_ids": requests_ids, "allocations_ids": allocations_ids, + "asset_ids":assets_id, } @@ -974,6 +981,7 @@ def asset_request_alloaction_view(request): return render(request, template, context) +@login_required def asset_request_alloaction_view_search_filter(request): """ This view handles the search and filter functionality for the asset request allocation list. @@ -995,6 +1003,32 @@ def asset_request_alloaction_view_search_filter(request): return render(request, template, context) +@login_required +def own_asset_individual_view(request,id): + """ + This function is responsible for view the individual own asset + + Args: + request : HTTP request object + id (int): Id of the asset assignment + """ + asset_assignment = AssetAssignment.objects.get(id=id) + asset = asset_assignment.asset_id + context = { + "asset": asset, + "asset_assignment": asset_assignment, + } + requests_ids_json = request.GET.get("assets_ids") + if requests_ids_json: + requests_ids = json.loads(requests_ids_json) + previous_id, next_id = closest_numbers(requests_ids, id) + context["assets_ids"] = requests_ids_json + context["previous"] = previous_id + context["next"] = next_id + return render(request, "request_allocation/individual_own.html", context) + + +@login_required def asset_request_individual_view(request, id): asset_request = AssetRequest.objects.get(id=id) context = { @@ -1011,6 +1045,7 @@ def asset_request_individual_view(request, id): return render(request, "request_allocation/individual_request.html", context) +@login_required def asset_allocation_individual_view(request, id): asset_allocation = AssetAssignment.objects.get(id=id) context = {"asset_allocation": asset_allocation}