[MERGE] lp:684741

bzr revid: qdp-launchpad@openerp.com-20110317173316-1nwca68kko2dlu1c
This commit is contained in:
Quentin (OpenERP) 2011-03-17 18:33:16 +01:00
commit 8295f3125f
28 changed files with 201 additions and 173 deletions

View File

@ -303,8 +303,7 @@ class account_bank_statement(osv.osv):
st = self.browse(cr, uid, st_id, context=context)
if not (abs((st.balance_end or 0.0) - st.balance_end_real) < 0.0001):
raise osv.except_osv(_('Error !'),
_('The statement balance is incorrect !\n') +
_('The expected balance (%.2f) is different than the computed one. (%.2f)') % (st.balance_end_real, st.balance_end))
_('The statement balance is incorrect !\nThe expected balance (%.2f) is different than the computed one. (%.2f)') % (st.balance_end_real, st.balance_end))
return True
def statement_close(self, cr, uid, ids, journal_type='bank', context=None):

View File

@ -674,13 +674,6 @@ msgstr ""
msgid "Partners Reconciled Today"
msgstr ""
#. module: account
#: code:addons/account/account_bank_statement.py:306
#, python-format
msgid "The statement balance is incorrect !\n"
""
msgstr ""
#. module: account
#: selection:account.payment.term.line,value:0
#: selection:account.tax.template,type:0
@ -2459,9 +2452,10 @@ msgid "August"
msgstr ""
#. module: account
#: code:addons/account/account_bank_statement.py:307
#: code:addons/account/account_bank_statement.py:306
#, python-format
msgid "The expected balance (%.2f) is different than the computed one. (%.2f)"
msgid "The statement balance is incorrect !\n"
"The expected balance (%.2f) is different than the computed one. (%.2f)"
msgstr ""
#. module: account
@ -2681,6 +2675,12 @@ msgstr ""
msgid "View"
msgstr ""
#. module: account
#: code:addons/account/account.py:2951
#, python-format
msgid "BNK%s"
msgstr ""
#. module: account
#: code:addons/account/account.py:2906
#: code:addons/account/installer.py:296
@ -3997,12 +3997,6 @@ msgstr ""
msgid "Account Balance -"
msgstr ""
#. module: account
#: code:addons/account/invoice.py:989
#, python-format
msgid "Invoice "
msgstr ""
#. module: account
#: field:account.automatic.reconcile,date1:0
msgid "Starting Date"
@ -5238,9 +5232,9 @@ msgid "As soon as the reconciliation is done, the invoice's state turns to “do
msgstr ""
#. module: account
#: code:addons/account/invoice.py:989
#: code:addons/account/invoice.py:997
#, python-format
msgid "is validated."
msgid "Invoice '%s' is validated."
msgstr ""
#. module: account

View File

@ -994,7 +994,7 @@ class account_invoice(osv.osv):
ctx = context.copy()
if obj_inv.type in ('out_invoice', 'out_refund'):
ctx = self.get_log_context(cr, uid, context=ctx)
message = _('Invoice ') + " '" + name + "' "+ _("is validated.")
message = _("Invoice '%s' is validated.") % name
self.log(cr, uid, inv_id, message, context=ctx)
return True

View File

@ -54,13 +54,13 @@ msgid "Group By..."
msgstr ""
#. module: account_followup
#: code:addons/account_followup/wizard/account_followup_print.py:287
#: code:addons/account_followup/wizard/account_followup_print.py:290
#, python-format
msgid "\n"
"\n"
"E-Mail sent to following Partners successfully. !\n"
"\n"
""
"%s"
msgstr ""
#. module: account_followup
@ -430,11 +430,11 @@ msgid "Send email confirmation"
msgstr ""
#. module: account_followup
#: code:addons/account_followup/wizard/account_followup_print.py:284
#: code:addons/account_followup/wizard/account_followup_print.py:287
#, python-format
msgid "All E-mails have been successfully sent to Partners:.\n"
"\n"
""
"%s"
msgstr ""
#. module: account_followup
@ -615,11 +615,11 @@ msgid "Maturity"
msgstr ""
#. module: account_followup
#: code:addons/account_followup/wizard/account_followup_print.py:286
#: code:addons/account_followup/wizard/account_followup_print.py:289
#, python-format
msgid "E-Mail not sent to following Partners, Email not available !\n"
"\n"
""
"%s"
msgstr ""
#. module: account_followup

View File

