[Merge]with: lp:openobject-addons

bzr revid: dbr@tinyerp.com-20110915050724-kh73clbazpsq70dh
bzr revid: dbr@tinyerp.com-20110916045227-l5lte2twthfwbi7c
This commit is contained in:
DBR (OpenERP) 2011-09-16 10:22:27 +05:30
commit 3a4e53ab46
73 changed files with 2260 additions and 444 deletions

View File

@ -623,7 +623,7 @@ class account_journal(osv.osv):
'currency': fields.many2one('res.currency', 'Currency', help='The currency used to enter statement'),
'entry_posted': fields.boolean('Skip \'Draft\' State for Manual Entries', help='Check this box if you don\'t want new journal entries to pass through the \'draft\' state and instead goes directly to the \'posted state\' without any manual validation. \nNote that journal entries that are automatically created by the system are always skipping that state.'),
'company_id': fields.many2one('res.company', 'Company', required=True, select=1, help="Company related to this journal"),
'allow_date':fields.boolean('Check Date not in the Period', help= 'If set to True then do not accept the entry if the entry date is not into the period dates'),
'allow_date':fields.boolean('Check Date in Period', help= 'If set to True then do not accept the entry if the entry date is not into the period dates'),
}
_defaults = {

View File

@ -588,10 +588,18 @@ class account_move_line(osv.osv):
return False
return True
def _check_date(self, cr, uid, ids, context=None):
for l in self.browse(cr, uid, ids, context=context):
if l.journal_id.allow_date:
if not time.strptime(l.date[:10],'%Y-%m-%d') >= time.strptime(l.period_id.date_start, '%Y-%m-%d') or not time.strptime(l.date[:10], '%Y-%m-%d') <= time.strptime(l.period_id.date_stop, '%Y-%m-%d'):
return False
return True
_constraints = [
(_check_no_view, 'You can not create move line on view account.', ['account_id']),
(_check_no_closed, 'You can not create move line on closed account.', ['account_id']),
(_check_company_id, 'Company must be same for its related account and period.',['company_id'] ),
(_check_date, 'The date of your Journal Entry is not in the defined period!',['date'] ),
]
#TODO: ONCHANGE_ACCOUNT_ID: set account_tax_id
@ -1098,35 +1106,6 @@ class account_move_line(osv.osv):
move_obj.validate(cr, uid, move_ids, context=context)
return result
def _check_date(self, cr, uid, vals, context=None, check=True):
if context is None:
context = {}
move_obj = self.pool.get('account.move')
journal_obj = self.pool.get('account.journal')
period_obj = self.pool.get('account.period')
journal_id = False
if 'date' in vals.keys():
if 'journal_id' in vals and 'journal_id' not in context:
journal_id = vals['journal_id']
if 'period_id' in vals and 'period_id' not in context:
period_id = vals['period_id']
elif 'journal_id' not in context and 'move_id' in vals:
if vals.get('move_id', False):
m = move_obj.browse(cr, uid, vals['move_id'])
journal_id = m.journal_id.id
period_id = m.period_id.id
else:
journal_id = context.get('journal_id', False)
period_id = context.get('period_id', False)
if journal_id:
journal = journal_obj.browse(cr, uid, journal_id, context=context)
if journal.allow_date and period_id:
period = period_obj.browse(cr, uid, period_id, context=context)
if not time.strptime(vals['date'][:10],'%Y-%m-%d') >= time.strptime(period.date_start, '%Y-%m-%d') or not time.strptime(vals['date'][:10], '%Y-%m-%d') <= time.strptime(period.date_stop, '%Y-%m-%d'):
raise osv.except_osv(_('Error'),_('The date of your Journal Entry is not in the defined period!'))
else:
return True
def write(self, cr, uid, ids, vals, context=None, check=True, update_check=True):
if context is None:
context={}
@ -1137,7 +1116,6 @@ class account_move_line(osv.osv):
ids = [ids]
if vals.get('account_tax_id', False):
raise osv.except_osv(_('Unable to change tax !'), _('You can not change the tax, you should remove and recreate lines !'))
self._check_date(cr, uid, vals, context, check)
if ('account_id' in vals) and not account_obj.read(cr, uid, vals['account_id'], ['active'])['active']:
raise osv.except_osv(_('Bad account!'), _('You can not use an inactive account!'))
if update_check:
@ -1221,7 +1199,6 @@ class account_move_line(osv.osv):
company_id = self.pool.get('account.move').read(cr, uid, vals['move_id'], ['company_id']).get('company_id', False)
if company_id:
vals['company_id'] = company_id[0]
self._check_date(cr, uid, vals, context, check)
if ('account_id' in vals) and not account_obj.read(cr, uid, vals['account_id'], ['active'])['active']:
raise osv.except_osv(_('Bad account!'), _('You can not use an inactive account!'))
if 'journal_id' in vals:
@ -1232,7 +1209,6 @@ class account_move_line(osv.osv):
m = move_obj.browse(cr, uid, vals['move_id'])
context['journal_id'] = m.journal_id.id
context['period_id'] = m.period_id.id
self._update_journal_check(cr, uid, context['journal_id'], context['period_id'], context)
move_id = vals.get('move_id', False)
journal = journal_obj.browse(cr, uid, context['journal_id'], context=context)

View File

@ -451,8 +451,6 @@ msgstr ""
#: field:account.move.bank.reconcile,journal_id:0
#: view:account.move.line:0
#: field:account.move.line,journal_id:0
#: report:account.third_party_ledger:0
#: report:account.third_party_ledger_other:0
#: code:addons/account/account_move_line.py:983
#: view:analytic.entries.report:0
#: field:analytic.entries.report,journal_id:0
@ -1071,6 +1069,7 @@ msgstr ""
#. module: account
#: report:account.general.ledger:0
#: report:account.general.ledger_landscape:0
#: report:account.tax.code.entries:0
#: report:account.third_party_ledger:0
#: report:account.third_party_ledger_other:0
@ -1258,6 +1257,16 @@ msgstr ""
#: selection:account.partner.balance,display_partner:0
#: selection:account.pl.report,display_account:0
#: selection:account.report.general.ledger,display_account:0
#: report:account.account.balance:0
#: report:account.partner.balance:0
#: report:account.third_party_ledger:0
#: report:account.third_party_ledger_other:0
#: report:account.balancesheet:0
#: report:account.balancesheet.horizontal:0
#: report:account.general.ledger:0
#: report:account.general.ledger_landscape:0
#: report:pl.account:0
#: report:pl.account.horizontal:0
msgid "With balance is not equal to 0"
msgstr ""
@ -1980,6 +1989,9 @@ msgstr ""
#. module: account
#: report:account.journal.period.print:0
#: field:account.print.journal,sort_selection:0
#: report:account.general.ledger:0
#: report:account.general.ledger_landscape:0
msgid "Entries Sorted By"
msgstr ""
@ -2001,11 +2013,16 @@ msgstr ""
#. module: account
#: report:account.account.balance:0
#: report:account.central.journal:0
#: report:account.balancesheet:0
#: report:account.balancesheet.horizontal:0
#: report:account.general.ledger:0
#: report:account.general.ledger_landscape:0
#: report:pl.account:0
#: report:pl.account.horizontal:0
#: view:account.entries.report:0
#: field:account.entries.report,fiscalyear_id:0
#: field:account.fiscalyear,name:0
#: report:account.general.journal:0
#: report:account.general.ledger:0
#: field:account.journal.period,fiscalyear_id:0
#: report:account.journal.period.print:0
#: report:account.partner.balance:0
@ -2305,6 +2322,7 @@ msgstr ""
#. module: account
#: report:account.general.ledger:0
#: report:account.general.ledger_landscape:0
#: report:account.journal.period.print:0
#: report:account.overdue:0
#: report:account.third_party_ledger:0
@ -2537,6 +2555,8 @@ msgstr ""
#. module: account
#: view:account.pl.report:0
#: model:ir.ui.menu,name:account.menu_account_pl_report
#: report:pl.account:0
#: report:pl.account.horizontal:0
msgid "Profit And Loss"
msgstr ""
@ -2786,7 +2806,6 @@ msgstr ""
#: report:account.general.journal:0
#: field:account.general.journal,journal_ids:0
#: view:account.journal.period:0
#: report:account.partner.balance:0
#: field:account.partner.balance,journal_ids:0
#: field:account.partner.ledger,journal_ids:0
#: field:account.pl.report,journal_ids:0
@ -2800,6 +2819,17 @@ msgstr ""
#: model:ir.ui.menu,name:account.menu_action_account_journal_form
#: model:ir.ui.menu,name:account.menu_journals
#: model:ir.ui.menu,name:account.menu_journals_report
#: report:account.account.balance:0
#: report:account.partner.balance:0
#: report:account.third_party_ledger:0
#: report:account.third_party_ledger_other:0
#: report:account.balancesheet:0
#: report:account.balancesheet.horizontal:0
#: report:account.central.journal:0
#: report:account.general.ledger:0
#: report:account.general.ledger_landscape:0
#: report:pl.account:0
#: report:pl.account.horizontal:0
msgid "Journals"
msgstr ""
@ -3001,6 +3031,7 @@ msgstr ""
#. module: account
#: report:account.general.ledger:0
#: report:account.general.ledger_landscape:0
msgid "Counterpart"
msgstr ""
@ -3477,11 +3508,10 @@ msgid "Analytic Balance"
msgstr ""
#. module: account
#: code:addons/account/report/account_balance_sheet.py:76
#: code:addons/account/report/account_balance_sheet.py:122
#: code:addons/account/report/account_profit_loss.py:76
#: code:addons/account/report/account_profit_loss.py:124
#, python-format
#: report:account.balancesheet:0
#: report:account.balancesheet.horizontal:0
#: report:pl.account:0
#: report:pl.account.horizontal:0
msgid "Net Loss"
msgstr ""
@ -4267,7 +4297,6 @@ msgid "Analytic Balance -"
msgstr ""
#. module: account
#: report:account.account.balance:0
#: field:account.aged.trial.balance,target_move:0
#: field:account.balance.report,target_move:0
#: field:account.bs.report,target_move:0
@ -4280,10 +4309,8 @@ msgstr ""
#: field:account.common.report,target_move:0
#: report:account.general.journal:0
#: field:account.general.journal,target_move:0
#: report:account.general.ledger:0
#: report:account.journal.period.print:0
#: field:account.move.journal,target_move:0
#: report:account.partner.balance:0
#: field:account.partner.balance,target_move:0
#: field:account.partner.ledger,target_move:0
#: field:account.pl.report,target_move:0
@ -4293,6 +4320,16 @@ msgstr ""
#: report:account.third_party_ledger:0
#: report:account.third_party_ledger_other:0
#: field:account.vat.declaration,target_move:0
#: report:account.account.balance:0
#: report:account.partner.balance:0
#: report:account.third_party_ledger:0
#: report:account.third_party_ledger_other:0
#: report:account.balancesheet:0
#: report:account.balancesheet.horizontal:0
#: report:account.general.ledger:0
#: report:account.general.ledger_landscape:0
#: report:pl.account:0
#: report:pl.account.horizontal:0
msgid "Target Moves"
msgstr ""
@ -4408,6 +4445,8 @@ msgstr ""
#: view:account.bs.report:0
#: model:ir.actions.act_window,name:account.action_account_bs_report
#: model:ir.ui.menu,name:account.menu_account_bs_report
#: report:account.balancesheet:0
#: report:account.balancesheet.horizontal:0
msgid "Balance Sheet"
msgstr ""
@ -5081,6 +5120,19 @@ msgstr ""
#. module: account
#: code:addons/account/report/common_report_header.py:100
#, python-format
#: report:account.account.balance:0
#: report:account.central.journal:0
#: report:account.partner.balance:0
#: report:account.third_party_ledger:0
#: report:account.third_party_ledger_other:0
#: report:account.balancesheet:0
#: report:account.balancesheet.horizontal:0
#: report:account.general.journal:0
#: report:account.general.ledger:0
#: report:account.general.ledger_landscape:0
#: report:pl.account:0
#: report:pl.account.horizontal:0
#: report:account.vat.declaration:0
msgid "No Filter"
msgstr ""
@ -5938,6 +5990,7 @@ msgstr ""
#. module: account
#: report:account.general.ledger:0
#: report:account.general.ledger_landscape:0
#: view:account.report.general.ledger:0
#: model:ir.actions.act_window,name:account.action_account_general_ledger_menu
#: model:ir.actions.report.xml,name:account.account_general_ledger
@ -6756,6 +6809,7 @@ msgstr ""
#: view:account.entries.report:0
#: field:account.entries.report,partner_id:0
#: report:account.general.ledger:0
#: report:account.general.ledger_landscape:0
#: view:account.invoice:0
#: field:account.invoice,partner_id:0
#: field:account.invoice.line,partner_id:0
@ -6997,6 +7051,19 @@ msgstr ""
#: field:account.tax.chart,period_id:0
#: code:addons/account/account_move_line.py:982
#: field:validate.account.move,period_id:0
#: report:account.account.balance:0
#: report:account.central.journal:0
#: report:account.partner.balance:0
#: report:account.third_party_ledger:0
#: report:account.third_party_ledger_other:0
#: report:account.balancesheet:0
#: report:account.balancesheet.horizontal:0
#: report:account.general.journal:0
#: report:account.general.ledger:0
#: report:account.general.ledger_landscape:0
#: report:pl.account:0
#: report:pl.account.horizontal:0
#: report:account.vat.declaration:0
#, python-format
msgid "Period"
msgstr ""
@ -7068,11 +7135,17 @@ msgid "Company Currency"
msgstr ""
#. module: account
#: report:account.general.ledger:0
#: report:account.account.balance:0
#: report:account.partner.balance:0
#: report:account.third_party_ledger:0
#: report:account.third_party_ledger_other:0
msgid "Chart of Account"
#: report:account.balancesheet:0
#: report:account.balancesheet.horizontal:0
#: report:account.general.ledger:0
#: report:account.general.ledger_landscape:0
#: report:pl.account:0
#: report:pl.account.horizontal:0
msgid "Chart of Accounts"
msgstr ""
#. module: account
@ -7181,6 +7254,12 @@ msgstr ""
#: report:account.central.journal:0
#: report:account.general.journal:0
#: report:account.partner.balance:0
#: report:account.balancesheet:0
#: report:account.balancesheet.horizontal:0
#: report:account.general.ledger:0
#: report:account.general.ledger_landscape:0
#: report:pl.account:0
#: report:pl.account.horizontal:0
msgid "Filter By"
msgstr ""
@ -7405,6 +7484,7 @@ msgstr ""
#: field:account.entries.report,currency_id:0
#: report:account.general.journal:0
#: report:account.general.ledger:0
#: report:account.general.ledger_landscape:0
#: field:account.invoice,currency_id:0
#: field:account.invoice.report,currency_id:0
#: field:account.journal,currency:0
@ -7658,12 +7738,17 @@ msgstr ""
#: report:account.account.balance:0
#: report:account.central.journal:0
#: report:account.general.journal:0
#: report:account.general.ledger:0
#: report:account.journal.period.print:0
#: report:account.partner.balance:0
#: report:account.third_party_ledger:0
#: report:account.third_party_ledger_other:0
#: report:account.vat.declaration:0
#: report:account.balancesheet:0
#: report:account.balancesheet.horizontal:0
#: report:account.general.ledger:0
#: report:account.general.ledger_landscape:0
#: report:pl.account:0
#: report:pl.account.horizontal:0
msgid "Start Period"
msgstr ""
@ -7775,7 +7860,12 @@ msgstr ""
#: report:account.central.journal:0
#: field:account.entries.report,balance:0
#: report:account.general.journal:0
#: report:account.balancesheet:0
#: report:account.balancesheet.horizontal:0
#: report:account.general.ledger:0
#: report:account.general.ledger_landscape:0
#: report:pl.account:0
#: report:pl.account.horizontal:0
#: field:account.move.line,balance:0
#: report:account.partner.balance:0
#: selection:account.payment.term.line,value:0
@ -7794,6 +7884,15 @@ msgstr ""
#. module: account
#: report:account.account.balance:0
#: report:account.partner.balance:0
#: report:account.third_party_ledger:0
#: report:account.third_party_ledger_other:0
#: report:account.balancesheet:0
#: report:account.balancesheet.horizontal:0
#: report:account.general.ledger:0
#: report:account.general.ledger_landscape:0
#: report:pl.account:0
#: report:pl.account.horizontal:0
msgid "Display Account"
msgstr ""
@ -7991,12 +8090,17 @@ msgstr ""
#: report:account.account.balance:0
#: report:account.central.journal:0
#: report:account.general.journal:0
#: report:account.general.ledger:0
#: report:account.journal.period.print:0
#: report:account.partner.balance:0
#: report:account.third_party_ledger:0
#: report:account.third_party_ledger_other:0
#: report:account.vat.declaration:0
#: report:account.balancesheet:0
#: report:account.balancesheet.horizontal:0
#: report:account.general.ledger:0
#: report:account.general.ledger_landscape:0
#: report:pl.account:0
#: report:pl.account.horizontal:0
msgid "End Period"
msgstr ""
@ -8186,6 +8290,7 @@ msgstr ""
#: field:account.entries.report,credit:0
#: report:account.general.journal:0
#: report:account.general.ledger:0
#: report:account.general.ledger_landscape:0
#: report:account.journal.period.print:0
#: field:account.model.line,credit:0
#: field:account.move.line,credit:0
@ -8262,6 +8367,18 @@ msgstr ""
#: selection:account.pl.report,filter:0
#: selection:account.print.journal,filter:0
#: selection:account.report.general.ledger,filter:0
#: report:account.account.balance:0
#: report:account.central.journal:0
#: report:account.partner.balance:0
#: report:account.third_party_ledger:0
#: report:account.third_party_ledger_other:0
#: report:account.balancesheet:0
#: report:account.balancesheet.horizontal:0
#: report:account.general.journal:0
#: report:account.general.ledger:0
#: report:account.general.ledger_landscape:0
#: report:pl.account:0
#: report:pl.account.horizontal:0
#: report:account.vat.declaration:0
#: view:account.vat.declaration:0
#: selection:account.vat.declaration,filter:0
@ -8463,13 +8580,10 @@ msgid "Tax Source"
msgstr ""
#. module: account
#: code:addons/account/report/account_balance_sheet.py:71
#: code:addons/account/report/account_balance_sheet.py:116
#: code:addons/account/report/account_balance_sheet.py:119
#: code:addons/account/report/account_balance_sheet.py:120
#: code:addons/account/report/account_profit_loss.py:71
#: code:addons/account/report/account_profit_loss.py:127
#, python-format
#: report:account.balancesheet:0
#: report:account.balancesheet.horizontal:0
#: report:pl.account:0
#: report:pl.account.horizontal:0
msgid "Net Profit"
msgstr ""
@ -8493,7 +8607,7 @@ msgstr ""
#: report:account.general.ledger:0
#: report:account.third_party_ledger:0
#: report:account.third_party_ledger_other:0
msgid "JNRL"
msgid "JRNL"
msgstr ""
#. module: account
@ -8695,6 +8809,7 @@ msgstr ""
#: field:account.entries.report,debit:0
#: report:account.general.journal:0
#: report:account.general.ledger:0
#: report:account.general.ledger_landscape:0
#: report:account.journal.period.print:0
#: field:account.model.line,debit:0
#: field:account.move.line,debit:0
@ -8764,6 +8879,16 @@ msgstr ""
#: selection:account.common.account.report,display_account:0
#: selection:account.pl.report,display_account:0
#: selection:account.report.general.ledger,display_account:0
#: report:account.account.balance:0
#: report:account.partner.balance:0
#: report:account.third_party_ledger:0
#: report:account.third_party_ledger_other:0
#: report:account.balancesheet:0
#: report:account.balancesheet.horizontal:0
#: report:account.general.ledger:0
#: report:account.general.ledger_landscape:0
#: report:pl.account:0
#: report:pl.account.horizontal:0
msgid "With movements"
msgstr ""
@ -9115,3 +9240,14 @@ msgstr ""
msgid "The residual amount on a receivable or payable of a journal entry expressed in its currency (maybe different of the company currency)."
msgstr ""
#. module: account
#: report:account.balancesheet:0
#: report:account.balancesheet.horizontal:0
msgid "Assets"
msgstr ""
#. module: account
#: report:account.balancesheet:0
#: report:account.balancesheet.horizontal:0
msgid "Liabilities"
msgstr ""

View File

@ -1435,6 +1435,16 @@ msgstr "Vous ne pouvez pas utiliser ce compte général dans ce journal !"
#: selection:account.partner.balance,display_partner:0
#: selection:account.pl.report,display_account:0
#: selection:account.report.general.ledger,display_account:0
#: report:account.account.balance:0
#: report:account.partner.balance:0
#: report:account.third_party_ledger:0
#: report:account.third_party_ledger_other:0
#: report:account.balancesheet:0
#: report:account.balancesheet.horizontal:0
#: report:account.general.ledger:0
#: report:account.general.ledger_landscape:0
#: report:pl.account:0
#: report:pl.account.horizontal:0
msgid "With balance is not equal to 0"
msgstr "Avec la balance qui n'est pas égale à 0"
@ -2251,6 +2261,8 @@ msgstr "Propriétés des comptes"
#: report:account.general.ledger_landscape:0
#: report:account.journal.period.print:0
#: field:account.print.journal,sort_selection:0
#: report:account.general.ledger:0
#: report:account.general.ledger_landscape:0
msgid "Entries Sorted By"
msgstr "Écritures triées par"
@ -2272,12 +2284,16 @@ msgstr "Modèle de produit"
#. module: account
#: report:account.account.balance:0
#: report:account.central.journal:0
#: report:account.balancesheet:0
#: report:account.balancesheet.horizontal:0
#: report:account.general.ledger:0
#: report:account.general.ledger_landscape:0
#: report:pl.account:0
#: report:pl.account.horizontal:0
#: view:account.entries.report:0
#: field:account.entries.report,fiscalyear_id:0
#: field:account.fiscalyear,name:0
#: report:account.general.journal:0
#: report:account.general.ledger:0
#: report:account.general.ledger_landscape:0
#: field:account.journal.period,fiscalyear_id:0
#: report:account.journal.period.print:0
#: report:account.partner.balance:0
@ -2887,8 +2903,10 @@ msgstr "Comptabilité financière"
#. module: account
#: view:account.pl.report:0
#: model:ir.ui.menu,name:account.menu_account_pl_report
#: report:pl.account:0
#: report:pl.account.horizontal:0
msgid "Profit And Loss"
msgstr "Pertes et profits"
msgstr "Compte de résultat"
#. module: account
#: view:account.fiscal.position:0
@ -3168,7 +3186,6 @@ msgstr "Laisser vide pour utiliser le compte de dépense"
#: field:account.general.journal,journal_ids:0
#: report:account.general.ledger_landscape:0
#: view:account.journal.period:0
#: report:account.partner.balance:0
#: field:account.partner.balance,journal_ids:0
#: field:account.partner.ledger,journal_ids:0
#: field:account.pl.report,journal_ids:0
@ -3182,6 +3199,17 @@ msgstr "Laisser vide pour utiliser le compte de dépense"
#: model:ir.ui.menu,name:account.menu_action_account_journal_form
#: model:ir.ui.menu,name:account.menu_journals
#: model:ir.ui.menu,name:account.menu_journals_report
#: report:account.account.balance:0
#: report:account.partner.balance:0
#: report:account.third_party_ledger:0
#: report:account.third_party_ledger_other:0
#: report:account.balancesheet:0
#: report:account.balancesheet.horizontal:0
#: report:account.central.journal:0
#: report:account.general.ledger:0
#: report:account.general.ledger_landscape:0
#: report:pl.account:0
#: report:pl.account.horizontal:0
msgid "Journals"
msgstr "Journaux"
@ -3920,11 +3948,10 @@ msgid "Analytic Balance"
msgstr "Balance analytique"
#. module: account
#: code:addons/account/report/account_balance_sheet.py:76
#: code:addons/account/report/account_balance_sheet.py:122
#: code:addons/account/report/account_profit_loss.py:76
#: code:addons/account/report/account_profit_loss.py:124
#, python-format
#: report:account.balancesheet:0
#: report:account.balancesheet.horizontal:0
#: report:pl.account:0
#: report:pl.account.horizontal:0
msgid "Net Loss"
msgstr "Perte nette"
@ -4776,7 +4803,6 @@ msgid "Analytic Balance -"
msgstr "Balance Analytique -"
#. module: account
#: report:account.account.balance:0
#: field:account.aged.trial.balance,target_move:0
#: field:account.balance.report,target_move:0
#: field:account.bs.report,target_move:0
@ -4789,11 +4815,8 @@ msgstr "Balance Analytique -"
#: field:account.common.report,target_move:0
#: report:account.general.journal:0
#: field:account.general.journal,target_move:0
#: report:account.general.ledger:0
#: report:account.general.ledger_landscape:0
#: report:account.journal.period.print:0
#: field:account.move.journal,target_move:0
#: report:account.partner.balance:0
#: field:account.partner.balance,target_move:0
#: field:account.partner.ledger,target_move:0
#: field:account.pl.report,target_move:0
@ -4803,11 +4826,16 @@ msgstr "Balance Analytique -"
#: report:account.third_party_ledger:0
#: report:account.third_party_ledger_other:0
#: field:account.vat.declaration,target_move:0
#: report:account.balancesheet.horizontal:0
#: report:account.account.balance:0
#: report:account.partner.balance:0
#: report:account.third_party_ledger:0
#: report:account.third_party_ledger_other:0
#: report:account.balancesheet:0
#: report:pl.account.horizontal:0
#: report:account.balancesheet.horizontal:0
#: report:account.general.ledger:0
#: report:account.general.ledger_landscape:0
#: report:pl.account:0
#: report:account.aged_trial_balance:0
#: report:pl.account.horizontal:0
msgid "Target Moves"
msgstr "Mouvements Cibles"
@ -4924,8 +4952,8 @@ msgstr "Résultat du lettrage"
#: view:account.bs.report:0
#: model:ir.actions.act_window,name:account.action_account_bs_report
#: model:ir.ui.menu,name:account.menu_account_bs_report
#: report:account.balancesheet.horizontal:0
#: report:account.balancesheet:0
#: report:account.balancesheet.horizontal:0
msgid "Balance Sheet"
msgstr "Bilan"
@ -5642,6 +5670,16 @@ msgstr "La nouvelle devise n'est pas correctement paramétrée !"
#: field:account.print.journal,filter:0
#: field:account.report.general.ledger,filter:0
#: field:account.vat.declaration,filter:0
#: field:account.account.balance,filter:0
#: field:account.central.journal,filter:0
#: field:account.general.journal,filter:0
#: field:account.partner.balance,filter:0
#: field:account.balancesheet,filter:0
#: field:account.balancesheet.horizontal,filter:0
#: field:account.general.ledger,filter:0
#: field:account.general.ledger_landscape,filter:0
#: field:pl.account,filter:0
#: field:pl.account.horizontal,filter:0
msgid "Filter by"
msgstr "Filtrer par"
@ -5673,6 +5711,19 @@ msgstr "Journal général de comptabilité"
#. module: account
#: code:addons/account/report/common_report_header.py:100
#, python-format
#: report:account.account.balance:0
#: report:account.central.journal:0
#: report:account.partner.balance:0
#: report:account.third_party_ledger:0
#: report:account.third_party_ledger_other:0
#: report:account.balancesheet:0
#: report:account.balancesheet.horizontal:0
#: report:account.general.journal:0
#: report:account.general.ledger:0
#: report:account.general.ledger_landscape:0
#: report:pl.account:0
#: report:pl.account.horizontal:0
#: report:account.vat.declaration:0
msgid "No Filter"
msgstr "Pas de filtre"
@ -7925,6 +7976,19 @@ msgstr "Gestion de la comptabilité et des finances"
#: field:account.tax.chart,period_id:0
#: code:addons/account/account_move_line.py:982
#: field:validate.account.move,period_id:0
#: report:account.account.balance:0
#: report:account.central.journal:0
#: report:account.partner.balance:0
#: report:account.third_party_ledger:0
#: report:account.third_party_ledger_other:0
#: report:account.balancesheet:0
#: report:account.balancesheet.horizontal:0
#: report:account.general.journal:0
#: report:account.general.ledger:0
#: report:account.general.ledger_landscape:0
#: report:pl.account:0
#: report:pl.account.horizontal:0
#: report:account.vat.declaration:0
#, python-format
msgid "Period"
msgstr "Période"
@ -8021,16 +8085,17 @@ msgid "Company Currency"
msgstr "Devise société"
#. module: account
#: report:account.general.ledger:0
#: report:account.account.balance:0
#: report:account.partner.balance:0
#: report:account.third_party_ledger:0
#: report:account.third_party_ledger_other:0
#: report:account.balancesheet.horizontal:0
#: report:account.balancesheet:0
#: report:pl.account.horizontal:0
#: report:account.balancesheet.horizontal:0
#: report:account.general.ledger:0
#: report:account.general.ledger_landscape:0
#: report:pl.account:0
#: report:account.aged_trial_balance:0
msgid "Chart of Account"
#: report:pl.account.horizontal:0
msgid "Chart of Accounts"
msgstr "Plan comptable"
#. module: account
@ -8151,10 +8216,12 @@ msgstr "Journal d'avoirs"
#: report:account.general.journal:0
#: report:account.general.ledger_landscape:0
#: report:account.partner.balance:0
#: report:account.balancesheet.horizontal:0
#: report:account.balancesheet:0
#: report:pl.account.horizontal:0
#: report:account.balancesheet.horizontal:0
#: report:account.general.ledger:0
#: report:account.general.ledger_landscape:0
#: report:pl.account:0
#: report:pl.account.horizontal:0
msgid "Filter By"
msgstr "Filtré par"
@ -8724,15 +8791,19 @@ msgstr "Gestion des suivis"
#: report:account.account.balance:0
#: report:account.central.journal:0
#: report:account.general.journal:0
#: report:account.general.ledger:0
#: report:account.general.ledger_landscape:0
#: report:account.journal.period.print:0
#: report:account.partner.balance:0
#: report:account.third_party_ledger:0
#: report:account.third_party_ledger_other:0
#: report:account.vat.declaration:0
#: report:account.balancesheet:0
#: report:account.balancesheet.horizontal:0
#: report:account.general.ledger:0
#: report:account.general.ledger_landscape:0
#: report:pl.account:0
#: report:pl.account.horizontal:0
msgid "Start Period"
msgstr "Démarrer la période"
msgstr "Période de début"
#. module: account
#: code:addons/account/account.py:2357
@ -8859,8 +8930,12 @@ msgstr "Laisser vide pour utiliser le compte de revenu"
#: report:account.central.journal:0
#: field:account.entries.report,balance:0
#: report:account.general.journal:0
#: report:account.balancesheet:0
#: report:account.balancesheet.horizontal:0
#: report:account.general.ledger:0
#: report:account.general.ledger_landscape:0
#: report:pl.account:0
#: report:pl.account.horizontal:0
#: field:account.move.line,balance:0
#: report:account.partner.balance:0
#: selection:account.payment.term.line,value:0
@ -8874,7 +8949,7 @@ msgstr "Laisser vide pour utiliser le compte de revenu"
#: report:pl.account.horizontal:0
#: report:pl.account:0
msgid "Balance"
msgstr "Solde de la balance"
msgstr "Balance"
#. module: account
#: model:process.node,note:account.process_node_supplierbankstatement0
@ -8883,11 +8958,15 @@ msgstr "Saisi manuellement ou automatiquement dans le système"
#. module: account
#: report:account.account.balance:0
#: report:account.general.ledger_landscape:0
#: report:account.balancesheet.horizontal:0
#: report:account.partner.balance:0
#: report:account.third_party_ledger:0
#: report:account.third_party_ledger_other:0
#: report:account.balancesheet:0
#: report:pl.account.horizontal:0
#: report:account.balancesheet.horizontal:0
#: report:account.general.ledger:0
#: report:account.general.ledger_landscape:0
#: report:pl.account:0
#: report:pl.account.horizontal:0
msgid "Display Account"
msgstr "Afficher le compte"
@ -9116,15 +9195,19 @@ msgstr "Solde analytique"
#: report:account.account.balance:0
#: report:account.central.journal:0
#: report:account.general.journal:0
#: report:account.general.ledger:0
#: report:account.general.ledger_landscape:0
#: report:account.journal.period.print:0
#: report:account.partner.balance:0
#: report:account.third_party_ledger:0
#: report:account.third_party_ledger_other:0
#: report:account.vat.declaration:0
#: report:account.balancesheet:0
#: report:account.balancesheet.horizontal:0
#: report:account.general.ledger:0
#: report:account.general.ledger_landscape:0
#: report:pl.account:0
#: report:pl.account.horizontal:0
msgid "End Period"
msgstr "Fin de période"
msgstr "Période de fin"
#. module: account
#: field:account.aged.trial.balance,chart_account_id:0
@ -9429,6 +9512,18 @@ msgstr "Général"
#: selection:account.pl.report,filter:0
#: selection:account.print.journal,filter:0
#: selection:account.report.general.ledger,filter:0
#: report:account.account.balance:0
#: report:account.central.journal:0
#: report:account.partner.balance:0
#: report:account.third_party_ledger:0
#: report:account.third_party_ledger_other:0
#: report:account.balancesheet:0
#: report:account.balancesheet.horizontal:0
#: report:account.general.journal:0
#: report:account.general.ledger:0
#: report:account.general.ledger_landscape:0
#: report:pl.account:0
#: report:pl.account.horizontal:0
#: report:account.vat.declaration:0
#: view:account.vat.declaration:0
#: selection:account.vat.declaration,filter:0
@ -9647,13 +9742,10 @@ msgid "Tax Source"
msgstr "Base de la taxe"
#. module: account
#: code:addons/account/report/account_balance_sheet.py:71
#: code:addons/account/report/account_balance_sheet.py:116
#: code:addons/account/report/account_balance_sheet.py:119
#: code:addons/account/report/account_balance_sheet.py:120
#: code:addons/account/report/account_profit_loss.py:71
#: code:addons/account/report/account_profit_loss.py:127
#, python-format
#: report:account.balancesheet:0
#: report:account.balancesheet.horizontal:0
#: report:pl.account:0
#: report:pl.account.horizontal:0
msgid "Net Profit"
msgstr "Profit net"
@ -9973,6 +10065,16 @@ msgstr ""
#: selection:account.common.account.report,display_account:0
#: selection:account.pl.report,display_account:0
#: selection:account.report.general.ledger,display_account:0
#: report:account.account.balance:0
#: report:account.partner.balance:0
#: report:account.third_party_ledger:0
#: report:account.third_party_ledger_other:0
#: report:account.balancesheet:0
#: report:account.balancesheet.horizontal:0
#: report:account.general.ledger:0
#: report:account.general.ledger_landscape:0
#: report:pl.account:0
#: report:pl.account.horizontal:0
msgid "With movements"
msgstr "Avec mouvements"
@ -10365,6 +10467,24 @@ msgstr ""
"exprimée dans la devise du journal (si elle est différente de la devise de "
"la société)"
#. module: account
#: report:account.balancesheet:0
#: report:account.balancesheet.horizontal:0
msgid "Assets"
msgstr "Actif"
#. module: account
#: report:account.balancesheet:0
#: report:account.balancesheet.horizontal:0
msgid "Liabilities"
msgstr "Passif"
#~ msgid "Keep empty to use the period of the validation date."
#~ msgstr "Laissez vide pour utiliser la période de la date de validation"
#~ msgid "Error! You can not create recursive account."
#~ msgstr "Erreur! Vous ne pouvez pas créer de comptes récursifs"
#~ msgid "Aged Trial Balance"
#~ msgstr "Balance Agée"

View File

@ -112,7 +112,7 @@
<blockTable colWidths="110.0,110.0,110.0,110.0,128.0,93.0,110.0" style="Table8">
<tr>
<td>
<para style="terp_tblheader_General_Centre">Chart of Account</para>
<para style="terp_tblheader_General_Centre">Chart of Accounts</para>
</td>
<td>
<para style="terp_tblheader_General_Centre">Fiscal Year</para>

View File

@ -212,7 +212,7 @@
<blockTable colWidths="130.0,80.0,100.0,140.0,90.0" style="Table8">
<tr>
<td><para style="terp_tblheader_General_Centre">[[ data['model']=='account.account' and 'Company'or removeParentNode('para') ]]</para>
<para style="terp_tblheader_General_Centre"> [[ data['model']=='ir.ui.menu' and 'Chart of Account' or removeParentNode('para') ]]</para></td>
<para style="terp_tblheader_General_Centre"> [[ data['model']=='ir.ui.menu' and 'Chart of Accounts' or removeParentNode('para') ]]</para></td>
<td>
<para style="terp_tblheader_General_Centre">Fiscal Year</para>
</td>

View File

@ -172,9 +172,9 @@
</para>
<blockTable colWidths="120.0,100.0,140.0,90.0,90.0" style="Table2_header" >
<tr>
<td><para style="terp_tblheader_General_Centre">Chart of Account </para></td>
<td><para style="terp_tblheader_General_Centre">Chart of Accounts</para></td>
<td><para style="terp_tblheader_General_Centre">Fiscal Year</para></td>
<td><para style="terp_tblheader_General_Centre">Filter By <font>[[ get_filter(data)!='No Filter' and '' or removeParentNode('font') ]]</font></para></td>
<td><para style="terp_tblheader_General_Centre">Filter By [[ get_filter(data)!='No Filter' and get_filter(data) ]]</para></td>
<td><para style="terp_tblheader_General_Centre">Display Account</para></td>
<td><para style="terp_tblheader_General_Centre">Target Moves</para></td>
</tr>

View File

@ -132,7 +132,7 @@
<blockTable colWidths="250.0,100.0,150.0,120.0,150.0" style="Table2_header" >
<tr>
<td><para style="terp_tblheader_General_Centre">Chart of Account </para></td>
<td><para style="terp_tblheader_General_Centre">Chart of Accounts</para></td>
<td><para style="terp_tblheader_General_Centre">Fiscal Year</para></td>
<td><para style="terp_tblheader_General_Centre">Filter By [[ get_filter(data)!='No Filter' and get_filter(data) ]]</para></td>
<td><para style="terp_tblheader_General_Centre">Display Account</para></td>
@ -196,28 +196,40 @@
</tr>
<tr>
<td>
<para style="terp_default_9"><font>[[ a['level']&lt;4 and ( setTag('para','para',{'style':'terp_default_Bold_9'})) or removeParentNode('font') ]]</font><font>[[ a['code1'] ]]</font></para>
<para style="terp_default_9">
<font>[[ repeatIn(get_lines(),'a' ) ]] </font>[[ a['code1'] ]]<font>[[ a['level1']&lt;4 and ( setTag('para','para',{'style':'terp_default_Bold_9'})) or removeParentNode('font') ]]</font>
</para>
</td>
<td>
<para style="terp_default_9"><font color="white">[[ '. '*(a['level1']-1) ]]</font><font>[[ a['level1']&lt;4 and ( setTag('para','para',{'style':'terp_default_Bold_9'})) or removeParentNode('font') ]][[ a['name1'] ]]</font></para>
<para style="terp_default_9">
<font color="white">[[ '. '*(a['level1']-1) ]]</font><font>[[ a['level1']&lt;4 and ( setTag('para','para',{'style':'terp_default_Bold_9'})) or removeParentNode('font') ]][[ a['name1'] ]]</font>
</para>
</td>
<td>
<para style="terp_default_Right_9"><font>[[ a['level1']&lt;4 and ( setTag('para','para',{'style':'terp_default_Right_9_Bold'})) or removeParentNode('font') ]]</font><font>[[ formatLang(a['balance1']) ]] [[ company.currency_id.symbol ]]</font></para>
<para style="terp_default_Right_9">
<font>[[ a['level1']&lt;4 and ( setTag('para','para',{'style':'terp_default_Right_9_Bold'})) or removeParentNode('font') ]]</font><font>[[ formatLang(a['balance1']) ]] [[ company.currency_id.symbol ]]</font>
</para>
</td>
<td>
<para style="terp_default_9"><font face="Times-Roman">[[ repeatIn(get_lines(), 'a') ]]</font> <font>[[ a['level']&lt;4 and ( setTag('para','para',{'style':'terp_default_Bold_9'})) or removeParentNode('font') ]]</font><font>[[ a['code'] ]]</font><font>[[ a['name']=='Net Profit' and setTag('para','para',{'style':'terp_default_Bold_9'}) or removeParentNode('font') ]]</font></para>
<para style="terp_default_9">
[[ a['code'] ]]<font>[[ ( a['level']&lt;4 or a['name']=='Net Profit') and ( setTag('para','para',{'style':'terp_default_Bold_9'})) or removeParentNode('font') ]]</font>
</para>
</td>
<td>
<para style="terp_default_9"><font color="white">[[ '. '*(a['level']-1) ]]</font><font>[[ a['level']&lt;4 and ( setTag('para','para',{'style':'terp_default_Bold_9'})) or removeParentNode('font') ]][[ a['name'] ]]</font><font>[[ a['name']=='Net Profit' and setTag('para','para',{'style':'terp_default_Bold_9'}) or removeParentNode('font') ]]</font></para>
<para style="terp_default_9">
<font color="white">[[ '. '*(a['level']-1) ]]</font>
<font>[[ (a['level']&lt;4 and ( setTag('para','para',{'style':'terp_default_Bold_9'})) and a['name']!='Net Profit') or removeParentNode('font') ]][[ a['name'] ]]</font>
</para>
</td>
<td>
<para style="terp_default_Right_9"><font>[[ a['level1']&lt;4 and ( setTag('para','para',{'style':'terp_default_Right_9_Bold'})) or removeParentNode('font') ]]</font>
<font>[[ a['name']=='Net Profit' and setTag('para','para',{'style':'terp_default_Right_9_Bold'}) or removeParentNode('font') ]]</font>
<font> [[(a['code'] and a['name']) and formatLang(a['balance']) or removeParentNode('font')]] [[ company.currency_id.symbol ]]</font></para>
<para style="terp_default_Right_9">
<font>[[ ( a['level']&lt;4 or a['name']=='Net Profit') and ( setTag('para','para',{'style':'terp_default_Right_9_Bold'})) or removeParentNode('font') ]]</font>
<font>[[(a['code'] and a['name']) and formatLang(a['balance']) or removeParentNode('font')]] [[ company.currency_id.symbol ]]</font>
</para>
</td>
</tr>
</blockTable>
<blockTable colWidths="290.16,100.32,290.16,100.32" style="Table_Net_Profit_Loss">
</tr>
</blockTable>
<blockTable colWidths="290.16,100.32,290.16,100.32" style="Table_Net_Profit_Loss">
<tr>
<td>
<para style="terp_default_Bold_9">Balance:</para>

View File

@ -235,8 +235,7 @@
</blockTable>
<blockTable colWidths="130.0,80.0,100.0,130.0,100.0" style="Table2">
<tr>
<td><para style="terp_tblheader_General_Centre">[[ data['model']=='account.journal.period' and 'Company' or removeParentNode('para') ]]</para>
<para style="terp_tblheader_General_Centre"> [[ data['model']=='ir.ui.menu' and 'Chart of Account' or removeParentNode('para') ]]</para></td>
<td><para style="terp_tblheader_General_Centre">Chart of Accounts</para></td>
<td><para style="terp_tblheader_General_Centre">Fiscal Year</para></td>
<td><para style="terp_tblheader_General_Centre">Journal</para></td>
<td><para style="terp_tblheader_General_Centre">Filter By [[get_filter(data)!='No Filter' and get_filter(data) ]]</para></td>

View File

@ -221,7 +221,7 @@
<blockTable colWidths="80.0,100,80.0,150.0,100.0" style="Table2">
<tr>
<td><para style="terp_tblheader_General_Centre">[[ data['model']=='account.journal.period' and 'Company' or removeParentNode('para') ]]</para>
<para style="terp_tblheader_General_Centre"> [[ data['model']=='ir.ui.menu' and 'Chart of Account' or removeParentNode('para') ]]</para></td>
<para style="terp_tblheader_General_Centre"> [[ data['model']=='ir.ui.menu' and 'Chart of Accounts' or removeParentNode('para') ]]</para></td>
<td><para style="terp_tblheader_General_Centre">Fiscal Year</para></td>
<td><para style="terp_tblheader_General_Centre">Journals</para></td>
<td><para style="terp_tblheader_General_Centre">Filter By [[ get_filter(data)!='No Filter' and get_filter(data) ]]</para></td>

View File

@ -270,7 +270,7 @@
<para style="terp_tblheader_Details">Date</para>
</td>
<td>
<para style="terp_tblheader_Details">JNRL</para>
<para style="terp_tblheader_Details">JRNL</para>
</td>
<td>
<para style="terp_tblheader_Details">Partner</para>
@ -304,7 +304,7 @@
<para style="terp_tblheader_Details">Date</para>
</td>
<td>
<para style="terp_tblheader_Details">JNRL</para>
<para style="terp_tblheader_Details">JRNL</para>
</td>
<td>
<para style="terp_tblheader_Details">Partner</para>
@ -344,16 +344,16 @@
<blockTable colWidths="102.0,102.0,102.0,130.0,102.0" style="Table13">
<tr>
<td>
<para style="terp_tblheader_General_Centre">Chart of Account</para>
<para style="terp_tblheader_General_Centre">Chart of Accounts</para>
</td>
<td>
<para style="terp_tblheader_General_Centre">Fiscal Year</para>
</td>
<td>
<para style="terp_tblheader_General_Centre">Journal</para>
<para style="terp_tblheader_General_Centre">Journals</para>
</td>
<td>
<para style="terp_tblheader_General_Centre">Filters By [[ get_filter(data)!='No Filter' and get_filter(data) ]]</para>
<para style="terp_tblheader_General_Centre">Filter By [[ get_filter(data)!='No Filter' and get_filter(data) ]]</para>
</td>
<td>
<para style="terp_tblheader_General_Centre">Target Moves</para>
@ -431,7 +431,7 @@
<para style="terp_tblheader_Details">Date</para>
</td>
<td>
<para style="terp_tblheader_Details">JNRL</para>
<para style="terp_tblheader_Details">JRNL</para>
</td>
<td>
<para style="terp_tblheader_Details">Partner</para>
@ -530,7 +530,7 @@
<para style="terp_tblheader_Details">Date</para>
</td>
<td>
<para style="terp_tblheader_Details">JNRL</para>
<para style="terp_tblheader_Details">JRNL</para>
</td>
<td>
<para style="terp_tblheader_Details">Partner</para>

View File

@ -361,7 +361,7 @@
<tr>
<td>
<para style="terp_tblheader_General_Centre">[[ data['model']=='account.account' and 'Company' or removeParentNode('para') ]]</para>
<para style="terp_tblheader_General_Centre">[[ data['model']=='ir.ui.menu' and 'Chart of Account' or removeParentNode('para') ]]</para>
<para style="terp_tblheader_General_Centre">[[ data['model']=='ir.ui.menu' and 'Chart of Accounts' or removeParentNode('para') ]]</para>
</td>
<td>
<para style="terp_tblheader_General_Centre">Fiscal Year</para>

View File

@ -186,7 +186,7 @@
<blockTable colWidths="85.0,80.0,80.0,120.0,70.0,100.0" style="Table2">
<tr>
<td><para style="terp_tblheader_General_Centre"> [[ data['model']=='account.journal.period'and 'Company' or removeParentNode('para') ]]</para>
<para style="terp_tblheader_General_Centre">[[ data['model']=='ir.ui.menu' and 'Chart of Account' or removeParentNode('para') ]]</para></td>
<para style="terp_tblheader_General_Centre">[[ data['model']=='ir.ui.menu' and 'Chart of Accounts' or removeParentNode('para') ]]</para></td>
<td><para style="terp_tblheader_General_Centre">Fiscal Year</para></td>
<td><para style="terp_tblheader_General_Centre">Journal</para></td>
<td><para style="terp_tblheader_General_Centre">Filters By </para></td>

View File

@ -184,7 +184,7 @@
</para>
<blockTable colWidths="90.0,80.0,80.0,130.0,80.0,80.0" style="Table2_header">
<tr>
<td><para style="terp_tblheader_General_Centre">Chart of Account</para></td>
<td><para style="terp_tblheader_General_Centre">Chart of Accounts</para></td>
<td><para style="terp_tblheader_General_Centre">Fiscal Year</para></td>
<td><para style="terp_tblheader_General_Centre">Journals</para></td>
<td><para style="terp_tblheader_General_Centre">Filter By [[ get_filter(data)!='No Filter' and get_filter(data) ]]</para></td>

View File

@ -280,7 +280,7 @@
<para style="terp_tblheader_Details">Date</para>
</td>
<td>
<para style="terp_tblheader_Details">JNRL</para>
<para style="terp_tblheader_Details">JRNL</para>
</td>
<td>
<para style="terp_tblheader_Details_Centre">Ref</para>
@ -308,7 +308,7 @@
<para style="terp_tblheader_Details">Date</para>
</td>
<td>
<para style="terp_tblheader_Details">JNRL</para>
<para style="terp_tblheader_Details">JRNL</para>
</td>
<td>
<para style="terp_tblheader_Details_Centre">Ref</para>
@ -346,13 +346,13 @@
<blockTable colWidths="82.0,82.0,82.0,128.0,82.0,82.0" style="Table1">
<tr>
<td>
<para style="terp_tblheader_General_Centre">Chart of Account</para>
<para style="terp_tblheader_General_Centre">Chart of Accounts</para>
</td>
<td>
<para style="terp_tblheader_General_Centre">Fiscal Year</para>
</td>
<td>
<para style="terp_tblheader_General_Centre">Journal</para>
<para style="terp_tblheader_General_Centre">Journals</para>
</td>
<td>
<para style="terp_tblheader_General_Centre">Filters By [[ data['form']['filter'] not in ('filter_no','unreconciled') and get_filter(data) ]]</para>
@ -443,7 +443,7 @@
<para style="terp_tblheader_Details">Date</para>
</td>
<td>
<para style="terp_tblheader_Details">JNRL</para>
<para style="terp_tblheader_Details">JRNL</para>
</td>
<td>
<para style="terp_tblheader_Details_Centre">Ref</para>
@ -544,7 +544,7 @@
<para style="terp_tblheader_Details">Date</para>
</td>
<td>
<para style="terp_tblheader_Details">JNRL</para>
<para style="terp_tblheader_Details">JRNL</para>
</td>
<td>
<para style="terp_tblheader_Details_Centre">Ref</para>

View File

@ -281,7 +281,7 @@
<para style="terp_tblheader_Details">Date</para>
</td>
<td>
<para style="terp_tblheader_Details">JNRL</para>
<para style="terp_tblheader_Details">JRNL</para>
</td>
<td>
<para style="terp_tblheader_Details_Centre">Ref</para>
@ -310,7 +310,7 @@
<para style="terp_tblheader_Details">Date</para>
</td>
<td>
<para style="terp_tblheader_Details">JNRL</para>
<para style="terp_tblheader_Details">JRNL</para>
</td>
<td>
<para style="terp_tblheader_Details_Centre">Ref</para>
@ -347,13 +347,13 @@
<blockTable colWidths="82.0,82.0,82.0,128.0,82.0,82.0" style="Table1">
<tr>
<td>
<para style="terp_tblheader_General_Centre">Chart of Account</para>
<para style="terp_tblheader_General_Centre">Chart of Accounts</para>
</td>
<td>
<para style="terp_tblheader_General_Centre">Fiscal Year</para>
</td>
<td>
<para style="terp_tblheader_General_Centre">Journal</para>
<para style="terp_tblheader_General_Centre">Journals</para>
</td>
<td>
<para style="terp_tblheader_General_Centre">Filters By [[ data['form']['filter'] not in ('filter_no','unreconciled') and get_filter(data) ]]</para>
@ -441,7 +441,7 @@
<para style="terp_tblheader_Details">Date</para>
</td>
<td>
<para style="terp_tblheader_Details">JNRL</para>
<para style="terp_tblheader_Details">JRNL</para>
</td>
<td>
<para style="terp_tblheader_Details_Centre">Ref</para>
@ -546,7 +546,7 @@
<para style="terp_tblheader_Details">Date</para>
</td>
<td>
<para style="terp_tblheader_Details">JNRL</para>
<para style="terp_tblheader_Details">JRNL</para>
</td>
<td>
<para style="terp_tblheader_Details_Centre">Ref</para>

View File

@ -149,7 +149,7 @@
<para style="P2">[[ get_data(data) or removeParentNode('para')]]</para>
<blockTable colWidths="250.0,100.0,150.0,120.0,150.0" style="Table2_header">
<tr>
<td><para style="terp_tblheader_General_Centre">Chart of Account </para></td>
<td><para style="terp_tblheader_General_Centre">Chart of Accounts</para></td>
<td><para style="terp_tblheader_General_Centre">Fiscal Year</para></td>
<td><para style="terp_tblheader_General_Centre">Filter By [[ get_filter(data)!='No Filter' and get_filter(data) ]]</para></td>
<td><para style="terp_tblheader_General_Centre">Display Account</para></td>
@ -193,7 +193,7 @@
<para style="terp_default_Bold_9">Code</para>
</td>
<td>
<para style="terp_default_Bold_9">Particular</para>
<para style="terp_default_Bold_9">Expenses</para>
</td>
<td>
<para style="terp_tblheader_Details_Right">Balance</para>
@ -202,7 +202,7 @@
<para style="terp_default_Bold_9">Code</para>
</td>
<td>
<para style="terp_default_Bold_9">Particular</para>
<para style="terp_default_Bold_9">Income</para>
</td>
<td>
<para style="P1">Balance</para>
@ -212,7 +212,7 @@
<td>
<para style="terp_default_9">
<font face="Times-Roman">[[ repeatIn(get_lines(),'a' ) ]] </font>[[ a['code'] ]]<font>[[ a['level']&lt;4 and ( setTag('para','para',{'style':'terp_default_Bold_9'})) or removeParentNode('font') ]]</font>
<font>[[ repeatIn(get_lines(),'a' ) ]] </font>[[ a['code'] ]]<font>[[ a['level']&lt;4 and ( setTag('para','para',{'style':'terp_default_Bold_9'})) or removeParentNode('font') ]]</font>
</para>
</td>
<td>
@ -234,7 +234,7 @@
</para>
</td>
<td>
<para style="terp_default_Right_9"><font>[[ a['level']&lt;4 and ( setTag('para','para',{'style':'terp_default_Right_9_Bold'})) or removeParentNode('font') ]]</font><font>[[(a['code1'] and a['name1']) and formatLang(abs(a['balance1'])) or removeParentNode('font') ]] [[ company.currency_id.symbol ]]</font></para>
<para style="terp_default_Right_9"><font>[[ a['level1']&lt;4 and ( setTag('para','para',{'style':'terp_default_Right_9_Bold'})) or removeParentNode('font') ]]</font><font>[[(a['code1'] and a['name1']) and formatLang(abs(a['balance1'])) or removeParentNode('font') ]] [[ company.currency_id.symbol ]]</font></para>
</td>
</tr>
</blockTable>

View File

@ -172,7 +172,7 @@
</para>
<blockTable colWidths="125.0,100.0,140.0,80.0,90.0" style="Table2_header">
<tr>
<td><para style="terp_tblheader_General_Centre">Chart of Account </para></td>
<td><para style="terp_tblheader_General_Centre">Chart of Accounts</para></td>
<td><para style="terp_tblheader_General_Centre">Fiscal Year</para></td>
<td><para style="terp_tblheader_General_Centre">Filter By [[ get_filter(data)!='No Filter' and get_filter(data) ]]</para></td>
<td><para style="terp_tblheader_General_Centre">Display Account</para></td>

View File

@ -94,10 +94,10 @@ class common_report_header(object):
def _get_filter(self, data):
if data.get('form', False) and data['form'].get('filter', False):
if data['form']['filter'] == 'filter_date':
return _('Date')
return 'Date'
elif data['form']['filter'] == 'filter_period':
return _('Periods')
return _('No Filter')
return 'Periods'
return 'No Filter'
def _sum_debit_period(self, period_id, journal_id=None):
journals = journal_id or self.journal_ids

View File

@ -0,0 +1,296 @@
# Macedonian translation for openobject-addons
# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2011-01-11 11:14+0000\n"
"PO-Revision-Date: 2011-09-14 08:10+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Macedonian <mk@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2011-09-15 04:47+0000\n"
"X-Generator: Launchpad (build 13921)\n"
#. module: account_analytic_analysis
#: help:account.analytic.account,hours_qtt_invoiced:0
msgid ""
"Number of hours that can be invoiced plus those that already have been "
"invoiced."
msgstr ""
"Број на часови кои можат да бидат фактурирани, плус часови кои веќе се "
"фактурирани."
#. module: account_analytic_analysis
#: help:account.analytic.account,remaining_ca:0
msgid "Computed using the formula: Max Invoice Price - Invoiced Amount."
msgstr ""
"Пресметано според формулата: Максимална фактурирана цена - Фактурирана цена."
#. module: account_analytic_analysis
#: help:account.analytic.account,remaining_hours:0
msgid "Computed using the formula: Maximum Quantity - Hours Tot."
msgstr "Пресметано според формулата: Максимална количина - Вкупно часови"
#. module: account_analytic_analysis
#: code:addons/account_analytic_analysis/account_analytic_analysis.py:532
#: code:addons/account_analytic_analysis/account_analytic_analysis.py:703
#, python-format
msgid "AccessError"
msgstr ""
#. module: account_analytic_analysis
#: help:account.analytic.account,last_invoice_date:0
msgid "Date of the last invoice created for this analytic account."
msgstr ""
#. module: account_analytic_analysis
#: model:ir.module.module,description:account_analytic_analysis.module_meta_information
msgid ""
"\n"
"This module is for modifying account analytic view to show\n"
"important data to project manager of services companies.\n"
"Adds menu to show relevant information to each manager..\n"
"\n"
"You can also view the report of account analytic summary\n"
"user-wise as well as month wise.\n"
msgstr ""
#. module: account_analytic_analysis
#: field:account.analytic.account,last_invoice_date:0
msgid "Last Invoice Date"
msgstr ""
#. module: account_analytic_analysis
#: help:account.analytic.account,theorical_margin:0
msgid "Computed using the formula: Theorial Revenue - Total Costs"
msgstr ""
#. module: account_analytic_analysis
#: field:account.analytic.account,real_margin_rate:0
msgid "Real Margin Rate (%)"
msgstr ""
#. module: account_analytic_analysis
#: field:account.analytic.account,ca_theorical:0
msgid "Theoretical Revenue"
msgstr ""
#. module: account_analytic_analysis
#: help:account.analytic.account,last_worked_invoiced_date:0
msgid ""
"If invoice from the costs, this is the date of the latest work or cost that "
"have been invoiced."
msgstr ""
#. module: account_analytic_analysis
#: model:ir.ui.menu,name:account_analytic_analysis.menu_invoicing
msgid "Billing"
msgstr ""
#. module: account_analytic_analysis
#: field:account.analytic.account,last_worked_date:0
msgid "Date of Last Cost/Work"
msgstr ""
#. module: account_analytic_analysis
#: field:account.analytic.account,total_cost:0
msgid "Total Costs"
msgstr ""
#. module: account_analytic_analysis
#: help:account.analytic.account,hours_quantity:0
msgid ""
"Number of hours you spent on the analytic account (from timesheet). It "
"computes on all journal of type 'general'."
msgstr ""
#. module: account_analytic_analysis
#: field:account.analytic.account,remaining_hours:0
msgid "Remaining Hours"
msgstr ""
#. module: account_analytic_analysis
#: field:account.analytic.account,theorical_margin:0
msgid "Theoretical Margin"
msgstr ""
#. module: account_analytic_analysis
#: help:account.analytic.account,ca_theorical:0
msgid ""
"Based on the costs you had on the project, what would have been the revenue "
"if all these costs have been invoiced at the normal sale price provided by "
"the pricelist."
msgstr ""
#. module: account_analytic_analysis
#: field:account.analytic.account,user_ids:0
#: field:account_analytic_analysis.summary.user,user:0
msgid "User"
msgstr ""
#. module: account_analytic_analysis
#: field:account.analytic.account,ca_to_invoice:0
msgid "Uninvoiced Amount"
msgstr ""
#. module: account_analytic_analysis
#: help:account.analytic.account,real_margin:0
msgid "Computed using the formula: Invoiced Amount - Total Costs."
msgstr ""
#. module: account_analytic_analysis
#: field:account.analytic.account,hours_qtt_non_invoiced:0
msgid "Uninvoiced Hours"
msgstr ""
#. module: account_analytic_analysis
#: help:account.analytic.account,last_worked_date:0
msgid "Date of the latest work done on this account."
msgstr ""
#. module: account_analytic_analysis
#: model:ir.module.module,shortdesc:account_analytic_analysis.module_meta_information
msgid "report_account_analytic"
msgstr ""
#. module: account_analytic_analysis
#: model:ir.model,name:account_analytic_analysis.model_account_analytic_analysis_summary_user
msgid "Hours Summary by User"
msgstr ""
#. module: account_analytic_analysis
#: field:account.analytic.account,ca_invoiced:0
msgid "Invoiced Amount"
msgstr ""
#. module: account_analytic_analysis
#: code:addons/account_analytic_analysis/account_analytic_analysis.py:533
#: code:addons/account_analytic_analysis/account_analytic_analysis.py:704
#, python-format
msgid "You try to bypass an access rule (Document type: %s)."
msgstr ""
#. module: account_analytic_analysis
#: field:account.analytic.account,last_worked_invoiced_date:0
msgid "Date of Last Invoiced Cost"
msgstr ""
#. module: account_analytic_analysis
#: field:account.analytic.account,hours_qtt_invoiced:0
msgid "Invoiced Hours"
msgstr ""
#. module: account_analytic_analysis
#: field:account.analytic.account,real_margin:0
msgid "Real Margin"
msgstr ""
#. module: account_analytic_analysis
#: constraint:account.analytic.account:0
msgid ""
"Error! The currency has to be the same as the currency of the selected "
"company"
msgstr ""
#. module: account_analytic_analysis
#: help:account.analytic.account,ca_invoiced:0
msgid "Total customer invoiced amount for this account."
msgstr ""
#. module: account_analytic_analysis
#: model:ir.model,name:account_analytic_analysis.model_account_analytic_analysis_summary_month
msgid "Hours summary by month"
msgstr ""
#. module: account_analytic_analysis
#: help:account.analytic.account,real_margin_rate:0
msgid "Computes using the formula: (Real Margin / Total Costs) * 100."
msgstr ""
#. module: account_analytic_analysis
#: help:account.analytic.account,hours_qtt_non_invoiced:0
msgid ""
"Number of hours (from journal of type 'general') that can be invoiced if you "
"invoice based on analytic account."
msgstr ""
#. module: account_analytic_analysis
#: view:account.analytic.account:0
msgid "Analytic accounts"
msgstr ""
#. module: account_analytic_analysis
#: field:account.analytic.account,remaining_ca:0
msgid "Remaining Revenue"
msgstr ""
#. module: account_analytic_analysis
#: help:account.analytic.account,ca_to_invoice:0
msgid ""
"If invoice from analytic account, the remaining amount you can invoice to "
"the customer based on the total costs."
msgstr ""
#. module: account_analytic_analysis
#: help:account.analytic.account,revenue_per_hour:0
msgid "Computed using the formula: Invoiced Amount / Hours Tot."
msgstr ""
#. module: account_analytic_analysis
#: field:account.analytic.account,revenue_per_hour:0
msgid "Revenue per Hours (real)"
msgstr ""
#. module: account_analytic_analysis
#: field:account_analytic_analysis.summary.month,unit_amount:0
#: field:account_analytic_analysis.summary.user,unit_amount:0
msgid "Total Time"
msgstr ""
#. module: account_analytic_analysis
#: field:account.analytic.account,month_ids:0
#: field:account_analytic_analysis.summary.month,month:0
msgid "Month"
msgstr ""
#. module: account_analytic_analysis
#: field:account_analytic_analysis.summary.month,account_id:0
#: field:account_analytic_analysis.summary.user,account_id:0
#: model:ir.model,name:account_analytic_analysis.model_account_analytic_account
msgid "Analytic Account"
msgstr ""
#. module: account_analytic_analysis
#: model:ir.actions.act_window,name:account_analytic_analysis.action_account_analytic_managed_overpassed
#: model:ir.ui.menu,name:account_analytic_analysis.menu_action_account_analytic_managed_overpassed
msgid "Overpassed Accounts"
msgstr ""
#. module: account_analytic_analysis
#: model:ir.actions.act_window,name:account_analytic_analysis.action_hr_tree_invoiced_all
#: model:ir.ui.menu,name:account_analytic_analysis.menu_action_hr_tree_invoiced_all
msgid "All Uninvoiced Entries"
msgstr ""
#. module: account_analytic_analysis
#: field:account.analytic.account,hours_quantity:0
msgid "Hours Tot"
msgstr ""
#. module: account_analytic_analysis
#: constraint:account.analytic.account:0
msgid "Error! You can not create recursive analytic accounts."
msgstr ""
#. module: account_analytic_analysis
#: help:account.analytic.account,total_cost:0
msgid ""
"Total of costs for this account. It includes real costs (from invoices) and "
"indirect costs, like time spent on timesheets."
msgstr ""

View File

@ -112,6 +112,12 @@ class account_asset_asset(osv.osv):
amount = (amount_to_depr / asset.method_number) / total_days * (total_days - days)
elif asset.method == 'degressive':
amount = residual_amount * asset.method_progress_factor
if asset.prorata:
days = total_days - float(depreciation_date.strftime('%j'))
if i == 1:
amount = (residual_amount * asset.method_progress_factor) / total_days * days
elif i == undone_dotation_number:
amount = (residual_amount * asset.method_progress_factor) / total_days * (total_days - days)
return amount
def _compute_board_undone_dotation_nb(self, cr, uid, asset, depreciation_date, total_days, context=None):
@ -242,13 +248,13 @@ class account_asset_asset(osv.osv):
def _check_prorata(self, cr, uid, ids, context=None):
for asset in self.browse(cr, uid, ids, context=context):
if asset.prorata and (asset.method != 'linear' or asset.method_time != 'number'):
if asset.prorata and asset.method_time != 'number':
return False
return True
_constraints = [
(_check_recursion, 'Error ! You can not create recursive assets.', ['parent_id']),
(_check_prorata, 'Prorata temporis can be applied only for computation method "linear" and time method "number of depreciations".', ['prorata']),
(_check_prorata, 'Prorata temporis can be applied only for time method "number of depreciations".', ['prorata']),
]
def onchange_category_id(self, cr, uid, ids, category_id, context=None):
@ -267,9 +273,9 @@ class account_asset_asset(osv.osv):
}
return res
def onchange_method_time(self, cr, uid, ids, method='linear', method_time='number', context=None):
def onchange_method_time(self, cr, uid, ids, method_time='number', context=None):
res = {'value': {}}
if method != 'linear' or method_time != 'number':
if method_time != 'number':
res['value'] = {'prorata': False}
return res

