Merge lp:~openbig/bigconsulting/milestone_changes into lp:bigconsulting

Proposed by gpa(OpenERP)
Status: Merged
Merged at revision: 36
Proposed branch: lp:~openbig/bigconsulting/milestone_changes
Merge into: lp:bigconsulting
Diff against target: 535 lines (+273/-71) (has conflicts)
8 files modified
account_invoice_cash_discount/__init__.py (+2/-1)
account_invoice_cash_discount/__terp__.py (+4/-0)
account_invoice_cash_discount/account_invoice_cash_discount.py (+94/-50)
account_invoice_cash_discount/account_invoice_cash_discount_view.xml (+40/-0)
account_invoice_cash_discount/wizard/__init__.py (+1/-0)
account_invoice_cash_discount/wizard/account_pay_invoice.py (+115/-16)
account_invoice_cash_discount/wizard/account_pay_invoice_view.xml (+15/-2)
packing_barcode_check/report/bar_code_check.rml (+2/-2)
Text conflict in account_invoice_cash_discount/__terp__.py
To merge this branch: bzr merge lp:~openbig/bigconsulting/milestone_changes
Reviewer Review Type Date Requested Status
openbig Pending
Review via email: mp+28748@code.launchpad.net

Description of the change

Added changes as milestone1

To post a comment you must log in.

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'account_invoice_cash_discount/__init__.py'
--- account_invoice_cash_discount/__init__.py 2010-05-26 13:32:15 +0000
+++ account_invoice_cash_discount/__init__.py 2010-06-29 13:29:23 +0000
@@ -20,7 +20,8 @@
20#20#
21##############################################################################21##############################################################################
2222
23import wizard
23import account_invoice_cash_discount24import account_invoice_cash_discount
24import wizard25
25# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:26# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
2627
2728
=== modified file 'account_invoice_cash_discount/__terp__.py'
--- account_invoice_cash_discount/__terp__.py 2010-06-24 10:49:42 +0000
+++ account_invoice_cash_discount/__terp__.py 2010-06-29 13:29:23 +0000
@@ -34,7 +34,11 @@
34 "demo_xml" : [34 "demo_xml" : [
35 ],35 ],
36 "update_xml" : [36 "update_xml" : [
37<<<<<<< TREE
37 "security/ir.model.access.csv",38 "security/ir.model.access.csv",
39=======
40 "account_invoice_cash_discount_wizard.xml",
41>>>>>>> MERGE-SOURCE
38 "account_invoice_cash_discount_view.xml",42 "account_invoice_cash_discount_view.xml",
39 'wizard/account_pay_invoice_view.xml',43 'wizard/account_pay_invoice_view.xml',
40 ],44 ],
4145
=== modified file 'account_invoice_cash_discount/account_invoice_cash_discount.py'
--- account_invoice_cash_discount/account_invoice_cash_discount.py 2010-08-17 13:38:00 +0000
+++ account_invoice_cash_discount/account_invoice_cash_discount.py 2010-06-29 13:29:23 +0000
@@ -175,7 +175,14 @@
175 if invoice.type in ('in_invoice', 'in_refund'):175 if invoice.type in ('in_invoice', 'in_refund'):
176 ref = invoice.reference176 ref = invoice.reference
177 else:177 else:
178 ref = self._convert_ref(cr, uid, invoice.number) 178 ref = self._convert_ref(cr, uid, invoice.number)
179
180 discount_amount = 0.0
181 tax_total_amount = 0.0
182
183 if 'cash_amount' in context and context['cash_amount']:
184 discount_amount = context['cash_amount']
185
179 # Pay attention to the sign for both debit/credit AND amount_currency186 # Pay attention to the sign for both debit/credit AND amount_currency
180 l1 = {187 l1 = {
181 'debit': direction * (pay_amount)>0 and direction * (pay_amount),188 'debit': direction * (pay_amount)>0 and direction * (pay_amount),
@@ -187,7 +194,11 @@
187 'currency_id':currency_id,194 'currency_id':currency_id,
188 'amount_currency':amount_currency and direction * amount_currency or 0.0,195 'amount_currency':amount_currency and direction * amount_currency or 0.0,
189 }196 }
190197
198 ### if we change the amount paid and in the disocunt then it used the changes discount
199 if amount_discount != discount_amount and discount_amount>0.0:
200 amount_discount = discount_amount
201
191 l2 = {202 l2 = {
192 'debit': direction * (pay_amount-amount_discount)<0 and - direction * (pay_amount-amount_discount),203 'debit': direction * (pay_amount-amount_discount)<0 and - direction * (pay_amount-amount_discount),
193 'credit': direction * (pay_amount-amount_discount)>0 and direction * (pay_amount-amount_discount),204 'credit': direction * (pay_amount-amount_discount)>0 and direction * (pay_amount-amount_discount),
@@ -201,74 +212,107 @@
201212
202 if not name:213 if not name:
203 name = invoice.invoice_line and invoice.invoice_line[0].name or invoice.number214 name = invoice.invoice_line and invoice.invoice_line[0].name or invoice.number
215
204 l1['name'] = name216 l1['name'] = name
205 l2['name'] = name217 l2['name'] = name
206 lines = [(0, 0, l1), (0, 0, l2)]218 lines = [(0, 0, l1), (0, 0, l2)]
207 219
208 discount_amount = 0.0220 if 'tax_move_ids' in context and context['tax_move_ids']:
209 tax_total_amount = 0.0221 move_line = context['tax_move_ids']
210 if 'cash_amount' in context and context['cash_amount']:222 for move_line_id in move_line:
211 discount_amount = context['cash_amount']223 move_line_data = self.pool.get('account.move.line').browse(cr, uid,move_line_id)
212 224 l3 = {
213 if discount_amount>0.0: 225 'debit': move_line_data.debit,
214 for line in invoice.invoice_line:226 'credit': move_line_data.credit,
215 if line.invoice_line_tax_id:227 'account_id': move_line_data.account_id.id,
216 for tax in tax_obj.compute(cr, uid, line.invoice_line_tax_id, discount_amount, line.quantity, invoice.address_invoice_id.id, line.product_id, invoice.partner_id):228 'partner_id': move_line_data.partner_id.id,
217 tax_amount = tax['amount']229 'ref':move_line_data.ref,
218 tax_total_amount += tax['amount']230 'date': move_line_data.date,
219 231 'currency_id':currency_id,
220 tax_invoice_id = invoice_tax_obj.search(cr,uid,[('invoice_id','=',invoice.id),('name','=',tax['name'])])232 'amount_currency':amount_currency and direction * amount_currency or 0.0,
221 for tax_id in tax_invoice_id:233 'name':move_line_data.name,
222 tax_value = invoice_tax_obj.browse(cr, uid, tax_id)234 'tax_code_id':move_line_data.tax_code_id.id,
223 tax_account_id = tax_value.account_id.id235 'tax_amount':move_line_data.tax_amount,
224236 }
225 l3 = {237 lines.append((0, 0, l3))
226 'debit': direction * tax_amount<0 and - direction * tax_amount,238 else:
227 'credit': direction * tax_amount>0 and direction * tax_amount,239 if amount_discount>0.0:
228 'account_id': tax_account_id,240 for line in invoice.invoice_line:
229 'partner_id': invoice.partner_id.id,241 if line.invoice_line_tax_id:
230 'ref':ref,242 for tax in tax_obj.compute(cr, uid, line.invoice_line_tax_id, amount_discount, line.quantity, invoice.address_invoice_id.id, line.product_id, invoice.partner_id):
231 'date': date,243 tax_amount = tax['amount']
244 tax_total_amount += tax['amount']
245 tax_invoice_id = invoice_tax_obj.search(cr,uid,[('invoice_id','=',invoice.id),('name','=',tax['name'])])
246 for tax_id in tax_invoice_id:
247 tax_value = invoice_tax_obj.browse(cr, uid, tax_id)
248 tax_account_id = tax_value.account_id.id
249 l3 = {
250 'debit': direction * tax_amount<0 and - direction * tax_amount,
251 'credit': direction * tax_amount>0 and direction * tax_amount,
252 'account_id': tax_account_id,
253 'partner_id': invoice.partner_id.id,
254 'ref':ref,
255 'date': date,
256 'currency_id':currency_id,
257 'amount_currency':amount_currency and direction * amount_currency or 0.0,
258 'tax_code_id':tax_value.tax_code_id.id,
259 'tax_amount':tax_amount,
260 }
261 l3['name'] = name
262 lines.append((0, 0, l3))
263
264 if 'discount_move_ids' in context and context['discount_move_ids']:
265 dis_move_id = context['discount_move_ids'][0]
266 move_id = self.pool.get('account.move.line').search(cr, uid,[('move_id','=',dis_move_id)])
267 move_line_data = self.pool.get('account.move.line').browse(cr, uid, move_id[0])
268 l4 = {
269 'debit': move_line_data.debit,
270 'credit':move_line_data.credit,
271 'account_id': move_line_data.account_id.id,
272 'partner_id': move_line_data.partner_id.id,
273 'ref':move_line_data.ref,
274 'date': move_line_data.date,
232 'currency_id':currency_id,275 'currency_id':currency_id,
233 'amount_currency':amount_currency and direction * amount_currency or 0.0,276 'amount_currency':amount_currency and direction * amount_currency or 0.0,
277 'name':move_line_data.name,
234 }278 }
235 l3['name'] = name
236 lines.append((0, 0, l3))
237
238 if amount_discount>0:
239 if 'account_id' in context and context['account_id']:
240 account_id = context['account_id']
241
242 if tax_total_amount>0:
243 amount_discount = (amount_discount - tax_total_amount)
244 else:
245 amount_discount = amount_discount
246
247 l4 = {
248 'debit': direction * amount_discount<0 and - direction * amount_discount,
249 'credit': direction * amount_discount>0 and direction * amount_discount,
250 'account_id': account_id,
251 'partner_id': invoice.partner_id.id,
252 'ref':ref,
253 'date': date,
254 'currency_id':currency_id,
255 'amount_currency':amount_currency and direction * amount_currency or 0.0,
256 }
257 l4['name'] = name
258 lines.append((0, 0, l4))279 lines.append((0, 0, l4))
280
281 else:
282 if amount_discount>0:
283 if 'account_id' in context and context['account_id']:
284 account_id = context['account_id']
285 if tax_total_amount>0:
286 amount_discount = (amount_discount - tax_total_amount)
287 else:
288 amount_discount = amount_discount
289 l4 = {
290 'debit': direction * amount_discount<0 and - direction * amount_discount,
291 'credit': direction * amount_discount>0 and direction * amount_discount,
292 'account_id': account_id,
293 'partner_id': invoice.partner_id.id,
294 'ref':ref,
295 'date': date,
296 'currency_id':currency_id,
297 'amount_currency':amount_currency and direction * amount_currency or 0.0,
298 }
299 l4['name'] = name
300 lines.append((0, 0, l4))
259301
260 move = {'ref': ref, 'line_id': lines, 'journal_id': pay_journal_id, 'period_id': period_id, 'date': date}302 move = {'ref': ref, 'line_id': lines, 'journal_id': pay_journal_id, 'period_id': period_id, 'date': date}
261 move_id = self.pool.get('account.move').create(cr, uid, move, context=context)303 move_id = self.pool.get('account.move').create(cr, uid, move, context=context)
262304
263 line_ids = []305 line_ids = []
264 total = 0.0306 total = 0.0
265 line = self.pool.get('account.move.line')307 line = self.pool.get('account.move.line')
266 cr.execute('select id from account_move_line where move_id in ('+str(move_id)+','+str(invoice.move_id.id)+')')308 cr.execute('select id from account_move_line where move_id in ('+str(move_id)+','+str(invoice.move_id.id)+')')
309
267 lines = line.browse(cr, uid, map(lambda x: x[0], cr.fetchall()) )310 lines = line.browse(cr, uid, map(lambda x: x[0], cr.fetchall()) )
268 for l in lines+invoice.payment_ids:311 for l in lines+invoice.payment_ids:
269 if l.account_id.id==src_account_id:312 if l.account_id.id==src_account_id:
270 line_ids.append(l.id)313 line_ids.append(l.id)
271 total += (l.debit or 0.0) - (l.credit or 0.0)314 total += (l.debit or 0.0) - (l.credit or 0.0)
315
272 if (not round(total,int(config['price_accuracy']))) or writeoff_acc_id:316 if (not round(total,int(config['price_accuracy']))) or writeoff_acc_id:
273 self.pool.get('account.move.line').reconcile(cr, uid, line_ids, 'manual', writeoff_acc_id, writeoff_period_id, writeoff_journal_id, context)317 self.pool.get('account.move.line').reconcile(cr, uid, line_ids, 'manual', writeoff_acc_id, writeoff_period_id, writeoff_journal_id, context)
274 else:318 else:
275319
=== modified file 'account_invoice_cash_discount/account_invoice_cash_discount_view.xml'
--- account_invoice_cash_discount/account_invoice_cash_discount_view.xml 2010-06-01 05:48:55 +0000
+++ account_invoice_cash_discount/account_invoice_cash_discount_view.xml 2010-06-29 13:29:23 +0000
@@ -45,5 +45,45 @@
45 </field>45 </field>
46 </record>46 </record>
4747
48 <record id="bank_statement_form_view1" model="ir.ui.view">
49 <field name="name">account.bank.statement.form</field>
50 <field name="model">account.bank.statement</field>
51 <field name="type">form</field>
52 <field name="inherit_id" ref="account.view_bank_statement_form"/>
53 <field name="arch" type="xml">
54 <xpath expr="//button[@string='Import Invoice']" position="replace">
55 <button name="%(wizard_populate_statement_from_inv1)d" type="action" string="Import Invoice" attrs="{'invisible':[('state','=','confirm')]}"/>
56 </xpath>
57 </field>
58 </record>
59
60 <record id="bank_statement_reconcile_form_view1" model="ir.ui.view">
61 <field name="name">account.bank.statement.reconcile.form</field>
62 <field name="model">account.bank.statement.reconcile</field>
63 <field name="type">form</field>
64 <field name="inherit_id" ref="account.view_bank_statement_reconcile"/>
65 <field name="arch" type="xml">
66 <field name="total_new" position="replace">
67 <field name="total_new" string="Total Write Off / Cash Discount"/>
68 </field>
69 </field>
70 </record>
71
72 <record id="bank_statement_reconcile_form_view2" model="ir.ui.view">
73 <field name="name">account.bank.statement.reconcile.form</field>
74 <field name="model">account.bank.statement.reconcile</field>
75 <field name="type">form</field>
76 <field name="inherit_id" ref="account.view_bank_statement_reconcile"/>
77 <field name="arch" type="xml">
78 <xpath expr="//tree[@string='Write-Off']" position="replace">
79 <tree editable="bottom" string="Write-Off and Cash-Discount">
80 <field name="account_id" domain="[('type','&lt;&gt;','view'),('type','&lt;&gt;','consolidation')]"/>
81 <field name="amount"/>
82 <field name="name"/>
83 </tree>
84 </xpath>
85 </field>
86 </record>
87
48 </data>88 </data>
49</openerp>89</openerp>
5090
=== modified file 'account_invoice_cash_discount/wizard/__init__.py'
--- account_invoice_cash_discount/wizard/__init__.py 2010-06-01 05:48:55 +0000
+++ account_invoice_cash_discount/wizard/__init__.py 2010-06-29 13:29:23 +0000
@@ -21,6 +21,7 @@
21##############################################################################21##############################################################################
2222
23import account_pay_invoice23import account_pay_invoice
24import invoice_statement_payment
2425
25# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:26# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
2627
2728
=== modified file 'account_invoice_cash_discount/wizard/account_pay_invoice.py'
--- account_invoice_cash_discount/wizard/account_pay_invoice.py 2010-08-17 13:38:00 +0000
+++ account_invoice_cash_discount/wizard/account_pay_invoice.py 2010-06-29 13:29:23 +0000
@@ -58,18 +58,18 @@
58 'amount': fields.float('Amount paid', required=True),58 'amount': fields.float('Amount paid', required=True),
59 'name': fields.char('Entry Name', size=64, required=True),59 'name': fields.char('Entry Name', size=64, required=True),
60 'date': fields.date('Date payment', required=True),60 'date': fields.date('Date payment', required=True),
61 'cash_residual_amount': fields.float('Residual Amount', readonly=True),
61 'journal_id': fields.many2one('account.journal', 'Journal/Payment Mode', required=True),62 'journal_id': fields.many2one('account.journal', 'Journal/Payment Mode', required=True),
62 'period_id': fields.many2one('account.period', 'Period', required=True),63 'period_id': fields.many2one('account.period', 'Period', required=True),
63 'cash_amount':fields.float('Cash Discount Amount',),64 'cash_amount':fields.float('Cash Discount Amount',),
64 'account_id': fields.many2one('account.account', 'Account For Discount',),65 'account_id': fields.many2one('account.account', 'Account For Discount',),
66 'cal_method_selection': fields.selection([('method_gross_methodology','Calculate Discount with Net Gross Methodology'),
67 ('method_net_methodology','Calculate Discount with Net Methodology'),],
68 'Method To Calculation'),
69 'discount_move_ids': fields.many2many('account.move', 'account_discount_move_rel', 'discount_account_id', 'discount_move_id', 'Account Discount Moves'),
70 'tax_move_ids': fields.many2many('account.move.line', 'account_tax_move_rel', 'tax_account_id', 'tax_move_id', 'Account Taxes Moves'),
65 }71 }
6672
67 def view_init(self, cr, uid, ids, context=None):
68 invoice = self.pool.get('account.invoice').browse(cr, uid, context['active_id'], context=context)
69 if invoice.state in ['draft', 'proforma2', 'cancel']:
70 raise osv.except_osv(_('Error !'), _('Can not pay draft/proforma/cancel invoice.'))
71 pass
72
73 def _get_period(self, cr, uid, context=None):73 def _get_period(self, cr, uid, context=None):
74 ids = self.pool.get('account.period').find(cr, uid, context=context)74 ids = self.pool.get('account.period').find(cr, uid, context=context)
75 period_id = False75 period_id = False
@@ -78,7 +78,10 @@
78 return period_id78 return period_id
7979
80 def _get_amount(self, cr, uid, context=None):80 def _get_amount(self, cr, uid, context=None):
81 residual_amount = self.pool.get('account.invoice').browse(cr, uid, context['id'], context=context).residual81 obj_inv = self.pool.get('account.invoice')
82 invoice = obj_inv.browse(cr, uid, context['id'], context=context)
83 discount = obj_inv._get_payment(cr, uid, [context['id']] ,invoice.residual, invoice.payment_term.id, context=context)
84 residual_amount = invoice.residual - discount
82 return residual_amount85 return residual_amount
83 86
84 def on_change_ammount(self, cr, uid, ids, amount, context=None):87 def on_change_ammount(self, cr, uid, ids, amount, context=None):
@@ -88,8 +91,18 @@
88 res = {}91 res = {}
89 obj_inv = self.pool.get('account.invoice')92 obj_inv = self.pool.get('account.invoice')
90 invoice = obj_inv.browse(cr, uid, context['id'], context=context)93 invoice = obj_inv.browse(cr, uid, context['id'], context=context)
91 discount = obj_inv._get_payment(cr, uid, [context['id']] , amount, invoice.payment_term.id, context=context)94 discount = obj_inv._get_payment(cr, uid, [context['id']] , invoice.residual, invoice.payment_term.id, context=context)
92 return {'value' : {'cash_amount':discount}}95 diff_amount = round(invoice.residual - (amount + discount),2)
96 return {'value' : {'cash_residual_amount':diff_amount}}
97
98 def on_change_cash_discount_amount(self, cr, uid, ids, discount_amount, amount, context=None):
99 ### Return discount amount
100 res = {}
101 obj_inv = self.pool.get('account.invoice')
102 invoice = obj_inv.browse(cr, uid, context['id'], context=context)
103 diff_amount = 0.0
104 diff_amount = round(invoice.residual - (amount + discount_amount),2)
105 return {'value' : {'cash_amount':discount_amount,'cash_residual_amount':diff_amount}}
93 106
94 def _get_discount(self, cr, uid, context=None):107 def _get_discount(self, cr, uid, context=None):
95 obj_inv = self.pool.get('account.invoice')108 obj_inv = self.pool.get('account.invoice')
@@ -116,12 +129,89 @@
116 raise osv.except_osv(_('Error !'), _('Can not pay draft/proforma/cancel invoice.'))129 raise osv.except_osv(_('Error !'), _('Can not pay draft/proforma/cancel invoice.'))
117 return res130 return res
118 131
132 def _calculation(self, cr, uid, ids, context=None):
133 invoice_obj = self.pool.get('account.invoice')
134 data = self.read(cr, uid, ids,context=context)[0]
135 invoice = self.pool.get('account.invoice').browse(cr, uid, context['id'], context=context)
136 tax_obj = self.pool.get('account.tax')
137 invoice_tax_obj = self.pool.get("account.invoice.tax")
138
139 ######## to get ref
140 if invoice.type in ('in_invoice', 'in_refund'):
141 ref = invoice.reference
142 else:
143 ref = invoice_obj._convert_ref(cr, uid, invoice.number)
144
145 #### to get direction
146 types = {'out_invoice': -1, 'in_invoice': 1, 'out_refund': 1, 'in_refund': -1}
147 direction = types[invoice.type]
148 date=time.strftime('%Y-%m-%d')
149
150 #### to get name
151 name = invoice.invoice_line and invoice.invoice_line[0].name or invoice.number
152
153 ##### Entry in the discount account moves and entry in the tax account moves
154
155 ### Entry for taxes in the line of wizard tax
156 if data.get('cash_amount',0.0)>0.0:
157 lines3 = []
158 tax_total_amount = 0.0
159 line_ids = []
160 for line in invoice.invoice_line:
161 if line.invoice_line_tax_id:
162 for tax in tax_obj.compute(cr, uid, line.invoice_line_tax_id, data['cash_amount'], line.quantity, invoice.address_invoice_id.id, line.product_id, invoice.partner_id):
163 tax_amount = tax['amount']
164 tax_total_amount += tax['amount']
165 tax_invoice_id = invoice_tax_obj.search(cr,uid,[('invoice_id','=',invoice.id),('name','=',tax['name'])])
166 for tax_id in tax_invoice_id:
167 tax_value = invoice_tax_obj.browse(cr, uid, tax_id)
168 tax_account_id = tax_value.account_id.id
169 l3 = {
170 'debit': direction * tax_amount<0 and - direction * tax_amount,
171 'credit': direction * tax_amount>0 and direction * tax_amount,
172 'account_id': tax_account_id,
173 'partner_id': invoice.partner_id.id,
174 'ref':ref,
175 'date': date,
176 'journal_id':data.get('journal_id',False) ,
177 'period_id':data.get('period_id',False),
178 'name':name,
179 'tax_code_id':tax_value.tax_code_id.id,
180 'tax_amount':tax_amount,
181 }
182 line_id = self.pool.get('account.move.line').create(cr,uid,l3,context=context)
183 line_ids.append(line_id)
184 self.write(cr, uid, ids, {'tax_move_ids':[(6,0,line_ids)]}, context)
185
186 ### Entry for discount in the line of wizard discount
187 lines4 = []
188 if tax_total_amount>0:
189 data['cash_amount'] = (data['cash_amount'] - tax_total_amount)
190
191 l4 = {
192 'debit': direction * data.get('cash_amount',0.0)<0 and - direction * data.get('cash_amount',0.0),
193 'credit': direction * data.get('cash_amount',0.0)>0 and direction * data.get('cash_amount',0.0),
194 'account_id': data['account_id'],
195 'partner_id': invoice.partner_id.id,
196 'ref':ref,
197 'date': date,
198 'name':name
199 }
200
201 lines4.append((0, 0, l4))
202 move = {'ref': ref, 'line_id': lines4, 'journal_id': data['journal_id'], 'period_id': data['period_id'], }
203 move_id = self.pool.get('account.move').create(cr, uid, move, context=context)
204 self.write(cr, uid, ids, {'discount_move_ids':[(6,0,[move_id])]}, context)
205 return True
206
119 _defaults = {207 _defaults = {
120 'date': lambda *a: time.strftime('%Y-%m-%d'),208 'date': lambda *a: time.strftime('%Y-%m-%d'),
121 'period_id': _get_period,209 'period_id': _get_period,
122 'amount': _get_amount,210 'amount': _get_amount,
123 'cash_amount':_get_discount,211 'cash_amount':_get_discount,
124 'account_id':_get_account212 'account_id':_get_account,
213 'cash_residual_amount': lambda *a:0.0,
214 'cal_method_selection':lambda *a :'method_gross_methodology',
125 }215 }
126216
127 def wo_check(self, cr, uid, ids, context=None):217 def wo_check(self, cr, uid, ids, context=None):
@@ -186,13 +276,13 @@
186 writeoff_account_id = False276 writeoff_account_id = False
187 writeoff_journal_id = False277 writeoff_journal_id = False
188 comment = False278 comment = False
189279
190 if 'write_off' in context and context['write_off'] :280 if 'write_off' in context and context['write_off'] :
191 writeoff_account_id = context['write_off']['writeoff_acc_id']281 writeoff_account_id = context['write_off']['writeoff_acc_id']
192 writeoff_journal_id = context['write_off']['writeoff_journal_id']282 writeoff_journal_id = context['write_off']['writeoff_journal_id']
193 comment = context['write_off']['comment']283 comment = context['write_off']['comment']
194284
195 amount = data['amount'] 285 amount = data['amount'] + data['cash_amount']
196 286
197 invoice = self.pool.get('account.invoice').browse(cr, uid, context['id'], context=context)287 invoice = self.pool.get('account.invoice').browse(cr, uid, context['id'], context=context)
198 journal = self.pool.get('account.journal').browse(cr, uid, data['journal_id'], context=context)288 journal = self.pool.get('account.journal').browse(cr, uid, data['journal_id'], context=context)
@@ -203,14 +293,14 @@
203 amount = cur_obj.compute(cr, uid, journal.currency.id, invoice.company_id.currency_id.id, amount, context=ctx)293 amount = cur_obj.compute(cr, uid, journal.currency.id, invoice.company_id.currency_id.id, amount, context=ctx)
204 currency_id = journal.currency.id294 currency_id = journal.currency.id
205 # Put the paid amount in currency, and the currency, in the context if currency is different from company's currency295 # Put the paid amount in currency, and the currency, in the context if currency is different from company's currency
206 context.update({'amount_currency':data['amount'],'currency_id':currency_id})296 context.update({'amount_currency':data['amount'] + data['cash_amount'],'currency_id':currency_id})
207297
208 if invoice.company_id.currency_id.id<>invoice.currency_id.id:298 if invoice.company_id.currency_id.id<>invoice.currency_id.id:
209 ctx = {'date':data['date']}299 ctx = {'date':data['date']}
210 amount = cur_obj.compute(cr, uid, invoice.currency_id.id, invoice.company_id.currency_id.id, amount, context=ctx)300 amount = cur_obj.compute(cr, uid, invoice.currency_id.id, invoice.company_id.currency_id.id, amount, context=ctx)
211 currency_id = invoice.currency_id.id301 currency_id = invoice.currency_id.id
212 # Put the paid amount in currency, and the currency, in the context if currency is different from company's currency302 # Put the paid amount in currency, and the currency, in the context if currency is different from company's currency
213 context.update({'amount_currency':data['amount'],'currency_id':currency_id})303 context.update({'amount_currency':data['amount'] + data['cash_amount'],'currency_id':currency_id})
214304
215 # Take the choosen date305 # Take the choosen date
216 if comment:306 if comment:
@@ -218,8 +308,17 @@
218 else:308 else:
219 context.update({'date_p':data['date'],'comment':False})309 context.update({'date_p':data['date'],'comment':False})
220310
221 context.update({'account_id':data['account_id'],'cash_amount':data['cash_amount'],'amount_currency':data['amount']}) 311 context.update({'account_id':data['account_id'],'cash_amount':data['cash_amount'],'amount_currency':data['amount'] + data['cash_amount']})
222 312
313 if data['discount_move_ids']:
314 context.update({'discount_move_ids':data['discount_move_ids']})
315
316 if data['tax_move_ids']:
317 context.update({'tax_move_ids':data['tax_move_ids']})
318
319 if data['cash_amount']:
320 context.update({'cash_amount':data['cash_amount']})
321
223 acc_id = journal.default_credit_account_id and journal.default_credit_account_id.id322 acc_id = journal.default_credit_account_id and journal.default_credit_account_id.id
224 if not acc_id:323 if not acc_id:
225 raise osv.except_osv(_('Error !'), _('Your journal must have a default credit and debit account.'))324 raise osv.except_osv(_('Error !'), _('Your journal must have a default credit and debit account.'))
226325
=== modified file 'account_invoice_cash_discount/wizard/account_pay_invoice_view.xml'
--- account_invoice_cash_discount/wizard/account_pay_invoice_view.xml 2010-08-17 13:38:00 +0000
+++ account_invoice_cash_discount/wizard/account_pay_invoice_view.xml 2010-06-29 13:29:23 +0000
@@ -9,14 +9,27 @@
9 <form string="Pay invoice">9 <form string="Pay invoice">
10 <group colspan="4" >10 <group colspan="4" >
11 <field name="amount" on_change="on_change_ammount(amount,context)"/>11 <field name="amount" on_change="on_change_ammount(amount,context)"/>
12 <newline/>12 <field name="cash_residual_amount"/>
13 <field name="name"/>13 <field name="name"/>
14 <field name="date"/>14 <field name="date"/>
15 <field name="journal_id" domain="[('type','=','cash')]"/>15 <field name="journal_id" domain="[('type','=','cash')]"/>
16 <field name="period_id"/>16 <field name="period_id"/>
17 <field name="cash_amount" attrs="{'required':[('cash_amount','>',0)]}"/>17 <field name="cash_amount" on_change="on_change_cash_discount_amount(cash_amount,amount,context)" attrs="{'required':[('cash_amount','>',0)]}"/>
18 <field name="account_id" attrs="{'required':[('cash_amount','>',0)]}"/>18 <field name="account_id" attrs="{'required':[('cash_amount','>',0)]}"/>
19 </group>19 </group>
20 <group>
21 <separator string="Method For Calculation" colspan="4"/>
22 <field name="cal_method_selection" colspan="4" nolabel="1"/>
23 <button icon="gtk-execute" string="Calculate" name="_calculation" type="object"/>
24 </group>
25 <group colspan="4">
26 <separator string="Account Discount Moves" colspan="4"/>
27 <field name="discount_move_ids" widget="one2many_list" nolabel="1"/>
28 </group>
29 <group colspan="4">
30 <separator string="Account Taxes Moves" colspan="4"/>
31 <field name="tax_move_ids" widget="one2many_list" nolabel="1"/>
32 </group>
20 <group colspan="4" col="6">33 <group colspan="4" col="6">
21 <label string ="" colspan="2"/>34 <label string ="" colspan="2"/>
22 <button icon="gtk-cancel" special="cancel" string="Cancel"/>35 <button icon="gtk-cancel" special="cancel" string="Cancel"/>
2336
=== modified file 'packing_barcode_check/report/bar_code_check.rml'
--- packing_barcode_check/report/bar_code_check.rml 2010-06-24 12:19:20 +0000
+++ packing_barcode_check/report/bar_code_check.rml 2010-06-29 13:29:23 +0000
@@ -1,8 +1,8 @@
1<?xml version="1.0"?>1<?xml version="1.0"?>
2<document filename="test.pdf">2<document filename="test.pdf">
3 <template pageSize="(320.0,210.0)" rightMargin="0.0cm" title="Test" author="Martin Simon" allowSplitting="20">3 <template pageSize="(235.0,210.0)" rightMargin="0.0cm" title="Test" author="Martin Simon" allowSplitting="20">
4 <pageTemplate id="first">4 <pageTemplate id="first">
5 <frame id="first" x1="1.5cm" y1="0.0cm" width="320.0" height="210"/>5 <frame id="first" x1="65.0" y1="0.0" width="235.0" height="210"/>
6 </pageTemplate>6 </pageTemplate>
7 </template>7 </template>
8 <stylesheet>8 <stylesheet>

Subscribers

People subscribed via source and target branches