def url_prefixed(regex, view, name=None): """ Returns a urlpattern for public pages. """ return url(regex, view, name=name, decorators=['djaoapp.decorators.inject_edition_tools' ])
def url_prefixed(regex, view, name=None, decorators=None): """ Returns a urlpattern prefixed with the APP_NAME in debug mode. """ return url(r'^%(app_prefix)s%(regex)s' % { 'app_prefix': APP_PREFIX, 'regex': regex}, view, name=name, decorators=decorators)
def url_authenticated(regex, view, name=None): """ Returns a urlpattern accessible to an authenticated user. """ return url(regex % { "organization": r'(?P<organization>%s)' % ACCT_REGEX}, view, name=name, decorators=['saas.decorators.requires_authenticated', 'djaoapp.decorators.inject_edition_tools'])
def url_frictionless_self_provider(regex, view, name=None): """ This set of decorators is a little more relaxed than ``url_self_provider``. It will also let user (self) which have not activated their account through. """ return url(regex % { "user": r'(?P<user>%s)' % ACCT_REGEX}, view, name=name, decorators=['saas.decorators.requires_authenticated', 'djaoapp.decorators.requires_self_provider', 'djaoapp.decorators.inject_edition_tools' ])
def url_frictionless_direct(regex, view, name=None): """ Builds URLs for a direct decorator that does not require an activated account. """ return url(regex % {"organization": r'(?P<organization>%s)' % ACCT_REGEX}, view, name=name, decorators=[ 'djaoapp.decorators.requires_authenticated', 'djaoapp.decorators.requires_direct', 'djaoapp.decorators.inject_edition_tools' ])
def url_provider_only(regex, view, name=None): """ Builds URLs for a provider-only decorator. """ return url(regex % { "organization": r'(?P<organization>%s)' % ACCT_REGEX}, view, name=name, decorators=['saas.decorators.requires_authenticated', 'signup.decorators.active_required', 'saas.decorators.requires_agreement', 'djaoapp.decorators.requires_provider_only', 'djaoapp.decorators.inject_edition_tools' ])
def url_dashboard_iframe(regex, view, name=None): """ Same as ``url_dashboard``, but without inject_edition_tools. Used in notifications template iframe """ return url(regex % {"app": r'(?P<app>%s)' % ACCT_REGEX}, view, name=name, decorators=[ 'djaoapp.decorators.requires_authenticated', 'signup.decorators.active_required', 'saas.decorators.requires_agreement', 'djaoapp.decorators.requires_direct', ])
def url_provider(regex, view, name=None): """ Direct managers for the organization and managers for a provider of a plan the organization is subscribed to have permission to access the urlpattern built from *regex*. """ return url(regex % { "organization": r'(?P<organization>%s)' % ACCT_REGEX}, view, name=name, decorators=['saas.decorators.requires_authenticated', 'signup.decorators.active_required', 'saas.decorators.requires_agreement', 'djaoapp.decorators.requires_provider', 'djaoapp.decorators.inject_edition_tools' ])
def url_dashboard(regex, view, name=None): """ Same as ``url_direct``, yet override template loader behavior to force use of default templates. This is used for managers dashboard functionality, hence the name ``url_dashboard``. """ return url(regex % { "app": r'(?P<app>%s)' % ACCT_REGEX}, view, name=name, decorators=['saas.decorators.requires_authenticated', 'signup.decorators.active_required', 'saas.decorators.requires_agreement', 'djaoapp.decorators.requires_direct', 'djaoapp.decorators.inject_edition_tools' ])
def url_self_provider(regex, view, name=None): """ The User authenticated by the request or a direct manager for an organization managed in common or a provider of a plan an organization managed in common is subscribed to, have permission to access the urlpattern built from *regex*. """ return url(regex % { "user": r'(?P<user>%s)' % ACCT_REGEX}, view, name=name, decorators=['saas.decorators.requires_authenticated', 'signup.decorators.active_required', 'saas.decorators.requires_agreement', 'djaoapp.decorators.requires_self_provider', 'djaoapp.decorators.inject_edition_tools' ])
def url_frictionless_provider(regex, view, name=None): """ Direct managers for the organization and managers for a provider of a plan the organization is subscribed to have permission to access the urlpattern built from *regex*. The request user is not require to have activated their account yet. """ return url(regex % {"organization": r'(?P<organization>%s)' % ACCT_REGEX}, view, name=name, decorators=[ 'djaoapp.decorators.requires_authenticated', 'djaoapp.decorators.requires_provider', 'djaoapp.decorators.inject_edition_tools' ])
# These handlers will only be used in production (DEBUG=0) #pylint:disable=invalid-name handler403 = 'djaoapp.views.errors.permission_denied' handler404 = 'djaoapp.views.errors.page_not_found' if settings.DEBUG: from django.contrib import admin from django.contrib.staticfiles.urls import staticfiles_urlpatterns from django.conf.urls.static import static import debug_toolbar # admin doc and panel admin.autodiscover() try: urlpatterns = [ url(r'^admin/doc/', include('django.contrib.admindocs.urls')), url(r'^admin/', admin.site.urls), ] except ImproperlyConfigured: # Django <= 1.9 urlpatterns = [ url(r'^admin/doc/', include('django.contrib.admindocs.urls')), url(r'^admin/', include(admin.site.urls)), ] urlpatterns = staticfiles_urlpatterns() \ + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT) urlpatterns += [ url(r'^__debug__/', include(debug_toolbar.urls)), url(r'^csrf-error/', TemplateView.as_view(template_name='csrf-error.html'), name='csrf_error'),
url_direct(r'^api/notifications/(?P<template>%s)/' % ACCT_REGEX, NotificationDetailAPIView.as_view(), name='api_notification_send_test_email'), url_direct(r'^api/notifications/', NotificationAPIView.as_view(), name='api_notification_base'), url_direct(r'^api/proxy/recent/', RecentActivityAPIView.as_view(), name='api_recent_activity'), url_direct(r'^api/proxy/$', AppUpdateAPIView.as_view(), name='rules_api_app_detail'), url_direct(r'^api/', include('rules.urls.api.proxy')), url_direct(r'^api/themes/$', ThemePackageListAPIView.as_view(), name='pages_api_themes'), url_direct(r'^api/', include('pages.urls.api')), # Billing, Metrics, Profiles, Roles and Subscriptions url(r'^api/', include('saas.urls.api.cart')), # DELETE implements own policy url_authenticated(r'^api/', include('saas.urls.api.legal')), url_self_provider(r'^api/', include('saas.urls.api.users')), url_direct(r'^api/', include('saas.urls.api.broker')), # api/charges/:charge/refund must be before api/charges/ url_provider_only( r'^api/', include('saas.urls.api.provider.charges')), url_direct( r'^api/', include('saas.urls.api.provider.billing')), url_direct( r'^api/', include('saas.urls.api.provider.roles')), url_direct( r'^api/', include('saas.urls.api.provider.subscribers')), url_frictionless_direct( r'^api/', include('saas.urls.api.provider.plans')), url_frictionless_direct(
# Uncomment the next two lines to enable the admin: from django.contrib import admin admin.autodiscover() def url_prefixed(regex, view, name=None, decorators=None): """ Returns a urlpattern for public pages. """ return url(r'^' + regex, view, name=name, decorators=decorators) # admin doc and panel try: urlpatterns = [ url(r'^admin/doc/', include('django.contrib.admindocs.urls')), url(r'^admin/', admin.site.urls), ] except ImproperlyConfigured: # Django <= 1.9 urlpatterns = [ url(r'^admin/doc/', include('django.contrib.admindocs.urls')), url(r'^admin/', include(admin.site.urls)), ] urlpatterns += [ url(r'^__debug__/', include(debug_toolbar.urls)), url(r'^jsi18n/', JavaScriptCatalog.as_view(), name='javascript-catalog'), url_prefixed(r'register/$', PersonalRegistrationView.as_view( success_url=reverse_lazy('home')), name='registration_register'),
def func(): urlpatterns = [ url(r'^$', views.sample_view, middleware_classes=["does.not.exist"]), ]
from urldecorators import url, include from django.views.generic import TemplateView from django.contrib.auth import views as auth_views urlpatterns = [ url(r'^private/', include('example.private.urls'), decorators=['django.contrib.auth.decorators.login_required']), url(r'^cached/', include('example.cached.urls'), middleware_classes=['django.middleware.cache.CacheMiddleware']), ] # Nothing special about following urlpatterns. urlpatterns += [ url('^$', TemplateView.as_view(template_name='index.html'), name='home'), url(r'^accounts/login/$', auth_views.login, name="login"), url(r'^accounts/logout/$', auth_views.logout, name="logout"), ]
# Copyright (c) 2019, DjaoDjin inc. # see LICENSE from django.conf import settings from django.views.generic import TemplateView from multitier.urlresolvers import site_patterns from urldecorators import include, url if settings.DEBUG: from django.views.defaults import server_error from ..views.errors import permission_denied, page_not_found urlpatterns = site_patterns( url(r'^403/$', permission_denied), url(r'^404/$', page_not_found), url(r'^500/$', server_error), url(r'^register/disabled/$', TemplateView.as_view(template_name='accounts/disabled.html'))) else: urlpatterns = [] urlpatterns += site_patterns( url(r'^', include('djaoapp.urls.api')), url(r'^', include('djaoapp.urls.views')), )
# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, # PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; # OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, # WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR # OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. """ URLs for the djaodjin-survey django app testsite. """ from django.views.generic import RedirectView, TemplateView from django.core.urlresolvers import reverse_lazy from urldecorators import patterns, include, url # Uncomment the next two lines to enable the admin: from django.contrib import admin admin.autodiscover() urlpatterns = patterns('', url(r'^$', TemplateView.as_view(template_name='index.html'), name='home'), url(r'^admin/', include(admin.site.urls)), url(r'^accounts/profile/', RedirectView.as_view(url=reverse_lazy('survey_list'))), url(r'^accounts/', include('django.contrib.auth.urls')), url(r'^manager/', include('survey.urls.manager'), decorators=['django.contrib.auth.decorators.login_required']), url(r'^matrix/', include('survey.urls.matrix')), url(r'^', include('survey.urls.interviewee')), )
def func(): urlpatterns = [ url(r'^$', '', decorators=["urldecorators.tests.urls.decorator1"]), ]
def url_prefixed(regex, view, name=None, decorators=None): """ Returns a urlpattern for public pages. """ return url(r'^' + regex, view, name=name, decorators=decorators)
from testsite.views.organization import OrganizationListView, UserProfileView from testsite.views.registration import PersonalRegistrationView # Uncomment the next two lines to enable the admin: from django.contrib import admin admin.autodiscover() def url_prefixed(regex, view, name=None, decorators=None): """ Returns a urlpattern for public pages. """ return url(r'^' + regex, view, name=name, decorators=decorators) urlpatterns = [ # admin doc and panel url(r'^admin/doc/', include('django.contrib.admindocs.urls')), url(r'^admin/', include(admin.site.urls)), url_prefixed(r'register/$', PersonalRegistrationView.as_view( success_url=reverse_lazy('home')), name='registration_register'), url_prefixed(r'users/(?P<user>[\w.@+-]+)/', UserProfileView.as_view(), name='users_profile'), url_prefixed(r'', include('django.contrib.auth.urls')), url_prefixed(r'saas/$', OrganizationListView.as_view(), name='saas_organization_list', decorators=['django.contrib.auth.decorators.login_required']), url_prefixed(r'$', TemplateView.as_view(template_name='index.html'), name='home'), url_prefixed(r'billing/cart/', login_required(OrganizationRedirectView.as_view(
class Middleware1(object): def process_view(self, request, func, args, kwargs): args += ("middleware 1 applied", ) return func(request, *args, **kwargs) class Middleware2(object): def process_view(self, request, func, args, kwargs): args += ("middleware 2 applied", ) return func(request, *args, **kwargs) # Basic urlpatterns = [ # Url url(r'^$', views.sample_view), # Url with args url(r'^args/(\d+)/(\d+)/$', views.sample_view), # Url with kwargs url(r'^kwargs/(?P<arg1>\d+)/(?P<arg2>\d+)/$', views.sample_view), # Include url(r'^inc/', include("urldecorators.tests.inc_urls")), # Include with kwargs url(r'^kwargs/(?P<arg1>\d+)/(?P<arg2>\d+)/inc/', include("urldecorators.tests.inc_urls")), ] # Decorators urlpatterns += [ # Url url(r'^decorators/$',
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR # OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. from django.views.generic.base import RedirectView, TemplateView from signup.compat import reverse_lazy from signup.forms import NameEmailForm from signup.views.auth import SignupView from urldecorators import include, url from .forms import SignupWithCaptchaForm urlpatterns = [ url(r'^api/', include('signup.urls.api.contacts'), decorators=['django.contrib.auth.decorators.login_required']), url(r'^api/', include('signup.urls.api.keys'), decorators=['django.contrib.auth.decorators.login_required']), url(r'^api/', include('signup.urls.api.tokens'), decorators=['django.contrib.auth.decorators.login_required']), url(r'^api/', include('signup.urls.api.users'), decorators=['django.contrib.auth.decorators.login_required']), url(r'^api/', include('signup.urls.api.auth')), url(r'^contacts/', include('signup.urls.contacts'), decorators=['django.contrib.auth.decorators.login_required']),
# Copyright (c) 2019, DjaoDjin inc. # see LICENSE from django.conf import settings from multitier.urlresolvers import site_patterns from urldecorators import include, url if settings.DEBUG: from django.views.defaults import server_error from ..views.errors import permission_denied, page_not_found urlpatterns = site_patterns( url(r'^403/$', permission_denied), url(r'^404/$', page_not_found), url(r'^500/$', server_error) ) else: urlpatterns = [] urlpatterns += site_patterns( url(r'^', include('djaoapp.urls.api')), url(r'^', include('djaoapp.urls.views')), )
from django.views.generic import TemplateView from urldecorators import patterns, include, url from saas.views import OrganizationRedirectView from saas.views.plans import CartPlanListView from testsite.views.organization import OrganizationListView, UserProfileView from testsite.views.registration import PersonalRegistrationView # Uncomment the next two lines to enable the admin: from django.contrib import admin admin.autodiscover() urlpatterns = patterns( '', # admin doc and panel url(r'^admin/doc/', include('django.contrib.admindocs.urls')), url(r'^admin/', include(admin.site.urls)), url(r'^accounts/register/$', PersonalRegistrationView.as_view(success_url=reverse_lazy('home')), name='registration_register'), url(r'^users/(?P<user>[\w.@+-]+)/', UserProfileView.as_view(), name='users_profile'), url(r'^accounts/', include('django.contrib.auth.urls')), url(r'^saas/$', OrganizationListView.as_view(), name='saas_organization_list', decorators=['django.contrib.auth.decorators.login_required']), url(r'^', include('saas.urls.noauth')), url(r'^$', TemplateView.as_view(template_name='index.html'), name='home'), url(r'^billing/cart/',
# # 1. Redistributions of source code must retain the above copyright notice, # this list of conditions and the following disclaimer. # 2. Redistributions in binary form must reproduce the above copyright notice, # this list of conditions and the following disclaimer in the documentation # and/or other materials provided with the distribution. # # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, # THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR # PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR # CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, # EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, # PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; # OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, # WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR # OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. from django.views.generic.base import RedirectView from django.core.urlresolvers import reverse_lazy from urldecorators import patterns, include, url urlpatterns = patterns('', url(r'^users/', include('signup.urls.users'), decorators=['django.contrib.auth.decorators.login_required']), url(r'^accounts/', include('signup.urls.accounts')), url(r'^$', RedirectView.as_view(url=reverse_lazy('registration_register'))), )
from django.core.urlresolvers import reverse_lazy from django.views.generic import TemplateView from urldecorators import patterns, include, url from saas.views import OrganizationRedirectView from saas.views.plans import CartPlanListView from testsite.views.organization import OrganizationListView, UserProfileView from testsite.views.registration import PersonalRegistrationView # Uncomment the next two lines to enable the admin: from django.contrib import admin admin.autodiscover() urlpatterns = patterns('', # admin doc and panel url(r'^admin/doc/', include('django.contrib.admindocs.urls')), url(r'^admin/', include(admin.site.urls)), url(r'^accounts/register/$', PersonalRegistrationView.as_view( success_url=reverse_lazy('home')), name='registration_register'), url(r'^users/(?P<user>[\w.@+-]+)/', UserProfileView.as_view(), name='users_profile'), url(r'^accounts/', include('django.contrib.auth.urls')), url(r'^saas/$', OrganizationListView.as_view(), name='saas_organization_list', decorators=['django.contrib.auth.decorators.login_required']), url(r'^', include('saas.urls.noauth')), url(r'^$', TemplateView.as_view(template_name='index.html'), name='home'), url(r'^billing/cart/', login_required(OrganizationRedirectView.as_view(
def func(): urlpatterns = [ url(r'^$', views.sample_view, decorators=["does.not.exist"]), ]
UserAccessiblesView.as_view(), name='saas_user_product_list'), url_self_provider(r'^users/(?P<user>%s)/password/' % USERNAME_PAT, UserPasswordUpdateView.as_view(), name='password_change'), url_self_provider(r'^users/(?P<user>%s)/pubkey/' % USERNAME_PAT, UserPublicKeyUpdateView.as_view(), name='pubkey_update'), url_self_provider(r'^users/(?P<user>%s)/notifications/$' % USERNAME_PAT, UserNotificationsView.as_view(), name='users_notifications'), url_frictionless_self_provider(r'^users/(?P<user>%s)/$' % USERNAME_PAT, UserProfileView.as_view(), name='users_profile'), url_direct(r'contacts/', include('signup.urls.contacts')), url(r'^pricing/$', PricingView.as_view(), name='saas_cart_plan_list'), url( r'^billing/cart/', # XXX override because we want a login_required in front. login_required(OrganizationRedirectView.as_view( pattern_name='saas_organization_cart'), login_url='registration_register'), name='saas_cart'), url(r'^', include('saas.urls.noauth')), url_direct(r'^', include('saas.urls.broker')), url_authenticated(r'^', include('saas.urls.redirects')), url_direct(r'^metrics/(?P<organization>%s)/dashboard/$' % ACCT_REGEX, DashboardView.as_view(), name='saas_dashboard'), url_direct(r'^billing/(?P<organization>%s)/bank/$' % ACCT_REGEX, ProcessorAuthorizeView.as_view(),
from ..views.redirects import OrganizationRedirectView def is_anonymous(func, next_url): def wrapped(request, *args, **kwargs): if request.user.is_authenticated(): return HttpResponseRedirect(next_url) return func(request, *args, **kwargs) return wrapped if settings.DEBUG: from django.views.defaults import server_error from ..views.errors import permission_denied, page_not_found urlpatterns = site_patterns(url(r'^403/$', permission_denied), url(r'^404/$', page_not_found), url(r'^500/$', server_error)) else: urlpatterns = [] urlpatterns += site_patterns( # HTTP request pipeline and visual appearence. url_direct( r'^api/credentials/(%(organization)s/)?', # site/subdomain CredentialsAPIView.as_view(), name='api_credentials'), url_direct(r'^api/notifications/(?P<template>%s)/' % ACCT_REGEX, NotificationAPIView.as_view(), name='api_notification_send_test_email'), url_direct(r'^api/notifications/',
handler404 = 'djaoapp.views.errors.page_not_found' if settings.DEBUG: from django.contrib import admin from django.contrib.staticfiles.urls import staticfiles_urlpatterns from django.conf.urls.static import static import debug_toolbar # admin doc and panel try: # We cannot include admin panels because a `check` for DjangoTemplates # will fail when we are using Jinja2 templates. admin.autodiscover() try: urlpatterns = [ url(r'^admin/doc/', include('django.contrib.admindocs.urls')), url(r'^admin/', admin.site.urls), ] except ImproperlyConfigured: # Django <= 1.9 urlpatterns = [ url(r'^admin/doc/', include('django.contrib.admindocs.urls')), url(r'^admin/', include(admin.site.urls)), ] except LookupError: pass urlpatterns = staticfiles_urlpatterns() \ + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT) urlpatterns += [ url(r'^__debug__/', include(debug_toolbar.urls)), url(r'^csrf-error/',
# this list of conditions and the following disclaimer. # 2. Redistributions in binary form must reproduce the above copyright notice, # this list of conditions and the following disclaimer in the documentation # and/or other materials provided with the distribution. # # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, # THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR # PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR # CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, # EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, # PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; # OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, # WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR # OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. from django.views.generic.base import RedirectView from django.core.urlresolvers import reverse_lazy from urldecorators import patterns, include, url urlpatterns = patterns( '', url(r'^users/', include('signup.urls.users'), decorators=['django.contrib.auth.decorators.login_required']), url(r'^accounts/', include('signup.urls.accounts')), url(r'^$', RedirectView.as_view(url=reverse_lazy('registration_register'))), )
# Uncomment the next two lines to enable the admin: from django.contrib import admin admin.autodiscover() def url_prefixed(regex, view, name=None, decorators=None): """ Returns a urlpattern for public pages. """ return url(r'^' + regex, view, name=name, decorators=decorators) urlpatterns = [ # admin doc and panel url(r'^admin/doc/', include('django.contrib.admindocs.urls')), url(r'^admin/', include(admin.site.urls)), url_prefixed( r'register/$', PersonalRegistrationView.as_view(success_url=reverse_lazy('home')), name='registration_register'), url_prefixed(r'users/(?P<user>[\w.@+-]+)/', UserProfileView.as_view(), name='users_profile'), url_prefixed(r'', include('django.contrib.auth.urls')), url_prefixed(r'saas/$', OrganizationListView.as_view(), name='saas_organization_list', decorators=['django.contrib.auth.decorators.login_required']), url_prefixed(r'$', TemplateView.as_view(template_name='index.html'),
class Middleware1(object): def process_view(self, request, func, args, kwargs): args += ("middleware 1 applied",) return func(request, *args, **kwargs) class Middleware2(object): def process_view(self, request, func, args, kwargs): args += ("middleware 2 applied",) return func(request, *args, **kwargs) # Basic urlpatterns = [ # Url url(r'^$', views.sample_view), # Url with args url(r'^args/(\d+)/(\d+)/$', views.sample_view), # Url with kwargs url(r'^kwargs/(?P<arg1>\d+)/(?P<arg2>\d+)/$', views.sample_view), # Include url(r'^inc/', include("urldecorators.tests.inc_urls")), # Include with kwargs url(r'^kwargs/(?P<arg1>\d+)/(?P<arg2>\d+)/inc/', include("urldecorators.tests.inc_urls")), ] # Decorators urlpatterns += [ # Url url(r'^decorators/$', views.sample_view,
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. from django.views.generic.base import RedirectView, TemplateView from django.views.i18n import JavaScriptCatalog from signup.compat import reverse_lazy from signup.forms import NameEmailForm from signup.views.auth import SignupView from urldecorators import include, url from .forms import SignupWithCaptchaForm urlpatterns = [ url(r'^api/', include('signup.urls.api.contacts'), decorators=['django.contrib.auth.decorators.login_required']), url(r'^api/', include('signup.urls.api.keys'), decorators=['django.contrib.auth.decorators.login_required']), url(r'^api/', include('signup.urls.api.tokens'), decorators=['django.contrib.auth.decorators.login_required']), url(r'^api/', include('signup.urls.api.users'), decorators=['django.contrib.auth.decorators.login_required']), url(r'^api/', include('signup.urls.api.auth')), url(r'^jsi18n/$', JavaScriptCatalog.as_view(), name='javascript-catalog'), url(r'^contacts/', include('signup.urls.contacts'),