Esempio n. 1
0
    def as_view(cls, *args, **kwargs):
        view = super().as_view(*args, **kwargs)
        view = vary_on_cookie(view)
        view = cache_page(timeout=cls.get_timeout(),
                          cache=cls.cache_name)(view)

        return view
Esempio n. 2
0
 def as_view(cls, *args, **kwargs):
     ink.p("CachePageVaryOnCookieMixin as_view", ink.BG_BLUE,
           ink.ENDC + "\n")
     view = super().as_view(*args, **kwargs)
     view = vary_on_cookie(view)
     view = cache_page(
         timeout=cls.get_timeout(),
         cache=cls.cache_name,
     )(view)
     return view
Esempio n. 3
0
def cached_url(regex,
               view,
               kwargs=None,
               name=None,
               prefix='',
               timeout=settings.CACHE_MIDDLEWARE_SECONDS,
               user_sensitive=True):
    view = cache_page(timeout)(view)
    if user_sensitive:
        view = vary_on_cookie(view)
    return url(regex, view, kwargs, name, prefix)
Esempio n. 4
0
 def as_view(cls, **initkwargs):
     view = super(VaryOnCookieMixin, cls).as_view(**initkwargs)
     return vary_on_cookie(view)
Esempio n. 5
0
from django.conf.urls import patterns, include, url
from django.conf import settings
from django.contrib import admin
from django.contrib.auth.decorators import login_required
from django.views.decorators.vary import vary_on_cookie
from bambu_bootstrap.views import DirectTemplateView
from bambu_bootstrap.decorators import body_classes

admin.autodiscover()

urlpatterns = patterns(
    '', url(r'^admin/doc/', include('django.contrib.admindocs.urls')),
    url(r'^admin/', include(admin.site.urls)),
    url(r'^$',
        vary_on_cookie(
            body_classes(DirectTemplateView.as_view(template_name='home.html'),
                         'home')),
        name='home'), url(r'^mail/', include('bambu_mail.urls')),
    url(r'logout/$',
        'django.contrib.auth.views.logout', {'next_page': '/'},
        name='logout'), url(r'', include('social_auth.urls')),
    url(r'^', include('mynexthack.inspiration.urls')))
Esempio n. 6
0
from django.views.decorators.cache import cache_page
from django.views.decorators.vary import vary_on_cookie

from grid.views import *

__author__ = 'Lene Preuss <*****@*****.**>'

CACHE_TIMEOUT = 24 * 3600

