Source code for creditcards.views

from django.contrib.auth.decorators import login_required

from core.views import (list_entries, show_single_entry,
                        AddApprovableEntryView)

from .forms import CreditCardEntryForm, CreditCardTransactionFormSet
from .models import CreditCardEntry, CreditCardReceipt


@login_required
[docs]def list_creditcard_entries(request, template_name='creditcards/list.html'): """Retrieve every :class:`CreditCardEntry`.""" return list_entries(request, template_name, CreditCardEntry)
[docs]def show_creditcard_entry(request, entry_id, template_name="creditcards/show_entry.html"): """View a :class:`~.models.CreditCardEntry`.""" return show_single_entry(request, entry_id, template_name, CreditCardEntry)
[docs]def add_creditcard_entry(request, entry_id=None, template_name="creditcards/credit_card_form.html"): """Add, edit, approve or delete a :class:`~.models.CreditCardEntry`.""" view = AddCreditCardEntry() return view.render(request, entry_id, template_name)
[docs]class AddCreditCardEntry(AddApprovableEntryView): """Customize the generic AddApprovableEntryView for CreditCardEntries.""" entry_class = CreditCardEntry entry_form_class = CreditCardEntryForm transaction_formset_class = CreditCardTransactionFormSet verbose_name = 'Credit Card' receipt_class = CreditCardReceipt receipt_entry_field = 'creditcard_entry' list_entries_view = 'creditcards.views.list_creditcard_entries' add_entry_view = 'creditcards.views.add_creditcard_entry' show_entry_view = 'creditcards.views.show_creditcard_entry'