Skip to content

Commit 83d7cb7

Browse files
author
Aaron Riedener
committed
initialer Import
0 parents  commit 83d7cb7

File tree

2,206 files changed

+235577
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

2,206 files changed

+235577
-0
lines changed

.directory

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
[Dolphin]
2+
Timestamp=2010,2,24,8,17,53
3+
ViewMode=1

__init__.py

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
# -*- coding: utf-8 -*-

crm/__init__.py

Whitespace-only changes.

crm/admin.py

+302
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,302 @@
1+
# -*- coding: utf-8 -*-
2+
from django import forms
3+
from django.core.urlresolvers import reverse
4+
from datetime import date
5+
from crm.models import *
6+
from django.utils.translation import ugettext as _
7+
from django.contrib import admin
8+
9+
10+
class ContractPostalAddress(admin.StackedInline):
11+
model = PostalAddressForContract
12+
extra = 1
13+
classes = ('collapse-open',)
14+
fieldsets = (
15+
('Basics', {
16+
'fields': ('prefix', 'prename', 'name', 'addressline1', 'addressline2', 'addressline3', 'addressline4', 'zipcode', 'town', 'state', 'country', 'purpose')
17+
}),
18+
)
19+
allow_add = True
20+
21+
class ContractPhoneAddress(admin.TabularInline):
22+
model = PhoneAddressForContract
23+
extra = 1
24+
classes = ('collapse-open',)
25+
fieldsets = (
26+
('Basics', {
27+
'fields': ('phone', 'purpose',)
28+
}),
29+
)
30+
allow_add = True
31+
32+
class ContractEmailAddress(admin.TabularInline):
33+
model = EmailAddressForContract
34+
extra = 1
35+
classes = ('collapse-open',)
36+
fieldsets = (
37+
('Basics', {
38+
'fields': ('email', 'purpose',)
39+
}),
40+
)
41+
allow_add = True
42+
43+
class PurchaseOrderPostalAddress(admin.StackedInline):
44+
model = PostalAddressForPurchaseOrder
45+
extra = 1
46+
classes = ('collapse-open',)
47+
fieldsets = (
48+
('Basics', {
49+
'fields': ('prefix', 'prename', 'name', 'addressline1', 'addressline2', 'addressline3', 'addressline4', 'zipcode', 'town', 'state', 'country', 'purpose')
50+
}),
51+
)
52+
allow_add = True
53+
54+
class PurchaseOrderPhoneAddress(admin.TabularInline):
55+
model = PhoneAddressForPurchaseOrder
56+
extra = 1
57+
classes = ('collapse-open',)
58+
fieldsets = (
59+
('Basics', {
60+
'fields': ('phone', 'purpose',)
61+
}),
62+
)
63+
allow_add = True
64+
65+
class PurchaseOrderEmailAddress(admin.TabularInline):
66+
model = EmailAddressForPurchaseOrder
67+
extra = 1
68+
classes = ('collapse-open',)
69+
fieldsets = (
70+
('Basics', {
71+
'fields': ('email', 'purpose',)
72+
}),
73+
)
74+
allow_add = True
75+
76+
class SalesContractPostalAddress(admin.StackedInline):
77+
model = PostalAddressForSalesContract
78+
extra = 1
79+
classes = ('collapse-open',)
80+
fieldsets = (
81+
('Basics', {
82+
'fields': ('prefix', 'prename', 'name', 'addressline1', 'addressline2', 'addressline3', 'addressline4', 'zipcode', 'town', 'state', 'country', 'purpose')
83+
}),
84+
)
85+
allow_add = True
86+
87+
class SalesContractPhoneAddress(admin.TabularInline):
88+
model = PhoneAddressForSalesContract
89+
extra = 1
90+
classes = ('collapse-open',)
91+
fieldsets = (
92+
('Basics', {
93+
'fields': ('phone', 'purpose',)
94+
}),
95+
)
96+
allow_add = True
97+
98+
class SalesContractEmailAddress(admin.TabularInline):
99+
model = EmailAddressForSalesContract
100+
extra = 1
101+
classes = ('collapse-open',)
102+
fieldsets = (
103+
('Basics', {
104+
'fields': ('email', 'purpose',)
105+
}),
106+
)
107+
allow_add = True
108+
109+
class SalesContractInlinePosition(admin.TabularInline):
110+
model = SalesContractPosition
111+
extra = 1
112+
classes = ('collapse-open',)
113+
fieldsets = (
114+
('', {
115+
'fields': ('positionNumber', 'quantity', 'product', 'description', 'discount', 'overwriteProductPrice', 'positionPricePerUnit', 'sentOn', 'shipmentPartner')
116+
}),
117+
)
118+
allow_add = True
119+
120+
121+
class InlineQuote(admin.TabularInline):
122+
model = Quote
123+
classes = ('collapse-open')
124+
extra = 1
125+
fieldsets = (
126+
(_('Basics'), {
127+
'fields': ('contract', 'customer', 'validuntil', 'state')
128+
}),
129+
(_('Advanced (not editable)'), {
130+
'classes': ('collapse',),
131+
'fields': ('lastPricingDate', 'lastCalculatedPrice')
132+
}),
133+
)
134+
allow_add = True
135+
136+
inlines = [SalesContractInlinePosition, SalesContractPostalAddress, SalesContractPhoneAddress, SalesContractEmailAddress]
137+
138+
class OptionContract(admin.ModelAdmin):
139+
list_display = ('id', 'description', 'staff')
140+
list_display_links = ('id','description')
141+
fieldsets = (
142+
(_('Basics'), {
143+
'fields': ('description',)
144+
}),
145+
)
146+
save_as = True
147+
inlines = [ContractPostalAddress, ContractPhoneAddress, ContractEmailAddress, InlineQuote]
148+
149+
150+
class PurchaseOrderInlinePosition(admin.TabularInline):
151+
model = PurchaseOrderPosition
152+
extra = 1
153+
classes = ('collapse-open',)
154+
fieldsets = (
155+
('', {
156+
'fields': ('positionNumber', 'quantity', 'product', 'description', 'discount', 'positionPricePerUnit', 'sentOn', 'shipmentPartner')
157+
}),
158+
)
159+
allow_add = True
160+
161+
162+
class OptionInvoice(admin.ModelAdmin):
163+
list_display = ('contract', 'id', 'customer', 'payableuntil', 'state', 'staff', 'lastmodification', 'lastmodifiedby')
164+
list_display_links = ('contract','customer')
165+
fieldsets = (
166+
(_('Basics'), {
167+
'fields': ('contract', 'customer', 'payableuntil', 'state')
168+
}),
169+
(_('Advanced (not editable)'), {
170+
'classes': ('collapse',),
171+
'fields': ('lastPricingDate', 'lastCalculatedPrice')
172+
}),
173+
)
174+
save_as = True
175+
inlines = [SalesContractInlinePosition, SalesContractPostalAddress, SalesContractPhoneAddress, SalesContractEmailAddress]
176+
177+
def recalculatePrices(self, request, queryset):
178+
for obj in queryset:
179+
obj.recalculatePrices(date.today().__str__())
180+
recalculatePrices.short_description = _("Recalculate Prices")
181+
actions = ['recalculatePrices']
182+
183+
184+
class OptionQuote(admin.ModelAdmin):
185+
list_display = ('contract', 'id', 'customer', 'validuntil', 'state', 'staff', 'lastmodification', 'lastmodifiedby')
186+
list_display_links = ('contract','customer')
187+
fieldsets = (
188+
(_('Basics'), {
189+
'fields': ('contract', 'customer', 'validuntil', 'state')
190+
}),
191+
(_('Advanced (not editable)'), {
192+
'classes': ('collapse',),
193+
'fields': ('lastPricingDate', 'lastCalculatedPrice')
194+
}),
195+
)
196+
save_as = True
197+
inlines = [SalesContractInlinePosition, SalesContractPostalAddress, SalesContractPhoneAddress, SalesContractEmailAddress]
198+
199+
def recalculatePrices(self, request, queryset):
200+
for obj in queryset:
201+
obj.recalculatePrices(date.today().__str__())
202+
recalculatePrices.short_description = _("Recalculate Prices")
203+
204+
def createInvoice(self, request, queryset):
205+
for obj in queryset:
206+
obj.createInvoice()
207+
createInvoice.short_description = _("Create Invoice")
208+
209+
actions = ['recalculatePrices', 'createInvoice']
210+
211+
class OptionPurchaseOrder(admin.ModelAdmin):
212+
list_display = ('distributor', 'state',)
213+
list_display_links = ('distributor', 'state')
214+
fieldsets = (
215+
(_('Basics'), {
216+
'fields': ('distributor', 'state', 'externalReference')
217+
}),
218+
)
219+
save_as = True
220+
inlines = [PurchaseOrderInlinePosition, PurchaseOrderPostalAddress, PurchaseOrderPhoneAddress, PurchaseOrderEmailAddress]
221+
222+
class ProductPrice(admin.TabularInline):
223+
model = Price
224+
extra = 1
225+
classes = ('collapse-open',)
226+
fieldsets = (
227+
('', {
228+
'fields': ('price', 'validfrom', 'validuntil')
229+
}),
230+
)
231+
allow_add = True
232+
233+
class OptionProduct(admin.ModelAdmin):
234+
list_display = ('productNumber', 'title',)
235+
list_display_links = ('productNumber',)
236+
fieldsets = (
237+
(_('Basics'), {
238+
'fields': ('productNumber', 'title', 'description')
239+
}),)
240+
inlines = [ProductPrice]
241+
242+
class ContactPostalAddress(admin.StackedInline):
243+
model = PostalAddressForContact
244+
extra = 1
245+
classes = ('collapse-open',)
246+
fieldsets = (
247+
('Basics', {
248+
'fields': ('prename', 'name', 'addressline1', 'addressline2', 'addressline3', 'addressline4', 'zipcode', 'town', 'state', 'country', 'purpose')
249+
}),
250+
)
251+
allow_add = True
252+
253+
class ContactPhoneAddress(admin.TabularInline):
254+
model = PhoneAddressForContact
255+
extra = 1
256+
classes = ('collapse-open',)
257+
fieldsets = (
258+
('Basics', {
259+
'fields': ('phone', 'purpose',)
260+
}),
261+
)
262+
allow_add = True
263+
264+
class ContactEmailAddress(admin.TabularInline):
265+
model = EmailAddressForContact
266+
extra = 1
267+
classes = ('collapse-open',)
268+
fieldsets = (
269+
('Basics', {
270+
'fields': ('email', 'purpose',)
271+
}),
272+
)
273+
allow_add = True
274+
275+
class OptionCustomer(admin.ModelAdmin):
276+
list_display = ('id', 'name' )
277+
fieldsets = (('', {'fields': ('name',)}),)
278+
inlines = [ContactPostalAddress, ContactPhoneAddress, ContactEmailAddress]
279+
allow_add = True
280+
281+
class OptionDistributor(admin.ModelAdmin):
282+
list_display = ('id', 'name')
283+
fieldsets = (('', {'fields': ('name',)}),)
284+
inlines = [ContactPostalAddress, ContactPhoneAddress, ContactEmailAddress]
285+
allow_add = True
286+
287+
288+
class OptionShipmentPartner(admin.ModelAdmin):
289+
list_display = ('id', 'name')
290+
fieldsets = (('', {'fields': ('name',)}),)
291+
inlines = [ContactPostalAddress, ContactPhoneAddress, ContactEmailAddress]
292+
allow_add = True
293+
294+
295+
admin.site.register(Customer, OptionCustomer)
296+
admin.site.register(Distributor, OptionDistributor)
297+
admin.site.register(ShipmentPartner, OptionShipmentPartner)
298+
admin.site.register(Quote, OptionQuote)
299+
admin.site.register(Invoice, OptionInvoice)
300+
admin.site.register(Contract, OptionContract)
301+
admin.site.register(PurchaseOrder, OptionPurchaseOrder)
302+
admin.site.register(Product, OptionProduct)

crm/const/__init__.py

Whitespace-only changes.

0 commit comments

Comments
 (0)