Exemple #1
0
    def test_basic_3_tuple(self):
        decorator_include = self.get_decorator_include()

        # passing a 3 tuple with a python path for the urls module is not allowed
        with self.assertRaises(ImproperlyConfigured):
            decorator_include(test_decorator,
                              ('tests.urls', 'testapp', 'testns'))

        # but it is allowed when the first item can return directly urls, like the admin urls
        urlconf, app_name, namespace = decorator_include(
            test_decorator, admin.site.urls)
        self.assertEqual(urlconf.__class__.__name__, 'DecoratedPatterns')
        self.assertEqual(app_name, 'admin')
        self.assertEqual(namespace, 'admin')

        # or directly a list
        urlpatterns = [
            path('myview/',
                 lambda request: HttpResponse('view'),
                 name='myview'),
        ]
        urlconf, app_name, namespace = decorator_include(
            test_decorator, (urlpatterns, 'myviewsapp', 'myviewsns'))
        self.assertEqual(urlconf.__class__.__name__, 'DecoratedPatterns')
        self.assertEqual(app_name, 'myviewsapp')
        self.assertEqual(namespace, 'myviewsns')
Exemple #2
0
    def test_basic_2_tuple_namespace(self):
        decorator_include = self.get_decorator_include()

        urlconf, app_name, namespace = decorator_include(
            test_decorator, ('tests.urls', 'testapp'), 'testns')
        self.assertEqual(urlconf.__class__.__name__, 'DecoratedPatterns')
        # use app_name defined in tests.urls even if passed in the tuple
        self.assertEqual(app_name, 'app_name_tests')
        # use passed namespace
        self.assertEqual(namespace, 'testns')

        # temporarily remove app_name from `tests.urls` to ensure it will use the provided one
        from tests import urls
        old_app_name = urls.app_name
        try:
            del urls.app_name
            urlconf, app_name, namespace = decorator_include(
                test_decorator, ('tests.urls', 'testapp'), 'testns')
            self.assertEqual(urlconf.__class__.__name__, 'DecoratedPatterns')
            # no app_name in tests.urls, we use the one passed in the tuple
            self.assertEqual(app_name, 'testapp')
            # use passed namespace
            self.assertEqual(namespace, 'testns')
        finally:
            urls.app_name = old_app_name
Exemple #3
0
    def test_basic_namespace(self):
        decorator_include = self.get_decorator_include()

        urlconf, app_name, namespace = decorator_include(
            test_decorator, 'tests.urls', 'test')
        self.assertEqual(urlconf.__class__.__name__, 'DecoratedPatterns')
        # use app_name defined in tests.urls
        self.assertEqual(app_name, 'app_name_tests')
        # use passed namespace
        self.assertEqual(namespace, 'test')
Exemple #4
0
    def test_basic_2_tuple(self):
        decorator_include = self.get_decorator_include()

        def test_decorator(func):
            func.tested = True
            return func

        result = decorator_include(test_decorator, ('tests.urls', 'test'))
        self.assertEqual(len(result), 3)
        self.assertEqual(result[0].__class__.__name__, 'DecoratedPatterns')
        self.assertEqual(result[1], 'test')
        self.assertEqual(result[2], 'test')
    def test_basic_3_tuple(self):
        decorator_include = self.get_decorator_include()

        def test_decorator(func):
            func.tested = True
            return func

        result = decorator_include(test_decorator, ('tests.urls', 'testapp', 'testns'))
        self.assertEqual(len(result), 3)
        self.assertEqual(result[0].__class__.__name__, 'DecoratedPatterns')
        self.assertEqual(result[1], 'testapp')
        self.assertEqual(result[2], 'testns')
    def test_basic(self):
        decorator_include = self.get_decorator_include()

        def test_decorator(func):
            func.tested = True
            return func

        result = decorator_include(test_decorator, 'tests.urls')
        self.assertEqual(len(result), 3)
        self.assertEqual(result[0].__class__.__name__, 'DecoratedPatterns')
        self.assertIsNone(result[1])
        self.assertIsNone(result[2])
 def testBasic(self):
     decorator_include = self.getDecoratorInclude()
     def test_decorator(func):
         func.tested = True
         return func
     result = decorator_include(
         test_decorator,
         'decorator_include.tests.urls'
     )
     self.assertEquals(3, len(result))
     self.assertTrue('DecoratedPatterns', result[0].__class__.__name__)
     self.assertTrue(result[1] is None)
     self.assertTrue(result[2] is None)
    def testBasicNamespace(self):
        decorator_include = self.getDecoratorInclude()

        def test_decorator(func):
            func.tested = True
            return func

        result = decorator_include(test_decorator,
                                   'decorator_include.tests.urls', 'test')
        self.assertEquals(3, len(result))
        self.assertTrue('DecoratedPatterns', result[0].__class__.__name__)
        self.assertTrue(result[1] is None)
        self.assertEquals('test', result[2])
Exemple #9
0
    def test_basic(self):
        decorator_include = self.get_decorator_include()

        def test_decorator(func):
            func.tested = True
            return func

        result = decorator_include(test_decorator,
                                   'decorator_include.tests.urls')
        self.assertEqual(len(result), 3)
        self.assertEqual(result[0].__class__.__name__, 'DecoratedPatterns')
        self.assertIsNone(result[1])
        self.assertIsNone(result[2])
    def test_follow_include(self):
        decorator_include = self.get_decorator_include()

        def test_decorator(func):
            func.decorator_flag = 'test'
            return func

        result = decorator_include(test_decorator, 'tests.urls')
        patterns = result[0].urlpatterns
        decorated = patterns[1]
        self.assertEqual(decorated.url_patterns[1].callback.decorator_flag, 'test')
        decorated = patterns[1].url_patterns[0].url_patterns[0]
        self.assertEqual(decorated.callback.decorator_flag, 'test')
Exemple #11
0
    def test_follow_include(self):
        decorator_include = self.get_decorator_include()

        def test_decorator(func):
            func.decorator_flag = 'test'
            return func

        result = decorator_include(test_decorator, 'tests.urls')
        patterns = result[0].urlpatterns
        decorated = patterns[1]
        self.assertEqual(decorated.url_patterns[1].callback.decorator_flag,
                         'test')
        decorated = patterns[1].url_patterns[0].url_patterns[0]
        self.assertEqual(decorated.callback.decorator_flag, 'test')
 def testGetURLPatterns(self):
     decorator_include = self.getDecoratorInclude()
     def test_decorator(func):
         func.decorator_flag = 'test'
         return func
     result = decorator_include(
         test_decorator,
         'decorator_include.tests.urls'
     )
     self.assertEquals(3, len(result))
     self.assertTrue('DecoratedPatterns', result[0].__class__.__name__)
     patterns = result[0].urlpatterns
     self.assertEquals(2, len(patterns))
     self.assertEquals('test', patterns[0].callback.decorator_flag)
Exemple #13
0
    def test_get_urlpatterns(self):
        decorator_include = self.get_decorator_include()

        def test_decorator(func):
            func.decorator_flag = 'test'
            return func

        result = decorator_include(test_decorator,
                                   'decorator_include.tests.urls')
        self.assertEqual(len(result), 3)
        self.assertEqual(result[0].__class__.__name__, 'DecoratedPatterns')
        patterns = result[0].urlpatterns
        self.assertEqual(len(patterns), 2)
        self.assertEqual(patterns[0].callback.decorator_flag, 'test')
 def testFollowInclude(self):
     decorator_include = self.getDecoratorInclude()
     def test_decorator(func):
         func.decorator_flag = 'test'
         return func
     result = decorator_include(
         test_decorator,
         'decorator_include.tests.urls'
     )
     patterns = result[0].urlpatterns
     decorated = patterns[1]
     self.assertEquals('test', decorated.url_patterns[1].callback.decorator_flag)
     decorated = patterns[1].url_patterns[0].url_patterns[0]
     self.assertEquals('test', decorated.callback.decorator_flag)
    def testGetURLPatterns(self):
        decorator_include = self.getDecoratorInclude()

        def test_decorator(func):
            func.decorator_flag = 'test'
            return func

        result = decorator_include(test_decorator,
                                   'decorator_include.tests.urls')
        self.assertEquals(3, len(result))
        self.assertTrue('DecoratedPatterns', result[0].__class__.__name__)
        patterns = result[0].urlpatterns
        self.assertEquals(2, len(patterns))
        self.assertEquals('test', patterns[0].callback.decorator_flag)
Exemple #16
0
    def test_follow_include(self):
        decorator_include = self.get_decorator_include()

        def test_decorator(func):
            func.decorator_flag = 'test'
            return func

        urlconf, app_name, namespace = decorator_include(
            test_decorator, 'tests.urls')
        patterns = urlconf.urlpatterns
        decorated = patterns[1]
        self.assertEqual(decorated.url_patterns[1].callback.decorator_flag,
                         'test')
        decorated = patterns[1].url_patterns[0].url_patterns[0]
        self.assertEqual(decorated.callback.decorator_flag, 'test')
    def test_get_urlpatterns(self):
        decorator_include = self.get_decorator_include()

        def test_decorator(func):
            func.decorator_flag = 'test'
            return func

        result = decorator_include(
            test_decorator,
            'decorator_include.tests.urls'
        )
        self.assertEqual(len(result), 3)
        self.assertEqual(result[0].__class__.__name__, 'DecoratedPatterns')
        patterns = result[0].urlpatterns
        self.assertEqual(len(patterns), 2)
        self.assertEqual(patterns[0].callback.decorator_flag, 'test')
    def test_multiple_decorators(self):
        decorator_include = self.get_decorator_include()

        def first_decorator(func):
            func.decorator_flag = 'first'
            return func

        def second_decorator(func):
            func.decorator_flag = 'second'
            func.decorated_by = 'second'
            return func

        result = decorator_include((first_decorator, second_decorator), 'tests.urls')
        self.assertEqual(result[0].__class__.__name__, 'DecoratedPatterns')
        patterns = result[0].urlpatterns
        pattern = patterns[0]
        self.assertEqual(pattern.callback.decorator_flag, 'first')
        self.assertEqual(pattern.callback.decorated_by, 'second')
 def testMultipleDecorators(self):
     decorator_include = self.getDecoratorInclude()
     def first_decorator(func):
         func.decorator_flag = 'first'
         return func
     def second_decorator(func):
         func.decorator_flag = 'second'
         func.decorated_by = 'second'
         return func
     result = decorator_include(
         (first_decorator, second_decorator),
         'decorator_include.tests.urls'
     )
     self.assertTrue('DecoratedPatterns', result[0].__class__.__name__)
     patterns = result[0].urlpatterns
     pattern = patterns[0]
     self.assertEquals('first', pattern.callback.decorator_flag)
     self.assertEquals('second', pattern.callback.decorated_by)
Exemple #20
0
    def test_multiple_decorators(self):
        decorator_include = self.get_decorator_include()

        def first_decorator(func):
            func.decorator_flag = 'first'
            return func

        def second_decorator(func):
            func.decorator_flag = 'second'
            func.decorated_by = 'second'
            return func

        result = decorator_include((first_decorator, second_decorator),
                                   'decorator_include.tests.urls')
        self.assertEqual(result[0].__class__.__name__, 'DecoratedPatterns')
        patterns = result[0].urlpatterns
        pattern = patterns[0]
        self.assertEqual(pattern.callback.decorator_flag, 'first')
        self.assertEqual(pattern.callback.decorated_by, 'second')
