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
100644 61 lines (47 sloc) 2.039 kb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
from django.contrib import admin
 
from beancounter.models import (Category, BankAccount, AccountTransfer,
                                Person, Entry, Employee, Project, ProjectTime,
                                ProjectInvoice)
 
class CategoryOptions(admin.ModelAdmin):
    fieldsets = (
        (None, {
            'fields': ('type','name')
        }),
        ('Associate Costs of Goods Sold to an Income Category', {
            'classes': ('collapse',),
            'fields' : ('income',)
        }),
    )
 
class BankAccountOptions(admin.ModelAdmin):
    list_display = ('name','type')
    ordering = ['-track_balance','name','type']
 
class PersonOptions(admin.ModelAdmin):
    list_display = ('name','phone','email')
 
class EmployeeAdmin(admin.ModelAdmin):
    list_display = ('name', 'gmt_offset', 'rate')
    search_fields = ('name',)
 
class ProjectInvoiceInline(admin.TabularInline):
    model = ProjectInvoice
 
class ProjectAdmin(admin.ModelAdmin):
    list_display = ('name','start_date', 'total_invoiced', 'total_cost', 'profit')
    inlines = [ProjectInvoiceInline,]
    
class ProjectTimeAdmin(admin.ModelAdmin):
    list_display = ('project', 'employee', 'hours', 'cost_converted')
    list_filter = ('project', 'employee')
 
class AccountTransferOptions(admin.ModelAdmin):
    list_display = ('date','amount','from_account','to_account')
    list_filter = ('to_account','from_account')
    date_hierarchy = 'date'
 
class EntryOptions(admin.ModelAdmin):
    list_display = ('date', 'name', 'category', 'amount')
    date_hierarchy = 'date'
    search_fieldsets = ('name','memo')
    list_filter = ('category','name','bank_account')
 
 
admin.site.register(Category, CategoryOptions)
admin.site.register(BankAccount, BankAccountOptions)
admin.site.register(Person, PersonOptions)
admin.site.register(AccountTransfer, AccountTransferOptions)
admin.site.register(Entry, EntryOptions)
admin.site.register(Employee, EmployeeAdmin)
admin.site.register(Project, ProjectAdmin)
admin.site.register(ProjectTime, ProjectTimeAdmin)