urlpatterns = patterns(
    'grid.views',
    # please leave them here, commented out, for quick cache de-/activation when developing
    # url(r'^$', AllDealsView.as_view(), name='app_main'),
    # url(r'^(?P<group>.+)/(?P<list>.+)/$', TableGroupView.as_view(), name='table_list'),
    url(r'^$',
        vary_on_cookie(cache_page(CACHE_TIMEOUT)(AllDealsView.as_view())),
        name='data'),
    url(r'^all\.(?P<format>(csv|xml|xls))/$',
        vary_on_cookie(
            cache_page(CACHE_TIMEOUT)(AllDealsExportView.as_view())),
        name='export'),
    url(r'^deal/(?P<deal_id>[\d]+)\.(?P<format>(csv|xml|xls))/$',
        vary_on_cookie(
            cache_page(CACHE_TIMEOUT)(DealDetailExportView.as_view())),
        name='export'),
    url(r'^(?P<group>.+)/(?P<list>.+)\.(?P<format>(csv|xml|xls))/$',
        vary_on_cookie(
            cache_page(CACHE_TIMEOUT)(TableGroupExportView.as_view())),
        name='export'),
    url(r'^(?P<group>.+)\.(?P<format>(csv|xml|xls))/$',
        vary_on_cookie(
Esempio n. 7
0
    url(r'^api/custom/$', custom_api),
    url(r'^api/email_check/$', email_check_api),
    url(r'^api/comments/$', user_comments_api),
    url(r'^fromcrm$', update_user_from_crm),
    url(r'^suscripcion/editar$', edit_subscription, name="edit-subscription"),
    url(r'^nuevosuscriptor/$', never_cache(TemplateView.as_view(
        template_name='thedaily/templates/tmp.html')), {
            'extra_context': {'signup': True}}, name="account-tmp"),
    # Profile
    url(r'^perfil/editar/$', edit_profile, name="edit-profile"),
    url(r'^perfil/(?P<user_id>\d+)/$', user_profile, name="user-profile"),

    url(r'^registered_users/$', registered_users, name='registered_users'),
    url(r'^ldfs_promo/$', ldfs_promo, name='ldfs_promo'),
    url(r'^registrate/$', signup, name="account-signup"),
    url(r'^cambiar-password/hecho/$', vary_on_cookie(TemplateView.as_view(
        template_name='thedaily/templates/password_change_done.html')),
        name="account-password_change-done"),
    url(r'^registrate/google/$', google_phone, name="account-google"),
    url(r'^salir/$', never_cache(logout), name="account-logout"),
    url(r'^bienvenida/$', welcome, {'signup': True}, name="account-welcome"),
    url(r'^bienvenido/$', welcome, {'subscribed': True},
        name="account-welcome-s"),

    url(r'^cambiar-password/$', password_change,
        name="account-password_change"),
    url(r'^cambiar-password/hecho/$', never_cache(TemplateView.as_view(
        template_name='thedaily/templates/password_change_done.html')),
        name="account-password_change-done"),
    url(r'^cambiar-password/(?P<user_id>\d{1,})-(?P<hash>.*)/$',
        password_reset, name='account-password_change-hash'),
    url(r'^completar-registro/(?P<user_id>\d{1,})-(?P<hash>.*)/$',
Esempio n. 8
0
    ),
    url(
        r'^data/' + PROJECT + '$',
        weblate.trans.views.basic.data_project,
        name='data_project',
    ),

    # AJAX/JS backends
    url(
        r'^js/ignore-check/(?P<check_id>[0-9]+)/$',
        weblate.trans.views.js.ignore_check,
        name='js-ignore-check',
    ),
    url(r'^js/i18n/$',
        cache_page(3600)(vary_on_cookie(
            django.views.i18n.JavaScriptCatalog.as_view(
                packages=['weblate']))),
        name='js-catalog'),
    url(
        r'^js/mt-services/$',
        weblate.trans.views.js.mt_services,
        name='js-mt-services',
    ),
    url(
        r'^js/translate/(?P<unit_id>[0-9]+)/$',
        weblate.trans.views.js.translate,
        name='js-translate',
    ),
    url(
        r'^js/changes/(?P<unit_id>[0-9]+)/$',
        weblate.trans.views.js.get_unit_changes,
Esempio n. 9
0
     name="render-check",
 ),
 path(
     "js/ignore-check/<int:check_id>/",
     weblate.trans.views.js.ignore_check,
     name="js-ignore-check",
 ),
 path(
     "js/ignore-check/<int:check_id>/source/",
     weblate.trans.views.js.ignore_check_source,
     name="js-ignore-check-source",
 ),
 path(
     "js/i18n/",
     cache_page(3600, key_prefix=VERSION)(vary_on_cookie(
         django.views.i18n.JavaScriptCatalog.as_view(
             packages=["weblate"]))),
     name="js-catalog",
 ),
 path("js/matomo/", weblate.trans.views.js.matomo, name="js-matomo"),
 path(
     "js/translate/<name:service>/<int:unit_id>/",
     weblate.trans.views.js.translate,
     name="js-translate",
 ),
 path(
     "js/memory/<int:unit_id>/",
     weblate.trans.views.js.memory,
     name="js-memory",
 ),
 path(
Esempio n. 10
0
 url(r'^api/email_check/$', email_check_api),
 url(r'^api/comments/$', user_comments_api),
 url(r'^fromcrm$', update_user_from_crm),
 url(r'^suscripcion/editar$', edit_subscription, name="edit-subscription"),
 # Profile
 url(r'^perfil/editar/$', edit_profile, name="edit-profile"),
 url(
     r'^perfil/disable/(?P<property_id>[\w_]+)/(?P<hashed_id>\w+)/$',
     disable_profile_property,
     name="disable-profile-property",
 ),
 url(r'^perfil/(?P<user_id>\d+)/$', user_profile, name="user-profile"),
 url(r'^registrate/$', signup, name="account-signup"),
 url(r'^cambiar-password/hecho/$',
     vary_on_cookie(
         TemplateView.as_view(
             template_name='thedaily/templates/password_change_done.html')),
     name="account-password_change-done"),
 url(r'^registrate/google/$', google_phone, name="account-google"),
 url(r'^salir/$',
     auth_views.LogoutView.as_view(next_page='/usuarios/sesion-cerrada/'),
     name="account-logout"),
 url(
     r'^sesion-cerrada/$',
     never_cache(
         TemplateView.as_view(
             template_name='registration/logged_out.html'))),
 url(
     r'^salir-invalid/$',
     auth_views.LogoutView.as_view(
         next_page='/usuarios/sesion-finalizada/'),
from django.urls import path
from django.views.decorators.cache import cache_page
from django.views.decorators.vary import vary_on_cookie

from . import views

app_name = "patients"

urlpatterns = [
    path("", cache_page(10*60)(vary_on_cookie(views.Index.as_view())), name="index"),
    path("export", cache_page(10*60)(views.Export.as_view()), name="export"),
    path("report", cache_page(60*60)(views.report), name="report"),
    path("thank_you", cache_page(24*60*60)(views.thank_you), name="thank_you"),
    path("patient/<int:pk>/", cache_page(10*60)(vary_on_cookie(views.PatientDetails.as_view())), name="patient-details"),
    path("logout", views.logout, name="logout"),
    path("login-form", cache_page(24*60*60)(views.login_form), name="login-form"),
    path("review-report/<int:report_id>/", views.review_report, name="review-report"),
    path("add-patient", views.add_patient, name="add-patient"),
    path("report-invalid", views.mark_report_invalid, name="report-invalid"),
    path("report-queue", views.ReportQueue.as_view(), name="report-queue"),
    path("get_districts", views.get_statewise_districts, name="get_districts"),
    path("report-error", views.report_error, name="report-error"),
    path("error-queue", views.ErrorQueueView.as_view(), name="error-queue"),
    path("patient/<int:patient_id>/review-error-reports",
         views.review_errors_for_patient,
         name="review-errors-for-patient"),
    path("update-error-report", views.update_error_report, name="update-error-report"),
    # API paths
    path('api/patients/', views.get_patients,name='patient list'),
    path('api/patient/<int:id>', views.get_patient,name='patient'),
]
Esempio n. 12
0
from django.conf import settings
from django.contrib import admin
from django.contrib.auth.decorators import login_required
from django.views.decorators.vary import vary_on_cookie
from bambu_bootstrap.views import DirectTemplateView
from bambu_bootstrap.decorators import body_classes

admin.autodiscover()

urlpatterns = patterns('',
	url(r'^admin/doc/', include('django.contrib.admindocs.urls')),
	url(r'^admin/', include(admin.site.urls)),
	url(r'^$',
		vary_on_cookie(
			body_classes(
				DirectTemplateView.as_view(template_name = 'home.html'), 'home'
			)
		),
		name = 'home'
	),
	url(r'^mail/', include('bambu_mail.urls')),
	url(r'logout/$',
		'django.contrib.auth.views.logout',
		{
			'next_page': '/'
		},
		name = 'logout'
	),
	url(r'', include('social_auth.urls')),
	url(r'^', include('mynexthack.inspiration.urls'))
)
Esempio n. 13
0
}

urlpatterns = ur_patterns + [
    path("directory/",
         include("upperroom.directory.urls", namespace="directory")),
    path("library/", include("upperroom.library.urls", namespace="library")),
    path("poi/", include("upperroom.newsletter.urls", namespace="poi")),
    path("resources/",
         include("upperroom.resources.urls", namespace="resources")),
    path("roster/", include("upperroom.roster.urls", namespace="roster")),
    path("news/", include("upperroom.weblog.urls", namespace="news")),
    path("search/", include("upperroom.search.urls", namespace="search")),
    path("sitemap.xml",
         sitemap, {"sitemaps": sitemaps},
         name="django.contrib.sitemaps.views.sitemap"),
    path("", vary_on_cookie(flatpage), {"url": "/"}, name="home"),
    path("calendar",
         vary_on_cookie(flatpage), {"url": "/calendar/"},
         name="calendar"),
    path("contact",
         vary_on_cookie(flatpage), {"url": "/contact/"},
         name="contact"),
    path("copyright",
         vary_on_cookie(flatpage), {"url": "/copyright/"},
         name="copyright"),
]

if settings.DEBUG_TOOLBAR:
    import debug_toolbar

    urlpatterns = [path("debug/", include(debug_toolbar.urls))] + urlpatterns
Esempio n. 14
0
from django.urls import path
from django.views.decorators.cache import cache_page
from django.views.decorators.vary import vary_on_cookie

from . import views

app_name = "patients"

urlpatterns = [
    path("",
         cache_page(10 * 60)(vary_on_cookie(views.Index.as_view())),
         name="index"),
    path("export", cache_page(10 * 60)(views.Export.as_view()), name="export"),
    path("report", cache_page(60 * 60)(views.report), name="report"),
    path("thank_you",
         cache_page(24 * 60 * 60)(views.thank_you),
         name="thank_you"),
    path("patient/<int:pk>/",
         cache_page(10 * 60)(vary_on_cookie(views.PatientDetails.as_view())),
         name="patient-details"),
    path("logout", views.logout, name="logout"),
    path("login-form",
         cache_page(24 * 60 * 60)(views.login_form),
         name="login-form"),
    path("review-report/<int:report_id>/",
         views.review_report,
         name="review-report"),
    path("add-patient", views.add_patient, name="add-patient"),
    path("report-invalid", views.mark_report_invalid, name="report-invalid"),
    path("report-queue", views.ReportQueue.as_view(), name="report-queue"),
    path("get_districts", views.get_statewise_districts, name="get_districts"),
Esempio n. 15
0
        weblate.trans.views.basic.data_project,
        name='data_project',
    ),

    # AJAX/JS backends
    url(
        r'^js/ignore-check/(?P<check_id>[0-9]+)/$',
        weblate.trans.views.js.ignore_check,
        name='js-ignore-check',
    ),
    url(
        r'^js/i18n/$',
        cache_page(3600)(
            vary_on_cookie(
                django.views.i18n.JavaScriptCatalog.as_view(
                    packages=['weblate']
                )
            )
        ),
        name='js-catalog'
    ),
    url(
        r'^js/mt-services/$',
        weblate.trans.views.js.mt_services,
        name='js-mt-services',
    ),
    url(
        r'^js/translate/(?P<service>[^/]+)/(?P<unit_id>[0-9]+)/$',
        weblate.trans.views.js.translate,
        name='js-translate',
    ),
Esempio n. 16
0
def cached_url(regex, view, kwargs=None, name=None, prefix='',
               timeout=settings.CACHE_MIDDLEWARE_SECONDS, user_sensitive=True):
    view = cache_page(timeout)(view)
    if user_sensitive:
        view = vary_on_cookie(view)
    return url(regex, view, kwargs, name, prefix)
Esempio n. 17
0
            if week > 1:
                data['prev_url'] = reverse('next', kwargs={'week': week-1})
            elif week == 1:
                data['prev_url'] = reverse('home')
            # check if there are events in the next interval before showing the "next" link
            start_days = ((week + 1) * 14) + 1
            date_range_start = timezone.now().date() + timezone.timedelta(days=start_days)
            end_days = ((week + 2) * 14) + 1
            date_range_end = date_range_start + timezone.timedelta(days=end_days)
            next_events_exist = Event.objects.filter(start__range=(date_range_start, date_range_end)).exists()
            if next_events_exist:
                data['next_url'] = reverse('next', kwargs={'week': week+1})
        return data

# cache for 1 * 60 = 1 min
home_view = vary_on_cookie(cache_page(1 * 60)(HomeView.as_view()))
#home_view = HomeView.as_view()


class PastEventsView(views.SuperuserRequiredMixin, ListView):
    context_object_name = 'events'
    template_name = 'home.html'

    def get_queryset(self):
        return Event.objects.filter(start__lt=timezone.now())

past_events = vary_on_cookie(cache_page(1 * 60)(PastEventsView.as_view()))


class MonthView(HomeView):
    def get_queryset(self):
Esempio n. 18
0
from django.contrib.auth.decorators import login_required, permission_required, user_passes_test
from django.contrib.admin.views.decorators import staff_member_required

def fully_decorated(request):
    """Expected __doc__"""
    return HttpResponse('<html><body>dummy</body></html>')
fully_decorated.anything = "Expected __dict__"

# django.views.decorators.http
fully_decorated = require_http_methods(["GET"])(fully_decorated)
fully_decorated = require_GET(fully_decorated)
fully_decorated = require_POST(fully_decorated)

# django.views.decorators.vary
fully_decorated = vary_on_headers('Accept-language')(fully_decorated)
fully_decorated = vary_on_cookie(fully_decorated)

# django.views.decorators.cache
fully_decorated = cache_page(60*15)(fully_decorated)
fully_decorated = cache_control(private=True)(fully_decorated)
fully_decorated = never_cache(fully_decorated)

# django.contrib.auth.decorators
# Apply user_passes_test twice to check #9474
fully_decorated = user_passes_test(lambda u:True)(fully_decorated)
fully_decorated = login_required(fully_decorated)
fully_decorated = permission_required('change_world')(fully_decorated)

# django.contrib.admin.views.decorators
fully_decorated = staff_member_required(fully_decorated)
Esempio n. 19
0
File: urls.py Progetto: z0rr0/zblog
from django.urls import path
from django.views.decorators.vary import vary_on_cookie

from posts.views import PostDetailView, PostListView

urlpatterns = [
    path('', vary_on_cookie(PostListView.as_view()), name='index'),
    path('<int:year>/<int:month>/<int:day>/<slug:slug>/', vary_on_cookie(PostDetailView.as_view()), name='read'),
    path('tag/<slug:tag>', vary_on_cookie(PostListView.as_view()), name='tag_filter'),
]
Esempio n. 20
0
 ),
 url(
     r"^js/ignore-check/(?P<check_id>[0-9]+)/source/$",
     weblate.trans.views.js.ignore_check_source,
     name="js-ignore-check-source",
 ),
 url(
     r"^js/task/(?P<task_id>" + UUID + ")/$",
     weblate.trans.views.js.task_progress,
     name="js_task_progress",
 ),
 url(
     r"^js/i18n/$",
     cache_page(3600)(
         vary_on_cookie(
             django.views.i18n.JavaScriptCatalog.as_view(packages=["weblate"])
         )
     ),
     name="js-catalog",
 ),
 url(
     r"^js/mt-services/$", weblate.trans.views.js.mt_services, name="js-mt-services"
 ),
 url(
     r"^js/translate/(?P<service>[^/]+)/(?P<unit_id>[0-9]+)/$",
     weblate.trans.views.js.translate,
     name="js-translate",
 ),
 url(
     r"^js/memory/(?P<unit_id>[0-9]+)/$",
     weblate.trans.views.js.memory,
Esempio n. 21
0
File: urls.py Progetto: z0rr0/zblog
from django.contrib.flatpages import views
from django.contrib.flatpages.sitemaps import FlatPageSitemap
from django.contrib.sitemaps import GenericSitemap
from django.contrib.sitemaps.views import sitemap
from django.contrib.staticfiles.urls import staticfiles_urlpatterns
from django.urls import include, path
from django.views.decorators.vary import vary_on_cookie

from posts.feed import LatestPostsFeed
from posts.models import Post

posts_sitemap_info = {
    'queryset': Post.published.all(),
    'date_field': 'publish',
}
feed_view = vary_on_cookie(LatestPostsFeed())

urlpatterns = [
    path('about/',
         vary_on_cookie(views.flatpage), {'url': '/about/'},
         name='about'),
    path('admin/', admin.site.urls),
    path('feed/', feed_view, name='feed'),
    path('rss/', feed_view, name='rss'),
    path('', include('posts.urls')),
    # the sitemap
    path(
        'sitemap.xml',
        sitemap,
        {
            'sitemaps': {