Files
@ e6c623a69ca9
Branch filter:
Location: symposion_app/pinaxcon/registrasion/views.py - annotation
e6c623a69ca9
1.4 KiB
text/x-python
Refactors all speaker-facing forms and editing pages to use the new theme (#27)
* Themes speaker_edit.html
* speaker_create now uses takeflight theme
* proposal_submit_kind now uses takeflight theme
* fixes bug in form_snippet
* Optimises proposals_submit_kind
* proposal_submit now uses wagtail theme
* Proposal_edit now uses new theme
* More forms
* Proposal details page now loads from take flight theme
* proposal_fields now looks nicer under the take flight theme
* proposal_speaker_manage rethemed
* Themes speaker_edit.html
* speaker_create now uses takeflight theme
* proposal_submit_kind now uses takeflight theme
* fixes bug in form_snippet
* Optimises proposals_submit_kind
* proposal_submit now uses wagtail theme
* Proposal_edit now uses new theme
* More forms
* Proposal details page now loads from take flight theme
* proposal_fields now looks nicer under the take flight theme
* proposal_speaker_manage rethemed
6c94eb9e91ee 6c94eb9e91ee 6c94eb9e91ee 6c94eb9e91ee 6c94eb9e91ee 6c94eb9e91ee 6c94eb9e91ee 6c94eb9e91ee 6c94eb9e91ee 6c94eb9e91ee 6c94eb9e91ee 6c94eb9e91ee 6c94eb9e91ee 6c94eb9e91ee 6c94eb9e91ee 6c94eb9e91ee 6c94eb9e91ee 6c94eb9e91ee 6c94eb9e91ee 6c94eb9e91ee 6c94eb9e91ee 6c94eb9e91ee 6c94eb9e91ee 6c94eb9e91ee 6c94eb9e91ee 6c94eb9e91ee 6c94eb9e91ee 6c94eb9e91ee 6c94eb9e91ee 6c94eb9e91ee 6c94eb9e91ee 6c94eb9e91ee 6c94eb9e91ee 6c94eb9e91ee 6c94eb9e91ee 6c94eb9e91ee 6c94eb9e91ee 6c94eb9e91ee 6c94eb9e91ee 6c94eb9e91ee 6c94eb9e91ee 6c94eb9e91ee 6c94eb9e91ee 6c94eb9e91ee 6c94eb9e91ee 6c94eb9e91ee 6c94eb9e91ee | from django.conf import settings
from django.contrib.auth.decorators import login_required
from django.contrib import messages
from django.core.exceptions import ObjectDoesNotExist
from django.core.exceptions import ValidationError
from django.http import Http404
from django.shortcuts import get_object_or_404
from django.shortcuts import redirect
from django.shortcuts import render
from registrasion import models as rego
from registrasion.controllers.invoice import InvoiceController
import models
def demopay(request, invoice_id, access_code):
''' Marks the invoice with the given invoice id as paid.
'''
invoice_id = int(invoice_id)
inv = get_object_or_404(rego.Invoice.objects,pk=invoice_id)
invoice = InvoiceController(inv)
if not invoice.can_view(user=request.user, access_code=access_code):
raise Http404()
to_invoice = redirect("invoice", invoice.invoice.id, access_code)
try:
invoice.validate_allowed_to_pay() # Verify that we're allowed to do this.
except ValidationError as ve:
messages.error(request, ve.message)
return to_invoice
# Create the payment object
models.DemoPayment.objects.create(
invoice=invoice.invoice,
reference="Demo payment by user: " + request.user.username,
amount=invoice.invoice.value,
)
invoice.update_status()
messages.success(request, "This invoice was successfully paid.")
return to_invoice
|