From 18f8c9bd3ee9de0e23967edebc170329d5ec1a2d Mon Sep 17 00:00:00 2001 From: Shruti Hindocha Date: Mon, 22 Jan 2024 15:02:19 +0800 Subject: [PATCH] infite loading in saction outcome dashboard fixed --- .../components/sanction_outcome/api.py | 3 +- .../components/sanction_outcome/models.py | 1 - .../sanction_outcome/serializers.py | 5 ++ .../sanction_outcome_dashboard.vue | 78 +++++++------------ 4 files changed, 33 insertions(+), 54 deletions(-) diff --git a/wildlifecompliance/components/sanction_outcome/api.py b/wildlifecompliance/components/sanction_outcome/api.py index 08e72d96d..b79085de3 100644 --- a/wildlifecompliance/components/sanction_outcome/api.py +++ b/wildlifecompliance/components/sanction_outcome/api.py @@ -118,7 +118,8 @@ def filter_queryset(self, request, queryset, view): q_objects &= Q(district__id=district_id) # perform filters - queryset = queryset.filter(q_objects) + if queryset.exists: + queryset = queryset.filter(q_objects) getter = request.query_params.get fields = self.get_fields(getter) diff --git a/wildlifecompliance/components/sanction_outcome/models.py b/wildlifecompliance/components/sanction_outcome/models.py index 6ce6bb515..f08379951 100644 --- a/wildlifecompliance/components/sanction_outcome/models.py +++ b/wildlifecompliance/components/sanction_outcome/models.py @@ -105,7 +105,6 @@ class SanctionOutcome(models.Model): # This is pending closure status (STATUS_AWAITING_PRINT_AND_POST, 'Awaiting Print and Post'), (STATUS_WITH_DOT, 'With Dep. of Transport'), - (STATUS_AWAITING_ISSUANCE, 'Awaiting Issuance'), (STATUS_AWAITING_REVIEW, 'Awaiting Review'), (STATUS_AWAITING_ISSUANCE, 'Awaiting Issuance'), (STATUS_AWAITING_REMEDIATION_ACTIONS, 'Awaiting Remediation Actions'), # TODO: implement pending closuer of SanctionOutcome with type RemediationActions diff --git a/wildlifecompliance/components/sanction_outcome/serializers.py b/wildlifecompliance/components/sanction_outcome/serializers.py index e51b1aaaf..b2c376433 100644 --- a/wildlifecompliance/components/sanction_outcome/serializers.py +++ b/wildlifecompliance/components/sanction_outcome/serializers.py @@ -432,6 +432,8 @@ class SanctionOutcomeDatatableSerializer(serializers.ModelSerializer): # remediation_actions = serializers.SerializerMethodField() # remediation_actions = RemediationActionSerializer(read_only=True, many=True) # This is related field remediation_actions = serializers.SerializerMethodField() + region = serializers.SerializerMethodField() + class Meta: model = SanctionOutcome @@ -560,6 +562,9 @@ def get_user_action(self, obj): urls = '
'.join(url_list) return urls + + def get_region(self,obj): + return obj.region_id class RecordFerCaseNumberSerializer(serializers.ModelSerializer): diff --git a/wildlifecompliance/frontend/wildlifecompliance/src/components/internal/sanction_outcome/sanction_outcome_dashboard.vue b/wildlifecompliance/frontend/wildlifecompliance/src/components/internal/sanction_outcome/sanction_outcome_dashboard.vue index d4f87184c..ce33d2c06 100644 --- a/wildlifecompliance/frontend/wildlifecompliance/src/components/internal/sanction_outcome/sanction_outcome_dashboard.vue +++ b/wildlifecompliance/frontend/wildlifecompliance/src/components/internal/sanction_outcome/sanction_outcome_dashboard.vue @@ -51,27 +51,17 @@
- - +
- - +
@@ -281,15 +271,8 @@ export default { vm.addEventListeners(); }); }, - computed: { - current_region_id: function() { - return this.filterRegionId; - }, - }, watch: { - current_region_id: function() { - this.updateDistricts(); - }, + filterType: function () { this.$refs.sanction_outcome_table.vmDataTable.draw(); }, @@ -317,26 +300,20 @@ export default { this.constructOptionsStatus(); this.constructOptionsPaymentStatus(); this.constructOptionsRegion(); - this.constructOptionsDistrict(); + // this.constructOptionsDistrict(); }, methods: { - updateDistricts: function(updateFromUI) { + updateDistricts: function() { this.sanction_outcome_availableDistricts = []; // This is a list of options for district - for (let record of this.sanction_outcome_regionDistricts) { - if (this.filterRegionId == record.id) { - for (let district_id of record.districts) { - for (let district_record of this.sanction_outcome_regionDistricts) { - if (district_record.id == district_id) { - this.sanction_outcome_availableDistricts.push(district_record); - } - } - } + for (let region of this.sanction_outcome_regions) { + if (region.id == this.filterRegionId) { + this.sanction_outcome_availableDistricts = region.districts } } this.sanction_outcome_availableDistricts.splice(0, 0, { - id: "all", - display_name: "All", + district_id: "all", + district_name: "All", district: "", districts: [], region: null @@ -413,25 +390,22 @@ export default { constructOptionsRegion: async function() { let returned_regions = await cache_helper.getSetCacheList( "Regions", - "/api/region_district/get_regions/" + "/api/regions/" ); Object.assign(this.sanction_outcome_regions, returned_regions); this.sanction_outcome_regions.splice(0, 0, { id: "all", - display_name: "All", - district: "", - districts: [], - region: null + name: "All", }); }, - constructOptionsDistrict: async function() { - let returned_region_districts = await cache_helper.getSetCacheList( - "RegionDistricts", - api_endpoints.region_district - ); - Object.assign(this.sanction_outcome_regionDistricts, returned_region_districts); - this.updateDistricts(); - }, + // constructOptionsDistrict: async function() { + // let returned_region_districts = []; + // for (let region in this.sanction_outcome_regions){ + // returned_region_districts.append(region.districts) + // } + // Object.assign(this.sanction_outcome_regionDistricts, returned_region_districts); + // this.updateDistricts(); + // }, }, components: { datatable,