* translation of nearly all exceptions

* the export of translations per module take only the files of these modules

bzr revid: chs@tinyerp.com-77721e34d87043c4008239f004c7c616f6d4dc82
This commit is contained in:
Christophe Simonis 2008-07-08 08:13:12 +00:00
parent 0b1dfd702f
commit 1f43329f0e
37 changed files with 201 additions and 168 deletions

View File

@ -32,6 +32,7 @@ import netsvc
from osv import fields, osv
from tools.misc import currency
from tools.translate import _
import mx.DateTime
from mx.DateTime import RelativeDateTime, now, DateTime, localtime
@ -484,7 +485,7 @@ class account_fiscalyear(osv.osv):
ids = self.search(cr, uid, [('date_start', '<=', dt), ('date_stop', '>=', dt)])
if not ids:
if exception:
raise osv.except_osv('Error !', 'No fiscal year defined for this date !\nPlease create one.')
raise osv.except_osv(_('Error !'), _('No fiscal year defined for this date !\nPlease create one.'))
else:
return False
return ids[0]
@ -517,7 +518,7 @@ class account_period(osv.osv):
#CHECKME: shouldn't we check the state of the period?
ids = self.search(cr, uid, [('date_start','<=',dt),('date_stop','>=',dt)])
if not ids:
raise osv.except_osv('Error !', 'No period defined for this date !\nPlease create a fiscal year.')
raise osv.except_osv(_('Error !'), _('No period defined for this date !\nPlease create a fiscal year.'))
return ids
account_period()
@ -549,7 +550,7 @@ class account_journal_period(osv.osv):
cr.execute('select * from account_move_line where journal_id=%d and period_id=%d limit 1', (obj.journal_id.id, obj.period_id.id))
res = cr.fetchall()
if res:
raise osv.except_osv('Error !', 'You can not modify/delete a journal with entries for this period !')
raise osv.except_osv(_('Error !'), _('You can not modify/delete a journal with entries for this period !'))
return True
def write(self, cr, uid, ids, vals, context={}):
@ -656,7 +657,7 @@ class account_move(osv.osv):
if self.validate(cr, uid, ids, context) and len(ids):
cr.execute('update account_move set state=%s where id in ('+','.join(map(str,ids))+')', ('posted',))
else:
raise osv.except_osv('Integrity Error !', 'You can not validate a non balanced entry !')
raise osv.except_osv(_('Integrity Error !'), _('You can not validate a non balanced entry !'))
return True
def button_validate(self, cursor, user, ids, context=None):
@ -665,7 +666,7 @@ class account_move(osv.osv):
def button_cancel(self, cr, uid, ids, context={}):
for line in self.browse(cr, uid, ids, context):
if not line.journal_id.update_posted:
raise osv.except_osv('Error !', 'You can not modify a posted entry of this journal !')
raise osv.except_osv(_('Error !'), _('You can not modify a posted entry of this journal !'))
if len(ids):
cr.execute('update account_move set state=%s where id in ('+','.join(map(str,ids))+')', ('draft',))
return True
@ -704,7 +705,7 @@ class account_move(osv.osv):
if journal.sequence_id:
vals['name'] = self.pool.get('ir.sequence').get_id(cr, uid, journal.sequence_id.id)
else:
raise osv.except_osv('Error', 'No sequence defined in the journal !')
raise osv.except_osv(_('Error'), _('No sequence defined in the journal !'))
if 'line_id' in vals:
c = context.copy()
c['novalidate'] = True
@ -718,8 +719,8 @@ class account_move(osv.osv):
toremove = []
for move in self.browse(cr, uid, ids, context):
if move['state'] <> 'draft':
raise osv.except_osv('UserError',
'You can not delete posted movement: "%s"!' % \
raise osv.except_osv(_('UserError'),
_('You can not delete posted movement: "%s"!') % \
move['name'])
line_ids = map(lambda x: x.id, move.line_id)
context['journal_id'] = move.journal_id.id
@ -741,16 +742,16 @@ class account_move(osv.osv):
account_id = move.journal_id.default_debit_account_id.id
mode2 = 'debit'
if not account_id:
raise osv.except_osv('UserError',
'There is no default default debit account defined \n' \
'on journal "%s"' % move.journal_id.name)
raise osv.except_osv(_('UserError'),
_('There is no default default debit account defined \n' \
'on journal "%s"') % move.journal_id.name)
else:
account_id = move.journal_id.default_credit_account_id.id
mode2 = 'credit'
if not account_id:
raise osv.except_osv('UserError',
'There is no default default credit account defined \n' \
'on journal "%s"' % move.journal_id.name)
raise osv.except_osv(_('UserError'),
_('There is no default default credit account defined \n' \
'on journal "%s"') % move.journal_id.name)
# find the first line of this move with the current mode
# or create it if it doesn't exist
@ -805,11 +806,11 @@ class account_move(osv.osv):
if not company_id:
company_id = line.account_id.company_id.id
if not company_id == line.account_id.company_id.id:
raise osv.except_osv('Error', 'Couldn\'t create move between different companies')
raise osv.except_osv(_('Error'), _('Couldn\'t create move between different companies'))
if line.account_id.currency_id:
if line.account_id.currency_id.id != line.currency_id.id and (line.account_id.currency_id.id != line.account_id.company_id.currency_id.id or line.currency_id):
raise osv.except_osv('Error', 'Couldn\'t create move with currency different than the secondary currency of the account')
raise osv.except_osv(_('Error'), _('Couldn\'t create move with currency different than the secondary currency of the account'))
if abs(amount) < 0.0001:
if not len(line_draft_ids):
@ -1372,7 +1373,7 @@ class account_model(osv.osv):
for model in self.browse(cr, uid, ids, context):
period_id = self.pool.get('account.period').find(cr,uid, context=context)
if not period_id:
raise osv.except_osv('No period found !', 'Unable to find a valid period !')
raise osv.except_osv(_('No period found !'), _('Unable to find a valid period !'))
period_id = period_id[0]
name = model.name
if model.journal_id.sequence_id:

View File

@ -32,6 +32,7 @@ import time
from osv import fields
from osv import osv
from tools.translate import _
class account_analytic_line(osv.osv):
_name = 'account.analytic.line'
@ -75,9 +76,9 @@ class account_analytic_line(osv.osv):
if not a:
a = prod.categ_id.property_account_expense_categ.id
if not a:
raise osv.except_osv('Error !',
'There is no expense account define ' \
'for this product: "%s" (id:%d)' % \
raise osv.except_osv(_('Error !'),
_('There is no expense account define ' \
'for this product: "%s" (id:%d)') % \
(prod.name, prod.id,))
amount = unit_amount * uom_obj._compute_price(cr, uid,
prod.uom_id.id, prod.standard_price, unit)

View File

@ -32,6 +32,7 @@ import netsvc
from osv import fields, osv
from tools.misc import currency
from tools.translate import _
import mx.DateTime
from mx.DateTime import RelativeDateTime, now, DateTime, localtime
@ -165,18 +166,18 @@ class account_bank_statement(osv.osv):
continue
if not (abs(st.balance_end - st.balance_end_real) < 0.0001):
raise osv.except_osv('Error !',
'The statement balance is incorrect !\n'
'Check that the ending balance equals the computed one.')
raise osv.except_osv(_('Error !'),
_('The statement balance is incorrect !\n'
'Check that the ending balance equals the computed one.'))
if (not st.journal_id.default_credit_account_id) \
or (not st.journal_id.default_debit_account_id):
raise osv.except_osv('Configration Error !',
'Please verify that an account is defined in the journal.')
raise osv.except_osv(_('Configration Error !'),
_('Please verify that an account is defined in the journal.'))
for line in st.move_line_ids:
if line.state <> 'valid':
raise osv.except_osv('Error !',
'The account entries lines are not valid.')
raise osv.except_osv(_('Error !'),
_('The account entries lines are not valid.'))
for move in st.line_ids:
move_id = account_move_obj.create(cr, uid, {
@ -275,8 +276,8 @@ class account_bank_statement(osv.osv):
context=context).line_id],
context=context):
if line.state <> 'valid':
raise osv.except_osv('Error !',
'Account move line "%s" is not valid' % line.name)
raise osv.except_osv(_('Error !'),
_('Account move line "%s" is not valid') % line.name)
if move.reconcile_id and move.reconcile_id.line_ids:
torec += map(lambda x: x.id, move.reconcile_id.line_ids)
@ -286,7 +287,7 @@ class account_bank_statement(osv.osv):
else:
account_move_line_obj.reconcile_partial(cr, uid, torec, 'statement', context)
except:
raise osv.except_osv('Error !', 'Unable to reconcile entry "%s": %.2f'%(move.name, move.amount))
raise osv.except_osv(_('Error !'), _('Unable to reconcile entry "%s": %.2f') % (move.name, move.amount))
done.append(st.id)
self.write(cr, uid, done, {'state':'confirm'}, context=context)

View File

@ -31,7 +31,7 @@
import time
import netsvc
from osv import fields, osv
from tools.translate import _
class account_move_line(osv.osv):
_name = "account.move.line"
@ -431,7 +431,7 @@ class account_move_line(osv.osv):
merges_rec = []
for line in self.browse(cr, uid, ids, context):
if line.reconcile_id:
raise 'Already Reconciled'
raise _('Already Reconciled')
if line.reconcile_partial_id:
for line2 in line.reconcile_partial_id.line_partial_ids:
if not line2.reconcile_id:
@ -460,8 +460,8 @@ class account_move_line(osv.osv):
partner_id = False
for line in unrec_lines:
if line.state <> 'valid':
raise osv.except_osv('Error',
'Entry "%s" is not valid !' % line.name)
raise osv.except_osv(_('Error'),
_('Entry "%s" is not valid !') % line.name)
credit += line['credit']
debit += line['debit']
currency += line['amount_currency'] or 0.0
@ -477,17 +477,17 @@ class account_move_line(osv.osv):
r = cr.fetchall()
#TODO: move this check to a constraint in the account_move_reconcile object
if len(r) != 1:
raise osv.except_osv('Error', 'Entries are not of the same account or already reconciled ! ')
raise osv.except_osv(_('Error'), _('Entries are not of the same account or already reconciled ! '))
account = self.pool.get('account.account').browse(cr, uid, account_id, context=context)
if not account.reconcile:
raise osv.except_osv('Error', 'The account is not defined to be reconcile !')
raise osv.except_osv(_('Error'), _('The account is not defined to be reconcile !'))
if r[0][1] != None:
raise osv.except_osv('Error', 'Some entries are already reconciled !')
raise osv.except_osv(_('Error'), _('Some entries are already reconciled !'))
if (not self.pool.get('res.currency').is_zero(cr, uid, account.company_id.currency_id, writeoff)) or \
(account.currency_id and (not self.pool.get('res.currency').is_zero(cr, uid, account.currency_id, currency))):
if not writeoff_acc_id:
raise osv.except_osv('Warning', 'You have to provide an account for the write off entry !')
raise osv.except_osv(_('Warning'), _('You have to provide an account for the write off entry !'))
if writeoff > 0:
debit = writeoff
credit = 0.0
@ -629,7 +629,7 @@ class account_move_line(osv.osv):
account_obj = self.pool.get('account.account')
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!')
raise osv.except_osv(_('Bad account!'), _('You can not use an inactive account!'))
if update_check:
if ('account_id' in vals) or ('journal_id' in vals) or ('period_id' in vals) or ('move_id' in vals) or ('debit' in vals) or ('credit' in vals) or ('date' in vals):
self._update_check(cr, uid, ids, context)
@ -647,7 +647,7 @@ class account_move_line(osv.osv):
result = cr.fetchall()
for (state,) in result:
if state=='done':
raise osv.except_osv('Error !', 'You can not add/modify entries in a closed journal.')
raise osv.except_osv(_('Error !'), _('You can not add/modify entries in a closed journal.'))
if not result:
journal = self.pool.get('account.journal').browse(cr, uid, journal_id, context)
period = self.pool.get('account.period').browse(cr, uid, period_id, context)
@ -662,9 +662,9 @@ class account_move_line(osv.osv):
done = {}
for line in self.browse(cr, uid, ids, context):
if line.move_id.state<>'draft':
raise osv.except_osv('Error !', 'You can not do this modification on a confirmed entry ! Please note that you can just change some non important fields !')
raise osv.except_osv(_('Error !'), _('You can not do this modification on a confirmed entry ! Please note that you can just change some non important fields !'))
if line.reconcile_id:
raise osv.except_osv('Error !', 'You can not do this modification on a reconciled entry ! Please note that you can just change some non important fields !')
raise osv.except_osv(_('Error !'), _('You can not do this modification on a reconciled entry ! Please note that you can just change some non important fields !'))
t = (line.journal_id.id, line.period_id.id)
if t not in done:
self._update_journal_check(cr, uid, line.journal_id.id, line.period_id.id, context)
@ -677,7 +677,7 @@ class account_move_line(osv.osv):
account_obj = self.pool.get('account.account')
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!')
raise osv.except_osv(_('Bad account!'), _('You can not use an inactive account!'))
if 'journal_id' in vals and 'journal_id' not in context:
context['journal_id'] = vals['journal_id']
if 'period_id' in vals and 'period_id' not in context:
@ -696,9 +696,9 @@ class account_move_line(osv.osv):
res = cr.fetchone()
if res:
if res[1] != 'draft':
raise osv.except_osv('UserError',
'The account move (%s) for centralisation ' \
'has been confirmed!' % res[2])
raise osv.except_osv(_('UserError'),
_('The account move (%s) for centralisation ' \
'has been confirmed!') % res[2])
vals['move_id'] = res[0]
if not vals.get('move_id', False):
@ -712,7 +712,7 @@ class account_move_line(osv.osv):
move_id = self.pool.get('account.move').create(cr, uid, v, context)
vals['move_id'] = move_id
else:
raise osv.except_osv('No piece number !', 'Can not create an automatic sequence for this piece !\n\nPut a sequence in the journal definition for automatic numbering or create a sequence manually for this piece.')
raise osv.except_osv(_('No piece number !'), _('Can not create an automatic sequence for this piece !\n\nPut a sequence in the journal definition for automatic numbering or create a sequence manually for this piece.'))
ok = not (journal.type_control_ids or journal.account_control_ids)
if ('account_id' in vals):
@ -736,7 +736,7 @@ class account_move_line(osv.osv):
ctx['date'] = vals['date']
vals['amount_currency'] = cur_obj.compute(cr, uid, account.company_id.currency_id.id, account.currency_id.id, vals.get('debit', 0.0)-vals.get('credit', 0.0), context=ctx)
if not ok:
raise osv.except_osv('Bad account !', 'You can not use this general account in this journal !')
raise osv.except_osv(_('Bad account !'), _('You can not use this general account in this journal !'))
result = super(osv.osv, self).create(cr, uid, vals, context)
if check:
self.pool.get('account.move').validate(cr, uid, [vals['move_id']], context)

View File

@ -37,6 +37,7 @@ import mx.DateTime
from mx.DateTime import RelativeDateTime
from tools import config
from tools.translate import _
class account_invoice(osv.osv):
def _amount_untaxed(self, cr, uid, ids, name, args, context={}):
@ -82,7 +83,7 @@ class account_invoice(osv.osv):
cr.execute("select id from account_analytic_journal where type=%s limit 1", (tt,))
result = cr.fetchone()
if not result:
raise osv.except_osv('No Analytic Journal !', "You have to define an analytic journal of type '%s' !" % (tt,))
raise osv.except_osv(_('No Analytic Journal !'),("You have to define an analytic journal of type '%s' !") % (tt,))
return result[0]
def _get_type(self, cr, uid, context={}):
@ -171,7 +172,7 @@ class account_invoice(osv.osv):
if t['state'] in ('draft', 'cancel'):
unlink_ids.append(t['id'])
else:
raise osv.except_osv('Invalid action !', 'Cannot delete invoice(s) which are already opened or paid !')
raise osv.except_osv(_('Invalid action !'), _('Cannot delete invoice(s) which are already opened or paid !'))
osv.osv.unlink(self, cr, uid, unlink_ids)
return True
@ -378,7 +379,7 @@ class account_invoice(osv.osv):
if inv.move_id:
continue
if inv.type in ('in_invoice', 'in_refund') and abs(inv.check_total - inv.amount_total) >= (inv.currency_id.rounding/2.0):
raise osv.except_osv('Bad total !', 'Please verify the price of the invoice !\nThe real total does not match the computed total.')
raise osv.except_osv(_('Bad total !'), _('Please verify the price of the invoice !\nThe real total does not match the computed total.'))
company_currency = inv.company_id.currency_id.id
# create the analytical lines
line_ids = self.read(cr, uid, [inv.id], ['invoice_line'])[0]['invoice_line']
@ -398,13 +399,13 @@ class account_invoice(osv.osv):
key = (tax.tax_code_id.id, tax.base_code_id.id, tax.account_id.id)
tax_key.append(key)
if not key in compute_taxes:
raise osv.except_osv('Warning !', 'Global taxes defined, but not in invoice lines !')
raise osv.except_osv(_('Warning !'), _('Global taxes defined, but not in invoice lines !'))
base = compute_taxes[key]['base']
if abs(base - tax.base) > inv.company_id.currency_id.rounding:
raise osv.except_osv('Warning !', 'Tax base different !\nClick on compute to update tax base')
raise osv.except_osv(_('Warning !'), _('Tax base different !\nClick on compute to update tax base'))
for key in compute_taxes:
if not key in tax_key:
raise osv.except_osv('Warning !', 'Taxes missing !')
raise osv.except_osv(_('Warning !'), _('Taxes missing !'))
# one move line per tax line
iml += ait_obj.move_line_get(cr, uid, inv.id)
@ -494,8 +495,8 @@ class account_invoice(osv.osv):
if journal.sequence_id:
name = self.pool.get('ir.sequence').get_id(cr, uid, journal.sequence_id.id)
if journal.centralisation:
raise osv.except_osv('UserError',
'Can not create invoice move on centralized journal')
raise osv.except_osv(_('UserError'),
_('Can not create invoice move on centralized journal'))
move = {'name': name, 'line_id': line, 'journal_id': journal_id}
if inv.period_id:
@ -684,7 +685,7 @@ class account_invoice(osv.osv):
if journal.sequence_id:
name = self.pool.get('ir.sequence').get_id(cr, uid, journal.sequence_id.id)
else:
raise osv.except_osv('No piece number !', 'Can not create an automatic sequence for this piece !\n\nPut a sequence in the journal definition for automatic numbering or create a sequence manually for this piece.')
raise osv.except_osv(_('No piece number !'), _('Can not create an automatic sequence for this piece !\n\nPut a sequence in the journal definition for automatic numbering or create a sequence manually for this piece.'))
types = {'out_invoice': -1, 'in_invoice': 1, 'out_refund': 1, 'in_refund': -1}
direction = types[invoice.type]
l1 = {

View File

@ -33,6 +33,7 @@ import datetime
import pooler
from mx.DateTime import *
from tools.translate import _
_aged_trial_form = """<?xml version="1.0"?>
<form string="Aged Trial Balance">
@ -60,7 +61,7 @@ def _calc_dates(self, cr, uid, data, context):
res = {}
period_length = data['form']['period_length']
if period_length<=0:
raise wizard.except_wizard('UserError', 'You must enter a period length that cannot be 0 or below !')
raise wizard.except_wizard(_('UserError'), _('You must enter a period length that cannot be 0 or below !'))
start = now()
for i in range(5)[::-1]:
stop = start-RelativeDateTime(days=period_length)

View File

@ -28,6 +28,7 @@
##############################################################################
import wizard
from tools.translate import _
_journal_form = '''<?xml version="1.0"?>
<form string="%s">
@ -43,7 +44,7 @@ def _action_open_window(self, cr, uid, data, context):
cr.execute('select default_credit_account_id from account_journal where id=%d', (form['journal_id'],))
account_id = cr.fetchone()[0]
if not account_id:
raise Exception, 'You have to define the bank account\nin the journal definition for reconciliation.'
raise Exception, _('You have to define the bank account\nin the journal definition for reconciliation.')
return {
'domain': "[('journal_id','=',%d), ('account_id','=',%d), ('state','<>','draft')]" % (form['journal_id'],account_id),
'name': 'Saisie Standard',

View File

@ -30,6 +30,7 @@
import wizard
import osv
import pooler
from tools.translate import _
_transaction_form = '''<?xml version="1.0"?>
<form string="Close Fiscal Year">
@ -57,7 +58,7 @@ def _data_load(self, cr, uid, data, context):
def _data_save(self, cr, uid, data, context):
if not data['form']['sure']:
raise wizard.except_wizard('UserError', 'Closing of fiscal year canceled, please check the box !')
raise wizard.except_wizard(_('UserError'), _('Closing of fiscal year canceled, please check the box !'))
pool = pooler.get_pool(cr.dbname)
fy_id = data['form']['fy_id']
@ -66,17 +67,17 @@ def _data_save(self, cr, uid, data, context):
new_fyear = pool.get('account.fiscalyear').browse(cr, uid, data['form']['fy2_id'])
start_jp = new_fyear.start_journal_period_id
if not start_jp:
raise wizard.except_wizard('UserError',
'The new fiscal year should have a journal for new entries define on it')
raise wizard.except_wizard(_('UserError'),
_('The new fiscal year should have a journal for new entries define on it'))
new_journal = start_jp.journal_id
if not new_journal.default_credit_account_id or not new_journal.default_debit_account_id:
raise wizard.except_wizard('UserError',
'The journal must have default credit and debit account')
raise wizard.except_wizard(_('UserError'),
_('The journal must have default credit and debit account'))
if not new_journal.centralisation:
raise wizard.except_wizard('UserError',
'The journal must have centralised counterpart')
raise wizard.except_wizard(_('UserError'),
_('The journal must have centralised counterpart'))
query_line = pool.get('account.move.line')._query_get(cr, uid,
obj='account_move_line', context={'fiscalyear': fy_id})

View File

@ -30,6 +30,7 @@
import wizard
from osv import osv
import pooler
from tools.translate import _
_journal_form = '''<?xml version="1.0"?>
<form string="Standard entries">
@ -66,7 +67,7 @@ def _action_open_window(self, cr, uid, data, context):
name = pooler.get_pool(cr.dbname).get('account.journal').read(cr, uid, [form['journal_id']])[0]['name']
state = pooler.get_pool(cr.dbname).get('account.period').read(cr, uid, [form['period_id']])[0]['state']
if state == 'done':
raise wizard.except_wizard('UserError', 'This period is already closed !')
raise wizard.except_wizard(_('UserError'), _('This period is already closed !'))
jp.create(cr, uid, {'name':name, 'period_id': form['period_id'], 'journal_id':form['journal_id']})
ids = jp.search(cr, uid, [('journal_id','=',form['journal_id']), ('period_id','=',form['period_id'])])
jp = jp.browse(cr, uid, ids, context=context)[0]

View File

@ -29,6 +29,7 @@ import wizard
import netsvc
import pooler
from osv import fields, osv
from tools.translate import _
form = """<?xml version="1.0"?>
<form string="Choose Fiscal Year">
@ -44,10 +45,10 @@ def _remove_entries(self, cr, uid, data, context):
pool = pooler.get_pool(cr.dbname)
data_fyear = pool.get('account.fiscalyear').browse(cr,uid,data['form']['fyear_id'])
if not data_fyear.end_journal_period_id:
raise wizard.except_wizard('Error', 'No journal for ending writings have been defined for the fiscal year')
raise wizard.except_wizard(_('Error'), _('No journal for ending writings have been defined for the fiscal year'))
period_journal = data_fyear.end_journal_period_id
if not period_journal.journal_id.centralisation:
raise wizard.except_wizard('UserError', 'The journal must have centralised counterpart')
raise wizard.except_wizard(_('UserError'), _('The journal must have centralised counterpart'))
ids_move = pool.get('account.move').search(cr,uid,[('journal_id','=',period_journal.journal_id.id),('period_id','=',period_journal.period_id.id)])
pool.get('account.move').unlink(cr,uid,ids_move)
cr.execute('UPDATE account_journal_period ' \

View File

@ -31,6 +31,7 @@ import wizard
import netsvc
import pooler
import time
from tools.translate import _
pay_form = '''<?xml version="1.0"?>
<form string="Pay invoice">
@ -68,7 +69,7 @@ def _pay_and_reconcile(self, cr, uid, data, context):
acc_id = journal.default_credit_account_id and journal.default_credit_account_id.id
if not acc_id:
raise wizard.except_wizard('Error !', 'Your journal must have a default credit and debit account.')
raise wizard.except_wizard(_('Error !'), _('Your journal must have a default credit and debit account.'))
pool.get('account.invoice').pay_and_reconcile(cr, uid, [data['id']],
amount, acc_id, period_id, journal_id, writeoff_account_id,
period_id, writeoff_journal_id, context, data['form']['name'])
@ -108,7 +109,7 @@ def _get_period(self, cr, uid, data, context={}):
period_id = ids[0]
invoice = pool.get('account.invoice').browse(cr, uid, data['id'], context)
if invoice.state == 'draft':
raise wizard.except_wizard('Error !', _('Can not pay draft invoice.'))
raise wizard.except_wizard(_('Error !'), _('Can not pay draft invoice.'))
return {
'period_id': period_id,
'amount': invoice.amount_total,

View File

@ -30,6 +30,7 @@
import wizard
from osv import osv
import pooler
from tools.translate import _
_journal_form = '''<?xml version="1.0"?>
<form string="Standard entries">
@ -48,7 +49,7 @@ def _validate_move(self, cr, uid, data, context={}):
move_obj = pool.get('account.move')
ids_move = move_obj.search(cr,uid,[('state','=','draft'),('journal_id','=',data['form']['journal_id']),('period_id','=',data['form']['period_id'])])
if not ids_move:
raise wizard.except_wizard('Warning', 'Specified Journal does not have any account move entries in draft state for this period')
raise wizard.except_wizard(_('Warning'), _('Specified Journal does not have any account move entries in draft state for this period'))
res = move_obj.button_validate(cr, uid, ids_move, context)
return {}
@ -76,7 +77,7 @@ def _validate_move_lines(self, cr, uid, data, context={}):
move_ids.append(line.move_id.id)
move_ids = list(set(move_ids))
if not move_ids:
raise wizard.except_wizard('Warning', 'Selected Move lines does not have any account move enties in draft state')
raise wizard.except_wizard(_('Warning'), _('Selected Move lines does not have any account move enties in draft state'))
res = move_obj.button_validate(cr, uid, move_ids, context)
return {}

View File

@ -30,6 +30,7 @@
import operator
from osv import osv, fields
from osv.orm import ID_MAX
from tools.translate import _
class account_analytic_account(osv.osv):
@ -535,8 +536,8 @@ class account_analytic_account_summary_user(osv.osv):
','.join([str(x-((x/max_user - (x%max_user == 0 and 1 or 0)) *max_user)) for x in sub_ids]), d1,
self._order),d2)
if not cr.rowcount == len({}.fromkeys(sub_ids)):
raise except_orm('AccessError',
'You try to bypass an access rule (Document type: %s).' % self._description)
raise except_orm(_('AccessError'),
_('You try to bypass an access rule (Document type: %s).') % self._description)
else:
cr.execute('select %s from \"%s\" where id in (%s) ' \
'and account_id in (%s) ' \
@ -712,8 +713,8 @@ class account_analytic_account_summary_month(osv.osv):
','.join([str(x)[-6:] for x in sub_ids]), d1,
self._order),d2)
if not cr.rowcount == len({}.fromkeys(sub_ids)):
raise except_orm('AccessError',
'You try to bypass an access rule (Document type: %s).' % self._description)
raise except_orm(_('AccessError'),
_('You try to bypass an access rule (Document type: %s).') % self._description)
else:
cr.execute('select %s from \"%s\" where id in (%s) ' \
'and account_id in (%s) ' \

View File

@ -34,6 +34,7 @@ import time
import tools
from osv import fields, osv
from tools.translate import _
_followup_wizard_date_form = """<?xml version="1.0"?>
<form string="Select a date">
@ -227,8 +228,8 @@ class followup_all_print(wizard.interface):
fups = {}
fup_ids = pool.get('account_followup.followup').search(cr, uid, [])
if not fup_ids:
raise wizard.except_wizard('No Follow up Defined',
'You must define at least one follow up for your company !')
raise wizard.except_wizard(_('No Follow up Defined'),
_('You must define at least one follow up for your company !'))
fup_id = fup_ids[0]
current_date = datetime.date(*time.strptime(data['form']['date'],

View File

@ -35,6 +35,7 @@ import urllib
import base64
import module_zip
import tools
intro_form = '''<?xml version="1.0"?>
<form string="Module publication">
@ -240,12 +241,12 @@ def _upload(self, cr, uid, datas, context):
('module', res['module_filename'], res['module_file'])
])
if result[0] == "1":
raise wizard.except_wizard('Error', 'Login failed!')
raise wizard.except_wizard(_('Error'), _('Login failed!'))
elif result[0] == "2":
raise wizard.except_wizard('Error',
'This version of the module is already exist on the server')
raise wizard.except_wizard(_('Error'),
_('This version of the module is already exist on the server'))
elif result[0] != "0":
raise wizard.except_wizard('Error', 'Failed to upload the file')
raise wizard.except_wizard(_('Error'), _('Failed to upload the file'))
updata = {
'link_name': mod.shortdesc or '',
@ -287,7 +288,7 @@ def module_check(self, cr, uid, data, context):
pool = pooler.get_pool(cr.dbname)
module = pool.get('ir.module.module').browse(cr, uid, data['id'], context)
if module.state != 'installed':
raise wizard.except_wizard('Error', 'You could not publish a module that is not installed!')
raise wizard.except_wizard(_('Error'), _('You could not publish a module that is not installed!'))
return {
'name': module.name,
'shortdesc': module.shortdesc,

View File

@ -58,8 +58,8 @@ def createzip(cr, uid, moduleid, context, b64enc=True, src=True):
module = module_obj.browse(cr, uid, moduleid)
if module.state != 'installed':
raise wizard.except_wizard('Error',
'Can not export module that is not installed!')
raise wizard.except_wizard(_('Error'),
_('Can not export module that is not installed!'))
ad = tools.config['addons_path']
if os.path.isdir(os.path.join(ad, module.name)):
@ -73,7 +73,7 @@ def createzip(cr, uid, moduleid, context, b64enc=True, src=True):
elif os.path.isfile(os.path.join(ad, module.name + '.zip')):
val = file(os.path.join(ad, module.name + '.zip'), 'rb').read()
else:
raise wizard.except_wizard('Error', 'Could not find the module to export!')
raise wizard.except_wizard(_('Error'), _('Could not find the module to export!'))
if b64enc:
val =base64.encodestring(val)
return {'module_file':val, 'module_filename': module.name + '-' + \

View File

@ -33,6 +33,7 @@ from osv import fields,osv,orm
import mx.DateTime
import base64
from tools.translate import _
MAX_LEVEL = 15
AVAILABLE_STATES = [
@ -619,8 +620,8 @@ class crm_case(osv.osv):
cases = self.browse(cr, uid, ids)
for case in cases:
if not case.email_from:
raise osv.except_osv('Error!',
'You must put a Partner eMail to use this action!')
raise osv.except_osv(_('Error!'),
_('You must put a Partner eMail to use this action!'))
self.__history(cr, uid, cases, 'Send', history=True, email=False)
for case in cases:
self.write(cr, uid, [case.id], {
@ -683,7 +684,7 @@ class crm_case(osv.osv):
if case.section_id.parent_id.user_id:
data['user_id'] = case.section_id.parent_id.user_id.id
else:
raise osv.except_osv('Error !', 'You can not escalate this case.\nYou are already at the top level.')
raise osv.except_osv(_('Error !'), _('You can not escalate this case.\nYou are already at the top level.'))
self.write(cr, uid, ids, data)
self.__history(cr, uid, cases, 'escalate')
self._action(cr, uid, cases, 'escalate')

View File

@ -29,6 +29,7 @@
import netsvc
from osv import fields,osv,orm
from tools.translate import _
class delivery_carrier(osv.osv):
_name = "delivery.carrier"
@ -116,7 +117,7 @@ class delivery_grid(osv.osv):
ok = True
break
if not ok:
raise except_osv('No price avaible !', 'No line matched this order in the choosed delivery grids !')
raise except_osv(_('No price avaible !'), _('No line matched this order in the choosed delivery grids !'))
return price

View File

@ -27,6 +27,7 @@
###############################################################################
import netsvc
from osv import fields,osv
from tools.translate import _
# Overloaded stock_picking to manage carriers :
@ -67,8 +68,8 @@ class stock_picking(osv.osv):
grid_id = carrier_obj.grid_get(cursor, user, [picking.carrier_id.id],
picking.address_id.id, context=context)
if not grid_id:
raise osv.except_osv('Warning',
'The carrier %s (id: %d) has no delivery grid!' \
raise osv.except_osv(_('Warning'),
_('The carrier %s (id: %d) has no delivery grid!') \
% (picking.carrier_id.name,
picking.carrier_id.id))
invoice = invoices[result[picking.id]]

View File

@ -31,6 +31,7 @@ import time
import wizard
import ir
import pooler
from tools.translate import _
delivery_form = """<?xml version="1.0"?>
<form string="Create deliveries">
@ -47,7 +48,7 @@ def _delivery_default(self, cr, uid, data, context):
order_obj = pooler.get_pool(cr.dbname).get('sale.order')
order = order_obj.browse(cr, uid, data['ids'])[0]
if not order.state in ('draft'):
raise wizard.except_wizard('Order not in draft state !', 'The order state have to be draft to add delivery lines.')
raise wizard.except_wizard(_('Order not in draft state !'), _('The order state have to be draft to add delivery lines.'))
carrier_id = order.partner_id.property_delivery_carrier.id
return {'carrier_id': carrier_id}
@ -60,7 +61,7 @@ def _delivery_set(self, cr, uid, data, context):
for order in order_objs:
grid_id = pooler.get_pool(cr.dbname).get('delivery.carrier').grid_get(cr, uid, [data['form']['carrier_id']],order.partner_shipping_id.id)
if not grid_id:
raise wizard.except_wizard('No grid avaible !', 'No grid matching for this carrier !')
raise wizard.except_wizard(_('No grid avaible !'), _('No grid matching for this carrier !'))
grid = pooler.get_pool(cr.dbname).get('delivery.grid').browse(cr, uid, [grid_id])[0]
line_obj.create(cr, uid, {

View File

@ -31,6 +31,7 @@ from mx import DateTime
import time
from osv import fields, osv
from tools.translate import _
class hr_timesheet_group(osv.osv):
_name = "hr.timesheet.group"
@ -140,7 +141,7 @@ class hr_employee(osv.osv):
def sign_change(self, cr, uid, ids, context={}, dt=False):
for emp in self.browse(cr, uid, ids):
if not self._action_check(cr, uid, emp.id, dt, context):
raise osv.except_osv('Warning', 'You tried to sign with a date anterior to another event !\nTry to contact the administrator to correct attendances.')
raise osv.except_osv(_('Warning'), _('You tried to sign with a date anterior to another event !\nTry to contact the administrator to correct attendances.'))
res = {'action':'action', 'employee_id':emp.id}
if dt:
res['name'] = dt
@ -151,7 +152,7 @@ class hr_employee(osv.osv):
id = False
for emp in self.browse(cr, uid, ids):
if not self._action_check(cr, uid, emp.id, dt, context):
raise osv.except_osv('Warning', 'You tried to sign out with a date anterior to another event !\nTry to contact the administrator to correct attendances.')
raise osv.except_osv(_('Warning'), _('You tried to sign out with a date anterior to another event !\nTry to contact the administrator to correct attendances.'))
res = {'action':'sign_out', 'employee_id':emp.id}
if dt:
res['name'] = dt
@ -168,7 +169,7 @@ class hr_employee(osv.osv):
id = False
for emp in self.browse(cr, uid, ids):
if not self._action_check(cr, uid, emp.id, dt, context):
raise osv.except_osv('Warning', 'You tried to sign in with a date anterior to another event !\nTry to contact the administrator to correct attendances.')
raise osv.except_osv(_('Warning'), _('You tried to sign in with a date anterior to another event !\nTry to contact the administrator to correct attendances.'))
res = {'action':'sign_in', 'employee_id':emp.id}
if dt:
res['name'] = dt

View File

@ -30,6 +30,7 @@
import wizard
import netsvc
import time
from tools.translate import _
si_so_form ='''<?xml version="1.0"?>
<form string="Sign in / Sign out">
@ -76,7 +77,7 @@ def _sign_in(self, cr, uid, data, context):
emp_id = data['form']['emp_id']
if 'last_time' in data['form'] :
if data['form']['last_time'] > time.strftime('%Y-%m-%d'):
raise wizard.except_wizard('UserError', 'The sign-out date must be in the past')
raise wizard.except_wizard(_('UserError'), _('The sign-out date must be in the past'))
return {'success': False}
service.execute(cr.dbname, uid, 'hr.attendance', 'create', {
'name': data['form']['last_time'],
@ -87,7 +88,7 @@ def _sign_in(self, cr, uid, data, context):
success = service.execute(cr.dbname, uid, 'hr.employee', 'sign_in', [emp_id])
print success
except:
raise wizard.except_wizard('UserError', 'A sign-in must be right after a sign-out !')
raise wizard.except_wizard(_('UserError'), _('A sign-in must be right after a sign-out !'))
return {'success': success}
def _sign_out(self, cr, uid, data, context):
@ -95,13 +96,13 @@ def _sign_out(self, cr, uid, data, context):
emp_id = data['form']['emp_id']
if 'last_time' in data['form'] :
if data['form']['last_time'] > time.strftime('%Y-%m-%d'):
raise wizard.except_wizard('UserError', 'The Sign-in date must be in the past')
raise wizard.except_wizard(_('UserError'), _('The Sign-in date must be in the past'))
return {'success': False}
service.execute(cr.dbname, uid, 'hr.attendance', 'create', {'name':data['form']['last_time'], 'action':'sign_in', 'employee_id':emp_id})
try:
success = service.execute(cr.dbname, uid, 'hr.employee', 'sign_out', [emp_id])
except:
raise wizard.except_wizard('UserError', 'A sign-out must be right after a sign-in !')
raise wizard.except_wizard(_('UserError'), _('A sign-out must be right after a sign-in !'))
return {'success' : success}

View File

@ -31,6 +31,7 @@ from mx import DateTime
import time
from osv import fields, osv
from tools.translate import _
def _employee_get(obj,cr,uid,context={}):
ids = obj.pool.get('hr.employee').search(cr, uid, [('user_id','=', uid)])
@ -142,7 +143,7 @@ class hr_expense_expense(osv.osv):
'account_analytic_id': l.analytic_account.id,
}))
if not exp.employee_id.address_id:
raise osv.except_osv('Error !', 'The employee must have a contact address')
raise osv.except_osv(_('Error !'), _('The employee must have a contact address'))
acc = exp.employee_id.address_id.partner_id.property_account_payable.id
payment_term_id = exp.employee_id.address_id.partner_id.property_payment_term.id
inv = {

View File

@ -31,6 +31,7 @@
import wizard
import time
import pooler
from tools.translate import _
si_form ='''<?xml version="1.0"?>
<form string="Sign in / Sign out">
@ -82,7 +83,7 @@ def _get_empid(self, cr, uid, data, context):
if emp_id:
employee = emp_obj.read(cr, uid, emp_id)[0]
return {'name': employee['name'], 'state': employee['state'], 'emp_id': emp_id[0], 'date':False, 'server_date':time.strftime('%Y-%m-%d %H:%M:%S')}
raise wizard.except_wizard('UserError', 'No employee defined for your user !')
raise wizard.except_wizard(_('UserError'), _('No employee defined for your user !'))
def _get_empid2(self, cr, uid, data, context):
res = _get_empid(self,cr, uid, data, context)
@ -112,7 +113,7 @@ def _write(self, cr, uid, data, emp_id, context):
hour = round(round((hour + minimum / 2) / minimum) * minimum, 2)
res = timesheet_obj.default_get(cr, uid, ['product_id','product_uom_id'])
if not res['product_uom_id']:
raise wizard.except_wizard('UserError', 'No cost unit defined for this employee !')
raise wizard.except_wizard(_('UserError'), _('No cost unit defined for this employee !'))
up = timesheet_obj.on_change_unit_amount(cr, uid, False, res['product_id'], hour, res['product_uom_id'])['value']
res['name'] = data['form']['info']
res['account_id'] = data['form']['account_id']

View File

@ -30,6 +30,7 @@
from osv import fields, osv
from tools.translate import _
class hr_timesheet_invoice_factor(osv.osv):
_name = "hr_timesheet_invoice.factor"
@ -93,8 +94,8 @@ class account_analytic_line(osv.osv):
select = [ids]
for line in self.browse(cr, uid, select):
if line.invoice_id:
raise osv.except_osv('Error !',
'You can not modify an invoiced analytic line!')
raise osv.except_osv(_('Error !'),
_('You can not modify an invoiced analytic line!'))
return True
def copy(self, cursor, user, obj_id, default=None, context=None):

View File

@ -30,6 +30,7 @@
import wizard
import pooler
import time
from tools.translate import _
#
# Create an final invoice based on selected timesheet lines
@ -57,9 +58,9 @@ class final_invoice_create(wizard.interface):
partner = account.partner_id
amount_total=0.0
if (not partner) or not (account.pricelist_id):
raise wizard.except_wizard('Analytic account incomplete',
'Please fill in the partner and pricelist field '
'in the analytic account:\n%s' % (account.name,))
raise wizard.except_wizard(_('Analytic account incomplete'),
_('Please fill in the partner and pricelist field '
'in the analytic account:\n%s') % (account.name,))
date_due = False
if partner.property_payment_term:
@ -188,7 +189,7 @@ class final_invoice_create(wizard.interface):
if data['form']['use_amount_max']:
if abs(account.amount_max - amount_total) > data['form']['balance_amount'] :
if not data['form']['balance_product']:
raise wizard.except_wizard('Balance product needed', 'Please fill a Balance product in the wizard')
raise wizard.except_wizard(_('Balance product needed'), _('Please fill a Balance product in the wizard'))
product = pool.get('product.product').browse(cr, uid, data['form']['balance_product'], context2)
taxes = product.taxes_id

View File

@ -30,6 +30,7 @@
import wizard
import pooler
import time
from tools.translate import _
#
# Create an invoice based on selected timesheet lines
@ -57,9 +58,9 @@ class invoice_create(wizard.interface):
for account in analytic_account_obj.browse(cr, uid, account_ids, context):
partner = account.partner_id
if (not partner) or not (account.pricelist_id):
raise wizard.except_wizard('Analytic account incomplete',
'Please fill in the partner and pricelist field '
'in the analytic account:\n%s' % (account.name,))
raise wizard.except_wizard(_('Analytic account incomplete'),
_('Please fill in the partner and pricelist field '
'in the analytic account:\n%s') % (account.name,))
date_due = False
if partner.property_payment_term:
@ -97,7 +98,7 @@ class invoice_create(wizard.interface):
for product_id,factor_id,qty in cr.fetchall():
product = pool.get('product.product').browse(cr, uid, product_id, context2)
if not product:
raise wizard.except_wizard('Error', 'At least on line have no product !')
raise wizard.except_wizard(_('Error'), _('At least on line have no product !'))
factor_name = ''
factor = pool.get('hr_timesheet_invoice.factor').browse(cr, uid, factor_id, context2)
if factor.customer_name:

View File

@ -33,6 +33,7 @@ from osv import osv
import netsvc
from mx import DateTime
from tools.translate import _
class one2many_mod2(fields.one2many):
@ -148,7 +149,7 @@ class hr_timesheet_sheet(osv.osv):
wf_service = netsvc.LocalService("workflow")
wf_service.trg_validate(uid, 'hr_timesheet_sheet.sheet', sheet.id, 'confirm', cr)
else:
raise osv.except_osv('Warning !', 'Please verify that the total difference of the sheet is lower than %.2f !' %(di,))
raise osv.except_osv(_('Warning !'), _('Please verify that the total difference of the sheet is lower than %.2f !') %(di,))
return True
def date_today(self, cr, uid, ids, context):
@ -191,7 +192,7 @@ class hr_timesheet_sheet(osv.osv):
def sign_in(self, cr, uid, ids, context):
if not self.browse(cr, uid, ids, context)[0].date_current == time.strftime('%Y-%m-%d'):
raise osv.except_osv('Error !', 'You can not sign in from an other date than today')
raise osv.except_osv(_('Error !'), _('You can not sign in from an other date than today'))
emp_obj = self.pool.get('hr.employee')
emp_id = emp_obj.search(cr, uid, [('user_id', '=', uid)])
context['sheet_id']=ids[0]
@ -200,7 +201,7 @@ class hr_timesheet_sheet(osv.osv):
def sign_out(self, cr, uid, ids, context):
if not self.browse(cr, uid, ids, context)[0].date_current == time.strftime('%Y-%m-%d'):
raise osv.except_osv('Error !', 'You can not sign out from an other date than today')
raise osv.except_osv(_('Error !'), _('You can not sign out from an other date than today'))
emp_obj = self.pool.get('hr.employee')
emp_id = emp_obj.search(cr, uid, [('user_id', '=', uid)])
context['sheet_id']=ids[0]
@ -395,7 +396,7 @@ class hr_timesheet_line(osv.osv):
if 'sheet_id' in vals:
ts = self.pool.get('hr_timesheet_sheet.sheet').browse(cr, uid, vals['sheet_id'])
if not ts.state in ('draft', 'new'):
raise osv.except_osv('Error !', 'You can not modify an entry in a confirmed timesheet !')
raise osv.except_osv(_('Error !'), _('You can not modify an entry in a confirmed timesheet !'))
return super(hr_timesheet_line,self).create(cr, uid, vals, *args, **kwargs)
def unlink(self, cr, uid, ids, *args, **kwargs):
@ -409,7 +410,7 @@ class hr_timesheet_line(osv.osv):
def _check(self, cr, uid, ids):
for att in self.browse(cr, uid, ids):
if att.sheet_id and att.sheet_id.state not in ('draft', 'new'):
raise osv.except_osv('Error !', 'You can not modify an entry in a confirmed timesheet !')
raise osv.except_osv(_('Error !'), _('You can not modify an entry in a confirmed timesheet !'))
return True
hr_timesheet_line()
@ -514,12 +515,12 @@ class hr_attendance(osv.osv):
if 'sheet_id' in context:
ts = self.pool.get('hr_timesheet_sheet.sheet').browse(cr, uid, context['sheet_id'])
if ts.state not in ('draft', 'new'):
raise osv.except_osv('Error !', 'You can not modify an entry in a confirmed timesheet !')
raise osv.except_osv(_('Error !'), _('You can not modify an entry in a confirmed timesheet !'))
res = super(hr_attendance,self).create(cr, uid, vals, context=context)
if 'sheet_id' in context:
if context['sheet_id'] != self.browse(cr, uid, res, context=context).sheet_id.id:
raise osv.except_osv('UserError', 'You can not enter an attendance ' \
'date outside the current timesheet dates!')
raise osv.except_osv(_('UserError'), _('You can not enter an attendance ' \
'date outside the current timesheet dates!'))
return res
def unlink(self, cr, uid, ids, *args, **kwargs):
@ -532,14 +533,14 @@ class hr_attendance(osv.osv):
if 'sheet_id' in context:
for attendance in self.browse(cr, uid, ids, context=context):
if context['sheet_id'] != attendance.sheet_id.id:
raise osv.except_osv('UserError', 'You can not enter an attendance ' \
'date outside the current timesheet dates!')
raise osv.except_osv(_('UserError'), _('You can not enter an attendance ' \
'date outside the current timesheet dates!'))
return res
def _check(self, cr, uid, ids):
for att in self.browse(cr, uid, ids):
if att.sheet_id and att.sheet_id.state not in ('draft', 'new'):
raise osv.except_osv('Error !', 'You can not modify an entry in a confirmed timesheet !')
raise osv.except_osv(_('Error !'), _('You can not modify an entry in a confirmed timesheet !'))
return True
hr_attendance()

View File

@ -33,13 +33,14 @@ import netsvc
import time
import pooler
from osv import osv
from tools.translate import _
class wiz_timesheet_open(wizard.interface):
def _open_timesheet(self, cr, uid, data, context):
pool = pooler.get_pool(cr.dbname)
user_ids = pool.get('hr.employee').search(cr, uid, [('user_id','=',uid)])
if not len(user_ids):
raise wizard.except_wizard('Error !', 'No employee defined for your user !')
raise wizard.except_wizard(_('Error !'), _('No employee defined for your user !'))
ts = pool.get('hr_timesheet_sheet.sheet')
ids = ts.search(cr, uid, [('user_id','=',uid),('state','=','draft'),('date_from','<=',time.strftime('%Y-%m-%d')), ('date_to','>=',time.strftime('%Y-%m-%d'))])
view_type = 'form,tree'

View File

@ -34,6 +34,7 @@ from osv import fields, osv
from _common import rounding
import time
from tools import config
from tools.translate import _
class price_type(osv.osv):
"""
@ -136,9 +137,9 @@ class product_pricelist(osv.osv):
plversion = cr.dictfetchone()
if not plversion:
raise osv.except_osv('Warning !',
'No active version for the selected pricelist !\n' \
'Please create or activate one.')
raise osv.except_osv(_('Warning !'),
_('No active version for the selected pricelist !\n' \
'Please create or activate one.'))
cr.execute('SELECT id, categ_id ' \
'FROM product_template ' \
@ -154,10 +155,10 @@ class product_pricelist(osv.osv):
'WHERE id = %d', (categ,))
categ = cr.fetchone()[0]
if str(categ) in categ_ids:
raise osv.except_osv('Warning !',
'Could not resolve product category, ' \
raise osv.except_osv(_('Warning !'),
_('Could not resolve product category, ' \
'you have defined cyclic categories ' \
'of products!')
'of products!'))
if categ_ids:
categ_where = '(categ_id IN (' + ','.join(categ_ids) + '))'
else:

View File

@ -89,9 +89,9 @@ def _do_orders(self, cr, uid, data, context):
if not task.project_id.id in customers:
partner = task.partner_id or task.project_id.partner_id
if not partner.id:
raise wizard.except_wizard('Error !', 'No partner defined for the task or project.')
raise wizard.except_wizard(_('Error !'), _('No partner defined for the task or project.'))
if not task.project_id.pricelist_id.id:
raise wizard.except_wizard('Error !', 'No pricelist defined in the project definition.')
raise wizard.except_wizard(_('Error !'), _('No pricelist defined in the project definition.'))
adr = pooler.get_pool(cr.dbname).get('res.partner').address_get(cr, uid, [partner.id], ['default','invoice','shipping'])
a = partner.property_account_receivable.id

View File

@ -50,7 +50,7 @@ def email_send(cr, uid, ids, to_adr, description, context={}):
from_adr = task.user_id.address_id.email
signature = task.user_id.signature
else:
raise osv.except_osv('Error', "Couldn't send mail because your email address is not configured!")
raise osv.except_osv(_('Error'), _("Couldn't send mail because your email address is not configured!"))
if to_adr:
val = {
@ -66,7 +66,7 @@ def email_send(cr, uid, ids, to_adr, description, context={}):
body = u'%s\n%s\n%s\n\n-- \n%s' % (header, description, footer, signature)
email(from_adr, [to_adr], subject, body.encode('utf-8'), email_bcc=[from_adr])
else:
raise osv.except_osv('Error', "Couldn't send mail because the contact for this task (%s) has no email address!"% contact.name)
raise osv.except_osv(_('Error'), _("Couldn't send mail because the contact for this task (%s) has no email address!") % contact.name)
class wizard_close(wizard.interface):
def _check_complete(self, cr, uid, data, context):

View File

@ -36,6 +36,7 @@ import ir
from mx import DateTime
import pooler
from tools import config
from tools.translate import _
#
# Model definition
@ -204,7 +205,7 @@ class purchase_order(osv.osv):
if not a:
a = ol.product_id.categ_id.property_account_expense_categ.id
if not a:
raise osv.except_osv('Error !', 'There is no expense account defined for this product: "%s" (id:%d)' % (ol.product_id.name, ol.product_id.id,))
raise osv.except_osv(_('Error !'), _('There is no expense account defined for this product: "%s" (id:%d)') % (ol.product_id.name, ol.product_id.id,))
else:
a = self.pool.get('ir.property').get(cr, uid, 'property_account_expense_categ', 'product.category')
il.append(self.inv_line_create(a,ol))
@ -339,7 +340,7 @@ class purchase_order_line(osv.osv):
def product_id_change(self, cr, uid, ids, pricelist, product, qty, uom,
partner_id, date_order=False):
if not pricelist:
raise osv.except_osv('No Pricelist !', 'You have to select a pricelist in the purchase form !\n Please set one before choosing a product.')
raise osv.except_osv(_('No Pricelist !'), _('You have to select a pricelist in the purchase form !\nPlease set one before choosing a product.'))
if not product:
return {'value': {'price_unit': 0.0, 'name':'','notes':''}, 'domain':{'product_uom':[]}}
lang=False
@ -368,7 +369,7 @@ class purchase_order_line(osv.osv):
res3 = self.pool.get('product.uom').read(cr, uid, [prod_uom_po], ['category_id'])
domain = {'product_uom':[('category_id','=',res2[0]['category_id'][0])]}
if res2[0]['category_id'] != res3[0]['category_id']:
raise osv.except_osv('Wrong Product UOM !', 'You have to select a product UOM in the same category than the purchase UOM of the product')
raise osv.except_osv(_('Wrong Product UOM !'), _('You have to select a product UOM in the same category than the purchase UOM of the product'))
res['domain'] = domain
return res

View File

@ -33,6 +33,7 @@ from osv import fields, osv
import ir
from mx import DateTime
from tools import config
from tools.translate import _
class sale_shop(osv.osv):
_name = "sale.shop"
@ -336,8 +337,8 @@ class sale_order(osv.osv):
for pick in sale.picking_ids:
if pick.state not in ('draft','cancel'):
raise osv.except_osv(
'Could not cancel sale order !',
'You must first cancel all packings attached to this sale order.')
_('Could not cancel sale order !'),
_('You must first cancel all packings attached to this sale order.'))
for r in self.read(cr,uid,ids,['picking_ids']):
for pick in r['picking_ids']:
wf_service = netsvc.LocalService("workflow")
@ -345,8 +346,8 @@ class sale_order(osv.osv):
for inv in sale.invoice_ids:
if inv.state not in ('draft','cancel'):
raise osv.except_osv(
'Could not cancel this sale order !',
'You must first cancel all invoices attached to this sale order.')
_('Could not cancel this sale order !'),
_('You must first cancel all invoices attached to this sale order.'))
for r in self.read(cr,uid,ids,['invoice_ids']):
for inv in r['invoice_ids']:
wf_service = netsvc.LocalService("workflow")
@ -386,7 +387,7 @@ class sale_order(osv.osv):
# if mode == 'canceled':
# returns True if there is at least one canceled line, False otherwise
def test_state(self, cr, uid, ids, mode, *args):
assert mode in ('finished', 'canceled'), "invalid mode for test_state"
assert mode in ('finished', 'canceled'), _("invalid mode for test_state")
finished = True
canceled = False
write_done_ids = []
@ -648,9 +649,9 @@ class sale_order_line(osv.osv):
if not a:
a = line.product_id.categ_id.property_account_income_categ.id
if not a:
raise osv.except_osv('Error !',
'There is no income account defined ' \
'for this product: "%s" (id:%d)' % \
raise osv.except_osv(_('Error !'),
_('There is no income account defined ' \
'for this product: "%s" (id:%d)') % \
(line.product_id.name, line.product_id.id,))
else:
a = self.pool.get('ir.property').get(cr, uid,
@ -733,9 +734,9 @@ class sale_order_line(osv.osv):
'product_uos': []}}
if not pricelist:
raise osv.except_osv('No Pricelist !',
'You have to select a pricelist in the sale form !\n'
'Please set one before choosing a product.')
raise osv.except_osv(_('No Pricelist !'),
_('You have to select a pricelist in the sale form !\n'
'Please set one before choosing a product.'))
if not date_order:
date_order = time.strftime('%Y-%m-%d')
@ -745,9 +746,9 @@ class sale_order_line(osv.osv):
'date': date_order,
})[pricelist]
if price is False:
raise osv.except_osv('No valid pricelist line found !',
"Couldn't find a pricelist line matching this product and quantity.\n"
"You have to change either the product, the quantity or the pricelist.")
raise osv.except_osv(_('No valid pricelist line found !'),
_("Couldn't find a pricelist line matching this product and quantity.\n"
"You have to change either the product, the quantity or the pricelist."))
product = product_obj.browse(cr, uid, product, context=context)

View File

@ -33,6 +33,7 @@ import netsvc
from osv import fields,osv
import ir
from tools import config
from tools.translate import _
#----------------------------------------------------------
@ -363,7 +364,7 @@ class stock_tracking(osv.osv):
return res
def unlink(self, cr ,uid, ids):
raise Exception, 'You can not remove a lot line !'
raise Exception, _('You can not remove a lot line !')
stock_tracking()
#----------------------------------------------------------
@ -951,9 +952,9 @@ class stock_move(osv.osv):
acc_src = move.product_id.categ_id.\
property_stock_account_input_categ.id
if not acc_src:
raise osv.except_osv('Error!',
'There is no stock input account defined ' \
'for this product: "%s" (id: %d)' % \
raise osv.except_osv(_('Error!'),
_('There is no stock input account defined ' \
'for this product: "%s" (id: %d)') % \
(move.product_id.name,
move.product_id.id,))
if not acc_dest:
@ -963,15 +964,15 @@ class stock_move(osv.osv):
acc_dest = move.product_id.categ_id.\
property_stock_account_output_categ.id
if not acc_dest:
raise osv.except_osv('Error!',
'There is no stock output account defined ' \
'for this product: "%s" (id: %d)' % \
raise osv.except_osv(_('Error!'),
_('There is no stock output account defined ' \
'for this product: "%s" (id: %d)') % \
(move.product_id.name,
move.product_id.id,))
if not move.product_id.categ_id.property_stock_journal.id:
raise osv.except_osv('Error!',
'There is no journal defined '\
'on the product category: "%s" (id: %d)' % \
raise osv.except_osv(_('Error!'),
_('There is no journal defined '\
'on the product category: "%s" (id: %d)') % \
(move.product_id.categ_id.name,
move.product_id.categ_id.id,))
journal_id = move.product_id.categ_id.property_stock_journal.id
@ -1018,8 +1019,8 @@ class stock_move(osv.osv):
def unlink(self, cr, uid, ids, context=None):
for move in self.browse(cr, uid, ids, context=context):
if move.state != 'draft':
raise osv.except_osv('UserError',
'You can only delete draft moves.')
raise osv.except_osv(_('UserError'),
_('You can only delete draft moves.'))
return super(stock_move, self).unlink(
cr, uid, ids, context=context)

View File

@ -33,6 +33,7 @@ import pooler
import time
from osv import osv
from tools.translate import _
track_form = '''<?xml version="1.0"?>
<form string="Tracking a move">
@ -65,7 +66,7 @@ def _track_lines(self, cr, uid, data, context):
sequence = ir_sequence_obj.get(cr, uid, 'stock.lot.serial')
if not sequence:
raise wizard.except_wizard('Error!', 'No production sequence defined')
raise wizard.except_wizard(_('Error!'), _('No production sequence defined'))
if data['form']['tracking_prefix']:
sequence=data['form']['tracking_prefix']+'/'+(sequence or '')

View File

@ -33,6 +33,7 @@
from mx import DateTime
import time
from osv import fields,osv
from tools.translate import _
class subscription_document(osv.osv):
_name = "subscription.document"
@ -111,7 +112,7 @@ class subscription_subscription(osv.osv):
id = int(id)
model = self.pool.get(model_name)
except:
raise osv.except_osv('Wrong Source Document !', 'Please provide another source document.\nThis one does not exist !')
raise osv.except_osv(_('Wrong Source Document !'), _('Please provide another source document.\nThis one does not exist !'))
default = {'state':'draft'}
doc_obj = self.pool.get('subscription.document')