@ -285,10 +285,10 @@ class account_followup_print_all(osv.osv_memory):
msg += partner.name + '\n'
msg_unsent += msg
if not msg_unsent:
summary = _("All E-mails have been successfully sent to Partners:.\n\n") + msg_sent
summary = _("All E-mails have been successfully sent to Partners:.\n\n%s") % msg_sent
else:
msg_unsent = _("E-Mail not sent to following Partners, Email not available !\n\n") + msg_unsent
msg_sent = msg_sent and _("\n\nE-Mail sent to following Partners successfully. !\n\n") + msg_sent
msg_unsent = _("E-Mail not sent to following Partners, Email not available !\n\n%s") % msg_unsent
msg_sent = msg_sent and _("\n\nE-Mail sent to following Partners successfully. !\n\n%s") % msg_sent
line = '=========================================================================='
summary = msg_unsent + line + msg_sent
context.update({'summary': summary})

View File

@ -351,10 +351,9 @@ msgid "Error! Module is not properly loaded/installed"
msgstr ""
#. module: base_module_quality
#: code:addons/base_module_quality/speed_test/speed_test.py:115
#: code:addons/base_module_quality/speed_test/speed_test.py:116
#, python-format
msgid "Error in Read method"
msgid "Error in Read method: %s"
msgstr ""
#. module: base_module_quality

View File

@ -113,7 +113,7 @@ This test checks the speed of the module. Note that at least 5 demo data is need
except Exception, e:
self.log.warning('Error in read method', exc_info=True)
list2 = [obj, _("Error in Read method")]
speed_list = [obj, size, code_base_complexity, code_half_complexity, code_size_complexity, _("Error in Read method") + ": %s " % e]
speed_list = [obj, size, code_base_complexity, code_half_complexity, code_size_complexity, _("Error in Read method: %s") % e]
else:
if size < 5:
speed_list = [obj, size, code_base_complexity, code_half_complexity, code_size_complexity, _("Warning! Not enough demo data")]

View File

@ -279,7 +279,7 @@ class crm_lead(crm_case, osv.osv):
if 'stage_id' in vals and vals['stage_id']:
stage_obj = self.pool.get('crm.case.stage').browse(cr, uid, vals['stage_id'], context=context)
self.history(cr, uid, ids, _("Changed Stage to: ") + stage_obj.name, details=_("Changed Stage to: ") + stage_obj.name)
self.history(cr, uid, ids, _("Changed Stage to: %s") % stage_obj.name, details=_("Changed Stage to: %s") % stage_obj.name)
message=''
for case in self.browse(cr, uid, ids, context=context):
if case.type == 'lead' or context.get('stage_type',False)=='lead':

View File

@ -2267,6 +2267,12 @@ msgstr ""
msgid "The stage of opportunity '%s' has been changed to '%s'."
msgstr ""
#. module: crm
#: code:addons/crm/crm_lead.py:282
#, python-format
msgid "Changed Stage to: %s"
msgstr ""
#. module: crm
#: selection:crm.segmentation.line,operator:0
msgid "Mandatory Expression"

View File

@ -36,7 +36,7 @@ try:
TEMPLATE_ENGINES.append(('mako', 'Mako Templates'))
except ImportError:
logging.getLogger('init').warning("module email_template: Mako templates not installed")
try:
from django.template import Context, Template as DjangoTemplate
#Workaround for bug:
@ -316,7 +316,7 @@ This is useful for CRM leads for example"),
default = {}
default = default.copy()
old = self.read(cr, uid, id, ['name'], context=context)
new_name = _("Copy of template ") + old.get('name', 'No Name')
new_name = _("Copy of template %s") % old.get('name', 'No Name')
check = self.search(cr, uid, [('name', '=', new_name)], context=context)
if check:
new_name = new_name + '_' + random.choice('abcdefghij') + random.choice('lmnopqrs') + random.choice('tuvwzyz')

View File

@ -856,7 +856,7 @@ msgstr ""
#. module: email_template
#: code:addons/email_template/email_template.py:319
#, python-format
msgid "Copy of template "
msgid "Copy of template %s"
msgstr ""
#. module: email_template

View File

@ -113,9 +113,9 @@ msgid "Partner"
msgstr ""
#. module: mail_gateway
#: code:addons/mail_gateway/mail_gateway.py:242
#: code:addons/mail_gateway/mail_gateway.py:250
#, python-format
msgid " wrote on "
msgid " wrote on %s:\n"
msgstr ""
#. module: mail_gateway
@ -286,9 +286,9 @@ msgid "Cc"
msgstr ""
#. module: mail_gateway
#: code:addons/mail_gateway/mail_gateway.py:246
#: code:addons/mail_gateway/mail_gateway.py:254
#, python-format
msgid " on "
msgid " on %s:\n"
msgstr ""
#. module: mail_gateway

View File

