MAKENTNU/web

View on GitHub
src/make_queue/urls.py

Summary

Maintainability
D
1 day
Test Coverage
from decorator_include import decorator_include
from django.contrib.auth.decorators import login_required
from django.urls import include, path
 
from .api import views as api_views
from .views import (
course as course_views, machine as machine_views, quota as quota_views, reservation as reservation_views,
reservation_rule as reservation_rule_views,
)
 
 
Similar blocks of code found in 17 locations. Consider refactoring.
specific_machinetype_urlpatterns = [
path("reservationrules/", reservation_rule_views.ReservationRuleListView.as_view(), name='reservation_rule_list'),
path("usagerules/", machine_views.MachineUsageRuleDetailView.as_view(), name='machine_usage_rule_detail'),
]
 
Similar blocks of code found in 2 locations. Consider refactoring.
specific_machine_urlpatterns = [
path("", machine_views.MachineDetailView.as_view(), name='machine_detail'),
path("reservations/add/", login_required(reservation_views.ReservationCreateView.as_view()), name='reservation_create'),
]
Similar blocks of code found in 5 locations. Consider refactoring.
machine_urlpatterns = [
path("", machine_views.MachineListView.as_view(), name='machine_list'),
path("<int:pk>/", include(specific_machine_urlpatterns)),
]
 
specific_reservation_urlpatterns = [
path("change/", login_required(reservation_views.ReservationUpdateView.as_view()), name='reservation_update'),
]
reservation_urlpatterns = [
path("", reservation_views.ReservationListView.as_view(), name='reservation_list'),
path("<int:pk>/", include(specific_reservation_urlpatterns)),
path("find-free-slots/", reservation_views.ReservationFindFreeSlotsView.as_view(), name='reservation_find_free_slots'),
]
 
Similar blocks of code found in 2 locations. Consider refactoring.
urlpatterns = [
path("machinetypes/<int:pk>/", include(specific_machinetype_urlpatterns)),
path("machines/", include(machine_urlpatterns)),
path("reservations/", include(reservation_urlpatterns)),
]
 
# --- API URL patterns (imported in `web/urls.py`) ---
 
specific_machinetype_apipatterns = [
path("reservationrules/", api_views.APIReservationRuleListView.as_view(), name='api_reservation_rule_list'),
]
 
Similar blocks of code found in 17 locations. Consider refactoring.
specific_machine_apipatterns = [
path("data/", api_views.APIMachineDataView.as_view(), name='api_machine_data'),
path("reservations/", api_views.APIReservationListView.as_view(), name='api_reservation_list'),
]
 
Similar blocks of code found in 17 locations. Consider refactoring.
specific_reservation_apipatterns = [
path("finish/", api_views.APIReservationMarkFinishedView.as_view(), name='api_reservation_mark_finished'),
path("delete/", api_views.APIReservationDeleteView.as_view(), name='api_reservation_delete'),
]
 
apipatterns = [
path("machinetypes/<int:pk>/", include(specific_machinetype_apipatterns)),
path("machines/<int:pk>/", include(specific_machine_apipatterns)),
path("reservations/<int:pk>/", decorator_include(login_required, specific_reservation_apipatterns)),
]
 
# --- Admin URL patterns (imported in `web/urls.py`) ---
 
Similar blocks of code found in 17 locations. Consider refactoring.
specific_reservation_rule_adminpatterns = [
path("change/", reservation_rule_views.ReservationRuleUpdateView.as_view(), name='reservation_rule_update'),
path("delete/", reservation_rule_views.ReservationRuleDeleteView.as_view(), name='reservation_rule_delete'),
]
Similar blocks of code found in 5 locations. Consider refactoring.
reservation_rules_adminpatterns = [
path("add/", reservation_rule_views.ReservationRuleCreateView.as_view(), name='reservation_rule_create'),
path("<int:reservation_rule_pk>/", include(specific_reservation_rule_adminpatterns)),
]
Similar blocks of code found in 2 locations. Consider refactoring.
specific_machinetype_adminpatterns = [
path("reservationrules/", include(reservation_rules_adminpatterns)),
path("usagerules/change/", machine_views.MachineUsageRuleUpdateView.as_view(), name='machine_usage_rule_update'),
]
 
Similar blocks of code found in 17 locations. Consider refactoring.
specific_machine_adminpatterns = [
path("change/", machine_views.MachineUpdateView.as_view(), name='machine_update'),
path("delete/", machine_views.MachineDeleteView.as_view(), name='machine_delete'),
]
Similar blocks of code found in 5 locations. Consider refactoring.
machine_adminpatterns = [
path("add/", machine_views.MachineCreateView.as_view(), name='machine_create'),
path("<int:pk>/", include(specific_machine_adminpatterns)),
]
 
Similar blocks of code found in 17 locations. Consider refactoring.
specific_course_adminpatterns = [
path("change/", course_views.Printer3DCourseUpdateView.as_view(), name='printer_3d_course_update'),
path("delete/", course_views.Printer3DCourseDeleteView.as_view(), name='printer_3d_course_delete'),
]
course_adminpatterns = [
path("", course_views.Printer3DCourseListView.as_view(), name='printer_3d_course_list'),
path("add/", course_views.Printer3DCourseCreateView.as_view(), name='printer_3d_course_create'),
path("<int:pk>/", include(specific_course_adminpatterns)),
path("status/change/", course_views.Printer3DCourseStatusBulkUpdateView.as_view(), name='printer_3d_course_status_bulk_update'),
path("download/xlsx/", course_views.Printer3DCourseXLSXView.as_view(), name='printer_3d_course_xlsx'),
]
 
Similar blocks of code found in 17 locations. Consider refactoring.
specific_quota_adminpatterns = [
path("change/", quota_views.QuotaUpdateView.as_view(), name='quota_update'),
path("delete/", quota_views.QuotaDeleteView.as_view(), name='quota_delete'),
]
Similar blocks of code found in 2 locations. Consider refactoring.
quota_adminpatterns = [
path("", quota_views.AdminQuotaPanelView.as_view(), name='admin_quota_panel'),
path("add/", quota_views.QuotaCreateView.as_view(), name='quota_create'),
path("<int:pk>/", include(specific_quota_adminpatterns)),
path("users/<int:pk>/", quota_views.AdminUserQuotaListView.as_view(), name='admin_user_quota_list'),
]
 
adminpatterns = [
path("machinetypes/<int:pk>/", include(specific_machinetype_adminpatterns)),
path("machines/", include(machine_adminpatterns)),
path("courses/", include(course_adminpatterns)),
path("quotas/", include(quota_adminpatterns)),
]