View File

@ -29,7 +29,7 @@
<separator string="Depreciation Method" colspan="2"/>
<field name="method"/>
<field name="method_progress_factor" attrs="{'invisible':[('method','=','linear')], 'required':[('method','=','degressive')]}"/>
<field name="prorata" attrs="{'invisible':[('method','&lt;&gt;','linear')]}"/>
<field name="prorata"/>
<field name="open_asset"/>
</group>
<group col="2" colspan="2" groups="analytic.group_analytic_accounting">
@ -109,9 +109,9 @@
</group>
<group colspan="2" col="2">
<separator string="Depreciation Method" colspan="2"/>
<field name="method" on_change="onchange_method_time(method)"/>
<field name="method"/>
<field name="method_progress_factor" attrs="{'invisible':[('method','=','linear')], 'required':[('method','=','degressive')]}"/>
<field name="prorata" attrs="{'invisible': ['|',('method_time','=','end'),('method','!=','linear')]}"/>
<field name="prorata" attrs="{'invisible': [('method_time','=','end')]}"/>
</group>
<newline/>
<separator string="" colspan="4"/>

View File

@ -0,0 +1,259 @@
# Slovenian translation for openobject-addons
# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2011-01-11 11:14+0000\n"
"PO-Revision-Date: 2011-09-14 11:29+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Slovenian <sl@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2011-09-15 04:47+0000\n"
"X-Generator: Launchpad (build 13921)\n"
#. module: account_coda
#: help:account.coda,journal_id:0
#: field:account.coda.import,journal_id:0
msgid "Bank Journal"
msgstr "Bančni dnevnik"
#. module: account_coda
#: view:account.coda:0
#: field:account.coda.import,note:0
msgid "Log"
msgstr "Dnevnik"
#. module: account_coda
#: model:ir.model,name:account_coda.model_account_coda_import
msgid "Account Coda Import"
msgstr ""
#. module: account_coda
#: field:account.coda,name:0
msgid "Coda file"
msgstr ""
#. module: account_coda
#: view:account.coda:0
msgid "Group By..."
msgstr "Združi po ..."
#. module: account_coda
#: field:account.coda.import,awaiting_account:0
msgid "Default Account for Unrecognized Movement"
msgstr ""
#. module: account_coda
#: help:account.coda,date:0
msgid "Import Date"
msgstr "Datum uvoza"
#. module: account_coda
#: field:account.coda,note:0
msgid "Import log"
msgstr "Dnevnik uvoza"
#. module: account_coda
#: view:account.coda.import:0
msgid "Import"
msgstr "Uvozi"
#. module: account_coda
#: view:account.coda:0
msgid "Coda import"
msgstr ""
#. module: account_coda
#: code:addons/account_coda/account_coda.py:51
#, python-format
msgid "Coda file not found for bank statement !!"
msgstr ""
#. module: account_coda
#: help:account.coda.import,awaiting_account:0
msgid ""
"Set here the default account that will be used, if the partner is found but "
"does not have the bank account, or if he is domiciled"
msgstr ""
#. module: account_coda
#: view:account.coda:0
#: field:account.coda,company_id:0
msgid "Company"
msgstr "Podjetje"
#. module: account_coda
#: help:account.coda.import,def_payable:0
msgid ""
"Set here the payable account that will be used, by default, if the partner "
"is not found"
msgstr ""
#. module: account_coda
#: view:account.coda:0
msgid "Search Coda"
msgstr ""
#. module: account_coda
#: view:account.coda:0
#: field:account.coda,user_id:0
msgid "User"
msgstr "Uporabnik"
#. module: account_coda
#: view:account.coda:0
#: field:account.coda,date:0
msgid "Date"
msgstr "Datum"
#. module: account_coda
#: model:ir.ui.menu,name:account_coda.menu_account_coda_statement
msgid "Coda Import Logs"
msgstr ""
#. module: account_coda
#: model:ir.model,name:account_coda.model_account_coda
msgid "coda for an Account"
msgstr ""
#. module: account_coda
#: field:account.coda.import,def_payable:0
msgid "Default Payable Account"
msgstr ""
#. module: account_coda
#: help:account.coda,name:0
msgid "Store the detail of bank statements"
msgstr ""
#. module: account_coda
#: view:account.coda.import:0
msgid "Cancel"
msgstr "Prekliči"
#. module: account_coda
#: view:account.coda.import:0
msgid "Open Statements"
msgstr ""
#. module: account_coda
#: code:addons/account_coda/wizard/account_coda_import.py:167
#, python-format
msgid "The bank account %s is not defined for the partner %s.\n"
msgstr ""
#. module: account_coda
#: model:ir.ui.menu,name:account_coda.menu_account_coda_import
msgid "Import Coda Statements"
msgstr ""
#. module: account_coda
#: view:account.coda.import:0
#: model:ir.actions.act_window,name:account_coda.action_account_coda_import
msgid "Import Coda Statement"
msgstr ""
#. module: account_coda
#: model:ir.module.module,description:account_coda.module_meta_information
msgid ""
"\n"
" Module provides functionality to import\n"
" bank statements from coda files.\n"
" "
msgstr ""
#. module: account_coda
#: view:account.coda:0
msgid "Statements"
msgstr "Izpiski"
#. module: account_coda
#: field:account.bank.statement,coda_id:0
msgid "Coda"
msgstr ""
#. module: account_coda
#: view:account.coda.import:0
msgid "Results :"
msgstr "Rezultat"
#. module: account_coda
#: view:account.coda.import:0
msgid "Result of Imported Coda Statements"
msgstr ""
#. module: account_coda
#: help:account.coda.import,def_receivable:0
msgid ""
"Set here the receivable account that will be used, by default, if the "
"partner is not found"
msgstr ""
#. module: account_coda
#: field:account.coda.import,coda:0
#: model:ir.actions.act_window,name:account_coda.act_account_payment_account_bank_statement
msgid "Coda File"
msgstr ""
#. module: account_coda
#: model:ir.model,name:account_coda.model_account_bank_statement
msgid "Bank Statement"
msgstr "Bančni izpisek"
#. module: account_coda
#: model:ir.actions.act_window,name:account_coda.action_account_coda
msgid "Coda Logs"
msgstr ""
#. module: account_coda
#: code:addons/account_coda/wizard/account_coda_import.py:311
#, python-format
msgid "Result"
msgstr "Rezultat"
#. module: account_coda
#: view:account.coda.import:0
msgid "Click on 'New' to select your file :"
msgstr "Kliknite na \"Novo\" za izbiro vaše datoteke:"
#. module: account_coda
#: field:account.coda.import,def_receivable:0
msgid "Default Receivable Account"
msgstr ""
#. module: account_coda
#: view:account.coda.import:0
msgid "Close"
msgstr "Zapri"
#. module: account_coda
#: field:account.coda,statement_ids:0
msgid "Generated Bank Statements"
msgstr "Generirani bačni izpiski"
#. module: account_coda
#: model:ir.module.module,shortdesc:account_coda.module_meta_information
msgid "Account CODA - import bank statements from coda file"
msgstr ""
#. module: account_coda
#: view:account.coda.import:0
msgid "Configure Your Journal and Account :"
msgstr ""
#. module: account_coda
#: view:account.coda:0
msgid "Coda Import"
msgstr ""
#. module: account_coda
#: view:account.coda:0
#: field:account.coda,journal_id:0
msgid "Journal"
msgstr "Dnevnik"

