Exemplo n.º 1
0
        def create_js_catalog_url():
            packages = ['django_mptt_admin']
            url_pattern = r'^jsi18n/$'

            if django.VERSION[0:2] <= (1, 9):
                return create_url(url_pattern, 'jsi18n', javascript_catalog, kwargs=dict(packages=packages), cacheable=True)
            else:
                return create_url(url_pattern, 'jsi18n', JavaScriptCatalog.as_view(packages=packages), cacheable=True)
Exemplo n.º 2
0
    def i18n_javascript(self, request, extra_context=None):
        """
        Displays the i18n JavaScript that the Django admin requires.

        `extra_context` is unused but present for consistency with the other
        admin views.
        """
        return JavaScriptCatalog.as_view(packages=['django.contrib.admin'])(request)
Exemplo n.º 3
0
 def test_i18n_unknown_package_error(self):
     view = JavaScriptCatalog.as_view()
     request = RequestFactory().get('/')
     msg = 'Invalid package(s) provided to JavaScriptCatalog: unknown_package'
     with self.assertRaisesMessage(ValueError, msg):
         view(request, packages='unknown_package')
     msg += ',unknown_package2'
     with self.assertRaisesMessage(ValueError, msg):
         view(request, packages='unknown_package+unknown_package2')
Exemplo n.º 4
0
 def handle(self, *args, **options):
     fake_request = HttpRequest()
     fake_request.method = 'GET'
     for lang in settings.AMO_LANGUAGES:
         filename = os.path.join(
             settings.STATICFILES_DIRS[0], 'js', 'i18n', '%s.js' % lang)
         with translation.override(lang):
             response = JavaScriptCatalog.as_view()(fake_request)
             with open(filename, 'w') as f:
                 f.write(force_text(response.content))
Exemplo n.º 5
0
    def get_urls(self):
        """
        Adds a url to move nodes to this admin
        """
        urls = super(TreeAdmin, self).get_urls()

        if django.VERSION < (1, 10):
            from django.views.i18n import javascript_catalog
            jsi18n_url = url(r'^jsi18n/$', javascript_catalog, {'packages': ('treebeard',)})
        else:
            from django.views.i18n import JavaScriptCatalog

            jsi18n_url = url(r'^jsi18n/$',
                JavaScriptCatalog.as_view(packages=['treebeard']),
                name='javascript-catalog'
            )

        new_urls = [
            url('^move/$', self.admin_site.admin_view(self.move_node), ),
            jsi18n_url,
        ]
        return new_urls + urls
Exemplo n.º 6
0
    def get_urls(self):
        urls = super(SubscriptionAdmin, self).get_urls()

        my_urls = [
            url(r'^import/$',
                self._wrap(self.subscribers_import),
                name=self._view_name('import')),
            url(r'^import/confirm/$',
                self._wrap(self.subscribers_import_confirm),
                name=self._view_name('import_confirm')),
        ]
        # Translated JS strings - these should be app-wide but are
        # only used in this part of the admin. For now, leave them here.
        if HAS_CBV_JSCAT:
            my_urls.append(url(r'^jsi18n/$',
                JavaScriptCatalog.as_view(packages=('newsletter',)),
                name='newsletter_js18n'))
        else:
            my_urls.append(url(r'^jsi18n/$',
                javascript_catalog,
                {'packages': ('newsletter',)},
                name='newsletter_js18n'))

        return my_urls + urls
Exemplo n.º 7
0
from django.views import defaults
from django.views.generic import RedirectView
from django.views.i18n import JavaScriptCatalog
from django.contrib.staticfiles import views as static_views

# pylint suggests importing analytics_dashboard.core, which causes errors in our AMI
# pylint: disable=relative-import
from core import views


admin.autodiscover()

urlpatterns = [
    url(r'^$', views.LandingView.as_view(), name='landing'),
    url(r'^api-auth/', include('rest_framework.urls')),
    url(r'^jsi18n/$', JavaScriptCatalog.as_view(packages=['core', 'courses']), name='javascript-catalog'),
    url(r'^status/$', views.status, name='status'),
    url(r'^health/$', views.health, name='health'),
    url(r'^courses/', include('courses.urls')),
    url(r'^admin/', admin.site.urls),
    # TODO: the namespace arg is deprecated, but python-social-auth urls.py doesn't specify app_name so we are stuck
    # using namespace. Once python-social-auth is updated to fix that, remove the namespace arg.
    url('', include('social_django.urls', namespace='social')),
    url(r'^accounts/login/$',
        RedirectView.as_view(url=reverse_lazy('social:begin', args=['edx-oidc']), permanent=False, query_string=True),
        name='login'),
    url(r'^accounts/logout/$', views.InsightsLogoutView.as_view(), name='logout'),
    url(r'^accounts/logout_then_login/$', views.insights_logout_then_login, name='logout_then_login'),
    url(r'^test/auto_auth/$', views.AutoAuth.as_view(), name='auto_auth'),
    url(r'^announcements/', include('pinax.announcements.urls', namespace='pinax_announcements')),
]
Exemplo n.º 8
0
 def i18n_javascript(self, request):
     """
     Displays the i18n JavaScript that the Django admin requires.
     """
     return JavaScriptCatalog.as_view(
         packages=['django.contrib.admin'])(request)
Exemplo n.º 9
0
    re_path(r'^pluginDetection/(?P<detection>[a-zA-Z0-9-]*)$', uds.web.views.plugin_detection, name='PluginDetection'),
    # Client access enabler
    re_path(r'^enable/(?P<idService>.+)/(?P<idTransport>.+)$', uds.web.views.clientEnabler, name='ClientAccessEnabler'),

    # Releaser
    re_path(r'^release/(?P<idService>.+)$', uds.web.views.release, name='Releaser'),

    # Custom authentication callback
    re_path(r'^auth/(?P<authName>.+)', uds.web.views.authCallback, name='uds.web.views.authCallback'),
    re_path(r'^authinfo/(?P<authName>.+)', uds.web.views.authInfo, name='uds.web.views.authInfo'),
    re_path(r'^about', uds.web.views.about, name='uds.web.views.about'),
    # Ticket authentication
    re_path(r'^tkauth/(?P<ticketId>.+)$', uds.web.views.ticketAuth, name='TicketAuth'),

    # REST Api
    re_path(r'^rest/(?P<arguments>.*)$', REST.Dispatcher.as_view(), name="REST"),

    # Web admin GUI
    re_path(r'^adm/', include('uds.admin.urls')),

    # Files
    re_path(r'^files/(?P<uuid>.+)', uds.web.views.file_storage, name='uds.web.views.file_storage'),

    # Internacionalization in javascript
    # Javascript catalog. In fact, lang is not used, but it is maintanied for "backward" user templates compatibility
    re_path(r'^jsi18n/(?P<lang>[a-z]*)$', JavaScriptCatalog.as_view(), name='uds.web.views.jsCatalog'),
]

# Append urls from special dispatchers
urlpatterns += loadModulesUrls()
Exemplo n.º 10
0
    https://docs.djangoproject.com/en/2.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'))
