def get_urls(self): urlpatterns = patterns( "django.contrib.auth.views", url(r"^logout/$", "logout", name="logout", kwargs={"next_page": "/"}) ) urlpatterns += patterns( "", url(r"^$", login_required(self.summary_view.as_view()), name="summary"), url(r"^login/$", self.login_view.as_view(), name="login"), url(r"^orders/$", login_required(self.order_history_view.as_view()), name="order-list"), url( r"^order-status/(?P<order_number>[\w-]*)/(?P<hash>\w+)/$", self.anon_order_detail_view.as_view(), name="anon-order", ), url(r"^orders/(?P<order_number>[\w-]*)/$", login_required(self.order_detail_view.as_view()), name="order"), url( r"^orders/(?P<order_number>[\w-]*)/(?P<line_id>\d+)$", login_required(self.order_line_view.as_view()), name="order-line", ), url(r"^addresses/$", login_required(self.address_list_view.as_view()), name="address-list"), url(r"^addresses/add/$", login_required(self.address_create_view.as_view()), name="address-create"), url(r"^addresses/(?P<pk>\d+)/$", login_required(self.address_update_view.as_view()), name="address-detail"), url( r"^addresses/(?P<pk>\d+)/delete/$", login_required(self.address_delete_view.as_view()), name="address-delete", ), url(r"^emails/$", login_required(self.email_list_view.as_view()), name="email-list"), url(r"^emails/(?P<email_id>\d+)/$", login_required(self.email_detail_view.as_view()), name="email-detail"), ) return self.post_process_urls(urlpatterns)
def process_view(self, request, view_func, view_args, view_kwargs): # No need to process URLs if user already logged in if request.user.is_authenticated(): return None # An exception match should immediately return None for url in self.exceptions: if url.match(request.path): return None # Requests matching a restricted URL pattern are returned # wrapped with the login_required decorator for url in self.required: if url.match(request.path): user_token_tuple = self._get_api_user_and_token(request) user = user_token_tuple[0] token = user_token_tuple[1] if user and token: user = authenticate(pk=user, token=token) if user: login(request, user) return None else: return login_required(view_func)(request, *view_args, **view_kwargs) else: return login_required(view_func)(request, *view_args, **view_kwargs) # Explicitly return None for all non-matching requests return None
def process_view(self, request, view_func, view_args, view_kwargs): public_view = getattr(view_func, 'public', False) # public view or named "serve" <= (django.views.static.serve) if public_view or view_func.__name__ == "serve": return None else: # not a public view, if not authenticaded ask for login if not request.user.is_authenticated(): return login_required(view_func)(request, *view_args, **view_kwargs) prenotazioni_view = getattr(view_func, 'prenotazioni', False) try: prenotazioni_user = request.user.prenotazioni except ObjectDoesNotExist: prenotazioni_user = False if prenotazioni_user and not prenotazioni_view: # messages.error(request, "Gli utenti del servizio prenotazioni non hanno accesso a questa pagina.") return HttpResponseRedirect(reverse('tamPrenotazioni')) elif not prenotazioni_user and prenotazioni_view: # messages.error(request, "I conducenti non possono accedere alle prenotazioni.") return HttpResponseRedirect(reverse('tamCorse')) else: if request.user.is_authenticated(): # everything is OK proceed with other middlewares return None else: # we are not logged in so let login_required redirect us return login_required(view_func)(request, *view_args, **view_kwargs)
def dispatch(self, request, *args, **kwargs): self.owner_ref = self.model._easycrud_meta.owner_ref if self.owner_ref: # This is a hack to be able to conditionally use the login_required # decorator. ret = login_required(lambda request: False)(request) if ret: return ret if request.user.is_staff: if self.owner_ref in request.GET: model = get_model_by_name(self.owner_ref) pk = request.GET[self.owner_ref] self.owner_ref_obj = model.objects.get(pk=pk) else: self.owner_ref_obj = getattr(request.user, self.owner_ref) else: self.owner_ref_obj = getattr(request.user, self.owner_ref) setattr(self, self.owner_ref, self.owner_ref_obj) else: if hasattr(settings, 'EASYCRUD_REQUIRE_LOGIN') and settings.EASYCRUD_REQUIRE_LOGIN: # Same hack as above ret = login_required(lambda request: False)(request) if ret: return ret if self.model._easycrud_meta.form_class: self.form_class = get_form_class(self.model._easycrud_meta.form_class) return super(EasyCrudMixin, self).dispatch(request, *args, **kwargs)
def decorator(request, *args, **kwargs): login_required() user = request.user invoice = get_object_or_None(ClientInvoice, pk=kwargs.get('invoice_id', None)) if user.is_superuser or (user == invoice.client.profile.user and invoice.state == 'billed'): return function(request, *args, **kwargs) return HttpResponseRedirect(settings.LOGIN_URL)
def __init__(self): self.create = login_required(CreateView.as_view( model=self.model, fields=('name',), success_url=reverse_lazy('laboratory:laboratory_list'), template_name=self.template_name_base + 'form.html' )) self.edit = login_required(UpdateView.as_view( model=self.model, fields=('name',), success_url=reverse_lazy('laboratory:laboratory_list'), template_name=self.template_name_base + 'form.html' )) self.delete = login_required(DeleteView.as_view( model=self.model, success_url=reverse_lazy('laboratory:laboratory_list'), template_name=self.template_name_base + 'delete.html' )) self.list = login_required(ListView.as_view( model=self.model, paginate_by=10, template_name=self.template_name_base + 'list.html' ))
def testView(self): """ Check that login_required is assignable to normal views. """ def normal_view(request): pass login_required(normal_view)
def get_urls(self): urlpatterns = patterns('django.contrib.auth.views', url(r'^logout/$', 'logout', name='logout', kwargs={'next_page': '/'}), ) urlpatterns += patterns('', url(r'^$', login_required(self.summary_view.as_view()), name='summary'), url(r'^login/$', self.login_view.as_view(), name='login'), url(r'^change-password/$', self.change_password_view.as_view(), name='change-password'), # Profile url(r'^orders/$', login_required(self.order_history_view.as_view()), name='order-list'), url(r'^order-status/(?P<order_number>[\w-]*)/(?P<hash>\w+)/$', self.anon_order_detail_view.as_view(), name='anon-order'), url(r'^orders/(?P<order_number>[\w-]*)/$', login_required(self.order_detail_view.as_view()), name='order'), url(r'^orders/(?P<order_number>[\w-]*)/(?P<line_id>\d+)$', login_required(self.order_line_view.as_view()), name='order-line'), url(r'^addresses/$', login_required(self.address_list_view.as_view()), name='address-list'), url(r'^addresses/add/$', login_required(self.address_create_view.as_view()), name='address-create'), url(r'^addresses/(?P<pk>\d+)/$', login_required(self.address_update_view.as_view()), name='address-detail'), url(r'^addresses/(?P<pk>\d+)/delete/$', login_required(self.address_delete_view.as_view()), name='address-delete'), url(r'^emails/$', login_required(self.email_list_view.as_view()), name='email-list'), url(r'^emails/(?P<email_id>\d+)/$', login_required(self.email_detail_view.as_view()), name='email-detail'), ) return self.post_process_urls(urlpatterns)
def testCallable(self): """ Check that login_required is assignable to callable objects. """ class CallableView(object): def __call__(self, *args, **kwargs): pass login_required(CallableView())
def get_default_model_url(model, form_class=None, url_name=None, prefix_pattern='', list_view=CTListView, detail_view=CTDetailView, creation_view=CTCreationView, update_view=CTUpdateView, delete_view=CTDeleteView): module_name = model._meta.module_name # Get default FormClass for model # e.g. : CityForm for model City. if not form_class: package = ('.').join(model.__module__.split('.')[:-1]) forms = __import__('%s.forms' % package, fromlist=['']) form_class = getattr(forms, '%sForm' % model.__name__) # Get default URL name if not url_name: url_name = model._meta.module_name # Generation of urlpatterns urlpatterns = patterns('') if list_view: urlpatterns += patterns('', # List View url(r'^%s%s/$' % (prefix_pattern, module_name), login_required(list_view.as_view(model=model)), name='%s-list' % module_name)) if detail_view: urlpatterns += patterns('', # Detail View url(r'^%s%s/(?P<pk>\d+)/$' % (prefix_pattern, module_name), login_required(detail_view.as_view(model=model)), name="%s-detail" % module_name)) if creation_view: urlpatterns += patterns('', # Add View url(r'^%s%s/add/$' % (prefix_pattern, module_name), login_required(creation_view.as_view(model=model, form_class=form_class)), name="%s-add" % module_name)) if update_view: urlpatterns += patterns('', # Edit View url(r'^%s%s/(?P<pk>\d+)/edit/$' % (prefix_pattern, module_name), login_required(update_view.as_view(model=model, form_class=form_class)), name="%s-edit" % module_name)) if delete_view: urlpatterns += patterns('', # Delete View url(r'^%s%s/(?P<pk>\d+)/delete/$' % (prefix_pattern, module_name), login_required(delete_view.as_view(model=model)), name="%s-delete" % module_name)) return urlpatterns
def get_urls(self): urls = [ url(r'^$', self.summary_view.as_view(), name='summary'), url(r'^add/(?P<pk>\d+)/$', self.add_view.as_view(), name='add'), url(r'^vouchers/add/$', self.add_voucher_view.as_view(), name='vouchers-add'), url(r'^vouchers/(?P<pk>\d+)/remove/$', self.remove_voucher_view.as_view(), name='vouchers-remove'), url(r'^saved/$', login_required(self.saved_view.as_view()), name='saved'), url(r'^single-item/$', login_required(self.single_item_view.as_view()), name='single-item'), ] return self.post_process_urls(urls)
def get_urls(self): urls = [ url(r'^$', login_required(self.index_view.as_view()), name='index'), # Shipping/user address views url(r'shipping-address/$', login_required(self.shipping_address_view.as_view()), name='shipping-address'), url(r'user-address/edit/(?P<pk>\d+)/$', login_required(self.user_address_update_view.as_view()), name='user-address-update'), url(r'user-address/delete/(?P<pk>\d+)/$', login_required(self.user_address_delete_view.as_view()), name='user-address-delete'), # Shipping method views url(r'shipping-method/$', login_required(self.shipping_method_view.as_view()), name='shipping-method'), # Payment method views url(r'payment-method/$', login_required(self.payment_method_view.as_view()), name='payment-method'), url(r'payment-details/$', login_required(self.payment_details_view.as_view()), name='payment-details'), # Preview and thankyou url(r'preview/$', login_required(self.payment_details_view.as_view(preview=True)), name='preview'), url(r'thank-you/$', login_required(self.thankyou_view.as_view()), name='thank-you'), ] return self.post_process_urls(patterns('', *urls))
def get_urls(self): urls = [ url(r'^buy/(?P<pk>\d+)/$', login_required(buy_product), name='buy'), # 从购物车移动到我的关注 url(r'^move-to-myfav/(?P<pk>\d+)/$', login_required(MoveToMyfavView.as_view()), name='move_to_myfav'), url(r'^pay-order/(?P<pk>\d+)/$', login_required(pay_order), name='pay_order'), url(r'^order-cancel/(?P<pk>\d+)/$', login_required(order_cancel), name='order_cancel'), ] return self.post_process_urls(urls)
def urls(self): url_patterns = patterns('', url(r'^(?:(?P<page>\d+)/)?$', blog_views.BlogListView.as_view(), name = 'list'), url(r'^admin/edit/$', login_required(blog_views.edit), name = 'edit'), url(r'^admin/my/$', login_required(blog_views.my_blog), name = 'my'), url(r'^admin/create-post/$', login_required(blog_views.PostCreateView.as_view()), name = 'post_create'), url(r'^(?P<category>[\w-]+)/list/(?:(?P<page>\d+)/)?$', blog_views.BlogListView.as_view(), name = 'view'), url(r'^(?P<category>[\w-]+)/detail/(?P<slug>[\w-]+)/$', blog_views.PostDetailView.as_view(), name = 'detail'), url(r'^(?P<category>[\w-]+)/update/(?P<slug>[\w-]+)/$', login_required(blog_views.PostUpdateView.as_view()), name = 'post_edit'), #url(r'^feeds/latest/$', blog_feeds.BlogFeed(), name = 'feed-latest'), #url(r'^feeds/linux/$', blog_feeds.BlogFeed(linux = True), name = 'feed-linu'), ) return (url_patterns, self.app_name, self.name)
def wrap(request, *args, **kwargs): if request.is_ajax(): if not request.user or not request.user.is_authenticated(): return json_view(lambda *a, **kw: {'error': 'not logged in'})(request, status=403) return func(request, *args, **kwargs) else: return login_required(func)(request, *args, **kwargs)
def edit(request, comment_id): comment = get_object_or_404(Comment, pk=comment_id) report = comment.report if report.pk in request.session.get("report_ids", []) and not report.created_by.is_active: request.user = report.created_by if request.user.is_anonymous(): return login_required(lambda request: None)(request) if not can_edit_comment(request.user, comment): raise PermissionDenied() PartialCommentForm = curry(CommentForm, user=request.user, report=comment.report, instance=comment) # this is dumb, but the only way to pass an extra arg to the subform ImageFormSet = get_image_formset(user=request.user) if request.POST: form = PartialCommentForm(request.POST) formset = ImageFormSet(request.POST, request.FILES, queryset=Image.objects.filter(comment=comment)) if form.is_valid() and formset.is_valid(): form.save(request=request) formset.save(user=comment.created_by, fk=comment) messages.success(request, "Comment Edited") return redirect("reports-detail", comment.report.pk) else: form = PartialCommentForm() formset = ImageFormSet(queryset=Image.objects.filter(comment=comment)) return render(request, "comments/edit.html", { "comment": comment, "form": form, "formset": formset, })
def account(request, uuid=None, message=None): if request.user.is_authenticated(): my_account = UserAccount.objects.get(user=request.user) my_uuid = my_account.uuid else: my_uuid = None if uuid is not None: if uuid != my_uuid: other_account = UserAccount.objects.get(uuid=uuid) else: other_account = my_account else: if not request.user.is_authenticated(): return login_required(account)(request) uuid = my_uuid other_account = my_account if uuid == my_uuid: instances = ServerInstance.objects.filter(requisitioner=my_account) else: instances = [] multiple_send(list_instances, None, instances = instances, request = request) return direct_to_template(request, template="tracker/account.html", extra_context={ 'account': other_account, 'is_my_account': uuid == my_uuid, 'instances': instances, 'message': message, 'tools': multiple_send(account_tools, None, account = my_account) if uuid == my_uuid else [], })
def _method_wrapper(func): selected_profile = settings.EPO_AUTH_PROFILES.get(profile) if selected_profile is None: def wrapper(request, *args, **kwargs): raise AuthProfileNotSet() return wrapper allowed = selected_profile['allowed'] if allowed == 'disabled': return make_not_available_for_view(func) access_authenticator = None if 'access_authorizer' in selected_profile: try: module_name, class_name = selected_profile['access_authorizer'].rsplit(".", 1) _module = importlib.import_module(module_name) _class = getattr(_module, class_name) access_authenticator = _class() except: warning('problem with access_authorizer configuration in your profile: %s', profile) result_func = func if selected_profile['need_login']: result_func = login_required(result_func, login_url=SimpleLazyObject(lambda: host_url('user', settings.LOGIN_URL)), redirect_field_name=('next' if has_next else None)) result_func = repair_redirect(result_func) if allowed == 'internal': result_func = filter_internal_access(result_func) elif allowed == 'all' and access_authenticator is not None: result_func = access_authenticator.wrap(result_func) return result_func
def process_view(self, request, view_func, view_args, view_kwargs): ''' Checks request whether it needs to enforce login for this URL based on defined parameters. ''' # No need to process URLs if not configured if len(self.required) == 0: return None # No need to process URLs if user already logged in if request.user.is_authenticated(): return None # An exception match should immediately return None for url in self.exceptions: if url.match(request.path): return None # Requests matching a restricted URL pattern are returned # wrapped with the login_required decorator for url in self.required: if url.match(request.path): return login_required(view_func)( request, *view_args, **view_kwargs ) # Explicitly return None for all non-matching requests return None
def detail(request, uuid, form_class=SendItemForm, template_name='pastebin/pasteditem_detail.html'): """View that shoes a pasted item and will also act on this form's data.""" form = form_class() if request.method == 'POST': if request.POST["action"] == "send": form = form_class(sender=request.user, data=request.POST) if form.is_valid(): form.save() ## request.user.message_set.create( ## message=ugettext("The pasted item was sent.")) # Create does not work, but add message to messages works: messages.add_message(request, messages.SUCCESS, ugettext("The pasted item was sent to %(user)s.") % { "user": SendItemForm.clean_recipient(form)}) url = form.pasted_item.get_absolute_url() return HttpResponseRedirect(url) pasted_item = get_object_or_404(PastedItem, uuid=uuid) return render_to_response(template_name, { 'object': pasted_item, 'form': form }, context_instance=RequestContext(request)) detail = login_required(detail)
def post(self, request, *args, **kwargs): def _post(request, *args, **kwargs): return_url = request.GET.get('next', '/') if 'HTTP_X_REAL_IP' in self.request.META: ip = self.request.META['HTTP_X_REAL_IP'] else: ip = self.request.META['REMOTE_ADDR'] data = json.loads(request.body.decode()) score = data.get('score') user = is_authenticated(request.user) and request.user or None try: rating = self.model.objects.rate(self.get_object(), score, user=user, ip=ip) if request.is_ajax(): result = rating.to_dict() result['user_rating'] = int(score) return JsonResponse(data=result, status=200) else: return HttpResponseRedirect(return_url) except ValidationError as err: if request.is_ajax(): return JsonResponse(data={'error': err.message}, status=400) else: return HttpResponseRedirect(return_url) if not app_settings.STAR_RATINGS_ANONYMOUS: return login_required(_post)(request, *args, **kwargs) return _post(request, *args, **kwargs)
def login_required_config(f): """like @login_required if the ALWAYS_REQUIRE_LOGIN setting is True""" if settings.ALWAYS_REQUIRE_LOGIN: return login_required(f) else: return f
def dispatch(self, request, *args, **kwargs): # Check, if user needs to be logged in if getattr(settings, 'REVIEW_ALLOW_ANONYMOUS', False): return super(ReviewViewMixin, self).dispatch( request, *args, **kwargs) return login_required(super(ReviewViewMixin, self).dispatch)( request, *args, **kwargs)
def fb_login_required(func): def wrapped_view_func(request, *args, **kwargs): resp = None try: # look up user's facebook session (if they have one) fb_session, fb = get_user_fb_session(request.user) # store session and api object on the request for use by decorated view funcs request.fb = fb resp = func(request, *args, **kwargs) except facebook.FacebookError: fb_session.delete() except UserFacebookSession.DoesNotExist: pass if not resp: fb_login_path = reverse('oshare_fblogin') next_url = '%s?nextview=%s' % (request.build_absolute_uri(fb_login_path), request.get_full_path()) cancel_url = 'http://www.facebook.com/connect/login_failure.html' fb_login_url = 'http://www.facebook.com/login.php?api_key=%s&connect_display=page&v=1.0&next=%s&cancel_url=%s&fbconnect=true&return_session=true&session_key_only=false&req_perms=offline_access' % (settings.FACEBOOK_API_KEY, next_url, cancel_url) resp = render_to_response('oshare/fb_login.html', {"fb_login_url": fb_login_url} , context_instance=RequestContext(request)) return resp return login_required(wrapped_view_func)
def get_urls(self): urlpatterns = patterns('', url(r'^registration/$',self.user_registration.as_view(), name='registration' ), url(r'^profile/$',login_required(self.user_profile.as_view()), name='profile'), url(r'^signin/$',self.user_signin.as_view(), name='signin') ) return urlpatterns
def _check(*args, **kwargs): siteconfig = SiteConfiguration.objects.get_current() if siteconfig.get("auth_require_sitewide_login"): return login_required(view_func)(*args, **kwargs) else: return view_func(*args, **kwargs)
def admin_required(fn): @wraps(fn) def wrapper(request, *args, **kwargs): if not request.user.is_staff: return HttpResponse("Sorry, you do not have admin privileges.") return fn(request, *args, **kwargs) return login_required(wrapper)
def ssh_key_fingerprint(request, cred_id): def functionality(req): """Getting the fingerprint itself""" # Get the credential cred = get_object_or_404(Cred, pk=cred_id) if not settings.LOGINLESS_SSH_FINGERPRINTS: # Check user has perms if not cred.is_visible_by(request.user): raise Http404 # Make sure there is an ssh_key if cred.ssh_key is None: raise Http404 fingerprint = cred.ssh_key_fingerprint() response = HttpResponse() response.write(fingerprint) response['Content-Length'] = response.tell() return response # Only require a login depending on the settings if settings.LOGINLESS_SSH_FINGERPRINTS: return functionality(request) else: return login_required(functionality)(request)
def active_required(fn): @wraps(fn) def wrapper(request, *args, **kwargs): if not request.user.is_active: return HttpResponseRedirect('index') return fn(request, *args, **kwargs) return login_required(wrapper)
def process_view(self,request,view_func,view_args,view_kwargs): if request.user.is_authenticated(): return None for url in self.exceptions: if url.match(request.path): return None for url in self.required: if url.match(request.path): return login_required(view_func)(request,*view_args,**view_kwargs) return None
DeploymentResource, IPAddressChangeResource, ): v09_api.register(r()) # powerdns API for r in (PowerDnsRecordResource, ): v09_api.register(r()) # scan API v09_api.register(ExternalPluginResource()) LATEST_API = v09_api urlpatterns = patterns( '', url(r'^$', login_required(VhostRedirectView.as_view(permanent=False))), url(r'^report-a-bug$', RedirectView.as_view(url=settings.BUGTRACKER_URL)), url(r'^favicon\.ico$', RedirectView.as_view(url='/static/img/favicon.ico')), url(r'^humans\.txt$', RedirectView.as_view(url='/static/humans.txt')), url(r'^robots\.txt$', RedirectView.as_view(url='/static/robots.txt')), (r'^static/(?P<path>.*)$', 'django.views.static.serve', { 'document_root': settings.STATIC_ROOT, 'show_indexes': True }), (r'^u/(?P<path>.*)$', 'django.views.static.serve', { 'document_root': settings.MEDIA_ROOT, 'show_indexes': True }), url(r'^login/', 'django.contrib.auth.views.login', {'template_name': 'admin/login.html'}),
from django.urls import path from django.contrib.auth.decorators import login_required from . import views app_name = 'hotel' urlpatterns = [ path('room-list/', login_required(views.room_list_view)), ]
def as_view(cls, **initkwargs): view = super().as_view(**initkwargs) return login_required(view)
from django.contrib.auth.decorators import login_required from django.urls import path from app_create_chklst import views as accv from app_create_chklst import chklst_views as accclv app_name = 'app_create_chklst' urlpatterns = [ # Main page for Cheklists path('mainchklst/', login_required(accclv.MainChkLstView.as_view()), name='chk-main'), # categories and lines tables path('catlinemgmt/', login_required(accv.CatandLineMgmtView), name='catlineMgmt'), # categories path('catcreate/', login_required(accv.CategoryCreateView.as_view()), name='chk-catcreate'), path('catdisplay/<int:pk>', login_required(accv.CategoryDisplayView.as_view()), name='chk-catdisplay'), path('catupdate/<int:pk>', login_required(accv.CategoryUpdateView.as_view()), name='chk-catupdate'), path('catdelete/<int:pk>', login_required(accv.CategoryDeleteView.as_view()), name='chk-catdelete'),
from django.urls import path from django.contrib.auth.decorators import login_required from apps.usuario.views import login_usuario, error_usuario, RegistroUsuario app_name = 'usuario' urlpatterns = [ path('error', error_usuario, name='error'), path('login', login_usuario, name='login'), path('registrar', login_required(RegistroUsuario.as_view()), name='registrar'), ]
''' djcorecap/views --------------- view mixins and other view helper utilities for django ''' from django.contrib import messages from django.contrib.admin.views.decorators import staff_member_required from django.contrib.auth.decorators import login_required from django.urls import reverse from django.utils.decorators import method_decorator is_logged_in = method_decorator( login_required(login_url='account_login'), name='dispatch', ) is_staff = method_decorator( staff_member_required, name='dispatch', ) def filter_by_user(model, user): ''' helper function to filter queryset by user or all if superuser '''
from datetime import datetime from django.contrib.auth.decorators import login_required, permission_required from django.core import serializers from django.http import HttpRequest, HttpResponse, HttpResponseForbidden from django.utils.decorators import method_decorator from django.views.generic import ListView from .models import Vulnerability, RiskQuestions login_url='catalog:login' decorators = [login_required(login_url=login_url)] today = datetime.today().strftime('%Y-%b-%d-%H%M') output_file = 'VC-export-' + today + '.json' @method_decorator(decorators, name='dispatch') @method_decorator(permission_required('catalog.detail_vulnerability', \ raise_exception=True), name='dispatch') class JsonExportView(ListView): '''/catalog/vulnerability/data/json/export''' '''Exports vulnerabilities and risk questions to a JSON file.''' def export_database(HttpRequest): if not HttpRequest.user.is_authenticated: return HttpResponseRedirect(reverse(login_url)) if not HttpRequest.user.has_perm('catalog.detail_vulnerability'): return HttpResponseForbidden('<h1>403 Forbidden</h1>') all_objects = list(Vulnerability.objects.all()) \ + list(RiskQuestions.objects.all())
# vim: tabstop=4 shiftwidth=4 softtabstop=4 # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. from django.conf.urls import url from django.contrib.auth.decorators import login_required from .views import GuidesView urlpatterns = [ url(r'^$', login_required(GuidesView.as_view()), name='index'), ]
def as_view(cls, **initkwargs): view = super(LoginRequiredMixin, cls).as_view(**initkwargs) return login_required(view)
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.auth.decorators import login_required from django.urls import path, include, re_path from django.views.static import serve from TechQuestionSystemBack import settings from backapp import views from utils.upload_images import upload_image urlpatterns = [ # 管理后台user方法 path('back/', include(('users.urls', 'users'), namespace='back')), # 管理后台backapp路由规则 path('backapp/', include(('backapp.urls', 'backapp'), namespace='backapp')), # kindeditor编辑器上传图片地址 re_path(r'^util/upload/(?P<dir_name>[^/]+)$', upload_image, name='upload_image'), # 配置media路径 re_path(r'^media/(?P<path>.*)$', serve, {'document_root': settings.MEDIA_ROOT}), # 访问'/'地址,跳转到管理后台的index方法 re_path(r'^$', login_required(views.Index.as_view()), name='index'), ]
import statapp.views import log.views import helpapp.views urlpatterns = [ path('admin/', admin.site.urls), # Home(Booking) path('', booking.views.IndexView.as_view(), name='home'), # Account path('account/login', account.views.LoginView.as_view(), name='account_login'), path('account/logout', login_required(account.views.LogoutView.as_view()), name='account_logout'), # Account user management by oneself path('account/password_change', login_required(account.views.PasswordChangeView.as_view()), name='account_password_change'), path('account/password_change_done', account.views.PasswordChangeDoneView.as_view(), name='account_password_change_done'), path('account/user_self_update', login_required(account.views.UserSelfUpdateView.as_view()), name='account_user_self_update'), # Account group management path('account/group/',
""" from django.contrib import admin from django.urls import path, include from portfolio import views from portfolio.views import UpdateBlog,DisplayHome, AuthorPageView,CreateBlog,DeleteBlog,DisplayAuthors,PersonalProfile, CreateProfile,UpdateProfile from django.contrib.auth.decorators import login_required from django.views.decorators.cache import cache_page from . import settings from django.contrib.staticfiles.urls import static from django.contrib.staticfiles.urls import staticfiles_urlpatterns urlpatterns = [ path('admin/', admin.site.urls), path('signup/', views.signupuser, name='signupuser'), path('login/', views.loginuser, name='loginuser'), path('logout/', views.logoutuser, name='logoutuser'), path('', DisplayHome.as_view(), name='home'), path('authors/', DisplayAuthors.as_view(), name='authors'), path('personalprofile/', login_required(PersonalProfile.as_view()), name='personalprofile'), path('authorpage/', login_required(cache_page(60*60)(AuthorPageView.as_view())), name='authorpage'), path('create/', login_required(CreateBlog.as_view()), name='create'), path('createprofile/', login_required(CreateProfile.as_view()), name='createprofile'), path('update/<int:pk>', login_required(UpdateBlog.as_view()), name='updateblog'), path('updateprofile/<int:pk>', login_required(UpdateProfile.as_view()), name='updateprofile'), path('delete/<int:pk>', login_required(DeleteBlog.as_view()), name='deleteblog'), path('blog/', include('blog.urls', namespace='blog')), ] urlpatterns += staticfiles_urlpatterns() urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
# -*- coding: utf-8 -*- # This file is part of E-Commerce. # # Copyright (c) 2012-2019, Shoop Commerce Ltd. All rights reserved. # # This source code is licensed under the OSL-3.0 license found in the # LICENSE file in the root directory of this source tree. from django.conf.urls import url from django.contrib.auth.decorators import login_required from . import views urlpatterns = [ url(r'^address-book/$', login_required(views.AddressBookView.as_view()), name='address_book'), url(r'^address-book/edit/(?P<pk>\d+)$', login_required(views.AddressBookEditView.as_view()), name='address_book_edit'), url(r'^address-book/edit/new$', login_required(views.AddressBookEditView.as_view()), name='address_book_new'), url(r'^address-book/delete/(?P<pk>\d+)$', login_required(views.delete_address), name='address_book_delete'), url(r'^customer/$', login_required(views.CustomerEditView.as_view()), name='customer_edit'), url(r'^customer/change-password/$', login_required(views.PasswordChangeView.as_view()), name='change_password'), url(r'^company/$', login_required(views.CompanyEditView.as_view()), name='company_edit'), ]
url_self_provider(r'^users/(?P<user>%s)/pubkey/' % USERNAME_PAT, UserPublicKeyUpdateView.as_view(), name='pubkey_update'), url_self_provider(r'^users/(?P<user>%s)/notifications/$' % USERNAME_PAT, UserNotificationsView.as_view(), name='users_notifications'), url_frictionless_self_provider(r'^users/(?P<user>%s)/$' % USERNAME_PAT, UserProfileView.as_view(), name='users_profile'), url_direct(r'contacts/', include('signup.urls.views.contacts')), url(r'^pricing/$', PricingView.as_view(), name='saas_cart_plan_list'), url( r'^billing/cart/', # XXX override because we want a login_required in front. login_required(OrganizationRedirectView.as_view( pattern_name='saas_organization_cart'), login_url='registration_register'), name='saas_cart'), url(r'^', include('saas.urls.noauth')), url_direct(r'^', include('saas.urls.broker')), url_authenticated(r'^', include('saas.urls.redirects')), url_direct(r'^metrics/(?P<organization>%s)/dashboard/$' % ACCT_REGEX, DashboardView.as_view(), name='saas_dashboard'), url_direct(r'^billing/(?P<organization>%s)/bank/$' % ACCT_REGEX, ProcessorAuthorizeView.as_view(), name='saas_update_bank'), url_direct(r'^', include('saas.urls.provider')), url_provider(r'^', include('saas.urls.subscriber.billing')), url_provider(r'^', include('saas.urls.subscriber.profile')), url_dashboard_iframe(r'^proxy/notifications/(?P<template>%s)/iframe/' %
"""game URL Configuration The `urlpatterns` list routes URLs to views. For more information please see: https://docs.djangoproject.com/en/1.11/topics/http/urls/ Examples: Function views 1. Add an import: from my_app import views 2. Add a URL to urlpatterns: url(r'^$', views.home, name='home') Class-based views 1. Add an import: from other_app.views import Home 2. Add a URL to urlpatterns: url(r'^$', Home.as_view(), name='home') Including another URLconf 1. Import the include() function: from django.conf.urls import url, include 2. Add a URL to urlpatterns: url(r'^blog/', include('blog.urls')) """ from django.conf.urls import url, include from django.contrib import admin from django.contrib.auth.decorators import login_required from home import views urlpatterns = [ url(r'^admin/', admin.site.urls), url(r'^$', login_required(views.index)), url(r'^home/', include('home.urls', namespace='home')), url(r'^hero/', include('hero.urls', namespace='hero')), ]
from django.conf.urls import url from ..views import (GuidanceSystemListView, GuidanceSystemCreateView, GuidanceSystemDetailView, GuidanceSystemUpdateView, GuidanceSystemDeleteView) from django.contrib.auth.decorators import login_required urlpatterns = [ url( r'^create/$', # NOQA login_required(GuidanceSystemCreateView.as_view()), name="guidance_system_create"), url(r'^(?P<pk>.+)/update/$', login_required(GuidanceSystemUpdateView.as_view()), name="guidance_system_update"), url(r'^(?P<pk>.+)/delete/$', login_required(GuidanceSystemDeleteView.as_view()), name="guidance_system_delete"), url(r'^(?P<pk>.+)/$', GuidanceSystemDetailView.as_view(), name="guidance_system_detail"), url(r'^$', GuidanceSystemListView.as_view(), name="guidance_system_list"), ]
from django.conf.urls import include, url # from django.contrib import admin from components import views from django.contrib.auth.decorators import login_required urlpatterns = [ ### machine_status url(r'^machine-status/$', login_required(views.Machinestatus_listViewSet.as_view()), name='machine-status-list'), url(r'^machine-status/update/(?P<pk>\d+)/$', login_required(views.Machinestatus_updateViewSet.as_view()), name='machine-status-update'), url(r'^machine-status/create/$', login_required(views.Machinestatus_createViewSet.as_view()), name='machine-status-create'), ### machine_tag url(r'^machine-tag/$', login_required(views.Machinetag_listViewSet.as_view()), name='machine-tag-list'), url(r'^machine-tag/update/(?P<pk>\d+)/$', login_required(views.Machinetag_updateViewSet.as_view()), name='machine-tag-update'), url(r'^machine-tag/create/$', login_required(views.Machinetag_createViewSet.as_view()), name='machine-tag-create'), ### resource_status url(r'^resource-status/$', login_required(views.Resourcestatus_listViewSet.as_view()),
def get_context_data(self, **kwargs): context = super(PrivateRequestView, self).get_context_data(**kwargs) page_num = self.request.GET.get('page') context['inbox'] = True participants = Participant.objects.filter( user=self.request.user, deleted_at__isnull=True, thread__request__isnull=False, ).exclude( thread__creator=self.request.user, ) context['participants'] = get_page(page_num, participants, 15) return context inbox_private_requests = login_required(PrivateRequestView.as_view()) class SentPrivateRequestsView(TemplateView): template_name='request/private_requests.html' def get_context_data(self, **kwargs): context = super(SentPrivateRequestsView, self).get_context_data(**kwargs) page_num = self.request.GET.get('page') context['sent'] = True participants = Participant.objects.filter( user=self.request.user, replied_at__isnull=False, deleted_at__isnull=True, thread__request__isnull=False, ) context['participants'] = get_page(page_num, participants, 15)
class RegisterView(CreateView): template_name = 'users/register.html' model = UserProfile context_object_name = "users" form_class = RegisterForm success_url = '/' class UserLoginView(LoginView): template_name = 'users/login.html' class UserLogoutView(LogoutView): template_name = 'users/login.html' @method_decorator(login_required(login_url='/users/login'),name="dispatch") class UserProfileUpdateView(SuccessMessageMixin,UpdateView): model = UserProfile template_name = 'users/profile-update.html' form_class = UserProfileForm success_message = "Your Profile Has Been Updated!!!" def form_valid(self, form): form.instance.user = self.request.user form.save() return super(UserProfileUpdateView, self).form_valid(form) def get_success_url(self): return reverse('users:update_profile',kwargs={'slug':self.object.slug})
from django.urls import path, re_path from django.contrib.auth.decorators import login_required from . import views app_name = 'vms' urlpatterns = [ path('', login_required(views.VmsView.as_view()), name='vms-list'), path('create', login_required(views.VmCreateView.as_view()), name='vm-create'), re_path(r'^detail/(?P<vm_uuid>[0-9a-z-]{32,36})/$', login_required(views.VmDetailView.as_view()), name='vm-detail'), re_path(r'^mount-disk/(?P<vm_uuid>[0-9a-z-]{32,36})/$', login_required(views.VmMountDiskView.as_view()), name='vm-mount-disk'), re_path(r'^edit/(?P<vm_uuid>[0-9a-z-]{32,36})/$', login_required(views.VmEditView.as_view()), name='vm-edit'), re_path(r'^reset/(?P<vm_uuid>[0-9a-z-]{32,36})/$', login_required(views.VmResetView.as_view()), name='vm-reset'), re_path(r'^migrate/(?P<vm_uuid>[0-9a-z-]{32,36})/$', login_required(views.VmMigrateView.as_view()), name='vm-migrate'), re_path(r'^live-migrate/(?P<vm_uuid>[0-9a-z-]{32,36})/$', login_required(views.VmLiveMigrateView.as_view()), name='vm-live-migrate'), re_path(r'^mount-pci/(?P<vm_uuid>[0-9a-z-]{32,36})/$',
from django.conf.urls import url from restaurants.views import * from django.contrib.auth.decorators import login_required urlpatterns = [ url(r'^list/$', login_required(RestaurantsView.as_view()), name="restaurants_list"), url(r'^menu/(?P<pk>\d+)/$', login_required(MenuView.as_view()), name="menu"), url(r'^comment/(?P<pk>\d+)/$', login_required(CommentView.as_view()), name="comment"), url(r'^mos_menu/$', MenuView.as_view(), {'pk': 3}), ] # urlpatterns = [ # url(r'^list/$', restaurants_list, name="restaurants_list"), # url(r'^menu/(?P<id>\d{1,5})/$', restaurants.views.menu), # url(r'^comment/(\d{1,5})/$', restaurants.views.comment), # url(r'^mos_menu/$', restaurants.views.menu, {'id':3} ), # ]
from .api.views import * from django.conf.urls import patterns, include, url from django.contrib import admin from django.contrib.auth.decorators import login_required from django.views.generic import TemplateView from rest_framework import routers api_router = routers.DefaultRouter() api_router.register(r'messages', MessageViewSet) api_router.register(r'rooms', RoomViewSet) api_router.register(r'users', UserViewSet) urlpatterns = patterns('', url(r'^$', login_required(TemplateView.as_view(template_name='index.html'))), url(r'^accounts/login/$', 'django.contrib.auth.views.login'), url(r'^accounts/logout/$', 'django.contrib.auth.views.logout_then_login'), url(r'^admin/', include(admin.site.urls)), url(r'^api/', include(api_router.urls)), url(r'^api-auth/', include('rest_framework.urls', namespace='rest_framework')) )
from apps.cotizaciones.views import cabeceracotizacion from apps.cotizaciones.views import boucher from apps.cotizaciones.views import RegistrarItem from apps.cotizaciones.views import cambiarContacto from apps.cotizaciones.views import RegistrarItem from apps.cotizaciones.views import ConfirmCotizacion from apps.cotizaciones.views import DeconfirmCotizacion from apps.cotizaciones.views import AnulateCotizacion from apps.cotizaciones.views import PagoUrl from apps.cotizaciones.views import CotizacionPDF urlpatterns = [ path("detalle/",login_required(gestionaQTN),name="gestionaQTN"), path("registrar/",login_required(cabeceracotizacion),name="cabeceracotizacion"), path("boucher/<int:id>",login_required(boucher),name="boucher"), path('boucher/<int:id>/confirmar',login_required(ConfirmCotizacion), name="ConfirmCotizacion"), path('boucher/<int:id>/desconfirmar',login_required(DeconfirmCotizacion), name="DeconfirmCotizacion"), path('boucher/<int:id>>/anular',login_required(AnulateCotizacion), name="AnulateCotizacion"), path("boucher/<int:id>/item",login_required(RegistrarItem),name="RegistrarItem"), path("boucher/<int:id>/contacto/<int:idcont>",login_required(cambiarContacto),name="cambiarContacto"), path("boucher/<int:id>/item/<int:iditem>",login_required(RegistrarItem),name="RegistrarItem"), path("boucher/<int:id>/pagourl/<code>",login_required(PagoUrl),name="PagoUrl"), # path('processpayment/',ProcessPayment, name='processpayment'), path("exportar/<int:id>/",CotizacionPDF,name="CotizacionPDF"),
from django.shortcuts import render_to_response, redirect, get_object_or_404 from django.http import HttpResponseRedirect from django.views.generic import ListView from models import Quiz, QuizUser, QuizGame, UserToQuiz, QuizCategory from forms import QuizForm from wouso.core.ui import register_sidebar_block class QuizIndexView(ListView): model = QuizCategory context_object_name = 'categories' template_name = 'quiz/index.html' index = login_required(QuizIndexView.as_view()) class QuizCategoryView(ListView): model = Quiz template_name = 'quiz/category.html' def get_context_data(self, **kwargs): context = super(QuizCategoryView, self).get_context_data(**kwargs) profile = self.request.user.get_profile() quiz_user = profile.get_extension(QuizUser) for q in Quiz.objects.all(): if not q.is_expired(): q.update_status() try:
from django.contrib.auth.decorators import login_required from slow_control import views urlpatterns = [ url(r'^get_water_level', views.get_water_level, name='get_water_level'), url(r'^get_sc_info', views.get_sc_info, name='get_sc_info'), url(r'^get_sensor_newest', views.get_sensor_newest, name='get_sensor_newest'), url(r'^get_sensor_history', views.get_sensor_history, name='get_sensor_history'), url(r'^get_hv_newest', views.get_hv_newest, name='get_hv_newest'), url(r'^get_hv_history', views.get_hv_history, name='get_hv_history'), url( r'^high_voltage', login_required( TemplateView.as_view( template_name="slow_control/high_voltage.html"))), url(r'^buttonclick', views.button_click, name="button_click"), url( r'^button', login_required( TemplateView.as_view(template_name="slow_control/button.html"))), url( r'$', login_required( TemplateView.as_view( template_name="slow_control/slow_control.html"))), ]
from django.contrib.auth.decorators import login_required from django.urls import path from factura.views import ListaVentas, facturaCrear, buscarCliente, buscarProducto, generar_pdf, \ reporteventas urlpatterns = [ path('create/', login_required(facturaCrear), name='factura_ventas'), path('buscar_clientes/', login_required(buscarCliente)), path('buscar_productos/', login_required(buscarProducto)), #path('query/', login_required(consultarFactura), name='consultar_factura'), path('list/', login_required(ListaVentas.as_view()), name='listar_ventas'), path('generar_reporte_factura/', login_required(generar_pdf), name='generar_reporte_factura'), path('reporte_ventas/<int:pk>/', login_required(reporteventas), name='reporte_ventas'), ]
from django.conf.urls import url, include from django.contrib import admin from django.contrib.auth.decorators import login_required from app.informacion.views import * urlpatterns = [ url(r'^inicio/nuevo/$', login_required(CodExpediente_crear), name='cod_expediente_crear'), url(r'^inicio/listar/', login_required(CodExpediente_List.as_view()), name='cod_expediente_listar'), url(r'^inicio/consultar/$', login_required(CodExpediente_consular), name='cod_expediente_consultar'), url(r'^inicio/editar/$', login_required(CodExpediente_editar), name='cod_expediente_editar'), url(r'^datos_generales/nuevo/(?P<codi>[0-9]{4}(.).*?((?:[a-z][a-z0-9_]*)?))/$', login_required(DatosGeneral_crear), name='datos_generales_crear'), url(r'^datos_generales/listar/', login_required(DatosGeneralesList.as_view()), name='datos_generales_listar'), url(r'^datos_generales/consultar/(?P<codi>[0-9]{4}(.).*?((?:[a-z][a-z0-9_]*)?))/$', login_required(DatosGenerales_consultar), name='datos_generales_consultar'), url(r'^datos_generales/consultar2/(?P<codi>[0-9]{4}(.).*?((?:[a-z][a-z0-9_]*)?))/$', login_required(DatosGenerales_consultar2), name='datos_generales_consultar2'), url(r'^datos_generales/editar/(?P<codi>[0-9]{4}(.).*?((?:[a-z][a-z0-9_]*)?))/$',
from django.conf.urls import url, include from django.contrib.auth.decorators import login_required from rest_framework import routers from app_Armado.quickstart import viewss # Wire up our API using automatic URL routing. router = routers.DefaultRouter() router.register(r'users', viewss.UserViewSet) router.register(r'products', viewss.ProductoViewSet) urlpatterns = [ path('', views.post_list, name='post_list '), path('Armafox', inicio, name='Armafox'), path('informacion', info, name='informacion'), path('RegistroExitoso', exito, name='exito'), path('solicitud', login_required(login_exito), name='solicitud'), path('tecnico', login_required(login_exito), name='tecnico'), path('listar_solicitud', login_required(listar_solicitud), name='listar_solicitud'), path('listar_soli_tecnico', login_required(listar_solicitud_tecnico), name='listar_soli_tecnico'), path('listar_producto', login_required(listarproductos), name="listar_producto"), path('listar_pedidos', login_required(listarpedidos), name="listarpedidos"), path('logged_out', login_salida, name='logged_out'), url(r'form', RegistroUsuario.as_view(), name="form"),
def render_to_response(self, context, **kwargs): resp = super(ExportView, self).render_to_response(context, **kwargs) export_format = self.object.export_format if export_format: filename = '%s.%s' % (self.object.slug, export_format.file_ext) resp['Content-Type'] = export_format.mime resp['Content-Disposition'] = 'attachment; filename=%s' % filename return resp def get_template_names(self, **kwargs): template_names = super(ExportView, self).get_template_names(**kwargs) export_format = self.object.export_format if export_format: template_names.insert(0, export_format.template) return template_names export_view = login_required(ExportView.as_view()) class ExportAdd(CreateView): model = Export def get_success_url(self): return reverse('data_exports:export_cols', kwargs={'slug': self.object.slug}) export_add = login_required(ExportAdd.as_view()) class ExportCols(UpdateView): column_inline = inlineformset_factory(Export, Column, form=ColumnForm,
from django.conf.urls import url from django.contrib.auth.decorators import login_required from .views import ReporteTotalOrdenes, ReporteCantidadOrdenes, ReporteTotalProductos, ReporteCantidadProductos, ReporteEvolucionFacturacionMensual, ReporteCargaTrabajoTecnico, ReporteTareaMasRealizada, ReporteTecnicoFinalizador urlpatterns = [ # Matches any html file - to be used for gentella # Avoid using your .html in your resources. # Or create a separate django app. url(r'^total_facturado/', login_required(ReporteTotalOrdenes.as_view(), login_url='usuario:login'), name="reportes"), url(r'^cantidad_ordenes/', login_required(ReporteCantidadOrdenes.as_view(), login_url='usuario:login'), name="cantidad_ordenes"), url(r'^productos/', login_required(ReporteTotalProductos.as_view(), login_url='usuario:login'), name="productos"), url(r'^cantidad_productos/', login_required(ReporteCantidadProductos.as_view(), login_url='usuario:login'), name="cantidad_productos"), url(r'^facturacion_mensual/', login_required(ReporteEvolucionFacturacionMensual.as_view(), login_url='usuario:login'), name="facturacion_mensual"), url(r'^carga_trabajo/', login_required(ReporteCargaTrabajoTecnico.as_view(), login_url='usuario:login'), name="carga_trabajo"),