summaryrefslogtreecommitdiff
path: root/app/income
diff options
context:
space:
mode:
Diffstat (limited to 'app/income')
-rw-r--r--app/income/__init__.py0
-rw-r--r--app/income/admin.py27
-rw-r--r--app/income/models.py36
3 files changed, 63 insertions, 0 deletions
diff --git a/app/income/__init__.py b/app/income/__init__.py
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/app/income/__init__.py
diff --git a/app/income/admin.py b/app/income/admin.py
new file mode 100644
index 0000000..4ca6aba
--- /dev/null
+++ b/app/income/admin.py
@@ -0,0 +1,27 @@
+from django.contrib import admin
+
+from .models import Gig
+
+
+class GigAdmin(admin.ModelAdmin):
+ list_display = ('title', 'status', 'payment_status', 'publisher', 'pub_date', 'created')
+ list_filter = ('publisher', 'status', 'payment_status')
+ fieldsets = (
+ ('Gig', {
+ 'fields': (
+ 'title',
+ 'pitch',
+ ('payment', 'pay_type'),
+ ('status', 'pub_date', 'payment_status'),
+ 'publisher',
+ 'pub_item'
+ ),
+ 'classes': (
+ 'show',
+ 'extrapretty',
+ 'wide'
+ )
+ }
+ ),
+ )
+admin.site.register(Gig, GigAdmin)
diff --git a/app/income/models.py b/app/income/models.py
new file mode 100644
index 0000000..9cace38
--- /dev/null
+++ b/app/income/models.py
@@ -0,0 +1,36 @@
+from django.db import models
+from django.utils import timezone
+
+from resume.models import PubItem, Publisher
+
+
+class Gig(models.Model):
+ title = models.CharField(max_length=200)
+ pitch = models.TextField(null=True, blank=True)
+ created = models.DateTimeField(auto_now_add=True)
+ pub_date = models.DateTimeField(default=timezone.now)
+ STATUS = (
+ (0, "Pitched"),
+ (1, "Accepted"),
+ (2, "Rejected"),
+ (3, "Published"),
+ )
+ status = models.IntegerField(choices=STATUS, default=1)
+ payment = models.DecimalField(max_digits=10, decimal_places=2)
+ PAY_STATUS = (
+ (0, "NOT SUBMITTED"),
+ (1, "Invoiced"),
+ (2, "Paid"),
+ )
+ payment_status = models.IntegerField(choices=PAY_STATUS, default=1)
+ PAY_TYPE = (
+ (0, "Flat Rate"),
+ (1, "Per Word"),
+ (2, "Hourly"),
+ )
+ pay_type = models.IntegerField(choices=PAY_TYPE, default=1)
+ publisher = models.ForeignKey(Publisher, blank=True, null=True)
+ pub_item = models.ForeignKey(PubItem, blank=True, null=True)
+
+ def __str__(self):
+ return self.title