コード例 #1
0
def manage_invites(request):
    ''' invite management page '''
    data = {
        'title': 'Invitations',
        'invites': models.SiteInvite.objects.filter(user=request.user),
        'form': forms.CreateInviteForm(),
    }
    return TemplateResponse(request, 'manage_invites.html', data)
コード例 #2
0
ファイル: view_actions.py プロジェクト: SHSauler/bookwyrm
def create_invite(request):
    ''' creates a user invite database entry '''
    form = forms.CreateInviteForm(request.POST)
    if not form.is_valid():
        return HttpResponseBadRequest("ERRORS : %s" % (form.errors, ))

    invite = form.save(commit=False)
    invite.user = request.user
    invite.save()

    return redirect('/invite')
コード例 #3
0
 def get(self, request):
     ''' invite management page '''
     data = {
         'title':
         'Invitations',
         'invites':
         models.SiteInvite.objects.filter(
             user=request.user).order_by('-created_date'),
         'form':
         forms.CreateInviteForm(),
     }
     return TemplateResponse(request, 'settings/manage_invites.html', data)
コード例 #4
0
    def get(self, request):
        """invite management page"""
        paginated = Paginator(
            models.SiteInvite.objects.filter(user=request.user).order_by(
                "-created_date"
            ),
            PAGE_LENGTH,
        )

        data = {
            "invites": paginated.get_page(request.GET.get("page")),
            "form": forms.CreateInviteForm(),
        }
        return TemplateResponse(request, "settings/manage_invites.html", data)
コード例 #5
0
    def post(self, request):
        """ creates an invite database entry """
        form = forms.CreateInviteForm(request.POST)
        if not form.is_valid():
            return HttpResponseBadRequest("ERRORS : %s" % (form.errors, ))

        invite = form.save(commit=False)
        invite.user = request.user
        invite.save()

        paginated = Paginator(
            models.SiteInvite.objects.filter(
                user=request.user).order_by("-created_date"),
            PAGE_LENGTH,
        )
        data = {"invites": paginated.page(1), "form": form}
        return TemplateResponse(request, "settings/manage_invites.html", data)
コード例 #6
0
ファイル: invite.py プロジェクト: tastytea/bookwyrm
    def get(self, request):
        ''' invite management page '''
        try:
            page = int(request.GET.get('page', 1))
        except ValueError:
            page = 1

        paginated = Paginator(
            models.SiteInvite.objects.filter(
                user=request.user).order_by('-created_date'), PAGE_LENGTH)

        data = {
            'title': 'Invitations',
            'invites': paginated.page(page),
            'form': forms.CreateInviteForm(),
        }
        return TemplateResponse(request, 'settings/manage_invites.html', data)
コード例 #7
0
ファイル: invite.py プロジェクト: reesporte/bookwyrm
    def get(self, request):
        """invite management page"""
        paginated = Paginator(
            models.SiteInvite.objects.filter(user=request.user).order_by(
                "-created_date"
            ),
            PAGE_LENGTH,
        )

        page = paginated.get_page(request.GET.get("page"))
        data = {
            "invites": page,
            "page_range": paginated.get_elided_page_range(
                page.number, on_each_side=2, on_ends=1
            ),
            "form": forms.CreateInviteForm(),
        }
        return TemplateResponse(request, "settings/invites/manage_invites.html", data)
コード例 #8
0
ファイル: invite.py プロジェクト: tastytea/bookwyrm
    def post(self, request):
        ''' creates an invite database entry '''
        form = forms.CreateInviteForm(request.POST)
        if not form.is_valid():
            return HttpResponseBadRequest("ERRORS : %s" % (form.errors, ))

        invite = form.save(commit=False)
        invite.user = request.user
        invite.save()

        paginated = Paginator(
            models.SiteInvite.objects.filter(
                user=request.user).order_by('-created_date'), PAGE_LENGTH)
        data = {
            'title': 'Invitations',
            'invites': paginated.page(1),
            'form': form
        }
        return TemplateResponse(request, 'settings/manage_invites.html', data)
コード例 #9
0
ファイル: test_invite.py プロジェクト: arkhi/bookwyrm
    def test_manage_invites_post(self):
        """there are so many views, this just makes sure it LOADS"""
        view = views.ManageInvites.as_view()
        form = forms.CreateInviteForm()
        form.data["use_limit"] = 3
        form.data["expiry"] = ""
        request = self.factory.post("", form.data)
        request.user = self.local_user
        request.user.is_superuser = True

        result = view(request)

        self.assertIsInstance(result, TemplateResponse)
        result.render()
        self.assertEqual(result.status_code, 200)

        invite = models.SiteInvite.objects.get()
        self.assertEqual(invite.use_limit, 3)
        self.assertIsNone(invite.expiry)