Browse Source

Merge branch 'master' of git.illyse.org:coin

Sébastien Dufromentel 11 years ago
parent
commit
226fdbf5ff

+ 3 - 0
.gitignore

@@ -4,3 +4,6 @@
 .svn
 coin/settings_local.py
 .DS_Store
+.project
+.pydevproject
+.settings/*

+ 0 - 0
coin/billing/__init__.py


+ 8 - 0
coin/billing/admin.py

@@ -0,0 +1,8 @@
+# -*- coding: utf-8 -*-
+from django.contrib import admin
+from coin.billing.models import Invoice, InvoceDetail, Payment
+
+
+admin.site.register(Invoice,)
+admin.site.register(InvoceDetail,)
+admin.site.register(Payment,)

+ 38 - 0
coin/billing/models.py

@@ -0,0 +1,38 @@
+# -*- coding: utf-8 -*-
+from django.db import models
+
+
+class Invoice(models.Model):
+
+    INVOICES_STATUS_CHOICES = (
+        ('open', 'A payer'),
+        ('closed', 'Reglée'),
+        ('trouble', 'Litige')
+    )
+
+    status = models.CharField(max_length=50, choices=INVOICES_STATUS_CHOICES,
+                              default='open')
+    amount = models.DecimalField(max_digits=5, decimal_places=2)
+    date = models.DateField(auto_now_add=True, null=True)
+    period_from = models.DateField(auto_now_add=False, null=True)
+    period_to = models.DateField(auto_now_add=False, null=True)
+    date_due = models.DateField(auto_now_add=False, null=True)
+
+
+class InvoceDetail(models.Model):
+
+    label = models.CharField(max_length=100)
+    amount = models.DecimalField(max_digits=5, decimal_places=2)
+    quantity = models.IntegerField(null=True)
+    tax = models.IntegerField(null=True)
+    invoice = models.ForeignKey(Invoice)
+
+    def __unicode__(self):
+        return self.label
+
+
+class Payment(models.Model):
+    payment_means = models.CharField(max_length=100, null=True)
+    amount = models.DecimalField(max_digits=7, decimal_places=2, null=True)
+    date = models.DateField(auto_now_add=True)
+    invoce = models.ForeignKey(Invoice)

+ 3 - 0
coin/billing/tests.py

@@ -0,0 +1,3 @@
+from django.test import TestCase
+
+# Create your tests here.

+ 3 - 0
coin/billing/views.py

@@ -0,0 +1,3 @@
+from django.shortcuts import render
+
+# Create your views here.

+ 9 - 0
coin/members/models.py

@@ -78,6 +78,9 @@ class Member(models.Model):
         ldap_user.password = new_password
         ldap_user.save()
 
+    class Meta:
+        verbose_name = 'membre'
+
 
 class CryptoKey(models.Model):
 
@@ -90,6 +93,9 @@ class CryptoKey(models.Model):
     def __unicode__(self):
         return u'Clé %s de %s' % (self.type, self.member)
 
+    class Meta:
+        verbose_name = 'clé'
+
 
 class MembershipFee(models.Model):
     member = models.ForeignKey('Member', related_name='membership_fees',
@@ -111,6 +117,9 @@ class MembershipFee(models.Model):
         return (u'%s - %s - %i€' % (self.member, self.start_date,
                                      self.amount))
 
+    class Meta:
+        verbose_name = 'cotisation'
+
 
 class LdapUser(ldapdb.models.Model):
     # TODO: déplacer ligne suivante dans settings.py

+ 2 - 1
coin/settings.py

@@ -143,7 +143,8 @@ INSTALLED_APPS = (
     'ldapdb',  # LDAP as database backend
     'autocomplete_light', #Automagic autocomplete foreingkey form component
     'coin.members',
-    'coin.offers'
+    'coin.offers',
+    'coin.billing'
 )
 
 # A sample logging configuration. The only tangible logging

BIN
illyse-si-design/img/46192785_d094c73016_o.jpg


BIN
illyse-si-design/img/5619408661_3aefc355a2_o.jpg


BIN
illyse-si-design/img/flickr-481420534-medium.jpg