View File

@ -0,0 +1,505 @@
# Slovenian translation for openobject-addons
# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2011-01-11 11:14+0000\n"
"PO-Revision-Date: 2011-09-15 06:14+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Slovenian <sl@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2011-09-16 04:36+0000\n"
"X-Generator: Launchpad (build 13955)\n"
#. module: base_action_rule
#: help:base.action.rule,act_mail_to_user:0
msgid ""
"Check this if you want the rule to send an email to the responsible person."
msgstr ""
#. module: base_action_rule
#: field:base.action.rule,act_remind_partner:0
msgid "Remind Partner"
msgstr "Opomni partnerja"
#. module: base_action_rule
#: field:base.action.rule,trg_partner_categ_id:0
msgid "Partner Category"
msgstr "Kategorija partnerja"
#. module: base_action_rule
#: field:base.action.rule,act_mail_to_watchers:0
msgid "Mail to Watchers (CC)"
msgstr ""
#. module: base_action_rule
#: field:base.action.rule,trg_state_to:0
msgid "Button Pressed"
msgstr "Pritisnjeni gumb"
#. module: base_action_rule
#: field:base.action.rule,model_id:0
msgid "Object"
msgstr "Predmet"
#. module: base_action_rule
#: field:base.action.rule,act_mail_to_email:0
msgid "Mail to these Emails"
msgstr "Sporočila na te e-pošte"
#. module: base_action_rule
#: field:base.action.rule,act_state:0
msgid "Set State to"
msgstr "Nastavi stanje na"
#. module: base_action_rule
#: field:base.action.rule,act_email_from:0
msgid "Email From"
msgstr "E-pošta od"
#. module: base_action_rule
#: view:base.action.rule:0
msgid "Email Body"
msgstr "Vsebina e-pošte"
#. module: base_action_rule
#: selection:base.action.rule,trg_date_range_type:0
msgid "Days"
msgstr "Dnevi"
#. module: base_action_rule
#: field:base.action.rule,last_run:0
msgid "Last Run"
msgstr "Zadnji zagon"
#. module: base_action_rule
#: code:addons/base_action_rule/base_action_rule.py:313
#, python-format
msgid "Error!"
msgstr "Napaka!"
#. module: base_action_rule
#: field:base.action.rule,act_reply_to:0
msgid "Reply-To"
msgstr "Odgovori-na"
#. module: base_action_rule
#: help:base.action.rule,act_email_cc:0
msgid ""
"These people will receive a copy of the future communication between partner "
"and users by email"
msgstr ""
"Ti ljudje bodo prejeli kopijo bodočih komunikacij med partnerjem in "
"uporabniki po e-pošti"
#. module: base_action_rule
#: selection:base.action.rule,trg_date_range_type:0
msgid "Minutes"
msgstr "Minute"
#. module: base_action_rule
#: field:base.action.rule,name:0
msgid "Rule Name"
msgstr "Ime pravila"
#. module: base_action_rule
#: help:base.action.rule,act_remind_partner:0
msgid ""
"Check this if you want the rule to send a reminder by email to the partner."
msgstr ""
"Označite to, če želite da pravilo pošlje opomnik po e-pošti partnerju."
#. module: base_action_rule
#: view:base.action.rule:0
msgid "Conditions on Model Partner"
msgstr ""
#. module: base_action_rule
#: selection:base.action.rule,trg_date_type:0
msgid "Deadline"
msgstr "Rok"
#. module: base_action_rule
#: field:base.action.rule,trg_partner_id:0
msgid "Partner"
msgstr "Stranka"
#. module: base_action_rule
#: view:base.action.rule:0
msgid "%(object_subject)s = Object subject"
msgstr ""
#. module: base_action_rule
#: view:base.action.rule:0
msgid "Email Reminders"
msgstr ""
#. module: base_action_rule
#: view:base.action.rule:0
msgid "Special Keywords to Be Used in The Body"
msgstr ""
#. module: base_action_rule
#: field:base.action.rule,trg_state_from:0
msgid "State"
msgstr ""
#. module: base_action_rule
#: model:ir.actions.act_window,help:base_action_rule.base_action_rule_act
msgid ""
"Use automated actions to automatically trigger actions for various screens. "
"Example: a lead created by a specific user may be automatically set to a "
"specific sales team, or an opportunity which still has status pending after "
"14 days might trigger an automatic reminder email."
msgstr ""
#. module: base_action_rule
#: help:base.action.rule,act_mail_to_email:0
msgid "Email-id of the persons whom mail is to be sent"
msgstr ""
#. module: base_action_rule
#: view:base.action.rule:0
#: model:ir.module.module,shortdesc:base_action_rule.module_meta_information
msgid "Action Rule"
msgstr ""
#. module: base_action_rule
#: view:base.action.rule:0
msgid "Fields to Change"
msgstr ""
#. module: base_action_rule
#: selection:base.action.rule,trg_date_type:0
msgid "Creation Date"
msgstr "Ustvarjeno dne"
#. module: base_action_rule
#: selection:base.action.rule,trg_date_type:0
msgid "Last Action Date"
msgstr ""
#. module: base_action_rule
#: selection:base.action.rule,trg_date_range_type:0
msgid "Hours"
msgstr ""
#. module: base_action_rule
#: view:base.action.rule:0
msgid "%(object_id)s = Object ID"
msgstr ""
#. module: base_action_rule
#: view:base.action.rule:0
msgid "Delay After Trigger Date"
msgstr ""
#. module: base_action_rule
#: field:base.action.rule,act_remind_attach:0
msgid "Remind with Attachment"
msgstr ""
#. module: base_action_rule
#: constraint:ir.cron:0
msgid "Invalid arguments"
msgstr ""
#. module: base_action_rule
#: field:base.action.rule,act_user_id:0
msgid "Set Responsible to"
msgstr ""
#. module: base_action_rule
#: selection:base.action.rule,trg_date_type:0
msgid "None"
msgstr ""
#. module: base_action_rule
#: help:base.action.rule,act_email_to:0
msgid ""
"Use a python expression to specify the right field on which one than we will "
"use for the 'To' field of the header"
msgstr ""
#. module: base_action_rule
#: view:base.action.rule:0
msgid "%(object_user_phone)s = Responsible phone"
msgstr ""
#. module: base_action_rule
#: view:base.action.rule:0
msgid ""
"The rule uses the AND operator. The model must match all non-empty fields so "
"that the rule executes the action described in the 'Actions' tab."
msgstr ""
#. module: base_action_rule
#: field:base.action.rule,trg_date_range_type:0
msgid "Delay type"
msgstr ""
#. module: base_action_rule
#: help:base.action.rule,regex_name:0
msgid ""
"Regular expression for matching name of the resource\n"
"e.g.: 'urgent.*' will search for records having name starting with the "
"string 'urgent'\n"
"Note: This is case sensitive search."
msgstr ""
#. module: base_action_rule
#: field:base.action.rule,act_method:0
msgid "Call Object Method"
msgstr ""
#. module: base_action_rule
#: field:base.action.rule,act_email_to:0
msgid "Email To"
msgstr ""
#. module: base_action_rule
#: help:base.action.rule,act_mail_to_watchers:0
msgid ""
"Check this if you want the rule to mark CC(mail to any other person defined "
"in actions)."
msgstr ""
#. module: base_action_rule
#: view:base.action.rule:0
msgid "%(partner)s = Partner name"
msgstr ""
#. module: base_action_rule
#: view:base.action.rule:0
msgid "Note"
msgstr ""
#. module: base_action_rule
#: help:base.action.rule,act_email_from:0
msgid ""
"Use a python expression to specify the right field on which one than we will "
"use for the 'From' field of the header"
msgstr ""
#. module: base_action_rule
#: field:base.action.rule,trg_date_range:0
msgid "Delay after trigger date"
msgstr ""
#. module: base_action_rule
#: view:base.action.rule:0
msgid "Conditions"
msgstr ""
#. module: base_action_rule
#: help:base.action.rule,trg_date_range:0
msgid ""
"Delay After Trigger Date,specifies you can put a negative number. If you "
"need a delay before the trigger date, like sending a reminder 15 minutes "
"before a meeting."
msgstr ""
#. module: base_action_rule
#: field:base.action.rule,active:0
msgid "Active"
msgstr ""
#. module: base_action_rule
#: code:addons/base_action_rule/base_action_rule.py:314
#, python-format
msgid "No E-Mail ID Found for your Company address!"
msgstr ""
#. module: base_action_rule
#: field:base.action.rule,act_remind_user:0
msgid "Remind Responsible"
msgstr ""
#. module: base_action_rule
#: model:ir.module.module,description:base_action_rule.module_meta_information
msgid "This module allows to implement action rules for any object."
msgstr ""
#. module: base_action_rule
#: help:base.action.rule,sequence:0
msgid "Gives the sequence order when displaying a list of rules."
msgstr ""
#. module: base_action_rule
#: selection:base.action.rule,trg_date_range_type:0
msgid "Months"
msgstr ""
#. module: base_action_rule
#: field:base.action.rule,filter_id:0
msgid "Filter"
msgstr ""
#. module: base_action_rule
#: selection:base.action.rule,trg_date_type:0
msgid "Date"
msgstr ""
#. module: base_action_rule
#: help:base.action.rule,server_action_id:0
msgid ""
"Describes the action name.\n"
"eg:on which object which action to be taken on basis of which condition"
msgstr ""
#. module: base_action_rule
#: model:ir.model,name:base_action_rule.model_ir_cron
msgid "ir.cron"
msgstr ""
#. module: base_action_rule
#: view:base.action.rule:0
msgid "%(object_description)s = Object description"
msgstr ""
#. module: base_action_rule
#: constraint:base.action.rule:0
msgid "Error: The mail is not well formated"
msgstr ""
#. module: base_action_rule
#: view:base.action.rule:0
msgid "Email Actions"
msgstr ""
#. module: base_action_rule
#: view:base.action.rule:0
msgid "Email Information"
msgstr ""
#. module: base_action_rule
#: model:ir.model,name:base_action_rule.model_base_action_rule
msgid "Action Rules"
msgstr ""
#. module: base_action_rule
#: help:base.action.rule,act_mail_body:0
msgid "Content of mail"
msgstr ""
#. module: base_action_rule
#: field:base.action.rule,trg_user_id:0
msgid "Responsible"
msgstr ""
#. module: base_action_rule
#: view:base.action.rule:0
msgid "%(partner_email)s = Partner Email"
msgstr ""
#. module: base_action_rule
#: view:base.action.rule:0
msgid "%(object_date)s = Creation date"
msgstr ""
#. module: base_action_rule
#: view:base.action.rule:0
msgid "%(object_user_email)s = Responsible Email"
msgstr ""
#. module: base_action_rule
#: field:base.action.rule,act_mail_body:0
msgid "Mail body"
msgstr ""
#. module: base_action_rule
#: help:base.action.rule,act_remind_user:0
msgid ""
"Check this if you want the rule to send a reminder by email to the user."
msgstr ""
#. module: base_action_rule
#: view:base.action.rule:0
msgid "Server Action to be Triggered"
msgstr ""
#. module: base_action_rule
#: field:base.action.rule,act_mail_to_user:0
msgid "Mail to Responsible"
msgstr ""
#. module: base_action_rule
#: field:base.action.rule,act_email_cc:0
msgid "Add Watchers (Cc)"
msgstr ""
#. module: base_action_rule
#: view:base.action.rule:0
msgid "Conditions on Model Fields"
msgstr ""
#. module: base_action_rule
#: model:ir.actions.act_window,name:base_action_rule.base_action_rule_act
#: model:ir.ui.menu,name:base_action_rule.menu_base_action_rule_form
msgid "Automated Actions"
msgstr ""
#. module: base_action_rule
#: field:base.action.rule,server_action_id:0
msgid "Server Action"
msgstr ""
#. module: base_action_rule
#: field:base.action.rule,regex_name:0
msgid "Regex on Resource Name"
msgstr ""
#. module: base_action_rule
#: help:base.action.rule,act_remind_attach:0
msgid ""
"Check this if you want that all documents attached to the object be attached "
"to the reminder email sent."
msgstr ""
#. module: base_action_rule
#: view:base.action.rule:0
msgid "Conditions on Timing"
msgstr ""
#. module: base_action_rule
#: field:base.action.rule,sequence:0
msgid "Sequence"
msgstr ""
#. module: base_action_rule
#: view:base.action.rule:0
msgid "Actions"
msgstr ""
#. module: base_action_rule
#: help:base.action.rule,active:0
msgid ""
"If the active field is set to False, it will allow you to hide the rule "
"without removing it."
msgstr ""
#. module: base_action_rule
#: view:base.action.rule:0
msgid "%(object_user)s = Responsible name"
msgstr ""
#. module: base_action_rule
#: field:base.action.rule,create_date:0
msgid "Create Date"
msgstr ""
#. module: base_action_rule
#: view:base.action.rule:0
msgid "Conditions on States"
msgstr ""
#. module: base_action_rule
#: field:base.action.rule,trg_date_type:0
msgid "Trigger Date"
msgstr ""

