from django.conf.urls import url from django.urls import reverse_lazy from axes.decorators import axes_dispatch from plinth.modules.sso.views import SSOLoginView, SSOLogoutView from plinth.utils import non_admin_view from stronghold.decorators import public from . import views urlpatterns = [ url(r'^sys/users/$', views.UserList.as_view(), name='index'), url(r'^sys/users/create/$', views.UserCreate.as_view(), name='create'), url(r'^sys/users/(?P<slug>[\w.@+-]+)/edit/$', non_admin_view(views.UserUpdate.as_view()), name='edit'), url(r'^sys/users/(?P<slug>[\w.@+-]+)/delete/$', views.UserDelete.as_view(), name='delete'), url(r'^sys/users/(?P<slug>[\w.@+-]+)/change_password/$', non_admin_view(views.UserChangePassword.as_view()), name='change_password'), # Authnz is handled by SSO url(r'^accounts/login/$', public(axes_dispatch(SSOLoginView.as_view())), name='login'), url(r'^accounts/logout/$', non_admin_view(SSOLogoutView.as_view()), {'next_page': reverse_lazy('index')}, name='logout'), url(r'^users/firstboot/$', public(views.FirstBootView.as_view()), name='firstboot'), ]
""" from axes.decorators import axes_dispatch from django.urls import re_path from stronghold.decorators import public from plinth.modules.sso.views import CaptchaLoginView, SSOLoginView, logout from plinth.utils import non_admin_view from . import views urlpatterns = [ re_path(r'^sys/users/$', views.UserList.as_view(), name='index'), re_path(r'^sys/users/create/$', views.UserCreate.as_view(), name='create'), re_path(r'^sys/users/(?P<slug>[\w.@+-]+)/edit/$', non_admin_view(views.UserUpdate.as_view()), name='edit'), re_path(r'^sys/users/(?P<slug>[\w.@+-]+)/delete/$', views.UserDelete.as_view(), name='delete'), re_path(r'^sys/users/(?P<slug>[\w.@+-]+)/change_password/$', non_admin_view(views.UserChangePassword.as_view()), name='change_password'), # Authnz is handled by SSO # XXX: Use axes authentication backend and middleware instead of # axes_dispatch after axes 5.x becomes available in Debian stable. re_path(r'^accounts/login/$', public(axes_dispatch(SSOLoginView.as_view())), name='login'),
# SPDX-License-Identifier: AGPL-3.0-or-later """ URLs for the Single Sign On module. """ from axes.decorators import axes_dispatch from django.urls import re_path from stronghold.decorators import public from plinth.utils import non_admin_view from .views import CaptchaLoginView, SSOLoginView, refresh urlpatterns = [ re_path(r'^accounts/sso/login/$', public(axes_dispatch(SSOLoginView.as_view())), name='sso-login'), re_path(r'^accounts/sso/refresh/$', non_admin_view(refresh), name='sso-refresh'), # Locked URL from django-axes re_path(r'accounts/sso/login/locked/$', public(CaptchaLoginView.as_view()), name='locked_out'), ]
# SPDX-License-Identifier: AGPL-3.0-or-later """ URLs for the Help module """ from django.urls import re_path from plinth.utils import non_admin_view from . import views urlpatterns = [ re_path(r'^help/$', non_admin_view(views.index), name='index'), re_path(r'^help/about/$', non_admin_view(views.about), name='about'), re_path(r'^help/feedback/$', non_admin_view(views.feedback), name='feedback'), re_path(r'^help/support/$', non_admin_view(views.support), name='support'), re_path(r'^help/contribute/$', non_admin_view(views.contribute), name='contribute'), re_path(r'^help/manual/$', non_admin_view(views.manual), name='manual'), re_path(r'^help/manual/(?P<lang>\w*(-\w*)?)/$', non_admin_view(views.manual), name='manual'), re_path(r'^help/manual/(?P<lang>\w*(-\w*)?)/(?P<page>[\w-]+)$', non_admin_view(views.manual), name='manual-page'), re_path(r'^help/manual-download/$', non_admin_view(views.download_manual), name='download-manual'), re_path(r'^help/status-log/$', non_admin_view(views.status_log), name='status-log'), ]
from axes.decorators import axes_dispatch from django.conf.urls import url from django.urls import reverse_lazy from stronghold.decorators import public from plinth.modules.sso.views import SSOLoginView, SSOLogoutView from plinth.utils import non_admin_view from . import views urlpatterns = [ url(r'^sys/users/$', views.UserList.as_view(), name='index'), url(r'^sys/users/create/$', views.UserCreate.as_view(), name='create'), url(r'^sys/users/(?P<slug>[\w.@+-]+)/edit/$', non_admin_view(views.UserUpdate.as_view()), name='edit'), url(r'^sys/users/(?P<slug>[\w.@+-]+)/delete/$', views.UserDelete.as_view(), name='delete'), url(r'^sys/users/(?P<slug>[\w.@+-]+)/change_password/$', non_admin_view(views.UserChangePassword.as_view()), name='change_password'), # Authnz is handled by SSO # XXX: Use axes authentication backend and middleware instead of # axes_dispatch after axes 5.x becomes available in Debian stable. url(r'^accounts/login/$', public(axes_dispatch(SSOLoginView.as_view())), name='login'),
# # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the # License, or (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. # # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. # """ URLs for the Single Sign On module. """ from django.conf.urls import url from .views import SSOLoginView, refresh from stronghold.decorators import public from plinth.utils import non_admin_view urlpatterns = [ url(r'^accounts/sso/login/$', public(SSOLoginView.as_view()), name='sso-login'), url(r'^accounts/sso/refresh/$', non_admin_view(refresh), name='sso-refresh'), ]
# GNU Affero General Public License for more details. # # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. # """ URLs for the Help module """ from django.conf.urls import url from plinth.utils import non_admin_view from . import help as views urlpatterns = [ # having two urls for one page is a hack to help the current url/menu # system highlight the correct menu item. Every submenu-item with the same # url prefix as the main-menu is highlighted automatically. url(r'^help/$', non_admin_view(views.index), name='index'), url(r'^help/index/$', non_admin_view(views.index), name='index-explicit'), url(r'^help/about/$', non_admin_view(views.about), name='about'), url(r'^help/manual/$', non_admin_view(views.manual), name='manual'), url(r'^help/manual/download/$', non_admin_view(views.download_manual), name='download-manual'), url(r'^help/status-log/$', non_admin_view(views.status_log), name='status-log'), ]
# SPDX-License-Identifier: AGPL-3.0-or-later """ URLs for the Help module """ from django.conf.urls import url from plinth.utils import non_admin_view from . import help as views urlpatterns = [ url(r'^help/$', non_admin_view(views.index), name='index'), url(r'^help/about/$', non_admin_view(views.about), name='about'), url(r'^help/feedback/$', non_admin_view(views.feedback), name='feedback'), url(r'^help/support/$', non_admin_view(views.support), name='support'), url(r'^help/contribute/$', non_admin_view(views.contribute), name='contribute'), url(r'^help/manual/$', non_admin_view(views.manual), name='manual'), url(r'^help/manual/(?P<lang>\w*(-\w*)?)/$', non_admin_view(views.manual), name='manual'), url(r'^help/manual/(?P<lang>\w*(-\w*)?)/(?P<page>[\w-]+)$', non_admin_view(views.manual), name='manual-page'), url(r'^help/manual-download/$', non_admin_view(views.download_manual), name='download-manual'), url(r'^help/status-log/$', non_admin_view(views.status_log),
# This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the # License, or (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. # # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. # """ URLs for the OpenVPN module. """ from django.conf.urls import url from plinth.utils import non_admin_view from . import views urlpatterns = [ url(r'^apps/openvpn/$', views.index, name='index'), url(r'^apps/openvpn/setup/$', views.setup, name='setup'), url(r'^apps/openvpn/profile/$', non_admin_view(views.profile), name='profile'), ]
""" URLs for the Users module """ from django.conf.urls import url from django.urls import reverse_lazy from stronghold.decorators import public from plinth.utils import non_admin_view from plinth.modules.sso.views import SSOLoginView, SSOLogoutView from . import views urlpatterns = [ url(r'^sys/users/$', views.UserList.as_view(), name='index'), url(r'^sys/users/create/$', views.UserCreate.as_view(), name='create'), url(r'^sys/users/(?P<slug>[\w.@+-]+)/edit/$', non_admin_view(views.UserUpdate.as_view()), name='edit'), url(r'^sys/users/(?P<slug>[\w.@+-]+)/delete/$', views.UserDelete.as_view(), name='delete'), url(r'^sys/users/(?P<slug>[\w.@+-]+)/change_password/$', non_admin_view(views.UserChangePassword.as_view()), name='change_password'), # Add Django's login/logout urls url(r'^accounts/login/$', public(SSOLoginView.as_view()), name='login'), url(r'^accounts/logout/$', non_admin_view(SSOLogoutView.as_view()), {'next_page': reverse_lazy('index')}, name='logout'), url(r'^users/firstboot/$', public(views.FirstBootView.as_view()), name='firstboot'), ]
# SPDX-License-Identifier: AGPL-3.0-or-later from django.urls import path from plinth.utils import non_admin_view from stronghold.decorators import public from . import views urlpatterns = [ path('apps/email_server/', views.EmailServerView.as_view(), name='index'), path('apps/email_server/security', views.TLSView.as_view()), path('apps/email_server/domains', views.DomainView.as_view()), path('apps/email_server/my_mail', non_admin_view(views.MyMailView.as_view()), name='my_mail'), path('apps/email_server/my_aliases', non_admin_view(views.AliasView.as_view())), path('apps/email_server/config.xml', public(views.XmlView.as_view())), ]
# # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the # License, or (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. # # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. # """ URLs for the OpenVPN module. """ from django.conf.urls import url from plinth.utils import non_admin_view from . import views urlpatterns = [ url(r'^apps/openvpn/$', views.index, name='index'), url(r'^apps/openvpn/setup/$', views.setup, name='setup'), url(r'^apps/openvpn/profile/$', non_admin_view(views.profile), name='profile'), ]
# but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. # # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. # """ URLs for the Help module """ from django.conf.urls import url from plinth.utils import non_admin_view from . import help as views urlpatterns = [ # having two urls for one page is a hack to help the current url/menu # system highlight the correct menu item. Every submenu-item with the same # url prefix as the main-menu is highlighted automatically. url(r'^help/$', non_admin_view(views.index), name='index'), url(r'^help/index/$', non_admin_view(views.index), name='index-explicit'), url(r'^help/about/$', non_admin_view(views.about), name='about'), url(r'^help/manual/$', non_admin_view(views.manual), name='manual'), url(r'^help/manual/download/$', non_admin_view(views.download_manual), name='download-manual'), url(r'^help/status-log/$', non_admin_view(views.status_log), name='status-log'), ]
# This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. # # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. # """ URLs for the Help module """ from django.conf.urls import url from plinth.utils import non_admin_view from . import help as views urlpatterns = [ # having two urls for one page is a hack to help the current url/menu # system highlight the correct menu item. Every submenu-item with the same # url prefix as the main-menu is highlighted automatically. url(r'^help/$', non_admin_view(views.index), name='index'), url(r'^help/index/$', non_admin_view(views.index), name='index_explicit'), url(r'^help/about/$', non_admin_view(views.about), name='about'), url(r'^help/manual/$', non_admin_view(views.manual), name='manual'), url(r'^help/status-log/$', non_admin_view(views.status_log), name='status-log'), ]
# # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the # License, or (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. # # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. # """ URLs for the Single Sign On module. """ from django.conf.urls import url from .views import SSOLoginView, refresh from stronghold.decorators import public from plinth.utils import non_admin_view urlpatterns = [ url(r'^accounts/sso/login/$', public(SSOLoginView.as_view()), name='sso-login'), url(r'^accounts/sso/refresh/$', non_admin_view(refresh), name='sso-refresh'), ]