public
Description: Django-beancounter is a simple app I built to track my income and expenses.
Homepage: http://github.com/lincolnloop/django-beancounter
Clone URL: git://github.com/lincolnloop/django-beancounter.git
auto-populate cost
lincolnloop (author)
Mon Jan 05 16:58:35 -0800 2009
commit  f9ffe2cd6008a99f8646f577afc7081c3a05035c
tree    e70caf29bc8e7e84df4c74a185d99b60e84fad50
parent  5b15796cec3a3f638bfa427bee88b4ac46d88c99
...
30
31
32
33
 
34
35
36
...
30
31
32
 
33
34
35
36
0
@@ -30,7 +30,7 @@ class ProjectInvoiceInline(admin.TabularInline):
0
     model = ProjectInvoice
0
 
0
 class ProjectAdmin(admin.ModelAdmin):
0
-    list_display = ('name','start_date', 'total_invoiced', 'total_cost', 'profit')
0
+    list_display = ('name', 'total_invoiced', 'total_cost', 'profit')
0
     inlines = [ProjectInvoiceInline,]
0
     
0
 class ProjectTimeAdmin(admin.ModelAdmin):
...
114
115
116
117
118
119
120
...
167
168
169
 
 
 
 
 
 
 
170
171
172
...
114
115
116
 
117
118
119
...
166
167
168
169
170
171
172
173
174
175
176
177
178
0
@@ -114,7 +114,6 @@ class Employee(Person):
0
 class Project(models.Model):
0
     name = models.CharField(max_length=100)
0
     employees = models.ManyToManyField(Employee)
0
-    start_date = models.DateField()
0
     active = models.BooleanField(default=True)
0
 
0
     def __unicode__(self):
0
@@ -167,6 +166,13 @@ class ProjectTime(models.Model):
0
 
0
     def __unicode__(self):
0
         return "%s on %s (%s-%s)" % (self.employee, self.project, self.start_date, self.end_date)
0
+    
0
+    def save(self, force_insert=False, force_update=False):
0
+        if not self.cost:
0
+            self.cost = self.hours * self.employee.hourly_rate
0
+        if not self.cost_converted and self.employee.currency == "USD":
0
+            self.cost_converted = self.cost
0
+        super(ProjectTime, self).save(force_insert, force_update)
0
 
0
 
0
 class Entry(models.Model):

Comments