View File

@ -0,0 +1,84 @@
# Slovenian translation for openobject-addons
# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2011-01-11 11:14+0000\n"
"PO-Revision-Date: 2011-09-14 11:36+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Slovenian <sl@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2011-09-15 04:48+0000\n"
"X-Generator: Launchpad (build 13921)\n"
#. module: base_crypt
#: sql_constraint:res.users:0
msgid "You can not have two users with the same login !"
msgstr "Ne morete imeti dva uporabnika z istim prijavnim imenom!"
#. module: base_crypt
#: model:ir.model,name:base_crypt.model_res_users
msgid "res.users"
msgstr "res.users"
#. module: base_crypt
#: constraint:res.users:0
msgid "The chosen company is not in the allowed companies for this user"
msgstr "Izbrano podjetje ni v dovoljenih podjetjih za tega uporabnika"
#. module: base_crypt
#: code:addons/base_crypt/crypt.py:132
#, python-format
msgid "Please specify the password !"
msgstr "Prosim, navedite geslo !"
#. module: base_crypt
#: model:ir.module.module,shortdesc:base_crypt.module_meta_information
msgid "Base - Password Encryption"
msgstr "Osnovno - enkripcija gesla"
#. module: base_crypt
#: code:addons/base_crypt/crypt.py:132
#, python-format
msgid "Error"
msgstr "Napaka"
#. module: base_crypt
#: model:ir.module.module,description:base_crypt.module_meta_information
msgid ""
"This module replaces the cleartext password in the database with a password "
"hash,\n"
"preventing anyone from reading the original password.\n"
"For your existing user base, the removal of the cleartext passwords occurs "
"the first time\n"
"a user logs into the database, after installing base_crypt.\n"
"After installing this module it won't be possible to recover a forgotten "
"password for your\n"
"users, the only solution is for an admin to set a new password.\n"
"\n"
"Note: installing this module does not mean you can ignore basic security "
"measures,\n"
"as the password is still transmitted unencrypted on the network (by the "
"client),\n"
"unless you are using a secure protocol such as XML-RPCS.\n"
" "
msgstr ""
"Ta modul nadomešča obliko besedilnega geslo v bazi podatkov z hash geslom,\n"
"ki preprečuje komurkoli branje izvirnega gesla.\n"
"Za vašo obstoječo bazo uporabnikov, odstranitev gesla v obliki besedila se "
"pojavi pri\n"
"prvi prijavi uporabnika v bazo podatkov, po namestitvi base_crypt.\n"
"Po namestitvi tega modula ne bo mogoče obnoviti pozabiljenega gesla za vaše\n"
"uporabnike, edina rešitev je, da admin nastavi novo geslo.\n"
"\n"
"Opomba: namestitev tega modula ne pomeni ignoriranja osnovnih varnostnih "
"ukrepov,\n"
"ker se geslo še vedno prenaša nešifrirano v omrežju (preko klienta),\n"
"razen če ne uporabljate varni protokol kot je XML-RPCS.\n"
" "

