示例#1
0
 def get_queryset(self):
     """ Return the queryset of form pages for this view """
     queryset = get_forms_for_user(self.request.user)
     ordering = self.get_ordering()
     if ordering:
         if isinstance(ordering, str):
             ordering = (ordering, )
         queryset = queryset.order_by(*ordering)
     return queryset
示例#2
0
 def get_queryset(self):
     """ Return the queryset of form pages for this view """
     queryset = get_forms_for_user(self.request.user)
     ordering = self.get_ordering()
     if ordering:
         if isinstance(ordering, str):
             ordering = (ordering,)
         queryset = queryset.order_by(*ordering)
     return queryset
示例#3
0
def index(request):
    form_pages = get_forms_for_user(request.user)
    form_pages = (
        form_pages.descendant_of(request.site.root_page).specific()
    )
    paginator, form_pages = paginate(request, form_pages)

    return render(request, 'wagtailforms/index.html', {
        'form_pages': form_pages,
        'page_obj': form_pages,
    })
示例#4
0
    def dispatch(self, request, *args, **kwargs):
        """ Check permissions and set the form page """

        self.form_page = kwargs.get('form_page')

        if not get_forms_for_user(request.user).filter(pk=self.form_page.id).exists():
            raise PermissionDenied

        self.is_csv_export = (self.request.GET.get('action') == 'CSV')
        if self.is_csv_export:
            self.paginate_by = None

        return super().dispatch(request, *args, **kwargs)
示例#5
0
文件: views.py 项目: timonweb/wagtail
    def dispatch(self, request, *args, **kwargs):
        """ Check permissions, set the page and submissions, handle delete """
        page_id = kwargs.get('page_id')

        if not get_forms_for_user(self.request.user).filter(id=page_id).exists():
            raise PermissionDenied

        self.page = get_object_or_404(Page, id=page_id).specific

        self.submissions = self.get_queryset()

        if self.request.method == 'POST':
            self.handle_delete(self.submissions)
            return redirect(self.get_success_url(), page_id)

        return super().dispatch(request, *args, **kwargs)
示例#6
0
    def dispatch(self, request, *args, **kwargs):
        """ Check permissions, set the page and submissions, handle delete """
        page_id = kwargs.get('page_id')

        if not get_forms_for_user(self.request.user).filter(id=page_id).exists():
            raise PermissionDenied

        self.page = get_object_or_404(Page, id=page_id).specific

        self.submissions = self.get_queryset()

        if self.request.method == 'POST':
            self.handle_delete(self.submissions)
            return redirect(self.get_success_url(), page_id)

        return super().dispatch(request, *args, **kwargs)
示例#7
0
文件: views.py 项目: timonweb/wagtail
    def dispatch(self, request, *args, **kwargs):
        """ Check permissions and set the form page """

        self.form_page = kwargs.get('form_page')

        if not get_forms_for_user(request.user).filter(pk=self.form_page.id).exists():
            raise PermissionDenied

        self.is_export = (self.request.GET.get('export') in self.FORMATS)
        if self.is_export:
            self.paginate_by = None
            data_fields = self.form_page.get_data_fields()
            # Set the export fields and the headings for spreadsheet export
            self.list_export = [field for field, label in data_fields]
            self.export_heading_overrides = dict(data_fields)

        return super().dispatch(request, *args, **kwargs)
 def is_shown(self, request):
     # show this only if the user has permission to retrieve submissions for at least one form
     return get_forms_for_user(request.user).exists()
示例#9
0
 def get_queryset(self, request):
     return get_forms_for_user(request.user)
示例#10
0
 def get_form_page(self, request):
     form_pages = get_forms_for_user(request.user)
     try:
         return form_pages.get(pk=int(request.GET['page_id'])).specific
     except (KeyError, TypeError, ValueError, Page.DoesNotExist):
         pass
示例#11
0
 def get_queryset(self, request):
     qs = super().get_queryset(request)
     form_pages = get_forms_for_user(request.user)
     return (qs.filter(page__in=form_pages).exclude(
         status=self.model.INCOMPLETE))
示例#12
0
 def user_can_list(self, user):
     return get_forms_for_user(user).exists()
示例#13
0
 def is_shown(self, request):
     # show this only if the user has permission to retrieve submissions for at least one form
     return get_forms_for_user(request.user).exists()