Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/LiamBrenner/wagtailinvoices
A wagtail module for creating invoices
https://github.com/LiamBrenner/wagtailinvoices
Last synced: 2 months ago
JSON representation
A wagtail module for creating invoices
- Host: GitHub
- URL: https://github.com/LiamBrenner/wagtailinvoices
- Owner: LiamBrenner
- License: bsd-3-clause
- Created: 2015-08-01T06:47:33.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2017-03-05T21:12:35.000Z (almost 8 years ago)
- Last Synced: 2024-05-21T13:50:52.081Z (8 months ago)
- Language: Python
- Size: 91.8 KB
- Stars: 33
- Watchers: 3
- Forks: 6
- Open Issues: 0
-
Metadata Files:
- Readme: README.rst
- License: LICENSE
Awesome Lists containing this project
- awesome-wagtail - wagtailinvoices - A Wagtail module for creating invoices. (Apps / E-commerce)
README
=================================
Version 1.0 is under development!
================================================
wagtailinvoices
===============A plugin for Wagtail that provides invoice functionality
`Documentation on ReadTheDocs `_Installing
==========Install using pip::
pip install wagtailinvoices
It works with Wagtail 1.0b2 and upwards.
Using
=====Create invoice models for your application that inherit from the relevant ``wagtailinvoices`` models:
.. code-block:: python
from django.db import models
from wagtail.wagtailadmin.edit_handlers import FieldPanel
from wagtail.wagtailcore.fields import RichTextField
from wagtail.wagtailcore.models import Pagefrom wagtailinvoices.models import InvoiceIndexMixin, AbstractInvoice
from wagtailinvoices.decorators import invoiceindex# The decorator registers this model as a invoice index
@invoiceindex
class InvoiceIndex(InvoiceIndexMixin, Page):
# Add extra fields here, as in a normal Wagtail Page class, if required
invoice_model = 'Invoice'class Invoice(AbstractInvoice):
# Invoice is a normal Django model, *not* a Wagtail Page.
# Add any fields required for your page.
# It already has ``date`` field, and a link to its parent ``InvoiceIndex`` Page
full_name = models.CharField(max_length=255)
organization = models.CharField(max_length=255)
phone_number = models.CharField(max_length=255)
panels = [
FieldPanel('full_name', classname='full'),
FieldPanel('organization'),
FieldPanel('phone_number')
] + AbstractInvoice.panelsdef __unicode__(self):
return self.full_name