View File

@ -170,7 +170,7 @@ class base_synchro(osv.osv_memory):
#
# If not synchronized, try to find it with name_get/name_search
#
names = pool_src.get(object).name_get(cr, uid, [id], context)[0][1]
names = pool_src.get(object).name_get(cr, uid, [id])[0][1]
res = pool_dest.get(object).name_search(cr, uid, names, [], 'like')
if res:
result = res[0][0]
@ -189,7 +189,7 @@ class base_synchro(osv.osv_memory):
def data_transform(self, cr, uid, pool_src, pool_dest, object, data, action='u', context=None):
self.meta.setdefault(pool_src, {})
if not object in self.meta[pool_src]:
self.meta[pool_src][object] = pool_src.get(object).fields_get(cr, uid, context)
self.meta[pool_src][object] = pool_src.get(object).fields_get(cr, uid)
fields = self.meta[pool_src][object]
for f in fields:

View File

@ -7,6 +7,7 @@
<field name="name">Base Synchronization</field>
<field name="model">base.synchro</field>
<field name="type">form</field>
<field name="priority">1</field>
<field name="arch" type="xml">
<form string="Transfer Data To Server">
<field name="server_url" colspan="4"/>
@ -29,19 +30,18 @@
<field name="target">new</field>
</record>
<menuitem id="next_id_62" name="Synchronization" parent="base.menu_administration"/>
<record id="view_base_synchro_finish" model="ir.ui.view">
<field name="name">Base Synchronization</field>
<field name="model">base.synchro</field>
<field name="type">form</field>
<field name="arch" type="xml">
<form string="Synchronization Complited!">
<form string="Synchronization Completed!">
<label string="The synchronisation has been started.You will receive a request when it's done." colspan="4"/>
<separator string="" colspan="4"/>
<button special="cancel" string="OK" icon="gtk-ok"/>
</form>
</field>
</record>
</record>
<menuitem id="next_id_62" name="Synchronization" parent="base.menu_administration"/>

View File

@ -42,7 +42,7 @@ _ref_vat = {
'pt': 'PT123456789', 'ro': 'RO1234567897',
'se': 'SE123456789701', 'si': 'SI12345679',
'sk': 'SK0012345675', 'el': 'EL12345670',
'mx': 'MXABCD831230T1B',
'mx': 'MXABC123456T1B', 'no': 'NO123456785'
}
@ -1104,7 +1104,33 @@ class res_partner(osv.osv):
#Valid format and valid date
return True
# check_vat_no contributed by Rolv Råen (adEgo)
def check_vat_no(self, vat):
'''
Check Norway VAT number.See http://www.brreg.no/english/coordination/number.html
'''
if len(vat) != 9:
return False
try:
int(vat)
except ValueError:
return False
sum = (3 * int(vat[0])) + (2 * int(vat[1])) + \
(7 * int(vat[2])) + (6 * int(vat[3])) + \
(5 * int(vat[4])) + (4 * int(vat[5])) + \
(3 * int(vat[6])) + (2 * int(vat[7]))
check = 11 -(sum % 11)
if check == 11:
check = 0
if check == 10:
# 10 is not a valid check digit for an organization number
return False
return check == int(vat[8])
res_partner()
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -7,15 +7,20 @@
<field eval="'3'" name="priority"/>
<field name="type">lead</field>
<field name="user_id" ref="base.user_root"/>
<field eval="'Luc Latour'" name="partner_name"/>
<field eval="'The Oil Company'" name="partner_name"/>
<field eval="'draft'" name="state"/>
<field name="section_id" ref="crm.section_sales_department"/>
<field eval="'(726) 782-0636'" name="mobile"/>
<field eval="'Luc Latour'" name="contact_name"/>
<field name="title" ref="base.res_partner_title_sir"/>
<field eval="'Training Manager'" name="function"/>
<field eval="'Paris'" name="city"/>
<field name="country_id" ref="base.fr"/>
<field eval="'luc.latour@oilcompany.fr'" name="email_from"/>
<field eval="'0033 621 782-0636'" name="mobile"/>
<field eval="1" name="active"/>
<field name="categ_id" ref="crm.categ_oppor6"/>
<field name="stage_id" ref="crm.stage_lead1"/>
<field eval="'The Oil Company'" name="name"/>
<field eval="'(769) 703-274'" name="phone"/>
<field eval="'Plan to Attend a Training'" name="name"/>
<field eval="'0033 769 703-274'" name="phone"/>
</record>
<record id="crm_case_electonicgoodsdealer0" model="crm.lead">
@ -23,14 +28,20 @@
<field eval="'4'" name="priority"/>
<field name="type">lead</field>
<field name="user_id" ref="base.user_root"/>
<field eval="'Marc Dufour'" name="partner_name"/>
<field eval="'Le Club SARL'" name="partner_name"/>
<field eval="'Marc Dufour'" name="contact_name"/>
<field name="title" ref="base.res_partner_title_sir"/>
<field eval="'Purchase Manager'" name="function"/>
<field eval="'Bordeaux'" name="city"/>
<field name="country_id" ref="base.fr"/>
<field eval="'md@leclub.fr'" name="email_from"/>
<field eval="'draft'" name="state"/>
<field name="section_id" ref="crm.section_sales_department"/>
<field eval="'(392) 895-7917'" name="mobile"/>
<field eval="1" name="active"/>
<field name="categ_id" ref="crm.categ_oppor2"/>
<field name="stage_id" ref="crm.stage_lead2"/>
<field eval="'Le Club SARL'" name="name"/>
<field eval="'Interest in Your New Product'" name="name"/>
<field eval="'(956) 293-2595'" name="phone"/>
</record>
@ -39,31 +50,36 @@
<field eval="'2'" name="priority"/>
<field name="type">lead</field>
<field name="user_id" ref="base.user_demo"/>
<field eval="'Fabien Pinckaers'" name="partner_name"/>
<field eval="'The Kompany'" name="partner_name"/>
<field eval="'John Miller'" name="contact_name"/>
<field eval="'New-York'" name="city"/>
<field name="country_id" ref="base.us"/>
<field eval="'draft'" name="state"/>
<field name="section_id" ref="crm.section_sales_department"/>
<field eval="'(820) 167-3208'" name="mobile"/>
<field eval="1" name="active"/>
<field name="categ_id" ref="crm.categ_oppor4"/>
<field name="stage_id" ref="crm.stage_lead4"/>
<field eval="'TheKompany'" name="name"/>
<field name="stage_id" ref="crm.stage_lead2"/>
<field eval="'Need Info about Web Design'" name="name"/>
<field eval="'(079) 681-2139'" name="phone"/>
<field eval="'contact@tecsas.fr'" name="email_from"/>
<field eval="'contact@thkompany.com'" name="email_from"/>
</record>
<record id="crm_case_qrecorp0" model="crm.lead">
<field name="type_id" ref="crm.type_lead8"/>
<field eval="'3'" name="priority"/>
<field name="type">lead</field>
<field name="user_id" ref="base.user_root"/>
<field eval="'Henry Mc Coy'" name="partner_name"/>
<field eval="'The Gas Company'" name="partner_name"/>
<field eval="'Henry Mc Coy'" name="contact_name"/>
<field eval="'London'" name="city"/>
<field name="country_id" ref="base.uk"/>
<field eval="'draft'" name="state"/>
<field name="section_id" ref="crm.section_sales_department"/>
<field eval="'(077) 582-4035'" name="mobile"/>
<field eval="1" name="active"/>
<field name="categ_id" ref="crm.categ_oppor1"/>
<field name="stage_id" ref="crm.stage_lead1"/>
<field eval="'The Gas Company'" name="name"/>
<field eval="'Need a New Website'" name="name"/>
<field eval="'(514) 698-4118'" name="phone"/>
<field eval="'hmc@thgascompany.com'" name="email_from"/>
</record>
<record id="crm_case_itdeveloper0" model="crm.lead">
@ -71,15 +87,20 @@
<field eval="'3'" name="priority"/>
<field name="type">lead</field>
<field name="user_id" ref="base.user_root"/>
<field eval="'Carrie Helle'" name="partner_name"/>
<field eval="'Stonage IT'" name="partner_name"/>
<field eval="'Carrie Helle'" name="contact_name"/>
<field eval="'Purchase Manager'" name="function"/>
<field eval="'Bruxelles'" name="city"/>
<field name="country_id" ref="base.be"/>
<field eval="'draft'" name="state"/>
<field name="section_id" ref="crm.section_sales_department"/>
<field eval="'(333) 715-1450'" name="mobile"/>
<field eval="1" name="active"/>
<field name="categ_id" ref="crm.categ_oppor6"/>
<field name="stage_id" ref="crm.stage_lead3"/>
<field eval="'Stonage IT'" name="name"/>
<field name="categ_id" ref="crm.categ_oppor1"/>
<field name="stage_id" ref="crm.stage_lead2"/>
<field eval="'Need a Quotation for PC1'" name="name"/>
<field eval="'(855) 924-4364'" name="phone"/>
<field eval="'helle@stonageit.be'" name="email_from"/>
</record>
<record id="crm_case_mgroperations0" model="crm.lead">
@ -90,13 +111,17 @@
<field eval="'3'" name="priority"/>
<field name="type">lead</field>
<field name="user_id" ref="base.user_root"/>
<field eval="'Tina Pinero'" name="partner_name"/>
<field eval="'Opensides'" name="partner_name"/>
<field eval="'Tina Pinero'" name="contact_name"/>
<field eval="'Consultant'" name="function"/>
<field eval="'Roma'" name="city"/>
<field name="country_id" ref="base.it"/>
<field eval="'draft'" name="state"/>
<field name="section_id" ref="crm.section_sales_department"/>
<field eval="'(468) 017-2684'" name="mobile"/>
<field name="categ_id" ref="crm.categ_oppor8"/>
<field name="stage_id" ref="crm.stage_lead6"/>
<field eval="'Opensides SPRL'" name="name"/>
<field eval="'Need Info about your Services'" name="name"/>
<field eval="'(373) 907-1009'" name="phone"/>
<field eval="'info@opensides.be'" name="email_from"/>
</record>
@ -105,86 +130,100 @@
<field name="type_id" ref="crm.type_lead8"/>
<field eval="'3'" name="priority"/>
<field name="type">lead</field>
<field name="user_id" ref="base.user_root"/>
<field eval="'Wendi Baltz'" name="partner_name"/>
<field name="user_id" ref="base.user_demo"/>
<field eval="'Gardner Group'" name="partner_name"/>
<field eval="'Wendi Baltz'" name="contact_name"/>
<field eval="'Journalist'" name="function"/>
<field eval="'Kiev'" name="city"/>
<field name="country_id" ref="base.ua"/>
<field eval="'draft'" name="state"/>
<field name="section_id" ref="crm.section_sales_department"/>
<field eval="'(463) 014-1208'" name="mobile"/>
<field name="categ_id" ref="crm.categ_oppor4"/>
<field name="stage_id" ref="crm.stage_lead4"/>
<field eval="'Gardner Group'" name="name"/>
<field name="stage_id" ref="crm.stage_lead2"/>
<field eval="'Info about Your Company ?'" name="name"/>
<field eval="'(282) 603-7489'" name="phone"/>
</record>
<record id="crm_case_webvisitor0" model="crm.lead">
<field eval="1" name="active"/>
<field name="type_id" ref="crm.type_lead5"/>
<field eval="&quot;1&quot;" name="priority"/>
<field eval="'1'" name="priority"/>
<field name="type">lead</field>
<field name="user_id" ref="base.user_demo"/>
<field eval="&quot;Questionnaire&quot;" name="name"/>
<field eval="&quot;open&quot;" name="state"/>
<field eval="'Survey'" name="name"/>
<field eval="'open'" name="state"/>
<field name="section_id" ref="crm.section_sales_department"/>
<field name="categ_id" ref="crm.categ_oppor6"/>
<field name="stage_id" ref="crm.stage_lead1"/>
<field eval="&quot;Website Visitor&quot;" name="partner_name"/>
<field eval="&quot;smith_john@gmail.com&quot;" name="email_from"/>
<field eval="'Survey Expert'" name="partner_name"/>
<field eval="'John Smith'" name="contact_name"/>
<field eval="'Sales'" name="function"/>
<field eval="'Cambridge'" name="city"/>
<field name="country_id" ref="base.uk"/>
<field eval="'smith_john@gmail.com'" name="email_from"/>
<field eval="'(282) 596-8584'" name="phone"/>
</record>
<record id="crm_case_business_card0" model="crm.lead">
<field eval="1" name="active"/>
<field name="type_id" ref="crm.type_lead3"/>
<field eval="&quot;2&quot;" name="priority"/>
<field eval="'2'" name="priority"/>
<field name="type">lead</field>
<field name="user_id" ref="base.user_root"/>
<field eval="&quot;Marketing Products&quot;" name="name"/>
<field eval="&quot;open&quot;" name="state"/>
<field eval="'Partnership'" name="name"/>
<field eval="'open'" name="state"/>
<field name="section_id" ref="crm.section_sales_department"/>
<field name="categ_id" ref="crm.categ_oppor5"/>
<field name="stage_id" ref="crm.stage_lead1"/>
<field eval="&quot;Business Card&quot;" name="partner_name"/>
<field eval="'Marketing Business'" name="partner_name"/>
<field eval="'Laure Smith'" name="contact_name"/>
<field eval="'Sales'" name="function"/>
<field eval="'Oxford'" name="city"/>
<field name="country_id" ref="base.uk"/>
<field eval="'l.smith@marketing-business.com'" name="email_from"/>
<field eval="'(252) 578-7894'" name="phone"/>
</record>
<record id="crm_case_imported_contact0" model="crm.lead">
<field eval="1" name="active"/>
<field name="type_id" ref="crm.type_lead8"/>
<field eval="&quot;2&quot;" name="priority"/>
<field eval="'2'" name="priority"/>
<field name="type">lead</field>
<field name="user_id" ref="base.user_demo"/>
<field eval="&quot;Business Group&quot;" name="name"/>
<field eval="&quot;cancel&quot;" name="state"/>
<field eval="'Info'" name="name"/>
<field eval="'cancel'" name="state"/>
<field name="section_id" ref="crm.section_sales_department"/>
<field name="categ_id" ref="crm.categ_oppor1"/>
<field name="stage_id" ref="crm.stage_lead2"/>
<field eval="&quot;Imported Contact&quot;" name="partner_name"/>
<field eval="'Business Group'" name="partner_name"/>
</record>
<record id="crm_case_employee0" model="crm.lead">
<field eval="1" name="active"/>
<field name="type_id" ref="crm.type_lead3"/>
<field eval="&quot;3&quot;" name="priority"/>
<field eval="'3'" name="priority"/>
<field name="type">lead</field>
<field name="user_id" ref="base.user_root"/>
<field eval="&quot;OpenERP Campaining&quot;" name="name"/>
<field eval="&quot;draft&quot;" name="state"/>
<field name="user_id" ref="base.user_demo"/>
<field eval="'Need Info about Onsite Intervention'" name="name"/>
<field eval="'draft'" name="state"/>
<field name="section_id" ref="crm.section_sales_department"/>
<field name="categ_id" ref="crm.categ_oppor3"/>
<field name="stage_id" ref="crm.stage_lead3"/>
<field eval="&quot;Campaining&quot;" name="partner_name"/>
<field name="stage_id" ref="crm.stage_lead2"/>
<field eval="'Agrolait'" name="partner_name"/>
<field eval="'Sylvie Lelitre'" name="contact_name"/>
</record>
<record id="crm_case_company_partnership0" model="crm.lead">
<field eval="1" name="active"/>
<field name="type_id" ref="crm.type_lead3"/>
<field eval="&quot;3&quot;" name="priority"/>
<field eval="'3'" name="priority"/>
<field name="type">lead</field>
<field name="user_id" ref="base.user_demo"/>
<field eval="&quot;Offer&quot;" name="name"/>
<field eval="&quot;done&quot;" name="state"/>
<field eval="'Need Quotation for 100 PC and 100 Keyboards'" name="name"/>
<field eval="'done'" name="state"/>
<field name="section_id" ref="crm.section_sales_department"/>
<field name="categ_id" ref="crm.categ_oppor7"/>
<field name="categ_id" ref="crm.categ_oppor1"/>
<field name="stage_id" ref="crm.stage_lead1"/>
<field eval="&quot;Partnership Offer&quot;" name="partner_name"/>
<field eval="'Centrale d\'achats 1'" name="partner_name"/>
</record>
<!-- Call Function to Open the leads-->
<function model="crm.lead" name="case_open">
<value eval="[ref('crm_case_itisatelesalescampaign0'), ref('crm_case_electonicgoodsdealer0'), ref('crm_case_company_partnership0'), ref('crm_case_webvisitor0'), ref('crm_case_business_card0')]"/>
<value eval="[ref('crm_case_electonicgoodsdealer0'), ref('crm_case_company_partnership0'), ref('crm_case_webvisitor0'), ref('crm_case_business_card0'), ref('crm.crm_case_employee0')]"/>
</function>
<!-- Call Function to mark the lead as Pending-->
<function model="crm.lead" name="case_pending">
@ -207,30 +246,48 @@
<field name="type">opportunity</field>
<field name="type_id" ref="crm.type_lead1"/>
<field name="partner_id" ref="base.res_partner_3"/>
<field eval="&quot;3&quot;" name="priority"/>
<field eval="'3'" name="priority"/>
<field name="user_id" ref="base.user_root"/>
<field eval="&quot;open&quot;" name="state"/>
<field eval="85000.0" name="planned_revenue"/>
<field eval="'open'" name="state"/>
<field eval="'150000'" name="planned_revenue"/>
<field name="section_id" ref="crm.section_sales_department"/>
<field name="categ_id" ref="crm.categ_oppor1"/>
<field name="stage_id" ref="crm.stage_lead3"/>
<field eval="&quot;CONS TRUST (AZ) 529701 - 1000 units&quot;" name="name"/>
<field eval="'Plan to buy 200 PC2'" name="name"/>
<field eval="'Conf call with purchase manager'" name="title_action"/>
</record>
<record id="crm_case_rdroundfundingunits0" model="crm.lead">
<field name="partner_address_id" ref="base.res_partner_address_15"/>
<field name="partner_address_id" ref="base.res_partner_address_1"/>
<field eval="1" name="active"/>
<field name="type">opportunity</field>
<field name="type_id" ref="crm.type_lead2"/>
<field name="partner_id" ref="base.res_partner_11"/>
<field eval="&quot;3&quot;" name="priority"/>
<field name="user_id" ref="base.user_root"/>
<field eval="&quot;draft&quot;" name="state"/>
<field name="partner_id" ref="base.res_partner_9"/>
<field eval="'3'" name="priority"/>
<field name="user_id" ref="base.user_demo"/>
<field eval="'draft'" name="state"/>
<field eval="45000.0" name="planned_revenue"/>
<field eval="50" name="probability"/>
<field name="section_id" ref="crm.section_sales_department"/>
<field name="categ_id" ref="crm.categ_oppor5"/>
<field name="stage_id" ref="crm.stage_lead1"/>
<field eval="&quot;3rd Round Funding - 1000 units &quot;" name="name"/>
<field name="categ_id" ref="crm.categ_oppor3"/>
<field name="stage_id" ref="crm.stage_lead2"/>
<field eval="'Pricing Information of Onsite Intervention'" name="name"/>
<field eval="'Send price list regarding our interventions'" name="title_action"/>
</record>
<record id="crm_case_rdroundfundingunits25" model="crm.lead">
<field eval="1" name="active"/>
<field name="type">opportunity</field>
<field name="type_id" ref="crm.type_lead2"/>
<field name="partner_id" ref="base.res_partner_lucievonck0"/>
<field eval="'3'" name="priority"/>
<field name="user_id" ref="base.user_demo"/>
<field eval="'draft'" name="state"/>
<field eval="30000.0" name="planned_revenue"/>
<field eval="75" name="probability"/>
<field name="section_id" ref="crm.section_sales_department"/>
<field name="categ_id" ref="crm.categ_oppor3"/>
<field name="stage_id" ref="crm.stage_lead2"/>
<field eval="'Interest in your Kitchen Design Project'" name="name"/>
<field eval="'Send Catalogue by E-Mail'" name="title_action"/>
</record>
<record id="crm_case_mediapoleunits0" model="crm.lead">
<field eval="10" name="probability"/>
@ -239,48 +296,80 @@
<field name="type">opportunity</field>
<field name="type_id" ref="crm.type_lead1"/>
<field name="partner_id" ref="base.res_partner_8"/>
<field eval="&quot;3&quot;" name="priority"/>
<field eval="'3'" name="priority"/>
<field name="user_id" ref="base.user_root"/>
<field eval="&quot;pending&quot;" name="state"/>
<field eval="'done'" name="state"/>
<field eval="55000.0" name="planned_revenue"/>
<field eval="70" name="probability"/>
<field eval="90" name="probability"/>
<field name="section_id" ref="crm.section_sales_department"/>
<field name="categ_id" ref="crm.categ_oppor7"/>
<field name="stage_id" ref="crm.stage_lead5"/>
<field eval="&quot;Mediapole - 5000 units&quot;" name="name"/>
<field eval="&quot;info@mycompany.net&quot;" name="email_from"/>
<field eval="'Need 20 Days of Consultancy'" name="name"/>
<field eval="'info@mycompany.net'" name="email_from"/>
</record>
<record id="crm_case_abcfuelcounits0" model="crm.lead">
<field eval="40" name="probability"/>
<field name="partner_address_id" ref="base.res_partner_address_1"/>
<field name="partner_address_id" ref="base.res_partner_address_marcdubois0"/>
<field eval="1" name="active"/>
<field name="type">opportunity</field>
<field name="type_id" ref="crm.type_lead1"/>
<field name="partner_id" ref="base.res_partner_9"/>
<field eval="&quot;3&quot;" name="priority"/>
<field name="partner_id" ref="base.res_partner_duboissprl0"/>
<field eval="'3'" name="priority"/>
<field name="user_id" ref="base.user_demo"/>
<field eval="&quot;open&quot;" name="state"/>
<field eval="'open'" name="state"/>
<field eval="45000.0" name="planned_revenue"/>
<field name="section_id" ref="crm.section_sales_department"/>
<field name="categ_id" ref="crm.categ_oppor5"/>
<field name="stage_id" ref="crm.stage_lead4"/>
<field eval="&quot;ABC FUEL CO 829264 - 1000 units &quot;" name="name"/>
<field eval="&quot;info@opensides.be&quot;" name="email_from"/>
<field eval="'Need new design for my website'" name="name"/>
<field eval="'info@opensides.be'" name="email_from"/>
<field eval="'Convert to quote'" name="title_action"/>
</record>
<record id="crm_case_dirtminingltdunits0" model="crm.lead">
<field eval="80" name="probability"/>
<record id="crm_case_dirtminingltdunits25" model="crm.lead">
<field eval="30" name="probability"/>
<field name="partner_address_id" ref="base.res_partner_address_wong"/>
<field eval="1" name="active"/>
<field name="type">opportunity</field>
<field name="partner_id" ref="base.res_partner_maxtor"/>
<field eval="&quot;3&quot;" name="priority"/>
<field name="user_id" ref="base.user_root"/>
<field eval="&quot;done&quot;" name="state"/>
<field eval="'3'" name="priority"/>
<field name="user_id" ref="base.user_demo"/>
<field eval="'done'" name="state"/>
<field eval="42000.0" name="planned_revenue"/>
<field name="section_id" ref="crm.section_sales_department"/>
<field name="categ_id" ref="crm.categ_oppor2"/>
<field name="stage_id" ref="crm.stage_lead6"/>
<field eval="&quot;Dirt Mining Ltd 271742 - 1000 units&quot;" name="name"/>
<field eval="'Want to subscribe to your online solution'" name="name"/>
</record>
<record id="crm_case_dirtminingltdunits0" model="crm.lead">
<field eval="30" name="probability"/>
<field eval="1" name="active"/>
<field name="type">opportunity</field>
<field name="partner_id" ref="base.res_partner_tinyatwork"/>
<field eval="'3'" name="priority"/>
<field name="user_id" ref="base.user_root"/>
<field eval="'done'" name="state"/>
<field eval="25000.0" name="planned_revenue"/>
<field name="section_id" ref="crm.section_sales_department"/>
<field name="categ_id" ref="crm.categ_oppor6"/>
<field name="stage_id" ref="crm.stage_lead6"/>
<field eval="'Interest in your Partnership Contract'" name="name"/>
</record>
<record id="crm_case_dirtminingltdunits10" model="crm.lead">
<field eval="30" name="probability"/>
<field name="partner_address_id" ref="base.res_partner_address_3000"/>
<field eval="1" name="active"/>
<field name="type">opportunity</field>
<field name="partner_id" ref="base.res_partner_desertic_hispafuentes"/>
<field eval="'3'" name="priority"/>
<field name="user_id" ref="base.user_root"/>
<field eval="'open'" name="state"/>
<field eval="5000" name="planned_revenue"/>
<field eval="30" name="probability"/>
<field name="section_id" ref="crm.section_sales_department"/>
<field name="categ_id" ref="crm.categ_oppor2"/>
<field name="stage_id" ref="crm.stage_lead2"/>
<field eval="'Plan to attend a training'" name="name"/>
<field eval="'Call to give info about next training session'" name="title_action"/>
</record>
</data>
</openerp>