"""
import django
from django.contrib import admin
from django.urls import path, include
from django.views.i18n import JavaScriptCatalog

from kiz import settings

urlpatterns = [
    path('admin/jsi18n/', JavaScriptCatalog.as_view()),
    path('admin/', admin.site.urls),
    path('', include('main.urls')),
]

if settings.DEBUG:
    import debug_toolbar
    urlpatterns = [
    path('__debug__/', include(debug_toolbar.urls))
    ] + urlpatterns
Exemplo n.º 11
0
        success_url=reverse_lazy('auth_password_reset_done')),
        name='auth_password_reset'),
    url(r'^password/reset/confirm/(?P<uidb64>[0-9A-Za-z]+)-(?P<token>.+)/$',
        auth_views.PasswordResetConfirmView.as_view(
            template_name='django_registration/password_reset_confirm.html',
            success_url=reverse_lazy('auth_password_reset_complete')),
        name='auth_password_reset_confirm'),
    url(r'^password/reset/complete/$',
        auth_views.PasswordResetCompleteView.as_view(
            template_name='django_registration/password_reset_complete.html'),
        name='auth_password_reset_complete'),
    url(r'^password/reset/done/$', auth_views.PasswordResetDoneView.as_view(
        template_name='django_registration/password_reset_done.html'),
        name='auth_password_reset_done'),
    # javascript i18n
    url(r'^jsi18n/(?P<packages>\S+?)/$', JavaScriptCatalog.as_view(),
        name='jsi18n_catalog'),
    # admin site
    url(r'^admin/', admin.site.urls),
]

if settings.DEBUG:  # pragma: no cover
    import debug_toolbar
    from django.contrib.staticfiles.views import serve as serve_static
    from django.views.decorators.cache import never_cache

    urlpatterns += [
        url(r'^__debug__/', include(debug_toolbar.urls)),
        url(r'^static/(?P<path>.*)$', never_cache(serve_static)),
    ]
Exemplo n.º 12
0
class BaseApiTests(APITestCase, URLPatternsTestCase):

    fixtures = [
        'initial_data.json', 'group_test_data.json', 'default_oauth_apps.json',
        "test_thesaurus.json"
    ]

    urlpatterns = [
        url(r'^home/$',
            TemplateView.as_view(template_name='index.html'),
            name='home'),
        url(r'^help/$',
            TemplateView.as_view(template_name='help.html'),
            name='help'),
        url(r"^account/", include("allauth.urls")),
        url(r'^people/', include('geonode.people.urls')),
        url(r'^api/v2/', include(router.urls)),
        url(r'^api/v2/', include('geonode.api.urls')),
        url(r'^api/v2/api-auth/',
            include('rest_framework.urls',
                    namespace='geonode_rest_framework')),
        url(r'^$',
            TemplateView.as_view(template_name='layers/layer_list.html'), {
                'facet_type': 'layers',
                'is_layer': True
            },
            name='layer_browse'),
        url(r'^$',
            TemplateView.as_view(template_name='maps/map_list.html'), {
                'facet_type': 'maps',
                'is_map': True
            },
            name='maps_browse'),
        url(r'^$',
            TemplateView.as_view(template_name='documents/document_list.html'),
            {
                'facet_type': 'documents',
                'is_document': True
            },
            name='document_browse'),
        url(r'^$',
            TemplateView.as_view(template_name='groups/group_list.html'),
            name='group_list'),
        url(r'^search/$',
            TemplateView.as_view(template_name='search/search.html'),
            name='search'),
        url(r'^$', services, name='services'),
        url(
            r'^invitations/',
            include('geonode.invitations.urls',
                    namespace='geonode.invitations')),
        url(r'^i18n/', include(django.conf.urls.i18n), name="i18n"),
        url(r'^jsi18n/$',
            JavaScriptCatalog.as_view(), {},
            name='javascript-catalog'),
        url(r'^(?P<mapid>[^/]+)/embed$', map_embed, name='map_embed'),
        url(r'^(?P<layername>[^/]+)/embed$', layer_embed, name='layer_embed'),
        url(r'^(?P<geoappid>[^/]+)/embed$',
            geoapp_edit, {'template': 'apps/app_embed.html'},
            name='geoapp_embed'),
    ]

    if check_ogc_backend(geoserver.BACKEND_PACKAGE):
        from geonode.geoserver.views import layer_acls, resolve_user
        urlpatterns += [
            url(r'^acls/?$', layer_acls, name='layer_acls'),
            url(r'^acls_dep/?$', layer_acls, name='layer_acls_dep'),
            url(r'^resolve_user/?$', resolve_user, name='layer_resolve_user'),
            url(r'^resolve_user_dep/?$',
                resolve_user,
                name='layer_resolve_user_dep'),
        ]

    def setUp(self):
        create_models(b'document')
        create_models(b'map')
        create_models(b'layer')

    def test_gropus_list(self):
        """
        Ensure we can access the gropus list.
        """
        url = reverse('group-profiles-list')
        # Unauhtorized
        response = self.client.get(url, format='json')
        self.assertEqual(response.status_code, 403)

        # Auhtorized
        self.assertTrue(self.client.login(username='******', password='******'))
        response = self.client.get(url, format='json')
        self.assertEqual(response.status_code, 200)
        self.assertEqual(len(response.data), 5)
        logger.debug(response.data)
        self.assertEqual(response.data['total'], 2)
        self.assertEqual(len(response.data['group_profiles']), 2)

        url = reverse('group-profiles-detail', kwargs={'pk': 1})
        response = self.client.get(url, format='json')
        self.assertEqual(response.status_code, 200)
        logger.debug(response.data)
        self.assertEqual(response.data['group_profile']['title'],
                         'Registered Members')
        self.assertEqual(response.data['group_profile']['description'],
                         'Registered Members')
        self.assertEqual(response.data['group_profile']['access'], 'private')
        self.assertEqual(response.data['group_profile']['group']['name'],
                         response.data['group_profile']['slug'])

    def test_users_list(self):
        """
        Ensure we can access the users list.
        """
        url = reverse('users-list')
        # Anonymous
        response = self.client.get(url, format='json')
        self.assertEqual(response.status_code, 200)
        self.assertEqual(len(response.data), 5)
        logger.debug(response.data)
        self.assertEqual(response.data['total'], 0)
        self.assertEqual(len(response.data['users']), 0)

        # Auhtorized
        self.assertTrue(self.client.login(username='******', password='******'))
        response = self.client.get(url, format='json')
        self.assertEqual(response.status_code, 200)
        self.assertEqual(len(response.data), 5)
        logger.debug(response.data)
        self.assertEqual(response.data['total'], 10)
        self.assertEqual(len(response.data['users']), 10)
        # response has link to the response
        self.assertTrue('link' in response.data['users'][0].keys())

        url = reverse('users-detail', kwargs={'pk': 1})
        response = self.client.get(url, format='json')
        self.assertEqual(response.status_code, 200)
        logger.debug(response.data)
        self.assertEqual(response.data['user']['username'], 'admin')
        self.assertIsNotNone(response.data['user']['avatar'])

        # anonymous users are not in contributors group
        url = reverse('users-detail', kwargs={'pk': -1})
        response = self.client.get(url, format='json')
        self.assertNotIn('add_resource', response.data['user']['perms'])

        # Bobby
        self.assertTrue(self.client.login(username='******', password='******'))
        # Bobby cannot access other users' details
        response = self.client.get(url, format='json')
        self.assertEqual(response.status_code, 404)

        # Bobby can see himself in the list
        url = reverse('users-list')
        self.assertEqual(len(response.data), 1)
        response = self.client.get(url, format='json')
        self.assertEqual(response.status_code, 200)
        logger.debug(response.data)
        self.assertEqual(response.data['total'], 1)
        self.assertEqual(len(response.data['users']), 1)

        # Bobby can access its own details
        bobby = get_user_model().objects.filter(username='******').get()
        url = reverse('users-detail', kwargs={'pk': bobby.id})
        response = self.client.get(url, format='json')
        self.assertEqual(response.status_code, 200)
        logger.debug(response.data)
        self.assertEqual(response.data['user']['username'], 'bobby')
        self.assertIsNotNone(response.data['user']['avatar'])
        # default contributor group_perm is returned in perms
        self.assertIn('add_resource', response.data['user']['perms'])

    def test_register_users(self):
        """
        Ensure users are created with default groups.
        """
        url = reverse('users-list')
        user_data = {
            'username': '******',
        }
        response = self.client.post(url, data=user_data, format='json')
        self.assertEqual(response.status_code, 201)
        # default contributor group_perm is returned in perms
        self.assertIn('add_resource', response.data['user']['perms'])

    def test_base_resources(self):
        """
        Ensure we can access the Resource Base list.
        """
        url = reverse('base-resources-list')
        # Anonymous
        response = self.client.get(url, format='json')
        self.assertEqual(response.status_code, 200)
        self.assertEqual(len(response.data), 5)
        self.assertEqual(response.data['total'], 26)
        # Pagination
        self.assertEqual(len(response.data['resources']), 10)
        logger.debug(response.data)

        # Remove public permissions to Layers
        from geonode.layers.utils import set_layers_permissions
        set_layers_permissions(
            "read",  # permissions_name
            None,  # resources_names == None (all layers)
            [get_anonymous_user()],  # users_usernames
            None,  # groups_names
            True,  # delete_flag
        )
        response = self.client.get(url, format='json')
        self.assertEqual(response.status_code, 200)
        self.assertEqual(len(response.data), 5)
        self.assertEqual(response.data['total'], 18)
        # Pagination
        self.assertEqual(len(response.data['resources']), 10)

        # Admin
        self.assertTrue(self.client.login(username='******', password='******'))
        response = self.client.get(url, format='json')
        self.assertEqual(response.status_code, 200)
        self.assertEqual(len(response.data), 5)
        self.assertEqual(response.data['total'], 18)
        # response has link to the response
        self.assertTrue('link' in response.data['resources'][0].keys())
        # Pagination
        self.assertEqual(len(response.data['resources']), 10)
        logger.debug(response.data)

        # Bobby
        self.assertTrue(self.client.login(username='******', password='******'))
        response = self.client.get(url, format='json')
        self.assertEqual(response.status_code, 200)
        self.assertEqual(len(response.data), 5)
        self.assertEqual(response.data['total'], 18)
        # Pagination
        self.assertEqual(len(response.data['resources']), 10)
        logger.debug(response.data)

        # Norman
        self.assertTrue(self.client.login(username='******',
                                          password='******'))
        response = self.client.get(url, format='json')
        self.assertEqual(response.status_code, 200)
        self.assertEqual(len(response.data), 5)
        self.assertEqual(response.data['total'], 18)
        # Pagination
        self.assertEqual(len(response.data['resources']), 10)
        logger.debug(response.data)

        # Pagination
        # Admin
        self.assertTrue(self.client.login(username='******', password='******'))

        response = self.client.get(f"{url}?page_size=17", format='json')
        self.assertEqual(response.status_code, 200)
        self.assertEqual(len(response.data), 5)
        self.assertEqual(response.data['total'], 18)
        # Pagination
        self.assertEqual(len(response.data['resources']), 17)

        # Check user permissions
        resource = ResourceBase.objects.filter(owner__username='******').first()
        # Admin
        response = self.client.get(f"{url}/{resource.id}/", format='json')
        self.assertTrue(
            'change_resourcebase' in list(response.data['resource']['perms']))
        # Annonymous
        self.assertIsNone(self.client.logout())
        response = self.client.get(f"{url}/{resource.id}/", format='json')
        self.assertFalse(
            'change_resourcebase' in list(response.data['resource']['perms']))
        # user owner
        self.assertTrue(self.client.login(username='******', password='******'))
        response = self.client.get(f"{url}/{resource.id}/", format='json')
        self.assertTrue(
            'change_resourcebase' in list(response.data['resource']['perms']))
        # user not owner and not assigned
        self.assertTrue(self.client.login(username='******',
                                          password='******'))
        response = self.client.get(f"{url}/{resource.id}/", format='json')
        self.assertFalse(
            'change_resourcebase' in list(response.data['resource']['perms']))

    def test_search_resources(self):
        """
        Ensure we can search across the Resource Base list.
        """
        url = reverse('base-resources-list')
        # Admin
        self.assertTrue(self.client.login(username='******', password='******'))

        response = self.client.get(
            f"{url}?search=ca&search_fields=title&search_fields=abstract",
            format='json')
        self.assertEqual(response.status_code, 200)
        self.assertEqual(len(response.data), 5)
        self.assertEqual(response.data['total'], 1)
        # Pagination
        self.assertEqual(len(response.data['resources']), 1)

    def test_filter_resources(self):
        """
        Ensure we can filter across the Resource Base list.
        """
        url = reverse('base-resources-list')
        # Admin
        self.assertTrue(self.client.login(username='******', password='******'))

        # Filter by owner == bobby
        response = self.client.get(f"{url}?filter{{owner.username}}=bobby",
                                   format='json')
        self.assertEqual(response.status_code, 200)
        self.assertEqual(len(response.data), 5)
        self.assertEqual(response.data['total'], 3)
        # Pagination
        self.assertEqual(len(response.data['resources']), 3)

        # Filter by resource_type == document
        response = self.client.get(f"{url}?filter{{resource_type}}=document",
                                   format='json')
        self.assertEqual(response.status_code, 200)
        self.assertEqual(len(response.data), 5)
        self.assertEqual(response.data['total'], 9)
        # Pagination
        self.assertEqual(len(response.data['resources']), 9)

        # Filter by resource_type == layer and title like 'common morx'
        response = self.client.get(
            f"{url}?filter{{resource_type}}=layer&filter{{title.icontains}}=common morx",
            format='json')
        self.assertEqual(response.status_code, 200)
        self.assertEqual(len(response.data), 5)
        self.assertEqual(response.data['total'], 1)
        # Pagination
        self.assertEqual(len(response.data['resources']), 1)

        # Filter by Keywords
        response = self.client.get(f"{url}?filter{{keywords.name}}=here",
                                   format='json')
        self.assertEqual(response.status_code, 200)
        self.assertEqual(len(response.data), 5)
        self.assertEqual(response.data['total'], 1)
        # Pagination
        self.assertEqual(len(response.data['resources']), 1)

        # Filter by Metadata Regions
        response = self.client.get(
            f"{url}?filter{{regions.name.icontains}}=Italy", format='json')
        self.assertEqual(response.status_code, 200)
        self.assertEqual(len(response.data), 5)
        self.assertEqual(response.data['total'], 0)
        # Pagination
        self.assertEqual(len(response.data['resources']), 0)

        # Filter by Metadata Categories
        response = self.client.get(
            f"{url}?filter{{category.identifier}}=elevation", format='json')
        self.assertEqual(response.status_code, 200)
        self.assertEqual(len(response.data), 5)
        self.assertEqual(response.data['total'], 9)
        # Pagination
        self.assertEqual(len(response.data['resources']), 9)

        # Extent Filter
        response = self.client.get(
            f"{url}?page_size=26&extent=-180,-90,180,90", format='json')
        self.assertEqual(response.status_code, 200)
        self.assertEqual(len(response.data), 5)
        self.assertEqual(response.data['total'], 26)
        # Pagination
        self.assertEqual(len(response.data['resources']), 26)

        response = self.client.get(f"{url}?page_size=26&extent=0,0,100,100",
                                   format='json')
        self.assertEqual(response.status_code, 200)
        self.assertEqual(len(response.data), 5)
        self.assertEqual(response.data['total'], 26)
        # Pagination
        self.assertEqual(len(response.data['resources']), 26)

        response = self.client.get(f"{url}?page_size=26&extent=-10,-10,-1,-1",
                                   format='json')
        self.assertEqual(response.status_code, 200)
        self.assertEqual(len(response.data), 5)
        self.assertEqual(response.data['total'], 12)
        # Pagination
        self.assertEqual(len(response.data['resources']), 12)

        # Extent Filter: Crossing Dateline
        extent = "-180.0000,56.9689,-162.5977,70.7435,155.9180,56.9689,180.0000,70.7435"
        response = self.client.get(f"{url}?page_size=26&extent={extent}",
                                   format='json')
        self.assertEqual(response.status_code, 200)
        self.assertEqual(len(response.data), 5)
        self.assertEqual(response.data['total'], 12)
        # Pagination
        self.assertEqual(len(response.data['resources']), 12)

    def test_sort_resources(self):
        """
        Ensure we can sort the Resource Base list.
        """
        url = reverse('base-resources-list')
        # Admin
        self.assertTrue(self.client.login(username='******', password='******'))

        response = self.client.get(f"{url}?sort[]=title", format='json')
        self.assertEqual(response.status_code, 200)
        self.assertEqual(len(response.data), 5)
        self.assertEqual(response.data['total'], 26)
        # Pagination
        self.assertEqual(len(response.data['resources']), 10)

        resource_titles = []
        for _r in response.data['resources']:
            resource_titles.append(_r['title'])
        sorted_resource_titles = sorted(resource_titles.copy())
        self.assertEqual(resource_titles, sorted_resource_titles)

        response = self.client.get(f"{url}?sort[]=-title", format='json')
        self.assertEqual(response.status_code, 200)
        self.assertEqual(len(response.data), 5)
        self.assertEqual(response.data['total'], 26)
        # Pagination
        self.assertEqual(len(response.data['resources']), 10)

        resource_titles = []
        for _r in response.data['resources']:
            resource_titles.append(_r['title'])

        reversed_resource_titles = sorted(resource_titles.copy())
        self.assertNotEqual(resource_titles, reversed_resource_titles)

    def test_perms_resources(self):
        """
        Ensure we can Get & Set Permissions across the Resource Base list.
        """
        url = reverse('base-resources-list')
        # Admin
        self.assertTrue(self.client.login(username='******', password='******'))

        resource = ResourceBase.objects.filter(owner__username='******').first()
        set_perms_url = urljoin(
            f"{reverse('base-resources-detail', kwargs={'pk': resource.pk})}/",
            'set_perms/')
        get_perms_url = urljoin(
            f"{reverse('base-resources-detail', kwargs={'pk': resource.pk})}/",
            'get_perms/')

        url = reverse('base-resources-detail', kwargs={'pk': resource.pk})
        response = self.client.get(url, format='json')
        self.assertEqual(response.status_code, 200)
        self.assertEqual(int(response.data['resource']['pk']),
                         int(resource.pk))

        response = self.client.get(get_perms_url, format='json')
        self.assertEqual(response.status_code, 200)
        resource_perm_spec = response.data
        self.assertTrue('bobby' in resource_perm_spec['users'])
        self.assertFalse('norman' in resource_perm_spec['users'])

        # Add perms to Norman
        resource_perm_spec['users']['norman'] = resource_perm_spec['users'][
            'bobby']
        response = self.client.put(set_perms_url,
                                   data=resource_perm_spec,
                                   format='json')
        self.assertEqual(response.status_code, 200)

        response = self.client.get(get_perms_url, format='json')
        self.assertEqual(response.status_code, 200)
        resource_perm_spec = response.data
        self.assertTrue('norman' in resource_perm_spec['users'])

        # Remove perms to Norman
        resource_perm_spec['users']['norman'] = []
        response = self.client.put(set_perms_url,
                                   data=resource_perm_spec,
                                   format='json')
        self.assertEqual(response.status_code, 200)

        response = self.client.get(get_perms_url, format='json')
        self.assertEqual(response.status_code, 200)
        resource_perm_spec = response.data
        self.assertFalse('norman' in resource_perm_spec['users'])

        # Ensure get_perms and set_perms are done by users with correct permissions.
        # logout admin user
        self.assertIsNone(self.client.logout())
        # get perms
        response = self.client.get(get_perms_url, format='json')
        self.assertEqual(response.status_code, 403)
        # set perms
        response = self.client.put(set_perms_url,
                                   data=resource_perm_spec,
                                   format='json')
        self.assertEqual(response.status_code, 403)
        # login resourse owner
        # get perms
        self.assertTrue(self.client.login(username='******', password='******'))
        response = self.client.get(get_perms_url, format='json')
        self.assertEqual(response.status_code, 200)
        # set perms
        response = self.client.put(set_perms_url,
                                   data=resource_perm_spec,
                                   format='json')
        self.assertEqual(response.status_code, 200)

    def test_featured_and_published_resources(self):
        """
        Ensure we can Get & Set Permissions across the Resource Base list.
        """
        url = reverse('base-resources-list')
        # Admin
        self.assertTrue(self.client.login(username='******', password='******'))

        resources = ResourceBase.objects.filter(owner__username='******')

        url = urljoin(f"{reverse('base-resources-list')}/", 'featured/')
        response = self.client.get(url, format='json')
        self.assertEqual(response.status_code, 200)
        self.assertEqual(len(response.data), 5)
        self.assertEqual(response.data['total'], 0)
        # Pagination
        self.assertEqual(len(response.data['resources']), 0)

        resources.filter(resource_type='map').update(featured=True)
        url = urljoin(f"{reverse('base-resources-list')}/", 'featured/')
        response = self.client.get(url, format='json')
        self.assertEqual(response.status_code, 200)
        self.assertEqual(len(response.data), 5)
        self.assertEqual(response.data['total'], 2)
        # Pagination
        self.assertEqual(len(response.data['resources']), 2)

    def test_resource_types(self):
        """
        Ensure we can Get & Set Permissions across the Resource Base list.
        """
        url = urljoin(f"{reverse('base-resources-list')}/", 'resource_types/')
        response = self.client.get(url, format='json')
        r_type_names = [
            item['name'] for item in response.data['resource_types']
        ]
        self.assertEqual(response.status_code, 200)
        self.assertTrue('resource_types' in response.data)
        self.assertTrue('layer' in r_type_names)
        self.assertTrue('map' in r_type_names)
        self.assertTrue('document' in r_type_names)
        self.assertFalse('service' in r_type_names)

    @patch('PIL.Image.open', return_value=test_image)
    def test_thumbnail_urls(self, img):
        """
        Ensure the thumbnail url reflects the current active Thumb on the resource.
        """
        # Admin
        self.assertTrue(self.client.login(username='******', password='******'))

        resource = ResourceBase.objects.filter(owner__username='******').first()
        url = reverse('base-resources-detail', kwargs={'pk': resource.pk})
        response = self.client.get(url, format='json')
        self.assertEqual(response.status_code, 200)
        self.assertEqual(int(response.data['resource']['pk']),
                         int(resource.pk))
        thumbnail_url = response.data['resource']['thumbnail_url']
        self.assertIsNone(thumbnail_url)

        f = BytesIO(test_image.tobytes())
        f.name = 'test_image.jpeg'
        curated_thumbnail = CuratedThumbnail.objects.create(resource=resource,
                                                            img=File(f))

        url = reverse('base-resources-detail', kwargs={'pk': resource.pk})
        response = self.client.get(url, format='json')
        self.assertEqual(response.status_code, 200)
        self.assertEqual(int(response.data['resource']['pk']),
                         int(resource.pk))
        thumbnail_url = response.data['resource']['thumbnail_url']
        self.assertTrue(curated_thumbnail.thumbnail_url in thumbnail_url)

    def test_embed_urls(self):
        """
        Ensure the embed urls reflect the concrete instance ones.
        """
        # Admin
        self.assertTrue(self.client.login(username='******', password='******'))

        resources = ResourceBase.objects.all()
        for resource in resources:
            url = reverse('base-resources-detail', kwargs={'pk': resource.pk})
            response = self.client.get(url, format='json')
            if resource.title.endswith('metadata true'):
                self.assertEqual(response.status_code, 404)
            else:
                self.assertEqual(response.status_code, 200)
                self.assertEqual(int(response.data['resource']['pk']),
                                 int(resource.pk))
                embed_url = response.data['resource']['embed_url']
                self.assertIsNotNone(embed_url)

                instance = resource.get_real_instance()
                if hasattr(instance, 'embed_url'):
                    if instance.embed_url != NotImplemented:
                        self.assertEqual(
                            build_absolute_uri(instance.embed_url), embed_url)
                    else:
                        self.assertEqual("", embed_url)

    def test_owners_list(self):
        """
        Ensure we can access the list of owners.
        """
        url = reverse('owners-list')
        # Anonymous
        response = self.client.get(url, format='json')
        self.assertEqual(response.status_code, 200)
        self.assertEqual(response.data['total'], 8)

        # Admin
        self.assertTrue(self.client.login(username='******', password='******'))
        response = self.client.get(url, format='json')
        self.assertEqual(response.status_code, 200)
        self.assertEqual(response.data['total'], 8)
        response = self.client.get(f"{url}?type=geoapp", format='json')
        self.assertEqual(response.status_code, 200)
        self.assertEqual(response.data['total'], 0)
        response = self.client.get(f"{url}?type=layer&title__icontains=CA",
                                   format='json')
        self.assertEqual(response.status_code, 200)
        self.assertEqual(response.data['total'], 1)
        # response has link to the response
        self.assertTrue('link' in response.data['owners'][0].keys())

        # Authenticated user
        self.assertTrue(self.client.login(username='******', password='******'))
        response = self.client.get(url, format='json')
        self.assertEqual(response.status_code, 200)
        self.assertEqual(response.data['total'], 8)

    def test_categories_list(self):
        """
        Ensure we can access the list of categories.
        """
        url = reverse('categories-list')
        # Anonymous
        response = self.client.get(url, format='json')
        self.assertEqual(response.status_code, 200)
        self.assertEqual(response.data['total'], TopicCategory.objects.count())

        # Admin
        self.assertTrue(self.client.login(username='******', password='******'))
        response = self.client.get(url, format='json')
        self.assertEqual(response.status_code, 200)
        self.assertEqual(response.data['total'], TopicCategory.objects.count())
        # response has link to the response
        self.assertTrue('link' in response.data['categories'][0].keys())

        # Authenticated user
        self.assertTrue(self.client.login(username='******', password='******'))
        response = self.client.get(url, format='json')
        self.assertEqual(response.status_code, 200)
        self.assertEqual(response.data['total'], TopicCategory.objects.count())

    def test_regions_list(self):
        """
        Ensure we can access the list of regions.
        """
        url = reverse('regions-list')
        # Anonymous
        response = self.client.get(url, format='json')
        self.assertEqual(response.status_code, 200)
        self.assertEqual(response.data['total'], Region.objects.count())

        # Admin
        self.assertTrue(self.client.login(username='******', password='******'))
        response = self.client.get(url, format='json')
        self.assertEqual(response.status_code, 200)
        self.assertEqual(response.data['total'], Region.objects.count())
        # response has link to the response
        self.assertTrue('link' in response.data['regions'][0].keys())

        # Authenticated user
        self.assertTrue(self.client.login(username='******', password='******'))
        response = self.client.get(url, format='json')
        self.assertEqual(response.status_code, 200)
        self.assertEqual(response.data['total'], Region.objects.count())

    def test_keywords_list(self):
        """
        Ensure we can access the list of keywords.
        """
        url = reverse('keywords-list')
        # Anonymous
        response = self.client.get(url, format='json')
        self.assertEqual(response.status_code, 200)
        self.assertEqual(response.data['total'],
                         HierarchicalKeyword.objects.count())

        # Admin
        self.assertTrue(self.client.login(username='******', password='******'))
        response = self.client.get(url, format='json')
        self.assertEqual(response.status_code, 200)
        self.assertEqual(response.data['total'],
                         HierarchicalKeyword.objects.count())
        # response has link to the response
        self.assertTrue('link' in response.data['keywords'][0].keys())

        # Authenticated user
        self.assertTrue(self.client.login(username='******', password='******'))
        response = self.client.get(url, format='json')
        self.assertEqual(response.status_code, 200)
        self.assertEqual(response.data['total'],
                         HierarchicalKeyword.objects.count())

    def test_tkeywords_list(self):
        """
        Ensure we can access the list of thasaurus keywords.
        """
        url = reverse('tkeywords-list')
        # Anonymous
        response = self.client.get(url, format='json')
        self.assertEqual(response.status_code, 200)
        self.assertEqual(response.data['total'],
                         ThesaurusKeyword.objects.count())

        # Admin
        self.assertTrue(self.client.login(username='******', password='******'))
        response = self.client.get(url, format='json')
        self.assertEqual(response.status_code, 200)
        self.assertEqual(response.data['total'],
                         ThesaurusKeyword.objects.count())
        # response has link to the response
        self.assertTrue('link' in response.data['tkeywords'][0].keys())

        # Authenticated user
        self.assertTrue(self.client.login(username='******', password='******'))
        response = self.client.get(url, format='json')
        self.assertEqual(response.status_code, 200)
        self.assertEqual(response.data['total'],
                         ThesaurusKeyword.objects.count())
Exemplo n.º 13
0
from django.conf.urls import url
from django.views.i18n import JavaScriptCatalog

from . import admin_views
from . import fiber_admin

urlpatterns = [
    url(r'^page/(?P<id>\d+)/move_up/$', admin_views.page_move_up, name='fiber_page_move_up'),
    url(r'^page/(?P<id>\d+)/move_down/$', admin_views.page_move_down, name='fiber_page_move_down'),
    url(r'^login/$', admin_views.fiber_login, name='fiber_login'),
    url(r'^pages.json$', admin_views.pages_json, name='pages_json'),
    url(r'^fiber_admin/', fiber_admin.site.urls),
    url(r'^jsi18n/$', JavaScriptCatalog.as_view(), {'packages': 'fiber'}, name='fiber_i18n'),
]
Exemplo n.º 14
0
    # User management
    url(r"", include("socialhome.users.urls", namespace="users")),
    url(r"^accounts/", include("allauth.urls")),

    # Markdownx
    # Use our own upload view based on the MarkdownX view
    url(r"^markdownx/upload/$", MarkdownXImageUploadView.as_view(), name="markdownx_upload"),
    url(r"^markdownx/", include("markdownx.urls")),

    # Content
    url(r"^content/", include("socialhome.content.urls", namespace="content")),
    # Fallback for bookmarklet route for cross-project support
    url(r"^bookmarklet/", ContentBookmarkletView.as_view(), name="bookmarklet"),

    # JavaScript translations
    path("jsi18n/", JavaScriptCatalog.as_view(packages=['socialhome']), name="javascript-catalog"),

    # Django URLs in JS
    url(r"^jsreverse/$", urls_js, name="js_reverse"),

    # Admin pages
    url(settings.ADMIN_URL, admin.site.urls),
    url(r"^django-rq/", include("django_rq.urls")),

    # API
    url(r"^api/$", schema_view, name="api-docs"),
    url(r"^api/", include((router.urls, "api"))),
    url(r"^api/image-upload/$", ImageUploadView.as_view(), name="api-image-upload"),
    url(r"^api/streams/", include("socialhome.streams.urls.api", namespace="api-streams")),
    url(r"^api-auth/", include("rest_framework.urls", namespace="rest_framework")),
    url(r"^api-token-auth/", ObtainSocialhomeAuthToken.as_view(), name="api-token-auth"),
Exemplo n.º 15
0
    url(r'^environment/properties/values/$', management_views.environment_property_values,
        name='mgmt-environment_property_values'),

    # Report zone
    url(r'^report/', include(report_urls)),
    url(r'^report_builder/', include(report_builder_urls)),

    # Advanced search
    url(r'^advance-search/$',
        TemplateView.as_view(template_name="advanced_search/deprecation_warning.html")),
    url(r'^deprecated/advanced-search/$', advanced_search.advance_search, name='advance_search'),

    # TODO: do we need this at all ???
    # Using admin js without admin permission
    # https://docs.djangoproject.com/en/1.11/topics/i18n/translation/#django.views.i18n.JavaScriptCatalog
    url(r'^jsi18n/$', JavaScriptCatalog.as_view()),
]

# Debug zone

if settings.DEBUG:
    urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

    try:
        import debug_toolbar

        urlpatterns += [
            url(r'^__debug__/', include(debug_toolbar.urls)),
        ]
    # in case we're trying to debug in production
    # and debug_toolbar is not installed
Exemplo n.º 16
0
  url(r'favicon\.ico$', RedirectView.as_view(url='/static/favicon.ico')),
  url(r'robots\.txt$', RedirectView.as_view(url='/static/robots.txt')),

  ]

# Custom handlers for error pages.
handler404 = 'freppledb.common.views.handler404'
handler500 = 'freppledb.common.views.handler500'

# Adding urls for each installed application.
for app in settings.INSTALLED_APPS:
  try:
    mod = import_module('%s.urls' % app)
    if hasattr(mod, 'urlpatterns'):
      if getattr(mod, 'autodiscover', False):
        urlpatterns += mod.urlpatterns
  except ImportError as e:
    # Silently ignore if the missing module is called urls
    if 'urls' not in str(e):
      raise e

# Admin pages, and the Javascript i18n library.
# It needs to be added as the last item since the applications can
# hide/override some admin urls.
urlpatterns += [
  url(r'^data/', data_site.urls),
  url(r'^data/jsi18n/$', JavaScriptCatalog.as_view(packages=['django.conf', 'freppledb'])),
  url(r'^admin/jsi18n/$', JavaScriptCatalog.as_view(packages=['django.conf', 'freppledb'])),
  url(r'^api-auth/', include('rest_framework.urls', namespace='rest_framework')),
  ]
Exemplo n.º 17
0
import django
from django.conf.urls import url

from django.views.i18n import JavaScriptCatalog

javascript_catalog = JavaScriptCatalog.as_view()

from main.jet.views import add_bookmark_view, remove_bookmark_view, toggle_application_pin_view, model_lookup_view

app_name = 'jet'

urlpatterns = [
    url(r'^add_bookmark/$', add_bookmark_view, name='add_bookmark'),
    url(r'^remove_bookmark/$', remove_bookmark_view, name='remove_bookmark'),
    url(r'^toggle_application_pin/$',
        toggle_application_pin_view,
        name='toggle_application_pin'),
    url(r'^model_lookup/$', model_lookup_view, name='model_lookup'),
    url(r'^jsi18n/$',
        javascript_catalog, {'packages': 'django.contrib.admin+jet'},
        name='jsi18n'),
]

if django.VERSION[:2] < (1, 8):
    from django.conf.urls import patterns

    urlpatterns = patterns('', *urlpatterns)
Exemplo n.º 18
0
                'requests/', params={'page_size': 1})
            kwargs['user_request_count'] = response.json().get('count')
        return super().get_context_data(start_page_url=settings.START_PAGE_URL,
                                        **kwargs)


urlpatterns = i18n_patterns(
    url(r'^$', login_required(LandingView.as_view()), name='home'),
    url(r'^', include('cashbook.urls')),
    url(r'^disbursements/',
        include('disbursements.urls', namespace='disbursements')),
    url(r'^', include('mtp_auth.urls')),
    url(r'^', include('mtp_common.user_admin.urls')),
    url(r'^', include('feedback.urls')),
    url(r'^js-i18n.js$',
        cache_control(public=True, max_age=86400)(JavaScriptCatalog.as_view()),
        name='js-i18n'),
    url(
        r'^404.html$', lambda request: TemplateResponse(
            request, 'mtp_common/errors/404.html', status=404)),
    url(
        r'^500.html$', lambda request: TemplateResponse(
            request, 'mtp_common/errors/500.html', status=500)),
)

urlpatterns += [
    url(r'^ping.json$',
        PingJsonView.as_view(
            build_date_key='APP_BUILD_DATE',
            commit_id_key='APP_GIT_COMMIT',
            version_number_key='APP_BUILD_TAG',
Exemplo n.º 19
0
from django.conf.urls import url
from django.urls import path
from django.views.i18n import JavaScriptCatalog

from django.views.decorators.cache import cache_page
from django.utils import timezone
from . import views

# When we last restarted the server; used for cache control headers and
# invalidating the server side cache on server restart
last_modified_date = timezone.now()

urlpatterns = [
    path('jsi18n/',
         cache_page(86400, key_prefix='js18n-%s' % last_modified_date)(
             JavaScriptCatalog.as_view(packages=['webpush'])
         ),
         name='javascript-catalog'),
    path('save_information', views.save_info, name='save_webpush_info'),
    path('jwt/save_information', views.jwt_save_info, name='jwt_save_webpush_info'),
    # Service worker need to be loaded from same domain
    path('service-worker.js', views.ServiceWorkerView.as_view(), name='service_worker')
]
Exemplo n.º 20
0
        groups.groups_delete,
        name='groups_delete'),

    # Journal urls
    url(r'^journal/(?P<pk>\d+)?/?$',
        journal.JournalView.as_view(),
        name='journal'),

    # Exams urls
    url(r'^exams/$', exams.exams_list, name='exams'),

    # Contact_admin url
    url(r'^contact-admin/$', contact_admin.contact_admin,
        name='contact_admin'),
    url(r'^jsi18n\.js$',
        JavaScriptCatalog.as_view(packages=['students']),
        name='javascript-catalog'),
    url(r'^admin/', include(admin.site.urls)),

    # User Related urls
    url(r'^users/profile/$',
        login_required(
            TemplateView.as_view(template_name='registration/profile.html')),
        name='profile'),
    url(r'^users/logout/$',
        auth_views.logout,
        kwargs={'next_page': 'home'},
        name='auth_logout'),
    url(r'^register/complete/$',
        RedirectView.as_view(pattern_name='home'),
        name='registration_complete'),
Exemplo n.º 21
0
from . import views
from ...users.forms.auth import AdminAuthenticationForm

admin.autodiscover()
admin.site.login_form = AdminAuthenticationForm

urlpatterns = [
    url(r"^", include("social_django.urls", namespace="social")),
    url(r"^forum/", include("misago.urls", namespace="misago")),
    url(r"^django-admin/", admin.site.urls),
    url(
        r"^django-i18n.js$",
        cache_page(86400 * 2, key_prefix="misagojsi18n")(
            last_modified(lambda req, **kw: timezone.now())(
                JavaScriptCatalog.as_view(packages=["misago"]))),
        name="django-i18n",
    ),
    url(r"^forum/test-pagination/$",
        views.test_pagination,
        name="test-pagination"),
    url(
        r"^forum/test-pagination/(?P<page>[1-9][0-9]*)/$",
        views.test_pagination,
        name="test-pagination",
    ),
    url(
        r"^forum/test-paginated-response/$",
        views.test_paginated_response,
        name="test-paginated-response",
    ),
Exemplo n.º 22
0
from django.conf.urls import include
from django.conf.urls.i18n import i18n_patterns
from django.contrib import admin
from django.contrib.sitemaps.views import sitemap
from django.contrib.staticfiles.urls import staticfiles_urlpatterns
from django.urls import path
from django.views.i18n import JavaScriptCatalog
from django.views.static import serve

from djangocms_blog.sitemaps import BlogSitemap

admin.autodiscover()

urlpatterns = [
    path("media/<str:path>", serve, {"document_root": settings.MEDIA_ROOT, "show_indexes": True}),
    path("jsi18n/", JavaScriptCatalog.as_view(), name="javascript-catalog"),
    path("taggit_autosuggest/", include("taggit_autosuggest.urls")),
    path("itemap.xml", sitemap, {"sitemaps": {"cmspages": CMSSitemap, "blog": BlogSitemap}}),
]

urlpatterns += staticfiles_urlpatterns()

if "server" not in sys.argv:
    urlpatterns += i18n_patterns(
        path("blog/", include("djangocms_blog.urls")),
    )
urlpatterns += i18n_patterns(
    path("admin/", admin.site.urls),
    path("", include("cms.urls")),
)
Exemplo n.º 23
0
from django.conf.urls import include, url
from django.views.decorators.cache import cache_page
from django.views.i18n import JavaScriptCatalog
from kanisa.views import KanisaIndexView
from kanisa.views.public.seasonal import seasonal_view


urlpatterns = [
    url(r'^$', KanisaIndexView.as_view(), {}, 'kanisa_public_index'),
    url(r'^banners/', include('kanisa.urls.public.banners')),
    url(r'^blog/', include('kanisa.urls.public.blog')),
    url(r'^christmas/$', seasonal_view, {'season': 'christmas'},
        'kanisa_public_seasonal'),
    url(r'^diary/', include('kanisa.urls.public.diary')),
    url(r'^easter/$', seasonal_view, {'season': 'easter'},
        'kanisa_public_seasonal'),
    url(r'^jsi18n/$',
        cache_page(86400, key_prefix='js18n')(JavaScriptCatalog.as_view(
            packages=['recurrence']
        )),
        name='javascript-catalog'),
    url(r'^manage/', include('kanisa.urls.management')),
    url(r'^members/', include('kanisa.urls.members')),
    url(r'^search/', include('kanisa.urls.public.search')),
    url(r'^sermons/', include('kanisa.urls.public.sermons')),
    url(r'^xhr/', include('kanisa.urls.xhr')),
]
Exemplo n.º 24
0

admin.autodiscover()
admin.site.login_form = AdminAuthenticationForm


urlpatterns = [
    url(r'^', include('misago.urls', namespace='misago')),

    # Javascript translations
    url(
        r'^django-i18n.js$',
        last_modified(lambda req, **kw: timezone.now())(
            cache_page(86400 * 2, key_prefix='misagojsi18n')(
                JavaScriptCatalog.as_view(
                    packages=['misago'],
                ),
            ),
        ),
        name='django-i18n',
    ),

    # Uncomment next line if you plan to use Django admin for 3rd party apps
    #url(r'^django-admin/', admin.site.urls),
]


# If debug mode is enabled, include debug toolbar
if settings.DEBUG:
    import debug_toolbar
    urlpatterns += [
Exemplo n.º 25
0
from django.contrib import admin
from django.conf.urls.static import static
from django.conf import settings
from django.conf.urls.i18n import i18n_patterns
from django.utils.translation import gettext_lazy as _
from django.views.i18n import JavaScriptCatalog
from django.views.generic import TemplateView

from machina import urls as machina_urls

admin.autodiscover()

urlpatterns = [
    path('i18n/', include('django.conf.urls.i18n')),
    path('jsi18n/',
         JavaScriptCatalog.as_view(domain="django"),
         name='javascript-catalog'),
    path('comments/default/', include('django_comments.urls')),
    path('api-auth/', include('rest_framework.urls',
                              namespace='rest_framework')),
    path('reviews/', include('reviews.urls')),
    path('.well-known/', include('letsencrypt.urls')),
    path('.well-known/', include('diventi.brave.urls')),
    path('__debug__/', include(debug_toolbar.urls)),
]

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

urlpatterns += [
    path('payments/', include('diventi.payments.urls', namespace='payments')),
    path('apps/', include('diventi.products.urls', namespace='products_retro')
Exemplo n.º 26
0
        name='public_map'),
    url(r'^public/task/(?P<task_pk>[^/.]+)/iframe/map/$',
        public_views.map_iframe,
        name='public_iframe_map'),
    url(r'^public/task/(?P<task_pk>[^/.]+)/3d/$',
        public_views.model_display,
        name='public_3d'),
    url(r'^public/task/(?P<task_pk>[^/.]+)/iframe/3d/$',
        public_views.model_display_iframe,
        name='public_iframe_3d'),
    url(r'^public/task/(?P<task_pk>[^/.]+)/json/$',
        public_views.task_json,
        name='public_json'),
    url(r'^processingnode/([\d]+)/$',
        app_views.processing_node,
        name='processing_node'),
    url(r'^api/', include("app.api.urls")),
    url(r'^plugins/(?P<plugin_name>[^/.]+)/(.*)$', app_view_handler),
    url(r'^about/$', app_views.about, name='about'),
    url(r'^dev-tools/(?P<action>.*)$', dev_views.dev_tools, name='dev_tools'),

    # TODO: add caching: https://docs.djangoproject.com/en/3.1/topics/i18n/translation/#note-on-performance
    url(r'^jsi18n/',
        JavaScriptCatalog.as_view(packages=['app']),
        name='javascript-catalog'),
    url(r'^i18n/', include('django.conf.urls.i18n')),
] + root_url_patterns()

handler404 = app_views.handler404
handler500 = app_views.handler500
Exemplo n.º 27
0
from django.conf import settings
from django.conf.urls import url, include
from django.utils.module_loading import import_string, autodiscover_modules
from django.views.i18n import JavaScriptCatalog
from django.views.static import serve

from djangofloor import urls
from djangofloor.scripts import load_celery
from djangofloor.utils import get_view_from_string
from djangofloor.views import favicon, robots

__author__ = "Matthieu Gallet"

load_celery()

catalog_view = JavaScriptCatalog.as_view(packages=settings.DF_JS_CATALOG_VIEWS)
urlpatterns = [
    url(r"jsi18n/$", catalog_view, name="jsi18n"),
    url(
        r"%s(?P<path>.*)$" % settings.MEDIA_URL[1:],
        serve,
        {"document_root": settings.MEDIA_ROOT},
    ),
    url(
        r"%s(?P<path>.*)$" % settings.STATIC_URL[1:],
        serve,
        {"document_root": settings.STATIC_ROOT},
    ),
    url(r"df/", include(urls, namespace="df")),
    url(r"robots\.txt$", robots),
    url(
Exemplo n.º 28
0
         name='plot_aggregate'),
    path('ajax/model-options/',
         ajax_aggregates_meta_view,
         name="ajax_load_model_options"),
    ## Trend Routing
    path('analyze/plot/trend/', PlotTrendView.as_view(), name='plot_trend'),
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

js_info_dict = {
    'domain': 'djangojs',
    'packages': ('quorem', ),
}

try:
    from django.views.i18n import JavaScriptCatalog
    urlpatterns += [
        url(r'^jsi18n/$',
            JavaScriptCatalog.as_view(**js_info_dict),
            name='javascript-catalog'),
    ]
except ImportError:
    from django.views.i18n import javascript_catalog
    urlpatterns += [
        url(
            r'^jsi18n/$',
            javascript_catalog,
            js_info_dict,
            name='javascript-catalog',
        )
    ]
Exemplo n.º 29
0
urlpatterns = i18n_patterns(
    url(r'^blog/', include('ideascube.blog.urls')),
    url(r'^library/', include('ideascube.library.urls')),
    url(r'^search/', include('ideascube.search.urls')),
    url(r'^mediacenter/', include('ideascube.mediacenter.urls')),
    url(r'^monitoring/', include('ideascube.monitoring.urls')),
    url(r'^$', views.index, name='index'),
    url(r'^welcome_staff/$', views.welcome_staff, name='welcome_staff'),
    url(r'^server/', include('ideascube.serveradmin.urls')),
    url(r'^login/$', auth_views.login, name='login'),
    url(r'^logout/$', auth_views.logout, kwargs={"next_page": "/"},
        name='logout'),
    url(r'^user/$', views.user_list, name='user_list'),
    url(r'^user/(?P<pk>[\d]+)/$', views.user_detail, name='user_detail'),
    url(r'^user/(?P<pk>[\d]+)/edit/$', views.user_update, name='user_update'),
    url(r'^user/(?P<pk>[\d]+)/set-password/$', views.set_password,
        name='user_set_password'),
    url(r'^user/new/$', views.user_create, name='user_create'),
    url(r'^user/export/$', views.user_export, name='user_export'),
    url(r'^user/import/$', views.user_import, name='user_import'),
    url(r'^user/(?P<pk>[\d]+)/delete/$',
        views.user_delete, name='user_delete'),
    url(r'^user/(?P<pk>[\d]+)/toggle-staff/$',
        views.user_toggle_staff, name='user_toggle_staff'),
    url(r'^jsi18n/$', JavaScriptCatalog.as_view(packages=['ideascube']), name='jsi18n'),
)
urlpatterns = urlpatterns + [
    url(r'^i18n/', include('django.conf.urls.i18n')),
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
Exemplo n.º 30
0
        def create_js_catalog_url():
            packages = ['django_mptt_admin']
            url_pattern = r'^jsi18n/$'

            return create_url(url_pattern, 'jsi18n', JavaScriptCatalog.as_view(packages=packages), cacheable=True)
Exemplo n.º 31
0
    # App versions.
    url(r'pages/appversions/', include('olympia.applications.urls')),

    # Services
    url(r'', include('olympia.amo.urls')),

    # Search
    url(r'^search/', include('olympia.search.urls')),

    # Javascript translations.
    # Should always be called with a cache-busting querystring.
    # Still served for the moment, but superseded by a fully static version we
    # generate at deploy-time through our generate_jsi18n_files command.
    url(r'^jsi18n\.js$',
        cache_page(60 * 60 * 24 * 365)(JavaScriptCatalog.as_view()),
        {'domain': 'djangojs', 'packages': []}, name='jsi18n'),

    # API v3+.
    url(r'^api/', include('olympia.api.urls')),

    # Redirect for all global stats URLs.
    url(r'^statistics/', lambda r: redirect('/'), name='statistics.dashboard'),

    # Redirect patterns.
    url(r'^bookmarks/?$',
        lambda r: redirect('browse.extensions', 'bookmarks', permanent=True)),

    url(r'^reviews/display/(\d+)',
        lambda r, id: redirect('addons.ratings.list', id, permanent=True)),
Exemplo n.º 32
0
"""ImageCollector2 URL Configuration

