diff --git a/api/urls.py b/api/urls.py index 784bb868..b356464c 100644 --- a/api/urls.py +++ b/api/urls.py @@ -1,7 +1,7 @@ # -*- coding: utf-8 -*- from __future__ import unicode_literals -from django.conf.urls import url, include +from django.urls import include, path from rest_framework import routers from . import views @@ -19,7 +19,9 @@ router.register(r'weight', views.WeightViewSet) app_name = 'api' urlpatterns = [ - url(r'^api/', include(router.urls)), - url(r'^api/auth/', include('rest_framework.urls', - namespace='rest_framework')) + path('api/', include(router.urls)), + path('api/auth/', include( + 'rest_framework.urls', + namespace='rest_framework' + )) ] diff --git a/babybuddy/tests/tests_forms.py b/babybuddy/tests/tests_forms.py index a6855ef8..e84ee604 100644 --- a/babybuddy/tests/tests_forms.py +++ b/babybuddy/tests/tests_forms.py @@ -75,7 +75,7 @@ class FormsTestCase(TestCase): self.assertIsInstance(new_user, User) params['first_name'] = 'Changed' - page = self.c.post('/users/{}/edit'.format(new_user.id), params) + page = self.c.post('/users/{}/edit/'.format(new_user.id), params) self.assertEqual(page.status_code, 302) new_user.refresh_from_db() self.assertEqual(new_user.first_name, params['first_name']) diff --git a/babybuddy/tests/tests_views.py b/babybuddy/tests/tests_views.py index b4224d9a..b7455076 100644 --- a/babybuddy/tests/tests_views.py +++ b/babybuddy/tests/tests_views.py @@ -74,7 +74,7 @@ class ViewsTestCase(TestCase): self.assertEqual(page.status_code, 200) entry = User.objects.first() - page = self.c.get('/users/{}/edit'.format(entry.id)) + page = self.c.get('/users/{}/edit/'.format(entry.id)) self.assertEqual(page.status_code, 200) page = self.c.get('/users/{}/delete/'.format(entry.id)) self.assertEqual(page.status_code, 200) diff --git a/babybuddy/urls.py b/babybuddy/urls.py index c3f881fc..155cdacf 100644 --- a/babybuddy/urls.py +++ b/babybuddy/urls.py @@ -1,45 +1,63 @@ # -*- coding: utf-8 -*- from __future__ import unicode_literals -from django.conf.urls import url, include from django.conf.urls.static import static from django.conf import settings from django.contrib import admin from django.contrib.auth import views as auth_views +from django.urls import include, path from . import views app_patterns = [ - url(r'^login/$', auth_views.LoginView.as_view(), name='login'), - url(r'^logout/$', auth_views.LogoutView.as_view(), name='logout'), - url('^password_reset/$', auth_views.PasswordResetView.as_view(), - name='password_reset',), + path('login/', auth_views.LoginView.as_view(), name='login'), + path('logout/', auth_views.LogoutView.as_view(), name='logout'), + path( + 'password_reset/', + auth_views.PasswordResetView.as_view(), + name='password_reset' + ), - url(r'^$', views.RootRouter.as_view(), name='root-router'), - url(r'^welcome/$', views.Welcome.as_view(), name='welcome'), + path('', views.RootRouter.as_view(), name='root-router'), + path('welcome/', views.Welcome.as_view(), name='welcome'), - url(r'^users/$', views.UserList.as_view(), name='user-list'), - url(r'^users/add/$', views.UserAdd.as_view(), name='user-add'), - url(r'^users/(?P[0-9]+)/edit$', views.UserUpdate.as_view(), - name='user-update'), - url(r'^users/(?P[0-9]+)/delete/$', views.UserDelete.as_view(), - name='user-delete'), + path('users/', views.UserList.as_view(), name='user-list'), + path('users/add/', views.UserAdd.as_view(), name='user-add'), + path( + 'users//edit/', + views.UserUpdate.as_view(), + name='user-update' + ), + path( + 'users//delete/', + views.UserDelete.as_view(), + name='user-delete' + ), - url(r'^user/password/$', views.UserPassword.as_view(), - name='user-password'), - url(r'^user/reset-api-key/$', views.UserResetAPIKey.as_view(), - name='user-reset-api-key'), - url(r'^user/settings/$', views.UserSettings.as_view(), - name='user-settings'), + path( + 'user/password/', + views.UserPassword.as_view(), + name='user-password' + ), + path( + 'user/reset-api-key/', + views.UserResetAPIKey.as_view(), + name='user-reset-api-key' + ), + path( + 'user/settings/', + views.UserSettings.as_view(), + name='user-settings' + ), ] urlpatterns = [ - url(r'^admin/', admin.site.urls), - url(r'', include('api.urls', namespace='api')), - url(r'', include((app_patterns, 'babybuddy'), namespace='babybuddy')), - url(r'', include('core.urls', namespace='core')), - url(r'', include('dashboard.urls', namespace='dashboard')), - url(r'', include('reports.urls', namespace='reports')), + path('admin/', admin.site.urls), + path('', include('api.urls', namespace='api')), + path('', include((app_patterns, 'babybuddy'), namespace='babybuddy')), + path('', include('core.urls', namespace='core')), + path('', include('dashboard.urls', namespace='dashboard')), + path('', include('reports.urls', namespace='reports')), ] if settings.DEBUG: # pragma: no cover diff --git a/core/urls.py b/core/urls.py index 3e667d78..068cfb74 100644 --- a/core/urls.py +++ b/core/urls.py @@ -1,80 +1,131 @@ # -*- coding: utf-8 -*- from __future__ import unicode_literals -from django.conf.urls import url +from django.urls import path from . import views app_name = 'core' urlpatterns = [ - url(r'^children/$', views.ChildList.as_view(), name='child-list'), - url(r'^children/add/$', views.ChildAdd.as_view(), name='child-add'), - url(r'^children/(?P[^/.]+)/$', views.ChildDetail.as_view(), - name='child'), - url(r'^children/(?P[^/.]+)/edit/$', views.ChildUpdate.as_view(), - name='child-update'), - url(r'^children/(?P[^/.]+)/delete/$', views.ChildDelete.as_view(), - name='child-delete'), + path('children/', views.ChildList.as_view(), name='child-list'), + path('children/add/', views.ChildAdd.as_view(), name='child-add'), + path('children//', views.ChildDetail.as_view(), name='child'), + path( + 'children//edit/', + views.ChildUpdate.as_view(), + name='child-update' + ), + path( + 'children//delete/', + views.ChildDelete.as_view(), + name='child-delete' + ), - url(r'^changes/$', views.DiaperChangeList.as_view(), - name='diaperchange-list'), - url(r'^changes/add/$', views.DiaperChangeAdd.as_view(), - name='diaperchange-add'), - url(r'^changes/(?P[0-9]+)/$', views.DiaperChangeUpdate.as_view(), - name='diaperchange-update'), - url(r'^changes/(?P[0-9]+)/delete/$', - views.DiaperChangeDelete.as_view(), name='diaperchange-delete'), + path( + 'changes/', + views.DiaperChangeList.as_view(), + name='diaperchange-list' + ), + path( + 'changes/add/', + views.DiaperChangeAdd.as_view(), + name='diaperchange-add' + ), + path( + 'changes//', + views.DiaperChangeUpdate.as_view(), + name='diaperchange-update' + ), + path( + 'changes//delete/', + views.DiaperChangeDelete.as_view(), + name='diaperchange-delete' + ), - url(r'^feedings/$', views.FeedingList.as_view(), name='feeding-list'), - url(r'^feedings/add/$', views.FeedingAdd.as_view(), name='feeding-add'), - url(r'^feedings/(?P[0-9]+)/$', views.FeedingUpdate.as_view(), - name='feeding-update'), - url(r'^feedings/(?P[0-9]+)/delete/$', views.FeedingDelete.as_view(), - name='feeding-delete'), + path('feedings/', views.FeedingList.as_view(), name='feeding-list'), + path('feedings/add/', views.FeedingAdd.as_view(), name='feeding-add'), + path( + 'feedings//', + views.FeedingUpdate.as_view(), + name='feeding-update' + ), + path( + 'feedings//delete/', + views.FeedingDelete.as_view(), + name='feeding-delete' + ), - url(r'^notes/$', views.NoteList.as_view(), name='note-list'), - url(r'^notes/add/$', views.NoteAdd.as_view(), name='note-add'), - url(r'^notes/(?P[0-9]+)/$', views.NoteUpdate.as_view(), - name='note-update'), - url(r'^notes/(?P[0-9]+)/delete/$', views.NoteDelete.as_view(), - name='note-delete'), + path('notes/', views.NoteList.as_view(), name='note-list'), + path('notes/add/', views.NoteAdd.as_view(), name='note-add'), + path('notes//', views.NoteUpdate.as_view(), name='note-update'), + path( + 'notes//delete/', + views.NoteDelete.as_view(), + name='note-delete' + ), - url(r'^sleep/$', views.SleepList.as_view(), name='sleep-list'), - url(r'^sleep/add/$', views.SleepAdd.as_view(), name='sleep-add'), - url(r'^sleep/(?P[0-9]+)/$', views.SleepUpdate.as_view(), - name='sleep-update'), - url(r'^sleep/(?P[0-9]+)/delete/$', views.SleepDelete.as_view(), - name='sleep-delete'), + path('sleep/', views.SleepList.as_view(), name='sleep-list'), + path('sleep/add/', views.SleepAdd.as_view(), name='sleep-add'), + path('sleep//', views.SleepUpdate.as_view(), name='sleep-update'), + path( + 'sleep//delete/', + views.SleepDelete.as_view(), + name='sleep-delete' + ), - url(r'^timers/$', views.TimerList.as_view(), name='timer-list'), - url(r'^timer/add/$', views.TimerAdd.as_view(), name='timer-add'), - url(r'^timer/add/quick/$', views.TimerAddQuick.as_view(), - name='timer-add-quick'), - url(r'^timer/(?P[0-9]+)/$', views.TimerDetail.as_view(), - name='timer-detail'), - url(r'^timer/(?P[0-9]+)/edit/$', views.TimerUpdate.as_view(), - name='timer-update'), - url(r'^timer/(?P[0-9]+)/delete/$', views.TimerDelete.as_view(), - name='timer-delete'), - url(r'^timer/(?P[0-9]+)/stop/$', views.TimerStop.as_view(), - name='timer-stop'), - url(r'^timer/(?P[0-9]+)/restart/$', views.TimerRestart.as_view(), - name='timer-restart'), + path('timers/', views.TimerList.as_view(), name='timer-list'), + path('timer/add/', views.TimerAdd.as_view(), name='timer-add'), + path( + 'timer/add/quick/', + views.TimerAddQuick.as_view(), + name='timer-add-quick' + ), + path('timer//', views.TimerDetail.as_view(), name='timer-detail'), + path( + 'timer//edit/', + views.TimerUpdate.as_view(), + name='timer-update' + ), + path( + 'timer//delete/', + views.TimerDelete.as_view(), + name='timer-delete' + ), + path('timer//stop/', views.TimerStop.as_view(), name='timer-stop'), + path( + 'timer//restart/', + views.TimerRestart.as_view(), + name='timer-restart' + ), - url(r'^tummy-time/$', views.TummyTimeList.as_view(), - name='tummytime-list'), - url(r'^tummy-time/add/$', views.TummyTimeAdd.as_view(), - name='tummytime-add'), - url(r'^tummy-time/(?P[0-9]+)/$', views.TummyTimeUpdate.as_view(), - name='tummytime-update'), - url(r'^tummy-time/(?P[0-9]+)/delete/$', - views.TummyTimeDelete.as_view(), name='tummytime-delete'), + path('tummy-time/', views.TummyTimeList.as_view(), name='tummytime-list'), + path( + 'tummy-time/add/', + views.TummyTimeAdd.as_view(), + name='tummytime-add' + ), + path( + 'tummy-time//', + views.TummyTimeUpdate.as_view(), + name='tummytime-update' + ), + path( + 'tummy-time//delete/', + views.TummyTimeDelete.as_view(), + name='tummytime-delete' + ), - url(r'^weight/$', views.WeightList.as_view(), name='weight-list'), - url(r'^weight/add/$', views.WeightAdd.as_view(), name='weight-add'), - url(r'^weight/(?P[0-9]+)/$', views.WeightUpdate.as_view(), - name='weight-update'), - url(r'^weight/(?P[0-9]+)/delete/$', views.WeightDelete.as_view(), - name='weight-delete'), + path('weight/', views.WeightList.as_view(), name='weight-list'), + path('weight/add/', views.WeightAdd.as_view(), name='weight-add'), + path( + 'weight//', + views.WeightUpdate.as_view(), + name='weight-update' + ), + path( + 'weight//delete/', + views.WeightDelete.as_view(), + name='weight-delete' + ), ] diff --git a/dashboard/urls.py b/dashboard/urls.py index 68a6113d..32eccd66 100644 --- a/dashboard/urls.py +++ b/dashboard/urls.py @@ -1,14 +1,17 @@ # -*- coding: utf-8 -*- from __future__ import unicode_literals -from django.conf.urls import url +from django.urls import path from . import views app_name = 'dashboard' urlpatterns = [ - url(r'^dashboard/$', views.Dashboard.as_view(), name='dashboard'), - url(r'^children/(?P[^/.]+)/dashboard/$', - views.ChildDashboard.as_view(), name='dashboard-child'), + path('dashboard/', views.Dashboard.as_view(), name='dashboard'), + path( + 'children//dashboard/', + views.ChildDashboard.as_view(), + name='dashboard-child' + ), ] diff --git a/reports/urls.py b/reports/urls.py index 0fb020ee..3148885d 100644 --- a/reports/urls.py +++ b/reports/urls.py @@ -1,32 +1,41 @@ # -*- coding: utf-8 -*- from __future__ import unicode_literals -from django.conf.urls import url +from django.urls import path from . import views app_name = 'reports' urlpatterns = [ - url(r'^children/(?P[^/.]+)/reports/changes/lifetimes/$', + path( + 'children//reports/changes/lifetimes/', views.DiaperChangeLifetimesChildReport.as_view(), - name='report-diaperchange-lifetimes-child'), - url(r'^children/(?P[^/.]+)/reports/changes/types/$', + name='report-diaperchange-lifetimes-child' + ), + path( + 'children//reports/changes/types/', views.DiaperChangeTypesChildReport.as_view(), - name='report-diaperchange-types-child'), - - url(r'^children/(?P[^/.]+)/reports/feeding/duration/$', + name='report-diaperchange-types-child' + ), + path( + 'children//reports/feeding/duration/', views.FeedingDurationChildReport.as_view(), - name='report-feeding-duration-child'), - - url(r'^children/(?P[^/.]+)/reports/sleep/pattern/$', + name='report-feeding-duration-child' + ), + path( + 'children//reports/sleep/pattern/', views.SleepPatternChildReport.as_view(), - name='report-sleep-pattern-child'), - url(r'^children/(?P[^/.]+)/reports/sleep/totals/$', + name='report-sleep-pattern-child' + ), + path( + 'children//reports/sleep/totals/', views.SleepTotalsChildReport.as_view(), - name='report-sleep-totals-child'), - - url(r'^children/(?P[^/.]+)/reports/weight/weight/$', + name='report-sleep-totals-child' + ), + path( + 'children//reports/weight/weight/', views.WeightWeightChildReoport.as_view(), - name='report-weight-weight-child'), + name='report-weight-weight-child' + ), ]