View File

@ -49,14 +49,9 @@ class crm_merge_opportunity(osv.osv_memory):
def get_attachments(self, cr, uid, id, context=None):
attach_obj = self.pool.get('ir.attachment')
attach_ids = attach_obj.search(cr, uid, [('res_model' , '=', 'crm.lead'), ('res_id', '=', id)])
return attach_ids
def set_attachements_res_id(self, cr, uid, op_id, attach_ids, context=None):
attach_obj = self.pool.get('ir.attachment')
attach_obj.write(cr, uid, attach_ids, {'res_id' : op_id})
proxy = self.pool.get('ir.attachment')
ids = proxy.search(cr, uid, [('res_model', '=', 'crm.lead'), ('res_id', '=', id)], context=context)
return proxy.browse(cr, uid, ids, context=context)
def find_oldest(self, cr, uid, op_ids, context=None):
if not context:
@ -129,15 +124,25 @@ class crm_merge_opportunity(osv.osv_memory):
else:
first_opportunity = opportunities_list[0]
tail_opportunities = opportunities_list[1:]
data = self._update_data(op_ids, oldest_opp)
#copy message into the first opportunity + merge attachement
for opp in tail_opportunities + [first_opportunity]:
attach_ids = self.get_attachments(cr, uid, opp, context=context)
self.set_attachements_res_id(cr, uid, first_opportunity.id, attach_ids)
for mail_msg in opp.message_ids:
message_obj.write(cr, uid, mail_msg.id, {'res_id': first_opportunity.id, 'subject' : _("From %s : %s") % (opp.name, mail_msg.subject) }, context=context)
#copy message into the first opportunity + merge attachement
count = 1
first_attachments = self.get_attachments(cr, uid, first_opportunity, context=context)
for opp in tail_opportunities:
attachments = self.get_attachments(cr, uid, opp, context=context)
for first in first_attachments:
for attachment in attachments:
if attachment.name == first.name:
values = dict(
name = "%s (%s)" % (attachment.name, count,),
res_id = first_opportunity.id,
)
attachment.write(values)
count+=1
for history in opp.message_ids:
message_obj.write(cr, uid, history.id, {'res_id': first_opportunity.id, 'name' : _("From %s : %s") % (opp.name, history.name) }, context=context)
#Notification about loss of information
details = []
@ -171,7 +176,7 @@ class crm_merge_opportunity(osv.osv_memory):
opp_obj.message_append(cr, uid, [first_opportunity], subject, body_text=details)
#data.update({'message_ids' : [(6, 0 ,self._concat_o2m('message_ids', op_ids))]})
opp_obj.write(cr, uid, [first_opportunity.id], data)
opp_obj.write(cr, uid, [first_opportunity.id], data, context=context)
unlink_ids = map(lambda x: x.id, tail_opportunities)
opp_obj.unlink(cr, uid, unlink_ids, context=context)

View File

@ -66,7 +66,6 @@ class crm_claim_report(osv.osv):
'categ_id': fields.many2one('crm.case.categ', 'Category',\
domain="[('section_id','=',section_id),\
('object_id.model', '=', 'crm.claim')]", readonly=True),
'probability': fields.float('Probability',digits=(16,2),readonly=True, group_operator="avg"),
'partner_id': fields.many2one('res.partner', 'Partner', readonly=True),
'company_id': fields.many2one('res.company', 'Company', readonly=True),
'priority': fields.selection(AVAILABLE_PRIORITIES, 'Priority'),
@ -74,8 +73,7 @@ class crm_claim_report(osv.osv):
'date_closed': fields.date('Close Date', readonly=True, select=True),
'date_deadline': fields.date('Deadline', readonly=True, select=True),
'delay_expected': fields.float('Overpassed Deadline',digits=(16,2),readonly=True, group_operator="avg"),
'email': fields.integer('# Emails', size=128, readonly=True),
'probability': fields.float('Probability',digits=(16,2),readonly=True, group_operator="avg")
'email': fields.integer('# Emails', size=128, readonly=True)
}
def init(self, cr):
@ -106,8 +104,7 @@ class crm_claim_report(osv.osv):
c.type_action as type_action,
date_trunc('day',c.create_date) as create_date,
avg(extract('epoch' from (c.date_closed-c.create_date)))/(3600*24) as delay_close,
(SELECT count(id) FROM mail_message WHERE model='crm.claim' AND res_id=c.id AND email_from IS NOT NULL) AS email,
(SELECT avg(probability) FROM crm_case_stage WHERE id=c.stage_id) AS probability,
(SELECT count(id) FROM mail_message WHERE model='crm.claim' AND res_id=c.id) AS email,
extract('epoch' from (c.date_deadline - c.date_closed))/(3600*24) as delay_expected
from
crm_claim c

View File

@ -20,7 +20,6 @@
<field name="nbr" string="#Claim" sum="#Claim"/>
<field name="email" sum="# Mails"/>
<field name="delay_close" avg="Avg Closing Delay"/>
<field name="probability" widget="progressbar"/>
<field name="delay_expected"/>
<field name="state" invisible="1"/>
<field name="stage_id" invisible="1"/>

View File

@ -61,7 +61,7 @@
<filter string="Referred Partner" icon="terp-personal" domain="[]" context="{'group_by':'partner_assigned_id'}"/>
</filter>
<field name="section_id" position="after">
<field name="partner_id" position="after">
<separator orientation="vertical"/>
<field name="partner_assigned_id"/>
</field>

View File

