Skip to content
Snippets Groups Projects
Commit 126686ab authored by Pierre-antoine Comby's avatar Pierre-antoine Comby
Browse files

add a TransactionType model

parent f3ec0836
No related branches found
No related tags found
1 merge request!19Import nk15
Pipeline #7781 passed with warnings with stages
in 3 minutes and 50 seconds
......@@ -7,7 +7,7 @@ from polymorphic.admin import PolymorphicChildModelAdmin, \
PolymorphicChildModelFilter, PolymorphicParentModelAdmin
from .models.notes import Alias, Note, NoteClub, NoteSpecial, NoteUser
from .models.transactions import Transaction, TransactionCategory, TransactionTemplate
from .models.transactions import Transaction, TransactionCategory, TransactionTemplate, TransactionType
class AliasInlines(admin.TabularInline):
......@@ -161,3 +161,11 @@ class TransactionCategoryAdmin(admin.ModelAdmin):
"""
list_display = ('name', )
list_filter = ('name', )
@admin.register(TransactionType)
class TransactionTypeAdmin(admin.ModelAdmin):
"""
Admin customisation for TransactionTemplate
"""
list_display = ('name', )
list_filter = ('name', )
......@@ -3,11 +3,11 @@
from .notes import Alias, Note, NoteClub, NoteSpecial, NoteUser
from .transactions import MembershipTransaction, Transaction, \
TransactionCategory, TransactionTemplate
TransactionCategory, TransactionTemplate, TransactionType
__all__ = [
# Notes
'Alias', 'Note', 'NoteClub', 'NoteSpecial', 'NoteUser',
# Transactions
'MembershipTransaction', 'Transaction', 'TransactionCategory', 'TransactionTemplate',
'MembershipTransaction', 'Transaction', 'TransactionCategory', 'TransactionTemplate','TransactionType',
]
......@@ -76,6 +76,26 @@ class TransactionTemplate(models.Model):
return reverse('note:template_update', args=(self.pk, ))
class TransactionType(models.Model):
"""
Defined a recurrent transaction category
Example: food, softs, ...
"""
name = models.CharField(
verbose_name=_("name"),
max_length=31,
unique=True,
)
class Meta:
verbose_name = _("transaction type")
verbose_name_plural = _("transaction types")
def __str__(self):
return str(self.name)
class Transaction(models.Model):
"""
General transaction between two :model:`note.Note`
......@@ -107,7 +127,9 @@ class Transaction(models.Model):
default=1,
)
amount = models.PositiveIntegerField(verbose_name=_('amount'), )
transaction_type = models.CharField(
transaction_type = models.ForeignKey(
TransactionType,
on_delete=models.PROTECT,
verbose_name=_('type'),
max_length=31,
)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment