From b99cd01db2f9b605dd7962c314e6137505d62ebb Mon Sep 17 00:00:00 2001 From: Tinashe <70011086+tinashechiraya@users.noreply.github.com> Date: Mon, 7 Oct 2024 15:20:17 +0200 Subject: [PATCH] patch: add custom url path for observation image view set (#1090) --- django_project/monitor/urls.py | 139 ++++++++++++++++++--------------- 1 file changed, 76 insertions(+), 63 deletions(-) diff --git a/django_project/monitor/urls.py b/django_project/monitor/urls.py index 32093c13c..6dca80e72 100644 --- a/django_project/monitor/urls.py +++ b/django_project/monitor/urls.py @@ -1,6 +1,7 @@ from django.urls import path, include from rest_framework.routers import DefaultRouter +# Observation-related views from monitor.observation_views import ( ObservationListCreateView, ObservationRetrieveUpdateDeleteView, @@ -12,6 +13,8 @@ upload_pest_image, delete_pest_image ) + +# Site-related views from monitor.site_views import ( AssessmentListCreateView, AssessmentRetrieveUpdateDestroyView, @@ -22,6 +25,8 @@ SaveObservationImagesView, SitesWithObservationsView ) + +# Other general views from monitor.views import ( index, wms_get_feature_info, @@ -46,33 +51,24 @@ # URL patterns for the miniSASS app urlpatterns = [ - path('', index, name='monitor_index'), - path('wms/~~', wms_get_feature_info), + # Observation Image URLs path( - 'sites/is-land///', - CheckSiteIsLand.as_view(), - name='check-coordinate-is-land' + 'observations//images/', + ObservationImageViewSet.as_view({'get': 'list'}), + name='observation-image-view-list' ), - path('sites////', get_sites), - path('closest_site////', get_closest_site), - path('unique//', get_unique), - path('legacy/observation//', zoom_observation), - path('legacy/observations//', get_observations), - path('observations/download//', download_observations), - path('observations/download/filtered/~', - download_observations_filtered), path( - 'observations/download-v2//', - DownloadObservations.as_view(), - name='download-observations' + 'upload-pest-images/', + upload_pest_image, + name='upload-pest-images' ), path( - 'observations/download/filtered/~', - download_observations_filtered + 'observation-images//delete//', + delete_pest_image, + name='remove-pest-image' ), - path('schools/', get_schools), - path('/', detail, name='monitor_detail'), + # General observation URLs path( 'observations/', ObservationListCreateView.as_view(), @@ -83,16 +79,15 @@ ObservationRetrieveUpdateDeleteView.as_view(), name='observation-retrieve-update-delete' ), - path( - 'sites/', - SitesListCreateView.as_view(), - name='sites-list-create' + 'observations/recent-observations/', + RecentObservationListView.as_view(), + name='recent-observation-list' ), path( - 'sites//', - SiteRetrieveUpdateDestroyView.as_view(), - name='site-retrieve-update-destroy' + 'observations/observation-details//', + ObservationRetrieveView.as_view(), + name='observation-details' ), path( 'observations-create/', @@ -100,67 +95,85 @@ name='create_observations' ), path( - 'upload-pest-images/', - upload_pest_image, - name='upload-pest-images' + 'observations/download//', + download_observations ), path( - 'observation-images//delete//', - delete_pest_image, - name='remove-pest-image' + 'observations/download/filtered/~', + download_observations_filtered ), - path( - 'observations/recent-observations/', - RecentObservationListView.as_view(), - name='recent-observation-list' + 'observations/download-v2//', + DownloadObservations.as_view(), + name='download-observations' ), - path( - 'observations/observation-details//', - ObservationRetrieveView.as_view(), - name='observation-details' + 'observations/by-site//', + get_observations_by_site, + name='observations-by-site' ), - path( - 'site-observations///', - SiteObservationsByLocation.as_view(), - name='site-observations' + 'observations//save-images/', + SaveObservationImagesView.as_view(), + name='save_observation_images' ), - path( - 'observations/observation-details//', + 'observations/observation-details//', include(router.urls) ), + # Site-related URLs path( - 'site-assessments/', - AssessmentListCreateView.as_view(), - name='assessment-list-create' - ), - path( - 'site-assessments//', - AssessmentRetrieveUpdateDestroyView.as_view(), - name='assessment-retrieve-update-destroy' + 'sites/', + SitesListCreateView.as_view(), + name='sites-list-create' ), path( - 'observations/by-site//', - get_observations_by_site, - name='observations-by-site' + 'sites//', + SiteRetrieveUpdateDestroyView.as_view(), + name='site-retrieve-update-destroy' ), path( 'sites//save-images/', SaveSiteImagesView.as_view(), name='save_site_images' ), - path( - 'observations//save-images/', - SaveObservationImagesView.as_view(), - name='save_observation_images' - ), path( 'sites-with-observations/', SitesWithObservationsView.as_view(), name='sites-with-observations' ), + path( + 'site-observations///', + SiteObservationsByLocation.as_view(), + name='site-observations' + ), + + # Site assessment URLs + path( + 'site-assessments/', + AssessmentListCreateView.as_view(), + name='assessment-list-create' + ), + path( + 'site-assessments//', + AssessmentRetrieveUpdateDestroyView.as_view(), + name='assessment-retrieve-update-destroy' + ), + + # Other functionality + path('', index, name='monitor_index'), + path('wms/~~', wms_get_feature_info), + path( + 'sites/is-land///', + CheckSiteIsLand.as_view(), + name='check-coordinate-is-land' + ), + path('sites////', get_sites), + path('closest_site////', get_closest_site), + path('unique//', get_unique), + path('legacy/observation//', zoom_observation), + path('legacy/observations//', get_observations), + path('schools/', get_schools), + path('/', detail, name='monitor_detail'), ]