@ -71,7 +71,7 @@ class delivery_carrier(osv.osv):
'free_if_more_than': fields.boolean('Free If More Than'),
'amount': fields.float('Amount'),
'use_detailed_pricelist': fields.boolean('Use Detailed Pricelist'),
'pricelist_ids': fields.one2many('delivery.grid', 'carrier_id', 'Price List'),
'pricelist_ids': fields.one2many('delivery.grid', 'carrier_id', 'Advanced Pricing'),
}
_defaults = {

View File

@ -17,6 +17,7 @@
<record id="delivery_product" model="product.product">
<field name="name">Delivery by Poste</field>
<field name="default_code">Delivery</field>
<field name="type">service</field>
<field model="product.category" name="categ_id" search="[]"/>
</record>

View File

@ -9,7 +9,6 @@
<field name="type">tree</field>
<field name="arch" type="xml">
<tree string="Carrier">
<field name="name"/>
<field name="partner_id"/>
<field name="price" invisible="'order_id' not in context"/>
</tree>
@ -22,10 +21,9 @@
<field name="arch" type="xml">
<form string="Carrier">
<group colspan="4" col="4" name="general">
<field name="name" select="1"/>
<field name="active" select="1"/>
<field name="partner_id" select="1"/>
<field name="product_id" select="1"/>
<field name="active" select="1"/>
<separator string="Pricing Information" colspan="6"/>
<group colspan="2" col="4">
<field name="normal_price" select="1" colspan="4"/>
@ -82,7 +80,7 @@
<field name="help">Define the delivery methods you are using and their pricing in order to reinvoice the delivery costs when you are doing invoicing based on delivery orders</field>
</record>
<menuitem action="action_delivery_carrier_form" id="menu_action_delivery_carrier_form" parent="menu_delivery" groups="base.group_extended"/>
<menuitem action="action_delivery_carrier_form" id="menu_action_delivery_carrier_form" parent="menu_delivery"/>
<!-- Delivery Grids -->
<record id="view_delivery_grid_tree" model="ir.ui.view">
@ -132,7 +130,7 @@
<field name="view_mode">tree,form</field>
<field name="help">The delivery price list allows you to compute the cost and sales price of the delivery according to the weight of the products and other criteria. You can define several price lists for one delivery method, per country or a zone in a specific country defined by a postal code range.</field>
</record>
<menuitem action="action_delivery_grid_form" id="menu_action_delivery_grid_form" parent="menu_delivery"/>
<menuitem action="action_delivery_grid_form" id="menu_action_delivery_grid_form" parent="menu_delivery" groups="base.group_extended"/>
<record id="view_delivery_grid_line_form" model="ir.ui.view">
<field name="name">delivery.grid.line.form</field>

View File

@ -252,7 +252,7 @@ class document_file(osv.osv):
ids = ids2
if 'file_size' in vals: # only write that field using direct SQL calls
del vals['file_size']
if len(ids) and len(vals):
if ids and vals:
result = super(document_file,self).write(cr, uid, ids, vals, context=context)
cr.commit() # ?
return result

View File

@ -108,10 +108,10 @@ class mail_compose_message(osv.osv_memory):
def template_toggle(self, cr, uid, ids, context=None):
for record in self.browse(cr, uid, ids, context=context):
had_template = record.use_template
record.write({'use_template': not(record.use_template)})
record.write({'use_template': not(had_template)})
if had_template:
# equivalent to choosing an empty template
onchange_defaults = self.on_change_template(cr, uid, record.id, record.use_template,
onchange_defaults = self.on_change_template(cr, uid, record.id, not(had_template),
False, email_from=record.email_from,
email_to=record.email_to, context=context)
record.write(onchange_defaults['value'])

View File

@ -120,7 +120,7 @@ class fetchmail_server(osv.osv):
server.write({'state':'done'})
except Exception, e:
logger.exception("Failed to connect to %s server %s", server.type, server.name)
raise osv.except_osv(_("Connection test failed!"), _("Here is what we got instead:\n %s") % e)
raise osv.except_osv(_("Connection test failed!"), _("Here is what we got instead:\n %s") % tools.ustr(e))
finally:
try:
if connection:

View File

@ -0,0 +1,53 @@
# Macedonian translation for openobject-addons
# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2011-01-11 11:15+0000\n"
"PO-Revision-Date: 2011-09-14 08:11+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Macedonian <mk@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2011-09-15 04:47+0000\n"
"X-Generator: Launchpad (build 13921)\n"
#. module: google_map
#: view:res.partner:0
#: view:res.partner.address:0
msgid "Map"
msgstr "Мапа"
#. module: google_map
#: view:res.partner:0
#: view:res.partner.address:0
msgid "Street2 : "
msgstr ""
#. module: google_map
#: model:ir.actions.wizard,name:google_map.wizard_google_map
msgid "Launch Google Map"
msgstr "Стартувај Google Map"
#. module: google_map
#: model:ir.module.module,description:google_map.module_meta_information
msgid ""
"The module adds google map field in partner address\n"
"so that we can directly open google map from the\n"
"url widget."
msgstr ""
#. module: google_map
#: model:ir.module.module,shortdesc:google_map.module_meta_information
msgid "Google Map"
msgstr ""
#. module: google_map
#: model:ir.model,name:google_map.model_res_partner_address
msgid "Partner Addresses"
msgstr "Адреса на партнерот"

View File

@ -75,8 +75,8 @@
<field name="type_id" widget="selection"/>
</group>
<notebook>
<page string="Information">
<group col="2" colspan="2">
<page string="Information" name="information">
<group col="2" colspan="2" name="left_column">
<separator colspan="2" string="Duration"/>
<field name="date_start" />
<field name="date_end" />
@ -85,7 +85,7 @@
<field name="trial_date_start" />
<field name="trial_date_end" />
</group>
<group col="2" colspan="2">
<group col="2" colspan="2" name="right_column">
<separator name="advantages" colspan="2" string="Advantages"/>
<field name="advantages" nolabel="1" colspan="2"/>
</group>

View File

@ -50,6 +50,7 @@ class hr_payroll_structure(osv.osv):
'company_id':fields.many2one('res.company', 'Company', required=True),
'note': fields.text('Description'),
'parent_id':fields.many2one('hr.payroll.structure', 'Parent'),
'children_ids':fields.one2many('hr.payroll.structure', 'parent_id', 'Children'),
}
def _get_parent(self, cr, uid, context=None):
@ -131,6 +132,10 @@ class hr_contract(osv.osv):
], 'Scheduled Pay', select=True),
}
_defaults = {
'schedule_pay': 'monthly',
}
def get_all_structures(self, cr, uid, contract_ids, context=None):
"""
@param contract_ids: list of contracts
@ -175,6 +180,7 @@ class hr_salary_rule_category(osv.osv):
'name':fields.char('Name', size=64, required=True, readonly=False),
'code':fields.char('Code', size=64, required=True, readonly=False),
'parent_id':fields.many2one('hr.salary.rule.category', 'Parent', help="Linking a salary category to its parent is used only for the reporting purpose."),
'children_ids': fields.one2many('hr.salary.rule.category', 'parent_id', 'Children'),
'note': fields.text('Description'),
'company_id':fields.many2one('res.company', 'Company', required=False),
}
@ -205,6 +211,7 @@ class one2many_mod2(fields.one2many):
class hr_payslip_run(osv.osv):
_name = 'hr.payslip.run'
_description = 'Payslip Run'
_columns = {
'name': fields.char('Name', size=64, required=True, readonly=True, states={'draft': [('readonly', False)]}),
'slip_ids': fields.one2many('hr.payslip', 'payslip_run_id', 'Payslips', required=False, readonly=True, states={'draft': [('readonly', False)]}),

View File

@ -89,7 +89,7 @@
<field name="category_id" ref="hr_payroll.ALW"/>
<field name="name">Get 1% of sales</field>
<field name="sequence" eval="17"/>
<field name="amount_python_compute">result = (inputs.SALEURO.amount + inputs.SALASIA.amount) * contract.wage * 0.01</field>
<field name="amount_python_compute">result = (inputs.SALEURO.amount + inputs.SALASIA.amount) * 0.01</field>
</record>
<!-- Rule Inputs -->

View File

@ -58,7 +58,7 @@
<!-- End Contract View-->
<!-- Salary structure -->
<record id="view_hr_employee_grade_tree" model="ir.ui.view">
<record id="view_hr_payroll_structure_list_view" model="ir.ui.view">
<field name="name">hr.payroll.structure.tree</field>
<field name="model">hr.payroll.structure</field>
<field name="type">tree</field>
@ -71,6 +71,19 @@
</tree>
</field>
</record>
<record id="view_hr_payroll_structure_tree" model="ir.ui.view">
<field name="name">hr.payroll.structure.tree</field>
<field name="model">hr.payroll.structure</field>
<field name="type">tree</field>
<field name="field_parent">children_ids</field>
<field name="arch" type="xml">
<tree string="Salary Structure">
<field name="name"/>
<field name="code"/>
<field name="company_id" groups="base.group_multi_company" widget="selection"/>
</tree>
</field>
</record>
<record id="view_hr_payroll_structure_filter" model="ir.ui.view">
<field name="name">hr.payroll.structure.select</field>
@ -116,18 +129,32 @@
</field>
</record>
<record id="action_view_hr_employee_grade_form" model="ir.actions.act_window">
<record id="action_view_hr_payroll_structure_list_form" model="ir.actions.act_window">
<field name="name">Salary Structures</field>
<field name="res_model">hr.payroll.structure</field>
<field name="view_type">form</field>
<field name="view_id" ref="view_hr_employee_grade_tree"/>
<field name="view_id" ref="view_hr_payroll_structure_list_view"/>
</record>
<menuitem
id="menu_hr_employee_function"
action="action_view_hr_employee_grade_form"
id="menu_hr_payroll_structure_view"
action="action_view_hr_payroll_structure_list_form"
parent="payroll_configure"
sequence="1"
/>
<record id="action_view_hr_payroll_structure_tree" model="ir.actions.act_window">
<field name="name">Salary Structures Hierarchy</field>
<field name="res_model">hr.payroll.structure</field>
<field name="view_type">tree</field>
<field name="domain">[('parent_id','=',False)]</field>
<field name="view_id" ref="view_hr_payroll_structure_tree"/>
</record>
<menuitem
id="menu_hr_payroll_structure_tree"
action="action_view_hr_payroll_structure_tree"
parent="payroll_configure"
sequence="2"
icon="STOCK_INDENT"
/>
<!-- End Salary structure -->
<!-- Payslip Line -->
@ -243,43 +270,7 @@
<field name="credit_note"/>
</group>
<notebook colspan="4">
<page string="Salary Computation" >
<field name="line_ids" colspan="4" nolabel="1">
<tree string="Salary Structure" editable="bottom" colors="blue:total == 0">
<field name="name"/>
<field name="code"/>
<field name="category_id"/>
<field name="sequence" invisible="1"/>
<field name="quantity" string="Quantity/Rate"/>
<field name="amount"/>
<field name="total"/>
</tree>
<form string="Payslip Line">
<group>
<field name="name" select="1"/>
<field name="code" select="1"/>
<field name="category_id"/>
<field name="sequence" groups="base.group_extended"/>
<field name="quantity" string="Quantity/Rate"/>
<field name="amount"/>
<field name="total"/>
<field name="salary_rule_id" groups="base.group_extended"/>
</group>
</form>
</field>
</page>
<page string="Details By Salary Rule Category">
<field name="details_by_salary_rule_category" context="{'group_by':'category_id'}" domain="[('appears_on_payslip', '=', True)]" nolabel="1">
<tree string="Payslip Lines" colors="blue:total == 0">
<field name="category_id"/>
<field name="name"/>
<field name="code"/>
<field name="total"/>
</tree>
</field>
</page>
<page string="Worked Days &amp; Inputs">
<page string="Worked Days &amp; Inputs">
<field name="worked_days_line_ids" colspan="4" nolabel="1">
<tree string="Worked Days" editable="bottom">
<field name="name"/>
@ -320,8 +311,42 @@
</group>
</form>
</field>
</page>
<page string="Salary Computation" >
<field name="line_ids" colspan="4" nolabel="1">
<tree string="Salary Structure" editable="bottom" colors="blue:total == 0">
<field name="name"/>
<field name="code"/>
<field name="category_id"/>
<field name="sequence" invisible="1"/>
<field name="quantity" string="Quantity/Rate"/>
<field name="amount"/>
<field name="total"/>
</tree>
<form string="Payslip Line">
<group>
<field name="name" select="1"/>
<field name="code" select="1"/>
<field name="category_id"/>
<field name="sequence" groups="base.group_extended"/>
<field name="quantity" string="Quantity/Rate"/>
<field name="amount"/>
<field name="total"/>
<field name="salary_rule_id" groups="base.group_extended"/>
</group>
</form>
</field>
</page>
<page string="Details By Salary Rule Category">
<field name="details_by_salary_rule_category" context="{'group_by':'category_id'}" domain="[('appears_on_payslip', '=', True)]" nolabel="1">
<tree string="Payslip Lines" colors="blue:total == 0">
<field name="category_id"/>
<field name="name"/>
<field name="code"/>
<field name="total"/>
</tree>
</field>
</page>
<page string="Other Information">
<separator colspan="4" string="Other Information"/>
<group col="5" colspan="2">
@ -415,6 +440,19 @@
</tree>
</field>
</record>
<record id="hr_salary_rule_category_tree_view" model="ir.ui.view">
<field name="name">hr.salary.rule.category.tree.view</field>
<field name="model">hr.salary.rule.category</field>
<field name="type">tree</field>
<field name="field_parent">children_ids</field>
<field name="arch" type="xml">
<tree string="Salary Rule Categories">
<field name="name"/>
<field name="code"/>
<field name="parent_id" invisible="1"/>
</tree>
</field>
</record>
<record id="view_hr_salary_rule_category_filter" model="ir.ui.view">
<field name="name">hr.salary.rule.category.select</field>
@ -441,6 +479,19 @@
parent="payroll_configure"
sequence="11"
/>
<record id="action_hr_salary_rule_category_tree_view" model="ir.actions.act_window">
<field name="name">Salary Rule Categories Hierarchy</field>
<field name="res_model">hr.salary.rule.category</field>
<field name="view_type">tree</field>
<field name="view_id" ref="hr_salary_rule_category_tree_view"/>
</record>
<menuitem
id="menu_hr_salary_rule_category_tree_view"
action="action_hr_salary_rule_category_tree_view"
parent="payroll_configure"
sequence="12"
icon="STOCK_INDENT"
/>
<!--
Contribution Register
@ -610,8 +661,8 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Search Payslip Runs">
<filter icon="terp-document-new" string="Draft" domain="[('state','=','draft')]" help="Draft runs"/>
<filter icon="terp-camera_test" string="Done" domain="[('state','=','done')]" help="Done runs"/>
<filter icon="terp-document-new" string="Draft" domain="[('state','=','draft')]" help="Draft Payslip Runs"/>
<filter icon="terp-camera_test" string="Done" domain="[('state','=','close')]" help="Done Payslip Runs"/>
<separator orientation="vertical"/>
<field name="name"/>
<field name="date_start"/>
@ -630,6 +681,7 @@
<field name="date_start"/>
<field name="date_end"/>
<field name="credit_note"/>
<field name="state"/>
</tree>
</field>
</record>
@ -681,7 +733,18 @@
id="act_hr_employee_payslip_list"
groups="base.group_hr_manager"/>
<act_window domain="[('slip_id', '=', active_id)]" context="{'search_default_register_id': 1}" id="act_payslip_lines" name="Payslip Lines" res_model="hr.payslip.line" src_model="hr.payslip"/>
<act_window name="Payslip Computation Details"
domain="[('slip_id', '=', active_id)]"
res_model="hr.payslip.line"
src_model="hr.payslip"
id="act_payslip_lines"/>
<act_window name="Payslip Lines"
domain="[('register_id', '=', active_id)]"
context="{'search_default_register_id': 1}"
res_model="hr.payslip.line"
src_model="hr.contribution.register"
id="act_contribution_reg_payslip_lines"/>
</data>
</openerp>

View File

@ -43,7 +43,7 @@ class payslip_details_report(report_sxw.rml_parse):
return []
if rule_categories[0].parent_id:
rule_categories.insert(0, rule_categories[0].parent_id)
self.get_recursive_parent(rule_categories)
get_recursive_parent(rule_categories)
return rule_categories
res = []

View File

@ -21,5 +21,6 @@
##############################################################################
import hr_payroll_account
import wizard
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -39,6 +39,13 @@ class hr_payslip(osv.osv):
'journal_id': fields.many2one('account.journal', 'Expense Journal',states={'draft': [('readonly', False)]}, readonly=True, required=True),
'move_id': fields.many2one('account.move', 'Accounting Entry', readonly=True),
}
def create(self, cr, uid, vals, context=None):
if context is None:
context = {}
if 'journal_id' in context:
vals.update({'journal_id': context.get('journal_id')})
return super(hr_payslip, self).create(cr, uid, vals, context=context)
def onchange_contract_id(self, cr, uid, ids, date_from, date_to, employee_id=False, contract_id=False, context=None):
contract_obj = self.pool.get('hr.contract')
@ -174,5 +181,14 @@ class hr_contract(osv.osv):
}
hr_contract()
class hr_payslip_run(osv.osv):
_inherit = 'hr.payslip.run'
_description = 'Payslip Run'
_columns = {
'journal_id': fields.many2one('account.journal', 'Expense Journal', states={'draft': [('readonly', False)]}, readonly=True, required=True),
}
hr_payslip_run()
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -51,6 +51,46 @@
</xpath>
</field>
</record>
<!-- Payslip Run View -->
<record id="hr_payslip_run_search_inherit" model="ir.ui.view">
<field name="name">hr.payslip.run.search.inherit</field>
<field name="model">hr.payslip.run</field>
<field name="type">search</field>
<field name="inherit_id" ref="hr_payroll.hr_payslip_run_filter"/>
<field name="arch" type="xml">
<field name="date_end" position="after">
<newline/>
<field name="journal_id" widget="selection"/>
</field>
</field>
</record>
<record id="hr_payslip_run_tree_inherit" model="ir.ui.view">
<field name="name">hr.payslip.run.tree.inherit</field>
<field name="model">hr.payslip.run</field>
<field name="type">tree</field>
<field name="inherit_id" ref="hr_payroll.hr_payslip_run_tree"/>
<field name="arch" type="xml">
<field name="date_end" position="after">
<field name="journal_id"/>
</field>
</field>
</record>
<record id="hr_payslip_run_form_inherit" model="ir.ui.view">
<field name="name">hr.payslip.run.form.inherit</field>
<field name="model">hr.payslip.run</field>
<field name="type">form</field>
<field name="inherit_id" ref="hr_payroll.hr_payslip_run_form"/>
<field name="arch" type="xml">
<field name="date_end" position="after">
<newline/>
<field name="journal_id"/>
</field>
</field>
</record>
</data>
</openerp>

View File

@ -0,0 +1,25 @@
#-*- coding:utf-8 -*-
##############################################################################
#
# OpenERP, Open Source Management Solution
# Copyright (C) 2004-2009 Tiny SPRL (<http://tiny.be>). All Rights Reserved
# d$
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
##############################################################################
import hr_payroll_payslips_by_employees
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -0,0 +1,40 @@
# -*- coding: utf-8 -*-
##############################################################################
#
# OpenERP, Open Source Management Solution
# Copyright (C) 2004-2010 Tiny SPRL (<http://tiny.be>).
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
# published by the Free Software Foundation, either version 3 of the
# License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
##############################################################################
from osv import osv
class hr_payslip_employees(osv.osv_memory):
_inherit ='hr.payslip.employees'
def compute_sheet(self, cr, uid, ids, context=None):
run_pool = self.pool.get('hr.payslip.run')
if context is None:
context = {}
if context and context.get('active_id', False):
run_data = run_pool.read(cr, uid, context['active_id'], ['journal_id'])
journal_id = run_data.get('journal_id', False)[0]
context.update({'journal_id': journal_id})
return super(hr_payslip_employees, self).compute_sheet(cr, uid, ids, context=context)
hr_payslip_employees()
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -4,7 +4,7 @@
<!-- Employee Contract -->
<record id="hr_payroll.hr_contract_firstcontract1" model="hr.contract">
<field name="name">Bonamy's Contract (C.P.218)</field>
<field name="name">Bonamy's Contract (Belgium payroll C.P. 218)</field>
<field name="struct_id" ref="hr_payroll_salary_structure_employee"/>
<field eval="2500.0" name="wage"/>
<field eval="6.0" name="ch_value"/>

View File

@ -9,17 +9,15 @@
<field name="inherit_id" ref="hr_contract.hr_contract_view_form"/>
<field name="arch" type="xml">
<data>
<xpath expr="/form/notebook/page/group/field[@name='advantages']" position="after">
<xpath expr="/form/notebook/page[@name='information']/group[@name='right_column']/field[@name='struct_id']" position="after">
<field name="reim_travel"/>
<field name="company_car_emp"/>
<field name="mis_ex_onss"/>
<field name="ch_value"/>
<field name="advantage"/>
<group colspan="2" col="2">
<separator string="Miscellaneous" colspan="2"/>
<field name="suppl_net"/>
<field name="retained_net"/>
</group>
<separator string="Miscellaneous" colspan="2"/>
<field name="suppl_net"/>
<field name="retained_net"/>
</xpath>
<xpath expr="/form/notebook/page/group/field[@name='trial_date_end']" position="after">
<group colspan="2" col="2">
@ -29,9 +27,6 @@
<field name="company_car_wkr"/>
</group>
</xpath>
<xpath expr="/form//group/field[@name='type_id']" position="after">
<field name="struct_id" select="1"/>
</xpath>
</data>
</field>
</record>
@ -48,17 +43,6 @@
</field>
</record>
<record id="view_contract_salary_structure" model="ir.ui.view">
<field name="name">hr.contract.struc</field>
<field name="model">hr.contract</field>
<field name="inherit_id" ref="hr_payroll.hr_contract_form_inherit"/>
<field name="type">form</field>
<field name="arch" type="xml">
<field name="struct_id" position="replace">
</field>
</field>
</record>
<record id="hr_contract_hr_hr_employee_view_for" model="ir.ui.view">
<field name="name">hr.hr.employee.view.for</field>
<field name="model">hr.employee</field>

View File

@ -0,0 +1,63 @@
# Macedonian translation for openobject-addons
# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2011-01-11 11:15+0000\n"
"PO-Revision-Date: 2011-09-14 08:15+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Macedonian <mk@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2011-09-15 04:47+0000\n"
"X-Generator: Launchpad (build 13921)\n"
#. module: html_view
#: field:html.view,name:0
msgid "Name"
msgstr "Име"
#. module: html_view
#: field:html.view,comp_id:0
msgid "Company"
msgstr "Компанија"
#. module: html_view
#: model:ir.actions.act_window,name:html_view.action_html_view_form
#: model:ir.ui.menu,name:html_view.html_form
msgid "Html Test"
msgstr "Html тест"
#. module: html_view
#: view:html.view:0
msgid "Html Example"
msgstr "Html пример"
#. module: html_view
#: model:ir.module.module,shortdesc:html_view.module_meta_information
msgid "Html View"
msgstr "Html преглед"
#. module: html_view
#: field:html.view,bank_ids:0
msgid "Banks"
msgstr "Банки"
#. module: html_view
#: model:ir.module.module,description:html_view.module_meta_information
msgid ""
"\n"
" This is the test module which shows html tag supports in normal xml form "
"view.\n"
" "
msgstr ""
#. module: html_view
#: model:ir.model,name:html_view.model_html_view
msgid "html.view"
msgstr "html.view"

View File

@ -123,7 +123,7 @@
<field name="res_model">project.issue</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
<field name="domain">[('state','not in',('cancel','done')),'|',('assigned_to','=',uid),('user_id','=',uid)]</field>
<field name="domain">[('state','not in',('cancel','done')),('user_id','=',uid)]</field>
<field name="view_id" ref="project_issue_board_tree_view"/>
</record>
<record id="view_my_open_project_issue_graph" model="ir.ui.view">
@ -142,7 +142,7 @@
<field name="res_model">project.issue.report</field>
<field name="view_type">form</field>
<field name="view_mode">graph,tree,form,</field>
<field name="domain">[('state','=','open'),'|',('assigned_to','=',uid),('user_id','=',uid)]</field>
<field name="domain">[('state','=','open'),('user_id','=',uid)]</field>
<field name="view_id" ref="view_my_open_project_issue_graph"/>
</record>
<record id="board_my_project_issue_form" model="ir.ui.view">

View File

@ -58,7 +58,7 @@ class project_issue(crm.crm_case, osv.osv):
"""
res = super(project_issue, self).case_open(cr, uid, ids, *args)
self.write(cr, uid, ids, {'date_open': time.strftime('%Y-%m-%d %H:%M:%S'), 'assigned_to' : uid})
self.write(cr, uid, ids, {'date_open': time.strftime('%Y-%m-%d %H:%M:%S'), 'user_id' : uid})
for (id, name) in self.name_get(cr, uid, ids):
message = _("Issue '%s' has been opened.") % name
self.log(cr, uid, id, message)
@ -191,7 +191,6 @@ class project_issue(crm.crm_case, osv.osv):
'section_id': fields.many2one('crm.case.section', 'Sales Team', \
select=True, help='Sales team to which Case belongs to.\
Define Responsible user and Email account for mail gateway.'),
'user_id': fields.related('project_id', 'user_id', type='many2one', relation='res.users', store=True, select=1, string='Responsible'),
'partner_id': fields.many2one('res.partner', 'Partner', select=1),
'partner_address_id': fields.many2one('res.partner.address', 'Partner Contact', \
domain="[('partner_id','=',partner_id)]"),
@ -220,7 +219,7 @@ class project_issue(crm.crm_case, osv.osv):
multi='compute_day', type="float", store=True),
'day_close': fields.function(_compute_day, string='Days to Close', \
multi='compute_day', type="float", store=True),
'assigned_to': fields.many2one('res.users', 'Assigned to', required=False, select=1),
'user_id': fields.many2one('res.users', 'Assigned to', required=False, select=1),
'working_hours_open': fields.function(_compute_day, string='Working Hours to Open the Issue', \
multi='compute_day', type="float", store=True),
'working_hours_close': fields.function(_compute_day, string='Working Hours to Close the Issue', \
@ -245,19 +244,11 @@ class project_issue(crm.crm_case, osv.osv):
return False
def on_change_project(self, cr, uid, ids, project_id, context=None):
result = {}
if project_id:
project = self.pool.get('project.project').browse(cr, uid, project_id, context=context)
if project.user_id:
result['value'] = {'user_id' : project.user_id.id}
return result
return {}
_defaults = {
'active': 1,
#'user_id': crm.crm_case._get_default_user,
'partner_id': crm.crm_case._get_default_partner,
'partner_address_id': crm.crm_case._get_default_partner_address,
'email_from': crm.crm_case._get_default_email,
@ -267,7 +258,6 @@ class project_issue(crm.crm_case, osv.osv):
'priority': crm.AVAILABLE_PRIORITIES[2][0],
'project_id':_get_project,
'categ_id' : lambda *a: False,
#'assigned_to' : lambda obj, cr, uid, context: uid,
}
def convert_issue_task(self, cr, uid, ids, context=None):
@ -296,7 +286,7 @@ class project_issue(crm.crm_case, osv.osv):
'date': bug.date,
'project_id': bug.project_id.id,
'priority': bug.priority,
'user_id': bug.assigned_to.id,
'user_id': bug.user_id.id,
'planned_hours': 0.0,
})
@ -364,7 +354,7 @@ class project_issue(crm.crm_case, osv.osv):
if not task_id:
return {'value':{}}
task = self.pool.get('project.task').browse(cr, uid, task_id, context=context)
return {'value':{'assigned_to': task.user_id.id,}}
return {'value':{'user_id': task.user_id.id,}}
def case_escalate(self, cr, uid, ids, *args):
"""Escalates case to top level

View File

@ -55,8 +55,7 @@
<field name="name"/>
<field name="project_id" required="True" on_change="on_change_project(project_id)"/>
<field name="categ_id" widget="selection" domain="[('object_id.model', '=', 'project.issue')]"/>
<field name="user_id" invisible="1" />
<field name="assigned_to"/>
<field name="user_id"/>
<field name="version_id" colspan="2" widget="selection"/>
<group colspan="2" col="4">
<field name="type_id" string="Resolution" />
@ -188,7 +187,7 @@
<button name="prev_type" string="Previous" type="object" icon="gtk-go-back" help="Change to Previous Stage"/>
<button name="next_type" string="Next" type="object" icon="gtk-go-forward" help="Change to Next Stage"/>
<field name="version_id" widget="selection"/>
<field name="assigned_to"/>
<field name="user_id"/>
<field name="progress" widget="progressbar" attrs="{'invisible':[('task_id','=',False)]}"/>
<field name="state"/>
<button name="case_cancel" string="Cancel" states="draft,open,pending" type="object" icon="gtk-cancel"/>
@ -216,8 +215,8 @@
<filter string="Pending" domain="[('state','=','pending')]" help="Pending Issues" icon="terp-gtk-media-pause"/>
<separator orientation="vertical"/>
<field name="name" string="Issue / Partner" filter_domain="['|', '|', ('partner_id','ilike',self), ('email_from','ilike',self), ('name','ilike',self)]"/>
<field name="assigned_to">
<filter domain="[('assigned_to','=',False)]" help="Unassigned Issues" icon="terp-personal-" separator="1"/>
<field name="user_id">
<filter domain="[('user_id','=',False)]" help="Unassigned Issues" icon="terp-personal-" separator="1"/>
</field>
<field name="project_id"/>
<field name="id"/>
@ -225,7 +224,7 @@
<newline/>
<group expand="0" string="Group By..." groups="base.group_extended">
<filter string="Responsible" icon="terp-personal"
domain="[]" context="{'group_by':'assigned_to'}" />
domain="[]" context="{'group_by':'user_id'}" />
<filter string="Partner" icon="terp-partner" domain="[]"
context="{'group_by':'partner_id'}" />
<separator orientation="vertical"/>
@ -256,7 +255,7 @@
<field name="type">calendar</field>
<field name="priority" eval="2"/>
<field name="arch" type="xml">
<calendar string="Issues" date_start="date" color="assigned_to" date_delay="duration">
<calendar string="Issues" date_start="date" color="user_id" date_delay="duration">
<field name="name"/>
<field name="partner_id"/>
</calendar>
@ -281,7 +280,7 @@
<button name="prev_type" string="Previous" type="object" icon="gtk-go-back" help="Change to Previous Stage"/>
<button name="next_type" string="Next" type="object" icon="gtk-go-forward" help="Change to Next Stage"/>
<field name="version_id"/>
<field name="assigned_to"/>
<field name="user_id"/>
<field name="state"/>
<button name="case_cancel" string="Cancel" states="draft,open,pending" type="object" icon="gtk-cancel"/>
<button name="case_close" string="Done" states="open,draft,pending" type="object" icon="gtk-jump-to"/>
@ -304,7 +303,7 @@
<separator orientation="vertical"/>
<group>
<field name="name" select='1' string="Feature description"/>
<field name="assigned_to" select="1"/>
<field name="user_id" select="1"/>
<field name="state" select="1">
<filter icon="terp-check" domain="[('state','in',('open','draft'))]" help="Current Features" name="current_feature"/>
<filter icon="terp-camera_test" domain="[('state','=','open')]" help="Open Features"/>

View File

@ -37,7 +37,6 @@ class project_issue_report(osv.osv):
_columns = {
'name': fields.char('Year', size=64, required=False, readonly=True),
'user_id':fields.many2one('res.users', 'Responsible', readonly=True),
'section_id':fields.many2one('crm.case.section', 'Sale Team', readonly=True),
'state': fields.selection(AVAILABLE_STATES, 'State', size=16, readonly=True),
'month':fields.selection([('01', 'January'), ('02', 'February'), \
@ -64,7 +63,7 @@ class project_issue_report(osv.osv):
'priority': fields.selection(crm.AVAILABLE_PRIORITIES, 'Priority'),
'project_id':fields.many2one('project.project', 'Project',readonly=True),
'version_id': fields.many2one('project.issue.version', 'Version'),
'assigned_to' : fields.many2one('res.users', 'Assigned to',readonly=True),
'user_id' : fields.many2one('res.users', 'Assigned to',readonly=True),
'partner_id': fields.many2one('res.partner','Partner',domain="[('object_id.model', '=', 'project.issue')]"),
'channel_id': fields.many2one('crm.case.channel', 'Channel',readonly=True),
'task_id': fields.many2one('project.task', 'Task',domain="[('object_id.model', '=', 'project.issue')]" ),
@ -95,7 +94,6 @@ class project_issue_report(osv.osv):
c.project_id as project_id,
c.version_id as version_id,
1 as nbr,
c.assigned_to,
c.partner_id,
c.channel_id,
c.task_id,

View File

@ -20,8 +20,7 @@
<field name="categ_id" invisible="1"/>
<field name="channel_id" invisible="1"/>
<field name="partner_id" invisible="1"/>
<field name="task_id" invisible="1"/>
<field name="assigned_to" invisible="1"/>
<field name="task_id" invisible="1"/>
<field name="date_closed" invisible="1"/>
<field name="state" invisible="1"/>
<field name="day" invisible="1"/>
@ -89,31 +88,14 @@
</field>
<field name="project_id"/>
<field name="user_id" select="1" widget="selection"/>
<field name="user_id" select="1" widget="selection" filter_domain="[('user_id','ilike',self)]"/>
<field name="partner_id"/>
<field name="version_id" widget="selection" />
</group>
<newline/>
<group expand="0" string="Extended Filters..." colspan="10" col="12" groups="base.group_extended">
<field name="partner_id"/>
<field name="assigned_to" widget="selection"/>
<separator orientation="vertical"/>
<field name="priority" />
<separator orientation="vertical"/>
<field name="version_id" widget="selection" />
<field name="categ_id" widget="selection" domain="[('object_id.model', '=', 'project.issue')]"/>
<field name="type_id" widget="selection"/>
<separator orientation="vertical"/>
<field name="company_id" widget="selection" groups="base.group_multi_company"/>
<newline/>
<field name="creation_date"/>
<field name="opening_date"/>
<field name="date_closed" string="Date Closed"/>
</group>
<newline/>
<group expand="1" string="Group By..." colspan="4" col="8">
<filter name="User" string="Responsible" icon="terp-personal"
domain="[]" context="{'group_by':'user_id'}" />
<group expand="1" string="Group By..." colspan="4" col="8">
<filter string="Assigned to" name="Responsible" icon="terp-personal"
domain="[]" context="{'group_by':'assigned_to'}" />
domain="[]" context="{'group_by':'user_id'}" />
<filter string="Partner" icon="terp-partner" context="{'group_by':'partner_id'}" />
<separator orientation="vertical" />
<filter string="Sale Team" icon="terp-personal+"

View File

@ -18,7 +18,7 @@
</xpath>
<notebook colspan="4">
<page string="Worklogs">
<field name="timesheet_ids" colspan="4" nolabel="1" context="{'default_user_id' : assigned_to, 'default_account_id' : analytic_account_id}">
<field name="timesheet_ids" colspan="4" nolabel="1" context="{'default_user_id' : user_id, 'default_account_id' : analytic_account_id}">
<tree editable="top" string="Timesheet">
<field name="name"/>
<field name="unit_amount" on_change="on_change_unit_amount(product_id, unit_amount, False, product_uom_id,journal_id)" widget="float_time"/>

View File

@ -188,7 +188,7 @@ class purchase_order(osv.osv):
'shipped_rate': fields.function(_shipped_rate, string='Received', type='float'),
'invoiced': fields.function(_invoiced, string='Invoiced & Paid', type='boolean', help="It indicates that an invoice has been paid"),
'invoiced_rate': fields.function(_invoiced_rate, string='Invoiced', type='float'),
'invoice_method': fields.selection([('manual','Manual'),('order','From Order'),('picking','From Reception')], 'Invoicing Control', required=True,
'invoice_method': fields.selection([('manual','From PO/PO lines'),('order','Draft invoices pre-generated'),('picking','From receptions')], 'Invoicing Control', required=True,
help="From Order: a draft invoice will be generated based on the purchase order. The accountant " \
"will just have to validate this invoice for control.\n" \
"From Reception: a draft invoice will be generated based on validated receptions.\n" \
@ -612,6 +612,14 @@ class purchase_order_line(osv.osv):
res[line.id] = cur_obj.round(cr, uid, cur, taxes['total'])
return res
def _get_uom_id(self, cr, uid, context=None):
try:
proxy = self.pool.get('ir.model.data')
result = proxy.get_object_reference(cr, uid, 'product', 'product_uom_unit')
return result[1]
except Exception, ex:
return False
_columns = {
'name': fields.char('Description', size=256, required=True),
'product_qty': fields.float('Quantity', required=True, digits=(16,2)),
@ -639,6 +647,7 @@ class purchase_order_line(osv.osv):
}
_defaults = {
'product_uom' : _get_uom_id,
'product_qty': lambda *a: 1.0,
'state': lambda *args: 'draft',
'invoiced': lambda *a: 0,

View File

@ -70,11 +70,11 @@
domain="[('state','=','assigned')]" help="Incoming Shipments Available"/>
<filter icon="terp-dialog-close" name="done" string="Done"
domain="[('state','=','done')]" help="Incoming Shipments already processed"/>
<filter string="To invoice" name="to_invoice" icon="terp-dolar"
domain="[('invoice_state', '=', '2binvoiced')]"/>
<separator orientation="vertical"/>
<filter icon="terp-accessories-archiver-minus" string="Back Orders"
domain="[('backorder_id', '!=', False)]" help="Is a Back Order" groups="base.group_extended"/>
<filter string="To invoice" name="to_invoice" icon="terp-dolar"
domain="[('invoice_state', '=', '2binvoiced')]"/>
<separator orientation="vertical"/>
<field name="name"/>
<field name="partner_id"/>
@ -103,13 +103,13 @@
</record>
<record id="action_picking_tree4_picking_to_invoice" model="ir.actions.act_window">
<field name="name">Pickings to Invoice</field>
<field name="name">On Incoming Shipments</field>
<field name="res_model">stock.picking</field>
<field name="type">ir.actions.act_window</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form,calendar</field>
<field name="domain">[('type','=','in')]</field>
<field name="context">{'search_default_done':1,'search_default_to_invoice':1}</field>
<field name="context">{'contact_display': 'partner_address',"search_default_available":1}</field>
<field name="search_view_id" ref="view_picking_in_search_picking_to_invoice"/>
<field name="help">Create invoice from reception of products. If you selected this invoice control method in the purchase order, all receptions done are available here to be invoiced.</field>
</record>

View File

@ -98,7 +98,7 @@
from tools.translate import _
pur_id1=self.browse(cr, uid, ref("purchase_order_po1"))
account_obj = self.pool.get('account.invoice')
ids = account_obj.search(cr, uid, [('origin', '=', 'PO-'+str(pur_id1.id))])
ids = account_obj.search(cr, uid, [('origin', '=', pur_id1.name)])
assert ids, _('Pending Invoice is not created!')
-
I check that the order which was initially in the confirmed state has transit to approved state.

View File

@ -98,7 +98,7 @@
from tools.translate import _
pur_id1=self.browse(cr, uid, ref("purchase_order_po2"))
account_obj = self.pool.get('account.invoice')
ids = account_obj.search(cr, uid, [('origin', '=', 'PO-'+str(pur_id1.id))])
ids = account_obj.search(cr, uid, [('origin', '=', pur_id1.name)])
assert ids, _('Pending Invoice is not created!')
-
I check that the order which was initially in the confirmed state has transit to approved state.

View File

@ -55,18 +55,6 @@ class purchase_line_invoice(osv.osv_memory):
invoice_line_obj=self.pool.get('account.invoice.line')
account_jrnl_obj=self.pool.get('account.journal')
def multiple_order_invoice_name(orders):
name = "PO";
for order in orders:
name += "-%d" % order.id
return name
def multiple_order_invoice_reference(partner, orders):
reference = "P%dPO" % partner.id
for order in orders:
reference += "-%d" % order.id
return reference
def multiple_order_invoice_notes(orders):
notes = ""
for order in orders:
@ -82,6 +70,7 @@ class purchase_line_invoice(osv.osv_memory):
@param orders : The set of orders to add in the invoice
@param lines : The list of line's id
"""
name = orders and orders[0].name or ''
journal_id = account_jrnl_obj.search(cr, uid, [('type', '=', 'purchase')], context=None)
journal_id = journal_id and journal_id[0] or False
a = partner.property_account_payable.id
@ -90,11 +79,11 @@ class purchase_line_invoice(osv.osv_memory):
else:
pay_term = False
inv = {
'name': multiple_order_invoice_name(orders),
'origin': multiple_order_invoice_name(orders),
'name': name,
'origin': name,
'type': 'in_invoice',
'journal_id':journal_id,
'reference': multiple_order_invoice_reference(partner, orders),
'reference' : partner.ref,
'account_id': a,
'partner_id': partner.id,
'address_invoice_id': orders[0].partner_address_id.id,

View File

@ -666,7 +666,7 @@ class sale_order(osv.osv):
picking_id = False
for line in order.order_line:
proc_id = False
date_planned = datetime.now() + relativedelta(days=line.delay or 0.0)
date_planned = datetime.strptime(order.date_order, '%Y-%m-%d') + relativedelta(days=line.delay or 0.0)
date_planned = (date_planned - timedelta(days=company.security_lead)).strftime('%Y-%m-%d %H:%M:%S')
if line.state == 'done':
@ -838,6 +838,14 @@ class sale_order_line(osv.osv):
res[line.id] = 1
return res
def _get_uom_id(self, cr, uid, *args):
try:
proxy = self.pool.get('ir.model.data')
result = proxy.get_object_reference(cr, uid, 'product', 'product_uom_unit')
return result[1]
except Exception, ex:
return False
_name = 'sale.order.line'
_description = 'Sales Order Line'
_columns = {
@ -877,6 +885,7 @@ class sale_order_line(osv.osv):
}
_order = 'sequence, id'
_defaults = {
'product_uom' : _get_uom_id,
'discount': 0.0,
'delay': 0.0,
'product_uom_qty': 1,

View File

@ -116,9 +116,13 @@ class stock_picking(osv.osv):
def action_invoice_create(self, cursor, user, ids, journal_id=False,
group=False, type='out_invoice', context=None):
if context is None:
context = {}
invoice_obj = self.pool.get('account.invoice')
picking_obj = self.pool.get('stock.picking')
invoice_line_obj = self.pool.get('account.invoice.line')
fiscal_position_obj = self.pool.get('account.fiscal.position')
order_line_obj = self.pool.get('sale.order.line')
result = super(stock_picking, self).action_invoice_create(cursor, user,
ids, journal_id=journal_id, group=group, type=type,
@ -144,6 +148,8 @@ class stock_picking(osv.osv):
invoice_obj.write(cursor, user, [invoice_created.id], {'name': inv_name}, context=context)
for sale_line in sale_lines:
if sale_line.product_id.type == 'service' and sale_line.invoiced == False:
if not type:
type = context.get('inv_type', False)
if group:
name = picking.name + '-' + sale_line.name
else:
@ -168,7 +174,7 @@ class stock_picking(osv.osv):
account_analytic_id = self._get_account_analytic_invoice(cursor,
user, picking, sale_line)
account_id = self.pool.get('account.fiscal.position').map_account(cursor, user, picking.sale_id.partner_id.property_account_position, account_id)
account_id = fiscal_position_obj.map_account(cursor, user, picking.sale_id.partner_id.property_account_position, account_id)
invoice = invoices[result[picking.id]]
invoice_line_id = invoice_line_obj.create(cursor, user, {
'name': name,
@ -183,7 +189,7 @@ class stock_picking(osv.osv):
'account_analytic_id': account_analytic_id,
'notes':sale_line.notes
}, context=context)
self.pool.get('sale.order.line').write(cursor, user, [sale_line.id], {'invoiced': True,
order_line_obj.write(cursor, user, [sale_line.id], {'invoiced': True,
'invoice_lines': [(6, 0, [invoice_line_id])],
})
return result

View File

@ -211,7 +211,7 @@ class share_wizard(osv.osv_memory):
del new_context[key]
dataobj = self.pool.get('ir.model.data')
menu_id = dataobj._get_id(cr, uid, 'base', 'menu_administration_shortcut', new_context)
menu_id = dataobj._get_id(cr, uid, 'base', 'menu_administration_shortcut')
shortcut_menu_id = int(dataobj.read(cr, uid, menu_id, ['res_id'], new_context)['res_id'])
action_id = self.pool.get('ir.actions.act_window').create(cr, UID_ROOT, values, new_context)
menu_data = {'name': values['name'],

View File

@ -167,7 +167,7 @@ class stock_location(osv.osv):
\n* Production: Virtual counterpart location for production operations: this location consumes the raw material and produces finished products
""", select = True),
# temporarily removed, as it's unused: 'allocation_method': fields.selection([('fifo', 'FIFO'), ('lifo', 'LIFO'), ('nearest', 'Nearest')], 'Allocation Method', required=True),
'complete_name': fields.function(_complete_name, type='char', size=100, string="Location Name"),
'complete_name': fields.function(_complete_name, type='char', size=100, string="Location Name", store=True),
'stock_real': fields.function(_product_value, type='float', string='Real Stock', multi="stock"),
'stock_virtual': fields.function(_product_value, type='float', string='Virtual Stock', multi="stock"),

View File

@ -558,6 +558,7 @@
string="Supplier" domain="[('usage', '=', 'supplier')]" help="Supplier Locations" />
<separator orientation="vertical"/>
<field name="name"/>
<field name="location_id" string="Parent Location"/>
</search>
</field>
</record>
@ -698,6 +699,7 @@
<field name="name" readonly="1"/>
<field name="origin"/>
<field name="address_id" on_change="onchange_partner_in(address_id)" context="{'contact_display':'partner'}" colspan="4"/>
<field name="invoice_state" string="Invoice Control" groups="base.group_extended"/>
<field name="backorder_id" readonly="1" groups="base.group_extended"/>
</group>
<group colspan="2" col="2">
@ -708,7 +710,7 @@
</group>
<notebook colspan="4">
<page string="Products">
<field colspan="4" name="move_lines" nolabel="1" widget="one2many_list" default_get="{'move_line':move_lines}">
<field colspan="4" name="move_lines" nolabel="1" widget="one2many_list" default_get="{'move_line':move_lines, 'address_in_id': address_id}">
<tree colors="grey:scrapped == True" string="Stock Moves">
<field name="product_id"/>
<field name="product_qty" on_change="onchange_quantity(product_id, product_qty, product_uom, product_uos)"/>
@ -737,7 +739,6 @@
groups="base.group_extended"
icon="terp-stock_effects-object-colorize"
states="draft,assigned,confirmed"/>
<field name="location_id"/>
<field name="location_dest_id"/>
<field name="date_expected" string="Date Expected"/>
<field name="state"/>
@ -760,7 +761,7 @@
<group colspan="2" col="2">
<separator string="Locations" colspan="2" />
<field name="location_id" domain="[('usage','=','internal')]" />
<field name="location_id" domain="[('usage','&lt;&gt;','view')]" />
<field name="location_dest_id" domain="[('usage','=','internal')]" />
</group>
@ -810,7 +811,6 @@
</page>
<page string="Additional info" groups="base.group_extended,base.group_multi_company">
<field name="auto_picking" groups="base.group_extended"/>
<field name="invoice_state" groups="base.group_extended"/>
<field name="date_done" groups="base.group_extended"/>
<field name="move_type" groups="base.group_extended"/>
<field name="type" groups="base.group_extended"/>
@ -1112,7 +1112,7 @@
<group colspan="4" col="4">
<field name="name" readonly="1"/>
<field name="origin"/>
<field name="address_id" on_change="onchange_partner_in(address_id)" context="{'contact_display':'partner'}" colspan="4"/>
<field name="address_id" on_change="onchange_partner_in(address_id)" context="{'contact_display':'partner'}" domain="[('partner_id','&lt;&gt;',False)]" colspan="4"/>
<field name="invoice_state" string="Invoice Control"/>
<field name="backorder_id" readonly="1" groups="base.group_extended"/>
</group>
@ -1573,7 +1573,7 @@
<field name="date"/>
<field name="state"/>
<button name="action_assign" states="confirmed" string="Set Available" type="object" icon="gtk-yes"/>
<button name="%(action_partial_move_server)d" string="Process" type="action" states="confirmed,assigned" icon="gtk-go-forward"/>
<button name="action_done" string="Process" type="object" states="confirmed,assigned" icon="gtk-go-forward"/>
</tree>
</field>
</record>

View File

@ -25,6 +25,12 @@ from tools.translate import _
class stock_invoice_onshipping(osv.osv_memory):
def _get_journal(self, cr, uid, context=None):
res = self._get_journal_id(cr, uid, context=context)
if res:
return res[0]
return False
def _get_journal_id(self, cr, uid, context=None):
if context is None:
context = {}
@ -61,7 +67,6 @@ class stock_invoice_onshipping(osv.osv_memory):
vals.append(t1)
return vals
_name = "stock.invoice.onshipping"
_description = "Stock Invoice Onshipping"
@ -70,7 +75,11 @@ class stock_invoice_onshipping(osv.osv_memory):
'group': fields.boolean("Group by partner"),
'invoice_date': fields.date('Invoiced date'),
}
_defaults = {
'journal_id' : _get_journal,
}
def view_init(self, cr, uid, fields_list, context=None):
if context is None:
context = {}

View File

@ -32,6 +32,8 @@ class stock_partial_move_memory_out(osv.osv_memory):
'quantity' : fields.float("Quantity", required=True),
'product_uom': fields.many2one('product.uom', 'Unit of Measure', required=True),
'prodlot_id' : fields.many2one('stock.production.lot', 'Production Lot'),
'location_id': fields.many2one('stock.location', 'Location', required=True),
'location_dest_id': fields.many2one('stock.location', 'Dest. Location', required=True),
'move_id' : fields.many2one('stock.move', "Move"),
'wizard_id' : fields.many2one('stock.partial.move', string="Wizard"),
'cost' : fields.float("Cost", help="Unit Cost for this product line"),
@ -202,7 +204,7 @@ class stock_partial_move(osv.osv_memory):
if not p_moves.get(move.id):
continue
partial_datas['move%s' % (move.id)] = {
'product_id' : p_moves[move.id].id,
'product_id' : p_moves[move.id].product_id.id,
'product_qty' : p_moves[move.id].quantity,
'product_uom' :p_moves[move.id].product_uom.id,
'prodlot_id' : p_moves[move.id].prodlot_id.id,

View File

@ -30,6 +30,8 @@
<field name="product_id" />
<field name="quantity" />
<field name="product_uom" />
<field name="location_id" />
<field name="location_dest_id" />
<field name="prodlot_id" domain="[('product_id', '=', product_id)]" groups="base.group_extended" />
<field name="cost" />
<field name="currency" />
@ -46,6 +48,8 @@
<field name="product_id" />
<field name="quantity" />
<field name="product_uom" />
<field name="location_id" />
<field name="location_dest_id" />
<field name="prodlot_id" domain="[('product_id', '=', product_id)]" groups="base.group_extended" />
<field name="cost" />
<field name="currency" />
@ -62,6 +66,8 @@
<field name="product_id" />
<field name="quantity" />
<field name="product_uom" />
<field name="location_id" />
<field name="location_dest_id" />
<field name="prodlot_id" domain="[('product_id', '=', product_id)]" groups="base.group_extended" />
</tree>
</field>
@ -76,6 +82,8 @@
<field name="product_id" />
<field name="quantity" />
<field name="product_uom" />
<field name="location_id" />
<field name="location_dest_id" />
<field name="prodlot_id" domain="[('product_id', '=', product_id)]" groups="base.group_extended" />
</form>
</field>

View File

@ -122,7 +122,9 @@ class stock_partial_picking(osv.osv_memory):
'quantity' : picking.product_qty,
'product_uom' : picking.product_uom.id,
'prodlot_id' : picking.prodlot_id.id,
'move_id' : picking.id,
'move_id' : picking.id,
'location_id' : picking.location_id.id,
'location_dest_id' : picking.location_dest_id.id,
}
if pick_type == 'in':
@ -142,20 +144,33 @@ class stock_partial_picking(osv.osv_memory):
@return: A dictionary which of fields with values.
"""
pick_obj = self.pool.get('stock.picking')
stock_move_obj = self.pool.get('stock.move')
picking_ids = context.get('active_ids', False)
partial = self.browse(cr, uid, ids[0], context=context)
partial_datas = {
'delivery_date' : partial.date
}
for pick in pick_obj.browse(cr, uid, picking_ids, context=context):
picking_type = self.get_picking_type(cr, uid, pick, context=context)
moves_list = picking_type == 'in' and partial.product_moves_in or partial.product_moves_out
for move in moves_list:
partial_datas['move%s' % (move.move_id.id)] = {
'product_id': move.id,
if not move.move_id.id:
seq_obj_name = 'stock.picking.' + picking_type
move_id = stock_move_obj.create(cr,uid,{'name' : self.pool.get('ir.sequence').get(cr, uid, seq_obj_name),
'product_id': move.product_id.id,
'product_qty': move.quantity,
'product_uom': move.product_uom.id,
'prodlot_id': move.prodlot_id.id,
'location_id' : move.location_id.id,
'location_dest_id' : move.location_dest_id.id,
'picking_id': pick.id
},context=context)
stock_move_obj.action_done(cr, uid, [move_id], context)
else:
move_id = move.move_id.id
partial_datas['move%s' % (move_id)] = {
'product_id': move.product_id.id,
'product_qty': move.quantity,
'product_uom': move.product_uom.id,
'prodlot_id': move.prodlot_id.id,