@ -251,11 +251,11 @@ class mailgate_message(osv.osv):
for message in self.browse(cr, uid, ids, context=context):
msg_txt = ''
if message.history:
msg_txt += (message.email_from or '/') + _(' wrote on ') + format_date_tz(message.date, tz) + ':\n\t'
msg_txt += _('%s wrote on %s:\n\t') % (message.email_from or '/', format_date_tz(message.date, tz))
if message.description:
msg_txt += self.truncate_data(cr, uid, message.description, context=context)
else:
msg_txt = (message.user_id.name or '/') + _(' on ') + format_date_tz(message.date, tz) + ':\n\t'
msg_txt = _('%s on %s:\n\t') % (message.user_id.name or '/', format_date_tz(message.date, tz))
msg_txt += message.name
result[message.id] = msg_txt
return result

View File

@ -147,7 +147,7 @@ class report_custom(report_rml):
<col para='yes'>-</col>
</row></lines>"""
xml += """<lines style='total'> <row>
<col> """ + _('Total Cost of ') + str(number) +' '+ product.uom_id.name + """: </col>
<col> """ + _('Total Cost of %s %s') % (str(number), product.uom_id.name) + """: </col>
<col/>
<col f='yes'/>
<col t='yes'>"""+ rml_obj.formatLang(total_strd, digits=purchase_price_digits) +' '+ company_currency.symbol + """</col>
@ -174,7 +174,7 @@ class report_custom(report_rml):
xml += "<lines style='lines'>" + xml_tmp + '</lines>'
xml += """<lines style='sub_total'> <row>
<col> """ + _('Components Cost of ') + str(number) +' '+ product.uom_id.name + """: </col>
<col> """ + _('Components Cost of %s %s') % (str(number), product.uom_id.name) + """: </col>
<col/>
<col t='yes'/>
<col t='yes'>"""+ rml_obj.formatLang(total_strd, digits=purchase_price_digits) +' '+ company_currency.symbol + """</col>
@ -191,14 +191,14 @@ class report_custom(report_rml):
xml += workcenter_header
xml += "<lines style='lines'>" + xml_tmp + '</lines>'
xml += """<lines style='sub_total'> <row>
<col> """ + _('Work Cost of ') + str(number) +' '+ product.uom_id.name +""": </col>
<col> """ + _('Work Cost of %s %s') % (str(number), product.uom_id.name) +""": </col>
<col/>
<col/>
<col/>
<col t='yes'>"""+ rml_obj.formatLang(total2, digits=purchase_price_digits) +' '+ company_currency.symbol +"""</col>
</row></lines>'"""
xml += """<lines style='total'> <row>
<col> """ + _('Total Cost of ') + str(number) +' '+ product.uom_id.name + """: </col>
<col> """ + _('Total Cost of %s %s') %s (str(number), product.uom_id.name) + """: </col>
<col/>
<col t='yes'/>
<col t='yes'>"""+ rml_obj.formatLang(total_strd+total2, digits=purchase_price_digits) +' '+ company_currency.symbol + """</col>

View File

@ -58,6 +58,12 @@ msgstr ""
msgid "Operation Not Permitted !"
msgstr ""
#. module: project
#: code:addons/project/wizard/project_task_delegate.py:67
#, python-format
msgid "CHECK: %s"
msgstr ""
#. module: project
#: code:addons/project/wizard/project_task_delegate.py:55
#: code:addons/project/wizard/project_task_delegate.py:56

View File

@ -64,7 +64,7 @@ class project_task_delegate(osv.osv_memory):
newname = tools.ustr(task_name).replace(_('CHECK: '), '')
else:
newname = tools.ustr(task_name or '')
prefix = _('CHECK: ') + newname
prefix = _('CHECK: %s') % newname
res.update({'prefix': prefix})
if 'new_task_description' in fields:
res.update({'new_task_description': task.description})

View File

@ -219,6 +219,18 @@ msgstr ""
msgid "Scrum Meeting of %s"
msgstr ""
#. module: project_scrum
#: code:addons/project_scrum/wizard/project_scrum_backlog_sprint.py:57
#, python-format
msgid "Product Backlog '%s' is converted into Task %d."
msgstr ""
#. module: project_scrum
#: code:addons/project_scrum/wizard/project_scrum_backlog_sprint.py:62
#, python-format
msgid "Product Backlog '%s' is assigned sprint:%s"
msgstr ""
#. module: project_scrum
#: code:addons/project_scrum/wizard/project_scrum_backlog_sprint.py:57
#: code:addons/project_scrum/wizard/project_scrum_backlog_sprint.py:62
@ -253,12 +265,6 @@ msgstr ""
msgid "None"
msgstr ""
#. module: project_scrum
#: code:addons/project_scrum/project_scrum.py:325
#, python-format
msgid "*Blocks encountered:"
msgstr ""
#. module: project_scrum
#: view:project.scrum.product.backlog:0
msgid "Change Stage"
@ -390,12 +396,6 @@ msgstr ""
msgid "Daily Scrum"
msgstr ""
#. module: project_scrum
#: code:addons/project_scrum/project_scrum.py:324
#, python-format
msgid "for the Sprint"
msgstr ""
#. module: project_scrum
#: view:project.scrum.backlog.create.task:0
msgid "C_onvert"
@ -433,12 +433,6 @@ msgstr ""
msgid "Scrum"
msgstr ""
#. module: project_scrum
#: code:addons/project_scrum/project_scrum.py:324
#, python-format
msgid "Hello "
msgstr ""
#. module: project_scrum
#: field:project.scrum.meeting,question_today:0
msgid "Tasks for today"
@ -601,12 +595,6 @@ msgstr ""
msgid "The person who is responsible for the product"
msgstr ""
#. module: project_scrum
#: code:addons/project_scrum/project_scrum.py:325
#, python-format
msgid "*Tasks since yesterday:"
msgstr ""
#. module: project_scrum
#: view:project.scrum.meeting:0
#: view:project.scrum.sprint:0
@ -745,12 +733,6 @@ msgstr ""
msgid "View sprint backlog"
msgstr ""
#. module: project_scrum
#: code:addons/project_scrum/project_scrum.py:325
#, python-format
msgid "No Blocks"
msgstr ""
#. module: project_scrum
#: field:project.scrum.meeting,question_backlog:0
msgid "Backlog Accurate"
@ -922,7 +904,23 @@ msgstr ""
#. module: project_scrum
#: code:addons/project_scrum/project_scrum.py:324
#, python-format
msgid "I am sending you Daily Meeting Details of date"
msgid "Hello %s,\n"
" \n"
"I am sending you Daily Meeting Details of date %s for the Sprint %s\n"
""
msgstr ""
#. module: project_scrum
#: code:addons/project_scrum/project_scrum.py:325
#, python-format
msgid "\n"
"*Tasks since yesterday:\n"
"_______________________%s\n"
"*Task for Today:\n"
"_______________________ %s\n"
"\n"
"*Blocks encountered:\n"
"_______________________ %s"
msgstr ""
#. module: project_scrum
@ -970,12 +968,6 @@ msgstr ""
msgid "This wizard merge backlogs and create one new backlog with draft state (Old backlogs Will be deleted). And it also merge old tasks from backlogs"
msgstr ""
#. module: project_scrum
#: code:addons/project_scrum/project_scrum.py:325
#, python-format
msgid "*Task for Today:"
msgstr ""
#. module: project_scrum
#: code:addons/project_scrum/project_scrum.py:303
#, python-format

View File

@ -321,9 +321,9 @@ class project_scrum_meeting(osv.osv):
meeting_id = self.browse(cr, uid, ids, context=context)[0]
user = self.pool.get('res.users').browse(cr, uid, uid, context=context)
user_email = email_from or user.address_id.email or email_from
body = _('Hello ') + meeting_id.sprint_id.scrum_master_id.name + ",\n" + " \n" +_('I am sending you Daily Meeting Details of date')+ ' %s ' % (meeting_id.date)+ _('for the Sprint')+ ' %s\n' % (meeting_id.sprint_id.name)
body += "\n"+ _('*Tasks since yesterday:')+ '\n_______________________%s' % (meeting_id.question_yesterday) + '\n' +_("*Task for Today:")+ '\n_______________________ %s\n' % (meeting_id.question_today )+ '\n' +_('*Blocks encountered:') +'\n_______________________ %s' % (meeting_id.question_blocks or _('No Blocks'))
body += "\n\n"+_('Thank you')+",\n"+ user.name
body = _("Hello %s,\n \nI am sending you Daily Meeting Details of date %s for the Sprint %s\n") %(meeting_id.sprint_id.scrum_master_id.name, meeting_id.date, meeting_id.sprint_id.name)
body += _('\n*Tasks since yesterday:\n_______________________%s\n*Task for Today:\n_______________________ %s\n\n*Blocks encountered:\n_______________________ %s') %(meeting_id.question_yesterday,meeting_id.question_today, meeting_id.question_blocks or _('No Blocks'))
body += _("\n\nThank you,\n%s") % user.name
sub_name = meeting_id.name or _('Scrum Meeting of %s') % meeting_id.date
flag = tools.email_send(user_email , [email], sub_name, body, reply_to=None, openobject_id=str(meeting_id.id))
if not flag:

View File

@ -54,12 +54,12 @@ class backlog_sprint_assign(osv.osv_memory):
'planned_hours':backlog.expected_hours,
'remaining_hours':backlog.expected_hours,
})
message = _('Product Backlog') + " '" + backlog.name + "' "+ _("is converted into Task %d."%(task_id,))
message = _("Product Backlog '%s' is converted into Task %d.") %(backlog.name, task_id)
self.log(cr, uid, backlog.id, message)
if data.state_open and backlog.state == "draft":
backlog_obj.write(cr, uid, backlog.id, {'state':'open'})
sprint = sprint_obj.browse(cr, uid, data.sprint_id.id, context=context)
message = _('Product Backlog') + " '" + backlog.name + "' "+ _("is assigned sprint:%s"%(sprint.name))
message = _("Product Backlog '%s' is assigned to sprint %s") %(backlog.name, sprint.name)
self.log(cr, uid, backlog.id, message)
backlog_obj.write(cr, uid, backlog_ids, {'sprint_id': data.sprint_id.id}, context=context)
return {'type': 'ir.actions.act_window_close'}

View File

@ -28,9 +28,10 @@ msgstr ""
#. module: sale_crm
#: code:addons/sale_crm/wizard/crm_make_sale.py:108
#, python-format
msgid "is converted to Quotation."
msgid "Opportunity '%s' is converted to Quotation."
msgstr ""
#. module: sale_crm
#: code:addons/sale_crm/wizard/crm_make_sale.py:89
#, python-format
@ -94,12 +95,6 @@ msgstr ""
msgid "Converted to Sales Quotation(id: %s)."
msgstr ""
#. module: sale_crm
#: code:addons/sale_crm/wizard/crm_make_sale.py:108
#, python-format
msgid "Opportunity "
msgstr ""
#. module: sale_crm
#: code:addons/sale_crm/wizard/crm_make_sale.py:92
#, python-format

View File

@ -105,7 +105,7 @@ class crm_make_sale(osv.osv_memory):
new_id = sale_obj.create(cr, uid, vals)
case_obj.write(cr, uid, [case.id], {'ref': 'sale.order,%s' % new_id})
new_ids.append(new_id)
message = _('Opportunity ') + " '" + case.name + "' "+ _("is converted to Quotation.")
message = _("Opportunity '%s' is converted to Quotation.") % (case.name)
self.log(cr, uid, case.id, message)
case_obj._history(cr, uid, [case], _("Converted to Sales Quotation(id: %s).") % (new_id))

View File

@ -61,10 +61,12 @@ msgid "Share Access Rules"
msgstr ""
#. module: share
#: code:addons/share/wizard/share_wizard.py:425
#: code:addons/share/wizard/share_wizard.py:453
#, python-format
msgid "Dear,\n"
"\n"
"%s\n"
"\n"
""
msgstr ""
@ -116,9 +118,9 @@ msgid "Generic Share Access URL"
msgstr ""
#. module: share
#: code:addons/share/wizard/share_wizard.py:429
#: code:addons/share/wizard/share_wizard.py:457
#, python-format
msgid "You may use the following login and password to get access to this protected area:"
msgid "You may use the following login and password to get access to this protected area:\n"
msgstr ""
#. module: share

View File

@ -450,11 +450,11 @@ class share_create(osv.osv_memory):
for result_line in wizard_data.result_line_ids:
email_to = result_line.login
subject = _('%s has shared OpenERP %s information with you') % (user.name, wizard_data.action_id.name)
body = _("Dear,\n\n") + subject + "\n\n"
body = _("Dear,\n\n%s\n\n") % subject
body += _("To access it, you can go to the following URL:\n %s") % result_line.share_url
body += "\n\n"
if result_line.newly_created:
body += _("You may use the following login and password to get access to this protected area:") + "\n"
body += _("You may use the following login and password to get access to this protected area:\n")
body += "%s: %s" % (_("Username"), result_line.login) + "\n"
body += "%s: %s" % (_("Password"), result_line.password) + "\n"
body += "%s: %s" % (_("Database"), cr.dbname) + "\n"

View File

@ -685,12 +685,6 @@ msgstr ""
msgid "Location Address"
msgstr ""
#. module: stock
#: code:addons/stock/stock.py:2348
#, python-format
msgid "is consumed with"
msgstr ""
#. module: stock
#: help:stock.move,prodlot_id:0
msgid "Production lot is used to put a serial number on the production"
@ -812,6 +806,12 @@ msgstr ""
msgid "Journal"
msgstr ""
#. module: stock
#: code:addons/stock/stock.py:1315
#, python-format
msgid "is scheduled %s."
msgstr ""
#. module: stock
#: help:stock.picking,location_id:0
msgid "Keep empty if you produce at the location where the finished products are needed.Set a location if you produce at a fixed location. This can be a partner location if you subcontract the manufacturing operations."
@ -1848,12 +1848,6 @@ msgstr ""
msgid "Automatic No Step Added"
msgstr ""
#. module: stock
#: code:addons/stock/stock.py:2348
#, python-format
msgid "Product "
msgstr ""
#. module: stock
#: view:stock.location.product:0
msgid "Stock Location Analysis"
@ -3081,9 +3075,9 @@ msgid "Product Category"
msgstr ""
#. module: stock
#: code:addons/stock/wizard/stock_change_product_qty.py:74
#: code:addons/stock/wizard/stock_change_product_qty.py:88
#, python-format
msgid "INV: "
msgid "INV: %s"
msgstr ""
#. module: stock
@ -3367,12 +3361,6 @@ msgstr ""
msgid "Unplanned Qty"
msgstr ""
#. module: stock
#: code:addons/stock/stock.py:1318
#, python-format
msgid "is scheduled"
msgstr ""
#. module: stock
#: field:stock.location,chained_company_id:0
msgid "Chained Company"
@ -3506,9 +3494,15 @@ msgid "It specifies attributes of packaging like type, quantity of packaging,etc
msgstr ""
#. module: stock
#: code:addons/stock/stock.py:2348
#: code:addons/stock/stock.py:2386
#, python-format
msgid "quantity."
msgid "Product '%s' is consumed with '%s' quantity."
msgstr ""
#. module: stock
#: code:addons/stock/stock.py:2595
#, python-format
msgid "Inventory '%s' is done."
msgstr ""
#. module: stock

View File

@ -1311,7 +1311,7 @@ class stock_picking(osv.osv):
if pick.min_date:
msg= _(' for the ')+ datetime.strptime(pick.min_date, '%Y-%m-%d %H:%M:%S').strftime('%m/%d/%Y')
state_list = {
'confirmed': _("is scheduled") + msg +'.',
'confirmed': _('is scheduled %s.') % msg,
'assigned': _('is ready to process.'),
'cancel': _('is cancelled.'),
'done': _('is done.'),
@ -2386,7 +2386,7 @@ class stock_move(osv.osv):
product_obj = self.pool.get('product.product')
for new_move in self.browse(cr, uid, res, context=context):
for (id, name) in product_obj.name_get(cr, uid, [new_move.product_id.id]):
message = _('Product ') + " '" + name + "' "+ _("is consumed with") + " '" + str(new_move.product_qty) + "' "+ _("quantity.")
message = _("Product '%s' is consumed with '%s' quantity.") %(name, new_move.product_qty)
self.log(cr, uid, new_move.id, message)
self.action_done(cr, uid, res)
@ -2595,7 +2595,7 @@ class stock_inventory(osv.osv):
'product_qty': line.product_qty
})
move_ids.append(self._inventory_line_hook(cr, uid, line, value))
message = _('Inventory') + " '" + inv.name + "' "+ _("is done.")
message = _("Inventory '%s' is done.") %(inv.name)
self.log(cr, uid, inv.id, message)
self.write(cr, uid, [inv.id], {'state': 'confirm', 'move_ids': [(6, 0, move_ids)]})
return True

View File

@ -85,7 +85,7 @@ class stock_change_product_qty(osv.osv_memory):
res_original = prod_obj_pool.browse(cr, uid, rec_id, context=context)
for data in self.browse(cr, uid, ids, context=context):
inventory_id = inventry_obj.create(cr , uid, {'name': _('INV: ') + tools.ustr(res_original.name)}, context=context)
inventory_id = inventry_obj.create(cr , uid, {'name': _('INV: %s') % tools.ustr(res_original.name)}, context=context)
line_data ={
'inventory_id' : inventory_id,
'product_qty' : data.new_quantity,

View File

@ -294,10 +294,12 @@ msgid " Incoming Left: "
msgstr ""
#. module: stock_planning
#: code:addons/stock_planning/stock_planning.py:715
#: code:addons/stock_planning/stock_planning.py:719
#, python-format
msgid "Pick List "
msgid "%s Pick List %s (%s, %s) %s %s \n"
""
msgstr ""
""
#. module: stock_planning
#: view:stock.planning.createlines:0
@ -408,7 +410,7 @@ msgstr ""
#. module: stock_planning
#: code:addons/stock_planning/stock_planning.py:626
#, python-format
msgid "Manual planning for "
msgid "Manual planning for %s"
msgstr ""
#. module: stock_planning
@ -442,7 +444,17 @@ msgstr ""
#. module: stock_planning
#: code:addons/stock_planning/stock_planning.py:636
#, python-format
msgid "Procurement created in MPS by user: "
msgid " Procurement created in MPS by user: %s Creation Date: %s \n"
" For period: %s \n"
" according to state: \n"
" Warehouse Forecast: %s \n"
" Initial Stock: %s \n"
" Planned Out: %s Planned In: %s \n"
" Already Out: %s Already In: %s \n"
" Confirmed Out: %s Confirmed In: %s \n"
" Planned Out Before: %s Confirmed In Before: %s \n"
" Expected Out: %s Incoming Left: %s \n"
" Stock Simulation: %s Minimum stock: %s"
msgstr ""
#. module: stock_planning
@ -775,6 +787,14 @@ msgstr ""
msgid "Creates forecast lines for selected warehouse and period."
msgstr ""
#. module: stock_planning
#: code:addons/stock_planning/stock_planning.py:656
#, python-format
msgid "%s Requisition (%s, %s) %s %s \n"
""
msgstr ""
""
#. module: stock_planning
#: code:addons/stock_planning/stock_planning.py:655
#, python-format
@ -1204,6 +1224,14 @@ msgstr ""
msgid "Product UoM"
msgstr ""
#. module: stock_planning
#: code:addons/stock_planning/stock_planning.py:627
#: code:addons/stock_planning/stock_planning.py:673
#: code:addons/stock_planning/stock_planning.py:697
#, python-format
msgid "MPS(%s) %s"
msgstr ""
#. module: stock_planning
#: code:addons/stock_planning/stock_planning.py:627
#: code:addons/stock_planning/stock_planning.py:671
@ -1213,9 +1241,18 @@ msgid "MPS("
msgstr ""
#. module: stock_planning
#: code:addons/stock_planning/stock_planning.py:678
#: code:addons/stock_planning/stock_planning.py:680
#, python-format
msgid "Pick created from MPS by user: "
msgid "Pick created from MPS by user: %s Creation Date: %s \n"
"For period: %s according to state: \n"
" Warehouse Forecast: %s \n"
" Initial Stock: %s \n"
" Planned Out: %s Planned In: %s \n"
" Already Out: %s Already In: %s \n"
" Confirmed Out: %s Confirmed In: %s \n"
" Planned Out Before: %s Confirmed In Before: %s \n"
" Expected Out: %s Incoming Left: %s \n"
" Stock Simulation: %s Minimum stock: %s "
msgstr ""
#. module: stock_planning

View File

@ -623,8 +623,8 @@ class stock_planning(osv.osv):
user = self.pool.get('res.users').browse(cr, uid, uid, context=context)
proc_id = self.pool.get('procurement.order').create(cr, uid, {
'company_id' : obj.company_id.id,
'name': _('Manual planning for ') + obj.period_id.name,
'origin': _('MPS(') + str(user.login) +') '+ obj.period_id.name,
'name': _('Manual planning for %s') %(obj.period_id.name),
'origin': _('MPS(%s) %s') %(user.login, obj.period_id.name),
'date_planned': obj.period_id.date_start,
'product_id': obj.product_id.id,
'product_qty': uom_qty,
@ -633,28 +633,30 @@ class stock_planning(osv.osv):
'product_uos': uos,
'location_id': obj.procure_to_stock and obj.warehouse_id.lot_stock_id.id or obj.warehouse_id.lot_input_id.id,
'procure_method': 'make_to_order',
'note' : _("Procurement created in MPS by user: ") + str(user.login) + _(" Creation Date: ") + \
time.strftime('%Y-%m-%d %H:%M:%S') + \
_("\nFor period: ") + obj.period_id.name + _(" according to state:") + \
_("\n Warehouse Forecast: ") + str(obj.warehouse_forecast) + \
_("\n Initial Stock: ") + str(obj.stock_start) + \
_("\n Planned Out: ") + str(obj.planned_outgoing) + _(" Planned In: ") + str(obj.to_procure) + \
_("\n Already Out: ") + str(obj.already_out) + _(" Already In: ") + str(obj.already_in) + \
_("\n Confirmed Out: ") + str(obj.outgoing) + _(" Confirmed In: ") + str(obj.incoming) + \
_("\n Planned Out Before: ") + str(obj.outgoing_before) + _(" Confirmed In Before: ") + \
str(obj.incoming_before) + \
_("\n Expected Out: ") + str(obj.outgoing_left) + _(" Incoming Left: ") + str(obj.incoming_left) + \
_("\n Stock Simulation: ") + str(obj.stock_simulation) + _(" Minimum stock: ") + str(obj.minimum_op),
'note' : _(' Procurement created in MPS by user: %s Creation Date: %s \
\n For period: %s \
\n according to state: \
\n Warehouse Forecast: %s \
\n Initial Stock: %s \
\n Planned Out: %s Planned In: %s \
\n Already Out: %s Already In: %s \
\n Confirmed Out: %s Confirmed In: %s \
\n Planned Out Before: %s Confirmed In Before: %s \
\n Expected Out: %s Incoming Left: %s \
\n Stock Simulation: %s Minimum stock: %s') %(user.login, time.strftime('%Y-%m-%d %H:%M:%S'),
obj.period_id.name, obj.warehouse_forecast, obj.planned_outgoing, obj.stock_start, obj.to_procure,
obj.already_out, obj.already_in, obj.outgoing, obj.incoming, obj.outgoing_before, obj.incoming_before,
obj.outgoing_left, obj.incoming_left, obj.stock_simulation, obj.minimum_op)
}, context=context)
wf_service = netsvc.LocalService("workflow")
wf_service.trg_validate(uid, 'procurement.order', proc_id, 'button_confirm', cr)
self.calculate_planning(cr, uid, ids, context)
prev_text = obj.history or ""
self.write(cr, uid, ids, {
'history': prev_text + _('Requisition (') + str(user.login) + ", " + time.strftime('%Y.%m.%d %H:%M) ') + str(obj.incoming_left) + \
" " + obj.product_uom.name + "\n",
'history': _('%s Requisition (%s, %s) %s %s \n') % (prev_text, user.login, time.strftime('%Y.%m.%d %H:%M'),
obj.incoming_left, obj.product_uom.name)
})
return True
def internal_supply(self, cr, uid, ids, context, *args):
@ -668,29 +670,31 @@ class stock_planning(osv.osv):
uom_qty, uom, uos_qty, uos = self._qty_to_standard(cr, uid, obj, context)
user = self.pool.get('res.users').browse(cr, uid, uid, context)
picking_id = self.pool.get('stock.picking').create(cr, uid, {
'origin': _('MPS(') + str(user.login) +') '+ obj.period_id.name,
'type': 'internal',
'state': 'auto',
'date': obj.period_id.date_start,
'move_type': 'direct',
'invoice_state': 'none',
'company_id': obj.company_id.id,
'note': _("Pick created from MPS by user: ") + str(user.login) + _(" Creation Date: ") + \
time.strftime('%Y-%m-%d %H:%M:%S') + \
_("\nFor period: ") + obj.period_id.name + _(" according to state:") + \
_("\n Warehouse Forecast: ") + str(obj.warehouse_forecast) + \
_("\n Initial Stock: ") + str(obj.stock_start) + \
_("\n Planned Out: ") + str(obj.planned_outgoing) + _(" Planned In: ") + str(obj.to_procure) + \
_("\n Already Out: ") + str(obj.already_out) + _(" Already In: ") + str(obj.already_in) + \
_("\n Confirmed Out: ") + str(obj.outgoing) + _(" Confirmed In: ") + str(obj.incoming) + \
_("\n Planned Out Before: ") + str(obj.outgoing_before) + _(" Confirmed In Before: ") + \
str(obj.incoming_before) + \
_("\n Expected Out: ") + str(obj.outgoing_left) + _(" Incoming Left: ") + str(obj.incoming_left) + \
_("\n Stock Simulation: ") + str(obj.stock_simulation) + _(" Minimum stock: ") + str(obj.minimum_op),
'origin': _('MPS(%s) %s') %(user.login, obj.period_id.name),
'type': 'internal',
'state': 'auto',
'date': obj.period_id.date_start,
'move_type': 'direct',
'invoice_state': 'none',
'company_id': obj.company_id.id,
'note': _('Pick created from MPS by user: %s Creation Date: %s \
\nFor period: %s according to state: \
\n Warehouse Forecast: %s \
\n Initial Stock: %s \
\n Planned Out: %s Planned In: %s \
\n Already Out: %s Already In: %s \
\n Confirmed Out: %s Confirmed In: %s \
\n Planned Out Before: %s Confirmed In Before: %s \
\n Expected Out: %s Incoming Left: %s \
\n Stock Simulation: %s Minimum stock: %s ')
% (user.login, time.strftime('%Y-%m-%d %H:%M:%S'), obj.period_id.name, obj.warehouse_forecast,
obj.stock_start, obj.planned_outgoing, obj.to_procure, obj.already_out, obj.already_in,
obj.outgoing, obj.incoming, obj.outgoing_before, obj.incoming_before,
obj.outgoing_left, obj.incoming_left, obj.stock_simulation, obj.minimum_op)
})
move_id = self.pool.get('stock.move').create(cr, uid, {
'name': _('MPS(') + str(user.login) +') '+ obj.period_id.name,
'name': _('MPS(%s) %s') %(user.login, obj.period_id.name),
'picking_id': picking_id,
'product_id': obj.product_id.id,
'date': obj.period_id.date_start,
@ -712,8 +716,8 @@ class stock_planning(osv.osv):
prev_text = obj.history or ""
pick_name = self.pool.get('stock.picking').browse(cr, uid, picking_id).name
self.write(cr, uid, ids, {
'history' : prev_text + _('Pick List ')+ pick_name + " (" + str(user.login) + ", " + time.strftime('%Y.%m.%d %H:%M) ') \
+ str(obj.incoming_left) +" " + obj.product_uom.name + "\n",
'history': _('%s Pick List %s (%s, %s) %s %s \n') % (prev_text, pick_name, user.login, time.strftime('%Y.%m.%d %H:%M'),
obj.incoming_left, obj.product_uom.name)
})
return True