1 from django
.urls
import path
, register_converter
2 from django
.contrib
.auth
.views
import LogoutView
3 from django
.views
.generic
.base
import TemplateView
5 from .views
import registration
, settings
, device
, user
6 from mygpo
.users
import converters
8 register_converter(converters
.ClientUIDConverter
, 'client-uid')
14 registration
.RegistrationView
.as_view(),
17 path('registration_complete/',
18 registration
.TemplateView
.as_view(
19 template_name
='registration/registration_complete.html'),
20 name
='registration-complete'),
22 path('activate/<str:activation_key>',
23 registration
.ActivationView
.as_view()),
25 path('registration/resend',
26 registration
.ResendActivationView
.as_view(),
27 name
='resend-activation'),
29 path('registration/resent',
30 registration
.ResentActivationView
.as_view(),
31 name
='resent-activation'),
37 path('account/privacy',
41 path('account/profile',
42 settings
.ProfileView
.as_view(),
45 path('account/google/remove',
46 settings
.AccountRemoveGoogle
.as_view(),
47 name
='account-google-remove'),
49 path('account/privacy/default-public',
50 settings
.DefaultPrivacySettings
.as_view(public
=True),
51 name
='privacy_default_public'),
53 path('account/privacy/default-private',
54 settings
.DefaultPrivacySettings
.as_view(public
=False),
55 name
='privacy_default_private'),
57 path('account/privacy/<uuid:podcast_id>/public',
58 settings
.PodcastPrivacySettings
.as_view(public
=True),
59 name
='privacy_podcast_public'),
61 path('account/privacy/<uuid:podcast_id>/private',
62 settings
.PodcastPrivacySettings
.as_view(public
=False),
63 name
='privacy_podcast_private'),
65 path('account/delete',
66 settings
.delete_account
,
67 name
='delete-account'),
73 path('devices/create-device',
75 name
='device-create'),
77 path('device/<client-uid:uid>.opml',
81 path('device/<client-uid:uid>',
85 path('device/<client-uid:uid>/symbian.opml',
87 name
='device-symbian-opml'),
89 path('device/<client-uid:uid>/sync',
93 path('device/<client-uid:uid>/unsync',
95 name
='device-unsync'),
97 path('device/<client-uid:uid>/resync',
101 path('device/<client-uid:uid>/delete',
103 name
='device-delete'),
105 path('device/<client-uid:uid>/remove',
106 device
.delete_permanently
,
107 name
='device-delete-permanently'),
109 path('device/<client-uid:uid>/undelete',
111 name
='device-undelete'),
113 path('device/<client-uid:uid>/edit',
117 path('device/<client-uid:uid>/update',
119 name
='device-update'),
121 path('device/<client-uid:uid>/upload-opml',
123 name
='device-upload-opml'),
125 path('register/restore_password',
126 user
.restore_password
,
127 name
='restore-password'),
130 user
.LoginView
.as_view(),
134 user
.GoogleLogin
.as_view(),
135 name
='login-google'),
137 path('login/oauth2callback',
138 user
.GoogleLoginCallback
.as_view(),
139 name
='login-google-callback'),
142 LogoutView
.as_view(),
143 kwargs
={'next_page': '/'},