The `urlpatterns` list routes URLs to views. For more information please see:
    https://docs.djangoproject.com/en/2.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 include
from django.conf.urls import url
from django.views.i18n import JavaScriptCatalog

urlpatterns = [
    url(r'^jsi18n', JavaScriptCatalog.as_view(), name="javascript-catalog"),
    url(r'^i18n/', include('django.conf.urls.i18n')),
    url(r'^collector/', include('collector.urls')),
    url(r'^admin/', admin.site.urls),
]


Exemplo n.º 33
0
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.urls import include, path
from django.views import defaults as default_views
from django.views.i18n import JavaScriptCatalog
from graphene_django.views import GraphQLView

urlpatterns = [
    url(r'^graphql$', GraphQLView.as_view(graphiql=True)),
    url(r"", include("thefederation.urls")),

    # JavaScript translations
    path("jsi18n/",
         JavaScriptCatalog.as_view(packages=['thefederation']),
         name="javascript-catalog"),

    # Admin pages
    url(settings.ADMIN_URL, admin.site.urls),
    url(r"^django-rq/", include("django_rq.urls")),
    url(r'^_silk/', include('silk.urls', namespace='silk')),
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

if settings.DEBUG:
    # This allows the error pages to be debugged during development, just visit
    # these url in browser to see how these error pages look like.
    urlpatterns += [
        url(r"^400/$",
            default_views.bad_request,
            kwargs={"exception": Exception("Bad Request!")}),
Exemplo n.º 34
0
# -*- coding: utf-8 -*-
#
from django.conf import settings
from django.urls import path, re_path, include
from django.views.i18n import JavaScriptCatalog
from . import views

urlpatterns=[
   re_path(r'^login/?$', views.login, name='login'),
   re_path(r'^logout/?$', views.logout, name='logout'),

   re_path(r'^users/?$', views.users, name='users'),
   re_path(r'^users/(?P<user>[^/]*)/?$', views.user, name='user'),
   re_path(r'^users/(?P<user>[^/]*)/prefs/?$', views.prefs, name='prefs'),
   re_path(r'^users/(?P<user>[^/]*)/prefs/(?P<prefId>[^/]*)/?$', views.pref, name='pref'),

   re_path(r'^ajax/users/?$', views.ajaxUsers, name='ajax-users'),
   re_path(r'^ajax/pref/(?P<name>[^/]+)/?$', views.ajaxPref, name='ajax-pref'),     #It can be disabled in WF-AJAX_PREF
   re_path(r'^ajax/prefs/(?P<name>[^/]+)/?$', views.ajaxPrefs, name='ajax-prefs'),  #It can be disabled in WF-AJAX_PREFS

   re_path('jsi18n/', JavaScriptCatalog.as_view(domain='django', packages=['webframe',]), name='js'),
] 
Exemplo n.º 35
0
    # Ticket authentication related
    re_path(r'^uds/page/ticket/auth/(?P<ticketId>[a-zA-Z0-9-])$', uds.web.views.ticketAuth, name='page.ticket.auth'),
    path(r'uds/page/ticket/launcher', uds.web.views.modern.index, name='page.ticket.launcher'),

    # This must be the last, so any patition will be managed by client in fact
    re_path(r'uds/page/.*', uds.web.views.modern.index, name='page.placeholder'),

    # Utility
    path('uds/utility/closer', uds.web.views.service.closer, name='utility.closer'),

    # Javascript
    path(r'uds/utility/uds.js', uds.web.views.modern.js, name="utility.js"),

    # i18n
    re_path(r'^uds/utility/i18n/(?P<lang>[a-z_-]*).js$', JavaScriptCatalog.as_view(), name='utility.jsCatalog'),
    path(r'uds/utility/i18n/', include('django.conf.urls.i18n')),

    # Downloader
    re_path(r'^uds/utility/download/(?P<idDownload>[a-zA-Z0-9-]*)$', uds.web.views.download, name='utility.downloader'),

    # WEB API path (not REST api, frontend)
    re_path(r'^uds/webapi/img/transport/(?P<idTrans>[a-zA-Z0-9-]+)$', uds.web.views.transportIcon, name='webapi.transportIcon'),
    re_path(r'^uds/webapi/img/gallery/(?P<idImage>[a-zA-Z0-9-]+)$', uds.web.views.image, name='webapi.galleryImage'),

    re_path(r'^uds/webapi/action/(?P<idService>.+)/enable/(?P<idTransport>[a-zA-Z0-9-]+)$', uds.web.views.userServiceEnabler, name='webapi.enabler'),

    re_path(r'^uds/webapi/action/(?P<idService>.+)/(?P<action>[a-zA-Z0-9-]+)$', uds.web.views.action, name='webapi.action'),

    # Services list, ...
    path(r'uds/webapi/services', uds.web.views.modern.servicesData, name='webapi.services'),
Exemplo n.º 36
0
from django.conf import settings
from django.conf.urls import include, url, static

from django.contrib import admin
from django.views.i18n import JavaScriptCatalog

from test_app.views import root, AuthorAutocomplete

admin.autodiscover()


urlpatterns = [
    url(r'^$', root),
    url(r'^author_autocomplete/$', AuthorAutocomplete.as_view(), name="author-autocomplete"),
    url(r'^multiseek/', include(('multiseek.urls', 'multiseek'), namespace="multiseek")),

    url(r'^admin/', admin.site.urls),

    url(r'^i18n/$',
        JavaScriptCatalog.as_view(packages=['multiseek']),
        name="js_i18n_catalog")

] + static.static(settings.STATIC_URL,
                  document_root=settings.STATIC_ROOT,
                  show_indexes=True)
Exemplo n.º 37
0
app_view_patterns = [
    path('users/', include('users.urls.views_urls', namespace='users')),
    path('assets/', include('assets.urls.views_urls', namespace='assets')),
    path('perms/', include('perms.urls.views_urls', namespace='perms')),
    path('terminal/', include('terminal.urls.views_urls', namespace='terminal')),
    path('ops/', include('ops.urls.view_urls', namespace='ops')),
    path('audits/', include('audits.urls.view_urls', namespace='audits')),
    path('orgs/', include('orgs.urls.views_urls', namespace='orgs')),
    path('auth/', include('authentication.urls.view_urls'), name='auth'),
]

if settings.XPACK_ENABLED:
    app_view_patterns.append(path('xpack/', include('xpack.urls', namespace='xpack')))

js_i18n_patterns = i18n_patterns(
    path('jsi18n/', JavaScriptCatalog.as_view(), name='javascript-catalog'),
)

urlpatterns = [
    path('', IndexView.as_view(), name='index'),
    path('luna/', LunaView.as_view(), name='luna-error'),
    path('i18n/<str:lang>/', I18NView.as_view(), name='i18n-switch'),
    path('settings/', include('common.urls.view_urls', namespace='settings')),
    path('common/', include('common.urls.view_urls', namespace='common')),
    path('api/v1/', redirect_format_api),
    path('api/', include(v1_api_patterns)),

    # External apps url
    path('captcha/', include('captcha.urls')),
]
urlpatterns += app_view_patterns
Exemplo n.º 38
0
from django.urls import include, re_path
from django.views.i18n import JavaScriptCatalog

urlpatterns = [
    re_path(r'^', include('course_grader.urls')),
    re_path(r'^saml/', include('uw_saml.urls')),
    re_path(r'^support/?', include('userservice.urls')),
    re_path(r'^persistent_message/', include('persistent_message.urls')),
    re_path(r'^jsi18n/$', JavaScriptCatalog.as_view(packages=['grade_conversion_calculator', 'course_grader']), name='javascript-catalog')
]
Exemplo n.º 39
0
    url(r"^dashboard/", include((dashboard_urls, "dashboard"), namespace="dashboard")),
    url(r"^graphql/", csrf_exempt(GraphQLView.as_view(schema=schema)), name="api"),
    url(
        r"^sitemap\.xml$",
        sitemap,
        {"sitemaps": sitemaps},
        name="django.contrib.sitemaps.views.sitemap",
    ),
    url(r"^i18n/$", set_language, name="set_language"),
    url("", include("social_django.urls", namespace="social")),
]

translatable_urlpatterns = [
    url(r"^", include(core_urls)),
    url(r"^checkout/", include((checkout_urls, "checkout"), namespace="checkout")),
    url(r"^jsi18n/$", JavaScriptCatalog.as_view(), name="javascript-catalog"),
    url(r"^order/", include((order_urls, "order"), namespace="order")),
    url(r"^page/", include((page_urls, "page"), namespace="page")),
    url(r"^products/", include((product_urls, "product"), namespace="product")),
    url(r"^account/", include((account_urls, "account"), namespace="account")),
    url(r"^feeds/", include((feed_urls, "data_feeds"), namespace="data_feeds")),
    url(r"^search/", include((search_urls, "search"), namespace="search")),
]

urlpatterns = non_translatable_urlpatterns + i18n_patterns(*translatable_urlpatterns)

if settings.DEBUG:
    import debug_toolbar

    urlpatterns += [
        url(r"^__debug__/", include(debug_toolbar.urls)),
Exemplo n.º 40
0
 def i18n_javascript(self, request):
     """
     Displays the i18n JavaScript that the Django admin requires.
     """
     return JavaScriptCatalog.as_view(packages=["django.contrib.admin"])(request)
Exemplo n.º 41
0
from cms.test_utils.project.sampleapp.forms import LoginForm, LoginForm2, LoginForm3
from cms.test_utils.project.placeholderapp.views import example_view, latest_view
from cms.test_utils.project.sampleapp.views import plain_view

admin.autodiscover()

urlpatterns = [
    url(r'^media/(?P<path>.*)$', serve, {
        'document_root': settings.MEDIA_ROOT,
        'show_indexes': True
    }),
    url(r'^media/cms/(?P<path>.*)$', serve, {
        'document_root': get_cms_setting('MEDIA_ROOT'),
        'show_indexes': True
    }),
    url(r'^jsi18n/(?P<packages>\S+?)/$', JavaScriptCatalog.as_view()),
]

urlpatterns += staticfiles_urlpatterns()

urlpatterns += i18n_patterns(
    url(r'^sample/login_other/$',
        LoginView.as_view(),
        kwargs={'authentication_form': LoginForm2}),
    url(r'^sample/login/$',
        LoginView.as_view(),
        kwargs={'authentication_form': LoginForm}),
    url(r'^sample/login3/$',
        LoginView.as_view(),
        kwargs={'authentication_form': LoginForm3}),
    url(r'^admin/', admin.site.urls),
Exemplo n.º 42
0
]

urlpatterns = AUTH_URLS + WELL_KNOWN_URLS + [
    url(r'^admin/', include(admin.site.urls)),
    url(r'^auto_auth/$', core_views.AutoAuth.as_view(), name='auto_auth'),
    url(r'^api-auth/', include(AUTH_URLS, namespace='rest_framework')),
    url(r'^api-docs/',
        get_swagger_view(title='Ecommerce API'),
        name='api_docs'),
    url(r'^courses/', include('ecommerce.courses.urls', namespace='courses')),
    url(r'^credit/', include('ecommerce.credit.urls', namespace='credit')),
    url(r'^coupons/', include('ecommerce.coupons.urls', namespace='coupons')),
    url(r'^health/$', core_views.health, name='health'),
    url(r'^i18n/', include('django.conf.urls.i18n')),
    url(r'^jsi18n/$',
        JavaScriptCatalog.as_view(packages=['courses']),
        name='javascript-catalog'),
    url(r'^management/',
        include('ecommerce.management.urls', namespace='management')),
    url(r'^payment-bff/',
        include('ecommerce.payment_bff.urls', namespace='payment_bff')),
    url(r'^programs/', include('ecommerce.programs.urls',
                               namespace='programs')),
    url(r'^enterprise/',
        include('ecommerce.enterprise.urls', namespace='enterprise')),
    url(r'^journals/',
        include('ecommerce.journals.urls',
                namespace='journals')),  # TODO: journals dependency
]

# Install Oscar extension URLs
Exemplo n.º 43
0
from misago.users.forms.auth import AdminAuthenticationForm


admin.autodiscover()
admin.site.login_form = AdminAuthenticationForm


urlpatterns = [
    url(r"^", include("misago.urls", namespace="misago")),
    url(r"^", include("social_django.urls", namespace="social")),
    # Javascript translations
    url(
        r"^django-i18n.js$",
        last_modified(lambda req, **kw: timezone.now())(
            cache_page(86400 * 2, key_prefix="misagojsi18n")(
                JavaScriptCatalog.as_view(packages=["misago"])
            )
        ),
        name="django-i18n",
    ),
    # Uncomment next line if you plan to use Django admin for 3rd party apps
    url(r"^django-admin/", admin.site.urls),
]


# If debug mode is enabled, include debug toolbar
if settings.DEBUG:
    import debug_toolbar

    urlpatterns += [url(r"^__debug__/", include(debug_toolbar.urls))]
Exemplo n.º 44
0
from django.views.i18n import JavaScriptCatalog

from misago.users.forms.auth import AdminAuthenticationForm

admin.autodiscover()
admin.site.login_form = AdminAuthenticationForm

urlpatterns = [
    url(r'^', include('misago.urls', namespace='misago')),
    url(r'^', include('social_django.urls', namespace='social')),

    # Javascript translations
    url(
        r'^django-i18n.js$',
        last_modified(lambda req, **kw: timezone.now())(cache_page(
            86400 * 2, key_prefix='misagojsi18n')(JavaScriptCatalog.as_view(
                packages=['misago'], ), ), ),
        name='django-i18n',
    ),

    # Uncomment next line if you plan to use Django admin for 3rd party apps
    #url(r'^django-admin/', admin.site.urls),
]

# If debug mode is enabled, include debug toolbar
if settings.DEBUG:
    import debug_toolbar
    urlpatterns += [
        url(r'^__debug__/', include(debug_toolbar.urls)),
    ]

# Use static file server for static and media files (debug only)
            **kwargs
        )


urlpatterns = i18n_patterns(
    url(r'^$', login_required(LandingView.as_view()), name='home'),

    url(r'^', include('cashbook.urls')),
    url(r'^disbursements/', include('disbursements.urls', namespace='disbursements')),

    url(r'^', include('mtp_auth.urls')),
    url(r'^', include('mtp_common.user_admin.urls')),

    url(r'^', include('feedback.urls')),

    url(r'^js-i18n.js$', cache_control(public=True, max_age=86400)(JavaScriptCatalog.as_view()), name='js-i18n'),

    url(r'^404.html$', lambda request: TemplateResponse(request, 'mtp_common/errors/404.html', status=404)),
    url(r'^500.html$', lambda request: TemplateResponse(request, 'mtp_common/errors/500.html', status=500)),
)

urlpatterns += [
    url(r'^ping.json$', PingJsonView.as_view(
        build_date_key='APP_BUILD_DATE',
        commit_id_key='APP_GIT_COMMIT',
        version_number_key='APP_BUILD_TAG',
    ), name='ping_json'),
    url(r'^healthcheck.json$', HealthcheckView.as_view(), name='healthcheck_json'),

    url(r'^favicon.ico$', RedirectView.as_view(url=settings.STATIC_URL + 'images/favicon.ico', permanent=True)),
    url(r'^robots.txt$', lambda request: HttpResponse('User-agent: *\nDisallow: /', content_type='text/plain')),
Exemplo n.º 46
0
    # Top Level Pages
    path('donations/',
        tournaments.views.DonationsView.as_view(),
        name='donations'),
    path('style/',
        tournaments.views.StyleGuideView.as_view(),
        name='style-guide'),

    # Set language override
    path('i18n/',
        include('django.conf.urls.i18n')),

    # JS Translations Catalogue; includes all djangojs files in locale folders
    path('jsi18n/',
         JavaScriptCatalog.as_view(domain="djangojs", ),
         name='javascript-catalog'),

    # Summernote (WYSYWIG)
    path('summernote/',
        include('django_summernote.urls')),

    # Admin area
    path('jet/',
        include('jet.urls', 'jet')),
    path('database/',
        admin.site.urls),

    # Accounts
    path('accounts/logout/',
        auth_views.LogoutView.as_view(),
Exemplo n.º 47
0
router.register(r'softwares', SoftwareViewSet)
router.register(r'hardwares', HardwareViewSet)
router.register(r'installations', InstallationViewSet)

admin.autodiscover()

urlpatterns = [
    url(r'^$', views.home, name="home"),
    url(r'^api/', include(router.urls)),
    url(r'^report$', views.generic_report, name='generic_report'),
    url(r'^create-event/$', views.create_event, name="create_event"),
    url(r'^events/', include('manager.urls.events'), name='events'),
    url(r'^tags/', include('manager.urls.event_tags'), name='event_tags'),
    url(r'^admin/', include(admin.site.urls), name='admin'),
    url(r'^forms/', include(forms_builder.forms.urls)),
    url(r'^ckeditor/', include('ckeditor_uploader.urls'), name='ckeditor'),
    url(r'^accounts/profile/',
        TemplateView.as_view(template_name='account/profile.html'),
        name="user_profile"),
    url(r'^accounts/', include('allauth.urls')),
    url(r'^captcha/', include('captcha.urls')),
    url(r'^jsi18n/$', JavaScriptCatalog.as_view(),
        {'domain': 'djangojs', 'packages': None}, name='javascript-catalog'),
    url(r'^i18n/', include('django.conf.urls.i18n')),
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)


if settings.DEBUG:
    import debug_toolbar
    urlpatterns += [url(r'^__debug__/', include(debug_toolbar.urls))]
Exemplo n.º 48
0
from django.views.decorators.cache import cache_page
from django.views.generic.base import RedirectView
from django.views.i18n import JavaScriptCatalog
from rest_framework_simplejwt.views import token_obtain_pair, token_refresh

from .rest_framework.views import DownloadUrlView, UploadParamsView

# Django
urlpatterns = [
    path('admin/', admin.site.urls),
    path('i18n/', include('django.conf.urls.i18n')),
    path('jsi18n/',
         cache_page(
             86400,
             key_prefix=f'js18n-{datetime.datetime.now().strftime("%Y%m%d")}')(
                 JavaScriptCatalog.as_view()),
         name='javascript-catalog')
]
# Vendor
urlpatterns += [
    path('api-auth/', include('rest_framework.urls')),
    path('api/token/', token_obtain_pair, name='token_obtain_pair'),
    path('api/token/refresh/', token_refresh, name='token_refresh'),
    # path('search/', include('haystack.urls'))
]
# Railgun S
urlpatterns += [
    re_path(r'^download-url/(?P<cloud>(aliyun|aws))/$',
            DownloadUrlView.as_view(),
            name='download-url'),
    re_path(r'^upload-params/(?P<cloud>(aliyun|aws))/$',
Exemplo n.º 49
0
import django
from django.conf.urls import url

try:
    from django.views.i18n import JavaScriptCatalog
    javascript_catalog = JavaScriptCatalog.as_view()
except ImportError:  # Django < 2.0
    from django.views.i18n import javascript_catalog

from jet.views import add_bookmark_view, remove_bookmark_view, toggle_application_pin_view, model_lookup_view


app_name = 'jet'

urlpatterns = [
    url(
        r'^add_bookmark/$',
        add_bookmark_view,
        name='add_bookmark'
    ),
    url(
        r'^remove_bookmark/$',
        remove_bookmark_view,
        name='remove_bookmark'
    ),
    url(
        r'^toggle_application_pin/$',
        toggle_application_pin_view,
        name='toggle_application_pin'
    ),
    url(
Exemplo n.º 50
0
try:
    from django.urls import path
except ImportError:
    pass

try:
    from django.views.i18n import javascript_catalog

    jstrans = url(r"^jsi18n/$", javascript_catalog, name="javascript-catalog")
except ImportError:
    from django.views.i18n import JavaScriptCatalog

    jstrans = path(
        "jsi18n/",
        JavaScriptCatalog.as_view(packages=["socialhome"]),
        name="javascript-catalog",
    )


urlpatterns = [
    url(r"^admin/", admin.site.urls),
    jstrans,
]
{% if cookiecutter.with_apptest%}

if "apptest" in settings.INSTALLED_APPS:  # pragma: nobranch
    urlpatterns += [
        url(r"^test", include("apptest.urls")),
    ]
{%endif%}
Exemplo n.º 51
0
from kirppu.views import index, MobileRedirect

# Uncomment the next two lines to enable the admin:
from django.contrib import admin
admin.autodiscover()

js_packages = (
    'kirppu',
)

last_modified_date = timezone.now()

urlpatterns = [
    path('', index, name='home'),
    path(r'kirppu/', include('kirppu.urls', namespace="kirppu")),
    path(r'accounts/', include('kirppuauth.urls', namespace="kirppuauth")),

    # Uncomment the admin/doc line below to enable admin documentation:
    # url(r'^admin/doc/', include('django.contrib.admindocs.urls')),

    # Uncomment the next line to enable the admin:
    path(r'admin/', admin.site.urls),
    path(r'i18n/', include('django.conf.urls.i18n')),
    path(r'jsi18n/', last_modified(lambda req, **kw: last_modified_date)(
        JavaScriptCatalog.as_view(packages=js_packages)),
        name="javascript-catalog"),
    re_path(r'^m/?$', MobileRedirect.as_view()),
    path('', include('kompassi_oauth2.urls')),
]
Exemplo n.º 52
0
from django.conf.urls.static import static
from django.contrib import admin
from django.urls import path
from django.views.i18n import JavaScriptCatalog

from artifacts import views
from users import views as user_views

urlpatterns = [
    path('admin/', admin.site.urls),
]

if settings.DEBUG:
    urlpatterns += static(settings.STATIC_URL,
                          document_root=settings.STATIC_ROOT)
    urlpatterns += static(settings.MEDIA_URL,
                          document_root=settings.MEDIA_ROOT)

urlpatterns += i18n_patterns(
    path('', views.HomeView.as_view(), name='home'),
    path('register/', user_views.UserFormView.as_view(), name='register'),
    path('contact', user_views.ContactView.as_view(), name='contact'),
    path('about', views.AboutView.as_view(), name='about'),
    path('artifact/', include('artifacts.urls')),
    path('accounts/', include('authtools.urls')),
    path('jsi18n/',
         JavaScriptCatalog.as_view(packages=['artifacts']),
         name='javascript-catalog'),
    path('i18n/', include('django.conf.urls.i18n')),
)
Exemplo n.º 53
0
    # App versions.
    url(r'pages/appversions/', include('olympia.applications.urls')),

    # Services
    url(r'', include('olympia.amo.urls')),

    # Search
    url(r'^search/', include('olympia.search.urls')),

    # Javascript translations.
    # Should always be called with a cache-busting querystring.
    # Still served for the moment, but superseded by a fully static version we
    # generate at deploy-time through our generate_jsi18n_files command.
    url(r'^jsi18n\.js$',
        cache_page(60 * 60 * 24 * 365)(JavaScriptCatalog.as_view()),
        {'domain': 'djangojs', 'packages': []}, name='jsi18n'),

    # API v3+.
    url(r'^api/', include('olympia.api.urls')),

    # Site statistics that we are going to catch, the rest will fall through.
    url(r'^statistics/', include('olympia.stats.urls')),

    # Fall through for any URLs not matched above stats dashboard.
    url(r'^statistics/', lambda r: redirect('/'), name='statistics.dashboard'),

    # Redirect patterns.
    url(r'^bookmarks/?$',
        lambda r: redirect('browse.extensions', 'bookmarks', permanent=True)),
Exemplo n.º 54
0
        r"^sitemap\.xml$",
        sitemap,
        {"sitemaps": sitemaps},
        name="django.contrib.sitemaps.views.sitemap",
    ),
    url(r"^i18n/$", set_language, name="set_language"),
    url("", include("social_django.urls", namespace="social")),
    url(r"^stream/course/(?P<product_pk>[0-9]+)/video/(?P<video_pk>[0-9]+)/$",
        product_views.stream_video),
]

translatable_urlpatterns = [
    url(r"^", include(core_urls)),
    url(r"^checkout/",
        include((checkout_urls, "checkout"), namespace="checkout")),
    url(r"^jsi18n/$", JavaScriptCatalog.as_view(), name="javascript-catalog"),
    url(r"^order/", include((order_urls, "order"), namespace="order")),
    url(r"^page/", include((page_urls, "page"), namespace="page")),
    url(r"^account/", include((account_urls, "account"), namespace="account")),
    url(r"^feeds/", include((feed_urls, "data_feeds"),
                            namespace="data_feeds")),
    url(r"^search/", include((search_urls, "search"), namespace="search")),
    url(r"^courses/", include((product_urls, "product"), namespace="product")),
]

urlpatterns = non_translatable_urlpatterns + i18n_patterns(
    *translatable_urlpatterns)

if settings.DEBUG:
    try:
        import debug_toolbar
Exemplo n.º 55
0

admin.autodiscover()
admin.site.login_form = AdminAuthenticationForm


urlpatterns = [
    url(r'^', include('misago.urls', namespace='misago')),

    # Javascript translations
    url(
        r'^django-i18n.js$',
        last_modified(lambda req, **kw: timezone.now())(
            cache_page(86400 * 2, key_prefix='misagojsi18n')(
                JavaScriptCatalog.as_view(
                    packages=['misago'],
                ),
            ),
        ),
        name='django-i18n',
    ),

    # Uncomment next line if you plan to use Django admin for 3rd party apps
    #url(r'^django-admin/', admin.site.urls),
]


# If debug mode is enabled, include debug toolbar
if settings.DEBUG:
    import debug_toolbar
    urlpatterns += [
Exemplo n.º 56
0
from django.http import HttpResponse

from django.contrib import admin
from django.views import static
from django.views.generic.base import TemplateView
from django.views.i18n import JavaScriptCatalog

admin.autodiscover()

urlpatterns = [
    # 'login' and 'register'
    url(r'^accounts/', include('sweettooth.auth.urls')),
    url(r'^', include('sweettooth.extensions.urls'), name='index'),
    url(r'^review/', include('sweettooth.review.urls')),
    url(r'^errors/', include('sweettooth.errorreports.urls')),
    url(r'^jsi18n/$', JavaScriptCatalog.as_view(), name='javascript-catalog'),
    url(r'^admin/', admin.site.urls),
    url(r'^comments/', include('sweettooth.ratings.urls')),
    url(r'^comments/', include('django_comments.urls')),
    url(
        r'^robots\.txt$',
        TemplateView.as_view(template_name='robots.txt',
                             content_type='text/plain')),
]

if settings.DEBUG:
    # Use static.serve for development...
    urlpatterns.append(
        url(r'^extension-data/(?P<path>.*)',
            static.serve,
            dict(document_root=settings.MEDIA_ROOT),
Exemplo n.º 57
0
# Patterns not subject to i18n
urlpatterns = [
    path('django-admin/', admin.site.urls),
    path('admin/', include(wagtailadmin_urls)),
    path('documents/', include(wagtaildocs_urls)),
    path('django-rq/', include('django_rq.urls')),
    path('braintree/webhook/',
         BraintreeWebhookView.as_view(),
         name='braintree_webhook'),
]

urlpatterns += i18n_patterns(
    # TODO we may want to version this cache, or pre-compile the catalog at build time
    # See https://django-statici18n.readthedocs.io
    path('jsi18n/',
         cache_page(86400)(JavaScriptCatalog.as_view()),
         name='javascript-catalog'),
    path('', include(payments_urls)),
)

if settings.DEBUG:
    from django.conf.urls.static import static
    from django.contrib.staticfiles.urls import staticfiles_urlpatterns

    # Serve static and media files from development server
    urlpatterns += staticfiles_urlpatterns()
    urlpatterns += static(settings.MEDIA_URL,
                          document_root=settings.MEDIA_ROOT)

    urlpatterns += [
        # Add views for testing 404 and 500 templates
Exemplo n.º 58
0
# -*- coding: UTF-8 -*-

from django.urls import path
from django.views.i18n import JavaScriptCatalog

import sql.query_privileges
import sql.sql_optimize
from common import auth, config, workflow, dashboard, check
from sql import views, sql_workflow, sql_analyze, query, slowlog, instance, db_diagnostic, resource_group, binlog, \
    data_dictionary
from sql.utils import tasks

urlpatterns = [
    path('', views.index),
    path('jsi18n/', JavaScriptCatalog.as_view(), name='javascript-catalog'),
    path('index/', views.index),
    path('login/', views.login, name='login'),
    path('logout/', auth.sign_out),
    path('signup/', auth.sign_up),
    path('sqlworkflow/', views.sqlworkflow),
    path('submitsql/', views.submit_sql),
    path('editsql/', views.submit_sql),
    path('submitotherinstance/', views.submit_sql),
    path('detail/<int:workflow_id>/', views.detail, name='detail'),
    path('autoreview/', sql_workflow.submit),
    path('passed/', sql_workflow.passed),
    path('execute/', sql_workflow.execute),
    path('timingtask/', sql_workflow.timing_task),
    path('alter_run_date/', sql_workflow.alter_run_date),
    path('cancel/', sql_workflow.cancel),
    path('rollback/', views.rollback),
Exemplo n.º 59
0
    'domain': "djangojs",
    'packages': ('BikeMaps','mapApp',),
}



urlpatterns = [
    url(r'^api-auth/', include('rest_framework.urls', namespace='rest_framework')),
    url(r'^api-token-auth/', auth_views.obtain_auth_token),
    url(r'^rest-auth/', include('rest_auth.urls')),
    url(r'^rest-auth/registration/', include('rest_auth.registration.urls')),
    url(r'^accounts/', include('allauth.urls')),
    url(r'^accounts/', include('django.contrib.auth.urls')),
    url(r'^admin/', include(admin.site.urls)),
    url(r'^robots.txt$', TemplateView.as_view(template_name='robots.txt', content_type='text/plain')),
    url(r'^jsi18n/$', JavaScriptCatalog.as_view(), name='javascript-catalog'),
    url(r'^\.well-known/', include(certbot_django.server.urls)),
]

# Add internationalization url patters to these pages
urlpatterns += solid_i18n_patterns(
    url(r'^', include('mapApp.urls', namespace="mapApp")),
    url(r'^user/', include('userApp.urls', namespace="userApp")),
    url(r'^blog/', include('blogApp.urls', namespace="blogApp")),
    url(r'^jsi18n/$', JavaScriptCatalog.as_view(), name='javascript-catalog'),
)

if settings.DEBUG:
    import debug_toolbar
    urlpatterns += [
        url(r'^__debug__/', include(debug_toolbar.urls)),
Exemplo n.º 60
0
    # Sport club member.
    url(r'^member-grid(?P<action>/?\w*)/$', MemberGrid.as_view(), name='member_grid',
        kwargs={'view_title': 'Club members grid'}),
    url(r'^member-grid-tabs(?P<action>/?\w*)/$', MemberGridTabs.as_view(), name='member_grid_tabs',
        kwargs={'view_title': 'Club members grid with custom layout'}),
    url(r'^member-grid-custom-actions(?P<action>/?\w*)/$', MemberGridCustomActions.as_view(), name='member_grid_custom_actions',
        kwargs={'view_title': 'Club members grid with custom actions'}),
    url(r'^club-member-grid-(?P<club_id>\w*)(?P<action>/?\w*)/$', ClubMemberGrid.as_view(), name='club_member_grid',
        kwargs={'view_title': '"{}" members'}),
]

js_info_dict = {
    'domain': 'djangojs',
    'packages': ('djk_sample',),
}

try:
    from django.views.i18n import JavaScriptCatalog
    urlpatterns.append(
        url(r'^jsi18n/$', JavaScriptCatalog.as_view(**js_info_dict), name='javascript-catalog'),
    )
except ImportError:
    from django.views.i18n import javascript_catalog
    urlpatterns.append(
        url(r'^jsi18n/$', javascript_catalog, js_info_dict, name='javascript-catalog')
    )

if settings.DEBUG:
    from django.contrib.staticfiles.urls import staticfiles_urlpatterns
    urlpatterns += staticfiles_urlpatterns()