def get_urls(self): app_label = self.model._meta.app_label self.access_permission = '{app_label}.{codename}'.format( app_label=app_label, codename=self.model._meta.permissions[0][0] # First perm codename ) View = self.model.View view = View.as_view(admin=self) view = user_passes_test(lambda u: u.is_active and u.is_staff)(view) view = permission_required(self.access_permission)(view) view = login_required(view) info = app_label, View.label urlpatterns = compat.urlpatterns( url(r'^$', view, name='{}_{}'.format(*info)), url(r'^$', view, name='{}_{}_changelist'.format(*info)), ) extra_urls = self.model.View(admin=self).get_urls() if extra_urls: urlpatterns += extra_urls return urlpatterns
def view(self, request, *args, **kwargs): """ Crear la List View del modelo """ # Class mixins = import_all_mixins() + [DeleteMixin] View = get_base_view(BaseDeleteView, mixins, self.site) # Set attributes view = View.as_view() return view(request, *args, **kwargs)
def view(self, request, *args, **kwargs): """ Crear la List View del modelo """ # Class mixins = import_all_mixins() + [DetailMixin] View = get_base_view(BaseDetailView, mixins, self.site) # Set attributes View.__bases__ = (*self.site.detail_mixins, *View.__bases__) view = View.as_view() return view(request, *args, **kwargs)
def test_post_process_urls_adds_decorator(self): fake_decorator = mock.Mock() fake_decorator.return_value = 'fake_callback' application.get_url_decorator = mock.Mock() application.get_url_decorator.return_value = fake_decorator pattern = url('^$', View.as_view(), name='index') processed_patterns = application.post_process_urls([pattern]) application.get_url_decorator.assert_called_once_with(pattern) self.assertEqual(processed_patterns[0].callback, 'fake_callback')
def setUp(self): self.user = UserFactory() self.authed_view = TemplateView.as_view(template_name='base.html') self.authed_view_kwargs = {'authed': True} self.anonymous_view = TemplateView.as_view(template_name='base.html') self.anonymous_view_kwargs = {'anonymous': True} self.other_anonymous_view = View.as_view() self.view_kwargs = { 'authed_view': self.authed_view, 'authed_view_kwargs': self.authed_view_kwargs, 'anonymous_view': self.anonymous_view, 'anonymous_view_kwargs': self.anonymous_view_kwargs}
def view(self, request, *args, **kwargs): """ Crear la List View del modelo """ # Class mixins = import_all_mixins() + [CreateMixin] View = get_base_view(BaseCreateView, mixins, self.site) # Set attributes View.form_class = self.site.form_class View.fields = self.site.fields View.__bases__ = (*self.site.form_mixins, *View.__bases__) view = View.as_view() return view(request, *args, **kwargs)
def view(self, request, *args, **kwargs): """ Crear la List View del modelo """ # Class mixins = import_all_mixins() + [ListMixin] View = get_base_view(BaseListView, mixins, self.site) # Set attriburtes View.queryset = self.site.queryset View.paginate_by = self.site.paginate_by View.__bases__ = (*self.site.list_mixins, *View.__bases__) view = View.as_view() return view(request, *args, **kwargs)
def assert_status( code: int, user: settings.AUTH_USER_MODEL, view: View, challenge: Challenge, rf: RequestFactory, ): request = rf.get("/rand") request.challenge = challenge if user is not None: request.user = user view = view.as_view() response = view(request) assert response.status_code == code return request, response
def test_post_process_urls_adds_decorator(self): def fake_callback(): pass fake_decorator = mock.Mock() fake_decorator.return_value = fake_callback self.myapp.get_url_decorator = mock.Mock() self.myapp.get_url_decorator.return_value = fake_decorator pattern = path('', View.as_view(), name='index') processed_patterns = self.myapp.post_process_urls([pattern]) self.myapp.get_url_decorator.assert_called_once_with(pattern) self.assertEqual(processed_patterns[0].callback, fake_callback)
def view(self, request, *args, **kwargs): """ Crear la List View del modelo """ # Class mixins = import_all_mixins() + [UpdateMixin] if self.site.inlines and isinstance(self.site.inlines, dict): FormsetMixin = import_mixin('FormsetMixin') class InlineMixin(FormsetMixin): formsets = self.site.inlines mixins += [InlineMixin] View = get_base_view(BaseUpdateView, mixins, self.get_site()) # Set attribures View.form_class = self.site.form_class View.fields = self.site.fields View.__bases__ = (*self.site.form_mixins, *View.__bases__) view = View.as_view() return view(request, *args, **kwargs)
def view(self, request, *args, **kwargs): """Crear la List View del modelo""" # Class mixins = import_all_mixins() + [UpdateMixin] if self.site.inlines and isinstance(self.site.inlines, (list, tuple, dict)): InlinesMixin = import_mixin("InlinesMixin") class Inlines(InlinesMixin): inlines = self.site.inlines mixins += [Inlines] View = get_base_view(BaseUpdateView, mixins, self.get_site()) # Set attribures View.form_class = self.site.form_class View.fields = self.site.fields if self.site.update_mixins: View.__bases__ = (*self.site.update_mixins, *View.__bases__) else: View.__bases__ = (*self.site.form_mixins, *View.__bases__) view = View.as_view() return view(request, *args, **kwargs)
def assert_status( code: int, user: settings.AUTH_USER_MODEL, view: View, challenge: Challenge, rf: RequestFactory, ): request = rf.get("/rand") request.challenge = challenge if user is not None: request.user = user view = view.as_view() if code == 403: with pytest.raises(PermissionDenied): view(request) response = None else: response = view(request) assert response.status_code == code return request, response
def dynamic_url_pattern(cls): url_pattern = url("^test$", View.as_view(), name="test-view") url_pattern.allow_cdn = False return url_pattern
""" URLs for filebrowser in TinyMCE """ from django.conf.urls import url from django.conf.urls import patterns from django.views.generic import View from zinnia_tinymce.views import RemoveFileView from zinnia_tinymce.views import FileBrowserView from zinnia_tinymce.views import FileBrowserCallBackView urlpatterns = patterns( '', url(r'^$', View.as_view(), name='tinymce-filebrowser-dispatch'), url(r'^callback.js$', FileBrowserCallBackView.as_view(), name='tinymce-filebrowser-callback'), url(r'^(?P<file_type>\w+)/$', FileBrowserView.as_view(), name='tinymce-filebrowser'), url(r'^(?P<file_type>\w+)/remove/(?P<pk>\d+)/$', RemoveFileView.as_view(), name='tinymce-filebrowser-remove') )
def get_extra_urls(self): return patterns('', url(r'^login/$', View.as_view(), name='login'), )
def static_url_pattern(cls): return url("^test$", View.as_view(), name="test-view")
path("admin/", admin.site.urls), path("api/", include(enhydris_api_urls)), path( "stations/d/<int:pk>/", RedirectView.as_view(pattern_name="station_detail", permanent=True), ), path("timeseries/d/<int:pk>/", views.OldTimeseriesDetailRedirectView.as_view()), # For the following, see ticket #181 path("timeseries/data/", views_old.timeseries_data, name="timeseries_data"), path("_nested_admin/", include("nested_admin.urls")), ] # A view that does nothing, that will be used in some fake patterns below _null_view = View.as_view() # When a user registers, an email is sent, containing a link that the user has to click # in order to confirm the email. In order to create that link, django-rest-auth uses # reverse("account_confirm_email"). So we include that in the urlpatterns, although it's # not actually being used and should not be served by Django. The web server should be # configured to route that URL to the front-end, which should then POST to the # verify-email API endpoint in order to perform the actual verification. urlpatterns += [ path("confirm-email/<str:key>/", _null_view, name="account_confirm_email") ] # When a user registers, django-allauth runs reverse("account_email_verification_sent") # in order to redirect to a page that says "We sent an email verification, click the # link in that email". In our case, registration is done by POST to an API endpoint, # which merely responds with "201". However, because something in django-allauth or in
# -*- coding: utf-8 -*- from copy import copy from django.conf.urls import include as django_include from django.conf.urls import url from django.views.generic import View from django_js_reverse.tests.helper import is_django_ver_gte_2 from django_js_reverse.views import urls_js try: from django.urls import path except ImportError: pass dummy_view = View.as_view() basic_patterns = [ url(r'^jsreverse/$', urls_js, name='js_reverse'), # test urls url(r'^test_no_url_args/$', dummy_view, name='test_no_url_args'), url(r'^test_script/$', dummy_view, name='</script><script>console.log(&)</script><!--'), url(r'^test_one_url_args/(?P<arg_one>[-\w]+)/$', dummy_view, name='test_one_url_args'), url(r'^test_two_url_args/(?P<arg_one>[-\w]+)-(?P<arg_two>[-\w]+)/$', dummy_view, name='test_two_url_args'), url(r'^test_optional_url_arg/(?:1_(?P<arg_one>[-\w]+)-)?2_(?P<arg_two>[-\w]+)/$',
def dynamic_url_pattern(cls): url_pattern = url('^test$', View.as_view(), name='test-view') url_pattern.allow_cdn = False return url_pattern
ApproveAPIToggle, ApproveAPIToggleComment, DeleteQuestionAPIToggle, DeleteCommentAPIToggle, SortQuestionsAPI, candidate_detail_view, candidates_view, edit_candidate_view, admin_view, ) app_name = 'portal' urlpatterns = [ path('', index, name='index'), re_path('^(?P<pk>[0-9]+)/$', View.as_view(), name='question'), re_path('^api/(?P<pk>[0-9]+)/upvote/$', UpvoteAPIToggle.as_view(), name='api-upvote'), re_path('^api/(?P<pk>[0-9]+)/downvote/$', DownvoteAPIToggle.as_view(), name='api-downvote'), re_path('^api/(?P<pk>[0-9]+)/upvote-comment/$', UpvoteAPIToggleComment.as_view(), name='api-upvote-comment'), re_path('^api/(?P<pk>[0-9]+)/downvote-comment/$', DownvoteAPIToggleComment.as_view(), name='api-downvote-comment'), re_path('^(?P<pk>[0-9]+)/answer/$', answer_view, name='answer'), re_path('^(?P<pk>[0-9]+)/comment/$', comment_view, name='comment'), re_path('^api/(?P<pk>[0-9]+)/approve/$',
from django.conf.urls import url from django.views.generic import View urlpatterns = [ url(r"^(?P<year>\d{4})/(?P<month>\d{1,2})/$", View.as_view(), name="monthly"), url(r"^(?P<year>\d{4})/(?P<month>\d{1,2})/(?P<day>\d{1,2})/$", View.as_view(), name="daily"), ]
"""URLs for the test app.""" from django.conf.urls.defaults import patterns, url from django.http import HttpResponse from django.views.generic import View from django_libs import views View.get = lambda req, *args, **kwargs: HttpResponse('SUCCESS!') authed_view = View.as_view() authed_view_kwargs = {'authed': True} anonymous_view = View.as_view() anonymous_view_kwargs = {'anonymous': True} urlpatterns = patterns( '', url(r'^$', views.HybridView.as_view( authed_view=authed_view, authed_view_kwargs=authed_view_kwargs, anonymous_view=anonymous_view, anonymous_view_kwargs=anonymous_view_kwargs, ), name='dummy_hybrid'), url(r'^update-session/$', views.UpdateSessionAJAXView, name='update_session'), url(r'^prototype/(?P<template_path>.*)$', views.RapidPrototypingView.as_view(), name='prototype') )
# -*- coding: utf-8 -*- from django.conf.urls import url from django.views.generic import View urlpatterns = [ url(r'foo$', View.as_view(), name="foo"), ]
from django.conf.urls import url from django.views.generic import View urlpatterns = [ url(r'^test_changed_urlconf/$', View.as_view(), name='test_changed_urlconf'), ]
from django.conf.urls import patterns, include, url from django.views.generic import View from django.contrib import admin admin.autodiscover() urlpatterns = patterns('', url("foo/$", View.as_view(), name="foo"), url(r'^', include('staff.urls')), url(r'^admin/', include(admin.site.urls)), )
views.InstrumentDetail.as_view(), name="instrument_detail", ), path( "stations/<int:station_id>/timeseries/<int:pk>/", views.TimeseriesDetail.as_view(), name="timeseries_detail", ), path("admin/", admin.site.urls), path("api/", include(enhydris_api_urls)), # For the following, see ticket #181 path("timeseries/data/", views_old.timeseries_data, name="timeseries_data"), ] # A view that does nothing, that will be used in some fake patterns below _null_view = View.as_view() # When a user registers, an email is sent, containing a link that the user has to click # in order to confirm the email. In order to create that link, django-rest-auth uses # reverse("account_confirm_email"). So we include that in the urlpatterns, although it's # not actually being used and should not be served by Django. The web server should be # configured to route that URL to the front-end, which should then POST to the # verify-email API endpoint in order to perform the actual verification. urlpatterns += [ path("confirm-email/<str:key>/", _null_view, name="account_confirm_email") ] # When a user registers, django-allauth runs reverse("account_email_verification_sent") # in order to redirect to a page that says "We sent an email verification, click the # link in that email". In our case, registration is done by POST to an API endpoint, # which merely responds with "201". However, because something in django-allauth or in
from django.conf.urls import url from django.views.generic import View urlpatterns = [ url(r'^simple/action/$', View.as_view(), name='simpleAction'), ]
from django.conf.urls import patterns, include, url # Uncomment the next two lines to enable the admin: # from django.contrib import admin # admin.autodiscover() from django.views.generic import View urlpatterns = patterns('', url(r'^$', View.as_view(), name='sitemap'), # url(r'^example/', include('example.foo.urls')), # 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: # url(r'^admin/', include(admin.site.urls)), )
"""URLs for the test app.""" from django.conf.urls import patterns, url from django.http import HttpResponse from django.views.generic import View from django_libs import views View.get = lambda req, *args, **kwargs: HttpResponse('SUCCESS!') authed_view = View.as_view() authed_view_kwargs = {'authed': True} anonymous_view = View.as_view() anonymous_view_kwargs = {'anonymous': True} urlpatterns = patterns( '', url(r'^$', views.HybridView.as_view( authed_view=authed_view, authed_view_kwargs=authed_view_kwargs, anonymous_view=anonymous_view, anonymous_view_kwargs=anonymous_view_kwargs, ), name='dummy_hybrid'), url(r'^update-session/$', views.UpdateSessionAJAXView, name='update_session'), url(r'^update-cookie/$', views.UpdateCookieAJAXView, name='update_cookie'), url(r'^prototype/(?P<template_path>.*)$', views.RapidPrototypingView.as_view(), name='prototype'))
from django.conf.urls import include, url from django.views.generic import View from django.contrib import admin admin.autodiscover() urlpatterns = [ url("foo/$", View.as_view(), name="foo"), url(r'^', include('staff.urls')), url(r'^admin/', admin.site.urls), ]
def test_get_url_decorator_fetches_correct_perms(self, mock_permissions_required): pattern = url('^$', View.as_view(), name='index') application.get_url_decorator(pattern) mock_permissions_required.assert_called_once_with('is_staff', login_url=None)
# -*- coding: utf-8 -*- from django.conf.urls import patterns, include, url from django.views.generic import View urlpatterns = patterns('', url(r'foo$', View.as_view(), name="foo"), )
from django.conf.urls import patterns, url from django.views.generic import View urlpatterns = patterns( '', url(r'^simple/action/$', View.as_view(), name='simpleAction'), )
from django.conf.urls import patterns, include, url from django.views.generic import View urlpatterns = patterns( '', url(r'^test_view/$', View.as_view(), name="main"), )
from django.conf.urls import patterns, url from django.views.generic import View urlpatterns = patterns( '', url('', View.as_view()), )
# -*- coding: utf-8 from __future__ import unicode_literals, absolute_import from django.conf.urls import url from django.views.generic import View urlpatterns = [ url(r'^simple/$', View.as_view(), name='simple'), url(r'^multiple/$', View.as_view(), name='multiple'), url(r'^simple/action/$', View.as_view(), name='simple-action'), url(r'^multiple/action/$', View.as_view(), name='multiple-action'), url(r'^other/action/$', View.as_view(), name='other-action'), url(r'^detailed/action/(?P<pk>[0-9]+)/$', View.as_view(), name='detailed-action') ]
def static_url_pattern(cls): return url('^test$', View.as_view(), name='test-view')
def test_success(self): assert is_api_view(IndexView.as_view()) assert not is_api_view(View.as_view())
from django.conf.urls import patterns, url from django.views.generic import View urlpatterns = patterns('', url(r'^(?P<pk>[\w\d]+)/module/$', View.as_view(), name='module') )
from django.conf.urls import patterns, include, url from django.views.generic import View urlpatterns = patterns('', url(r'^test_view/$', View.as_view(), name="main"), )