Exemple #21
0
    def test_get_urlpatterns(self):
        decorator_include = self.get_decorator_include()

        def test_decorator(func):
            func.decorator_flag = 'test'
            return func

        urlconf, app_name, namespace = decorator_include(
            test_decorator, 'tests.urls')
        self.assertEqual(urlconf.__class__.__name__, 'DecoratedPatterns')
        patterns = urlconf.urlpatterns
        # 3 URL patterns
        #   /
        #   /include/
        #   /admin/
        #   /only-god/
        #   /with-perm/
        self.assertEqual(len(patterns), 5)
        self.assertEqual(patterns[0].callback.decorator_flag, 'test')
Exemple #22
0
from decorator_include import decorator_include
from django.conf import settings
from django.conf.urls import url, include
from django.contrib import admin
from django.contrib.auth.decorators import login_required
from djelmah import auth
import re

urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'^login/$', auth.auth_login, name='login'),
    url(r'^logout/$', auth.auth_logout, name='logout'),
    url(r'^$', auth.index, name='index'),
    url(r'^djelmah/api/', include('djelmah.api')),
    url(r'^djelmah/', decorator_include(login_required, 'djelmah.urls')),
]

# allow django runserver to serve static files in production mode during testing
if not settings.DEBUG and not settings.DJELMAH_INCLUDE_BUNDLE:
    from django.views.static import serve

    urlpatterns += [
        url(r'^%s(?P<path>.*)$' % re.escape(settings.STATIC_URL.lstrip('/')),
            serve, {"document_root": settings.STATIC_ROOT})
    ]
Exemple #23
0
    - https://docs.djangoproject.com/en/1.11/topics/http/urls/

