blob: 7f2d67c4da3ab8bff4e17a1b3482737a4476d580 [file] [log] [blame]
Nabin Hait31665e52011-09-29 10:41:02 +05301"""
2 All master data in one place, can be created by 1 function call
3
4"""
5
6import webnotes
7from webnotes.model.doc import Document
8
9
10master_groups = {
11 # Company
12 #----------------------------------
13 'company': Document(
14 fielddata={
15 'doctype':'Company',
16 'abbr': 'co',
17 'company_name' : 'comp',
18 'name': 'comp'
19 }
20 ),
21
22 # Customer Group
23 #----------------------------------
24 'customer_group': Document(
25 fielddata={
26 'doctype':'Customer Group',
27 'customer_group_name' : 'cg',
28 'name': 'cg',
29 'is_group': 'No',
30 'parent_customer_group':'',
31 'lft' : 1,
32 'rgt': 2
33 }
34 ),
35
36 # Item Group
37 #----------------------------------
38 'item_group': Document(
39 fielddata = {
40 'doctype': 'Item Group',
41 'item_group_name': 'ig',
42 'lft': 1,
43 'rgt': 2,
44 'parent_item_group' : '',
45 'is_group': 'No',
46 'name': 'ig'
47 }
48 ),
49
50 # Warehouse Type
51 #-----------------------------
52 'warehouse_type' : Document(
53 fielddata = {
54 'doctype' : 'Warehouse Type',
55 'name': 'normal',
56 'warehouse_type' : 'normal'
57 }
58 ),
59
60 # Supplier Type
61 #-----------------------------
62 'supplier_type' : Document(
63 fielddata = {
64 'doctype': 'Supplier Type',
65 'supplier_type': 'stype'
66 }
67 )
68
69}
70
71
72main_masters = {
73 # Customer
74 #----------------------------------
75 'customer': Document(
76 fielddata={
77 'doctype':'Customer',
78 'docstatus':0,
79 'customer_name' : 'cust',
80 'company' : 'comp',
81 'customer_group' : '',
82 'name': 'cust'
83 }
84 ),
85
86
87 # Supplier
88 #----------------------------------
89 'supplier': Document(
90 fielddata = {
91 'doctype': 'Supplier',
92 'supplier_name': 'supp',
93 'name': 'supp',
94 'supplier_type' : 'stype'
95 }
96 ),
97
98 # Customer Account
99 #----------------------------------
100 'customer_acc': Document(
101 fielddata={
102 'doctype':'Account',
103 'docstatus':0,
104 'account_name' : 'cust',
105 'debit_or_credit': 'Debit',
106 'company' : 'comp',
107 'lft': 1,
108 'rgt': 2,
109 'group_or_ledger' : 'Ledger',
110 'is_pl_account': 'No',
111 'name' : 'cust - co'
112 }
113 ),
114
115 # Customer Account
116 #----------------------------------
117 'supplier_acc': Document(
118 fielddata={
119 'doctype':'Account',
120 'docstatus':0,
121 'account_name' : 'supp',
122 'debit_or_credit': 'Credit',
123 'company' : 'comp',
124 'lft': 5,
125 'rgt': 6,
126 'group_or_ledger' : 'Ledger',
127 'is_pl_account': 'No',
128 'name' : 'supp - co'
129 }
130 ),
131
132 # Bank Account
133 #----------------------------------
134 'bank_acc': Document(
135 fielddata={
136 'doctype':'Account',
137 'docstatus':0,
138 'account_name' : 'icici',
139 'parent_account': '',
140 'debit_or_credit': 'Debit',
141 'company' : 'comp',
142 'lft': 3,
143 'rgt': 4,
144 'group_or_ledger' : 'Ledger',
145 'is_pl_account': 'No',
146 'name' : 'icici - co'
147 }
148 ),
149
150 # Income Account
151 #----------------------------------
152 'income_acc': Document(
153 fielddata={
154 'doctype':'Account',
155 'docstatus':0,
156 'account_name' : 'income',
157 'debit_or_credit': 'Credit',
158 'company' : 'comp',
159 'lft': 7,
160 'rgt': 8,
161 'group_or_ledger' : 'Ledger',
162 'is_pl_account': 'Yes',
163 'name' : 'income - co'
164 }
165 ),
166
167 # Expense Account
168 #----------------------------------
169 'expense_acc': Document(
170 fielddata={
171 'doctype':'Account',
172 'docstatus':0,
173 'account_name' : 'expense',
174 'debit_or_credit': 'Debit',
175 'company' : 'comp',
176 'lft': 9,
177 'rgt': 10,
178 'group_or_ledger' : 'Ledger',
179 'is_pl_account': 'Yes',
180 'name' : 'expense - co'
181 }
182 ),
183
184 # Cost Center
185 #----------------------------------
186 'cost_center': Document(
187 fielddata={
188 'doctype':'Cost Center',
189 'docstatus':0,
190 'cost_center_name' : 'cc',
191 'lft': 1,
192 'rgt': 2,
193 'group_or_ledger' : 'Ledger',
194 'name' : 'cc'
195 }
196 ),
197
198 # Item
199 #----------------------------------
200 # Stock item / non-serialized
201
202 'item': [
203 Document(
204 fielddata = {
205 'doctype': 'Item',
206 'docstatus': 0,
207 'name': 'it',
208 'item_name': 'it',
209 'item_code': 'it',
210 'item_group': 'ig',
211 'is_stock_item': 'Yes',
212 'has_serial_no': 'Yes',
213 'stock_uom': 'Nos',
214 'is_sales_item': 'Yes',
215 'is_purchase_item': 'Yes',
216 'is_service_item': 'No',
217 'is_sub_contracted_item': 'No',
218 'is_pro_applicable': 'Yes',
219 'is_manufactured_item': 'Yes'
220 }
221 ),
222 Document(
223 fielddata = {
224 'doctype': 'Ref Rate Detail',
225 'parentfield': 'ref_rate_details',
226 'parenttype': 'Item',
227 'parent' : 'it',
228 'price_list_name': 'pl',
229 'ref_currency': 'INR',
230 'ref_rate': 100
231 }
232 ),
233 Document(
234 fielddata = {
235 'doctype': 'Item Tax',
236 'parentfield': 'item_tax',
237 'parenttype': 'Item',
238 'parent' : 'it',
239 'tax_type' : 'Tax1',
240 'tax_rate': 10
241 }
242 )
243 ],
244
245 # Warehouse
246 #-----------------------------
247 'warehouse': [
248 Document(
249 fielddata = {
250 'doctype': 'Warehouse',
251 'name' : 'wh1',
252 'warehouse_name' : 'wh1',
253 'warehouse_type': 'normal',
254 'company': 'comp'
255 }
256 ),
257 Document(
258 fielddata = {
259 'doctype': 'Warehouse',
260 'name' : 'wh2',
261 'warehouse_name' : 'wh2',
262 'warehouse_type': 'normal',
263 'company': 'comp'
264 }
265 )
266 ]
267}
268
269
270
271# Save all master records
272#----------------------------------
273def create_master_records():
274 for m in master_groups.keys():
275 master_groups[m].save(1)
276
277 for m in main_masters.keys():
278 if type(main_masters[m]) == list:
279 for each in main_masters[m]:
280 each.save(1)
281 else:
282 main_masters[m].save(1)