Merge lp:~julie-w/unifield-server/US-2419 into lp:unifield-server

Proposed by jftempo
Status: Merged
Merged at revision: 4346
Proposed branch: lp:~julie-w/unifield-server/US-2419
Merge into: lp:unifield-server
Diff against target: 81 lines (+32/-8)
2 files modified
bin/addons/account_override/invoice.py (+26/-8)
bin/addons/msf_profile/i18n/fr_MF.po (+6/-0)
To merge this branch: bzr merge lp:~julie-w/unifield-server/US-2419
Reviewer Review Type Date Requested Status
UniField Reviewer Team Pending
Review via email: mp+323310@code.launchpad.net
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
1=== modified file 'bin/addons/account_override/invoice.py'
2--- bin/addons/account_override/invoice.py 2017-02-24 13:33:33 +0000
3+++ bin/addons/account_override/invoice.py 2017-04-27 08:13:33 +0000
4@@ -124,6 +124,17 @@
5 ]
6 return dom1+[('is_debit_note', '=', False)]
7
8+ def _get_int_journal_for_current_instance(self, cr, uid, context=None):
9+ """
10+ Returns the id of the Intermission journal of the current instance if it exists, else returns False.
11+ """
12+ if context is None:
13+ context = {}
14+ journal_obj = self.pool.get('account.journal')
15+ int_journal_domain = [('type', '=', 'intermission'), ('is_current_instance', '=', True)]
16+ int_journal_id = journal_obj.search(cr, uid, int_journal_domain, order='NO_ORDER', limit=1, context=context)
17+ return int_journal_id and int_journal_id[0] or False
18+
19 def _get_fake_m2o_id(self, cr, uid, ids, field_name=None, arg=None, context=None):
20 """
21 Get many2one field content
22@@ -138,11 +149,9 @@
23 if user[0].company_id.intermission_default_counterpart:
24 res[i.id] = user[0].company_id.intermission_default_counterpart.id
25 elif name == 'journal_id':
26- int_journal_id = self.pool.get('account.journal').search(cr, uid, [('type', '=', 'intermission')], context=context)
27+ int_journal_id = self._get_int_journal_for_current_instance(cr, uid, context)
28 if int_journal_id:
29- if isinstance(int_journal_id, (int, long)):
30- int_journal_id = [int_journal_id]
31- res[i.id] = int_journal_id[0]
32+ res[i.id] = int_journal_id
33 elif name == 'currency_id':
34 user = self.pool.get('res.users').browse(cr, uid, [uid], context=context)
35 if user[0].company_id.currency_id:
36@@ -466,11 +475,9 @@
37 else:
38 raise osv.except_osv("Error","Company Intermission Counterpart Account must be set")
39 # 'INT' intermission journal
40- int_journal_id = self.pool.get('account.journal').search(cr, uid, [('type', '=', 'intermission')], context=context)
41+ int_journal_id = self._get_int_journal_for_current_instance(cr, uid, context)
42 if int_journal_id:
43- if isinstance(int_journal_id, (int, long)):
44- int_journal_id = [int_journal_id]
45- defaults['fake_journal_id'] = int_journal_id[0]
46+ defaults['fake_journal_id'] = int_journal_id
47 defaults['journal_id'] = defaults['fake_journal_id']
48 return defaults
49
50@@ -691,6 +698,17 @@
51 if inv_line.partner_id != inv.partner_id:
52 raise osv.except_osv(_('Warning'),
53 _('All the imported lines must have the same partner as the Debit Note.'))
54+ # the journal used for Intermission Vouchers must be the INT journal of the current instance
55+ is_iv = context and context.get('type') in ['in_invoice', 'out_invoice'] and not context.get('is_debit_note') \
56+ and not context.get('is_inkind_donation') and context.get('is_intermission')
57+ if is_iv:
58+ int_journal_id = self._get_int_journal_for_current_instance(cr, uid, context)
59+ # update the IV if the INT journal exists but isn't used in the IV (= journal created after the IV creation)
60+ if int_journal_id:
61+ if not inv.journal_id or inv.journal_id.id != int_journal_id:
62+ self.write(cr, uid, inv.id, {'journal_id': int_journal_id}, context=context)
63+ else:
64+ raise osv.except_osv(_('Warning'), _('No Intermission journal found for the current instance.'))
65 if not inv.date_invoice and not inv.document_date:
66 values.update({'date': curr_date, 'document_date': curr_date, 'state': 'date'})
67 elif not inv.date_invoice:
68
69=== modified file 'bin/addons/msf_profile/i18n/fr_MF.po'
70--- bin/addons/msf_profile/i18n/fr_MF.po 2017-04-19 14:11:12 +0000
71+++ bin/addons/msf_profile/i18n/fr_MF.po 2017-04-27 08:13:33 +0000
72@@ -98376,3 +98376,9 @@
73 #, python-format
74 msgid "The date format was not correct. The expected date should be > 01/01/1900 in this format DD/MM/YYYY."
75 msgstr "Format de date incorrect. La date attendue doit ĂȘtre > 01/01/1900 dans ce format JJ/MM/AAAA."
76+
77+#. module: account_override
78+#: code:addons/account_override/invoice.py:713
79+#, python-format
80+msgid "No Intermission journal found for the current instance."
81+msgstr "Pas de journal Intermission trouvé pour l'instance actuelle."

Subscribers

People subscribed via source and target branches