'''
from decorator_include import decorator_include

from django.conf.urls import include, url
from django.contrib import admin
from django.contrib.auth.decorators import login_required
from django.urls import reverse_lazy
from django.views.generic import base as django_views

urlpatterns = [

    # includes
    url(r'^account/', include('callisto_core.accounts.urls')),
    url(r'^reports/', decorator_include(login_required, 'callisto_core.delivery.urls')),

    # login / signup
    url(r'^$', django_views.RedirectView.as_view(
        url=reverse_lazy('signup'), permanent=True)),
    url(r'^signup/$', django_views.RedirectView.as_view(
        url=reverse_lazy('signup'), permanent=True)),
    url(r'^logout/$', django_views.RedirectView.as_view(
        url=reverse_lazy('logout'), permanent=True)),
    url(r'^login/$', django_views.RedirectView.as_view(
        url=reverse_lazy('login'), permanent=True)),

    # admin
    url(r'^nested_admin/', include('nested_admin.urls')),
    url(r'^admin/', admin.site.urls),
Exemple #24
0
    url(r'^dashboards/$', views.dashboards, name='dashboards'),
    url(r'^dashboards/create$', views.dashboard_create, name='dashboard_create'),
    url(r'^dashboards/(?P<dashboard_id>[0-9]+)', views.dashboard, name='dashboard'),

    ## react app -- some day this will be the only ( non api ) url ##
    url(r'^react_app', views.react_app, name='react_app'),

]

urlpatterns = patterns(
    '',
    url(r'^api/', include(v1_api.urls)),

    url(r'^about$', views.about, name='about'),
    url(r'^admin/', decorator_include(login_required, admin.site.urls)),
    url(r'^accounts/login/$', login, name='login'),
    url(r'^accounts/logout/$', logout, name='logout'),
    url(r'^', decorator_include(login_required, protected_patterns)),

    # Waffle PATH
    url(r'^', include('waffle.urls')),

) + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

if settings.DEBUG:
    import debug_toolbar
    urlpatterns += patterns(
        '',
        url(r'^api_debug/', api_debug),
    )
Exemple #25
0
        # Django admin:
        url(r'^admin/wiki/document/purge/',
            purge_view,
            name='wiki.admin_bulk_purge'),
        # We don't worry about decorating the views within django.contrib.admin
        # with "never_cache", since most have already been decorated, and the
        # remaining can be safely cached.
        url(r'^admin/', include(admin.site.urls)),
    ]

urlpatterns += [
    url(r'^search', include('kuma.search.urls')),
    url(r'^docs', include('kuma.wiki.urls')),
    url('', include('kuma.attachments.urls')),
    url('', include('kuma.dashboards.urls')),
    url('', decorator_include(never_cache, 'kuma.users.urls')),
]

if settings.MAINTENANCE_MODE:
    urlpatterns.append(
        # Redirect if we try to use the "tidings" unsubscribe.
        url(
            r'^unsubscribe/.*',
            never_cache(
                RedirectView.as_view(pattern_name='maintenance_mode',
                                     permanent=False))))
else:
    urlpatterns.append(
        url(r'^', decorator_include(never_cache, 'tidings.urls')), )

urlpatterns += [
Exemple #26
0
from rest_framework.urlpatterns import format_suffix_patterns

from decorator_include import decorator_include

from core.views_verifications import (ViewsVerificationsDecorator,
                                      LoginRequiredVerification,
                                      ModuleAccessVerification)

from core.enums import ModuleEnum

from pages.views import profile_login

urlpatterns = [
    url(r'^$', profile_login, name='home_page'),
    url(r'^admin/', admin.site.urls),
    url(r'^api-token-auth/', views.obtain_auth_token),
    url(r'api/', include('api.urls')),
    url(
        r'profiles/',
        decorator_include(
            ViewsVerificationsDecorator(
                module=ModuleEnum.MY_PROFILE,
                verifications=(LoginRequiredVerification(),
                               ModuleAccessVerification()),
                unless=('pages_profile_login', 'pages_profile_signup',
                        'pages_profile_register')),
            'pages.urls.profile_urls')),
]

urlpatterns = format_suffix_patterns(urlpatterns)
Exemple #27
0
from django.conf.urls import include, url
from django.contrib import admin

#Add decorator to admin for protect from intruders
from decorator_include import decorator_include
from .decorators import staff_or_404

urlpatterns = [
    #url(r'^admin/', include(admin.site.urls)),
    url(r'^admin/', decorator_include(staff_or_404, admin.site.urls)),
    url(r'', include('tv.urls')),
]
Exemple #28
0
from csp.decorators import csp_exempt
from decorator_include import decorator_include
from django.conf import settings
from django.conf.urls import url
from django.conf.urls.static import static
from django.contrib import admin
from django.contrib.flatpages import views
from django.urls import include, path
from multifactor.decorators import multifactor_protected

admin.site.site_header = "Gov Commenter Administration"

urlpatterns = [
    path("account/multifactor/",
         decorator_include(csp_exempt, "multifactor.urls")),
    path("i18n/", include("django.conf.urls.i18n")),
    path(
        "admin/",
        decorator_include(
            multifactor_protected(factors=1,
                                  max_age=60 * 60 * 72,
                                  advertise=True), admin.site.urls)),
    path("", include("comments.urls")),
    url(r"", include("user_sessions.urls", "user_sessions")),
    path("<path:url>", views.flatpage),
]

if settings.DEBUG:
    import debug_toolbar

    urlpatterns = [path("__debug__/", include(debug_toolbar.urls))
def only_user(username):
    def check(user):
        if user.is_authenticated and user.username == username:
            return True
        raise PermissionDenied

    return user_passes_test(check)


def index(request):
    return HttpResponse('Index!')


app_name = 'app_name_tests'

urlpatterns = [
    path('', index, name='index'),
    path('include/', decorator_include(login_required, 'tests.included')),
    path('admin/', decorator_include(identity, admin.site.urls)),
    path(
        'only-god/',
        decorator_include([login_required, only_user('god')],
                          'tests.included')),
    path(
        'with-perm/',
        decorator_include([
            login_required,
            permission_required('auth.is_god', raise_exception=True)
        ], 'tests.included'))
]
Exemple #30
0
professor_urls = [
    url(r'^$', TemplateView.as_view(template_name='edu/dashboard.html'), name='professor'),
    url(r'^offerings/', include(basic_crud('professor_offering', **professor.offering_views))),
]

staff_urls = [
    url(r'^$', RedirectView.as_view(url=reverse_lazy('staff_student_list')), name='staff'),
    url(r'^users/', include(basic_crud('staff_user', **staff.user_views))),
    url(r'^students/', include(basic_crud('staff_student', **staff.student_views))),
    url(r'^professors/', include(basic_crud('staff_professor', **staff.professor_views))),
    url(r'^courses/', include(basic_crud('staff_course', **staff.course_views) + [
        url(r'^(?P<pk>\d+)/capacity/$', staff.OfferingChangeCapacityView.as_view(), name='staff_offering_capacity')
    ])),
    url(r'^semesters/', include(basic_crud('staff_semester', **staff.semester_views))),
    url(r'^offering/', include(basic_crud('staff_offering', **staff.offering_views))),
]

urlpatterns = [
    url(r'^$', index.IndexView.as_view(), name='index'),
    url(r'^student/', decorator_include(student_required, student_urls)),
    url(r'^professor/', decorator_include(professor_required, professor_urls)),
    url(r'^staff/', decorator_include(staff_required, staff_urls)),
    url(r'^admin/', admin.site.urls),
    url(r'^hijack/', include('hijack.urls')),
    url(r'^accounts/', include('django.contrib.auth.urls')),
    url(r'^insanity/', include('insanity.urls')),
]

urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
from django.contrib import admin
from django.contrib.auth.decorators import login_required
from django.http import HttpResponse
from django.urls import path

from decorator_include import decorator_include


def identity(func):
    return func


def index(request):
    return HttpResponse('Index!')


urlpatterns = [
    path('', index, name='index'),
    path('include/', decorator_include(login_required, 'tests.included')),
    path('admin/', decorator_include(identity, admin.site.urls)),
]
Exemple #32
0
from django.conf import settings
from django.conf.urls import include, url
from django.conf.urls.static import static
from django.contrib.auth.decorators import login_required
from django.contrib import admin
from django.views.static import serve as static_serve
from decorator_include import decorator_include

urlpatterns = [
    url(r'^', decorator_include(login_required, 'dashboards.urls')),
    url(r'^', include('user_auth.urls')),
    # url(r'^myapp/', decorator_include(login_required, 'myapp.urls')),
    url(r'^jet/', include('jet.urls', 'jet')),  # Django JET URLS
    url(r'^jet/dashboard/',
        include('jet.dashboard.urls',
                'jet-dashboard')),  # Django JET dashboard URLS
    url(r'^adminweb/', admin.site.urls),
]

urlpatterns += [
    url(r'^static/(?P<path>.*)$', static_serve, {'document_root': 'static'})
]

if settings.DEBUG:
    urlpatterns += static(settings.MEDIA_URL,
                          document_root=settings.MEDIA_ROOT)
    if 'debug_toolbar' in settings.INSTALLED_APPS:
        import debug_toolbar
        urlpatterns = [
            url(r'^__debug__/', include(debug_toolbar.urls)),
        ] + urlpatterns
Exemple #33
0
from django.conf import settings
from django.conf.urls.defaults import *
from django.views.generic.simple import direct_to_template
from django.contrib.auth.decorators import login_required
from decorator_include import decorator_include

from dcsrrs import views
from django.contrib import admin
admin.autodiscover()

urlpatterns = patterns('',
	url(r'^$', 'django.contrib.auth.views.login', name='home'),
	(r'^schedule/', decorator_include(login_required, 'schedule.urls')),
	(r'^accounts/', include('registration.urls')),
	(r'^search_form_room/$', views.search_form_room),
	(r'^search_by_room/$', views.search_by_room),
	(r'^search_form_date/$', views.search_form_date),
	(r'^search_by_date/$', views.search_by_date),
	(r'^my_reservations/$', views.my_reservations),
	(r'^all_reservations/$', views.all_reservations),
	(r'^reserve_rooms/$', views.reserve_rooms),
	(r'^password_change/$', 'django.contrib.auth.views.password_change'),
	(r'^password_change/done/$', 'django.contrib.auth.views.password_change_done'),

	url(r'^reservation/create/(?P<room_slug>[-\w]+)/$',
		'views.create_or_edit_reservation',
		name='room_create_reservation'),
	url(r'^reservation/delete/(?P<reservation_id>\d+)/$',
		'views.delete_reservation',
		name="delete_reservation"),
	url(r'^reservation/edit/(?P<room_slug>[-\w]+)/(?P<reservation_id>\d+)/$','views.create_or_edit_reservation',name='edit_reservation'),
Exemple #34
0
from django.conf.urls import include, url
from django.contrib import admin

#Add decorator to admin for protect from intruders
from decorator_include import decorator_include
from .decorators import staff_or_404


urlpatterns = [
    #url(r'^admin/', include(admin.site.urls)),
    url(r'^admin/', decorator_include(staff_or_404, admin.site.urls)),
    url(r'', include('tv.urls')),
]
from django.conf.urls import patterns, include, url
from django.contrib.auth.decorators import login_required

from decorator_include import decorator_include

from front.views import HomeView

urlpatterns = patterns('',
    url(r'^$', HomeView.as_view(), name='home'),
    url(r'^auth/', include('front.auth.urls', namespace='auth')),
    url(r'^dashboard/', decorator_include(login_required, 'front.dashboard.urls', namespace='dashboard')),
    url(r'^(?P<owner_username>[^/]+)/(?P<repository_name>[^/]+)/', decorator_include(login_required, 'front.repository.urls', namespace='repository'))
)
Exemple #36
0
    1. Add an import:  from my_app import views
    2. Add a URL to urlpatterns:  path('', views.home, name='home')
Class-based views
    1. Add an import:  from other_app.views import Home
    2. Add a URL to urlpatterns:  path('', Home.as_view(), name='home')
Including another URLconf
    1. Import the include() function: from django.urls import include, path
    2. Add a URL to urlpatterns:  path('blog/', include('blog.urls'))
"""
from django.contrib import admin
from django.urls import path
from django.urls import include, path
from django.conf import settings
from django.conf.urls.static import static
from django.contrib.auth import views as auth_views
from django.contrib.auth.decorators import login_required
from decorator_include import decorator_include

from .views import *

urlpatterns = [
    path('', index, name="index"),
    path('student/', decorator_include(login_required,
                                       include('student.urls'))),
    path('teacher/', decorator_include(login_required,
                                       include('teacher.urls'))),
    path('accounts/', include('django.contrib.auth.urls')),
    path('accounts/logout/', auth_views.LogoutView.as_view(), name='logout'),
    path('admin/', admin.site.urls)
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
Exemple #37
0
    url(r'^charts/$', views.charts, name='charts'),
    url(r'^charts/create$', views.chart_create, name='chart_create'),
    url(r'^charts/(?P<chart_id>[0-9]+)/$', views.chart, name='chart'),

    url(r'^dashboards/$', views.dashboards, name='dashboards'),
    url(r'^dashboards/create$', views.dashboard_create, name='dashboard_create'),
    url(r'^dashboards/(?P<dashboard_id>[0-9]+)/$', views.dashboard, name='dashboard'),
]

urlpatterns = patterns(
    '',

    (r'^api/', include(v1_api.urls)),

    url(r'^about$', views.about, name='about'),
    url(r'^admin/', decorator_include(login_required, admin.site.urls)),
    url(r'^accounts/login/$', login, name='login'),
    url(r'^accounts/logout/$', logout, name='logout'),
    url(r'^', decorator_include(login_required, protected_patterns, namespace='datapoints')),

    # Waffle PATH
    url(r'^', include('waffle.urls')),

) + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

if settings.DEBUG:
    import debug_toolbar
    # urlpatterns += patterns('',
    #     url(r'^debug/', include(debug_toolbar.urls)),
    urlpatterns += patterns(
        '',
Exemple #38
0
"""labtodo URL Configuration

The `urlpatterns` list routes URLs to views. For more information please see:
    https://docs.djangoproject.com/en/2.1/topics/http/urls/
Examples:
Function views
    1. Add an import:  from my_app import views
    2. Add a URL to urlpatterns:  path('', views.home, name='home')
Class-based views
    1. Add an import:  from other_app.views import Home
    2. Add a URL to urlpatterns:  path('', Home.as_view(), name='home')
Including another URLconf
    1. Import the include() function: from django.urls import include, path
    2. Add a URL to urlpatterns:  path('blog/', include('blog.urls'))
"""
from django.contrib import admin
from django.contrib.auth.decorators import login_required
from decorator_include import decorator_include
from django.conf.urls import url
from django.urls import path, include
from todolist import views

urlpatterns = [
    path('admin/', admin.site.urls),
    path('accounts/', include('django.contrib.auth.urls')),
    path('task/', decorator_include(login_required, 'todolist.urls')),
    url(r'^$', login_required(views.index), name='index'),
]
Exemple #39
0
"""django_app URL Configuration

The `urlpatterns` list routes URLs to views. For more information please see:
    https://docs.djangoproject.com/en/3.0/topics/http/urls/
Examples:
Function views
    1. Add an import:  from my_app import views
    2. Add a URL to urlpatterns:  path('', views.home, name='home')
Class-based views
    1. Add an import:  from other_app.views import Home
    2. Add a URL to urlpatterns:  path('', Home.as_view(), name='home')
Including another URLconf
    1. Import the include() function: from django.urls import include, path
    2. Add a URL to urlpatterns:  path('blog/', include('blog.urls'))
"""

from django.contrib import admin
from django.urls import path, include
from django.contrib.auth.decorators import login_required
from decorator_include import decorator_include

urlpatterns = [
    path('admin/', admin.site.urls),
    path('', decorator_include(login_required, include('memo_app.urls'))),
    path('accounts/', include('allauth.urls')),
]
health_check.autodiscover()

urlpatterns = patterns('',
                       url(r'^reader/', include('reader.urls')),
                       url(r'^common/', include('common.urls')),
                       url(r'^$', legacy_cache_page()(RedirectView.as_view(url=lazy_reverse('wagtail_serve', args=['']), permanent=False))),
                       url(r'^front/', include('front.urls'), name='front_pattern'),
                       url(r'^admin/', include(admin.site.urls)),
                       url(r'^health$', never_cache(health_check_home), name='health_check_home'),
                       url(r'^health/service/(?P<service>\w+)$', never_cache(surround.django.health.views.check)),
                       url(r'^health/check/gevent$', 'common.views.gevent_check'),
                       url(r'^health/check/coroutine$', 'common.views.coroutine_check'),
                       url(r'^health/check/code(?P<code>[0-9]+)$', 'common.views.code_generator'),
                       url(r'^badbrowser$', 'common.views.badbrowser'),
                       url(r'^begin/', decorator_include((decorator_from_middleware(SiteMiddleware), decorator_from_middleware(RedirectMiddleware)), 'begin.urls')),
                       url(r'^preview/', include('preview.urls')),
                       url(r'^edit/publication/', include('publication.urls')),
)



from preview import volatile_models
urlpatterns += patterns('',
    url(r'^edit$', RedirectView.as_view(url=lazy_reverse('editres.views.landing_page')), name='edition_entry'),
    url(r'^edit/store/', include('editstore.urls')),
    url(r'^edit/coll/', include('editcoll.urls')),
    url(r'^edit/res/', include('editres.urls')),
    url(r'^edit/text/', include('edittext.urls')),
    url(r'^edit/tiles/', include('editor.urls')),
    url(r'^edit/line/', include('editline.urls')),
Exemple #41
0
register_converter(converters.SpecificPageByTitle, 'PageTitle')

urlpatterns = [
    path(
        "robots.txt",
        TemplateView.as_view(template_name='docs/robots.txt',
                             content_type='text/plain')),
    path(
        ".well-known/security.txt",
        TemplateView.as_view(template_name='web/security.txt',
                             content_type='text/plain')),
    *debug_toolbar_urls(),
    path(
        "i18n/",
        decorator_include(permission_required('docs.view_page'),
                          'django.conf.urls.i18n')),
]

unsafe_urlpatterns = [
    path("",
         views.DocumentationPageDetailView.as_view(is_main_page=True),
         name='home'),
    path("page/create/",
         views.CreateDocumentationPageView.as_view(),
         name='create_page'),
    path("page/<PageTitle:title>/",
         views.DocumentationPageDetailView.as_view(),
         name='page_detail'),
    path("page/<PageTitle:title>/history/",
         views.HistoryDocumentationPageView.as_view(),
         name='page_history'),
        decorator_include(
            course_access_url_wrapper,
            [
                url(r'^course_dashboard/$',
                    CourseDashboardView.as_view(),
                    name='course_dashboard'),
                url(r'^assessment/$',
                    CourseAssessmentView.as_view(),
                    name='course_assessments'),
                url(r'^communication/$',
                    CourseCommunicationView.as_view(),
                    name='course_communications'),
                url(r'^course_content/$',
                    CourseContentView.as_view(),
                    name='course_content'),
                url(r'^students/$', StudentsView.as_view(), name='students'),
                url(r'^student/(?P<pk>\d+)/$',
                    StudentDetailView.as_view(),
                    name='student_detail'),
                url(r'^course_page/(?P<pk>\d+)/$',
                    ResourcePageView.as_view(),
                    name='course_page'),

                # Event management for academic staff
                url(r'^course_repeating_events/$',
                    CourseRepeatingEventListView.as_view(),
                    name='list_course_repeating_events'),
                url(r'^course_repeating_event/$',
                    CourseRepeatingEventCreateView.as_view(),
                    name='add_course_repeating_event'),
                url(r'^course_repeating_event/(?P<pk>\d+)/$',
                    CourseRepeatingEventUpdateView.as_view(),
                    name='edit_course_repeating_event'),
                url(r'^course_repeating_event/(?P<pk>\d+)/delete/$',
                    CourseRepeatingEventDeleteView.as_view(),
                    name='delete_course_repeating_event'),
                url(r'^course_submission_events/$',
                    CourseSubmissionEventListView.as_view(),
                    name='list_course_submission_events'),
                url(r'^course_submission_event/$',
                    CourseSubmissionEventCreateView.as_view(),
                    name='add_course_submission_event'),
                url(r'^course_submission_event/(?P<pk>\d+)/$',
                    CourseSubmissionEventUpdateView.as_view(),
                    name='edit_course_submission_event'),
                url(r'^course_submission_event/(?P<pk>\d+)/delete/$',
                    CourseSubmissionEventDeleteView.as_view(),
                    name='delete_course_submission_event'),
                url(r'^course_single_events/$',
                    CourseSingleEventListView.as_view(),
                    name='list_course_single_events'),
                url(r'^course_single_event/$',
                    CourseSingleEventCreateView.as_view(),
                    name='add_course_single_event'),
                url(r'^course_single_event/(?P<pk>\d+)/$',
                    CourseSingleEventUpdateView.as_view(),
                    name='edit_course_single_event'),
                url(r'^course_single_event/(?P<pk>\d+)/delete/$',
                    CourseSingleEventDeleteView.as_view(),
                    name='delete_course_single_event'),
            ])),
Exemple #43
0
v1_api.register(ChartTypeTypeResource())
v1_api.register(DocTransFormResource())
v1_api.register(CalculatedIndicatorComponentResource())
v1_api.register(BaseIndicatorResource())
v1_api.register(CacheRefreshResource())

urlpatterns = patterns('',

    ## TASTYPIE API ##
    (r'^api/', include(v1_api.urls)),

    ## HOME PAGE
    url(r'^$', login_required(TemplateView.as_view(template_name="index.html")), name='index'),

    ## BASE DATPOINT FUNCTINOALITY ( see datapoints/urls )
    url(r'^datapoints/', decorator_include(login_required,'datapoints.urls', namespace="datapoints")),

    ## DASHBOARD WITH URL PARAMS ##
    url(r'^datapoints/[-a-zA-Z0-9]+/$', decorator_include(login_required,'datapoints.urls', namespace="datapoints")),
    url(r'^datapoints/[-a-zA-Z]+/[^/]+/[0-9]{4}/[0-9]{2}/$', decorator_include(login_required,'datapoints.urls', namespace="datapoints")),
    url(r'^datapoints/source-data/[-a-zA-Z]+/[0-9]{4}/[0-9]{2}/[-a-zA-Z]+/[0-9]+/', decorator_include(login_required,'datapoints.urls', namespace="datapoints")),

    ## ADMIN, LOG IN AND LOGOUT
    url(r'^admin/', decorator_include(login_required,admin.site.urls)),
    url(r'^accounts/login/$', login, name='login'),
    url(r'^accounts/logout/$', logout, name='logout'),

    ## UFADMIN ##
    url(r'^ufadmin/', login_required(TemplateView.as_view(template_name='ufadmin.html')), name='ufadmin'),

    ## DOCUMENT_REVIEW ##
Exemple #44
0
    url(r'^search', include(search_lang_base_urlpatterns)))
urlpatterns += i18n_patterns(
    url(r'^docs.json$', document_as_json, name='wiki.json'))
urlpatterns += i18n_patterns(url(r'^docs/', include(wiki_lang_urlpatterns)))
urlpatterns += [url('', include('kuma.attachments.urls'))]
urlpatterns += i18n_patterns(
    url(r'dashboards/?$', dashboards_index, name='dashboards.index'), )
urlpatterns += i18n_patterns(
    url(r'^dashboards/', include(dashboards_lang_urlpatterns)))
urlpatterns += [url('users/', include('kuma.users.urls'))]
urlpatterns += i18n_patterns(
    url(r'contribute/?$', contribution_views.contribute, name='contribute'), )
urlpatterns += i18n_patterns(
    url(r'^contribute/', include(contributions_lang_urlpatterns)))
urlpatterns += i18n_patterns(
    url('', decorator_include(never_cache, users_lang_urlpatterns)))

if settings.MAINTENANCE_MODE:
    urlpatterns += i18n_patterns(
        # Redirect if we try to use the "tidings" unsubscribe.
        url(
            r'^unsubscribe/.*',
            never_cache(
                RedirectView.as_view(pattern_name='maintenance_mode',
                                     permanent=False))))
else:
    urlpatterns += i18n_patterns(
        url(r'^', decorator_include(never_cache, 'tidings.urls')), )

urlpatterns += [
    # Services and sundry.
Exemple #45
0
from django.contrib import admin
from django.urls import path, include
from django.conf.urls.i18n import i18n_patterns
from django.conf import settings
from django.conf.urls.static import static

from decorator_include import decorator_include
from pannel.decorators import *

urlpatterns = [
    path('i18n/', include('django.conf.urls.i18n')),
]

urlpatterns += i18n_patterns(
    # TODO : change secret  url in deployment
    path('secret/', admin.site.urls),
    path('admin/', include('admin_honeypot.urls', namespace='admin_honeypot')),
    path('pannel/',
         decorator_include([user_access, superuser_required], 'pannel.urls')),
    path('', decorator_include(user_access, 'home.urls')),
    prefix_default_language=False,
)

if settings.DEBUG:
    urlpatterns += static(settings.STATIC_URL,
                          document_root=settings.STATIC_ROOT)
Exemple #46
0
"""wordchain URL Configuration

The `urlpatterns` list routes URLs to views. For more information please see:
    https://docs.djangoproject.com/en/1.8/topics/http/urls/
Examples:
Function views
    1. Add an import:  from my_app import views
    2. Add a URL to urlpatterns:  url(r'^$', views.home, name='home')
Class-based views
    1. Add an import:  from other_app.views import Home
    2. Add a URL to urlpatterns:  url(r'^$', Home.as_view(), name='home')
Including another URLconf
    1. Add an import:  from blog import urls as blog_urls
    2. Add a URL to urlpatterns:  url(r'^blog/', include(blog_urls))
"""
from django.conf.urls import include, url
from django.contrib import admin
from django.contrib.auth.decorators import login_required

from decorator_include import decorator_include

from . import views

urlpatterns = [
    url(r'^$', views.IndexView.as_view(), name='index'),
    url(r'^game/', decorator_include(login_required, 'game.urls', namespace='game')),
    url(r'^admin/', include(admin.site.urls)),
    url(r'^accounts/', include('django.contrib.auth.urls')),
]
Exemple #47
0
]

contentbox_urlpatterns = [
    path("<int:pk>/edit/",
         EditContentBoxView.as_view(base_template='web/base.html'),
         name='contentbox_edit'),
]

about_urlpatterns = [
    path("", views.AboutUsView.as_view(url_name='about'), name='about'),
    DisplayContentBoxView.get_path('contact'),
]

urlpatterns += i18n_patterns(
    path("", views.IndexView.as_view(), name='front_page'),
    path("admin/", decorator_include(login_required, admin_urlpatterns)),
    path("reservation/", include('make_queue.urls')),
    path("news/", include('news.urls')),
    path("contentbox/", include(contentbox_urlpatterns)),
    path("media/<path:path>", serve,
         {'document_root': settings.MEDIA_ROOT
          }),  # for development only; Nginx is used in production
    path("checkin/", include('checkin.urls')),
    path("committees/", include('groups.urls')),
    path("announcements/", include('announcements.urls')),
    path("about/", include(about_urlpatterns)),
    path("makerspace/", include('makerspace.urls')),
    path("faq/", include('faq.urls')),
    *DisplayContentBoxView.get_multi_path('apply', 'søk', 'sok'),
    DisplayContentBoxView.get_path('cookies'),
    DisplayContentBoxView.get_path('privacypolicy'),
Exemple #48
0
urlpatterns = patterns('',

    ## V2 API ##
    url(r'^api/v2/(?P<content_type>\w+)/$', login_required(views.v2_api), name='v2_api'),
    url(r'^api/v2/(?P<content_type>\w+)/metadata/$', login_required(views.v2_meta_api),
        name='v2_meta_api'),

    ## TASTYPIE API ##
    (r'^api/', include(v1_api.urls)),

    ## HOME PAGE
    url(r'^$', login_required(TemplateView.as_view(template_name="index.html")), name='index'),

    ## BASE DATPOINT FUNCTINOALITY ( see datapoints/urls )
    url(r'^datapoints/', decorator_include(login_required,'datapoints.urls', namespace="datapoints")),

    ## DASHBOARD WITH URL PARAMS ##
    url(r'^datapoints/[-a-zA-Z]+/$', decorator_include(login_required,'datapoints.urls', namespace="datapoints")),
    url(r'^datapoints/[-a-zA-Z]+/[^/]+/[0-9]{4}/[0-9]{2}/$', decorator_include(login_required,'datapoints.urls', namespace="datapoints")),

    ## CORE SOURCE DATA FUNCTINOALITY
    url(r'^source_data/', decorator_include(login_required,'source_data.urls', namespace="source_data")),

    ## ADMIN, LOG IN AND LOGOUT
    url(r'^admin/', decorator_include(login_required,admin.site.urls)),
    url(r'^accounts/login/$', login, name='login'),
    url(r'^accounts/logout/$', logout, name='logout'),

    ## ADMIN PAGES HITTING ENTITY API
    url(r'^ufadmin/$', login_required(views.UFAdminView.as_view()), name='ufadmin'),
Exemple #49
0
urlpatterns = patterns(
    '',

    ## TASTYPIE API ##
    (r'^api/', include(v1_api.urls)),

    ## HOME PAGE
    url(r'^$',
        login_required(TemplateView.as_view(template_name="index.html")),
        name='index'),

    ## BASE DATPOINT FUNCTINOALITY ( see datapoints/urls )
    url(
        r'^datapoints/',
        decorator_include(
            login_required, 'datapoints.urls', namespace="datapoints")),

    ## DASHBOARD WITH URL PARAMS ##
    url(
        r'^datapoints/[-a-zA-Z0-9]+/$',
        decorator_include(
            login_required, 'datapoints.urls', namespace="datapoints")),
    url(
        r'^datapoints/[-a-zA-Z]+/[^/]+/[0-9]{4}/[0-9]{2}/$',
        decorator_include(
            login_required, 'datapoints.urls', namespace="datapoints")),
    url(
        r'^datapoints/source-data/[-a-zA-Z]+/[0-9]{4}/[0-9]{2}/[-a-zA-Z]+/[0-9]+/',
        decorator_include(
            login_required, 'datapoints.urls', namespace="datapoints")),
from __future__ import unicode_literals
from django.conf.urls import patterns, url
from django.http import HttpResponse
from django.contrib.auth.decorators import login_required

from decorator_include import decorator_include


def index(request):
    return HttpResponse("Index!")


urlpatterns = patterns(
    "",
    url(r"^$", index, name="index"),
    url(r"^include/", decorator_include(login_required, "decorator_include.tests.included")),
)
Exemple #51
0
v1_api.register(ChartTypeTypeResource())
v1_api.register(DocTransFormResource())
v1_api.register(CalculatedIndicatorComponentResource())
v1_api.register(AggRefreshResource())

urlpatterns = patterns(
    '',

    # TASTYPIE API
    (r'^api/', include(v1_api.urls)),

    # HOME PAGE
    url(r'^$', login_required(TemplateView.as_view(template_name='homepage.html')), name='homepage'),

    # BASE DATPOINT FUNCTIONALITY ( see datapoints/urls )
    url(r'^datapoints/', decorator_include(login_required, 'datapoints.urls', namespace='datapoints')),

    # DASHBOARD WITH URL PARAMS
    url(r'^datapoints/[-a-zA-Z0-9]+/$',
        decorator_include(login_required, 'datapoints.urls', namespace='datapoints')),
    url(r'^datapoints/[-a-zA-Z]+/[^/]+/[0-9]{4}/[0-9]{2}/$',
        decorator_include(login_required, 'datapoints.urls', namespace='datapoints')),
    url(r'^datapoints/source-data/[-a-zA-Z]+/[0-9]{4}/[0-9]{2}/[-a-zA-Z]+/[0-9]+/',
        decorator_include(login_required, 'datapoints.urls', namespace='datapoints')),

    # ADMIN, LOG IN AND LOGOUT
    url(r'^admin/', decorator_include(login_required, admin.site.urls)),
    url(r'^accounts/login/$', login, name='login'),
    url(r'^accounts/logout/$', logout, name='logout'),

    # MANAGE SYSTEM
Exemple #52
0
                                 include(dashboards_lang_urlpatterns)))
urlpatterns += [url('users/', include('kuma.users.urls'))]
urlpatterns += i18n_patterns(
    url(r'^payments/$',
        payment_views.contribute,
        name='payments'),
)
urlpatterns += i18n_patterns(
    url(r'^contribute/$',
        RedirectView.as_view(url=reverse_lazy('payments')),
        name='redirect-to-payments'),
)
urlpatterns += i18n_patterns(url(r'^payments/',
                                 include(payments_lang_urlpatterns)))
urlpatterns += i18n_patterns(url('',
                                 decorator_include(never_cache,
                                                   users_lang_urlpatterns)))

if settings.MAINTENANCE_MODE:
    urlpatterns += i18n_patterns(
        # Redirect if we try to use the "tidings" unsubscribe.
        url(
            r'^unsubscribe/.*',
            never_cache(RedirectView.as_view(
                pattern_name='maintenance_mode',
                permanent=False
            ))
        )
    )
else:
    urlpatterns += i18n_patterns(
        url(r'^', decorator_include(never_cache, 'tidings.urls')),