diff --git a/addons/account/account_bank_statement.py b/addons/account/account_bank_statement.py
index 51e3d2dbe85..1f47a6be9bd 100644
--- a/addons/account/account_bank_statement.py
+++ b/addons/account/account_bank_statement.py
@@ -127,6 +127,7 @@ class account_bank_statement(osv.osv):
_order = "date desc, id desc"
_name = "account.bank.statement"
_description = "Bank Statement"
+ _inherit = ['mail.thread']
_columns = {
'name': fields.char('Name', size=64, required=True, states={'draft': [('readonly', False)]}, readonly=True, help='if you give the Name other then /, its created Accounting Entries Move will be with same name as statement name. This allows the statement entries to have the same references than the statement itself'), # readonly for account_cash_statement
'date': fields.date('Date', required=True, states={'confirm': [('readonly', True)]}, select=True),
@@ -364,7 +365,7 @@ class account_bank_statement(osv.osv):
'name': st_number,
'balance_end_real': st.balance_end
}, context=context)
- self.log(cr, uid, st.id, _('Statement %s is confirmed, journal items are created.') % (st_number,))
+ self.message_append_note(cr, uid, [st.id], body=_('Statement %s is confirmed, journal items are created.') % (st_number,), context=context)
return self.write(cr, uid, ids, {'state':'confirm'}, context=context)
def button_cancel(self, cr, uid, ids, context=None):
diff --git a/addons/account/account_invoice.py b/addons/account/account_invoice.py
index decf9c2aaa6..c6011979f8d 100644
--- a/addons/account/account_invoice.py
+++ b/addons/account/account_invoice.py
@@ -982,7 +982,6 @@ class account_invoice(osv.osv):
def invoice_validate(self, cr, uid, ids, context=None):
self.write(cr, uid, ids, {'state':'open'}, context=context)
- self.invoice_validate_send_note(cr, uid, ids, context=context)
return True
def line_get_convert(self, cr, uid, x, part, date, context=None):
@@ -1046,7 +1045,7 @@ class account_invoice(osv.osv):
if obj_inv.type in ('out_invoice', 'out_refund'):
ctx = self.get_log_context(cr, uid, context=ctx)
message = _("Invoice '%s' is validated.") % name
- self.log(cr, uid, inv_id, message, context=ctx)
+ self.message_append_note(cr, uid, [inv_id], body=message, context=context)
return True
def action_cancel(self, cr, uid, ids, *args):
@@ -1276,7 +1275,7 @@ class account_invoice(osv.osv):
# TODO: use currency's formatting function
msg = _("Invoice '%s' is paid partially: %s%s of %s%s (%s%s remaining)") % \
(name, pay_amount, code, invoice.amount_total, code, total, code)
- self.log(cr, uid, inv_id, msg)
+ self.message_append_note(cr, uid, [inv_id], body=msg, context=context)
self.pool.get('account.move.line').reconcile_partial(cr, uid, line_ids, 'manual', context)
# Update the stored value (fields.function), so we write to trigger recompute
@@ -1300,10 +1299,6 @@ class account_invoice(osv.osv):
for obj in self.browse(cr, uid, ids, context=context):
self.message_append_note(cr, uid, [obj.id],body=_("%s created .") % (self._get_document_type(obj.type)), context=context)
- def invoice_validate_send_note(self, cr, uid, ids, context=None):
- for obj in self.browse(cr, uid, ids, context=context):
- self.message_append_note(cr, uid, [obj.id], body=_("%s validated .") % (self._get_document_type(obj.type)), context=context)
-
def confirm_paid_send_note(self, cr, uid, ids, context=None):
for obj in self.browse(cr, uid, ids, context=context):
self.message_append_note(cr, uid, [obj.id], body=_("%s paid .") % (self._get_document_type(obj.type)), context=context)
diff --git a/addons/account/account_invoice_view.xml b/addons/account/account_invoice_view.xml
index e94857c8536..8254d5183be 100644
--- a/addons/account/account_invoice_view.xml
+++ b/addons/account/account_invoice_view.xml
@@ -247,7 +247,7 @@
-
+
@@ -352,7 +352,7 @@
-
+
diff --git a/addons/account/i18n/ja.po b/addons/account/i18n/ja.po
index f4550c3fd69..754305865a8 100644
--- a/addons/account/i18n/ja.po
+++ b/addons/account/i18n/ja.po
@@ -14,7 +14,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2012-06-01 05:33+0000\n"
+"X-Launchpad-Export-Date: 2012-06-02 05:35+0000\n"
"X-Generator: Launchpad (build 15342)\n"
#. module: account
diff --git a/addons/account_bank_statement_extensions/i18n/gu.po b/addons/account_bank_statement_extensions/i18n/gu.po
index 6e0e0089341..a1677df4845 100644
--- a/addons/account_bank_statement_extensions/i18n/gu.po
+++ b/addons/account_bank_statement_extensions/i18n/gu.po
@@ -14,7 +14,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2012-06-01 05:33+0000\n"
+"X-Launchpad-Export-Date: 2012-06-02 05:35+0000\n"
"X-Generator: Launchpad (build 15342)\n"
#. module: account_bank_statement_extensions
diff --git a/addons/account_check_writing/i18n/ja.po b/addons/account_check_writing/i18n/ja.po
index a9ce55b0cd8..6f65f35354d 100644
--- a/addons/account_check_writing/i18n/ja.po
+++ b/addons/account_check_writing/i18n/ja.po
@@ -8,14 +8,14 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME \n"
"POT-Creation-Date: 2012-02-08 00:35+0000\n"
-"PO-Revision-Date: 2012-05-10 18:14+0000\n"
-"Last-Translator: Raphael Collet (OpenERP) \n"
+"PO-Revision-Date: 2012-06-01 06:41+0000\n"
+"Last-Translator: Akira Hiyama \n"
"Language-Team: Japanese \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2012-05-11 05:15+0000\n"
-"X-Generator: Launchpad (build 15225)\n"
+"X-Launchpad-Export-Date: 2012-06-02 05:35+0000\n"
+"X-Generator: Launchpad (build 15342)\n"
#. module: account_check_writing
#: selection:res.company,check_layout:0
@@ -100,7 +100,7 @@ msgstr "小切手の振出"
#: report:account.print.check.middle:0
#: report:account.print.check.top:0
msgid "Discount"
-msgstr "割引き"
+msgstr "割引"
#. module: account_check_writing
#: report:account.print.check.bottom:0
diff --git a/addons/base_calendar/base_calendar.py b/addons/base_calendar/base_calendar.py
index d7d6501926f..bbededc8eaf 100644
--- a/addons/base_calendar/base_calendar.py
+++ b/addons/base_calendar/base_calendar.py
@@ -814,7 +814,6 @@ class calendar_alarm(osv.osv):
context = {}
mail_message = self.pool.get('mail.message')
current_datetime = datetime.now()
- request_obj = self.pool.get('res.request')
alarm_ids = self.search(cr, uid, [('state', '!=', 'done')], context=context)
mail_to = []
@@ -854,26 +853,28 @@ class calendar_alarm(osv.osv):
ref = alarm.model_id.model + ',' + str(alarm.res_id)
# search for alreay sent requests
- if request_obj.search(cr, uid, [('trigger_date', '=', r_date), ('ref_doc1', '=', ref)], context=context):
- continue
+ #if request_obj.search(cr, uid, [('trigger_date', '=', r_date), ('ref_doc1', '=', ref)], context=context):
+ #continue
- if alarm.action == 'display':
- value = {
- 'name': alarm.name,
- 'act_from': alarm.user_id.id,
- 'act_to': alarm.user_id.id,
- 'body': alarm.description,
- 'trigger_date': r_date,
- 'ref_doc1': ref
- }
- request_id = request_obj.create(cr, uid, value)
- request_ids = [request_id]
- for attendee in res_obj.attendee_ids:
- if attendee.user_id:
- value['act_to'] = attendee.user_id.id
- request_id = request_obj.create(cr, uid, value)
- request_ids.append(request_id)
- request_obj.request_send(cr, uid, request_ids)
+ # Deactivated because of the removing of res.request
+ # TODO: when cleaning calendar module, re-add this in a new mechanism
+ #if alarm.action == 'display':
+ #value = {
+ #'name': alarm.name,
+ #'act_from': alarm.user_id.id,
+ #'act_to': alarm.user_id.id,
+ #'body': alarm.description,
+ #'trigger_date': r_date,
+ #'ref_doc1': ref
+ #}
+ #request_id = request_obj.create(cr, uid, value)
+ #request_ids = [request_id]
+ #for attendee in res_obj.attendee_ids:
+ #if attendee.user_id:
+ #value['act_to'] = attendee.user_id.id
+ #request_id = request_obj.create(cr, uid, value)
+ #request_ids.append(request_id)
+ #request_obj.request_send(cr, uid, request_ids)
if alarm.action == 'email':
sub = '[Openobject Reminder] %s' % (alarm.name)
diff --git a/addons/base_synchro/__openerp__.py b/addons/base_synchro/__openerp__.py
index a7e0cff1144..73c8cf13258 100644
--- a/addons/base_synchro/__openerp__.py
+++ b/addons/base_synchro/__openerp__.py
@@ -30,7 +30,7 @@ Synchronization with all objects.
Configure servers and trigger synchronization with its database objects.
""",
- "depends": ["base"],
+ "depends": ["base", "mail"],
"demo_xml": [],
"update_xml": [
"wizard/base_synchro_view.xml",
diff --git a/addons/base_synchro/wizard/base_synchro.py b/addons/base_synchro/wizard/base_synchro.py
index 1192c7768ff..28433b5caac 100644
--- a/addons/base_synchro/wizard/base_synchro.py
+++ b/addons/base_synchro/wizard/base_synchro.py
@@ -234,7 +234,6 @@ class base_synchro(osv.osv_memory):
self.pool.get('base.synchro.obj').write(cr, uid, [object.id], {'synchronize_date': dt})
end_date = time.strftime('%Y-%m-%d, %Hh %Mm %Ss')
if syn_obj.user_id:
- request = pooler.get_pool(cr.dbname).get('res.request')
if not self.report:
self.report.append('No exception.')
summary = '''Here is the synchronization report:
@@ -249,12 +248,8 @@ Records created: %d
Exceptions:
'''% (start_date,end_date,self.report_total, self.report_write,self.report_create)
summary += '\n'.join(self.report)
- request.create(cr, uid, {
- 'name' : "Synchronization report",
- 'act_from' : uid,
- 'act_to' : syn_obj.user_id.id,
- 'body': summary,
- })
+ # Chatter: old res.request transformed into a message added to the destination user
+ self.pool.get('res.users').message_append_note(cr, uid, [syn_obj.user_id.id], body=summary, subject=_('Synchronization Report'), context=context)
return True
def upload_download_multi_thread(self, cr, uid, data, context=None):
diff --git a/addons/crm/crm_lead.py b/addons/crm/crm_lead.py
index ee6b9835f02..0b58975bca2 100644
--- a/addons/crm/crm_lead.py
+++ b/addons/crm/crm_lead.py
@@ -228,7 +228,6 @@ class crm_lead(base_stage, osv.osv):
When the case is over, the state is set to \'Done\'.\
If the case needs to be reviewed then the state is \
set to \'Pending\'.'),
- 'message_ids': fields.one2many('mail.message', 'res_id', 'Messages', domain=[('model','=',_name)]),
'subjects': fields.function(_get_email_subject, fnct_search=_history_search, string='Subject of Email', type='char', size=64),
# Only used for type opportunity
diff --git a/addons/crm/crm_lead_view.xml b/addons/crm/crm_lead_view.xml
index 7d1abbcee0e..9ab2c90c853 100644
--- a/addons/crm/crm_lead_view.xml
+++ b/addons/crm/crm_lead_view.xml
@@ -155,7 +155,7 @@
-
+
@@ -498,7 +498,7 @@
-
+
diff --git a/addons/crm/crm_meeting.py b/addons/crm/crm_meeting.py
index 740db3d967f..bc1ab42b3df 100644
--- a/addons/crm/crm_meeting.py
+++ b/addons/crm/crm_meeting.py
@@ -58,7 +58,6 @@ class crm_meeting(base_state, osv.Model):
'event_id', 'attendee_id', 'Attendees', states={'done': [('readonly', True)]}),
'date_closed': fields.datetime('Closed', readonly=True),
'date_deadline': fields.datetime('Deadline', states={'done': [('readonly', True)]}),
- 'message_ids': fields.one2many('mail.message', 'res_id', 'Messages', domain=[('model','=',_name)]),
'state': fields.selection([ ('draft', 'Unconfirmed'),
('open', 'Confirmed'),
('cancel', 'Cancelled'),
diff --git a/addons/crm/crm_meeting_view.xml b/addons/crm/crm_meeting_view.xml
index fc4efbad816..88837f92613 100644
--- a/addons/crm/crm_meeting_view.xml
+++ b/addons/crm/crm_meeting_view.xml
@@ -213,7 +213,7 @@
-
+
diff --git a/addons/crm/crm_phonecall.py b/addons/crm/crm_phonecall.py
index 8c7c3fe72df..9418b05b9ea 100644
--- a/addons/crm/crm_phonecall.py
+++ b/addons/crm/crm_phonecall.py
@@ -69,7 +69,6 @@ class crm_phonecall(base_state, osv.osv):
'date_closed': fields.datetime('Closed', readonly=True),
'date': fields.datetime('Date'),
'opportunity_id': fields.many2one ('crm.lead', 'Lead/Opportunity'),
- 'message_ids': fields.one2many('mail.message', 'res_id', 'Messages', domain=[('model','=',_name)]),
}
def _get_default_state(self, cr, uid, context=None):
diff --git a/addons/crm/crm_phonecall_view.xml b/addons/crm/crm_phonecall_view.xml
index 1826de08970..0e94ceaf20d 100644
--- a/addons/crm/crm_phonecall_view.xml
+++ b/addons/crm/crm_phonecall_view.xml
@@ -124,7 +124,7 @@
-
+
diff --git a/addons/crm/i18n/nl.po b/addons/crm/i18n/nl.po
index 1baa8e962a6..a176db67234 100644
--- a/addons/crm/i18n/nl.po
+++ b/addons/crm/i18n/nl.po
@@ -7,14 +7,14 @@ msgstr ""
"Project-Id-Version: OpenERP Server 6.0dev\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2012-02-08 01:37+0100\n"
-"PO-Revision-Date: 2012-02-16 14:00+0000\n"
+"PO-Revision-Date: 2012-06-01 08:42+0000\n"
"Last-Translator: Erwin \n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2012-05-11 04:44+0000\n"
-"X-Generator: Launchpad (build 15225)\n"
+"X-Launchpad-Export-Date: 2012-06-02 05:35+0000\n"
+"X-Generator: Launchpad (build 15342)\n"
#. module: crm
#: view:crm.lead.report:0
@@ -172,7 +172,7 @@ msgstr "Verwachte besluit maand"
#. module: crm
#: view:crm.lead2opportunity.partner.mass:0
msgid "Assigned Opportunities to"
-msgstr ""
+msgstr "Toegewezen porspects aan"
#. module: crm
#: view:crm.lead:0 field:crm.lead,partner_id:0 view:crm.lead.report:0
@@ -599,7 +599,7 @@ msgstr "Einddatum"
#. module: crm
#: view:crm.opportunity2phonecall:0 view:crm.phonecall2phonecall:0
msgid "Schedule/Log a Call"
-msgstr ""
+msgstr "Plan/Log een gesprek"
#. module: crm
#: constraint:base.action.rule:0
@@ -792,7 +792,7 @@ msgstr "Doorgaan"
#. module: crm
#: field:crm.segmentation,som_interval:0
msgid "Days per Period"
-msgstr ""
+msgstr "Dagen per periode"
#. module: crm
#: field:crm.meeting,byday:0
@@ -960,7 +960,7 @@ msgstr "Dagen voor openen"
#. module: crm
#: view:crm.meeting:0
msgid "Show Time as"
-msgstr ""
+msgstr "Tijd weergeven als"
#. module: crm
#: view:crm.phonecall2partner:0
@@ -1344,7 +1344,7 @@ msgstr "Schrijfdatum"
#. module: crm
#: view:crm.meeting:0
msgid "End of Recurrency"
-msgstr ""
+msgstr "Einde herhaling"
#. module: crm
#: view:crm.meeting:0
@@ -1907,7 +1907,7 @@ msgstr "Antwoord aan"
#. module: crm
#: view:crm.case.section:0
msgid "Select Stages for this Sales Team"
-msgstr ""
+msgstr "Selecteer de fases voor dit verkoopteam"
#. module: crm
#: view:board.board:0
@@ -2779,7 +2779,7 @@ msgstr "E-mail adres van de contactpersoon"
#. module: crm
#: field:crm.lead,referred:0
msgid "Referred by"
-msgstr ""
+msgstr "Gerefereerd door"
#. module: crm
#: view:crm.lead:0 model:ir.model,name:crm.model_crm_add_note
diff --git a/addons/crm_claim/crm_claim.py b/addons/crm_claim/crm_claim.py
index c4e19a19dfd..808ad2e2055 100644
--- a/addons/crm_claim/crm_claim.py
+++ b/addons/crm_claim/crm_claim.py
@@ -115,7 +115,6 @@ class crm_claim(base_stage, osv.osv):
When the case is over, the state is set to \'Done\'.\
If the case needs to be reviewed then the state is \
set to \'Pending\'.'),
- 'message_ids': fields.one2many('mail.message', 'res_id', 'Messages', domain=[('model','=',_name)]),
}
_defaults = {
@@ -159,6 +158,11 @@ class crm_claim(base_stage, osv.osv):
return stage_ids[0]
return False
+ def create(self, cr, uid, vals, context=None):
+ obj_id = super(crm_claim, self).create(cr, uid, vals, context)
+ self.create_send_note(cr, uid, [obj_id], context=context)
+ return obj_id
+
def case_refuse(self, cr, uid, ids, context=None):
""" Mark the case as refused: state=done and case_refused=True """
for lead in self.browse(cr, uid, ids):
@@ -166,7 +170,7 @@ class crm_claim(base_stage, osv.osv):
if stage_id:
self.case_set(cr, uid, [lead.id], values_to_update={}, new_stage_id=stage_id, context=context)
return self.case_refuse_send_note(cr, uid, ids, context=context)
-
+
def onchange_partner_id(self, cr, uid, ids, part, email=False):
"""This function returns value of partner address based on partner
:param part: Partner's id
@@ -241,11 +245,13 @@ class crm_claim(base_stage, osv.osv):
""" Override of default prefix for notifications. """
return 'Claim'
+ def create_send_note(self, cr, uid, ids, context=None):
+ msg = _('Claim has been created .')
+ return self.message_append_note(cr, uid, ids, body=msg, context=context)
+
def case_refuse_send_note(self, cr, uid, ids, context=None):
- for id in ids:
- msg = _('%s has been refused .') % (self.case_get_note_msg_prefix(cr, uid, id, context=context))
- self.message_append_note(cr, uid, [id], body=msg, context=context)
- return True
+ msg = _('Claim has been refused .')
+ return self.message_append_note(cr, uid, ids, body=msg, context=context)
def stage_set_send_note(self, cr, uid, ids, stage_id, context=None):
""" Override of the (void) default notification method. """
diff --git a/addons/crm_claim/crm_claim_view.xml b/addons/crm_claim/crm_claim_view.xml
index f2e40ae34d1..be2a2b818de 100644
--- a/addons/crm_claim/crm_claim_view.xml
+++ b/addons/crm_claim/crm_claim_view.xml
@@ -166,32 +166,12 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
diff --git a/addons/crm_fundraising/crm_fundraising.py b/addons/crm_fundraising/crm_fundraising.py
index 34b5f20203c..73f72979730 100644
--- a/addons/crm_fundraising/crm_fundraising.py
+++ b/addons/crm_fundraising/crm_fundraising.py
@@ -23,6 +23,7 @@ from base_status.base_stage import base_stage
from crm import crm
from crm import wizard
from osv import fields, osv
+from tools.translate import _
wizard.mail_compose_message.SUPPORTED_MODELS.append('crm.fundraising')
@@ -76,7 +77,6 @@ class crm_fundraising(base_stage, osv.osv):
When the case is over, the state is set to \'Done\'.\
If the case needs to be reviewed then the state is \
set to \'Pending\'.'),
- 'message_ids': fields.one2many('mail.message', 'res_id', 'Messages', domain=[('model','=',_name)]),
}
_defaults = {
@@ -122,6 +122,11 @@ class crm_fundraising(base_stage, osv.osv):
return stage_ids[0]
return False
+ def create(self, cr, uid, vals, context=None):
+ obj_id = super(crm_fundraising, self).create(cr, uid, vals, context)
+ self.create_send_note(cr, uid, [obj_id], context=context)
+ return obj_id
+
def message_new(self, cr, uid, msg, custom_values=None, context=None):
"""Automatically called when new email message arrives"""
res_id = super(crm_fundraising,self).message_new(cr, uid, msg, custom_values=custom_values, context=context)
@@ -146,6 +151,11 @@ class crm_fundraising(base_stage, osv.osv):
""" Override of default prefix for notifications. """
return 'Fundraising'
+ def create_send_note(self, cr, uid, ids, context=None):
+ msg = _('Fundraising has been created .')
+ self.message_append_note(cr, uid, ids, body=msg, context=context)
+ return True
+
def stage_set_send_note(self, cr, uid, ids, stage_id, context=None):
""" Override of the (void) default notification method. """
stage_name = self.pool.get('crm.case.stage').name_get(cr, uid, [stage_id], context=context)[0][1]
diff --git a/addons/crm_fundraising/crm_fundraising_view.xml b/addons/crm_fundraising/crm_fundraising_view.xml
index 4dabfb5a94a..417ebe5cd77 100644
--- a/addons/crm_fundraising/crm_fundraising_view.xml
+++ b/addons/crm_fundraising/crm_fundraising_view.xml
@@ -101,29 +101,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -146,6 +123,9 @@
+
+
+
diff --git a/addons/crm_helpdesk/crm_helpdesk.py b/addons/crm_helpdesk/crm_helpdesk.py
index c77fe384fbe..f0d98efebb3 100644
--- a/addons/crm_helpdesk/crm_helpdesk.py
+++ b/addons/crm_helpdesk/crm_helpdesk.py
@@ -77,7 +77,6 @@ class crm_helpdesk(base_state, osv.osv):
\nIf the case is in progress the state is set to \'Open\'.\
\nWhen the case is over, the state is set to \'Done\'.\
\nIf the case needs to be reviewed then the state is set to \'Pending\'.'),
- 'message_ids': fields.one2many('mail.message', 'res_id', 'Messages', domain=[('model','=',_name)]),
}
_defaults = {
@@ -91,6 +90,11 @@ class crm_helpdesk(base_state, osv.osv):
'priority': lambda *a: crm.AVAILABLE_PRIORITIES[2][0],
}
+ def create(self, cr, uid, vals, context=None):
+ obj_id = super(crm_helpdesk, self).create(cr, uid, vals, context)
+ self.create_send_note(cr, uid, [obj_id], context=context)
+ return obj_id
+
def message_new(self, cr, uid, msg_dict, custom_values=None, context=None):
"""Automatically called when new email message arrives"""
res_id = super(crm_helpdesk,self).message_new(cr, uid, msg_dict, custom_values=custom_values, context=context)
@@ -144,9 +148,15 @@ class crm_helpdesk(base_state, osv.osv):
# ******************************
# OpenChatter
# ******************************
-
+
def case_get_note_msg_prefix(self, cr, uid, id, context=None):
- return 'Helpdesk'
+ """ override of default base_state method. """
+ return 'Case'
+
+ def create_send_note(self, cr, uid, ids, context=None):
+ msg = _('Case has been created .')
+ self.message_append_note(cr, uid, ids, body=msg, context=context)
+ return True
+
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
-
diff --git a/addons/crm_helpdesk/crm_helpdesk_view.xml b/addons/crm_helpdesk/crm_helpdesk_view.xml
index 8d2d15fb626..fe1cf0a5b3f 100644
--- a/addons/crm_helpdesk/crm_helpdesk_view.xml
+++ b/addons/crm_helpdesk/crm_helpdesk_view.xml
@@ -84,29 +84,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -133,7 +110,7 @@
-
+
diff --git a/addons/event/event.py b/addons/event/event.py
index f01caac175f..a348e005d06 100644
--- a/addons/event/event.py
+++ b/addons/event/event.py
@@ -48,6 +48,7 @@ class event_event(osv.osv):
_name = 'event.event'
_description = __doc__
_order = 'date_begin'
+ _inherit = ['ir.needaction_mixin','mail.thread']
def name_get(self, cr, uid, ids, context=None):
if not ids:
@@ -70,6 +71,11 @@ class event_event(osv.osv):
res = self.name_get(cr, uid, ids, context=context)
return dict(res)
+ def create(self, cr, uid, vals, context=None):
+ obj_id = super(event_event, self).create(cr, uid, vals, context)
+ self.create_send_note(cr, uid, [obj_id], context=context)
+ return obj_id
+
def copy(self, cr, uid, id, default=None, context=None):
""" Reset the state and the registrations while copying an event
"""
@@ -82,6 +88,7 @@ class event_event(osv.osv):
return super(event_event, self).copy(cr, uid, id, default=default, context=context)
def button_draft(self, cr, uid, ids, context=None):
+ self.button_draft_send_note(cr, uid, ids, context=context)
return self.write(cr, uid, ids, {'state': 'draft'}, context=context)
def button_cancel(self, cr, uid, ids, context=None):
@@ -91,9 +98,11 @@ class event_event(osv.osv):
if event_reg.state == 'done':
raise osv.except_osv(_('Error!'),_("You have already set a registration for this event as 'Attended'. Please reset it to draft if you want to cancel this event.") )
registration.write(cr, uid, reg_ids, {'state': 'cancel'}, context=context)
+ self.button_cancel_send_note(cr, uid, ids, context=context)
return self.write(cr, uid, ids, {'state': 'cancel'}, context=context)
def button_done(self, cr, uid, ids, context=None):
+ self.button_done_send_note(cr, uid, ids, context=context)
return self.write(cr, uid, ids, {'state': 'done'}, context=context)
def check_registration_limits(self, cr, uid, ids, context=None):
@@ -127,6 +136,7 @@ class event_event(osv.osv):
if isinstance(ids, (int, long)):
ids = [ids]
self.check_registration_limits(cr, uid, ids, context=context)
+ self.button_confirm_send_note(cr, uid, ids, context=context)
return self.confirm_event(cr, uid, ids, context=context)
def _get_register(self, cr, uid, ids, fields, args, context=None):
@@ -256,13 +266,50 @@ class event_event(osv.osv):
'register_max': type_info.default_registration_max,
}
return {'value': dic}
+
+ # ----------------------------------------
+ # OpenChatter methods and notifications
+ # ----------------------------------------
+
+ def get_needaction_user_ids(self, cr, uid, ids, context=None):
+ result = dict.fromkeys(ids, [])
+ for obj in self.browse(cr, uid, ids, context=context):
+ if obj.state == 'draft' and obj.user_id:
+ result[obj.id] = [obj.user_id.id]
+ return result
+
+ def create_send_note(self, cr, uid, ids, context=None):
+ message = _("Event has been created .")
+ self.message_append_note(cr, uid, ids, body=message, context=context)
+ return True
+
+ def button_cancel_send_note(self, cr, uid, ids, context=None):
+ message = _("Event has been cancelled .")
+ self.message_append_note(cr, uid, ids, body=message, context=context)
+ return True
+
+ def button_draft_send_note(self, cr, uid, ids, context=None):
+ message = _("Event has been set to draft .")
+ self.message_append_note(cr, uid, ids, body=message, context=context)
+ return True
+
+ def button_done_send_note(self, cr, uid, ids, context=None):
+ message = _("Event has been done .")
+ self.message_append_note(cr, uid, ids, body=message, context=context)
+ return True
+
+ def button_confirm_send_note(self, cr, uid, ids, context=None):
+ message = _("Event has been confirmed .")
+ self.message_append_note(cr, uid, ids, body=message, context=context)
+ return True
+
event_event()
class event_registration(osv.osv):
"""Event Registration"""
_name= 'event.registration'
_description = __doc__
- _inherit = ['mail.thread','res.partner']
+ _inherit = ['ir.needaction_mixin','mail.thread','res.partner']
_columns = {
'id': fields.integer('ID'),
'origin': fields.char('Source', size=124,readonly=True,help="Name of the sale order which create the registration"),
@@ -293,12 +340,17 @@ class event_registration(osv.osv):
def do_draft(self, cr, uid, ids, context=None):
+ self.do_draft_send_note(cr, uid, ids, context=context)
return self.write(cr, uid, ids, {'state': 'draft'}, context=context)
def confirm_registration(self, cr, uid, ids, context=None):
self.message_append(cr, uid, ids,_('State set to open'),body_text= _('Open'))
return self.write(cr, uid, ids, {'state': 'open'}, context=context)
+ def create(self, cr, uid, vals, context=None):
+ obj_id = super(event_registration, self).create(cr, uid, vals, context)
+ self.create_send_note(cr, uid, [obj_id], context=context)
+ return obj_id
def registration_open(self, cr, uid, ids, context=None):
""" Open Registration
@@ -395,6 +447,27 @@ class event_registration(osv.osv):
data.update(d['value'])
return {'value': data}
+ # ----------------------------------------
+ # OpenChatter methods and notifications
+ # ----------------------------------------
+
+ def get_needaction_user_ids(self, cr, uid, ids, context=None):
+ result = dict.fromkeys(ids, [])
+ for obj in self.browse(cr, uid, ids, context=context):
+ if obj.state == 'draft' and obj.user_id:
+ result[obj.id] = [obj.user_id.id]
+ return result
+
+ def create_send_note(self, cr, uid, ids, context=None):
+ message = _("Registration has been created .")
+ self.message_append_note(cr, uid, ids, body=message, context=context)
+ return True
+
+ def do_draft_send_note(self, cr, uid, ids, context=None):
+ message = _("Registration has been set as draft .")
+ self.message_append_note(cr, uid, ids, body=message, context=context)
+ return True
+
event_registration()
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/event/event_view.xml b/addons/event/event_view.xml
index 4d05a2cf6b8..bfa3b496aed 100644
--- a/addons/event/event_view.xml
+++ b/addons/event/event_view.xml
@@ -130,7 +130,10 @@
-
+
+
+
+
@@ -406,7 +409,10 @@
-
+
+
+
+
diff --git a/addons/hr_holidays/hr_holidays_view.xml b/addons/hr_holidays/hr_holidays_view.xml
index e7b3fa293c1..063925b312d 100644
--- a/addons/hr_holidays/hr_holidays_view.xml
+++ b/addons/hr_holidays/hr_holidays_view.xml
@@ -94,7 +94,7 @@
-
+
@@ -144,7 +144,7 @@
-
+
diff --git a/addons/hr_payroll_account/i18n/lv.po b/addons/hr_payroll_account/i18n/lv.po
new file mode 100644
index 00000000000..dd9e84c71a1
--- /dev/null
+++ b/addons/hr_payroll_account/i18n/lv.po
@@ -0,0 +1,140 @@
+# Latvian translation for openobject-addons
+# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012
+# This file is distributed under the same license as the openobject-addons package.
+# FIRST AUTHOR , 2012.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openobject-addons\n"
+"Report-Msgid-Bugs-To: FULL NAME \n"
+"POT-Creation-Date: 2012-02-08 00:36+0000\n"
+"PO-Revision-Date: 2012-06-01 07:35+0000\n"
+"Last-Translator: FULL NAME \n"
+"Language-Team: Latvian \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2012-06-02 05:35+0000\n"
+"X-Generator: Launchpad (build 15342)\n"
+
+#. module: hr_payroll_account
+#: field:hr.payslip,move_id:0
+msgid "Accounting Entry"
+msgstr ""
+
+#. module: hr_payroll_account
+#: field:hr.salary.rule,account_tax_id:0
+msgid "Tax Code"
+msgstr ""
+
+#. module: hr_payroll_account
+#: field:hr.payslip,journal_id:0
+#: field:hr.payslip.run,journal_id:0
+msgid "Expense Journal"
+msgstr ""
+
+#. module: hr_payroll_account
+#: code:addons/hr_payroll_account/hr_payroll_account.py:157
+#: code:addons/hr_payroll_account/hr_payroll_account.py:173
+#, python-format
+msgid "Adjustment Entry"
+msgstr ""
+
+#. module: hr_payroll_account
+#: field:hr.contract,analytic_account_id:0
+#: field:hr.salary.rule,analytic_account_id:0
+msgid "Analytic Account"
+msgstr ""
+
+#. module: hr_payroll_account
+#: model:ir.model,name:hr_payroll_account.model_hr_salary_rule
+msgid "hr.salary.rule"
+msgstr ""
+
+#. module: hr_payroll_account
+#: model:ir.model,name:hr_payroll_account.model_hr_payslip_run
+msgid "Payslip Batches"
+msgstr ""
+
+#. module: hr_payroll_account
+#: field:hr.contract,journal_id:0
+msgid "Salary Journal"
+msgstr ""
+
+#. module: hr_payroll_account
+#: model:ir.model,name:hr_payroll_account.model_hr_payslip
+msgid "Pay Slip"
+msgstr "Algas Lapa"
+
+#. module: hr_payroll_account
+#: constraint:hr.payslip:0
+msgid "Payslip 'Date From' must be before 'Date To'."
+msgstr ""
+
+#. module: hr_payroll_account
+#: help:hr.payslip,period_id:0
+msgid "Keep empty to use the period of the validation(Payslip) date."
+msgstr ""
+
+#. module: hr_payroll_account
+#: code:addons/hr_payroll_account/hr_payroll_account.py:171
+#, python-format
+msgid ""
+"The Expense Journal \"%s\" has not properly configured the Debit Account!"
+msgstr ""
+
+#. module: hr_payroll_account
+#: code:addons/hr_payroll_account/hr_payroll_account.py:155
+#, python-format
+msgid ""
+"The Expense Journal \"%s\" has not properly configured the Credit Account!"
+msgstr ""
+
+#. module: hr_payroll_account
+#: field:hr.salary.rule,account_debit:0
+msgid "Debit Account"
+msgstr ""
+
+#. module: hr_payroll_account
+#: code:addons/hr_payroll_account/hr_payroll_account.py:102
+#, python-format
+msgid "Payslip of %s"
+msgstr ""
+
+#. module: hr_payroll_account
+#: model:ir.model,name:hr_payroll_account.model_hr_contract
+msgid "Contract"
+msgstr ""
+
+#. module: hr_payroll_account
+#: constraint:hr.contract:0
+msgid "Error! contract start-date must be lower then contract end-date."
+msgstr ""
+
+#. module: hr_payroll_account
+#: field:hr.payslip,period_id:0
+msgid "Force Period"
+msgstr ""
+
+#. module: hr_payroll_account
+#: field:hr.salary.rule,account_credit:0
+msgid "Credit Account"
+msgstr ""
+
+#. module: hr_payroll_account
+#: model:ir.model,name:hr_payroll_account.model_hr_payslip_employees
+msgid "Generate payslips for all selected employees"
+msgstr ""
+
+#. module: hr_payroll_account
+#: code:addons/hr_payroll_account/hr_payroll_account.py:155
+#: code:addons/hr_payroll_account/hr_payroll_account.py:171
+#, python-format
+msgid "Configuration Error!"
+msgstr ""
+
+#. module: hr_payroll_account
+#: view:hr.contract:0
+#: view:hr.salary.rule:0
+msgid "Accounting"
+msgstr ""
diff --git a/addons/hr_recruitment/hr_recruitment.py b/addons/hr_recruitment/hr_recruitment.py
index c77236cc456..73cec8fccf2 100644
--- a/addons/hr_recruitment/hr_recruitment.py
+++ b/addons/hr_recruitment/hr_recruitment.py
@@ -182,7 +182,6 @@ class hr_applicant(base_stage, osv.Model):
_columns = {
'name': fields.char('Name', size=128, required=True),
- 'message_ids': fields.one2many('mail.message', 'res_id', 'Messages', domain=[('model','=',_name)]),
'active': fields.boolean('Active', help="If the active field is set to false, it will allow you to hide the case without removing it."),
'description': fields.text('Description'),
'email_from': fields.char('Email', size=128, help="These people will receive email."),
diff --git a/addons/hr_recruitment/hr_recruitment_view.xml b/addons/hr_recruitment/hr_recruitment_view.xml
index aa1c8597167..7683bf90c95 100644
--- a/addons/hr_recruitment/hr_recruitment_view.xml
+++ b/addons/hr_recruitment/hr_recruitment_view.xml
@@ -155,7 +155,7 @@
-
+
diff --git a/addons/idea/i18n/gu.po b/addons/idea/i18n/gu.po
index 3cd7b9f5054..f2ef969fa3e 100644
--- a/addons/idea/i18n/gu.po
+++ b/addons/idea/i18n/gu.po
@@ -14,7 +14,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2012-06-01 05:33+0000\n"
+"X-Launchpad-Export-Date: 2012-06-02 05:35+0000\n"
"X-Generator: Launchpad (build 15342)\n"
#. module: idea
diff --git a/addons/mail/doc/index.rst.inc b/addons/mail/doc/index.rst.inc
index 4679cd56fdf..822d855d5b4 100644
--- a/addons/mail/doc/index.rst.inc
+++ b/addons/mail/doc/index.rst.inc
@@ -9,3 +9,4 @@ Mail Module documentation topics
mail_thread
mail_openchatter_howto
mail_needaction_howto
+ mail_partner
diff --git a/addons/mail/doc/mail_openchatter_howto.rst b/addons/mail/doc/mail_openchatter_howto.rst
index fe28017be83..7ca52348d99 100644
--- a/addons/mail/doc/mail_openchatter_howto.rst
+++ b/addons/mail/doc/mail_openchatter_howto.rst
@@ -38,7 +38,7 @@ Make your module inheriting from the ``mail.thread`` class.
# inherit from mail.thread allows the use of OpenChatter
_inherit = ['mail.thread']
-Use the thread viewer widget inside your form view by using the ThreadView widget on the message_ids_social field inherited from mail.thread.
+Use the thread viewer widget inside your form view by using the ThreadView widget on the message_ids field inherited from mail.thread.
::
@@ -50,7 +50,7 @@ Use the thread viewer widget inside your form view by using the ThreadView widge
diff --git a/addons/mail/doc/mail_partner.rst b/addons/mail/doc/mail_partner.rst
new file mode 100644
index 00000000000..a99246395d7
--- /dev/null
+++ b/addons/mail/doc/mail_partner.rst
@@ -0,0 +1,10 @@
+What is shown
+==============
+ - for every module which are related to partner show apporopriate message in the partner view like opportunities, sale orders and invoices.
+
+
+How it is done
+===============
+ - _inherit = 'mail.thread'
+
+ - Override def message_load_ids(self, cr, uid, ids, limit=100, offset=0, domain=[], ascent=False, root_ids=[], context=None) search by the partner
diff --git a/addons/mail/mail_group_view.xml b/addons/mail/mail_group_view.xml
index 7258db2d9dc..67b2efc84a0 100644
--- a/addons/mail/mail_group_view.xml
+++ b/addons/mail/mail_group_view.xml
@@ -69,7 +69,8 @@
-
+
diff --git a/addons/mail/mail_thread.py b/addons/mail/mail_thread.py
index 8cd8ef415c3..b1b6c68e4cc 100644
--- a/addons/mail/mail_thread.py
+++ b/addons/mail/mail_thread.py
@@ -61,29 +61,29 @@ class mail_thread(osv.osv):
'''
_name = 'mail.thread'
_description = 'Email Thread'
-
+
def _get_message_ids(self, cr, uid, ids, name, arg, context=None):
res = {}
for id in ids:
res[id] = self.message_load_ids(cr, uid, [id], context=context)
return res
-
- # OpenChatter: message_ids_social is a dummy field that should not be used
+
+ # OpenChatter: message_ids is a dummy field that should not be used
_columns = {
- 'message_ids_social': fields.function(_get_message_ids, method=True,
+ 'message_ids': fields.function(_get_message_ids, method=True,
type='one2many', obj='mail.message', string='Temp messages', _fields_id = 'res_id'),
}
#------------------------------------------------------
# Automatic subscription when creating/reading
#------------------------------------------------------
-
+
def create(self, cr, uid, vals, context=None):
"""Automatically subscribe the creator"""
thread_id = super(mail_thread, self).create(cr, uid, vals, context=context);
self.message_subscribe(cr, uid, [thread_id], [uid], context=context)
return thread_id;
-
+
def write(self, cr, uid, ids, vals, context=None):
"""Automatically subscribe the writer"""
if isinstance(ids, (int, long)):
@@ -92,7 +92,7 @@ class mail_thread(osv.osv):
if write_res:
self.message_subscribe(cr, uid, ids, [uid], context=context)
return write_res;
-
+
def unlink(self, cr, uid, ids, context=None):
"""Override unlink, to automatically delete
- subscriptions
@@ -111,13 +111,13 @@ class mail_thread(osv.osv):
# delete notifications
msg_to_del_ids = msg_obj.search(cr, uid, [('model', '=', self._name), ('res_id', 'in', ids)], context=context)
msg_obj.unlink(cr, uid, msg_to_del_ids, context=context)
-
+
return super(mail_thread, self).unlink(cr, uid, ids, context=context)
-
+
#------------------------------------------------------
# Generic message api
#------------------------------------------------------
-
+
def message_create(self, cr, uid, thread_id, vals, context=None):
"""OpenSocial: wrapper of mail.message create method
- creates the mail.message
@@ -131,15 +131,15 @@ class mail_thread(osv.osv):
notification_obj = self.pool.get('mail.notification')
res_users_obj = self.pool.get('res.users')
body = vals.get('body_html', '') if vals.get('subtype', 'plain') == 'html' else vals.get('body_text', '')
-
+
# automatically subscribe the writer of the message
if vals['user_id']:
self.message_subscribe(cr, uid, [thread_id], [vals['user_id']], context=context)
-
+
# get users that will get a notification pushed
user_to_push_ids = self.message_create_get_notification_user_ids(cr, uid, [thread_id], vals, context=context)
user_to_push_from_parse_ids = self.message_parse_users(cr, uid, [thread_id], body, context=context)
-
+
# set email_from and email_to for comments and notifications
if vals.get('type', False) and vals['type'] == 'comment' or vals['type'] == 'notification':
current_user = res_users_obj.browse(cr, uid, [uid], context=context)[0]
@@ -159,24 +159,24 @@ class mail_thread(osv.osv):
if email_to:
vals['email_to'] = email_to
vals['state'] = 'outgoing'
-
+
# create message
msg_id = message_obj.create(cr, uid, vals, context=context)
-
+
# special: if install mode, do not push demo data
if context.get('install_mode', False):
return True
-
+
# push to users
for id in user_to_push_ids:
notification_obj.create(cr, uid, {'user_id': id, 'message_id': msg_id}, context=context)
-
+
return msg_id
-
+
def message_create_get_notification_user_ids(self, cr, uid, thread_ids, new_msg_vals, context=None):
if context is None:
context = {}
-
+
notif_user_ids = []
body = new_msg_vals.get('body_html', '') if new_msg_vals.get('subtype', 'plain') == 'html' else new_msg_vals.get('body_text', '')
for thread_id in thread_ids:
@@ -193,7 +193,7 @@ class mail_thread(osv.osv):
parent_notif_ids = notif_obj.search(cr, uid, [('message_id', '=', new_msg_vals.get('parent_id'))], context=context)
parent_notifs = notif_obj.read(cr, uid, parent_notif_ids, context=context)
notif_user_ids += [parent_notif['user_id'][0] for parent_notif in parent_notifs]
-
+
# remove duplicate entries
notif_user_ids = list(set(notif_user_ids))
return notif_user_ids
@@ -214,7 +214,7 @@ class mail_thread(osv.osv):
for model_name in self.pool.obj_list():
model = self.pool.get(model_name)
if 'mail.thread' in getattr(model, '_inherit', []):
- ret_dict[model_name] = model._description
+ ret_dict[model_name] = model._description
return ret_dict
def message_append(self, cr, uid, threads, subject, body_text=None, body_html=None,
@@ -259,7 +259,7 @@ class mail_thread(osv.osv):
to determine the model of the thread to
update (instead of the current model).
"""
- if context is None:
+ if context is None:
context = {}
if attachments is None:
attachments = {}
@@ -329,7 +329,7 @@ class mail_thread(osv.osv):
'headers': headers,
'reply_to': reply_to,
'original': original, })
-
+
new_msg_ids.append(self.message_create(cr, uid, thread.id, data, context=context))
return new_msg_ids
@@ -390,7 +390,7 @@ class mail_thread(osv.osv):
if (cur_iter > max_iter):
_logger.warning("Possible infinite loop in _message_add_ancestor_ids. Note that this algorithm is intended to check for cycle in message graph.")
return child_ids
-
+
def message_load_ids(self, cr, uid, ids, limit=100, offset=0, domain=[], ascent=False, root_ids=[], context=None):
""" OpenChatter feature: return thread messages ids. It searches in
mail.messages where res_id = ids, (res_)model = current model.
@@ -408,13 +408,15 @@ class mail_thread(osv.osv):
limit=limit, offset=offset, context=context)
if (ascent): msg_ids = self._message_add_ancestor_ids(cr, uid, ids, msg_ids, root_ids, context=context)
return msg_ids
-
+
def message_load(self, cr, uid, ids, limit=100, offset=0, domain=[], ascent=False, root_ids=[], context=None):
""" OpenChatter feature: return thread messages
"""
msg_ids = self.message_load_ids(cr, uid, ids, limit, offset, domain, ascent, root_ids, context=context)
- return self.pool.get('mail.message').read(cr, uid, msg_ids, context=context)
-
+ msgs = self.pool.get('mail.message').read(cr, uid, msg_ids, context=context)
+ msgs = sorted(msgs, key=lambda d: (-d['id']))
+ return msgs
+
def get_pushed_messages(self, cr, uid, ids, limit=100, offset=0, msg_search_domain=[], ascent=False, root_ids=[], context=None):
""" OpenChatter: wall: get messages to display (=pushed notifications)
:param domain: domain to add to the search; especially child_of
@@ -442,7 +444,7 @@ class mail_thread(osv.osv):
if (ascent): msg_ids = self._message_add_ancestor_ids(cr, uid, ids, msg_ids, root_ids, context=context)
msgs = msg_obj.read(cr, uid, msg_ids, context=context)
return msgs
-
+
#------------------------------------------------------
# Email specific
#------------------------------------------------------
@@ -534,7 +536,7 @@ class mail_thread(osv.osv):
def message_new(self, cr, uid, msg_dict, custom_values=None, context=None):
"""Called by ``message_process`` when a new message is received
- for a given thread model, if the message did not belong to
+ for a given thread model, if the message did not belong to
an existing thread.
The default behavior is to create a new record of the corresponding
model (based on some very basic info extracted from the message),
@@ -660,7 +662,7 @@ class mail_thread(osv.osv):
The keys used in the returned dict are meant to map
to usual names for relationships towards a partner
and one of its addresses.
-
+
:param email: email address for which a partner
should be searched for.
:rtype: dict
@@ -685,7 +687,7 @@ class mail_thread(osv.osv):
#------------------------------------------------------
# Note specific
#------------------------------------------------------
-
+
def message_broadcast(self, cr, uid, ids, subject=None, body=None, parent_id=False, type='notification', subtype='html', context=None):
if context is None:
context = {}
@@ -710,11 +712,11 @@ class mail_thread(osv.osv):
for msg_id in msg_ids:
notification_obj.create(cr, uid, {'user_id': user.id, 'message_id': msg_id}, context=context)
return True
-
+
def log(self, cr, uid, id, message, secondary=False, context=None):
_logger.warning("log() is deprecated. Please use OpenChatter notification system instead of the res.log mechanism.")
self.message_append_note(cr, uid, [id], 'res.log', message, context=context)
-
+
def message_append_note(self, cr, uid, ids, subject=None, body=None, parent_id=False, type='notification', subtype='html', context=None):
if subject is None:
if type == 'notification':
@@ -730,29 +732,29 @@ class mail_thread(osv.osv):
body_html = body
body_text = body
return self.message_append(cr, uid, ids, subject, body_html=body_html, body_text=body_text, parent_id=parent_id, type=type, subtype=subtype, context=context)
-
+
#------------------------------------------------------
# Subscription mechanism
#------------------------------------------------------
-
+
def message_get_subscribers_ids(self, cr, uid, ids, context=None):
subscr_obj = self.pool.get('mail.subscription')
subscr_ids = subscr_obj.search(cr, uid, ['&', ('res_model', '=', self._name), ('res_id', 'in', ids)], context=context)
subs = subscr_obj.read(cr, uid, subscr_ids, context=context)
return [sub['user_id'][0] for sub in subs]
-
+
def message_get_subscribers(self, cr, uid, ids, context=None):
user_ids = self.message_get_subscribers_ids(cr, uid, ids, context=context)
users = self.pool.get('res.users').read(cr, uid, user_ids, fields=['id', 'name', 'avatar'], context=context)
return users
-
+
def message_is_subscriber(self, cr, uid, ids, user_id = None, context=None):
users = self.message_get_subscribers(cr, uid, ids, context=context)
sub_user_id = uid if user_id is None else user_id
if sub_user_id in [user['id'] for user in users]:
return True
return False
-
+
def message_subscribe(self, cr, uid, ids, user_ids = None, context=None):
subscription_obj = self.pool.get('mail.subscription')
to_subscribe_uids = [uid] if user_ids is None else user_ids
@@ -776,7 +778,7 @@ class mail_thread(osv.osv):
#------------------------------------------------------
# Notification API
#------------------------------------------------------
-
+
def message_remove_pushed_notifications(self, cr, uid, ids, msg_ids, remove_childs=True, context=None):
if context is None:
context = {}
diff --git a/addons/mail/res_partner.py b/addons/mail/res_partner.py
index 637922ff75c..922f3e4b6ed 100644
--- a/addons/mail/res_partner.py
+++ b/addons/mail/res_partner.py
@@ -24,11 +24,32 @@ from osv import fields
class res_partner(osv.osv):
""" Inherits partner and adds CRM information in the partner form """
- _inherit = 'res.partner'
+ _name = "res.partner"
+ _inherit = ['res.partner', 'mail.thread']
_columns = {
'emails': fields.one2many('mail.message', 'partner_id', 'Emails', readonly=True, domain=[('email_from','!=',False)]),
}
+ def message_load_ids(self, cr, uid, ids, limit=100, offset=0, domain=[], ascent=False, root_ids=[False], context=None):
+ """ Override of message_load_ids
+ partner discussion page :
+ - messages posted on res.partner, partner_id = partner.id
+ - messages directly sent to partner
+ """
+ msg_obj = self.pool.get('mail.message')
+ msg_ids = []
+ partner_ids=[]
+ for partner in self.browse(cr, uid, ids, context=context):
+ msg_ids += msg_obj.search(cr, uid, [ ('res_id', '=', partner.id), ('model', '=' ,self._name)] + domain,
+ limit=limit, offset=offset, context=context)
+ if self._name=='res.partner':
+ partner_ids=msg_obj.search(cr, uid, [ ('partner_id', 'in', ids)] + domain,
+ limit=limit, offset=offset, context=context)
+ if partner_ids :
+ msg_ids+= partner_ids
+ if (ascent): msg_ids = self._message_add_ancestor_ids(cr, uid, ids, msg_ids, root_ids, context=context)
+ return msg_ids
+
res_partner()
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/mail/res_partner_view.xml b/addons/mail/res_partner_view.xml
index 7fc001e4fd4..eb97b725fff 100644
--- a/addons/mail/res_partner_view.xml
+++ b/addons/mail/res_partner_view.xml
@@ -23,6 +23,10 @@
+
+
+
diff --git a/addons/mail/res_users_view.xml b/addons/mail/res_users_view.xml
index 0411bd418dc..7df155b13c0 100644
--- a/addons/mail/res_users_view.xml
+++ b/addons/mail/res_users_view.xml
@@ -28,7 +28,7 @@
-
+
diff --git a/addons/mail/static/src/js/mail.js b/addons/mail/static/src/js/mail.js
index bed8faea5e0..1ec6fe32eb5 100644
--- a/addons/mail/static/src/js/mail.js
+++ b/addons/mail/static/src/js/mail.js
@@ -476,10 +476,12 @@ openerp.mail = function(session) {
// QWeb template to use when rendering the object
template: 'RecordThread',
- init: function() {
+ init: function() {
this._super.apply(this, arguments);
this.see_subscribers = true;
this.thread = null;
+ this.params = this.get_definition_options();
+ this.params.thread_level = this.params.thread_level || 0;
// datasets
this.ds = new session.web.DataSet(this, this.view.model);
this.ds_users = new session.web.DataSet(this, 'res.users');
@@ -520,12 +522,8 @@ openerp.mail = function(session) {
// create and render Thread widget
this.$element.find('div.oe_mail_recthread_left').empty();
if (this.thread) this.thread.destroy();
- // hack: for groups and users
- if (this.view.model == 'mail.group') thread_level = 1;
- if (this.view.model == 'res.users') thread_level = 1;
- else thread_level = 0;
this.thread = new mail.Thread(this, {'res_model': this.view.model, 'res_id': this.view.datarecord.id, 'uid': this.session.uid,
- 'thread_level': thread_level, 'show_post_comment': true, 'limit': 15});
+ 'thread_level': this.params.thread_level, 'show_post_comment': true, 'limit': 15});
var thread_done = this.thread.appendTo(this.$element.find('div.oe_mail_recthread_left'));
return fetch_sub_done && thread_done;
},
diff --git a/addons/mrp/i18n/ja.po b/addons/mrp/i18n/ja.po
index 2943ce294da..b4316fe0196 100644
--- a/addons/mrp/i18n/ja.po
+++ b/addons/mrp/i18n/ja.po
@@ -8,13 +8,13 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME \n"
"POT-Creation-Date: 2012-02-08 00:49+0000\n"
-"PO-Revision-Date: 2012-05-31 06:17+0000\n"
+"PO-Revision-Date: 2012-06-02 04:49+0000\n"
"Last-Translator: Akira Hiyama \n"
"Language-Team: Japanese \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2012-06-01 05:32+0000\n"
+"X-Launchpad-Export-Date: 2012-06-03 04:47+0000\n"
"X-Generator: Launchpad (build 15342)\n"
#. module: mrp
@@ -387,9 +387,9 @@ msgid ""
"sales person creates a sales order, he can relate it to several properties "
"and OpenERP will automatically select the BoM to use according the needs."
msgstr ""
-"同じ製品で異なった構築方法を持つ場合、OpenERPのプロパティは製品製造のための正しい部品表を選択するのに使用されます。それぞれの部品表には幾つかのプロ"
-"パティを割り当てることができます。販売員が販売オーダーを作成した時、彼はそれを幾つかのプロパティに関連付けることができ、そして、OpenERPは要求によっ"
-"て使用する部品表を自動的に選択します。"
+"同じ製品で異なった構築方法を持つ場合、OpenERPの属性は製品製造のための正しい部品表を選択するのに使用されます。それぞれの部品表には幾つかの属性を割り"
+"当てることができます。販売員が販売オーダーを作成した時、彼はそれを幾つかの属性に関連付けることができ、そして、OpenERPは要求によって使用する部品表を"
+"自動的に選択します。"
#. module: mrp
#: help:mrp.production,picking_id:0
@@ -460,7 +460,7 @@ msgstr "会社名は固有でなければいけません。"
msgid ""
"Define specific property groups that can be assigned to the properties of "
"your bill of materials."
-msgstr "部品表のプロパティに割り当てることができる特定のプロパティグループを定義して下さい。"
+msgstr "部品表の属性に割り当てることができる特定の属性グループを定義して下さい。"
#. module: mrp
#: help:mrp.workcenter,costs_cycle:0
@@ -932,7 +932,7 @@ msgstr "時間数"
#: view:mrp.property:0
#: view:mrp.property.group:0
msgid "Property Group"
-msgstr "プロパティグループ"
+msgstr "属性グループ"
#. module: mrp
#: view:mrp.production:0
@@ -1601,7 +1601,7 @@ msgstr "承認"
#. module: mrp
#: view:mrp.property.group:0
msgid "Properties categories"
-msgstr "プロパティの分類"
+msgstr "属性の分類"
#. module: mrp
#: help:mrp.production.workcenter.line,sequence:0
@@ -2072,7 +2072,7 @@ msgstr "部品表"
#: view:procurement.order:0
#: field:procurement.order,property_ids:0
msgid "Properties"
-msgstr "プロパティ"
+msgstr "属性"
#. module: mrp
#: view:mrp.routing.workcenter:0
@@ -2120,12 +2120,12 @@ msgstr "作業オーダー"
#. module: mrp
#: view:board.board:0
msgid "Procurements in Exception"
-msgstr "例外の調達"
+msgstr "調達の例外"
#. module: mrp
#: model:process.transition,name:mrp.process_transition_minimumstockprocure0
msgid "'Minimum stock rule' material"
-msgstr "材料の最上在庫ルール"
+msgstr "材料の最小在庫ルール"
#. module: mrp
#: model:ir.model,name:mrp.model_mrp_product_price
@@ -2190,7 +2190,7 @@ msgstr "次の生産オーダー"
#: model:ir.actions.act_window,name:mrp.mrp_property_group_action
#: model:ir.ui.menu,name:mrp.menu_mrp_property_group_action
msgid "Property Groups"
-msgstr "プロパティグループ"
+msgstr "属性グループ"
#. module: mrp
#: model:process.transition,note:mrp.process_transition_procurestockableproduct0
diff --git a/addons/mrp/mrp_view.xml b/addons/mrp/mrp_view.xml
index fb5d07c1754..f856622c8a1 100644
--- a/addons/mrp/mrp_view.xml
+++ b/addons/mrp/mrp_view.xml
@@ -658,6 +658,8 @@
icon="terp-accessories-archiver+"
name="%(mrp.action_change_production_qty)d"
string="Change Qty" states="ready,confirmed" />
+
+
@@ -791,7 +793,7 @@
-
+
diff --git a/addons/mrp/procurement.py b/addons/mrp/procurement.py
index 4086a401f56..363f98e35d1 100644
--- a/addons/mrp/procurement.py
+++ b/addons/mrp/procurement.py
@@ -43,7 +43,7 @@ class procurement_order(osv.osv):
cr.execute('update procurement_order set message=%s where id=%s', (_('No BoM defined for this product !'), procurement.id))
for (id, name) in self.name_get(cr, uid, procurement.id):
message = _("Procurement '%s' has an exception: 'No BoM defined for this product !'") % name
- self.log(cr, uid, id, message)
+ self.message_append_note(cr, uid, [procurement.id], body=message, context=context)
return False
return True
@@ -97,6 +97,7 @@ class procurement_order(osv.osv):
})
res[procurement.id] = produce_id
self.write(cr, uid, [procurement.id], {'state': 'running'})
+ self.running_send_note(cr, uid, ids, context=context)
bom_result = production_obj.action_compute(cr, uid,
[produce_id], properties=[x.id for x in procurement.property_ids])
wf_service.trg_validate(uid, 'mrp.production', produce_id, 'button_confirm', cr)
diff --git a/addons/mrp_operations/i18n/ja.po b/addons/mrp_operations/i18n/ja.po
index 02be80e9da7..9a0445ff6c2 100644
--- a/addons/mrp_operations/i18n/ja.po
+++ b/addons/mrp_operations/i18n/ja.po
@@ -14,7 +14,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2012-06-01 05:33+0000\n"
+"X-Launchpad-Export-Date: 2012-06-02 05:35+0000\n"
"X-Generator: Launchpad (build 15342)\n"
#. module: mrp_operations
diff --git a/addons/mrp_operations/mrp_operations_view.xml b/addons/mrp_operations/mrp_operations_view.xml
index 30c0202ff98..73a74baa471 100644
--- a/addons/mrp_operations/mrp_operations_view.xml
+++ b/addons/mrp_operations/mrp_operations_view.xml
@@ -117,7 +117,9 @@
-
+
+
+
diff --git a/addons/mrp_repair/i18n/ja.po b/addons/mrp_repair/i18n/ja.po
index 2b3d8b6b3d0..69cd8c15e8a 100644
--- a/addons/mrp_repair/i18n/ja.po
+++ b/addons/mrp_repair/i18n/ja.po
@@ -14,7 +14,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2012-06-01 05:33+0000\n"
+"X-Launchpad-Export-Date: 2012-06-02 05:35+0000\n"
"X-Generator: Launchpad (build 15342)\n"
#. module: mrp_repair
diff --git a/addons/point_of_sale/i18n/ja.po b/addons/point_of_sale/i18n/ja.po
index 98a5e9cb828..f65e8872a7c 100644
--- a/addons/point_of_sale/i18n/ja.po
+++ b/addons/point_of_sale/i18n/ja.po
@@ -8,19 +8,19 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME \n"
"POT-Creation-Date: 2012-02-08 01:37+0100\n"
-"PO-Revision-Date: 2012-06-01 05:21+0000\n"
+"PO-Revision-Date: 2012-06-01 20:39+0000\n"
"Last-Translator: Akira Hiyama \n"
"Language-Team: Japanese \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2012-06-01 05:32+0000\n"
+"X-Launchpad-Export-Date: 2012-06-02 05:35+0000\n"
"X-Generator: Launchpad (build 15342)\n"
#. module: point_of_sale
#: field:report.transaction.pos,product_nb:0
msgid "Product Nb."
-msgstr "製品番号"
+msgstr "商品番号"
#. module: point_of_sale
#: model:ir.actions.act_window,name:point_of_sale.action_trans_pos_tree_today
@@ -50,7 +50,7 @@ msgstr "本日"
#. module: point_of_sale
#: model:pos.category,name:point_of_sale.plain_water
msgid "Plain Water"
-msgstr ""
+msgstr "一般の水"
#. module: point_of_sale
#: view:report.cash.register:0
@@ -65,7 +65,7 @@ msgstr "全ての注文を記帳"
#. module: point_of_sale
#: model:product.template,name:point_of_sale.spa_2l_product_template
msgid "Spa Reine 2L"
-msgstr ""
+msgstr "SPA REINE 2L"
#. module: point_of_sale
#: model:ir.model,name:point_of_sale.model_pos_box_out
@@ -104,7 +104,7 @@ msgstr "説明 / 理由"
#: field:report.sales.by.margin.pos,product_name:0
#: field:report.sales.by.margin.pos.month,product_name:0
msgid "Product Name"
-msgstr "製品名"
+msgstr "商品名"
#. module: point_of_sale
#: view:report.cash.register:0
@@ -136,7 +136,7 @@ msgstr "POS分類"
#: model:ir.actions.act_window,name:point_of_sale.action_box_out
#: model:ir.ui.menu,name:point_of_sale.menu_wizard_enter_jrnl2
msgid "Take Money Out"
-msgstr "お金の取り出し"
+msgstr "現金取出"
#. module: point_of_sale
#: report:pos.lines:0
@@ -194,7 +194,7 @@ msgstr "キャッシュレジスタ管理"
#. module: point_of_sale
#: model:product.template,name:point_of_sale.lays_naturel_45g_product_template
msgid "Lays Naturel 45g"
-msgstr ""
+msgstr "Lays ナチュラル 45g"
#. module: point_of_sale
#: view:pos.order:0
@@ -204,7 +204,7 @@ msgstr "会計情報"
#. module: point_of_sale
#: model:product.template,name:point_of_sale.coca_regular_2l_product_template
msgid "Coca-Cola Regular 2L"
-msgstr ""
+msgstr "コカコーラ 2L"
#. module: point_of_sale
#: model:ir.actions.act_window,name:point_of_sale.action_trans_pos_tree_month
@@ -240,7 +240,7 @@ msgstr "合計価格"
#. module: point_of_sale
#: model:product.template,name:point_of_sale.leffe_brune_33cl_product_template
msgid "Leffe Brune 33cl"
-msgstr ""
+msgstr "Leffe Brune 330ml"
#. module: point_of_sale
#: model:ir.actions.report.xml,name:point_of_sale.pos_sales_user
@@ -256,7 +256,7 @@ msgstr "飲物"
#. module: point_of_sale
#: model:product.template,name:point_of_sale.stella_50cl_product_template
msgid "Stella Artois 50cl"
-msgstr ""
+msgstr "Stella Artois 500ml"
#. module: point_of_sale
#: view:pos.details:0
@@ -288,7 +288,7 @@ msgstr "割引(%)"
#. module: point_of_sale
#: model:product.template,name:point_of_sale.oetker_speciale_product_template
msgid "Dr. Oetker Ristorante Speciale"
-msgstr "ピザレストランスペシャル"
+msgstr "Dr. Oetker レストラン スペシャル"
#. module: point_of_sale
#: view:pos.order.line:0
@@ -298,7 +298,7 @@ msgstr "合計数量"
#. module: point_of_sale
#: model:product.template,name:point_of_sale.fanta_orange_33cl_product_template
msgid "Fanta Orange 33cl"
-msgstr ""
+msgstr "ファンタ オレンジ 330ml"
#. module: point_of_sale
#: model:ir.actions.act_window,name:point_of_sale.action_report_sales_by_user_pos_month
@@ -329,12 +329,12 @@ msgstr "設定エラーです。"
#. module: point_of_sale
#: model:pos.category,name:point_of_sale.sparkling_water
msgid "Sparkling Water"
-msgstr ""
+msgstr "スパークリングウォーター"
#. module: point_of_sale
#: view:pos.box.entries:0
msgid "Fill in this form if you put money in the cash register:"
-msgstr "キャッシュレジスタ内にお金を入れる場合はこのフォームに記入して下さい。"
+msgstr "キャッシュレジスタ内にお金を装填する場合はこのフォームに記入して下さい。"
#. module: point_of_sale
#: view:account.bank.statement:0
@@ -349,7 +349,7 @@ msgstr "8月"
#. module: point_of_sale
#: model:product.template,name:point_of_sale.pepsi_max_lemon_33cl_product_template
msgid "Pepsi Max Cool Lemon 33cl"
-msgstr ""
+msgstr "ペプシマックス クールレモン 330ml"
#. module: point_of_sale
#: selection:report.cash.register,month:0 selection:report.pos.order,month:0
@@ -364,7 +364,7 @@ msgstr "POSオーダー行"
#. module: point_of_sale
#: model:product.template,name:point_of_sale.fanta_orange_50cl_product_template
msgid "Fanta Orange 50cl"
-msgstr ""
+msgstr "ファンタ オレンジ 500ml"
#. module: point_of_sale
#: field:pos.category,child_id:0
@@ -381,7 +381,7 @@ msgstr "支払日"
msgid ""
"If you want to sell this product through the point of sale, select the "
"category it belongs to."
-msgstr "POSを通してこの製品を販売したい場合は、それが属する分類を選択して下さい。"
+msgstr "POSを通してこの商品を販売したい場合は、それが属する分類を選択して下さい。"
#. module: point_of_sale
#: report:account.statement:0 report:all.closed.cashbox.of.the.day:0
@@ -396,7 +396,7 @@ msgstr "10月"
#. module: point_of_sale
#: model:product.template,name:point_of_sale.coca_light_1l_product_template
msgid "Coca-Cola Light 1L"
-msgstr ""
+msgstr "コカコーラ ライト 1L"
#. module: point_of_sale
#: report:pos.details:0 report:pos.details_summary:0
@@ -406,7 +406,7 @@ msgstr "要約"
#. module: point_of_sale
#: model:product.template,name:point_of_sale.chaudfontaine_50cl_product_template
msgid "Chaudfontaine 50cl"
-msgstr ""
+msgstr "Chaudfontaine 500ml"
#. module: point_of_sale
#: report:pos.invoice:0 report:pos.lines:0 field:pos.order.line,qty:0
@@ -476,7 +476,7 @@ msgstr "レポートの印刷"
#. module: point_of_sale
#: model:product.template,name:point_of_sale.oetker_bolognese_product_template
msgid "Dr. Oetker Ristorante Bolognese"
-msgstr ""
+msgstr "Dr. Oetker レストランボロネーゼ"
#. module: point_of_sale
#: code:addons/point_of_sale/wizard/pos_box_entries.py:105
@@ -487,14 +487,14 @@ msgstr "その損益勘定が %s にセットされていることをチェッ
#. module: point_of_sale
#: model:pos.category,name:point_of_sale.pizza
msgid "Pizza"
-msgstr ""
+msgstr "ピザ"
#. module: point_of_sale
#: code:addons/point_of_sale/wizard/pos_return.py:85
#: code:addons/point_of_sale/wizard/pos_return.py:240
#, python-format
msgid "Add Product"
-msgstr "製品追加"
+msgstr "商品追加"
#. module: point_of_sale
#: field:report.transaction.pos,invoice_am:0
@@ -504,7 +504,7 @@ msgstr "請求書金額"
#. module: point_of_sale
#: model:pos.category,name:point_of_sale.coke
msgid "Coke"
-msgstr ""
+msgstr "コーク"
#. module: point_of_sale
#: report:pos.invoice:0
@@ -535,17 +535,17 @@ msgstr "現在月中に作成された現金分析"
#. module: point_of_sale
#: report:account.statement:0 report:all.closed.cashbox.of.the.day:0
msgid "Ending Balance"
-msgstr "期末残高"
+msgstr "終了残高"
#. module: point_of_sale
#: model:product.template,name:point_of_sale.pepsi_max_50cl_product_template
msgid "Pepsi Max 50cl"
-msgstr ""
+msgstr "ペプシマックス 500ml"
#. module: point_of_sale
#: model:product.template,name:point_of_sale.san_pellegrino_1l_product_template
msgid "San Pellegrino 1L"
-msgstr ""
+msgstr "サンペレグリノ 1L"
#. module: point_of_sale
#: view:pos.order:0
@@ -555,7 +555,7 @@ msgstr "エントリーの記帳"
#. module: point_of_sale
#: model:product.template,name:point_of_sale.spa_1l_product_template
msgid "Spa Reine 1L"
-msgstr ""
+msgstr "SPA REINE 1L"
#. module: point_of_sale
#: report:pos.details_summary:0
@@ -613,7 +613,7 @@ msgstr "キャッシュレジスタのリスト"
#. module: point_of_sale
#: model:product.template,name:point_of_sale.maes_50cl_product_template
msgid "Maes 50cl"
-msgstr ""
+msgstr "メイズ 500ml"
#. module: point_of_sale
#: model:ir.model,name:point_of_sale.model_report_transaction_pos
@@ -634,7 +634,7 @@ msgstr "3月"
#: model:ir.actions.report.xml,name:point_of_sale.pos_users_product_re
#: report:pos.user.product:0
msgid "User's Product"
-msgstr "ユーザ製品"
+msgstr "ユーザ商品"
#. module: point_of_sale
#: code:addons/point_of_sale/point_of_sale.py:641
@@ -644,17 +644,17 @@ msgid ""
"Please set one before choosing a product."
msgstr ""
"販売フォームの中の価格リストを選択する必要があります。\n"
-"製品を選択する前にそれをセットして下さい。"
+"商品を選択する前にそれをセットして下さい。"
#. module: point_of_sale
#: model:product.template,name:point_of_sale.fanta_orange_2l_product_template
msgid "Fanta Orange 2L"
-msgstr ""
+msgstr "ファンタ オレンジ 2L"
#. module: point_of_sale
#: model:product.template,name:point_of_sale.spa_33cl_product_template
msgid "Spa Reine 33cl"
-msgstr ""
+msgstr "SPA REINE 330ml"
#. module: point_of_sale
#: model:ir.model,name:point_of_sale.model_pos_discount
@@ -669,23 +669,23 @@ msgstr "小計"
#. module: point_of_sale
#: model:product.template,name:point_of_sale.oetker_prosciutto_product_template
msgid "Dr. Oetker Ristorante Prosciutto"
-msgstr ""
+msgstr "Dr. Oetker レストラン プロシュート"
#. module: point_of_sale
#: model:product.template,name:point_of_sale.lays_light_paprika_170g_product_template
#: model:product.template,name:point_of_sale.lays_paprika_170g_product_template
msgid "Lays Light Paprika 170g"
-msgstr ""
+msgstr "Lays ライト パプリカ 170g"
#. module: point_of_sale
#: model:product.template,name:point_of_sale.coca_light_lemon_50cl_product_template
msgid "Coca-Cola Light Lemon 50cl"
-msgstr ""
+msgstr "コカコーラ ライト レモン 500ml"
#. module: point_of_sale
#: field:report.cash.register,balance_end_real:0
msgid "Closing Balance"
-msgstr "期末残高"
+msgstr "締切残高"
#. module: point_of_sale
#: model:ir.actions.act_window,name:point_of_sale.act_pos_open_statement
@@ -696,7 +696,7 @@ msgstr "取引明細書を閉じる"
#. module: point_of_sale
#: model:product.template,name:point_of_sale.croky_naturel_45g_product_template
msgid "Croky Naturel 45g"
-msgstr ""
+msgstr "Croky ナチュラル 45g"
#. module: point_of_sale
#: model:product.template,name:point_of_sale.product_product_putmoneyforchange1_product_template
@@ -706,7 +706,7 @@ msgstr "現金引出"
#. module: point_of_sale
#: report:account.statement:0 report:all.closed.cashbox.of.the.day:0
msgid "Starting Balance"
-msgstr "期首残高"
+msgstr "開始残高"
#. module: point_of_sale
#: model:ir.model,name:point_of_sale.model_pos_category
@@ -717,7 +717,7 @@ msgstr "POS分類"
#. module: point_of_sale
#: model:product.template,name:point_of_sale.chimay_bleu_75cl_product_template
msgid "Chimay Bleu 75cl"
-msgstr ""
+msgstr "シメイ Bleu 750ml"
#. module: point_of_sale
#: report:pos.payment.report.user:0
@@ -734,7 +734,7 @@ msgstr "行数"
msgid ""
"This field authorize Validation of Cashbox without controlling the closing "
"balance."
-msgstr "この項目は期末残高を制御することなく金庫の検証を許可します。"
+msgstr "この項目は締切残高を制御することなく金庫の検証を許可します。"
#. module: point_of_sale
#: model:ir.actions.act_window,name:point_of_sale.action_report_pos_details
@@ -775,7 +775,7 @@ msgstr "合計取引"
#. module: point_of_sale
#: model:product.template,name:point_of_sale.chaudfontaine_petillante_50cl_product_template
msgid "Chaudfontaine Petillante 50cl"
-msgstr ""
+msgstr "Chaudfontaine ペティアント 500ml"
#. module: point_of_sale
#: field:pos.order.line,create_date:0
@@ -790,7 +790,7 @@ msgstr "本日の販売"
#. module: point_of_sale
#: model:product.template,name:point_of_sale.lays_naturel_300g_product_template
msgid "Lays Naturel XXL 300g"
-msgstr ""
+msgstr "Lays ナチュラル XXL 300g"
#. module: point_of_sale
#: view:report.sales.by.margin.pos:0 view:report.sales.by.margin.pos.month:0
@@ -840,7 +840,7 @@ msgstr "オーダー日"
#. module: point_of_sale
#: model:product.template,name:point_of_sale.stella_33cl_product_template
msgid "Stella Artois 33cl"
-msgstr ""
+msgstr "Stella Artois 330ml"
#. module: point_of_sale
#: view:report.cash.register:0
@@ -867,12 +867,12 @@ msgstr "会計ポジションの注釈:"
#. module: point_of_sale
#: model:product.template,name:point_of_sale.evian_2l_product_template
msgid "Evian 2L"
-msgstr ""
+msgstr "エビアン 2L"
#. module: point_of_sale
#: selection:report.cash.register,month:0 selection:report.pos.order,month:0
msgid "September"
-msgstr ""
+msgstr "9月"
#. module: point_of_sale
#: report:account.statement:0 report:all.closed.cashbox.of.the.day:0
@@ -887,12 +887,12 @@ msgstr "税金:"
#. module: point_of_sale
#: model:product.template,name:point_of_sale.coca_light_2l_product_template
msgid "Coca-Cola Light 2L"
-msgstr ""
+msgstr "コカコーラ ライト 2L"
#. module: point_of_sale
#: model:product.template,name:point_of_sale.oetker_funghi_product_template
msgid "Dr. Oetker Ristorante Funghi"
-msgstr ""
+msgstr "Dr. Oetker レストラン フンギ"
#. module: point_of_sale
#: field:report.transaction.pos,disc:0
@@ -902,12 +902,12 @@ msgstr "割引"
#. module: point_of_sale
#: model:product.template,name:point_of_sale.lindemans_kriek_37,5cl_product_template
msgid "Lindemans Kriek 37.5cl"
-msgstr ""
+msgstr "リンデマンス Kriek 375ml"
#. module: point_of_sale
#: model:product.template,name:point_of_sale.coca_zero_33cl_product_template
msgid "Coca-Cola Zero 33cl"
-msgstr ""
+msgstr "コカコーラ ゼロ 330ml"
#. module: point_of_sale
#: report:pos.invoice:0
@@ -958,12 +958,12 @@ msgstr "ユーザ"
#. module: point_of_sale
#: model:product.template,name:point_of_sale.coca_light_33cl_product_template
msgid "Coca-Cola Light 33cl"
-msgstr ""
+msgstr "コカコーラ ライト 330ml"
#. module: point_of_sale
#: model:product.template,name:point_of_sale.perrier_1l_product_template
msgid "Perrier 1L"
-msgstr ""
+msgstr "ペリエ 1L"
#. module: point_of_sale
#: report:pos.details:0 report:pos.details_summary:0
@@ -978,7 +978,7 @@ msgstr "POSボックスエントリー"
#. module: point_of_sale
#: model:product.template,name:point_of_sale.boon_framboise_37,5cl_product_template
msgid "Boon Framboise 37.5cl"
-msgstr ""
+msgstr "Boon Framboise 375ml"
#. module: point_of_sale
#: selection:report.cash.register,month:0 selection:report.pos.order,month:0
@@ -1003,7 +1003,7 @@ msgstr "仕訳帳"
#. module: point_of_sale
#: model:product.template,name:point_of_sale.timmermans_faro_37,5cl_product_template
msgid "Timmermans Faro 37.5cl"
-msgstr ""
+msgstr "Timmermans Faro 375ml"
#. module: point_of_sale
#: view:account.bank.statement:0 view:pos.order:0 field:pos.order,state:0
@@ -1031,7 +1031,7 @@ msgstr "販売(合計)"
#. module: point_of_sale
#: model:product.template,name:point_of_sale.timmermans_kriek_37,5cl_product_template
msgid "Timmermans Kriek 37.5cl"
-msgstr ""
+msgstr "Timmermans Kriek 375ml"
#. module: point_of_sale
#: field:account.journal,check_dtls:0
@@ -1076,7 +1076,7 @@ msgstr "価格"
#. module: point_of_sale
#: model:product.template,name:point_of_sale.ijsboerke_stracciatella_2,5l_product_template
msgid "ijsboerke Stracciatella 2.5L"
-msgstr ""
+msgstr "アイスブルク Stracciatella 2.5L"
#. module: point_of_sale
#: field:account.journal,journal_user:0
@@ -1088,7 +1088,7 @@ msgstr "POS支払方法"
msgid ""
"This is a product you can use to take cash from a statement for the point of "
"sale backend, exemple: money lost, transfer to bank, etc."
-msgstr "これはPOS後方事務のための取引明細書から現金を出すために使用できる製品です。例えば、現金の紛失、銀行への転送など。"
+msgstr "これはPOS後方事務のための取引明細書から現金を出すために使用できる商品です。例えば、現金の紛失、銀行への転送など。"
#. module: point_of_sale
#: field:report.cash.register,date:0
@@ -1098,7 +1098,7 @@ msgstr "作成日"
#. module: point_of_sale
#: model:product.template,name:point_of_sale.coca_regular_33cl_product_template
msgid "Coca-Cola Regular 33cl"
-msgstr ""
+msgstr "コカコーラ 330ml"
#. module: point_of_sale
#: code:addons/point_of_sale/point_of_sale.py:65
@@ -1109,7 +1109,7 @@ msgstr "削除できません。"
#. module: point_of_sale
#: model:product.template,name:point_of_sale.lays_paprika_oven_150g_product_template
msgid "Lays Paprika Oven Baked 150g"
-msgstr ""
+msgstr "Lays パプリカ オーブンベークド 150g"
#. module: point_of_sale
#: report:pos.details:0 report:pos.details_summary:0
@@ -1126,7 +1126,7 @@ msgstr "名前"
#. module: point_of_sale
#: model:product.template,name:point_of_sale.spa_gazeuse_33cl_product_template
msgid "Spa Barisart 33cl"
-msgstr ""
+msgstr "SPA Barisart 330ml"
#. module: point_of_sale
#: code:addons/point_of_sale/point_of_sale.py:284
@@ -1176,148 +1176,148 @@ msgstr "仕訳帳の名前は会社ごとに固有でなければなりません
#: model:product.template,name:point_of_sale.lays_light_naturel_170g_product_template
#: model:product.template,name:point_of_sale.lays_naturel_170g_product_template
msgid "Lays Light Naturel 170g"
-msgstr ""
+msgstr "Lays ライト ナチュラル 170g"
#. module: point_of_sale
#: report:pos.details:0 report:pos.details_summary:0 report:pos.lines:0
#: report:pos.payment.report.user:0 report:pos.sales.user:0
#: report:pos.sales.user.today:0 report:pos.user.product:0
msgid "Print Date"
-msgstr ""
+msgstr "印刷日"
#. module: point_of_sale
#: code:addons/point_of_sale/point_of_sale.py:282
#, python-format
msgid "There is no receivable account defined to make payment"
-msgstr ""
+msgstr "支払のための売掛金勘定が定義されていません。"
#. module: point_of_sale
#: view:pos.open.statement:0
msgid "Do you want to open cash registers?"
-msgstr ""
+msgstr "キャッシュレジスタを開きますか?"
#. module: point_of_sale
#: help:pos.category,sequence:0
msgid ""
"Gives the sequence order when displaying a list of product categories."
-msgstr ""
+msgstr "商品分類のリストを表示する時に並び順を与えて下さい。"
#. module: point_of_sale
#: field:product.product,expense_pdt:0
msgid "PoS Cash Output"
-msgstr ""
+msgstr "POS現金払出"
#. module: point_of_sale
#: model:pos.category,name:point_of_sale.soda
msgid "Soda"
-msgstr ""
+msgstr "ソーダ"
#. module: point_of_sale
#: view:account.bank.statement:0 view:pos.order:0 view:report.cash.register:0
#: view:report.pos.order:0
msgid "Group By..."
-msgstr ""
+msgstr "グループ化…"
#. module: point_of_sale
#: view:pos.order:0
msgid "POS Orders"
-msgstr ""
+msgstr "POSオーダー"
#. module: point_of_sale
#: model:ir.actions.report.xml,name:point_of_sale.all_closed_cashbox_of_the_day
msgid "All Closed CashBox"
-msgstr ""
+msgstr "全ての閉じた金庫"
#. module: point_of_sale
#: code:addons/point_of_sale/point_of_sale.py:640
#, python-format
msgid "No Pricelist !"
-msgstr ""
+msgstr "価格リストがありません。"
#. module: point_of_sale
#: view:pos.order:0
msgid "Update"
-msgstr ""
+msgstr "更新"
#. module: point_of_sale
#: report:pos.invoice:0
msgid "Base"
-msgstr ""
+msgstr "基本"
#. module: point_of_sale
#: model:pos.category,name:point_of_sale.categ_others
msgid "Others"
-msgstr ""
+msgstr "その他"
#. module: point_of_sale
#: view:product.product:0
msgid "Point-of-Sale"
-msgstr ""
+msgstr "POS"
#. module: point_of_sale
#: model:product.template,name:point_of_sale.evian_50cl_product_template
msgid "Evian 50cl"
-msgstr ""
+msgstr "エビアン 500ml"
#. module: point_of_sale
#: view:pos.order:0
msgid "Notes"
-msgstr ""
+msgstr "注記"
#. module: point_of_sale
#: view:pos.order:0
msgid "Sale Order"
-msgstr ""
+msgstr "販売オーダー"
#. module: point_of_sale
#: model:product.template,name:point_of_sale.coca_light_lemon_2l_product_template
msgid "Coca-Cola Light Lemon 2L"
-msgstr ""
+msgstr "コカコーラ ライト レモン 2L"
#. module: point_of_sale
#: report:pos.details:0 report:pos.invoice:0 field:pos.order,amount_tax:0
msgid "Taxes"
-msgstr ""
+msgstr "税金"
#. module: point_of_sale
#: model:ir.actions.act_window,name:point_of_sale.action_pos_order_line
#: model:ir.actions.act_window,name:point_of_sale.action_pos_order_line_day
#: model:ir.actions.act_window,name:point_of_sale.action_pos_order_line_form
msgid "Sale line"
-msgstr ""
+msgstr "販売行"
#. module: point_of_sale
#: model:product.template,name:point_of_sale.lays_naturel_oven_150g_product_template
msgid "Lays Naturel Oven Baked 150g"
-msgstr ""
+msgstr "Lays ナチュラル オーブンベークド 150g"
#. module: point_of_sale
#: model:product.template,name:point_of_sale.coca_light_decaf_33cl_product_template
msgid "Coca-Cola Light Decaf 33cl"
-msgstr ""
+msgstr "コカコーラ ライト デカフェ 330ml"
#. module: point_of_sale
#: model:ir.actions.act_window,name:point_of_sale.product_normal_action
#: model:ir.ui.menu,name:point_of_sale.menu_point_of_sale_product
#: model:ir.ui.menu,name:point_of_sale.menu_pos_products
msgid "Products"
-msgstr ""
+msgstr "商品"
#. module: point_of_sale
#: model:product.template,name:point_of_sale.oetker_4formaggi_product_template
msgid "Dr. Oetker Ristorante Quattro Formaggi"
-msgstr ""
+msgstr "Dr. Oetker レストラン クアトロフォルマッジ"
#. module: point_of_sale
#: model:product.template,name:point_of_sale.coca_zero_1l_product_template
msgid "Coca-Cola Zero 1L"
-msgstr ""
+msgstr "コカコーラ ゼロ 1L"
#. module: point_of_sale
#: report:pos.sales.user:0 report:pos.sales.user.today:0
#: field:report.pos.order,date:0
msgid "Date Order"
-msgstr ""
+msgstr "日付順"
#. module: point_of_sale
#: view:report.sales.by.margin.pos:0 view:report.sales.by.margin.pos.month:0
@@ -1330,55 +1330,55 @@ msgstr ""
#: model:ir.actions.act_window,name:point_of_sale.action_product_output
#: model:ir.ui.menu,name:point_of_sale.products_for_output_operations
msgid "Products 'Put Money In'"
-msgstr ""
+msgstr "現金装填という商品"
#. module: point_of_sale
#: model:product.template,name:point_of_sale.croky_bolognaise_250g_product_template
msgid "Croky Bolognaise 250g"
-msgstr ""
+msgstr "Croky ボロネーズ 250g"
#. module: point_of_sale
#: view:pos.order:0
msgid "Extra Info"
-msgstr ""
+msgstr "追加情報"
#. module: point_of_sale
#: report:pos.invoice:0
msgid "Fax :"
-msgstr ""
+msgstr "FAX:"
#. module: point_of_sale
#: field:pos.order,user_id:0
msgid "Connected Salesman"
-msgstr ""
+msgstr "担当販売員"
#. module: point_of_sale
#: model:ir.actions.act_window,name:point_of_sale.action_pos_sale_all
#: model:ir.ui.menu,name:point_of_sale.menu_point_ofsale_all
msgid "All Sales Orders"
-msgstr ""
+msgstr "全販売オーダー"
#. module: point_of_sale
#: help:product.product,income_pdt:0
msgid ""
"This is a product you can use to put cash into a statement for the point of "
"sale backend."
-msgstr "これはPOS後方事務のために取引明細書の中に現金を入れるために使用できる製品です。"
+msgstr "これはPOS後方事務のために取引明細書の中に現金を入れるために使用できる商品です。"
#. module: point_of_sale
#: view:pos.receipt:0
msgid "Print the Receipt of the Sale"
-msgstr ""
+msgstr "販売レシートの印刷"
#. module: point_of_sale
#: field:pos.make.payment,journal:0
msgid "Payment Mode"
-msgstr ""
+msgstr "支払モード"
#. module: point_of_sale
#: model:product.template,name:point_of_sale.lays_paprika_45g_product_template
msgid "Lays Paprika 45g"
-msgstr ""
+msgstr "Lays パプリカ 45g"
#. #-#-#-#-# point_of_sale.pot (OpenERP Server 6.1rc1) #-#-#-#-#
#. module: point_of_sale
@@ -1390,120 +1390,120 @@ msgstr ""
#: /home/odo/repositories/addons/trunk/point_of_sale/static/src/xml/pos.xml:32
#: /home/odo/repositories/addons/trunk/point_of_sale/static/src/xml/pos.xml:59
msgid "Qty"
-msgstr ""
+msgstr "数量"
#. module: point_of_sale
#: view:report.cash.register:0 view:report.pos.order:0
msgid "Month -1"
-msgstr ""
+msgstr "月 -1"
#. module: point_of_sale
#: model:ir.actions.act_window,name:point_of_sale.action_report_pos_sale_user
#: model:ir.model,name:point_of_sale.model_pos_sale_user
#: view:pos.payment.report.user:0
msgid "Sale by User"
-msgstr ""
+msgstr "ユーザ毎の販売"
#. module: point_of_sale
#: model:product.template,name:point_of_sale.evian_1l_product_template
msgid "Evian 1L"
-msgstr ""
+msgstr "エビアン 1L"
#. module: point_of_sale
#: model:ir.ui.menu,name:point_of_sale.menu_open_statement
msgid "Open Cash Registers"
-msgstr ""
+msgstr "キャッシュレジスタを開く"
#. module: point_of_sale
#: model:pos.category,name:point_of_sale.water
msgid "Water"
-msgstr ""
+msgstr "水"
#. module: point_of_sale
#: view:report.cash.register:0
msgid "state"
-msgstr ""
+msgstr "状態"
#. module: point_of_sale
#: selection:report.cash.register,month:0 selection:report.pos.order,month:0
msgid "July"
-msgstr ""
+msgstr "7月"
#. module: point_of_sale
#: model:product.template,name:point_of_sale.lays_poivre_sel_oven_150g_product_template
msgid "Lays Sel et Poivre Oven Baked 150g"
-msgstr ""
+msgstr "Lays 塩コショウ オーブンベークド 150g"
#. module: point_of_sale
#: report:pos.details:0 report:pos.details_summary:0
msgid "Qty of product"
-msgstr ""
+msgstr "商品の数量"
#. module: point_of_sale
#: model:product.template,name:point_of_sale.chimay_rouge_33cl_product_template
msgid "Chimay Rouge 33cl"
-msgstr ""
+msgstr "シメイ Rouge 330ml"
#. module: point_of_sale
#: field:report.pos.order,delay_validation:0
msgid "Delay Validation"
-msgstr ""
+msgstr "検証の遅延"
#. module: point_of_sale
#: field:pos.order,nb_print:0
msgid "Number of Print"
-msgstr ""
+msgstr "印刷数"
#. module: point_of_sale
#: model:ir.model,name:point_of_sale.model_pos_make_payment
msgid "Point of Sale Payment"
-msgstr ""
+msgstr "POS支払"
#. module: point_of_sale
#: model:product.template,name:point_of_sale.coca_light_50cl_product_template
msgid "Coca-Cola Light 50cl"
-msgstr ""
+msgstr "コカコーラ ライト 500ml"
#. module: point_of_sale
#: model:product.template,name:point_of_sale.jupiler_50cl_product_template
msgid "Jupiler 50cl"
-msgstr ""
+msgstr "ジュピラー 500ml"
#. module: point_of_sale
#: report:pos.details:0 report:pos.details_summary:0
msgid "End Period"
-msgstr ""
+msgstr "期末日"
#. module: point_of_sale
#: model:product.template,name:point_of_sale.coca_light_lemon_33cl_product_template
msgid "Coca-Cola Light Lemon 33cl"
-msgstr ""
+msgstr "コカコーラ ライト レモン 330ml"
#. module: point_of_sale
#: field:account.journal,auto_cash:0
msgid "Automatic Opening"
-msgstr ""
+msgstr "自動開始"
#. module: point_of_sale
#: model:product.template,name:point_of_sale.lays_ketchup_250g_product_template
msgid "Lays Ketchup 250g"
-msgstr ""
+msgstr "Lays ケチャップ 250g"
#. module: point_of_sale
#: model:product.template,name:point_of_sale.perrier_50cl_product_template
msgid "Perrier 50cl"
-msgstr ""
+msgstr "ペリエ 500ml"
#. module: point_of_sale
#: selection:report.pos.order,state:0
msgid "Synchronized"
-msgstr ""
+msgstr "同期"
#. module: point_of_sale
#: view:report.cash.register:0 field:report.cash.register,month:0
#: view:report.pos.order:0 field:report.pos.order,month:0
msgid "Month"
-msgstr ""
+msgstr "月"
#. module: point_of_sale
#: report:account.statement:0
@@ -1513,13 +1513,13 @@ msgstr "取引明細書名"
#. module: point_of_sale
#: view:report.pos.order:0
msgid "Year of order date"
-msgstr ""
+msgstr "オーダー日の年"
#. module: point_of_sale
#: model:ir.actions.act_window,name:point_of_sale.action_new_bank_statement_tree
#: field:pos.box.entries,journal_id:0 field:pos.box.out,journal_id:0
msgid "Cash Register"
-msgstr ""
+msgstr "キャッシュレジスタ"
#. module: point_of_sale
#: view:pos.close.statement:0
@@ -1529,72 +1529,72 @@ msgstr ""
#. module: point_of_sale
#: model:ir.model,name:point_of_sale.model_pos_receipt
msgid "Point of sale receipt"
-msgstr ""
+msgstr "販売レシート印刷"
#. module: point_of_sale
#: model:ir.actions.act_window,name:point_of_sale.action_report_sales_by_margin_pos_today
msgid "Sales by User Daily margin"
-msgstr ""
+msgstr "ユーザの1日の利鞘別販売"
#. module: point_of_sale
#: view:pos.open.statement:0
msgid "Open Registers"
-msgstr ""
+msgstr "レジスタを開く"
#. module: point_of_sale
#: field:report.transaction.pos,journal_id:0
msgid "Sales Journal"
-msgstr ""
+msgstr "売上仕訳帳"
#. module: point_of_sale
#: field:report.cash.register,balance_start:0
msgid "Opening Balance"
-msgstr ""
+msgstr "開始残高"
#. module: point_of_sale
#: view:account.bank.statement:0 selection:report.pos.order,state:0
msgid "Closed"
-msgstr ""
+msgstr "閉じた"
#. module: point_of_sale
#: model:product.template,name:point_of_sale.oetker_vegetale_product_template
msgid "Dr. Oetker Ristorante Vegetale"
-msgstr ""
+msgstr "Dr. Oetker レストラン ベジタブル"
#. module: point_of_sale
#: view:report.pos.order:0
msgid "POS ordered created by today"
-msgstr ""
+msgstr "本日作成されたPOSオーダー"
#. module: point_of_sale
#: model:product.template,name:point_of_sale.coca_zero_2l_product_template
msgid "Coca-Cola Zero 2L"
-msgstr ""
+msgstr "コカコーラ ゼロ 2L"
#. module: point_of_sale
#: field:pos.order,amount_paid:0 selection:pos.order,state:0
msgid "Paid"
-msgstr ""
+msgstr "支払済"
#. module: point_of_sale
#: model:ir.actions.act_window,name:point_of_sale.action_pos_all_sales_lines
msgid "All sales lines"
-msgstr ""
+msgstr "全販売行"
#. module: point_of_sale
#: view:pos.order:0
msgid "Discount"
-msgstr ""
+msgstr "割引"
#. module: point_of_sale
#: view:report.cash.register:0
msgid "Cash Analysis created in last month"
-msgstr ""
+msgstr "先月に作成された現金分析"
#. module: point_of_sale
#: model:pos.category,name:point_of_sale.beers
msgid "Beers"
-msgstr ""
+msgstr "ビール"
#. module: point_of_sale
#: view:pos.close.statement:0
@@ -1603,21 +1603,23 @@ msgid ""
"validation. He will also open all cash registers for which you have to "
"control the ending belance before closing manually."
msgstr ""
+"OpenERPは検証なしで自動的に全てのキャッシュレジスタを閉じることができます。また、手動で閉じる前に終了残高を管理しなければならない全てのキャッシュレ"
+"ジスタを開くこともできます。"
#. module: point_of_sale
#: view:report.cash.register:0
msgid "Cash Analysis created by today"
-msgstr ""
+msgstr "本日作成された現金分析"
#. module: point_of_sale
#: selection:report.cash.register,state:0
msgid "Quotation"
-msgstr ""
+msgstr "見積"
#. module: point_of_sale
#: model:product.template,name:point_of_sale.product_product_putmoneyforchange0_product_template
msgid "Cash In"
-msgstr ""
+msgstr "現金入金"
#. #-#-#-#-# point_of_sale.pot (OpenERP Server 6.1rc1) #-#-#-#-#
#. module: point_of_sale
@@ -1629,17 +1631,17 @@ msgstr ""
#: /home/odo/repositories/addons/trunk/point_of_sale/static/src/xml/pos.xml:93
#: /home/odo/repositories/addons/trunk/point_of_sale/static/src/xml/pos.xml:271
msgid "Total:"
-msgstr ""
+msgstr "合計:"
#. module: point_of_sale
#: model:ir.model,name:point_of_sale.model_report_sales_by_margin_pos
msgid "Sales by margin"
-msgstr ""
+msgstr "利鞘別売上"
#. module: point_of_sale
#: model:ir.model,name:point_of_sale.model_pos_config_journal
msgid "Journal Configuration"
-msgstr ""
+msgstr "仕訳帳設定"
#. module: point_of_sale
#: view:pos.order:0
@@ -1649,24 +1651,24 @@ msgstr "取引明細書行"
#. module: point_of_sale
#: model:product.template,name:point_of_sale.croky_paprika_45g_product_template
msgid "Croky Paprika 45g"
-msgstr ""
+msgstr "Croky パプリカ 45g"
#. module: point_of_sale
#: view:pos.order:0
msgid "Reprint"
-msgstr ""
+msgstr "再印刷"
#. module: point_of_sale
#: help:pos.order,user_id:0
msgid ""
"Person who uses the the cash register. It could be a reliever, a student or "
"an interim employee."
-msgstr ""
+msgstr "キャッシュレジスタのユーザとなる人は救援者や学生、一時的な従業員かもしれません。"
#. module: point_of_sale
#: field:report.transaction.pos,invoice_id:0
msgid "Nbr Invoice"
-msgstr ""
+msgstr "請求書番号"
#. #-#-#-#-# point_of_sale.pot (OpenERP Server 6.1rc1) #-#-#-#-#
#. module: point_of_sale
@@ -1675,7 +1677,7 @@ msgstr ""
#: model:ir.actions.act_window,name:point_of_sale.action_report_pos_receipt
#: /home/odo/repositories/addons/trunk/point_of_sale/static/src/xml/pos.xml:231
msgid "Receipt"
-msgstr ""
+msgstr "レシート"
#. module: point_of_sale
#: view:pos.open.statement:0
@@ -1684,48 +1686,49 @@ msgid ""
"payments. We suggest you to control the opening balance of each register, "
"using their CashBox tab."
msgstr ""
+"システムは全てのキャッシュレジスタを開きます。それで支払の記録を開始できます。金庫タブを使って各レジスタの開始残高を管理することを推奨します。"
#. module: point_of_sale
#: report:pos.invoice:0 report:pos.lines:0 field:pos.order.line,price_unit:0
#: report:pos.payment.report.user:0
msgid "Unit Price"
-msgstr ""
+msgstr "単価"
#. module: point_of_sale
#: view:pos.order:0
msgid "Done"
-msgstr ""
+msgstr "完了"
#. module: point_of_sale
#: model:ir.actions.report.xml,name:point_of_sale.pos_invoice_report
#: report:pos.invoice:0 view:pos.order:0 field:pos.order,invoice_id:0
msgid "Invoice"
-msgstr ""
+msgstr "請求書"
#. module: point_of_sale
#: model:product.template,name:point_of_sale.rochefort_8_33cl_product_template
msgid "Rochefort \"8\" 33cl"
-msgstr ""
+msgstr "ロシュフォール 8 330ml"
#. module: point_of_sale
#: view:account.bank.statement:0 selection:report.cash.register,state:0
msgid "Open"
-msgstr ""
+msgstr "開く"
#. module: point_of_sale
#: field:pos.order,name:0 field:pos.order.line,order_id:0
msgid "Order Ref"
-msgstr ""
+msgstr "オーダー参照"
#. module: point_of_sale
#: model:product.template,name:point_of_sale.timmermans_geuze_37,5cl_product_template
msgid "Timmermans Geuze 37.5cl"
-msgstr ""
+msgstr "Timmermans Geuze 375ml"
#. module: point_of_sale
#: model:product.template,name:point_of_sale.lays_pickles_250g_product_template
msgid "Lays Pickels 250g"
-msgstr ""
+msgstr "Lays ピクルス 250g"
#. module: point_of_sale
#: field:report.sales.by.margin.pos,net_margin_per_qty:0
@@ -1736,38 +1739,38 @@ msgstr "1個当り正味利鞘"
#. module: point_of_sale
#: model:ir.model,name:point_of_sale.model_report_sales_by_user_pos_month
msgid "Sales by user monthly"
-msgstr ""
+msgstr "月間ユーザ別販売"
#. module: point_of_sale
#: model:product.template,name:point_of_sale.spa_et_fruit_50cl_product_template
msgid "Spa et Fruit Orange 50cl"
-msgstr ""
+msgstr "SPA et Fruit Orange 500ml"
#. module: point_of_sale
#: view:report.sales.by.margin.pos:0 view:report.sales.by.margin.pos.month:0
msgid "Sales by User Margin"
-msgstr ""
+msgstr "ユーザ利鞘別売上"
#. module: point_of_sale
#: code:addons/point_of_sale/wizard/pos_payment.py:59
#, python-format
msgid "Paiement"
-msgstr ""
+msgstr "支払"
#. module: point_of_sale
#: report:pos.invoice:0
msgid "Taxes:"
-msgstr ""
+msgstr "税金:"
#. module: point_of_sale
#: model:product.template,name:point_of_sale.pepsi_max_33cl_product_template
msgid "Pepsi Max 33cl"
-msgstr ""
+msgstr "ペプシマックス 330ml"
#. module: point_of_sale
#: model:ir.model,name:point_of_sale.model_report_pos_order
msgid "Point of Sale Orders Statistics"
-msgstr ""
+msgstr "POSオーダー統計"
#. #-#-#-#-# point_of_sale.pot (OpenERP Server 6.1rc1) #-#-#-#-#
#. module: point_of_sale
@@ -1779,32 +1782,32 @@ msgstr ""
#: view:report.pos.order:0 field:report.pos.order,product_id:0
#: /home/odo/repositories/addons/trunk/point_of_sale/static/src/xml/pos.xml:29
msgid "Product"
-msgstr ""
+msgstr "商品"
#. module: point_of_sale
#: model:product.template,name:point_of_sale.oetker_pollo_product_template
msgid "Dr. Oetker Ristorante Pollo"
-msgstr ""
+msgstr "Dr. Oetker レストラン ポロ"
#. module: point_of_sale
#: model:ir.actions.report.xml,name:point_of_sale.pos_lines_report
msgid "Pos Lines"
-msgstr ""
+msgstr "POS行"
#. module: point_of_sale
#: model:product.template,name:point_of_sale.grisette_cerise_25cl_product_template
msgid "Grisette Cerise 25cl"
-msgstr ""
+msgstr "Grisette Cerise 250ml"
#. module: point_of_sale
#: model:product.template,name:point_of_sale.chaudfontaine_33cl_product_template
msgid "Chaudfontaine 33cl"
-msgstr ""
+msgstr "Chaudfontaine 330ml"
#. module: point_of_sale
#: model:product.template,name:point_of_sale.oetker_margherita_product_template
msgid "Dr. Oetker La Margherita"
-msgstr ""
+msgstr "Dr. Oetker ラ マルゲリータ"
#. module: point_of_sale
#: model:ir.ui.menu,name:point_of_sale.menu_point_root
@@ -1814,65 +1817,65 @@ msgstr "POS後方事務"
#. module: point_of_sale
#: view:pos.order:0 selection:pos.order,state:0
msgid "Posted"
-msgstr ""
+msgstr "記帳済"
#. module: point_of_sale
#: field:pos.order,date_order:0
msgid "Date Ordered"
-msgstr ""
+msgstr "オーダー日"
#. module: point_of_sale
#: model:ir.actions.act_window,name:point_of_sale.action_report_pos_payment_report_user
#: model:ir.model,name:point_of_sale.model_pos_payment_report_user
msgid "Sales lines by Users"
-msgstr ""
+msgstr "ユーザ別販売傾向"
#. module: point_of_sale
#: model:product.template,name:point_of_sale.pepsi_2l_product_template
msgid "Pepsi 2L"
-msgstr ""
+msgstr "ペプシ 2L"
#. module: point_of_sale
#: report:pos.details:0
msgid "Order"
-msgstr ""
+msgstr "順番"
#. module: point_of_sale
#: code:addons/point_of_sale/point_of_sale.py:472
#, python-format
msgid "There is no income account defined for this product: \"%s\" (id:%d)"
-msgstr ""
+msgstr "この商品のために定義された損益勘定がありません:%s(ID:%d)"
#. module: point_of_sale
#: view:pos.details:0
msgid "POS Details"
-msgstr ""
+msgstr "POS詳細"
#. module: point_of_sale
#: field:pos.details,user_ids:0
msgid "Salesmen"
-msgstr ""
+msgstr "販売員"
#. module: point_of_sale
#: model:ir.model,name:point_of_sale.model_report_cash_register
#: view:report.cash.register:0
msgid "Point of Sale Cash Register Analysis"
-msgstr ""
+msgstr "POSキャッシュレジスタ分析"
#. module: point_of_sale
#: report:pos.lines:0
msgid "Net Total :"
-msgstr ""
+msgstr "合計:"
#. module: point_of_sale
#: model:res.groups,name:point_of_sale.group_pos_manager
msgid "Manager"
-msgstr ""
+msgstr "マネジャ"
#. module: point_of_sale
#: field:pos.details,date_start:0 field:pos.sale.user,date_start:0
msgid "Date Start"
-msgstr ""
+msgstr "開始日"
#. #-#-#-#-# point_of_sale.pot (OpenERP Server 6.1rc1) #-#-#-#-#
#. module: point_of_sale
@@ -1883,50 +1886,50 @@ msgstr ""
#: field:report.sales.by.user.pos.month,amount:0
#: /home/odo/repositories/addons/trunk/point_of_sale/static/src/xml/pos.xml:33
msgid "Total"
-msgstr ""
+msgstr "合計"
#. module: point_of_sale
#: view:pos.sale.user:0
msgid "Sale By User"
-msgstr ""
+msgstr "ユーザ別販売"
#. module: point_of_sale
#: model:ir.actions.act_window,name:point_of_sale.action_pos_open_statement
msgid "Open Cash Register"
-msgstr ""
+msgstr "キャッシュレジスタを開く"
#. module: point_of_sale
#: model:product.template,name:point_of_sale.lindemans_pecheresse_37,5cl_product_template
msgid "Lindemans Pecheresse 37.5cl"
-msgstr ""
+msgstr "リンデマンス Pecheresse 375ml"
#. module: point_of_sale
#: model:product.template,name:point_of_sale.pepsi_33cl_product_template
msgid "Pepsi 33cl"
-msgstr ""
+msgstr "ペプシ 330ml"
#. module: point_of_sale
#: report:account.statement:0
#: model:ir.actions.report.xml,name:point_of_sale.account_statement
msgid "Statement"
-msgstr ""
+msgstr "取引明細書"
#. module: point_of_sale
#: model:ir.actions.act_window,name:point_of_sale.action_pos_payment_report
#: model:ir.model,name:point_of_sale.model_pos_payment_report
#: view:pos.payment.report:0
msgid "Payment Report"
-msgstr ""
+msgstr "支払レポート"
#. module: point_of_sale
#: model:product.template,name:point_of_sale.fanta_orange_25cl_product_template
msgid "Fanta Orange 25cl"
-msgstr ""
+msgstr "ファンタ オレンジ 250ml"
#. module: point_of_sale
#: view:pos.confirm:0
msgid "Generate Journal Entries"
-msgstr ""
+msgstr "仕訳帳エントリーの生成"
#. module: point_of_sale
#: report:account.statement:0 report:all.closed.cashbox.of.the.day:0
@@ -1936,49 +1939,49 @@ msgstr ""
#: report:pos.sales.user.today:0 report:pos.user.product:0
#: field:report.pos.order,company_id:0
msgid "Company"
-msgstr ""
+msgstr "会社"
#. module: point_of_sale
#: report:pos.invoice:0
msgid "Invoice Date"
-msgstr ""
+msgstr "請求日"
#. module: point_of_sale
#: field:pos.box.entries,name:0
msgid "Reason"
-msgstr ""
+msgstr "理由"
#. module: point_of_sale
#: model:product.template,name:point_of_sale.orangina_33cl_product_template
msgid "Orangina 33cl"
-msgstr ""
+msgstr "オランジーナ 330ml"
#. module: point_of_sale
#: model:ir.actions.act_window,name:point_of_sale.action_product_input
#: model:ir.ui.menu,name:point_of_sale.products_for_input_operations
msgid "Products 'Take Money Out'"
-msgstr ""
+msgstr "現金取出という商品"
#. module: point_of_sale
#: model:product.template,name:point_of_sale.chimay_bleu_33cl_product_template
msgid "Chimay Bleu 33cl"
-msgstr ""
+msgstr "シメイ Bleu 330ml"
#. module: point_of_sale
#: model:ir.actions.act_window,name:point_of_sale.action_account_journal_form
#: model:ir.ui.menu,name:point_of_sale.menu_action_account_journal_form_open
msgid "Payment Methods"
-msgstr ""
+msgstr "支払方法"
#. module: point_of_sale
#: model:pos.category,name:point_of_sale.chips
msgid "Chips"
-msgstr ""
+msgstr "チップス"
#. module: point_of_sale
#: model:product.template,name:point_of_sale.oetker_spinaci_product_template
msgid "Dr. Oetker Ristorante Spinaci"
-msgstr ""
+msgstr "Dr. Oetker レストラン スピナッチ"
#. module: point_of_sale
#: code:addons/point_of_sale/point_of_sale.py:293
@@ -1986,227 +1989,227 @@ msgstr ""
#: code:addons/point_of_sale/wizard/pos_box_out.py:88
#, python-format
msgid "You have to open at least one cashbox"
-msgstr ""
+msgstr "少なくとも1個の金庫を開く必要があります。"
#. module: point_of_sale
#: model:ir.actions.report.xml,name:point_of_sale.pos_payment_report_user
msgid "Today's Payment By User"
-msgstr ""
+msgstr "ユーザ別本日の支払"
#. module: point_of_sale
#: model:ir.actions.act_window,name:point_of_sale.action_box_entries
#: model:ir.ui.menu,name:point_of_sale.menu_wizard_enter_jrnl
msgid "Put Money In"
-msgstr ""
+msgstr "現金装填"
#. module: point_of_sale
#: code:addons/point_of_sale/point_of_sale.py:238
#: code:addons/point_of_sale/point_of_sale.py:253
#, python-format
msgid "Error!"
-msgstr ""
+msgstr "エラー"
#. module: point_of_sale
#: report:pos.lines:0
msgid "No. Of Articles"
-msgstr ""
+msgstr "品目数"
#. module: point_of_sale
#: model:product.template,name:point_of_sale.ijsboerke_vanille_2,5l_product_template
msgid "ijsboerke Vanille 2.5L"
-msgstr ""
+msgstr "アイスブルク バニラ 2.5L"
#. module: point_of_sale
#: selection:pos.order,state:0 selection:report.pos.order,state:0
msgid "Cancelled"
-msgstr ""
+msgstr "キャンセル済"
#. module: point_of_sale
#: report:pos.user.product:0
msgid "Ending Date"
-msgstr ""
+msgstr "終了日"
#. module: point_of_sale
#: model:product.template,name:point_of_sale.orangina_1,5l_product_template
msgid "Orangina 1.5L"
-msgstr ""
+msgstr "オランジーナ 1.5L"
#. module: point_of_sale
#: field:pos.order,picking_id:0
msgid "Picking"
-msgstr ""
+msgstr "集荷"
#. module: point_of_sale
#: model:pos.category,name:point_of_sale.ice_cream
msgid "Ice Cream"
-msgstr ""
+msgstr "アイスクリーム"
#. module: point_of_sale
#: field:pos.order,shop_id:0 field:report.pos.order,shop_id:0
msgid "Shop"
-msgstr ""
+msgstr "店"
#. module: point_of_sale
#: model:ir.model,name:point_of_sale.model_account_bank_statement_line
msgid "Bank Statement Line"
-msgstr ""
+msgstr "銀行取引明細書行"
#. module: point_of_sale
#: model:product.template,name:point_of_sale.belle_vue_kriek_25cl_product_template
msgid "Belle-Vue Kriek 25cl"
-msgstr ""
+msgstr "ベルビュー Kriek 250ml"
#. module: point_of_sale
#: model:product.template,name:point_of_sale.chaudfontaine_petillante_1,5l_product_template
msgid "Chaudfontaine Petillante 1.5l"
-msgstr ""
+msgstr "Chaudfontaine ペティアント 1.5L"
#. module: point_of_sale
#: view:report.sales.by.user.pos:0 view:report.sales.by.user.pos.month:0
#: view:report.transaction.pos:0
msgid "POS Report"
-msgstr ""
+msgstr "POSレポート"
#. module: point_of_sale
#: model:product.template,name:point_of_sale.chaudfontaine_1,5l_product_template
msgid "Chaudfontaine 1.5l"
-msgstr ""
+msgstr "Chaudfontaine 1.5L"
#. module: point_of_sale
#: model:ir.actions.act_window,name:point_of_sale.action_pos_close_statement
msgid "Close Cash Register"
-msgstr ""
+msgstr "キャッシュレジスタを閉じる"
#. module: point_of_sale
#: code:addons/point_of_sale/point_of_sale.py:65
#, python-format
msgid "In order to delete a sale, it must be new or cancelled."
-msgstr ""
+msgstr "販売を削除するために、それは新規またはキャンセルする必要があります。"
#. module: point_of_sale
#: model:product.template,name:point_of_sale.coca_regular_50cl_product_template
msgid "Coca-Cola Regular 50cl"
-msgstr ""
+msgstr "コカコーラ 500ml"
#. module: point_of_sale
#: view:pos.confirm:0
msgid "Generate Entries"
-msgstr ""
+msgstr "エントリーの生成"
#. module: point_of_sale
#: field:pos.box.entries,product_id:0 field:pos.box.out,product_id:0
msgid "Operation"
-msgstr ""
+msgstr "操作"
#. module: point_of_sale
#: field:pos.order,account_move:0
msgid "Journal Entry"
-msgstr ""
+msgstr "仕訳帳入力"
#. module: point_of_sale
#: selection:report.cash.register,state:0
msgid "Confirmed"
-msgstr ""
+msgstr "確認済"
#. module: point_of_sale
#: report:pos.invoice:0
msgid "Cancelled Invoice"
-msgstr ""
+msgstr "キャンセル済請求書"
#. module: point_of_sale
#: view:report.cash.register:0
msgid "Confirm"
-msgstr ""
+msgstr "確認"
#. module: point_of_sale
#: help:account.journal,auto_cash:0
msgid ""
"This field authorize the automatic creation of the cashbox, without control "
"of the initial balance."
-msgstr ""
+msgstr "この項目は初期残高の制御なしに金庫の自動作成を許可します。"
#. module: point_of_sale
#: model:product.template,name:point_of_sale.coca_zero_50cl_product_template
msgid "Coca-Cola Zero 50cl"
-msgstr ""
+msgstr "コカコーラ ゼロ 500ml"
#. module: point_of_sale
#: model:product.template,name:point_of_sale.oetker_tonno_product_template
msgid "Dr. Oetker Ristorante Tonno"
-msgstr ""
+msgstr "Dr. Oetker レストラン トンノ"
#. module: point_of_sale
#: report:pos.invoice:0
msgid "Supplier Invoice"
-msgstr ""
+msgstr "仕入先請求書"
#. module: point_of_sale
#: constraint:account.bank.statement:0
msgid "The journal and period chosen have to belong to the same company."
-msgstr ""
+msgstr "選択された仕訳帳と期間は同じ会社に属していなければなりません。"
#. module: point_of_sale
#: view:pos.order:0 selection:pos.order,state:0
#: selection:report.pos.order,state:0
msgid "New"
-msgstr ""
+msgstr "新規"
#. module: point_of_sale
#: code:addons/point_of_sale/point_of_sale.py:238
#, python-format
msgid "In order to set to draft a sale, it must be cancelled."
-msgstr ""
+msgstr "販売をドラフトにセットするためには、それをキャンセルする必要があります。"
#. module: point_of_sale
#: model:product.template,name:point_of_sale.fanta_zero_orange_33cl_product_template
msgid "Fanta Zero Orange 33cl"
-msgstr ""
+msgstr "ファンタ ゼロ オレンジ 330ml"
#. module: point_of_sale
#: view:report.pos.order:0
msgid "Day of order date"
-msgstr ""
+msgstr "オーダー日の日"
#. module: point_of_sale
#: model:ir.ui.menu,name:point_of_sale.menu_point_rep
msgid "Reporting"
-msgstr ""
+msgstr "レポート"
#. module: point_of_sale
#: model:product.template,name:point_of_sale.maes_33cl_product_template
msgid "Maes 33cl"
-msgstr ""
+msgstr "メイズ 330ml"
#. module: point_of_sale
#: view:pos.box.entries:0
msgid "Put Money"
-msgstr ""
+msgstr "現金装填"
#. module: point_of_sale
#: sql_constraint:account.journal:0
msgid "The code of the journal must be unique per company !"
-msgstr ""
+msgstr "仕訳帳のコードは会社ごとに固有でなければなりません。"
#. module: point_of_sale
#: model:ir.ui.menu,name:point_of_sale.menu_point_config_product
msgid "Configuration"
-msgstr ""
+msgstr "設定"
#. module: point_of_sale
#: model:product.template,name:point_of_sale.orval_33cl_product_template
msgid "Orval 33cl"
-msgstr ""
+msgstr "オルヴァル 330ml"
#. module: point_of_sale
#: model:product.template,name:point_of_sale.coca_regular_1l_product_template
msgid "Coca-Cola Regular 1L"
-msgstr ""
+msgstr "コカコーラ 1L"
#. module: point_of_sale
#: code:addons/point_of_sale/point_of_sale.py:253
#, python-format
msgid "Unable to cancel the picking."
-msgstr ""
+msgstr "集荷をキャンセルできません。"
#. module: point_of_sale
#: view:report.pos.order:0
@@ -2216,74 +2219,74 @@ msgstr "現在月中に作成されたPOSオーダー"
#. module: point_of_sale
#: view:report.pos.order:0
msgid "POS ordered created last month"
-msgstr ""
+msgstr "先月作成されたPOSオーダー"
#. module: point_of_sale
#: model:ir.actions.act_window,name:point_of_sale.action_pos_invoice
msgid "Invoices"
-msgstr ""
+msgstr "請求書"
#. module: point_of_sale
#: selection:report.cash.register,month:0 selection:report.pos.order,month:0
msgid "December"
-msgstr ""
+msgstr "12月"
#. module: point_of_sale
#: model:product.template,name:point_of_sale.spa_gazeuse_1,5l_product_template
msgid "Spa Barisart 1.5l"
-msgstr ""
+msgstr "SPA Barisart 1.5L"
#. module: point_of_sale
#: code:addons/point_of_sale/point_of_sale.py:329 view:pos.order:0
#, python-format
msgid "Return Products"
-msgstr ""
+msgstr "商品の返品"
#. module: point_of_sale
#: model:product.template,name:point_of_sale.jupiler_33cl_product_template
msgid "Jupiler 33cl"
-msgstr ""
+msgstr "ジュピラー 330ml"
#. module: point_of_sale
#: model:product.template,name:point_of_sale.ijsboerke_chocolat_2,5l_product_template
msgid "ijsboerke Chocolat 2.5L"
-msgstr ""
+msgstr "アイスブルク チョコレート 2.5L"
#. module: point_of_sale
#: view:pos.box.out:0
msgid "Take Money"
-msgstr ""
+msgstr "現金取出"
#. module: point_of_sale
#: model:ir.model,name:point_of_sale.model_pos_details
msgid "Sales Details"
-msgstr ""
+msgstr "販売詳細"
#. module: point_of_sale
#: code:addons/point_of_sale/wizard/pos_close_statement.py:50
#, python-format
msgid "Message"
-msgstr ""
+msgstr "メッセージ"
#. module: point_of_sale
#: view:account.journal:0 model:ir.model,name:point_of_sale.model_pos_order
#: model:ir.ui.menu,name:point_of_sale.menu_point_root_touchscreen
#: view:product.product:0
msgid "Point of Sale"
-msgstr ""
+msgstr "POS"
#. module: point_of_sale
#: view:pos.order:0 field:pos.payment.report.user,user_id:0
#: field:pos.sale.user,user_id:0 field:pos.sales.user.today,user_id:0
#: view:report.pos.order:0 field:report.pos.order,user_id:0
msgid "Salesman"
-msgstr ""
+msgstr "販売員"
#. module: point_of_sale
#: report:pos.details:0 view:pos.order:0 selection:pos.order,state:0
#: view:report.pos.order:0 selection:report.pos.order,state:0
msgid "Invoiced"
-msgstr ""
+msgstr "請求済"
#. module: point_of_sale
#: view:pos.close.statement:0
@@ -2293,101 +2296,101 @@ msgstr ""
#. module: point_of_sale
#: model:product.template,name:point_of_sale.spa_gazeuse_50cl_product_template
msgid "Spa Barisart 50cl"
-msgstr ""
+msgstr "SPA Barisart 500ml"
#. module: point_of_sale
#: model:pos.category,name:point_of_sale.special_beers
msgid "Special Beers"
-msgstr ""
+msgstr "特別なビール"
#. module: point_of_sale
#: field:pos.order.line,notice:0
msgid "Discount Notice"
-msgstr ""
+msgstr "割引注記"
#. module: point_of_sale
#: view:pos.order:0
msgid "Re-Print"
-msgstr ""
+msgstr "再印刷"
#. module: point_of_sale
#: view:report.cash.register:0
msgid "Draft"
-msgstr ""
+msgstr "ドラフト"
#. module: point_of_sale
#: model:product.template,name:point_of_sale.fanta_zero_orange_1,5l_product_template
msgid "Fanta Zero Orange 1.5L"
-msgstr ""
+msgstr "ファンタ ゼロ オレンジ 1.5L"
#. module: point_of_sale
#: report:pos.invoice:0
msgid "PRO-FORMA"
-msgstr ""
+msgstr "プロフォーマ"
#. module: point_of_sale
#: code:addons/point_of_sale/point_of_sale.py:358
#, python-format
msgid "Please provide a partner for the sale."
-msgstr ""
+msgstr "販売のためのパートナを提供して下さい。"
#. module: point_of_sale
#: model:pos.category,name:point_of_sale.fruity_beers
msgid "Fruity Beers"
-msgstr ""
+msgstr "フルーティなビール"
#. module: point_of_sale
#: model:product.template,name:point_of_sale.ijsboerke_dame_blanche_2,5l_product_template
msgid "ijsboerke Dame Blanche 2.5L"
-msgstr ""
+msgstr "アイスブルク Dame Blanche 2.5L"
#. module: point_of_sale
#: model:product.template,name:point_of_sale.ijsboerke_moka_2,5l_product_template
msgid "ijsboerke Moka 2.5L"
-msgstr ""
+msgstr "アイスブルク モカ 2.5L"
#. module: point_of_sale
#: view:pos.order:0
msgid "Search Sales Order"
-msgstr ""
+msgstr "販売オーダーの検索"
#. module: point_of_sale
#: model:ir.actions.act_window,help:point_of_sale.action_account_journal_form
msgid ""
"Payment methods are defined by accounting journals having the field Payment "
"Method checked."
-msgstr ""
+msgstr "支払方法はチェックされた支払方法項目を持つ会計仕訳帳によって定義されます。"
#. module: point_of_sale
#: model:ir.actions.act_window,name:point_of_sale.action_trans_pos_tree
#: model:ir.model,name:point_of_sale.model_report_sales_by_user_pos
msgid "Sales by user"
-msgstr ""
+msgstr "ユーザ別販売"
#. module: point_of_sale
#: model:product.template,name:point_of_sale.oetker_hawaii_product_template
msgid "Dr. Oetker Ristorante Hawaii"
-msgstr ""
+msgstr "Dr. Oetker レストラン ハワイ"
#. module: point_of_sale
#: view:pos.receipt:0
msgid "Print Receipt"
-msgstr ""
+msgstr "レシート印刷"
#. module: point_of_sale
#: selection:report.cash.register,month:0 selection:report.pos.order,month:0
msgid "January"
-msgstr ""
+msgstr "1月"
#. module: point_of_sale
#: view:pos.order.line:0
msgid "POS Orders lines"
-msgstr ""
+msgstr "POSオーダー行"
#. module: point_of_sale
#: model:product.template,name:point_of_sale.chaudfontaine_petillante_33cl_product_template
msgid "Chaudfontaine Petillante 33cl"
-msgstr ""
+msgstr "Chaudfontaine ペティアント 330ml"
#. module: point_of_sale
#: model:ir.actions.act_window,help:point_of_sale.product_normal_action
@@ -2397,43 +2400,45 @@ msgid ""
"contains detailed information about your products related to procurement "
"logistics, sales price, product category, suppliers and so on."
msgstr ""
+"購入または販売する全ての商品を定義する必要があります。商品は原材料、在庫可能商品、消耗品、またはサービスです。商品フォームはその商品が関連する調達の物流、"
+"販売価格、商品分類、仕入先などについての詳細な情報を含みます。"
#. module: point_of_sale
#: model:product.template,name:point_of_sale.pepsi_max_2l_product_template
msgid "Pepsi Max 2L"
-msgstr ""
+msgstr "ペプシマックス 2L"
#. module: point_of_sale
#: code:addons/point_of_sale/point_of_sale.py:358
#, python-format
msgid "Error"
-msgstr ""
+msgstr "エラー"
#. module: point_of_sale
#: model:product.template,name:point_of_sale.lays_paprika_300g_product_template
msgid "Lays Paprika XXL 300g"
-msgstr ""
+msgstr "Lays パプリカ XXL 300g"
#. module: point_of_sale
#: view:pos.close.statement:0
msgid "Do you want to close your cash registers?"
-msgstr ""
+msgstr "キャッシュレジスタを閉じますか?"
#. module: point_of_sale
#: report:pos.invoice:0
msgid "Refund"
-msgstr ""
+msgstr "返金"
#. module: point_of_sale
#: code:addons/point_of_sale/report/pos_invoice.py:46
#, python-format
msgid "Please create an invoice for this sale."
-msgstr ""
+msgstr "この販売の請求書を作成して下さい。"
#. module: point_of_sale
#: model:product.template,name:point_of_sale.oetker_mozzarella_product_template
msgid "Dr. Oetker Ristorante Mozzarella"
-msgstr ""
+msgstr "Dr. Oetker レストラン モッツァレッラ"
#. module: point_of_sale
#: code:addons/point_of_sale/wizard/pos_close_statement.py:66
@@ -2441,17 +2446,17 @@ msgstr ""
#: view:pos.close.statement:0
#, python-format
msgid "Close Cash Registers"
-msgstr ""
+msgstr "キャッシュレジスタを閉じる"
#. module: point_of_sale
#: report:pos.details:0 report:pos.payment.report.user:0
msgid "Disc(%)"
-msgstr ""
+msgstr "割引(%)"
#. module: point_of_sale
#: view:pos.order:0
msgid "General Information"
-msgstr ""
+msgstr "一般情報"
#. #-#-#-#-# point_of_sale.pot (OpenERP Server 6.1rc1) #-#-#-#-#
#. module: point_of_sale
@@ -2461,265 +2466,265 @@ msgstr ""
#: view:pos.payment.report.user:0 view:pos.sale.user:0
#: /home/odo/repositories/addons/trunk/point_of_sale/static/src/xml/pos.xml:13
msgid "Close"
-msgstr ""
+msgstr "閉じる"
#. module: point_of_sale
#: view:pos.order:0
msgid "Order lines"
-msgstr ""
+msgstr "オーダー行"
#. module: point_of_sale
#: view:account.journal:0
msgid "Extended Configuration"
-msgstr ""
+msgstr "拡張設定"
#. module: point_of_sale
#: field:pos.order.line,price_subtotal:0
msgid "Subtotal w/o Tax"
-msgstr ""
+msgstr "税抜小計"
#. module: point_of_sale
#: model:product.template,name:point_of_sale.spa_50cl_product_template
msgid "Spa Reine 50cl"
-msgstr ""
+msgstr "SPA REINE 500ml"
#. module: point_of_sale
#: model:product.template,name:point_of_sale.leffe_blonde_33cl_product_template
msgid "Leffe Blonde 33cl"
-msgstr ""
+msgstr "レフ ブロンド 330ml"
#. module: point_of_sale
#: model:ir.actions.act_window,name:point_of_sale.action_report_pos_payment
msgid "Pyament Report"
-msgstr ""
+msgstr "支払レポート"
#. module: point_of_sale
#: field:report.transaction.pos,jl_id:0
msgid "Cash Journals"
-msgstr ""
+msgstr "現金仕訳帳"
#. module: point_of_sale
#: report:pos.sales.user.today:0
msgid "Today's Sales By User"
-msgstr ""
+msgstr "ユーザ別本日販売"
#. module: point_of_sale
#: report:pos.invoice:0
msgid "Customer Code"
-msgstr ""
+msgstr "顧客コード"
#. module: point_of_sale
#: code:addons/point_of_sale/wizard/pos_box_out.py:86
#, python-format
msgid "please check that account is set to %s"
-msgstr ""
+msgstr "そのアカウントが %s にセットされていることを確認して下さい。"
#. module: point_of_sale
#: field:pos.config.journal,name:0 report:pos.invoice:0 report:pos.lines:0
msgid "Description"
-msgstr ""
+msgstr "説明"
#. module: point_of_sale
#: selection:report.cash.register,month:0 selection:report.pos.order,month:0
msgid "May"
-msgstr ""
+msgstr "5月"
#. module: point_of_sale
#: report:pos.lines:0
msgid "Sales lines"
-msgstr ""
+msgstr "販売行"
#. module: point_of_sale
#: view:pos.order:0
msgid "Yesterday"
-msgstr ""
+msgstr "昨日"
#. module: point_of_sale
#: field:pos.order,note:0
msgid "Internal Notes"
-msgstr ""
+msgstr "内部注記"
#. module: point_of_sale
#: model:product.template,name:point_of_sale.coca_zero_decaf_33cl_product_template
msgid "Coca-Cola Zero Decaf 33cl"
-msgstr ""
+msgstr "コカコーラ ゼロ デカフェ 330ml"
#. module: point_of_sale
#: view:pos.box.out:0
msgid "Describe why you take money from the cash register:"
-msgstr ""
+msgstr "キャッシュレジスタから現金取出をした理由を説明して下さい。"
#. module: point_of_sale
#: model:ir.actions.act_window,name:point_of_sale.action_report_pos_order_all
#: model:ir.ui.menu,name:point_of_sale.menu_report_pos_order_all
#: view:report.pos.order:0
msgid "Point of Sale Analysis"
-msgstr ""
+msgstr "POS分析"
#. module: point_of_sale
#: view:pos.order:0 field:pos.order,partner_id:0 view:report.pos.order:0
msgid "Customer"
-msgstr ""
+msgstr "顧客"
#. module: point_of_sale
#: selection:report.cash.register,month:0 selection:report.pos.order,month:0
msgid "February"
-msgstr ""
+msgstr "2月"
#. module: point_of_sale
#: view:report.cash.register:0
msgid " Today "
-msgstr ""
+msgstr " 本日 "
#. module: point_of_sale
#: selection:report.cash.register,month:0 selection:report.pos.order,month:0
msgid "April"
-msgstr ""
+msgstr "4月"
#. module: point_of_sale
#: field:pos.order,statement_ids:0
msgid "Payments"
-msgstr ""
+msgstr "支払"
#. module: point_of_sale
#: report:pos.invoice:0
msgid "Supplier Refund"
-msgstr ""
+msgstr "仕入先返金"
#. module: point_of_sale
#: model:ir.actions.act_window,name:point_of_sale.action_report_sales_by_margin_pos_month
msgid "Sales by User Monthly margin"
-msgstr ""
+msgstr "ユーザ月間利鞘別売上"
#. module: point_of_sale
#: model:product.template,name:point_of_sale.leffe_9_33cl_product_template
msgid "Leffe Brune \"9\" 33cl"
-msgstr ""
+msgstr "Leffe Brune 9 330ml"
#. module: point_of_sale
#: help:account.journal,journal_user:0
msgid ""
"Check this box if this journal define a payment method that can be used in "
"point of sales."
-msgstr ""
+msgstr "この仕訳帳がPOSで使用する支払方法を定義している場合はこのボックスをチェックして下さい。"
#. module: point_of_sale
#: field:pos.category,sequence:0
msgid "Sequence"
-msgstr ""
+msgstr "順序"
#. module: point_of_sale
#: code:addons/point_of_sale/wizard/pos_return.py:316 view:pos.make.payment:0
#, python-format
msgid "Make Payment"
-msgstr ""
+msgstr "支払の作成"
#. module: point_of_sale
#: constraint:pos.category:0
msgid "Error ! You cannot create recursive categories."
-msgstr ""
+msgstr "エラー:再帰カテゴリーを作成することはできません。"
#. module: point_of_sale
#: model:ir.model,name:point_of_sale.model_pos_sales_user_today
msgid "Sales User Today"
-msgstr ""
+msgstr "ユーザの本日販売"
#. module: point_of_sale
#: view:report.pos.order:0
msgid "Month of order date"
-msgstr ""
+msgstr "オーダー日の月"
#. module: point_of_sale
#: field:product.product,income_pdt:0
msgid "PoS Cash Input"
-msgstr ""
+msgstr "POS現金装填"
#. module: point_of_sale
#: view:report.cash.register:0 field:report.cash.register,year:0
#: view:report.pos.order:0 field:report.pos.order,year:0
msgid "Year"
-msgstr ""
+msgstr "年"
#. openerp-web
#: /home/odo/repositories/addons/trunk/point_of_sale/static/src/xml/pos.xml:31
msgid "Disc (%)"
-msgstr ""
+msgstr "割引(%)"
#. openerp-web
#: /home/odo/repositories/addons/trunk/point_of_sale/static/src/xml/pos.xml:41
msgid "Subtotal:"
-msgstr ""
+msgstr "小計:"
#. openerp-web
#: /home/odo/repositories/addons/trunk/point_of_sale/static/src/xml/pos.xml:45
#: /home/odo/repositories/addons/trunk/point_of_sale/static/src/xml/pos.xml:268
msgid "Tax:"
-msgstr ""
+msgstr "税金:"
#. openerp-web
#: /home/odo/repositories/addons/trunk/point_of_sale/static/src/xml/pos.xml:64
msgid "Disc"
-msgstr ""
+msgstr "割引"
#. openerp-web
#: /home/odo/repositories/addons/trunk/point_of_sale/static/src/xml/pos.xml:71
msgid "+/-"
-msgstr ""
+msgstr "+ / -"
#. openerp-web
#: /home/odo/repositories/addons/trunk/point_of_sale/static/src/xml/pos.xml:105
msgid "Paid:"
-msgstr ""
+msgstr "支払済:"
#. openerp-web
#: /home/odo/repositories/addons/trunk/point_of_sale/static/src/xml/pos.xml:113
#: /home/odo/repositories/addons/trunk/point_of_sale/static/src/xml/pos.xml:288
msgid "Change:"
-msgstr ""
+msgstr "手数料:"
#. openerp-web
#: /home/odo/repositories/addons/trunk/point_of_sale/static/src/xml/pos.xml:124
msgid "Back to Products"
-msgstr ""
+msgstr "商品に戻る"
#. openerp-web
#: /home/odo/repositories/addons/trunk/point_of_sale/static/src/xml/pos.xml:127
msgid "Validate"
-msgstr ""
+msgstr "検証"
#. openerp-web
#: /home/odo/repositories/addons/trunk/point_of_sale/static/src/xml/pos.xml:140
msgid "pending orders"
-msgstr ""
+msgstr "保留中オーダー"
#. openerp-web
#: /home/odo/repositories/addons/trunk/point_of_sale/static/src/xml/pos.xml:145
msgid ""
"There are pending operations that could not be saved into the database, are "
"you sure you want to exit?"
-msgstr ""
+msgstr "データベースの保存することができなかった保留中の操作がありますが、本当に終了しますか?"
#. openerp-web
#: /home/odo/repositories/addons/trunk/point_of_sale/static/src/xml/pos.xml:236
msgid "Print"
-msgstr ""
+msgstr "印刷"
#. openerp-web
#: /home/odo/repositories/addons/trunk/point_of_sale/static/src/xml/pos.xml:238
msgid "Next Order"
-msgstr ""
+msgstr "次のオーダー"
#. openerp-web
#: /home/odo/repositories/addons/trunk/point_of_sale/static/src/xml/pos.xml:248
msgid "Phone:"
-msgstr ""
+msgstr "TEL:"
#. openerp-web
#: /home/odo/repositories/addons/trunk/point_of_sale/static/src/xml/pos.xml:249
msgid "User:"
-msgstr ""
+msgstr "ユーザ:"
#. openerp-web
#: /home/odo/repositories/addons/trunk/point_of_sale/static/src/xml/pos.xml:250
msgid "Shop:"
-msgstr ""
+msgstr "店:"
diff --git a/addons/portal/i18n/ja.po b/addons/portal/i18n/ja.po
new file mode 100644
index 00000000000..32590f36985
--- /dev/null
+++ b/addons/portal/i18n/ja.po
@@ -0,0 +1,407 @@
+# Japanese translation for openobject-addons
+# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012
+# This file is distributed under the same license as the openobject-addons package.
+# FIRST AUTHOR , 2012.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openobject-addons\n"
+"Report-Msgid-Bugs-To: FULL NAME \n"
+"POT-Creation-Date: 2012-02-08 00:36+0000\n"
+"PO-Revision-Date: 2012-06-01 23:22+0000\n"
+"Last-Translator: Akira Hiyama \n"
+"Language-Team: Japanese \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2012-06-02 05:35+0000\n"
+"X-Generator: Launchpad (build 15342)\n"
+
+#. module: portal
+#: code:addons/portal/wizard/share_wizard.py:51
+#, python-format
+msgid "Please select at least one user to share with"
+msgstr "共有するためには少なくとも1ユーザと共有して下さい。"
+
+#. module: portal
+#: code:addons/portal/wizard/share_wizard.py:55
+#, python-format
+msgid "Please select at least one group to share with"
+msgstr "共有するためには少なくとも1グループと共有して下さい。"
+
+#. module: portal
+#: field:res.portal,group_id:0
+msgid "Group"
+msgstr "グループ"
+
+#. module: portal
+#: view:share.wizard:0
+#: field:share.wizard,group_ids:0
+msgid "Existing groups"
+msgstr "既存のグループ"
+
+#. module: portal
+#: model:ir.model,name:portal.model_res_portal_wizard_user
+msgid "Portal User Config"
+msgstr "ポータルユーザ設定"
+
+#. module: portal
+#: view:res.portal.wizard.user:0
+msgid "Portal User"
+msgstr "ポータルユーザ"
+
+#. module: portal
+#: model:res.groups,comment:portal.group_portal_manager
+msgid ""
+"Portal managers have access to the portal definitions, and can easily "
+"configure the users, access rights and menus of portal users."
+msgstr "ポータルマネジャはポータル定義へアクセスして、ユーザ、アクセス権、ユーザのポータルメニューの設定を簡単にできます。"
+
+#. module: portal
+#: help:res.portal,override_menu:0
+msgid "Enable this option to override the Menu Action of portal users"
+msgstr "ポータルユーザのメニューアクションを無効にするためにはこのオプションを有効にして下さい。"
+
+#. module: portal
+#: field:res.portal.wizard.user,user_email:0
+msgid "E-mail"
+msgstr "Eメール"
+
+#. module: portal
+#: constraint:res.users:0
+msgid "The chosen company is not in the allowed companies for this user"
+msgstr "選択した会社は、このユーザに許された会社ではありません。"
+
+#. module: portal
+#: view:res.portal:0
+#: field:res.portal,widget_ids:0
+msgid "Widgets"
+msgstr "ウィジェット"
+
+#. module: portal
+#: view:res.portal.wizard:0
+msgid "Send Invitations"
+msgstr "招待の送信"
+
+#. module: portal
+#: view:res.portal:0
+msgid "Widgets Assigned to Users"
+msgstr "ユーザ割当ウィジット"
+
+#. module: portal
+#: help:res.portal,url:0
+msgid "The url where portal users can connect to the server"
+msgstr "ポータルユーザがサーバに接続できるURL"
+
+#. module: portal
+#: model:res.groups,comment:portal.group_portal_officer
+msgid "Portal officers can create new portal users with the portal wizard."
+msgstr "ポータル役員はポータルウィザードを使って新しいポータルユーザを作成できます。"
+
+#. module: portal
+#: help:res.portal.wizard,message:0
+msgid "This text is included in the welcome email sent to the users"
+msgstr "このテキストはユーザに送信される歓迎Eメールに含まれます。"
+
+#. module: portal
+#: help:res.portal,menu_action_id:0
+msgid "If set, replaces the standard menu for the portal's users"
+msgstr "セットした場合、ポータルユーザのための標準メニューを置き換えます。"
+
+#. module: portal
+#: field:res.portal.wizard.user,lang:0
+msgid "Language"
+msgstr "言語"
+
+#. module: portal
+#: view:res.portal:0
+msgid "Portal Name"
+msgstr "ポータル名"
+
+#. module: portal
+#: view:res.portal.wizard.user:0
+msgid "Portal Users"
+msgstr "ポータルユーザ"
+
+#. module: portal
+#: field:res.portal,override_menu:0
+msgid "Override Menu Action of Users"
+msgstr "ユーザのメニューアクションの無効化"
+
+#. module: portal
+#: field:res.portal,menu_action_id:0
+msgid "Menu Action"
+msgstr "メニューアクション"
+
+#. module: portal
+#: field:res.portal.wizard.user,name:0
+msgid "User Name"
+msgstr "ユーザ名"
+
+#. module: portal
+#: help:res.portal,group_id:0
+msgid "The group corresponding to this portal"
+msgstr "このポータルに対応するグループ"
+
+#. module: portal
+#: model:ir.model,name:portal.model_res_portal_widget
+msgid "Portal Widgets"
+msgstr "ポータルウィジット"
+
+#. module: portal
+#: model:ir.model,name:portal.model_res_portal
+#: model:ir.module.category,name:portal.module_category_portal
+#: view:res.portal:0
+#: field:res.portal.widget,portal_id:0
+#: field:res.portal.wizard,portal_id:0
+msgid "Portal"
+msgstr "ポータル"
+
+#. module: portal
+#: code:addons/portal/wizard/portal_wizard.py:35
+#, python-format
+msgid "Your OpenERP account at %(company)s"
+msgstr "%(company)s 上のあなたのOpenERPアカウント"
+
+#. module: portal
+#: code:addons/portal/portal.py:107
+#: code:addons/portal/portal.py:184
+#, python-format
+msgid "%s Menu"
+msgstr "%s メニュー"
+
+#. module: portal
+#: help:res.portal.wizard,portal_id:0
+msgid "The portal in which new users must be added"
+msgstr "新しいユーザを追加すべきポータル"
+
+#. module: portal
+#: model:ir.model,name:portal.model_res_portal_wizard
+msgid "Portal Wizard"
+msgstr "ポータルウィザード"
+
+#. module: portal
+#: help:res.portal,widget_ids:0
+msgid "Widgets assigned to portal users"
+msgstr "ポータルユーザ割当ウィザード"
+
+#. module: portal
+#: code:addons/portal/wizard/portal_wizard.py:163
+#, python-format
+msgid "(missing url)"
+msgstr "(不足しているURL)"
+
+#. module: portal
+#: view:share.wizard:0
+#: field:share.wizard,user_ids:0
+msgid "Existing users"
+msgstr "既存ユーザ"
+
+#. module: portal
+#: field:res.portal.wizard.user,wizard_id:0
+msgid "Wizard"
+msgstr "ウィザード"
+
+#. module: portal
+#: help:res.portal.wizard.user,user_email:0
+msgid ""
+"Will be used as user login. Also necessary to send the account information "
+"to new users"
+msgstr "ユーザログインとして使用されます。新しいユーザへのアカウント情報を送信するためにも必要です。"
+
+#. module: portal
+#: field:res.portal,parent_menu_id:0
+msgid "Parent Menu"
+msgstr "親メニュー"
+
+#. module: portal
+#: field:res.portal,url:0
+msgid "URL"
+msgstr "URL"
+
+#. module: portal
+#: field:res.portal.widget,widget_id:0
+msgid "Widget"
+msgstr "ウィジット"
+
+#. module: portal
+#: help:res.portal.wizard.user,lang:0
+msgid "The language for the user's user interface"
+msgstr "ユーザのユーザインタフェースのための言語"
+
+#. module: portal
+#: view:res.portal.wizard:0
+msgid "Cancel"
+msgstr "キャンセル"
+
+#. module: portal
+#: view:res.portal:0
+msgid "Website"
+msgstr "Webサイト"
+
+#. module: portal
+#: view:res.portal:0
+msgid "Create Parent Menu"
+msgstr "親メニュー作成"
+
+#. module: portal
+#: view:res.portal.wizard:0
+msgid ""
+"The following text will be included in the welcome email sent to users."
+msgstr "次のテキストはユーザに送信する歓迎Eメールに含まれます。"
+
+#. module: portal
+#: code:addons/portal/wizard/portal_wizard.py:135
+#, python-format
+msgid "Email required"
+msgstr "Eメールは必須"
+
+#. module: portal
+#: model:ir.model,name:portal.model_res_users
+msgid "res.users"
+msgstr ""
+
+#. module: portal
+#: constraint:res.portal.wizard.user:0
+msgid "Invalid email address"
+msgstr "無効なEメールアドレスです。"
+
+#. module: portal
+#: code:addons/portal/wizard/portal_wizard.py:136
+#, python-format
+msgid ""
+"You must have an email address in your User Preferences to send emails."
+msgstr "Eメール送信のためのユーザ設定の中にEメールアドレスを持つ必要があります。"
+
+#. module: portal
+#: model:ir.model,name:portal.model_ir_ui_menu
+msgid "ir.ui.menu"
+msgstr ""
+
+#. module: portal
+#: view:res.portal:0
+#: view:res.portal.wizard:0
+#: field:res.portal.wizard,user_ids:0
+msgid "Users"
+msgstr "ユーザ"
+
+#. module: portal
+#: model:ir.actions.act_window,name:portal.portal_list_action
+#: model:ir.ui.menu,name:portal.portal_list_menu
+#: model:ir.ui.menu,name:portal.portal_menu
+#: view:res.portal:0
+msgid "Portals"
+msgstr "ポータル"
+
+#. module: portal
+#: help:res.portal,parent_menu_id:0
+msgid "The menu action opens the submenus of this menu item"
+msgstr "メニューアクションはこのメニュー項目のサブメニューを開きます。"
+
+#. module: portal
+#: field:res.portal.widget,sequence:0
+msgid "Sequence"
+msgstr "順序"
+
+#. module: portal
+#: field:res.users,partner_id:0
+msgid "Related Partner"
+msgstr "関連パートナ"
+
+#. module: portal
+#: view:res.portal:0
+msgid "Portal Menu"
+msgstr "ポータルメニュー"
+
+#. module: portal
+#: sql_constraint:res.users:0
+msgid "You can not have two users with the same login !"
+msgstr "同じログインでは2つのユーザを持てません。"
+
+#. module: portal
+#: view:res.portal.wizard:0
+#: field:res.portal.wizard,message:0
+msgid "Invitation message"
+msgstr "招待メッセージ"
+
+#. module: portal
+#: code:addons/portal/wizard/portal_wizard.py:36
+#, python-format
+msgid ""
+"Dear %(name)s,\n"
+"\n"
+"You have been created an OpenERP account at %(url)s.\n"
+"\n"
+"Your login account data is:\n"
+"Database: %(db)s\n"
+"User: %(login)s\n"
+"Password: %(password)s\n"
+"\n"
+"%(message)s\n"
+"\n"
+"--\n"
+"OpenERP - Open Source Business Applications\n"
+"http://www.openerp.com\n"
+msgstr ""
+"%(name)s 様、\n"
+"\n"
+"あなたのOpenERPアカウントは作成されました。%(url)s\n"
+"\n"
+"あなたのログイン情報は次のとおりです:\n"
+"データベース:%(db)s\n"
+"ユーザ:%(login)s\n"
+"パスワード:%(password)s\n"
+"\n"
+"%(message)s\n"
+"\n"
+"--\n"
+"OpenERP - Open Source Business Applications\n"
+"http://www.openerp.com\n"
+
+#. module: portal
+#: model:res.groups,name:portal.group_portal_manager
+msgid "Manager"
+msgstr "マネジャ"
+
+#. module: portal
+#: help:res.portal.wizard.user,name:0
+msgid "The user's real name"
+msgstr "ユーザの本名"
+
+#. module: portal
+#: model:ir.actions.act_window,name:portal.address_wizard_action
+#: model:ir.actions.act_window,name:portal.partner_wizard_action
+#: view:res.portal.wizard:0
+msgid "Add Portal Access"
+msgstr "ポータルアクセスの追加"
+
+#. module: portal
+#: field:res.portal.wizard.user,partner_id:0
+msgid "Partner"
+msgstr "パートナ"
+
+#. module: portal
+#: model:ir.actions.act_window,help:portal.portal_list_action
+msgid ""
+"\n"
+"A portal helps defining specific views and rules for a group of users (the\n"
+"portal group). A portal menu, widgets and specific groups may be assigned "
+"to\n"
+"the portal's users.\n"
+" "
+msgstr ""
+"\n"
+"ポータルはユーザのグループ(ポータルグループ)のために特定のビューやルールの\n"
+"定義ができます。ポータルメニュー、ウィジット、特定のグループはポータルユーザに\n"
+"割り当てることができます。\n"
+" "
+
+#. module: portal
+#: model:ir.model,name:portal.model_share_wizard
+msgid "Share Wizard"
+msgstr "共有ウィザード"
+
+#. module: portal
+#: model:res.groups,name:portal.group_portal_officer
+msgid "Officer"
+msgstr "役員"
diff --git a/addons/process/i18n/ja.po b/addons/process/i18n/ja.po
new file mode 100644
index 00000000000..fbb68f8de5b
--- /dev/null
+++ b/addons/process/i18n/ja.po
@@ -0,0 +1,313 @@
+# Japanese translation for openobject-addons
+# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012
+# This file is distributed under the same license as the openobject-addons package.
+# FIRST AUTHOR , 2012.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openobject-addons\n"
+"Report-Msgid-Bugs-To: FULL NAME \n"
+"POT-Creation-Date: 2012-02-08 00:36+0000\n"
+"PO-Revision-Date: 2012-06-01 23:37+0000\n"
+"Last-Translator: Akira Hiyama \n"
+"Language-Team: Japanese \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2012-06-03 04:47+0000\n"
+"X-Generator: Launchpad (build 15342)\n"
+
+#. module: process
+#: model:ir.model,name:process.model_process_node
+#: view:process.node:0
+#: view:process.process:0
+msgid "Process Node"
+msgstr "処理ノード"
+
+#. module: process
+#: help:process.process,active:0
+msgid ""
+"If the active field is set to False, it will allow you to hide the process "
+"without removing it."
+msgstr "アクティブ項目にFalseを設定すると、処理を削除することなく非表示にできます。"
+
+#. module: process
+#: field:process.node,menu_id:0
+msgid "Related Menu"
+msgstr "関連メニュー"
+
+#. module: process
+#: field:process.transition,action_ids:0
+msgid "Buttons"
+msgstr "ボタン"
+
+#. module: process
+#: view:process.node:0
+#: view:process.process:0
+msgid "Group By..."
+msgstr "グループ化…"
+
+#. module: process
+#: selection:process.node,kind:0
+msgid "State"
+msgstr "状態"
+
+#. module: process
+#: view:process.node:0
+msgid "Kind Of Node"
+msgstr "ノードの種類"
+
+#. module: process
+#: field:process.node,help_url:0
+msgid "Help URL"
+msgstr "ヘルプURL"
+
+#. module: process
+#: model:ir.actions.act_window,name:process.action_process_node_form
+#: model:ir.ui.menu,name:process.menu_process_node_form
+#: view:process.node:0
+#: view:process.process:0
+msgid "Process Nodes"
+msgstr "処理ノード"
+
+#. module: process
+#: view:process.process:0
+#: field:process.process,node_ids:0
+msgid "Nodes"
+msgstr "ノード"
+
+#. module: process
+#: view:process.node:0
+#: field:process.node,condition_ids:0
+#: view:process.process:0
+msgid "Conditions"
+msgstr "条件"
+
+#. module: process
+#: view:process.transition:0
+msgid "Search Process Transition"
+msgstr "処理遷移の検索"
+
+#. module: process
+#: field:process.condition,node_id:0
+msgid "Node"
+msgstr "ノード"
+
+#. module: process
+#: selection:process.transition.action,state:0
+msgid "Workflow Trigger"
+msgstr "ワークフロートリガー"
+
+#. module: process
+#: field:process.transition,note:0
+msgid "Description"
+msgstr "説明"
+
+#. module: process
+#: model:ir.model,name:process.model_process_transition_action
+msgid "Process Transitions Actions"
+msgstr "処理遷移アクション"
+
+#. module: process
+#: field:process.condition,model_id:0
+#: view:process.node:0
+#: field:process.node,model_id:0
+#: view:process.process:0
+#: field:process.process,model_id:0
+msgid "Object"
+msgstr "オブジェクト"
+
+#. module: process
+#: field:process.transition,source_node_id:0
+msgid "Source Node"
+msgstr "元ノード"
+
+#. module: process
+#: view:process.transition:0
+#: field:process.transition,transition_ids:0
+msgid "Workflow Transitions"
+msgstr "ワークフロー遷移"
+
+#. module: process
+#: field:process.transition.action,action:0
+msgid "Action ID"
+msgstr "アクションID"
+
+#. module: process
+#: model:ir.model,name:process.model_process_transition
+#: view:process.transition:0
+msgid "Process Transition"
+msgstr "処理遷移"
+
+#. module: process
+#: model:ir.model,name:process.model_process_condition
+msgid "Condition"
+msgstr "条件"
+
+#. module: process
+#: selection:process.transition.action,state:0
+msgid "Dummy"
+msgstr "ダミー"
+
+#. module: process
+#: model:ir.actions.act_window,name:process.action_process_form
+#: model:ir.ui.menu,name:process.menu_process_form
+msgid "Processes"
+msgstr "処理"
+
+#. module: process
+#: field:process.condition,name:0
+#: field:process.node,name:0
+#: field:process.process,name:0
+#: field:process.transition,name:0
+#: field:process.transition.action,name:0
+msgid "Name"
+msgstr "名前"
+
+#. module: process
+#: field:process.node,transition_in:0
+msgid "Starting Transitions"
+msgstr "遷移の始点"
+
+#. module: process
+#: view:process.node:0
+#: field:process.node,note:0
+#: view:process.process:0
+#: field:process.process,note:0
+#: view:process.transition:0
+msgid "Notes"
+msgstr "注記"
+
+#. module: process
+#: field:process.transition.action,transition_id:0
+msgid "Transition"
+msgstr "遷移"
+
+#. module: process
+#: view:process.process:0
+msgid "Search Process"
+msgstr "処理検索"
+
+#. module: process
+#: selection:process.node,kind:0
+#: field:process.node,subflow_id:0
+msgid "Subflow"
+msgstr "サブフロー"
+
+#. module: process
+#: field:process.process,active:0
+msgid "Active"
+msgstr "アクティブ"
+
+#. module: process
+#: view:process.transition:0
+msgid "Associated Groups"
+msgstr "関連グループ"
+
+#. module: process
+#: field:process.node,model_states:0
+msgid "States Expression"
+msgstr "状態式"
+
+#. module: process
+#: selection:process.transition.action,state:0
+msgid "Action"
+msgstr "アクション"
+
+#. module: process
+#: field:process.node,flow_start:0
+msgid "Starting Flow"
+msgstr "開始フロー"
+
+#. module: process
+#: field:process.condition,model_states:0
+msgid "Expression"
+msgstr "式"
+
+#. module: process
+#: field:process.transition,group_ids:0
+msgid "Required Groups"
+msgstr "グループは必須"
+
+#. module: process
+#: view:process.node:0
+#: view:process.process:0
+msgid "Incoming Transitions"
+msgstr "内向き遷移"
+
+#. module: process
+#: field:process.transition.action,state:0
+msgid "Type"
+msgstr "タイプ"
+
+#. module: process
+#: field:process.node,transition_out:0
+msgid "Ending Transitions"
+msgstr "遷移の終点"
+
+#. module: process
+#: model:ir.model,name:process.model_process_process
+#: field:process.node,process_id:0
+#: view:process.process:0
+msgid "Process"
+msgstr "処理"
+
+#. module: process
+#: view:process.node:0
+msgid "Search ProcessNode"
+msgstr "処理ノード検索"
+
+#. module: process
+#: view:process.node:0
+#: view:process.process:0
+msgid "Other Conditions"
+msgstr "他の条件"
+
+#. module: process
+#: model:ir.ui.menu,name:process.menu_process
+msgid "Enterprise Process"
+msgstr "企業の処理"
+
+#. module: process
+#: view:process.transition:0
+msgid "Actions"
+msgstr "アクション"
+
+#. module: process
+#: view:process.node:0
+#: view:process.process:0
+msgid "Properties"
+msgstr "属性"
+
+#. module: process
+#: model:ir.actions.act_window,name:process.action_process_transition_form
+#: model:ir.ui.menu,name:process.menu_process_transition_form
+msgid "Process Transitions"
+msgstr "処理遷移"
+
+#. module: process
+#: field:process.transition,target_node_id:0
+msgid "Target Node"
+msgstr "対象ノード"
+
+#. module: process
+#: field:process.node,kind:0
+msgid "Kind of Node"
+msgstr "ノードの種類"
+
+#. module: process
+#: view:process.node:0
+#: view:process.process:0
+msgid "Outgoing Transitions"
+msgstr "外向き遷移"
+
+#. module: process
+#: view:process.node:0
+#: view:process.process:0
+msgid "Transitions"
+msgstr "遷移"
+
+#. module: process
+#: selection:process.transition.action,state:0
+msgid "Object Method"
+msgstr "オブジェクトメソッド"
diff --git a/addons/procurement/i18n/ja.po b/addons/procurement/i18n/ja.po
new file mode 100644
index 00000000000..c1a3125723e
--- /dev/null
+++ b/addons/procurement/i18n/ja.po
@@ -0,0 +1,1001 @@
+# Japanese translation for openobject-addons
+# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012
+# This file is distributed under the same license as the openobject-addons package.
+# FIRST AUTHOR , 2012.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openobject-addons\n"
+"Report-Msgid-Bugs-To: FULL NAME \n"
+"POT-Creation-Date: 2012-02-08 00:37+0000\n"
+"PO-Revision-Date: 2012-06-02 05:39+0000\n"
+"Last-Translator: Akira Hiyama \n"
+"Language-Team: Japanese \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2012-06-03 04:47+0000\n"
+"X-Generator: Launchpad (build 15342)\n"
+
+#. module: procurement
+#: view:make.procurement:0
+msgid "Ask New Products"
+msgstr "新製品を求める"
+
+#. module: procurement
+#: model:ir.ui.menu,name:procurement.menu_stock_sched
+msgid "Schedulers"
+msgstr "スケジュール"
+
+#. module: procurement
+#: model:ir.model,name:procurement.model_make_procurement
+msgid "Make Procurements"
+msgstr "調達の作成"
+
+#. module: procurement
+#: help:procurement.order.compute.all,automatic:0
+msgid ""
+"Triggers an automatic procurement for all products that have a virtual stock "
+"under 0. You should probably not use this option, we suggest using a MTO "
+"configuration on products."
+msgstr ""
+"実質上の在庫が0未満である全製品のために自動調達のトリガーです。恐らくこのオプションは使用すべきではありません。製品のMTO(make to "
+"order:受注生産)設定を使用することを推奨します。"
+
+#. module: procurement
+#: view:stock.warehouse.orderpoint:0
+msgid "Group By..."
+msgstr "グループ化…"
+
+#. module: procurement
+#: help:stock.warehouse.orderpoint,procurement_draft_ids:0
+msgid "Draft procurement of the product and location of that orderpoint"
+msgstr "ドラフトの製品の調達とその発注点の場所"
+
+#. module: procurement
+#: code:addons/procurement/procurement.py:291
+#, python-format
+msgid "No supplier defined for this product !"
+msgstr "この製品には仕入先が定義されていません。"
+
+#. module: procurement
+#: field:make.procurement,uom_id:0
+msgid "Unit of Measure"
+msgstr "単位"
+
+#. module: procurement
+#: field:procurement.order,procure_method:0
+msgid "Procurement Method"
+msgstr "調達方法"
+
+#. module: procurement
+#: code:addons/procurement/procurement.py:307
+#, python-format
+msgid "No address defined for the supplier"
+msgstr "仕入先の住所が定義されていません。"
+
+#. module: procurement
+#: model:ir.actions.act_window,name:procurement.action_procurement_compute
+msgid "Compute Stock Minimum Rules Only"
+msgstr "在庫最小ルールのみ計算"
+
+#. module: procurement
+#: view:procurement.order:0
+msgid "Temporary Procurement Exceptions"
+msgstr "一時的な調達例外"
+
+#. module: procurement
+#: field:procurement.order,company_id:0
+#: field:stock.warehouse.orderpoint,company_id:0
+msgid "Company"
+msgstr "会社"
+
+#. module: procurement
+#: field:procurement.order,product_uos_qty:0
+msgid "UoS Quantity"
+msgstr "販売単位の数量"
+
+#. module: procurement
+#: view:procurement.order:0
+#: field:procurement.order,name:0
+msgid "Reason"
+msgstr "理由"
+
+#. module: procurement
+#: view:procurement.order.compute:0
+msgid "Compute Procurements"
+msgstr "調達計算"
+
+#. module: procurement
+#: field:procurement.order,message:0
+msgid "Latest error"
+msgstr "最新のエラー"
+
+#. module: procurement
+#: help:mrp.property,composition:0
+msgid "Not used in computations, for information purpose only."
+msgstr "情報目的のみであるため、計算には使用されません。"
+
+#. module: procurement
+#: field:stock.warehouse.orderpoint,procurement_id:0
+msgid "Latest procurement"
+msgstr "最新の調達"
+
+#. module: procurement
+#: view:procurement.order:0
+msgid "Notes"
+msgstr "注記"
+
+#. module: procurement
+#: selection:procurement.order,procure_method:0
+msgid "on order"
+msgstr "オーダー中"
+
+#. module: procurement
+#: help:procurement.order,message:0
+msgid "Exception occurred while computing procurement orders."
+msgstr "調達オーダーの計算中に例外が発生しました。"
+
+#. module: procurement
+#: help:procurement.order,state:0
+msgid ""
+"When a procurement is created the state is set to 'Draft'.\n"
+" If the procurement is confirmed, the state is set to 'Confirmed'. "
+" \n"
+"After confirming the state is set to 'Running'.\n"
+" If any exception arises in the order then the state is set to 'Exception'.\n"
+" Once the exception is removed the state becomes 'Ready'.\n"
+" It is in 'Waiting'. state when the procurement is waiting for another one "
+"to finish."
+msgstr ""
+"調達が生成されると、状態はドラフトにセットされます。\n"
+" 調達が確認されると、状態は確認済にセットされます。\n"
+"確認の後に状態は実行中にセットされます。 \n"
+" オーダーで何らかの例外が発生すると、状態は例外にセットされます。\n"
+" 例外が取り除かれると、状態は準備完了になります。\n"
+" 調達が他の調達の完了を待っている時は、待機中の状態になります。"
+
+#. module: procurement
+#: view:procurement.order:0
+msgid "Permanent Procurement Exceptions"
+msgstr "継続する調達の例外"
+
+#. module: procurement
+#: view:stock.warehouse.orderpoint:0
+msgid "Minimum Stock Rules Search"
+msgstr "最小在庫ルールの検索"
+
+#. module: procurement
+#: view:procurement.order.compute.all:0
+msgid "Scheduler Parameters"
+msgstr "スケジューラのパラメータ"
+
+#. module: procurement
+#: model:ir.model,name:procurement.model_stock_move
+msgid "Stock Move"
+msgstr "在庫移動"
+
+#. module: procurement
+#: model:ir.model,name:procurement.model_procurement_order_compute_all
+msgid "Compute all schedulers"
+msgstr "全スケジュールを計算"
+
+#. module: procurement
+#: view:procurement.order:0
+msgid "Planification"
+msgstr "計画化"
+
+#. module: procurement
+#: selection:procurement.order,state:0
+msgid "Ready"
+msgstr "準備完了"
+
+#. module: procurement
+#: field:procurement.order.compute.all,automatic:0
+msgid "Automatic orderpoint"
+msgstr "自動発注点"
+
+#. module: procurement
+#: code:addons/procurement/schedulers.py:123
+#, python-format
+msgid ""
+"Here is the procurement scheduling report.\n"
+"\n"
+" Start Time: %s \n"
+" End Time: %s \n"
+" Total Procurements processed: %d \n"
+" Procurements with exceptions: %d \n"
+" Skipped Procurements (scheduled date outside of scheduler range) %d "
+"\n"
+"\n"
+" Exceptions:\n"
+msgstr ""
+"これは調達スケジュールレポートです。\n"
+"\n"
+" 開始時間:%s \n"
+" 終了時間:%s \n"
+" 合計調達処理:%d \n"
+" 調達の例外:%d \n"
+" スキップした調達(スケジューラーの範囲外の予定日):%d \n"
+"\n"
+" 例外:\n"
+
+#. module: procurement
+#: selection:procurement.order,state:0
+msgid "Confirmed"
+msgstr "確認済"
+
+#. module: procurement
+#: view:procurement.order:0
+msgid "Retry"
+msgstr "再試行"
+
+#. module: procurement
+#: help:stock.warehouse.orderpoint,product_max_qty:0
+msgid ""
+"When the virtual stock goes below the Min Quantity, OpenERP generates a "
+"procurement to bring the virtual stock to the Quantity specified as Max "
+"Quantity."
+msgstr "実質上の在庫が最小数量を下回った時に、OpenERPは最大数量として定義された数量まで実質上の在庫を持ってくるために調達を生成します。"
+
+#. module: procurement
+#: view:procurement.order.compute:0
+#: view:procurement.orderpoint.compute:0
+msgid "Parameters"
+msgstr "パラメータ"
+
+#. module: procurement
+#: view:procurement.order:0
+msgid "Confirm"
+msgstr "確認"
+
+#. module: procurement
+#: help:procurement.order,origin:0
+msgid ""
+"Reference of the document that created this Procurement.\n"
+"This is automatically completed by OpenERP."
+msgstr ""
+"この調達を作成したドキュメントへの参照です。\n"
+"これはOpenERPによって自動的に完了します。"
+
+#. module: procurement
+#: view:stock.warehouse.orderpoint:0
+msgid "Procurement Orders to Process"
+msgstr "調達オーダーの処理"
+
+#. module: procurement
+#: constraint:res.company:0
+msgid "Error! You can not create recursive companies."
+msgstr "エラー。再帰的な関係となる会社を作ることはできません。"
+
+#. module: procurement
+#: code:addons/procurement/procurement.py:386
+#, python-format
+msgid "Procurement '%s' is in exception: "
+msgstr "調達 %s は例外です: "
+
+#. module: procurement
+#: field:procurement.order,priority:0
+msgid "Priority"
+msgstr "優先度"
+
+#. module: procurement
+#: view:procurement.order:0
+#: field:procurement.order,state:0
+msgid "State"
+msgstr "状態"
+
+#. module: procurement
+#: field:procurement.order,location_id:0
+#: view:stock.warehouse.orderpoint:0
+#: field:stock.warehouse.orderpoint,location_id:0
+msgid "Location"
+msgstr "場所"
+
+#. module: procurement
+#: model:ir.model,name:procurement.model_stock_picking
+msgid "Picking List"
+msgstr "集荷リスト"
+
+#. module: procurement
+#: field:make.procurement,warehouse_id:0
+#: view:stock.warehouse.orderpoint:0
+#: field:stock.warehouse.orderpoint,warehouse_id:0
+msgid "Warehouse"
+msgstr "倉庫"
+
+#. module: procurement
+#: selection:stock.warehouse.orderpoint,logic:0
+msgid "Best price (not yet active!)"
+msgstr "最良価格(まだアクティブでない)"
+
+#. module: procurement
+#: code:addons/procurement/schedulers.py:111
+#, python-format
+msgid "PROC %d: from stock - %3.2f %-5s - %s"
+msgstr "調達 %d: 元在庫 - %3.2f %-5s - %s"
+
+#. module: procurement
+#: view:procurement.order:0
+msgid "Product & Location"
+msgstr "製品と場所"
+
+#. module: procurement
+#: model:ir.model,name:procurement.model_procurement_order_compute
+msgid "Compute Procurement"
+msgstr "調達計算"
+
+#. module: procurement
+#: field:stock.move,procurements:0
+msgid "Procurements"
+msgstr "調達"
+
+#. module: procurement
+#: field:res.company,schedule_range:0
+msgid "Scheduler Range Days"
+msgstr "スケジューラ範囲日数"
+
+#. module: procurement
+#: model:ir.actions.act_window,help:procurement.procurement_action
+msgid ""
+"A procurement order is used to record a need for a specific product at a "
+"specific location. A procurement order is usually created automatically from "
+"sales orders, a Pull Logistics rule or Minimum Stock Rules. When the "
+"procurement order is confirmed, it automatically creates the necessary "
+"operations to fullfil the need: purchase order proposition, manufacturing "
+"order, etc."
+msgstr ""
+"調達オーダーは特定の場所で特定の製品のためのニーズを記録するために使われます。調達オーダーは通常、仕入オーダー、プル型物流ルールまたは最小在庫ルールから自"
+"動的に作成されます。調達オーダーが確認された時、ニーズを埋めるために必要な操作を自動的に作成します:仕入オーダーの提案、製造オーダーなど。"
+
+#. module: procurement
+#: field:make.procurement,date_planned:0
+msgid "Planned Date"
+msgstr "予定日"
+
+#. module: procurement
+#: view:procurement.order:0
+msgid "Group By"
+msgstr "グループ化"
+
+#. module: procurement
+#: field:make.procurement,qty:0
+#: field:procurement.order,product_qty:0
+msgid "Quantity"
+msgstr "数量"
+
+#. module: procurement
+#: code:addons/procurement/procurement.py:379
+#, python-format
+msgid "Not enough stock and no minimum orderpoint rule defined."
+msgstr "十分な在庫がなく、かつ最小発注点ルールが定義されていません。"
+
+#. module: procurement
+#: code:addons/procurement/procurement.py:137
+#, python-format
+msgid "Invalid action !"
+msgstr "無効なアクションです。"
+
+#. module: procurement
+#: view:procurement.order:0
+msgid "References"
+msgstr "参照"
+
+#. module: procurement
+#: view:product.product:0
+#: field:product.product,orderpoint_ids:0
+msgid "Minimum Stock Rule"
+msgstr "最小在庫ルール"
+
+#. module: procurement
+#: view:res.company:0
+msgid "Configuration"
+msgstr "設定"
+
+#. module: procurement
+#: code:addons/procurement/procurement.py:328
+#, python-format
+msgid ""
+"Please check the quantity in procurement order(s), it should not be 0 or "
+"less!"
+msgstr "調達オーダーの数量をチェックして下さい。0やそれ以下であってはなりません。"
+
+#. module: procurement
+#: help:procurement.order,procure_method:0
+msgid ""
+"If you encode manually a Procurement, you probably want to use a make to "
+"order method."
+msgstr "調達を手動で作成する場合、あなたは恐らくオーダー方法のための型を使うことを望むでしょう。"
+
+#. module: procurement
+#: model:ir.ui.menu,name:procurement.menu_stock_procurement
+msgid "Automatic Procurements"
+msgstr "自動調達"
+
+#. module: procurement
+#: field:stock.warehouse.orderpoint,product_max_qty:0
+msgid "Max Quantity"
+msgstr "最大数量"
+
+#. module: procurement
+#: model:ir.model,name:procurement.model_procurement_order
+#: model:process.process,name:procurement.process_process_procurementprocess0
+#: view:procurement.order:0
+msgid "Procurement"
+msgstr "調達"
+
+#. module: procurement
+#: model:ir.actions.act_window,name:procurement.procurement_action
+msgid "Procurement Orders"
+msgstr "調達オーダー"
+
+#. module: procurement
+#: view:procurement.order:0
+msgid "To Fix"
+msgstr "修正"
+
+#. module: procurement
+#: view:procurement.order:0
+msgid "Exceptions"
+msgstr "例外"
+
+#. module: procurement
+#: model:process.node,note:procurement.process_node_serviceonorder0
+msgid "Assignment from Production or Purchase Order."
+msgstr "生産または仕入オーダーから割り当てて下さい。"
+
+#. module: procurement
+#: model:ir.model,name:procurement.model_mrp_property
+msgid "Property"
+msgstr "属性"
+
+#. module: procurement
+#: model:ir.actions.act_window,name:procurement.act_make_procurement
+#: view:make.procurement:0
+msgid "Procurement Request"
+msgstr "調達要求"
+
+#. module: procurement
+#: view:procurement.orderpoint.compute:0
+msgid "Compute Stock"
+msgstr "在庫計算"
+
+#. module: procurement
+#: help:stock.warehouse.orderpoint,product_min_qty:0
+msgid ""
+"When the virtual stock goes below the Min Quantity specified for this field, "
+"OpenERP generates a procurement to bring the virtual stock to the Max "
+"Quantity."
+msgstr ""
+"実質上の在庫がこの項目のために定義された最小数量を下回った時に、OpenERPは最大数量まで実質上の在庫を持ってくるために調達を生成します。"
+
+#. module: procurement
+#: model:process.process,name:procurement.process_process_serviceproductprocess0
+msgid "Service"
+msgstr "サービス"
+
+#. module: procurement
+#: field:stock.warehouse.orderpoint,procurement_draft_ids:0
+msgid "Related Procurement Orders"
+msgstr "関連する調達オーダー"
+
+#. module: procurement
+#: view:procurement.orderpoint.compute:0
+msgid ""
+"Wizard checks all the stock minimum rules and generate procurement order."
+msgstr "ウィザードは全ての在庫最小ルールをチェックし調達オーダーを生成します。"
+
+#. module: procurement
+#: field:stock.warehouse.orderpoint,product_min_qty:0
+msgid "Min Quantity"
+msgstr "最小数量"
+
+#. module: procurement
+#: selection:procurement.order,priority:0
+msgid "Urgent"
+msgstr "緊急"
+
+#. module: procurement
+#: selection:mrp.property,composition:0
+msgid "plus"
+msgstr "+"
+
+#. module: procurement
+#: constraint:stock.move:0
+msgid "You can not move products from or to a location of the type view."
+msgstr "タイプビューの場所から、あるいは場所へは製品を動かすことはできません。"
+
+#. module: procurement
+#: help:stock.warehouse.orderpoint,active:0
+msgid ""
+"If the active field is set to False, it will allow you to hide the "
+"orderpoint without removing it."
+msgstr "アクティブな項目がFalseにセットされている場合は、発注点を削除することなく非表示にできます。"
+
+#. module: procurement
+#: help:procurement.orderpoint.compute,automatic:0
+msgid "If the stock of a product is under 0, it will act like an orderpoint"
+msgstr "製品の在庫が0未満の時は、それは発注点のように動作します。"
+
+#. module: procurement
+#: view:procurement.order:0
+msgid "Procurement Lines"
+msgstr "調達行"
+
+#. module: procurement
+#: view:procurement.order.compute.all:0
+msgid ""
+"This wizard allows you to run all procurement, production and/or purchase "
+"orders that should be processed based on their configuration. By default, "
+"the scheduler is launched automatically every night by OpenERP. You can use "
+"this menu to force it to be launched now. Note that it runs in the "
+"background, you may have to wait for a few minutes until it has finished "
+"computing."
+msgstr ""
+"このウィザードはそれらの設定に基づき実行されるべき全ての調達、生産や仕入オーダーを実行することができます。デフォルトでは、スケジューラはOpenERPによ"
+"って毎夜自動的に起動されます。このメニューを使うと強制的に今起動することができます。ただ、それはバックグラウンドで実行されるので、計算が終わるまで数分待た"
+"されるかもしれません。"
+
+#. module: procurement
+#: view:procurement.order:0
+#: field:procurement.order,note:0
+msgid "Note"
+msgstr "注記"
+
+#. module: procurement
+#: selection:procurement.order,state:0
+msgid "Draft"
+msgstr "ドラフト"
+
+#. module: procurement
+#: view:procurement.order.compute:0
+msgid "This wizard will schedule procurements."
+msgstr "ウィザードは調達をスケジュールします。"
+
+#. module: procurement
+#: view:procurement.order:0
+msgid "Status"
+msgstr "状態"
+
+#. module: procurement
+#: selection:procurement.order,priority:0
+msgid "Normal"
+msgstr "通常"
+
+#. module: procurement
+#: constraint:stock.move:0
+msgid "You try to assign a lot which is not from the same product"
+msgstr "違う製品のロットを割り当てることはできません。"
+
+#. module: procurement
+#: code:addons/procurement/procurement.py:383
+#, python-format
+msgid "Not enough stock."
+msgstr "十分な在庫ではありません。"
+
+#. module: procurement
+#: field:stock.warehouse.orderpoint,active:0
+msgid "Active"
+msgstr "アクティブ"
+
+#. module: procurement
+#: model:process.node,name:procurement.process_node_procureproducts0
+msgid "Procure Products"
+msgstr "調達製品"
+
+#. module: procurement
+#: field:procurement.order,date_planned:0
+msgid "Scheduled date"
+msgstr "予定日"
+
+#. module: procurement
+#: selection:procurement.order,state:0
+msgid "Exception"
+msgstr "例外"
+
+#. module: procurement
+#: code:addons/procurement/procurement.py:381
+#, python-format
+msgid "No minimum orderpoint rule defined."
+msgstr "最小発注点ルールが定義されていません。"
+
+#. module: procurement
+#: code:addons/procurement/schedulers.py:151
+#, python-format
+msgid "Automatic OP: %s"
+msgstr "自動発注点:%s"
+
+#. module: procurement
+#: model:ir.model,name:procurement.model_procurement_orderpoint_compute
+msgid "Automatic Order Point"
+msgstr "自動発注点"
+
+#. module: procurement
+#: model:ir.model,name:procurement.model_stock_warehouse_orderpoint
+msgid "Minimum Inventory Rule"
+msgstr "最小在庫ルール"
+
+#. module: procurement
+#: help:stock.warehouse.orderpoint,qty_multiple:0
+msgid "The procurement quantity will be rounded up to this multiple."
+msgstr "調達数量はこの倍数に切り上げされます。"
+
+#. module: procurement
+#: model:ir.model,name:procurement.model_res_company
+msgid "Companies"
+msgstr "会社"
+
+#. module: procurement
+#: view:procurement.order:0
+msgid "Extra Information"
+msgstr "追加情報"
+
+#. module: procurement
+#: help:procurement.order,name:0
+msgid "Procurement name."
+msgstr "調達名"
+
+#. module: procurement
+#: constraint:stock.move:0
+msgid "You must assign a production lot for this product"
+msgstr "この製品に生産ロットを割り当てて下さい。"
+
+#. module: procurement
+#: view:procurement.order:0
+msgid "Procurement Reason"
+msgstr "調達理由"
+
+#. module: procurement
+#: sql_constraint:stock.warehouse.orderpoint:0
+msgid "Qty Multiple must be greater than zero."
+msgstr "数量倍数は0より大きい必要があります。"
+
+#. module: procurement
+#: selection:stock.warehouse.orderpoint,logic:0
+msgid "Order to Max"
+msgstr "最大まで発注"
+
+#. module: procurement
+#: sql_constraint:stock.picking:0
+msgid "Reference must be unique per Company!"
+msgstr "参照は会社ごとに固有でなければいけません。"
+
+#. module: procurement
+#: field:procurement.order,date_close:0
+msgid "Date Closed"
+msgstr "終了日"
+
+#. module: procurement
+#: field:mrp.property,composition:0
+msgid "Properties composition"
+msgstr "属性の構成"
+
+#. module: procurement
+#: code:addons/procurement/procurement.py:327
+#, python-format
+msgid "Data Insufficient !"
+msgstr "データが不足しています。"
+
+#. module: procurement
+#: model:ir.model,name:procurement.model_mrp_property_group
+#: field:mrp.property,group_id:0
+#: field:mrp.property.group,name:0
+msgid "Property Group"
+msgstr "属性グループ"
+
+#. module: procurement
+#: view:stock.warehouse.orderpoint:0
+msgid "Misc"
+msgstr "その他"
+
+#. module: procurement
+#: view:stock.warehouse.orderpoint:0
+msgid "Locations"
+msgstr "場所"
+
+#. module: procurement
+#: selection:procurement.order,procure_method:0
+msgid "from stock"
+msgstr "在庫から"
+
+#. module: procurement
+#: view:stock.warehouse.orderpoint:0
+msgid "General Information"
+msgstr "一般情報"
+
+#. module: procurement
+#: view:procurement.order:0
+msgid "Run Procurement"
+msgstr "調達実行"
+
+#. module: procurement
+#: selection:procurement.order,state:0
+msgid "Done"
+msgstr "完了"
+
+#. module: procurement
+#: view:make.procurement:0
+#: view:procurement.order:0
+#: selection:procurement.order,state:0
+#: view:procurement.order.compute:0
+#: view:procurement.order.compute.all:0
+#: view:procurement.orderpoint.compute:0
+msgid "Cancel"
+msgstr "キャンセル"
+
+#. module: procurement
+#: field:stock.warehouse.orderpoint,logic:0
+msgid "Reordering Mode"
+msgstr "再オーダーのモード"
+
+#. module: procurement
+#: field:procurement.order,origin:0
+msgid "Source Document"
+msgstr "基となるドキュメント"
+
+#. module: procurement
+#: selection:procurement.order,priority:0
+msgid "Not urgent"
+msgstr "緊急外"
+
+#. module: procurement
+#: code:addons/procurement/procurement.py:297
+#, python-format
+msgid "No default supplier defined for this product"
+msgstr "この製品には仕入先が定義されていません。"
+
+#. module: procurement
+#: view:procurement.order:0
+msgid "Late"
+msgstr "遅延"
+
+#. module: procurement
+#: view:board.board:0
+msgid "Procurements in Exception"
+msgstr "調達の例外"
+
+#. module: procurement
+#: view:procurement.order:0
+msgid "Details"
+msgstr "詳細"
+
+#. module: procurement
+#: model:ir.actions.act_window,name:procurement.procurement_action5
+#: model:ir.actions.act_window,name:procurement.procurement_action_board
+#: model:ir.actions.act_window,name:procurement.procurement_exceptions
+#: model:ir.ui.menu,name:procurement.menu_stock_procurement_action
+#: view:procurement.order:0
+msgid "Procurement Exceptions"
+msgstr "調達の例外"
+
+#. module: procurement
+#: model:ir.actions.act_window,name:procurement.act_procurement_2_stock_warehouse_orderpoint
+#: model:ir.actions.act_window,name:procurement.act_product_product_2_stock_warehouse_orderpoint
+#: model:ir.actions.act_window,name:procurement.act_stock_warehouse_2_stock_warehouse_orderpoint
+#: model:ir.actions.act_window,name:procurement.action_orderpoint_form
+#: model:ir.ui.menu,name:procurement.menu_stock_order_points
+#: view:product.product:0
+#: view:stock.warehouse.orderpoint:0
+msgid "Minimum Stock Rules"
+msgstr "最小在庫ルール"
+
+#. module: procurement
+#: field:procurement.order,close_move:0
+msgid "Close Move at end"
+msgstr "終わりに移動して閉じる"
+
+#. module: procurement
+#: field:stock.warehouse.orderpoint,qty_multiple:0
+msgid "Qty Multiple"
+msgstr "数量倍数"
+
+#. module: procurement
+#: view:procurement.order:0
+msgid "Scheduled Date"
+msgstr "予定日"
+
+#. module: procurement
+#: model:ir.model,name:procurement.model_product_product
+#: field:make.procurement,product_id:0
+#: view:procurement.order:0
+#: field:procurement.order,product_id:0
+#: field:stock.warehouse.orderpoint,product_id:0
+msgid "Product"
+msgstr "製品"
+
+#. module: procurement
+#: view:procurement.order:0
+msgid "Temporary"
+msgstr "一時的"
+
+#. module: procurement
+#: field:mrp.property,description:0
+#: field:mrp.property.group,description:0
+msgid "Description"
+msgstr "説明"
+
+#. module: procurement
+#: selection:mrp.property,composition:0
+msgid "min"
+msgstr "最小"
+
+#. module: procurement
+#: view:stock.warehouse.orderpoint:0
+msgid "Quantity Rules"
+msgstr "数量のルール"
+
+#. module: procurement
+#: selection:procurement.order,state:0
+msgid "Running"
+msgstr "実行中"
+
+#. module: procurement
+#: field:stock.warehouse.orderpoint,product_uom:0
+msgid "Product UOM"
+msgstr "製品単位"
+
+#. module: procurement
+#: model:process.node,name:procurement.process_node_serviceonorder0
+msgid "Make to Order"
+msgstr "オーダーの作成"
+
+#. module: procurement
+#: view:procurement.order:0
+msgid "UOM"
+msgstr "単位"
+
+#. module: procurement
+#: selection:procurement.order,state:0
+msgid "Waiting"
+msgstr "待機中"
+
+#. module: procurement
+#: model:ir.actions.act_window,help:procurement.action_orderpoint_form
+msgid ""
+"You can define your minimum stock rules, so that OpenERP will automatically "
+"create draft manufacturing orders or purchase quotations according to the "
+"stock level. Once the virtual stock of a product (= stock on hand minus all "
+"confirmed orders and reservations) is below the minimum quantity, OpenERP "
+"will generate a procurement request to increase the stock up to the maximum "
+"quantity."
+msgstr ""
+"最小在庫ルールを定義できます。それによってOpenERPは自動的に在庫レベルに応じて、ドラフトの製造オーダーまたは仕入見積を作成します。ひとたび、製品の実"
+"質上の在庫(全ての確認済オーダーと予約を在庫から差し引く)が最小在庫を下回ったなら、OpenERPは在庫を最大数量まで増加させるための調達要求を生成します"
+"。"
+
+#. module: procurement
+#: field:procurement.order,move_id:0
+msgid "Reservation"
+msgstr "予約"
+
+#. module: procurement
+#: model:process.node,note:procurement.process_node_procureproducts0
+msgid "The way to procurement depends on the product type."
+msgstr "調達方法は製品タイプに依存します。"
+
+#. module: procurement
+#: view:make.procurement:0
+msgid ""
+"This wizard will plan the procurement for this product. This procurement may "
+"generate task, production orders or purchase orders."
+msgstr "このウィザードはこの製品のための調達を計画します。この調達は生産オーダーまたは仕入オーダーのタスクを生成します。"
+
+#. module: procurement
+#: view:res.company:0
+msgid "MRP & Logistics Scheduler"
+msgstr "MRPと物流のスケジューラ"
+
+#. module: procurement
+#: code:addons/procurement/procurement.py:138
+#, python-format
+msgid "Cannot delete Procurement Order(s) which are in %s state!"
+msgstr "%s 状態であるため調達オーダーは削除できません。"
+
+#. module: procurement
+#: sql_constraint:res.company:0
+msgid "The company name must be unique !"
+msgstr "会社名は固有でなければいけません。"
+
+#. module: procurement
+#: field:mrp.property,name:0
+#: field:stock.warehouse.orderpoint,name:0
+msgid "Name"
+msgstr "名前"
+
+#. module: procurement
+#: selection:mrp.property,composition:0
+msgid "max"
+msgstr "最大"
+
+#. module: procurement
+#: field:procurement.order,product_uos:0
+msgid "Product UoS"
+msgstr "製品販売単位"
+
+#. module: procurement
+#: code:addons/procurement/procurement.py:356
+#, python-format
+msgid "from stock: products assigned."
+msgstr "在庫から:製品は割当済"
+
+#. module: procurement
+#: model:ir.actions.act_window,name:procurement.action_compute_schedulers
+#: model:ir.ui.menu,name:procurement.menu_stock_proc_schedulers
+#: view:procurement.order.compute.all:0
+msgid "Compute Schedulers"
+msgstr "スケジューラを計算"
+
+#. module: procurement
+#: model:ir.actions.act_window,help:procurement.procurement_exceptions
+msgid ""
+"Procurement Orders represent the need for a certain quantity of products, at "
+"a given time, in a given location. Sales Orders are one typical source of "
+"Procurement Orders (but these are distinct documents). Depending on the "
+"procurement parameters and the product configuration, the procurement engine "
+"will attempt to satisfy the need by reserving products from stock, ordering "
+"products from a supplier, or passing a manufacturing order, etc. A "
+"Procurement Exception occurs when the system cannot find a way to fulfill a "
+"procurement. Some exceptions will resolve themselves automatically, but "
+"others require manual intervention (those are identified by a specific error "
+"message)."
+msgstr ""
+"調達オーダーは与えられた時間と場所において製品の確かなすうりょおうのためのニーズを表しています。販売オーダーは調達オーダーのひとつの典型的な元(しかし、こ"
+"れらは別個のドキュメントです)となっています。調達パラメータ、製品の設定に依存して、調達エンジンは在庫から製品を予約する、仕入先に製品をオーダーする、製造"
+"オーダーを出すなどによりニーズを満たそうとします。システムが調達を満たす方法を見つけることができない場合、調達の例外が発生します。幾つかの例外は自動的に自"
+"分自身で解決します。しかし、他は手動による介入を要求します(それらは特定のエラーメッセージにより識別されます)。"
+
+#. module: procurement
+#: field:procurement.order,product_uom:0
+msgid "Product UoM"
+msgstr "製品単位"
+
+#. module: procurement
+#: view:procurement.order:0
+msgid "Search Procurement"
+msgstr "調達の検索"
+
+#. module: procurement
+#: help:res.company,schedule_range:0
+msgid ""
+"This is the time frame analysed by the scheduler when computing "
+"procurements. All procurements that are not between today and today+range "
+"are skipped for future computation."
+msgstr ""
+"これは、計算による調達の時のスケジューラによる時間枠分析です。本日から本日+範囲の範囲にない全ての調達は、今後の計算のためにスキップされます。"
+
+#. module: procurement
+#: selection:procurement.order,priority:0
+msgid "Very Urgent"
+msgstr "非常に緊急"
+
+#. module: procurement
+#: field:procurement.orderpoint.compute,automatic:0
+msgid "Automatic Orderpoint"
+msgstr "自動発注点"
+
+#. module: procurement
+#: view:procurement.order:0
+msgid "Procurement Details"
+msgstr "調達の詳細"
+
+#. module: procurement
+#: view:procurement.order:0
+msgid "Procurement started late"
+msgstr "遅れて開始された調達"
+
+#. module: procurement
+#: constraint:product.product:0
+msgid "Error: Invalid ean code"
+msgstr "エラー:無効な商品識別番号です。"
+
+#. module: procurement
+#: code:addons/procurement/schedulers.py:152
+#, python-format
+msgid "SCHEDULER"
+msgstr "スケジューラ"
+
+#. module: procurement
+#: code:addons/procurement/schedulers.py:88
+#, python-format
+msgid "PROC %d: on order - %3.2f %-5s - %s"
+msgstr "調達 %d:オーダー中 - %3.2f %-5s - %s"
diff --git a/addons/procurement/procurement.py b/addons/procurement/procurement.py
index 2263a441363..db313e65353 100644
--- a/addons/procurement/procurement.py
+++ b/addons/procurement/procurement.py
@@ -81,6 +81,7 @@ class procurement_order(osv.osv):
_name = "procurement.order"
_description = "Procurement"
_order = 'priority,date_planned desc'
+ _inherit = ['mail.thread']
_log_create = False
_columns = {
'name': fields.char('Reason', size=64, required=True, help='Procurement name.'),
@@ -103,7 +104,7 @@ class procurement_order(osv.osv):
" a make to order method."),
'note': fields.text('Note'),
- 'message': fields.char('Latest error', size=64, help="Exception occurred while computing procurement orders."),
+ 'message': fields.char('Latest error', size=124, help="Exception occurred while computing procurement orders."),
'state': fields.selection([
('draft','Draft'),
('cancel','Cancelled'),
@@ -276,7 +277,7 @@ class procurement_order(osv.osv):
if not res:
return False
return True
-
+
def check_buy(self, cr, uid, ids):
""" Checks product type.
@return: True or Product Id.
@@ -287,24 +288,26 @@ class procurement_order(osv.osv):
if procurement.product_id.product_tmpl_id.supply_method <> 'buy':
return False
if not procurement.product_id.seller_ids:
- cr.execute('update procurement_order set message=%s where id=%s',
- (_('No supplier defined for this product !'), procurement.id))
+ message = _('No supplier defined for this product !')
+ self.message_append_note(cr, uid, [procurement.id], body=message)
+ cr.execute('update procurement_order set message=%s where id=%s', (message, procurement.id))
return False
partner = procurement.product_id.seller_id #Taken Main Supplier of Product of Procurement.
if not partner:
- cr.execute('update procurement_order set message=%s where id=%s',
- (_('No default supplier defined for this product'), procurement.id))
+ message = _('No default supplier defined for this product')
+ self.message_append_note(cr, uid, [procurement.id], body=message)
+ cr.execute('update procurement_order set message=%s where id=%s', (message, procurement.id))
return False
-
if user.company_id and user.company_id.partner_id:
if partner.id == user.company_id.partner_id.id:
return False
address_id = partner_obj.address_get(cr, uid, [partner.id], ['delivery'])['delivery']
if not address_id:
- cr.execute('update procurement_order set message=%s where id=%s',
- (_('No address defined for the supplier'), procurement.id))
+ message = _('No address defined for the supplier')
+ self.message_append_note(cr, uid, [procurement.id], body=message)
+ cr.execute('update procurement_order set message=%s where id=%s', (message, procurement.id))
return False
return True
@@ -346,14 +349,18 @@ class procurement_order(osv.osv):
move_obj.action_confirm(cr, uid, [id], context=context)
self.write(cr, uid, [procurement.id], {'move_id': id, 'close_move': 1})
self.write(cr, uid, ids, {'state': 'confirmed', 'message': ''})
+ self.confirm_send_note(cr, uid, ids, context)
return True
def action_move_assigned(self, cr, uid, ids, context=None):
""" Changes procurement state to Running and writes message.
@return: True
"""
+ message = _('From stock: products assigned.')
self.write(cr, uid, ids, {'state': 'running',
- 'message': _('from stock: products assigned.')})
+ 'message': message}, context=context)
+ self.message_append_note(cr, uid, ids, body=message, context=context)
+ self.running_send_note(cr, uid, ids, context=context)
return True
def _check_make_to_stock_service(self, cr, uid, procurement, context=None):
@@ -383,8 +390,9 @@ class procurement_order(osv.osv):
message = _("Not enough stock.")
if message:
- self.log(cr, uid, procurement.id, _("Procurement '%s' is in exception: ") % (procurement.name) + message)
+ message = _("Procurement '%s' is in exception: ") % (procurement.name) + message
cr.execute('update procurement_order set message=%s where id=%s', (message, procurement.id))
+ self.message_append_note(cr, uid, [procurement.id], body=message, context=context)
return ok
def action_produce_assign_service(self, cr, uid, ids, context=None):
@@ -393,6 +401,7 @@ class procurement_order(osv.osv):
"""
for procurement in self.browse(cr, uid, ids, context=context):
self.write(cr, uid, [procurement.id], {'state': 'running'})
+ self.running_send_note(cr, uid, ids, context=None)
return True
def action_produce_assign_product(self, cr, uid, ids, context=None):
@@ -427,6 +436,7 @@ class procurement_order(osv.osv):
if len(todo):
move_obj.write(cr, uid, todo, {'state': 'assigned'})
self.write(cr, uid, ids, {'state': 'cancel'})
+ self.cancel_send_note(cr, uid, ids, context=None)
wf_service = netsvc.LocalService("workflow")
for id in ids:
wf_service.trg_trigger(uid, 'procurement.order', id, cr)
@@ -451,6 +461,7 @@ class procurement_order(osv.osv):
@return: True
"""
res = self.write(cr, uid, ids, {'state': 'ready'})
+ self.ready_send_note(cr, uid, ids, context=None)
return res
def action_done(self, cr, uid, ids):
@@ -463,11 +474,39 @@ class procurement_order(osv.osv):
if procurement.close_move and (procurement.move_id.state <> 'done'):
move_obj.action_done(cr, uid, [procurement.move_id.id])
res = self.write(cr, uid, ids, {'state': 'done', 'date_close': time.strftime('%Y-%m-%d')})
+ self.done_send_note(cr, uid, ids, context=None)
wf_service = netsvc.LocalService("workflow")
for id in ids:
wf_service.trg_trigger(uid, 'procurement.order', id, cr)
return res
+ # ----------------------------------------
+ # OpenChatter methods and notifications
+ # ----------------------------------------
+
+ def create(self, cr, uid, vals, context=None):
+ obj_id = super(procurement_order, self).create(cr, uid, vals, context)
+ self.create_send_note(cr, uid, [obj_id], context=context)
+ return obj_id
+
+ def create_send_note(self, cr, uid, ids, context=None):
+ self.message_append_note(cr, uid, ids, body=_("Procurement has been created ."), context=context)
+
+ def confirm_send_note(self, cr, uid, ids, context=None):
+ self.message_append_note(cr, uid, ids, body=_("Procurement has been confirmed ."), context=context)
+
+ def running_send_note(self, cr, uid, ids, context=None):
+ self.message_append_note(cr, uid, ids, body=_("Procurement has been set to running ."), context=context)
+
+ def ready_send_note(self, cr, uid, ids, context=None):
+ self.message_append_note(cr, uid, ids, body=_("Procurement has been set to ready ."), context=context)
+
+ def cancel_send_note(self, cr, uid, ids, context=None):
+ self.message_append_note(cr, uid, ids, body=_("Procurement has been cancelled ."), context=context)
+
+ def done_send_note(self, cr, uid, ids, context=None):
+ self.message_append_note(cr, uid, ids, body=_("Procurement has been done ."), context=context)
+
procurement_order()
class StockPicking(osv.osv):
diff --git a/addons/procurement/procurement_view.xml b/addons/procurement/procurement_view.xml
index 5343d6aaf0f..427b699e0f6 100644
--- a/addons/procurement/procurement_view.xml
+++ b/addons/procurement/procurement_view.xml
@@ -96,6 +96,9 @@
+
+
+
diff --git a/addons/procurement/schedulers.py b/addons/procurement/schedulers.py
index 446463ecf4d..410a802c810 100644
--- a/addons/procurement/schedulers.py
+++ b/addons/procurement/schedulers.py
@@ -19,15 +19,15 @@
#
##############################################################################
-import time
from datetime import datetime
from dateutil.relativedelta import relativedelta
+import netsvc
+import pooler
from osv import osv
+from osv import fields
from tools.translate import _
from tools import DEFAULT_SERVER_DATE_FORMAT, DEFAULT_SERVER_DATETIME_FORMAT
import tools
-import netsvc
-import pooler
class procurement_order(osv.osv):
_inherit = 'procurement.order'
@@ -69,7 +69,7 @@ class procurement_order(osv.osv):
cr.commit()
company = self.pool.get('res.users').browse(cr, uid, uid, context=context).company_id
maxdate = (datetime.today() + relativedelta(days=company.schedule_range)).strftime(tools.DEFAULT_SERVER_DATE_FORMAT)
- start_date = time.strftime('%Y-%m-%d, %Hh %Mm %Ss')
+ start_date = fields.datetime.now()
offset = 0
report = []
report_total = 0
@@ -113,13 +113,14 @@ class procurement_order(osv.osv):
proc.product_id.name,))
report_except += 1
+
if use_new_cursor:
cr.commit()
offset += len(ids)
if not ids: break
- end_date = time.strftime('%Y-%m-%d, %Hh %Mm %Ss')
+ end_date = fields.datetime.now()
if uid:
- request = self.pool.get('res.request')
+ # Chatter: old res.request is now a chatter on res.users, id=uid
summary = _("""Here is the procurement scheduling report.
Start Time: %s
@@ -130,12 +131,7 @@ class procurement_order(osv.osv):
Exceptions:\n""") % (start_date, end_date, report_total, report_except, report_later)
summary += '\n'.join(report)
- request.create(cr, uid,
- {'name': "Procurement Processing Report.",
- 'act_from': uid,
- 'act_to': uid,
- 'body': summary,
- })
+ self.pool.get('res.users').message_append_note(cr, uid, [uid], body=summary, context=context)
if use_new_cursor:
cr.commit()
@@ -237,7 +233,6 @@ class procurement_order(osv.osv):
orderpoint_obj = self.pool.get('stock.warehouse.orderpoint')
location_obj = self.pool.get('stock.location')
procurement_obj = self.pool.get('procurement.order')
- request_obj = self.pool.get('res.request')
wf_service = netsvc.LocalService("workflow")
report = []
offset = 0
@@ -293,12 +288,8 @@ class procurement_order(osv.osv):
if use_new_cursor:
cr.commit()
if user_id and report:
- request_obj.create(cr, uid, {
- 'name': 'Orderpoint report.',
- 'act_from': user_id,
- 'act_to': user_id,
- 'body': '\n'.join(report)
- })
+ # Chatter: old res.request is now a chatter on res.users, id=uid
+ self.pool.get('res.users').message_append_note(cr, uid, [user_id], body='\n'.join(report), subject=_('Orderpoint report'), context=context)
if use_new_cursor:
cr.commit()
cr.close()
diff --git a/addons/product/i18n/ja.po b/addons/product/i18n/ja.po
new file mode 100644
index 00000000000..326bcce9365
--- /dev/null
+++ b/addons/product/i18n/ja.po
@@ -0,0 +1,2334 @@
+# Japanese translation for openobject-addons
+# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012
+# This file is distributed under the same license as the openobject-addons package.
+# FIRST AUTHOR , 2012.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openobject-addons\n"
+"Report-Msgid-Bugs-To: FULL NAME \n"
+"POT-Creation-Date: 2012-02-08 00:37+0000\n"
+"PO-Revision-Date: 2012-06-02 06:21+0000\n"
+"Last-Translator: Akira Hiyama \n"
+"Language-Team: Japanese \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2012-06-03 04:47+0000\n"
+"X-Generator: Launchpad (build 15342)\n"
+
+#. module: product
+#: model:product.template,name:product.product_product_ram512_product_template
+msgid "DDR 512MB PC400"
+msgstr ""
+
+#. module: product
+#: field:product.packaging,rows:0
+msgid "Number of Layers"
+msgstr "層の数"
+
+#. module: product
+#: constraint:product.pricelist.item:0
+msgid ""
+"Error ! You cannot assign the Main Pricelist as Other Pricelist in PriceList "
+"Item!"
+msgstr "エラー。価格表項目の中に他の価格表としてメインの価格表を割り当てることはできません。"
+
+#. module: product
+#: help:product.pricelist.item,product_tmpl_id:0
+msgid ""
+"Set a template if this rule only apply to a template of product. Keep empty "
+"for all products"
+msgstr "このルールを製品のテンプレートのみに適用するのであれば、テンプレートを設定して下さい。全ての製品のために空を保って下さい。"
+
+#. module: product
+#: help:product.product,virtual_available:0
+msgid ""
+"Forecast quantity (computed as Quantity On Hand - Outgoing + Incoming)\n"
+"In a context with a single Stock Location, this includes goods stored at "
+"this Location, or any of its children.\n"
+"In a context with a single Warehouse, this includes goods stored in the "
+"Stock Location of this Warehouse, or any of its children.\n"
+"In a context with a single Shop, this includes goods stored in the Stock "
+"Location of the Warehouse of this Shop, or any of its children.\n"
+"Otherwise, this includes goods stored in any Stock Location typed as "
+"'internal'."
+msgstr ""
+"予測数量(手作業による数量の計算 - 出て行く + 入ってくる)\n"
+"単数の在庫場所:商品がこの場所または子の何れかの場所に格納されるものが含まれます。\n"
+"単数の倉庫:商品がこの倉庫の在庫場所または子の何れかの場所に格納されるものが含まれます。\n"
+"単数の店:商品がこの店の倉庫の在庫場所または子の何れかの場所に格納されるものが含まれます。\n"
+"他:商品が在庫場所タイプが内部となっている何れかの場所に格納されるものが含まれます。"
+
+#. module: product
+#: model:product.category,name:product.cat1
+msgid "Sellable"
+msgstr "販売可能"
+
+#. module: product
+#: model:product.template,name:product.product_product_mb2_product_template
+msgid "Mainboard ASUStek A7V8X-X"
+msgstr ""
+
+#. module: product
+#: help:product.template,seller_qty:0
+msgid "This is minimum quantity to purchase from Main Supplier."
+msgstr ""
+
+#. module: product
+#: model:product.uom,name:product.uom_day
+msgid "Day"
+msgstr "日"
+
+#. module: product
+#: view:product.product:0
+msgid "UoM"
+msgstr "単位"
+
+#. module: product
+#: model:product.template,name:product.product_product_pc2_product_template
+msgid "Basic+ PC (assembly on order)"
+msgstr ""
+
+#. module: product
+#: field:product.product,incoming_qty:0
+msgid "Incoming"
+msgstr "入ってくる"
+
+#. module: product
+#: help:res.partner,property_product_pricelist:0
+msgid ""
+"This pricelist will be used, instead of the default one, for sales to the "
+"current partner"
+msgstr "この価格リストは現在のパートナに販売するために、デフォルトのそれに代って使用されます。"
+
+#. module: product
+#: field:product.template,seller_qty:0
+msgid "Supplier Quantity"
+msgstr "仕入数量"
+
+#. module: product
+#: selection:product.template,mes_type:0
+msgid "Fixed"
+msgstr "固定"
+
+#. module: product
+#: code:addons/product/pricelist.py:178
+#, python-format
+msgid "Warning !"
+msgstr "警告"
+
+#. module: product
+#: model:ir.actions.report.xml,name:product.report_product_pricelist
+#: model:ir.model,name:product.model_product_pricelist
+#: field:product.product,price:0
+#: field:product.product,pricelist_id:0
+#: view:product.supplierinfo:0
+msgid "Pricelist"
+msgstr "価格リスト"
+
+#. module: product
+#: view:product.product:0
+#: view:product.template:0
+msgid "Base Prices"
+msgstr "基本価格"
+
+#. module: product
+#: field:product.pricelist.item,name:0
+msgid "Rule Name"
+msgstr "ルール名"
+
+#. module: product
+#: field:product.product,code:0
+#: field:product.product,default_code:0
+msgid "Reference"
+msgstr "参照"
+
+#. module: product
+#: help:pricelist.partnerinfo,min_quantity:0
+msgid ""
+"The minimal quantity to trigger this rule, expressed in the supplier UoM if "
+"any or in the default UoM of the product otherrwise."
+msgstr ""
+
+#. module: product
+#: model:product.template,name:product.product_product_24_product_template
+msgid "Keyboard"
+msgstr ""
+
+#. module: product
+#: model:ir.model,name:product.model_res_partner
+msgid "Partner"
+msgstr ""
+
+#. module: product
+#: code:addons/product/product.py:143
+#, python-format
+msgid ""
+"Conversion from Product UoM %s to Default UoM %s is not possible as they "
+"both belong to different Category!."
+msgstr ""
+
+#. module: product
+#: model:product.uom,name:product.product_uom_dozen
+msgid "Dozen"
+msgstr ""
+
+#. module: product
+#: selection:product.template,cost_method:0
+msgid "Average Price"
+msgstr ""
+
+#. module: product
+#: help:product.pricelist.item,name:0
+msgid "Explicit rule name for this pricelist line."
+msgstr ""
+
+#. module: product
+#: model:product.template,name:product.product_product_cpu1_product_template
+msgid "Processor AMD Athlon XP 1800+"
+msgstr ""
+
+#. module: product
+#: model:product.template,name:product.product_product_20_product_template
+msgid "HDD on demand"
+msgstr ""
+
+#. module: product
+#: field:product.price_list,price_list:0
+msgid "PriceList"
+msgstr ""
+
+#. module: product
+#: view:product.template:0
+msgid "UOM"
+msgstr ""
+
+#. module: product
+#: model:product.uom,name:product.product_uom_unit
+msgid "PCE"
+msgstr ""
+
+#. module: product
+#: view:product.template:0
+msgid "Miscelleanous"
+msgstr ""
+
+#. module: product
+#: model:product.template,name:product.product_product_worker0_product_template
+msgid "Worker"
+msgstr ""
+
+#. module: product
+#: help:product.template,sale_ok:0
+msgid ""
+"Determines if the product can be visible in the list of product within a "
+"selection from a sale order line."
+msgstr ""
+
+#. module: product
+#: model:product.pricelist.version,name:product.ver0
+msgid "Default Public Pricelist Version"
+msgstr ""
+
+#. module: product
+#: selection:product.template,cost_method:0
+msgid "Standard Price"
+msgstr ""
+
+#. module: product
+#: model:product.pricelist.type,name:product.pricelist_type_sale
+#: field:res.partner,property_product_pricelist:0
+msgid "Sale Pricelist"
+msgstr ""
+
+#. module: product
+#: view:product.template:0
+#: field:product.template,type:0
+msgid "Product Type"
+msgstr ""
+
+#. module: product
+#: model:ir.actions.act_window,help:product.product_form_config_action
+msgid ""
+"Create a product form for everything you buy or sell. Specify a supplier if "
+"the product can be purchased."
+msgstr ""
+
+#. module: product
+#: view:product.uom:0
+msgid " e.g: 1 * (this unit) = ratio * (reference unit)"
+msgstr ""
+
+#. module: product
+#: code:addons/product/product.py:418
+#, python-format
+msgid "Products: "
+msgstr ""
+
+#. module: product
+#: field:product.category,parent_id:0
+msgid "Parent Category"
+msgstr ""
+
+#. module: product
+#: help:product.template,procure_method:0
+msgid ""
+"'Make to Stock': When needed, take from the stock or wait until re-"
+"supplying. 'Make to Order': When needed, purchase or produce for the "
+"procurement request."
+msgstr ""
+
+#. module: product
+#: model:process.node,note:product.process_node_supplier0
+msgid "Supplier name, price, product code, ..."
+msgstr ""
+
+#. module: product
+#: model:product.template,name:product.product_product_hdd3_product_template
+msgid "HDD Seagate 7200.8 160GB"
+msgstr ""
+
+#. module: product
+#: field:product.product,ean13:0
+msgid "EAN13"
+msgstr ""
+
+#. module: product
+#: field:product.template,seller_id:0
+msgid "Main Supplier"
+msgstr ""
+
+#. module: product
+#: model:ir.actions.act_window,name:product.product_ul_form_action
+#: model:ir.model,name:product.model_product_packaging
+#: model:ir.ui.menu,name:product.menu_product_ul_form_action
+#: view:product.packaging:0
+#: view:product.product:0
+#: view:product.ul:0
+msgid "Packaging"
+msgstr ""
+
+#. module: product
+#: view:product.product:0
+#: field:product.template,categ_id:0
+msgid "Category"
+msgstr ""
+
+#. module: product
+#: help:product.pricelist.item,min_quantity:0
+msgid ""
+"The rule only applies if the partner buys/sells more than this quantity."
+msgstr ""
+
+#. module: product
+#: model:product.template,name:product.product_product_woodmm0_product_template
+msgid "Wood 2mm"
+msgstr ""
+
+#. module: product
+#: field:product.price_list,qty1:0
+msgid "Quantity-1"
+msgstr ""
+
+#. module: product
+#: help:product.packaging,ul_qty:0
+msgid "The number of packages by layer"
+msgstr ""
+
+#. module: product
+#: field:product.packaging,qty:0
+msgid "Quantity by Package"
+msgstr ""
+
+#. module: product
+#: view:product.product:0
+#: view:product.template:0
+#: field:product.template,state:0
+msgid "Status"
+msgstr ""
+
+#. module: product
+#: help:product.template,categ_id:0
+msgid "Select category for the current product"
+msgstr ""
+
+#. module: product
+#: field:product.product,outgoing_qty:0
+msgid "Outgoing"
+msgstr ""
+
+#. module: product
+#: selection:product.uom,uom_type:0
+msgid "Reference UoM for this category"
+msgstr ""
+
+#. module: product
+#: model:product.price.type,name:product.list_price
+#: field:product.product,lst_price:0
+msgid "Public Price"
+msgstr ""
+
+#. module: product
+#: field:product.price_list,qty5:0
+msgid "Quantity-5"
+msgstr ""
+
+#. module: product
+#: model:product.category,name:product.product_category_10
+msgid "IT components"
+msgstr ""
+
+#. module: product
+#: field:product.template,product_manager:0
+msgid "Product Manager"
+msgstr ""
+
+#. module: product
+#: field:product.supplierinfo,product_name:0
+msgid "Supplier Product Name"
+msgstr ""
+
+#. module: product
+#: model:product.template,name:product.product_product_pc3_product_template
+msgid "Medium PC"
+msgstr ""
+
+#. module: product
+#: model:ir.actions.act_window,help:product.product_normal_action_puchased
+msgid ""
+"Products can be purchased and/or sold. They can be raw materials, stockable "
+"products, consumables or services. The Product form contains detailed "
+"information about your products related to procurement logistics, sales "
+"price, product category, suppliers and so on."
+msgstr ""
+
+#. module: product
+#: help:product.product,qty_available:0
+msgid ""
+"Current quantity of products.\n"
+"In a context with a single Stock Location, this includes goods stored at "
+"this Location, or any of its children.\n"
+"In a context with a single Warehouse, this includes goods stored in the "
+"Stock Location of this Warehouse, or any of its children.\n"
+"In a context with a single Shop, this includes goods stored in the Stock "
+"Location of the Warehouse of this Shop, or any of its children.\n"
+"Otherwise, this includes goods stored in any Stock Location typed as "
+"'internal'."
+msgstr ""
+
+#. module: product
+#: view:product.pricelist:0
+msgid "Products Price Search"
+msgstr ""
+
+#. module: product
+#: view:product.product:0
+#: view:product.template:0
+#: field:product.template,description_sale:0
+msgid "Sale Description"
+msgstr ""
+
+#. module: product
+#: view:product.product:0
+#: view:product.template:0
+msgid "Storage Localisation"
+msgstr ""
+
+#. module: product
+#: help:product.packaging,length:0
+msgid "The length of the package"
+msgstr ""
+
+#. module: product
+#: help:product.template,weight_net:0
+msgid "The net weight in Kg."
+msgstr ""
+
+#. module: product
+#: help:product.template,state:0
+msgid "Tells the user if he can use the product or not."
+msgstr ""
+
+#. module: product
+#: field:pricelist.partnerinfo,min_quantity:0
+#: field:product.supplierinfo,qty:0
+msgid "Quantity"
+msgstr ""
+
+#. module: product
+#: field:product.packaging,height:0
+msgid "Height"
+msgstr ""
+
+#. module: product
+#: help:product.pricelist.version,date_end:0
+msgid "Ending date for this pricelist version to be valid."
+msgstr ""
+
+#. module: product
+#: model:product.category,name:product.cat0
+msgid "All products"
+msgstr ""
+
+#. module: product
+#: model:ir.model,name:product.model_pricelist_partnerinfo
+msgid "pricelist.partnerinfo"
+msgstr ""
+
+#. module: product
+#: field:product.price_list,qty2:0
+msgid "Quantity-2"
+msgstr ""
+
+#. module: product
+#: field:product.price_list,qty3:0
+msgid "Quantity-3"
+msgstr ""
+
+#. module: product
+#: view:product.product:0
+msgid "Codes"
+msgstr ""
+
+#. module: product
+#: field:product.price_list,qty4:0
+msgid "Quantity-4"
+msgstr ""
+
+#. module: product
+#: view:res.partner:0
+msgid "Sales & Purchases"
+msgstr ""
+
+#. module: product
+#: model:product.uom.categ,name:product.uom_categ_wtime
+msgid "Working Time"
+msgstr ""
+
+#. module: product
+#: model:ir.actions.act_window,help:product.product_pricelist_action2
+#: model:ir.actions.act_window,help:product.product_pricelist_action_for_purchase
+msgid ""
+"A price list contains rules to be evaluated in order to compute the purchase "
+"or sales price for all the partners assigned to a price list. Price lists "
+"have several versions (2010, 2011, Promotion of February 2010, etc.) and "
+"each version has several rules. Example: the customer price of a product "
+"category will be based on the supplier price multiplied by 1.80."
+msgstr ""
+
+#. module: product
+#: model:product.template,name:product.product_product_metalcleats0_product_template
+msgid "Metal Cleats"
+msgstr ""
+
+#. module: product
+#: code:addons/product/product.py:175
+#, python-format
+msgid "Cannot change the category of existing UoM '%s'."
+msgstr ""
+
+#. module: product
+#: model:ir.model,name:product.model_product_uom_categ
+msgid "Product uom categ"
+msgstr ""
+
+#. module: product
+#: model:product.ul,name:product.product_ul_box
+msgid "Box 20x20x40"
+msgstr ""
+
+#. module: product
+#: view:product.pricelist.item:0
+msgid "Price Computation"
+msgstr ""
+
+#. module: product
+#: model:res.groups,name:product.group_uos
+msgid "Product UoS View"
+msgstr ""
+
+#. module: product
+#: field:product.template,purchase_ok:0
+msgid "Can be Purchased"
+msgstr ""
+
+#. module: product
+#: model:product.template,name:product.product_product_cpu2_product_template
+msgid "High speed processor config"
+msgstr ""
+
+#. module: product
+#: model:process.transition,note:product.process_transition_supplierofproduct0
+msgid ""
+"1 or several supplier(s) can be linked to a product. All information stands "
+"in the product form."
+msgstr ""
+
+#. module: product
+#: help:product.uom,category_id:0
+msgid ""
+"Quantity conversions may happen automatically between Units of Measure in "
+"the same category, according to their respective ratios."
+msgstr ""
+
+#. module: product
+#: help:product.packaging,width:0
+msgid "The width of the package"
+msgstr ""
+
+#. module: product
+#: selection:product.category,type:0
+msgid "View"
+msgstr ""
+
+#. module: product
+#: model:ir.actions.act_window,name:product.product_template_action_tree
+msgid "Product Templates"
+msgstr ""
+
+#. module: product
+#: field:product.category,parent_left:0
+msgid "Left Parent"
+msgstr ""
+
+#. module: product
+#: model:product.template,name:product.product_product_restaurantexpenses0_product_template
+msgid "Restaurant Expenses"
+msgstr ""
+
+#. module: product
+#: help:product.packaging,qty:0
+msgid "The total number of products you can put by pallet or box."
+msgstr ""
+
+#. module: product
+#: constraint:product.packaging:0
+#: constraint:product.product:0
+msgid "Error: Invalid ean code"
+msgstr ""
+
+#. module: product
+#: field:product.pricelist.item,min_quantity:0
+msgid "Min. Quantity"
+msgstr ""
+
+#. module: product
+#: model:ir.model,name:product.model_product_price_type
+msgid "Price Type"
+msgstr ""
+
+#. module: product
+#: code:addons/product/product.py:363
+#, python-format
+msgid ""
+"New UoM '%s' must belong to same UoM category '%s' as of old UoM '%s'. If "
+"you need to change the unit of measure, you may desactivate this product "
+"from the 'Procurement & Locations' tab and create a new one."
+msgstr ""
+
+#. module: product
+#: view:product.pricelist.item:0
+msgid "Max. Margin"
+msgstr ""
+
+#. module: product
+#: view:product.pricelist.item:0
+msgid "Base Price"
+msgstr ""
+
+#. module: product
+#: model:product.template,name:product.product_consultant_product_template
+msgid "Service on Timesheet"
+msgstr ""
+
+#. module: product
+#: model:product.template,name:product.product_product_fan2_product_template
+msgid "Silent fan"
+msgstr ""
+
+#. module: product
+#: help:product.supplierinfo,name:0
+msgid "Supplier of this product"
+msgstr ""
+
+#. module: product
+#: help:product.pricelist.version,active:0
+msgid ""
+"When a version is duplicated it is set to non active, so that the dates do "
+"not overlaps with original version. You should change the dates and "
+"reactivate the pricelist"
+msgstr ""
+
+#. module: product
+#: model:product.template,name:product.product_product_kitshelfofcm0_product_template
+msgid "KIT Shelf of 100cm"
+msgstr ""
+
+#. module: product
+#: field:product.supplierinfo,name:0
+msgid "Supplier"
+msgstr ""
+
+#. module: product
+#: field:product.product,qty_available:0
+msgid "Quantity On Hand"
+msgstr ""
+
+#. module: product
+#: model:product.template,name:product.product_product_26_product_template
+msgid "Kit Keyboard + Mouse"
+msgstr ""
+
+#. module: product
+#: field:product.price.type,name:0
+msgid "Price Name"
+msgstr ""
+
+#. module: product
+#: model:product.template,name:product.product_product_arm_product_template
+msgid "Cabinet"
+msgstr ""
+
+#. module: product
+#: help:product.product,incoming_qty:0
+msgid ""
+"Quantity of products that are planned to arrive.\n"
+"In a context with a single Stock Location, this includes goods arriving to "
+"this Location, or any of its children.\n"
+"In a context with a single Warehouse, this includes goods arriving to the "
+"Stock Location of this Warehouse, or any of its children.\n"
+"In a context with a single Shop, this includes goods arriving to the Stock "
+"Location of the Warehouse of this Shop, or any of its children.\n"
+"Otherwise, this includes goods arriving to any Stock Location typed as "
+"'internal'."
+msgstr ""
+
+#. module: product
+#: model:product.template,name:product.product_product_woodentable0_product_template
+msgid "Wooden Table"
+msgstr ""
+
+#. module: product
+#: model:product.template,name:product.product_product_cpu3_product_template
+msgid "Processor AMD Athlon XP 2200+"
+msgstr ""
+
+#. module: product
+#: model:ir.actions.act_window,name:product.action_product_price_list
+#: model:ir.model,name:product.model_product_price_list
+#: view:product.price_list:0
+#: report:product.pricelist:0
+#: field:product.pricelist.version,pricelist_id:0
+msgid "Price List"
+msgstr ""
+
+#. module: product
+#: view:product.product:0
+#: view:product.template:0
+msgid "Suppliers"
+msgstr ""
+
+#. module: product
+#: view:product.product:0
+msgid "To Purchase"
+msgstr ""
+
+#. module: product
+#: help:product.supplierinfo,min_qty:0
+msgid ""
+"The minimal quantity to purchase to this supplier, expressed in the supplier "
+"Product UoM if not empty, in the default unit of measure of the product "
+"otherwise."
+msgstr ""
+
+#. module: product
+#: view:product.pricelist.item:0
+msgid "New Price ="
+msgstr ""
+
+#. module: product
+#: help:pricelist.partnerinfo,price:0
+msgid ""
+"This price will be considered as a price for the supplier UoM if any or the "
+"default Unit of Measure of the product otherwise"
+msgstr ""
+
+#. module: product
+#: model:product.category,name:product.product_category_accessories
+msgid "Accessories"
+msgstr ""
+
+#. module: product
+#: field:product.template,sale_delay:0
+msgid "Customer Lead Time"
+msgstr ""
+
+#. module: product
+#: model:product.template,name:product.product_product_25_product_template
+msgid "Mouse"
+msgstr ""
+
+#. module: product
+#: help:product.template,uos_id:0
+msgid ""
+"Used by companies that manage two units of measure: invoicing and inventory "
+"management. For example, in food industries, you will manage a stock of ham "
+"but invoice in Kg. Keep empty to use the default UOM."
+msgstr ""
+
+#. module: product
+#: view:product.pricelist.item:0
+msgid "Min. Margin"
+msgstr ""
+
+#. module: product
+#: field:product.category,child_id:0
+msgid "Child Categories"
+msgstr ""
+
+#. module: product
+#: field:product.pricelist.version,date_end:0
+msgid "End Date"
+msgstr ""
+
+#. module: product
+#: view:product.price_list:0
+msgid "Print"
+msgstr ""
+
+#. module: product
+#: view:product.product:0
+#: field:product.ul,type:0
+msgid "Type"
+msgstr ""
+
+#. module: product
+#: model:ir.actions.act_window,name:product.product_pricelist_action2
+#: model:ir.actions.act_window,name:product.product_pricelist_action_for_purchase
+#: model:ir.ui.menu,name:product.menu_product_pricelist_action2
+#: model:ir.ui.menu,name:product.menu_product_pricelist_main
+msgid "Pricelists"
+msgstr ""
+
+#. module: product
+#: field:product.product,partner_ref:0
+msgid "Customer ref"
+msgstr ""
+
+#. module: product
+#: view:product.product:0
+msgid "Miscellaneous"
+msgstr ""
+
+#. module: product
+#: field:product.pricelist.type,key:0
+msgid "Key"
+msgstr ""
+
+#. module: product
+#: view:product.pricelist.item:0
+msgid "Rules Test Match"
+msgstr ""
+
+#. module: product
+#: help:product.pricelist.item,product_id:0
+msgid ""
+"Set a product if this rule only apply to one product. Keep empty for all "
+"products"
+msgstr ""
+
+#. module: product
+#: view:product.product:0
+#: view:product.template:0
+msgid "Procurement & Locations"
+msgstr ""
+
+#. module: product
+#: model:product.template,name:product.product_product_kitchendesignproject0_product_template
+msgid "Kitchen Design Project"
+msgstr ""
+
+#. module: product
+#: model:product.uom,name:product.uom_hour
+msgid "Hour"
+msgstr ""
+
+#. module: product
+#: selection:product.template,state:0
+msgid "In Development"
+msgstr ""
+
+#. module: product
+#: code:addons/product/product.py:363
+#, python-format
+msgid "UoM categories Mismatch!"
+msgstr ""
+
+#. module: product
+#: model:product.template,name:product.product_product_shelfofcm1_product_template
+msgid "Shelf of 200cm"
+msgstr ""
+
+#. module: product
+#: view:product.uom:0
+msgid "Ratio & Precision"
+msgstr ""
+
+#. module: product
+#: model:product.uom,name:product.product_uom_gram
+msgid "g"
+msgstr ""
+
+#. module: product
+#: model:product.category,name:product.product_category_11
+msgid "IT components kits"
+msgstr ""
+
+#. module: product
+#: selection:product.category,type:0
+#: selection:product.template,state:0
+msgid "Normal"
+msgstr ""
+
+#. module: product
+#: model:process.node,name:product.process_node_supplier0
+#: view:product.supplierinfo:0
+msgid "Supplier Information"
+msgstr ""
+
+#. module: product
+#: field:product.price.type,currency_id:0
+#: report:product.pricelist:0
+#: field:product.pricelist,currency_id:0
+msgid "Currency"
+msgstr ""
+
+#. module: product
+#: model:product.template,name:product.product_product_ram_product_template
+msgid "DDR 256MB PC400"
+msgstr ""
+
+#. module: product
+#: model:ir.actions.act_window,name:product.product_category_action_form
+#: model:ir.ui.menu,name:product.menu_product_category_action_form
+#: view:product.category:0
+msgid "Product Categories"
+msgstr ""
+
+#. module: product
+#: view:product.uom:0
+msgid " e.g: 1 * (reference unit) = ratio * (this unit)"
+msgstr ""
+
+#. module: product
+#: model:ir.actions.act_window,help:product.product_uom_form_action
+msgid ""
+"Create and manage the units of measure you want to be used in your system. "
+"You can define a conversion rate between several Units of Measure within the "
+"same category."
+msgstr ""
+
+#. module: product
+#: field:product.packaging,weight:0
+msgid "Total Package Weight"
+msgstr ""
+
+#. module: product
+#: field:product.template,seller_info_id:0
+msgid "unknown"
+msgstr ""
+
+#. module: product
+#: help:product.packaging,code:0
+msgid "The code of the transport unit."
+msgstr ""
+
+#. module: product
+#: help:product.template,standard_price:0
+msgid ""
+"Product's cost for accounting stock valuation. It is the base price for the "
+"supplier price."
+msgstr ""
+
+#. module: product
+#: view:product.price.type:0
+msgid "Products Price Type"
+msgstr ""
+
+#. module: product
+#: field:product.product,price_extra:0
+msgid "Variant Price Extra"
+msgstr ""
+
+#. module: product
+#: model:product.template,name:product.product_product_fan_product_template
+msgid "Regular case fan 80mm"
+msgstr ""
+
+#. module: product
+#: model:ir.model,name:product.model_product_supplierinfo
+msgid "Information about a product supplier"
+msgstr ""
+
+#. module: product
+#: view:product.product:0
+#: view:product.template:0
+#: field:product.template,description_purchase:0
+msgid "Purchase Description"
+msgstr ""
+
+#. module: product
+#: constraint:product.pricelist.version:0
+msgid "You cannot have 2 pricelist versions that overlap!"
+msgstr ""
+
+#. module: product
+#: help:product.supplierinfo,delay:0
+msgid ""
+"Lead time in days between the confirmation of the purchase order and the "
+"reception of the products in your warehouse. Used by the scheduler for "
+"automatic computation of the purchase order planning."
+msgstr ""
+
+#. module: product
+#: model:ir.actions.act_window,help:product.product_pricelist_action
+msgid ""
+"There can be more than one version of a pricelist. Here you can create and "
+"manage new versions of a price list. Some examples of versions: 2010, 2011, "
+"Summer Promotion, etc."
+msgstr ""
+
+#. module: product
+#: selection:product.template,type:0
+msgid "Stockable Product"
+msgstr ""
+
+#. module: product
+#: field:product.packaging,code:0
+msgid "Code"
+msgstr ""
+
+#. module: product
+#: view:product.supplierinfo:0
+msgid "Seq"
+msgstr ""
+
+#. module: product
+#: view:product.price_list:0
+msgid "Calculate Product Price per Unit Based on Pricelist Version."
+msgstr ""
+
+#. module: product
+#: model:ir.model,name:product.model_product_ul
+msgid "Shipping Unit"
+msgstr ""
+
+#. module: product
+#: field:pricelist.partnerinfo,suppinfo_id:0
+msgid "Partner Information"
+msgstr ""
+
+#. module: product
+#: selection:product.ul,type:0
+#: model:product.uom.categ,name:product.product_uom_categ_unit
+msgid "Unit"
+msgstr ""
+
+#. module: product
+#: view:product.product:0
+#: view:product.template:0
+msgid "Information"
+msgstr ""
+
+#. module: product
+#: view:product.pricelist.item:0
+msgid "Products Listprices Items"
+msgstr ""
+
+#. module: product
+#: view:product.packaging:0
+msgid "Other Info"
+msgstr ""
+
+#. module: product
+#: field:product.pricelist.version,items_id:0
+msgid "Price List Items"
+msgstr ""
+
+#. module: product
+#: model:ir.actions.act_window,help:product.product_uom_categ_form_action
+msgid ""
+"Create and manage the units of measure categories you want to be used in "
+"your system. If several units of measure are in the same category, they can "
+"be converted to each other. For example, in the unit of measure category "
+"\"Time\", you will have the following UoM: Hours, Days."
+msgstr ""
+
+#. module: product
+#: selection:product.uom,uom_type:0
+msgid "Bigger than the reference UoM"
+msgstr ""
+
+#. module: product
+#: field:product.category,parent_right:0
+msgid "Right Parent"
+msgstr ""
+
+#. module: product
+#: view:product.product:0
+msgid "To Sell"
+msgstr ""
+
+#. module: product
+#: help:product.product,outgoing_qty:0
+msgid ""
+"Quantity of products that are planned to leave.\n"
+"In a context with a single Stock Location, this includes goods leaving from "
+"this Location, or any of its children.\n"
+"In a context with a single Warehouse, this includes goods leaving from the "
+"Stock Location of this Warehouse, or any of its children.\n"
+"In a context with a single Shop, this includes goods leaving from the Stock "
+"Location of the Warehouse of this Shop, or any of its children.\n"
+"Otherwise, this includes goods leaving from any Stock Location typed as "
+"'internal'."
+msgstr ""
+
+#. module: product
+#: model:product.category,name:product.product_category_services0
+msgid "Marketable Services"
+msgstr ""
+
+#. module: product
+#: field:product.pricelist.item,price_surcharge:0
+msgid "Price Surcharge"
+msgstr ""
+
+#. module: product
+#: model:product.template,name:product.product_product_mb1_product_template
+msgid "Mainboard ASUStek A7N8X"
+msgstr ""
+
+#. module: product
+#: field:product.product,packaging:0
+msgid "Logistical Units"
+msgstr ""
+
+#. module: product
+#: field:product.category,complete_name:0
+#: field:product.category,name:0
+#: field:product.pricelist.type,name:0
+#: field:product.pricelist.version,name:0
+#: view:product.product:0
+#: field:product.product,name_template:0
+#: field:product.template,name:0
+#: field:product.ul,name:0
+#: field:product.uom,name:0
+#: field:product.uom.categ,name:0
+msgid "Name"
+msgstr ""
+
+#. module: product
+#: model:product.template,name:product.product_product_woodlintelm0_product_template
+msgid "Wood Lintel 4m"
+msgstr ""
+
+#. module: product
+#: model:ir.actions.act_window,help:product.product_normal_action
+#: model:ir.actions.act_window,help:product.product_normal_action_sell
+msgid ""
+"You must define a Product for everything you buy or sell. Products can be "
+"raw materials, stockable products, consumables or services. The Product form "
+"contains detailed information about your products related to procurement "
+"logistics, sales price, product category, suppliers and so on."
+msgstr ""
+
+#. module: product
+#: model:product.uom,name:product.product_uom_kgm
+msgid "kg"
+msgstr ""
+
+#. module: product
+#: model:product.uom,name:product.product_uom_meter
+msgid "m"
+msgstr ""
+
+#. module: product
+#: selection:product.template,state:0
+msgid "Obsolete"
+msgstr ""
+
+#. module: product
+#: model:product.uom,name:product.product_uom_km
+msgid "km"
+msgstr ""
+
+#. module: product
+#: help:product.template,cost_method:0
+msgid ""
+"Standard Price: the cost price is fixed and recomputed periodically (usually "
+"at the end of the year), Average Price: the cost price is recomputed at each "
+"reception of products."
+msgstr ""
+
+#. module: product
+#: help:product.category,sequence:0
+msgid ""
+"Gives the sequence order when displaying a list of product categories."
+msgstr ""
+
+#. module: product
+#: field:product.uom,factor:0
+#: field:product.uom,factor_inv:0
+msgid "Ratio"
+msgstr ""
+
+#. module: product
+#: help:product.template,purchase_ok:0
+msgid ""
+"Determine if the product is visible in the list of products within a "
+"selection from a purchase order line."
+msgstr ""
+
+#. module: product
+#: field:product.template,weight_net:0
+msgid "Net Weight"
+msgstr ""
+
+#. module: product
+#: field:product.packaging,width:0
+msgid "Width"
+msgstr ""
+
+#. module: product
+#: help:product.price.type,field:0
+msgid "Associated field in the product form."
+msgstr ""
+
+#. module: product
+#: view:product.product:0
+msgid "Unit of Measure"
+msgstr ""
+
+#. module: product
+#: field:product.template,procure_method:0
+msgid "Procurement Method"
+msgstr ""
+
+#. module: product
+#: report:product.pricelist:0
+msgid "Printing Date"
+msgstr ""
+
+#. module: product
+#: field:product.template,uos_id:0
+msgid "Unit of Sale"
+msgstr ""
+
+#. module: product
+#: help:product.template,seller_delay:0
+msgid ""
+"This is the average delay in days between the purchase order confirmation "
+"and the reception of goods for this product and for the default supplier. It "
+"is used by the scheduler to order requests based on reordering delays."
+msgstr ""
+
+#. module: product
+#: help:product.template,seller_id:0
+msgid "Main Supplier who has highest priority in Supplier List."
+msgstr ""
+
+#. module: product
+#: model:product.category,name:product.product_category_services
+#: view:product.product:0
+msgid "Services"
+msgstr ""
+
+#. module: product
+#: model:ir.actions.act_window,name:product.product_form_config_action
+msgid "Create or Import Products"
+msgstr ""
+
+#. module: product
+#: field:product.pricelist.item,base_pricelist_id:0
+msgid "If Other Pricelist"
+msgstr ""
+
+#. module: product
+#: model:ir.actions.act_window,name:product.product_normal_action
+#: model:ir.actions.act_window,name:product.product_normal_action_puchased
+#: model:ir.actions.act_window,name:product.product_normal_action_sell
+#: model:ir.actions.act_window,name:product.product_normal_action_tree
+#: model:ir.ui.menu,name:product.menu_products
+#: model:ir.ui.menu,name:product.prod_config_main
+#: view:product.product:0
+msgid "Products"
+msgstr ""
+
+#. module: product
+#: help:product.packaging,rows:0
+msgid "The number of layers on a pallet or box"
+msgstr ""
+
+#. module: product
+#: help:product.pricelist.item,base:0
+msgid "The mode for computing the price for this rule."
+msgstr ""
+
+#. module: product
+#: view:product.packaging:0
+#: view:product.product:0
+msgid "Pallet Dimension"
+msgstr ""
+
+#. module: product
+#: code:addons/product/product.py:668
+#, python-format
+msgid " (copy)"
+msgstr ""
+
+#. module: product
+#: field:product.template,seller_ids:0
+msgid "Partners"
+msgstr ""
+
+#. module: product
+#: help:product.template,sale_delay:0
+msgid ""
+"This is the average delay in days between the confirmation of the customer "
+"order and the delivery of the finished products. It's the time you promise "
+"to your customers."
+msgstr ""
+
+#. module: product
+#: view:product.product:0
+#: view:product.template:0
+msgid "Second UoM"
+msgstr ""
+
+#. module: product
+#: code:addons/product/product.py:143
+#, python-format
+msgid "Error !"
+msgstr ""
+
+#. module: product
+#: model:ir.actions.act_window,name:product.product_uom_form_action
+#: model:ir.ui.menu,name:product.menu_product_uom_form_action
+#: model:ir.ui.menu,name:product.next_id_16
+#: view:product.uom:0
+msgid "Units of Measure"
+msgstr ""
+
+#. module: product
+#: field:product.supplierinfo,min_qty:0
+msgid "Minimal Quantity"
+msgstr ""
+
+#. module: product
+#: model:product.category,name:product.product_category_pc
+msgid "PC"
+msgstr ""
+
+#. module: product
+#: help:product.supplierinfo,product_code:0
+msgid ""
+"This supplier's product code will be used when printing a request for "
+"quotation. Keep empty to use the internal one."
+msgstr ""
+
+#. module: product
+#: selection:product.template,procure_method:0
+msgid "Make to Stock"
+msgstr ""
+
+#. module: product
+#: field:product.pricelist.item,price_version_id:0
+msgid "Price List Version"
+msgstr ""
+
+#. module: product
+#: field:product.product,virtual_available:0
+msgid "Quantity Available"
+msgstr ""
+
+#. module: product
+#: help:product.pricelist.item,sequence:0
+msgid ""
+"Gives the order in which the pricelist items will be checked. The evaluation "
+"gives highest priority to lowest sequence and stops as soon as a matching "
+"item is found."
+msgstr ""
+
+#. module: product
+#: selection:product.template,type:0
+msgid "Consumable"
+msgstr ""
+
+#. module: product
+#: help:product.price.type,currency_id:0
+msgid "The currency the field is expressed in."
+msgstr ""
+
+#. module: product
+#: help:product.template,weight:0
+msgid "The gross weight in Kg."
+msgstr ""
+
+#. module: product
+#: model:product.template,name:product.product_product_sidepanel0_product_template
+msgid "Side Panel"
+msgstr ""
+
+#. module: product
+#: view:product.product:0
+#: view:product.template:0
+msgid "Procurement"
+msgstr ""
+
+#. module: product
+#: view:product.product:0
+#: view:product.template:0
+msgid "Weights"
+msgstr ""
+
+#. module: product
+#: field:product.uom,category_id:0
+msgid "UoM Category"
+msgstr ""
+
+#. module: product
+#: field:product.template,loc_rack:0
+msgid "Rack"
+msgstr ""
+
+#. module: product
+#: field:product.template,uom_po_id:0
+msgid "Purchase Unit of Measure"
+msgstr ""
+
+#. module: product
+#: field:product.template,supply_method:0
+msgid "Supply Method"
+msgstr ""
+
+#. module: product
+#: model:ir.actions.act_window,help:product.product_category_action
+msgid ""
+"Here is a list of all your products classified by category. You can click a "
+"category to get the list of all products linked to this category or to a "
+"child of this category."
+msgstr ""
+
+#. module: product
+#: view:product.product:0
+msgid "Group by..."
+msgstr ""
+
+#. module: product
+#: model:product.template,name:product.product_product_cpu_gen_product_template
+msgid "Regular processor config"
+msgstr ""
+
+#. module: product
+#: help:product.template,type:0
+msgid ""
+"Will change the way procurements are processed. Consumable are product where "
+"you don't manage stock."
+msgstr ""
+
+#. module: product
+#: field:product.pricelist.version,date_start:0
+msgid "Start Date"
+msgstr ""
+
+#. module: product
+#: help:product.template,produce_delay:0
+msgid ""
+"Average delay in days to produce this product. This is only for the "
+"production order and, if it is a multi-level bill of material, it's only for "
+"the level of this product. Different lead times will be summed for all "
+"levels and purchase orders."
+msgstr ""
+
+#. module: product
+#: model:product.template,name:product.product_product_pc1_product_template
+msgid "Basic PC"
+msgstr ""
+
+#. module: product
+#: help:product.pricelist,active:0
+msgid ""
+"If the active field is set to False, it will allow you to hide the pricelist "
+"without removing it."
+msgstr ""
+
+#. module: product
+#: model:product.uom,name:product.product_uom_cm
+msgid "cm"
+msgstr ""
+
+#. module: product
+#: model:ir.model,name:product.model_product_uom
+msgid "Product Unit of Measure"
+msgstr ""
+
+#. module: product
+#: constraint:product.template:0
+msgid ""
+"Error: The default UOM and the purchase UOM must be in the same category."
+msgstr ""
+
+#. module: product
+#: field:product.uom,rounding:0
+msgid "Rounding Precision"
+msgstr ""
+
+#. module: product
+#: view:product.uom:0
+msgid "Unit of Measure Properties"
+msgstr ""
+
+#. module: product
+#: model:product.template,name:product.product_product_shelf1_product_template
+msgid "Rack 200cm"
+msgstr ""
+
+#. module: product
+#: selection:product.template,supply_method:0
+msgid "Buy"
+msgstr ""
+
+#. module: product
+#: view:product.uom.categ:0
+msgid "Units of Measure categories"
+msgstr ""
+
+#. module: product
+#: help:product.packaging,weight_ul:0
+msgid "The weight of the empty UL"
+msgstr ""
+
+#. module: product
+#: model:product.template,name:product.product_product_woodmm10_product_template
+msgid "Wood 10mm"
+msgstr ""
+
+#. module: product
+#: selection:product.uom,uom_type:0
+msgid "Smaller than the reference UoM"
+msgstr ""
+
+#. module: product
+#: field:product.price.type,active:0
+#: field:product.pricelist,active:0
+#: field:product.pricelist.version,active:0
+#: field:product.product,active:0
+#: field:product.uom,active:0
+msgid "Active"
+msgstr ""
+
+#. module: product
+#: field:product.product,price_margin:0
+msgid "Variant Price Margin"
+msgstr ""
+
+#. module: product
+#: sql_constraint:product.uom:0
+msgid "The conversion ratio for a unit of measure cannot be 0!"
+msgstr ""
+
+#. module: product
+#: help:product.packaging,ean:0
+msgid "The EAN code of the package unit."
+msgstr ""
+
+#. module: product
+#: help:product.supplierinfo,product_uom:0
+msgid "This comes from the product form."
+msgstr ""
+
+#. module: product
+#: field:product.packaging,weight_ul:0
+msgid "Empty Package Weight"
+msgstr ""
+
+#. module: product
+#: field:product.price.type,field:0
+msgid "Product Field"
+msgstr ""
+
+#. module: product
+#: field:product.template,mes_type:0
+msgid "Measure Type"
+msgstr ""
+
+#. module: product
+#: help:product.uom,factor:0
+msgid ""
+"How many times this UoM is smaller than the reference UoM in this category:\n"
+"1 * (reference unit) = ratio * (this unit)"
+msgstr ""
+
+#. module: product
+#: model:ir.actions.act_window,name:product.product_price_type_action
+#: model:ir.ui.menu,name:product.menu_product_price_type
+msgid "Price Types"
+msgstr ""
+
+#. module: product
+#: help:product.template,uom_id:0
+msgid "Default Unit of Measure used for all stock operation."
+msgstr ""
+
+#. module: product
+#: model:product.category,name:product.product_category_misc0
+msgid "Misc"
+msgstr ""
+
+#. module: product
+#: model:product.template,name:product.product_product_pc4_product_template
+msgid "Customizable PC"
+msgstr ""
+
+#. module: product
+#: field:pricelist.partnerinfo,price:0
+msgid "Unit Price"
+msgstr ""
+
+#. module: product
+#: model:product.category,name:product.product_category_7
+#: model:product.template,name:product.product_product_1_product_template
+msgid "Onsite Intervention"
+msgstr ""
+
+#. module: product
+#: model:product.pricelist,name:product.list0
+msgid "Public Pricelist"
+msgstr ""
+
+#. module: product
+#: model:product.category,name:product.product_category_marketableproduct0
+msgid "Marketable Products"
+msgstr ""
+
+#. module: product
+#: field:product.supplierinfo,product_code:0
+msgid "Supplier Product Code"
+msgstr ""
+
+#. module: product
+#: view:product.product:0
+msgid "Default UOM"
+msgstr ""
+
+#. module: product
+#: selection:product.ul,type:0
+msgid "Pallet"
+msgstr ""
+
+#. module: product
+#: field:product.packaging,ul_qty:0
+msgid "Package by layer"
+msgstr ""
+
+#. module: product
+#: field:product.template,warranty:0
+msgid "Warranty (months)"
+msgstr ""
+
+#. module: product
+#: help:product.pricelist.item,categ_id:0
+msgid ""
+"Set a category of product if this rule only apply to products of a category "
+"and his children. Keep empty for all products"
+msgstr ""
+
+#. module: product
+#: model:ir.model,name:product.model_product_product
+#: model:process.node,name:product.process_node_product0
+#: model:process.process,name:product.process_process_productprocess0
+#: field:product.packaging,product_id:0
+#: field:product.pricelist.item,product_id:0
+#: view:product.product:0
+#: field:product.supplierinfo,product_id:0
+#: model:res.request.link,name:product.req_link_product
+msgid "Product"
+msgstr ""
+
+#. module: product
+#: selection:product.template,supply_method:0
+msgid "Produce"
+msgstr ""
+
+#. module: product
+#: selection:product.template,procure_method:0
+msgid "Make to Order"
+msgstr ""
+
+#. module: product
+#: help:product.template,supply_method:0
+msgid ""
+"Produce will generate production order or tasks, according to the product "
+"type. Buy will trigger purchase orders when requested."
+msgstr ""
+
+#. module: product
+#: field:product.product,variants:0
+msgid "Variants"
+msgstr ""
+
+#. module: product
+#: model:ir.actions.act_window,name:product.product_category_action
+#: model:ir.ui.menu,name:product.menu_products_category
+msgid "Products by Category"
+msgstr ""
+
+#. module: product
+#: field:product.template,uos_coeff:0
+msgid "UOM -> UOS Coeff"
+msgstr ""
+
+#. module: product
+#: help:product.supplierinfo,sequence:0
+msgid "Assigns the priority to the list of product supplier."
+msgstr ""
+
+#. module: product
+#: field:product.template,uom_id:0
+msgid "Default Unit of Measure"
+msgstr ""
+
+#. module: product
+#: model:product.template,name:product.product_product_tow1_product_template
+msgid "ATX Mid-size Tower"
+msgstr ""
+
+#. module: product
+#: view:product.pricelist.item:0
+msgid "Rounding Method"
+msgstr ""
+
+#. module: product
+#: model:product.category,name:product.product_category_assembly
+msgid "Assembly Service"
+msgstr ""
+
+#. module: product
+#: model:ir.actions.report.xml,name:product.report_product_label
+msgid "Products Labels"
+msgstr ""
+
+#. module: product
+#: model:product.ul,name:product.product_ul_big_box
+msgid "Box 30x40x60"
+msgstr ""
+
+#. module: product
+#: selection:product.template,type:0
+msgid "Service"
+msgstr ""
+
+#. module: product
+#: help:product.packaging,height:0
+msgid "The height of the package"
+msgstr ""
+
+#. module: product
+#: view:product.pricelist:0
+msgid "Products Price List"
+msgstr ""
+
+#. module: product
+#: field:product.pricelist,company_id:0
+#: field:product.pricelist.item,company_id:0
+#: field:product.pricelist.version,company_id:0
+#: view:product.product:0
+#: field:product.supplierinfo,company_id:0
+#: field:product.template,company_id:0
+msgid "Company"
+msgstr ""
+
+#. module: product
+#: help:product.template,list_price:0
+msgid ""
+"Base price for computing the customer price. Sometimes called the catalog "
+"price."
+msgstr ""
+
+#. module: product
+#: code:addons/product/pricelist.py:376
+#, python-format
+msgid "Partner section of the product form"
+msgstr ""
+
+#. module: product
+#: help:product.price.type,name:0
+msgid "Name of this kind of price."
+msgstr ""
+
+#. module: product
+#: field:product.supplierinfo,product_uom:0
+msgid "Supplier UoM"
+msgstr ""
+
+#. module: product
+#: help:product.pricelist.version,date_start:0
+msgid "Starting date for this pricelist version to be valid."
+msgstr ""
+
+#. module: product
+#: help:product.template,uom_po_id:0
+msgid ""
+"Default Unit of Measure used for purchase orders. It must be in the same "
+"category than the default unit of measure."
+msgstr ""
+
+#. module: product
+#: model:product.template,description:product.product_product_cpu1_product_template
+msgid "This product is configured with example of push/pull flows"
+msgstr ""
+
+#. module: product
+#: field:product.packaging,length:0
+msgid "Length"
+msgstr ""
+
+#. module: product
+#: model:product.uom.categ,name:product.uom_categ_length
+msgid "Length / Distance"
+msgstr ""
+
+#. module: product
+#: model:product.template,name:product.product_product_0_product_template
+msgid "Onsite Senior Intervention"
+msgstr ""
+
+#. module: product
+#: model:ir.model,name:product.model_product_pricelist_type
+#: field:product.pricelist,type:0
+msgid "Pricelist Type"
+msgstr ""
+
+#. module: product
+#: model:product.category,name:product.product_category_otherproducts0
+msgid "Other Products"
+msgstr ""
+
+#. module: product
+#: field:product.product,color:0
+msgid "Color Index"
+msgstr ""
+
+#. module: product
+#: view:product.product:0
+msgid "Characteristics"
+msgstr ""
+
+#. module: product
+#: field:product.template,sale_ok:0
+msgid "Can be Sold"
+msgstr ""
+
+#. module: product
+#: field:product.template,produce_delay:0
+msgid "Manufacturing Lead Time"
+msgstr ""
+
+#. module: product
+#: field:product.supplierinfo,pricelist_ids:0
+msgid "Supplier Pricelist"
+msgstr ""
+
+#. module: product
+#: code:addons/product/product.py:175
+#, python-format
+msgid "Warning"
+msgstr ""
+
+#. module: product
+#: field:product.pricelist.item,base:0
+msgid "Based on"
+msgstr ""
+
+#. module: product
+#: model:product.uom,name:product.product_uom_ton
+msgid "t"
+msgstr ""
+
+#. module: product
+#: model:product.category,name:product.product_category_rawmaterial0
+msgid "Raw Materials"
+msgstr ""
+
+#. module: product
+#: help:product.template,product_manager:0
+msgid "This is use as task responsible"
+msgstr ""
+
+#. module: product
+#: field:product.pricelist,name:0
+msgid "Pricelist Name"
+msgstr ""
+
+#. module: product
+#: model:ir.model,name:product.model_product_pricelist_version
+#: view:product.pricelist:0
+#: view:product.pricelist.version:0
+msgid "Pricelist Version"
+msgstr ""
+
+#. module: product
+#: view:product.pricelist.item:0
+msgid "* ( 1 + "
+msgstr ""
+
+#. module: product
+#: help:product.packaging,weight:0
+msgid "The weight of a full package, pallet or box."
+msgstr ""
+
+#. module: product
+#: model:product.template,name:product.product_product_hdd2_product_template
+msgid "HDD Seagate 7200.8 120GB"
+msgstr ""
+
+#. module: product
+#: model:product.template,name:product.product_product_employee0_product_template
+msgid "Employee"
+msgstr ""
+
+#. module: product
+#: model:product.template,name:product.product_product_shelfofcm0_product_template
+msgid "Shelf of 100cm"
+msgstr ""
+
+#. module: product
+#: model:ir.model,name:product.model_product_category
+#: field:product.pricelist.item,categ_id:0
+msgid "Product Category"
+msgstr ""
+
+#. module: product
+#: report:product.pricelist:0
+msgid "Price List Name"
+msgstr ""
+
+#. module: product
+#: field:product.supplierinfo,delay:0
+msgid "Delivery Lead Time"
+msgstr ""
+
+#. module: product
+#: help:product.uom,active:0
+msgid ""
+"By unchecking the active field you can disable a unit of measure without "
+"deleting it."
+msgstr ""
+
+#. module: product
+#: model:ir.actions.act_window,name:product.product_uom_categ_form_action
+#: model:ir.ui.menu,name:product.menu_product_uom_categ_form_action
+msgid "UoM Categories"
+msgstr ""
+
+#. module: product
+#: field:product.template,seller_delay:0
+msgid "Supplier Lead Time"
+msgstr ""
+
+#. module: product
+#: selection:product.ul,type:0
+msgid "Box"
+msgstr ""
+
+#. module: product
+#: model:ir.actions.act_window,help:product.product_ul_form_action
+msgid ""
+"Create and manage your packaging dimensions and types you want to be "
+"maintained in your system."
+msgstr ""
+
+#. module: product
+#: model:product.template,name:product.product_product_rearpanelarm1_product_template
+msgid "Rear Panel SHE200"
+msgstr ""
+
+#. module: product
+#: help:product.pricelist.type,key:0
+msgid ""
+"Used in the code to select specific prices based on the context. Keep "
+"unchanged."
+msgstr ""
+
+#. module: product
+#: view:product.product:0
+msgid "Context..."
+msgstr ""
+
+#. module: product
+#: model:product.template,name:product.product_product_hdd1_product_template
+msgid "HDD Seagate 7200.8 80GB"
+msgstr ""
+
+#. module: product
+#: help:product.supplierinfo,qty:0
+msgid "This is a quantity which is converted into Default Uom."
+msgstr ""
+
+#. module: product
+#: field:product.packaging,ul:0
+msgid "Type of Package"
+msgstr ""
+
+#. module: product
+#: selection:product.ul,type:0
+msgid "Pack"
+msgstr ""
+
+#. module: product
+#: model:product.category,name:product.product_category_4
+msgid "Dello Computer"
+msgstr ""
+
+#. module: product
+#: model:product.uom.categ,name:product.product_uom_categ_kgm
+msgid "Weight"
+msgstr ""
+
+#. module: product
+#: model:product.template,name:product.product_product_22_product_template
+msgid "Processor on demand"
+msgstr ""
+
+#. module: product
+#: model:process.transition,name:product.process_transition_supplierofproduct0
+msgid "Supplier of the product"
+msgstr ""
+
+#. module: product
+#: field:product.product,product_image:0
+msgid "Image"
+msgstr ""
+
+#. module: product
+#: field:product.uom,uom_type:0
+msgid "UoM Type"
+msgstr ""
+
+#. module: product
+#: help:product.product,active:0
+msgid ""
+"If the active field is set to False, it will allow you to hide the product "
+"without removing it."
+msgstr ""
+
+#. module: product
+#: help:product.uom,rounding:0
+msgid ""
+"The computed quantity will be a multiple of this value. Use 1.0 for a UoM "
+"that cannot be further split, such as a piece."
+msgstr ""
+
+#. module: product
+#: view:product.product:0
+#: view:product.template:0
+msgid "Descriptions"
+msgstr ""
+
+#. module: product
+#: field:product.template,loc_row:0
+msgid "Row"
+msgstr ""
+
+#. module: product
+#: model:product.template,name:product.product_product_rearpanelarm0_product_template
+msgid "Rear Panel SHE100"
+msgstr ""
+
+#. module: product
+#: model:product.template,name:product.product_product_23_product_template
+msgid "Complete PC With Peripherals"
+msgstr ""
+
+#. module: product
+#: model:product.template,name:product.product_product_hotelexpenses0_product_template
+msgid "Hotel Expenses"
+msgstr ""
+
+#. module: product
+#: help:product.uom,factor_inv:0
+msgid ""
+"How many times this UoM is bigger than the reference UoM in this category:\n"
+"1 * (this unit) = ratio * (reference unit)"
+msgstr ""
+
+#. module: product
+#: model:product.template,name:product.product_product_shelf0_product_template
+msgid "Rack 100cm"
+msgstr ""
+
+#. module: product
+#: help:product.packaging,sequence:0
+msgid "Gives the sequence order when displaying a list of packaging."
+msgstr ""
+
+#. module: product
+#: field:product.pricelist.item,price_round:0
+msgid "Price Rounding"
+msgstr ""
+
+#. module: product
+#: code:addons/product/pricelist.py:178
+#, python-format
+msgid ""
+"At least one pricelist has no active version !\n"
+"Please create or activate one."
+msgstr ""
+
+#. module: product
+#: field:product.pricelist.item,price_max_margin:0
+msgid "Max. Price Margin"
+msgstr ""
+
+#. module: product
+#: help:product.supplierinfo,product_name:0
+msgid ""
+"This supplier's product name will be used when printing a request for "
+"quotation. Keep empty to use the internal one."
+msgstr ""
+
+#. module: product
+#: selection:product.template,mes_type:0
+msgid "Variable"
+msgstr ""
+
+#. module: product
+#: field:product.template,rental:0
+msgid "Can be Rent"
+msgstr ""
+
+#. module: product
+#: model:product.price.type,name:product.standard_price
+#: field:product.template,standard_price:0
+msgid "Cost Price"
+msgstr ""
+
+#. module: product
+#: field:product.pricelist.item,price_min_margin:0
+msgid "Min. Price Margin"
+msgstr ""
+
+#. module: product
+#: field:product.template,weight:0
+msgid "Gross Weight"
+msgstr ""
+
+#. module: product
+#: model:product.template,name:product.product_product_assemblysection0_product_template
+msgid "Assembly Section"
+msgstr ""
+
+#. module: product
+#: model:product.category,name:product.product_category_3
+msgid "Computer Stuff"
+msgstr ""
+
+#. module: product
+#: model:product.category,name:product.product_category_8
+msgid "Phone Help"
+msgstr ""
+
+#. module: product
+#: field:product.category,sequence:0
+#: field:product.packaging,sequence:0
+#: field:product.pricelist.item,sequence:0
+#: field:product.supplierinfo,sequence:0
+msgid "Sequence"
+msgstr ""
+
+#. module: product
+#: model:product.template,name:product.product_assembly_product_template
+msgid "Assembly Service Cost"
+msgstr ""
+
+#. module: product
+#: view:product.price_list:0
+msgid "Close"
+msgstr ""
+
+#. module: product
+#: model:ir.model,name:product.model_product_pricelist_item
+msgid "Pricelist item"
+msgstr ""
+
+#. module: product
+#: model:product.template,name:product.product_product_21_product_template
+msgid "RAM on demand"
+msgstr ""
+
+#. module: product
+#: view:res.partner:0
+msgid "Sales Properties"
+msgstr ""
+
+#. module: product
+#: view:product.product:0
+#: view:product.template:0
+msgid "Delays"
+msgstr ""
+
+#. module: product
+#: view:product.product:0
+msgid "Both stockable and consumable products"
+msgstr ""
+
+#. module: product
+#: model:process.node,note:product.process_node_product0
+msgid "Creation of the product"
+msgstr ""
+
+#. module: product
+#: field:pricelist.partnerinfo,name:0
+#: field:product.packaging,name:0
+#: report:product.pricelist:0
+#: view:product.product:0
+#: view:product.template:0
+#: field:product.template,description:0
+msgid "Description"
+msgstr ""
+
+#. module: product
+#: field:product.packaging,ean:0
+msgid "EAN"
+msgstr ""
+
+#. module: product
+#: view:product.template:0
+msgid "Product Description"
+msgstr ""
+
+#. module: product
+#: view:product.pricelist.item:0
+msgid " ) + "
+msgstr ""
+
+#. module: product
+#: field:product.template,volume:0
+msgid "Volume"
+msgstr ""
+
+#. module: product
+#: field:product.template,loc_case:0
+msgid "Case"
+msgstr ""
+
+#. module: product
+#: view:product.product:0
+#: model:res.groups,name:product.group_product_variant
+msgid "Product Variant"
+msgstr ""
+
+#. module: product
+#: model:product.category,name:product.product_category_shelves0
+msgid "Shelves"
+msgstr ""
+
+#. module: product
+#: code:addons/product/pricelist.py:375
+#, python-format
+msgid "Other Pricelist"
+msgstr ""
+
+#. module: product
+#: model:ir.model,name:product.model_product_template
+#: field:product.pricelist.item,product_tmpl_id:0
+#: field:product.product,product_tmpl_id:0
+#: view:product.template:0
+msgid "Product Template"
+msgstr ""
+
+#. module: product
+#: field:product.template,cost_method:0
+msgid "Costing Method"
+msgstr ""
+
+#. module: product
+#: view:product.packaging:0
+#: view:product.product:0
+msgid "Palletization"
+msgstr ""
+
+#. module: product
+#: help:product.template,volume:0
+msgid "The volume in m3."
+msgstr ""
+
+#. module: product
+#: selection:product.template,state:0
+msgid "End of Lifecycle"
+msgstr ""
+
+#. module: product
+#: help:product.product,packaging:0
+msgid ""
+"Gives the different ways to package the same product. This has no impact on "
+"the picking order and is mainly used if you use the EDI module."
+msgstr ""
+
+#. module: product
+#: model:ir.actions.act_window,name:product.product_pricelist_action
+#: model:ir.ui.menu,name:product.menu_product_pricelist_action
+#: field:product.pricelist,version_id:0
+msgid "Pricelist Versions"
+msgstr ""
+
+#. module: product
+#: model:product.template,name:product.product_product_span100_product_template
+msgid "Shelf Panel"
+msgstr ""
+
+#. module: product
+#: help:product.pricelist.item,price_round:0
+msgid ""
+"Sets the price so that it is a multiple of this value.\n"
+"Rounding is applied after the discount and before the surcharge.\n"
+"To have prices that end in 9.99, set rounding 10, surcharge -0.01"
+msgstr ""
+
+#. module: product
+#: field:product.template,list_price:0
+msgid "Sale Price"
+msgstr ""
+
+#. module: product
+#: constraint:product.category:0
+msgid "Error ! You cannot create recursive categories."
+msgstr ""
+
+#. module: product
+#: field:product.category,type:0
+msgid "Category Type"
+msgstr ""
+
+#. module: product
+#: model:product.category,name:product.cat2
+msgid "Private"
+msgstr ""
+
+#. module: product
+#: help:product.template,uos_coeff:0
+msgid ""
+"Coefficient to convert UOM to UOS\n"
+" uos = uom * coeff"
+msgstr ""
+
+#. module: product
+#: constraint:res.partner:0
+msgid "Error ! You cannot create recursive associated members."
+msgstr ""
+
+#. module: product
+#: field:product.pricelist.item,price_discount:0
+msgid "Price Discount"
+msgstr ""
diff --git a/addons/product/product_view.xml b/addons/product/product_view.xml
index 5d06a80b024..eb5a585976e 100644
--- a/addons/product/product_view.xml
+++ b/addons/product/product_view.xml
@@ -68,7 +68,7 @@
form
-
-
+
+
+
diff --git a/addons/project/project.py b/addons/project/project.py
index fa3e0c33f4d..e7af9f49b7d 100644
--- a/addons/project/project.py
+++ b/addons/project/project.py
@@ -509,7 +509,6 @@ def Project():
class task(base_stage, osv.osv):
_name = "project.task"
_description = "Task"
- _log_create = True
_date_name = "date_start"
_inherit = ['ir.needaction_mixin', 'mail.thread']
@@ -929,18 +928,6 @@ class task(base_stage, osv.osv):
for task in self.browse(cr, uid, ids, context=context):
vals = {}
project = task.project_id
- if project:
- # Send request to project manager
- if project.warn_manager and project.user_id and (project.user_id.id != uid):
- request.create(cr, uid, {
- 'name': _("Task '%s' closed") % task.name,
- 'state': 'waiting',
- 'act_from': uid,
- 'act_to': project.user_id.id,
- 'ref_partner_id': task.partner_id.id,
- 'ref_doc1': 'project.task,%d'% (task.id,),
- 'ref_doc2': 'project.project,%d'% (project.id,),
- }, context=context)
for parent_id in task.parent_ids:
if parent_id.state in ('pending','draft'):
reopen = True
@@ -958,20 +945,8 @@ class task(base_stage, osv.osv):
return True
def do_reopen(self, cr, uid, ids, context=None):
- request = self.pool.get('res.request')
-
for task in self.browse(cr, uid, ids, context=context):
project = task.project_id
- if project and project.warn_manager and project.user_id.id and (project.user_id.id != uid):
- request.create(cr, uid, {
- 'name': _("Task '%s' set in progress") % task.name,
- 'state': 'waiting',
- 'act_from': uid,
- 'act_to': project.user_id.id,
- 'ref_partner_id': task.partner_id.id,
- 'ref_doc1': 'project.task,%d' % task.id,
- 'ref_doc2': 'project.project,%d' % project.id,
- }, context=context)
self.case_set(cr, uid, [task.id], 'open', {}, context=context)
self.case_open_send_note(cr, uid, [task.id], context)
return True
@@ -985,18 +960,6 @@ class task(base_stage, osv.osv):
tasks = self.browse(cr, uid, ids, context=context)
self._check_child_task(cr, uid, ids, context=context)
for task in tasks:
- project = task.project_id
- if project.warn_manager and project.user_id and (project.user_id.id != uid):
- request.create(cr, uid, {
- 'name': _("Task '%s' cancelled") % task.name,
- 'state': 'waiting',
- 'act_from': uid,
- 'act_to': project.user_id.id,
- 'ref_partner_id': task.partner_id.id,
- 'ref_doc1': 'project.task,%d' % task.id,
- 'ref_doc2': 'project.project,%d' % project.id,
- }, context=context)
- # cancel task
self.case_set(cr, uid, [task.id], 'cancelled', {'remaining_hours': 0.0}, context=context)
self.case_cancel_send_note(cr, uid, [task.id], context=context)
return True
diff --git a/addons/project/project_view.xml b/addons/project/project_view.xml
index 1158d211371..d32a9efdfc9 100644
--- a/addons/project/project_view.xml
+++ b/addons/project/project_view.xml
@@ -102,7 +102,7 @@
-
+
@@ -401,7 +401,7 @@
-
+
diff --git a/addons/project_issue/project_issue.py b/addons/project_issue/project_issue.py
index 177c21570cd..ad6e7afdbcc 100644
--- a/addons/project_issue/project_issue.py
+++ b/addons/project_issue/project_issue.py
@@ -259,7 +259,6 @@ class project_issue(base_stage, osv.osv):
multi='compute_day', type="integer", help="Difference in days between last action and current date"),
'color': fields.integer('Color Index'),
'user_email': fields.related('user_id', 'user_email', type='char', string='User Email', readonly=True),
- 'message_ids': fields.one2many('mail.message', 'res_id', 'Messages', domain=[('model','=',_name)]),
'date_action_last': fields.datetime('Last Action', readonly=1),
'date_action_next': fields.datetime('Next Action', readonly=1),
'progress': fields.function(_hours_get, string='Progress (%)', multi='hours', group_operator="avg", help="Computed as: Time Spent / Total Time.",
diff --git a/addons/project_issue/project_issue_view.xml b/addons/project_issue/project_issue_view.xml
index 636807165db..23b90fe8995 100644
--- a/addons/project_issue/project_issue_view.xml
+++ b/addons/project_issue/project_issue_view.xml
@@ -126,9 +126,9 @@
-
-
-
+
+
+
diff --git a/addons/project_mailgate/__openerp__.py b/addons/project_mailgate/__openerp__.py
index 4679f5b65ca..dad9fd09eae 100644
--- a/addons/project_mailgate/__openerp__.py
+++ b/addons/project_mailgate/__openerp__.py
@@ -45,7 +45,6 @@ There are two common alternatives to configure the mailbox integration:
""",
"init_xml": [],
"update_xml": ["security/ir.model.access.csv",
- "project_mailgate_view.xml",
],
'demo_xml': [
],
diff --git a/addons/project_mailgate/project_mailgate.py b/addons/project_mailgate/project_mailgate.py
index 9715a32c151..a36366f450e 100644
--- a/addons/project_mailgate/project_mailgate.py
+++ b/addons/project_mailgate/project_mailgate.py
@@ -26,21 +26,14 @@ import binascii
class project_tasks(osv.osv):
- _name = "project.task"
- _inherit = ['mail.thread','project.task']
-
- _columns = {
- 'message_ids': fields.one2many('mail.message', 'res_id', 'Messages', domain=[('model','=',_name)], readonly=True),
- }
+ _inherit = 'project.task'
def message_new(self, cr, uid, msg, custom_values=None, context=None):
res_id = super(project_tasks,self).message_new(cr, uid, msg, custom_values=custom_values, context=context)
subject = msg.get('subject')
- body = msg.get('body_text')
msg_from = msg.get('from')
data = {
'name': subject,
- 'description': body,
'planned_hours': 0.0,
}
data.update(self.message_partner_by_email(cr, uid, msg_from))
@@ -48,12 +41,9 @@ class project_tasks(osv.osv):
return res_id
def message_update(self, cr, uid, ids, msg, data={}, default_act='pending'):
- data.update({
- 'description': msg['body_text'],
- })
act = 'do_'+default_act
- maps = {
+ maps = {
'cost':'planned_hours',
}
for line in msg['body_text'].split('\n'):
@@ -73,7 +63,7 @@ class project_tasks(osv.osv):
self.write(cr, uid, ids, data, context=context)
getattr(self,act)(cr, uid, ids, context=context)
- self.message_append_dict(cr, uid, [res_id], msg, context=context)
+ self.message_append_note(cr, uid, [res_id], body=msg, context=context)
return True
def message_thread_followers(self, cr, uid, ids, context=None):
@@ -84,37 +74,5 @@ class project_tasks(osv.osv):
followers[task.id] = filter(None, task_followers)
return followers
- def do_draft(self, cr, uid, ids, context=None):
- res = super(project_tasks, self).do_draft(cr, uid, ids, context)
- tasks = self.browse(cr, uid, ids, context=context)
- self.message_append(cr, uid, tasks, _('Draft'), context=context)
- return res
-
- def do_open(self, cr, uid, ids, context=None):
- res = super(project_tasks, self).do_open(cr, uid, ids, context)
- tasks = self.browse(cr, uid, ids, context=context)
- self.message_append(cr, uid, tasks, _('Open'), context=context)
- return res
-
- def do_pending(self, cr, uid, ids, context=None):
- res = super(project_tasks, self).do_pending(cr, uid, ids, context)
- tasks = self.browse(cr, uid, ids, context=context)
- self.message_append(cr, uid, tasks, _('Pending'), context=context)
- return res
-
- def do_close(self, cr, uid, ids, context=None):
- res = super(project_tasks, self).do_close(cr, uid, ids, context)
- tasks = self.browse(cr, uid, ids, context=context)
- for task in tasks:
- if task.state == 'done':
- self.message_append(cr, uid, tasks, _('Done'), context=context)
- return res
-
- def do_cancel(self, cr, uid, ids, context=None):
- res = super(project_tasks, self).do_cancel(cr, uid, ids, context=context)
- tasks = self.browse(cr, uid, ids, context=context)
- self.message_append(cr, uid, tasks, _('Cancel'), context=context)
- return res
-
project_tasks()
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/project_mailgate/project_mailgate_view.xml b/addons/project_mailgate/project_mailgate_view.xml
deleted file mode 100644
index ea9855e9ec1..00000000000
--- a/addons/project_mailgate/project_mailgate_view.xml
+++ /dev/null
@@ -1,22 +0,0 @@
-
-
-
-
- task.mailgate.form
- project.task
- form
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/addons/project_mrp/project_procurement.py b/addons/project_mrp/project_procurement.py
index 7d3045aede0..9252e3bbd11 100644
--- a/addons/project_mrp/project_procurement.py
+++ b/addons/project_mrp/project_procurement.py
@@ -81,6 +81,7 @@ class procurement_order(osv.osv):
'company_id': procurement.company_id.id,
},context=context)
self.write(cr, uid, [procurement.id], {'task_id': task_id, 'state': 'running'}, context=context)
+ self.running_send_note(cr, uid, ids, context=None)
return task_id
procurement_order()
diff --git a/addons/project_scrum/project_scrum.py b/addons/project_scrum/project_scrum.py
index 22824ecc3fe..78907226010 100644
--- a/addons/project_scrum/project_scrum.py
+++ b/addons/project_scrum/project_scrum.py
@@ -44,6 +44,7 @@ class project_scrum_sprint(osv.osv):
_name = 'project.scrum.sprint'
_description = 'Project Scrum Sprint'
_order = 'date_start desc'
+ _inherit = ['mail.thread']
def _compute(self, cr, uid, ids, fields, arg, context=None):
res = {}.fromkeys(ids, 0.0)
progress = {}
@@ -71,28 +72,27 @@ class project_scrum_sprint(osv.osv):
def button_cancel(self, cr, uid, ids, context=None):
self.write(cr, uid, ids, {'state':'cancel'}, context=context)
+ self.cancel_send_note(cr, uid, ids, context=None)
return True
def button_draft(self, cr, uid, ids, context=None):
self.write(cr, uid, ids, {'state':'draft'}, context=context)
+ self.draft_send_note(cr, uid, ids, context=None)
return True
def button_open(self, cr, uid, ids, context=None):
self.write(cr, uid, ids, {'state':'open'}, context=context)
- for (id, name) in self.name_get(cr, uid, ids):
- message = _("The sprint '%s' has been opened.") % (name,)
- self.log(cr, uid, id, message)
+ self.open_send_note(cr, uid, ids, context=None)
return True
def button_close(self, cr, uid, ids, context=None):
self.write(cr, uid, ids, {'state':'done'}, context=context)
- for (id, name) in self.name_get(cr, uid, ids):
- message = _("The sprint '%s' has been closed.") % (name,)
- self.log(cr, uid, id, message)
+ self.close_send_note(cr, uid, ids, context=None)
return True
def button_pending(self, cr, uid, ids, context=None):
self.write(cr, uid, ids, {'state':'pending'}, context=context)
+ self.pending_send_note(cr, uid, ids, context=None)
return True
_columns = {
@@ -138,6 +138,33 @@ class project_scrum_sprint(osv.osv):
v['date_stop'] = (datetime.now() + relativedelta(days=int(proj.sprint_size or 14))).strftime('%Y-%m-%d')
return {'value':v}
+ # ----------------------------------------
+ # OpenChatter methods and notifications
+ # ----------------------------------------
+
+ def create(self, cr, uid, vals, context=None):
+ obj_id = super(project_scrum_sprint, self).create(cr, uid, vals, context)
+ self.create_send_note(cr, uid, [obj_id], context=context)
+ return obj_id
+
+ def draft_send_note(self, cr, uid, ids, context=None):
+ self.message_append_note(cr, uid, ids, body=_("Sprint has been set to draft ."), context=context)
+
+ def create_send_note(self, cr, uid, ids, context=None):
+ self.message_append_note(cr, uid, ids, body=_("Sprint has been created ."), context=context)
+
+ def open_send_note(self, cr, uid, ids, context=None):
+ self.message_append_note(cr, uid, ids, body=_("Sprint has been opened ."), context=context)
+
+ def pending_send_note(self, cr, uid, ids, context=None):
+ self.message_append_note(cr, uid, ids, body=_("Sprint has been set to pending ."), context=context)
+
+ def cancel_send_note(self, cr, uid, ids, context=None):
+ self.message_append_note(cr, uid, ids, body=_("Sprint has been cancelled ."), context=context)
+
+ def close_send_note(self, cr, uid, ids, context=None):
+ self.message_append_note(cr, uid, ids, body=_("Sprint has been closed ."), context=context)
+
project_scrum_sprint()
class project_scrum_product_backlog(osv.osv):
diff --git a/addons/project_scrum/project_scrum_view.xml b/addons/project_scrum/project_scrum_view.xml
index 438e4604905..24ab78d4a8d 100644
--- a/addons/project_scrum/project_scrum_view.xml
+++ b/addons/project_scrum/project_scrum_view.xml
@@ -307,6 +307,9 @@
+
+
+
diff --git a/addons/project_scrum/wizard/project_scrum_backlog_sprint.py b/addons/project_scrum/wizard/project_scrum_backlog_sprint.py
index 72b80a969fb..ab017231e89 100644
--- a/addons/project_scrum/wizard/project_scrum_backlog_sprint.py
+++ b/addons/project_scrum/wizard/project_scrum_backlog_sprint.py
@@ -24,6 +24,7 @@ from tools.translate import _
class backlog_sprint_assign(osv.osv_memory):
_name = 'project.scrum.backlog.assign.sprint'
_description = 'Assign sprint to backlogs'
+ _inherit = ['mail.thread']
_columns = {
'sprint_id': fields.many2one('project.scrum.sprint', 'Sprint', required=True, help="Select Sprint to assign backlog."),
'state_open': fields.boolean('Open Backlog', help="Change the state of product backlogs to open if its in draft state"),
@@ -55,12 +56,12 @@ class backlog_sprint_assign(osv.osv_memory):
'remaining_hours':backlog.expected_hours,
})
message = _("Product Backlog '%s' is converted into Task %d.") %(backlog.name, task_id)
- self.log(cr, uid, backlog.id, message)
+ self.message_append_note(cr, uid, [backlog.id], body=message, context=context)
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 '%s' is assigned to sprint %s") %(backlog.name, sprint.name)
- self.log(cr, uid, backlog.id, message)
+ self.message_append_note(cr, uid, [backlog.id], body=message, context=context)
backlog_obj.write(cr, uid, backlog_ids, {'sprint_id': data.sprint_id.id}, context=context)
return {'type': 'ir.actions.act_window_close'}
diff --git a/addons/purchase/i18n/nl.po b/addons/purchase/i18n/nl.po
index 40ad6f9c252..046e2a2a4e7 100644
--- a/addons/purchase/i18n/nl.po
+++ b/addons/purchase/i18n/nl.po
@@ -7,14 +7,14 @@ msgstr ""
"Project-Id-Version: OpenERP Server 6.0dev\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2012-02-08 01:37+0100\n"
-"PO-Revision-Date: 2012-02-18 15:04+0000\n"
+"PO-Revision-Date: 2012-06-01 08:41+0000\n"
"Last-Translator: Erwin \n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2012-05-11 04:40+0000\n"
-"X-Generator: Launchpad (build 15225)\n"
+"X-Launchpad-Export-Date: 2012-06-02 05:35+0000\n"
+"X-Generator: Launchpad (build 15342)\n"
#. module: purchase
#: model:process.transition,note:purchase.process_transition_confirmingpurchaseorder0
@@ -113,7 +113,7 @@ msgstr "Te factureren"
#. module: purchase
#: view:purchase.order.line_invoice:0
msgid "Do you want to generate the supplier invoices?"
-msgstr ""
+msgstr "Wilt u de leveranciersfacturen genereren?"
#. module: purchase
#: model:ir.actions.act_window,help:purchase.purchase_form_action
@@ -194,7 +194,7 @@ msgstr "Fouten in facturatie"
#. module: purchase
#: model:product.pricelist,name:purchase.list0
msgid "Default Purchase Pricelist"
-msgstr "Standaard inkoopprijslijst"
+msgstr "Inkoopprijslijst"
#. module: purchase
#: help:purchase.order,dest_address_id:0
@@ -1849,7 +1849,7 @@ msgstr ""
#. module: purchase
#: view:purchase.order.group:0
msgid "Are you sure you want to merge these orders?"
-msgstr ""
+msgstr "Weet u zeker dat u deze orders wilt samenvoegen?"
#. module: purchase
#: model:process.transition,name:purchase.process_transition_purchaseinvoice0
diff --git a/addons/purchase/purchase.py b/addons/purchase/purchase.py
index 125bb8ae77d..b6f06dfd4bf 100644
--- a/addons/purchase/purchase.py
+++ b/addons/purchase/purchase.py
@@ -371,8 +371,6 @@ class purchase_order(osv.osv):
for line in po.order_line:
if line.state=='draft':
todo.append(line.id)
- message = _("Purchase order '%s' is confirmed.") % (po.name,)
- self.log(cr, uid, po.id, message)
# current_name = self.name_get(cr, uid, ids)[0][1]
self.pool.get('purchase.order.line').action_confirm(cr, uid, todo, context)
for id in ids:
@@ -399,7 +397,7 @@ class purchase_order(osv.osv):
'account_analytic_id': order_line.account_analytic_id.id or False,
}
- def action_cancel_draft(self, cr, uid, ids, *args):
+ def action_cancel_draft(self, cr, uid, ids, context=None):
if not len(ids):
return False
self.write(cr, uid, ids, {'state':'draft','shipped':0})
@@ -408,9 +406,7 @@ class purchase_order(osv.osv):
# Deleting the existing instance of workflow for PO
wf_service.trg_delete(uid, 'purchase.order', p_id, cr)
wf_service.trg_create(uid, 'purchase.order', p_id, cr)
- for (id,name) in self.name_get(cr, uid, ids):
- message = _("Purchase order '%s' has been set in draft state.") % name
- self.log(cr, uid, id, message)
+ self.draft_send_note(cr, uid, ids, context=context)
return True
def action_invoice_create(self, cr, uid, ids, context=None):
@@ -514,8 +510,7 @@ class purchase_order(osv.osv):
for (id, name) in self.name_get(cr, uid, ids):
wf_service.trg_validate(uid, 'purchase.order', id, 'purchase_cancel', cr)
- message = _("Purchase order '%s' is cancelled.") % name
- self.log(cr, uid, id, message)
+ self.cancel_send_note(cr, uid, ids, context)
return True
def _prepare_order_picking(self, cr, uid, order, context=None):
@@ -771,6 +766,9 @@ class purchase_order(osv.osv):
def invoice_done_send_note(self, cr, uid, ids, context=None):
self.message_append_note(cr, uid, ids, body=_("Invoice paid ."), context=context)
+
+ def draft_send_note(self, cr, uid, ids, context=None):
+ return self.message_append_note(cr, uid, ids, body=_("Purchase Order has been set to draft ."), context=context)
def cancel_send_note(self, cr, uid, ids, context=None):
for obj in self.browse(cr, uid, ids, context=context):
@@ -1076,6 +1074,7 @@ class procurement_order(osv.osv):
}
res[procurement.id] = self.create_procurement_purchase_order(cr, uid, procurement, po_vals, line_vals, context=context)
self.write(cr, uid, [procurement.id], {'state': 'running', 'purchase_id': res[procurement.id]})
+ self.running_send_note(cr, uid, [procurement.id], context=context)
return res
procurement_order()
diff --git a/addons/purchase/purchase_view.xml b/addons/purchase/purchase_view.xml
index c43b53ceb68..ce2a9d85b5e 100644
--- a/addons/purchase/purchase_view.xml
+++ b/addons/purchase/purchase_view.xml
@@ -212,7 +212,7 @@
-
+
@@ -512,7 +512,7 @@
form
-
+
diff --git a/addons/purchase_requisition/purchase_requisition.py b/addons/purchase_requisition/purchase_requisition.py
index 3f3afa47e3b..566497df729 100644
--- a/addons/purchase_requisition/purchase_requisition.py
+++ b/addons/purchase_requisition/purchase_requisition.py
@@ -259,7 +259,7 @@ class procurement_order(osv.osv):
})],
'purchase_ids': [(6,0,[po_id])]
})
- self.write(cr,uid,proc_id,{'requisition_id':requisition_id})
+ self.write(cr,uid,[proc_id],{'requisition_id':requisition_id},context=context)
return res
procurement_order()
diff --git a/addons/sale/sale_view.xml b/addons/sale/sale_view.xml
index 02affa4fa71..458a40ab6bf 100644
--- a/addons/sale/sale_view.xml
+++ b/addons/sale/sale_view.xml
@@ -276,7 +276,7 @@
-
+
diff --git a/addons/stock/stock_view.xml b/addons/stock/stock_view.xml
index 3ab6be87f36..564bac59c91 100644
--- a/addons/stock/stock_view.xml
+++ b/addons/stock/stock_view.xml
@@ -947,7 +947,7 @@
-
+
@@ -1062,13 +1062,12 @@
-
+
-
stock.picking.in.search
stock.picking.in
diff --git a/addons/stock_location/procurement_pull.py b/addons/stock_location/procurement_pull.py
index 33168a53e20..ca397f7fa2d 100644
--- a/addons/stock_location/procurement_pull.py
+++ b/addons/stock_location/procurement_pull.py
@@ -115,7 +115,8 @@ class procurement_order(osv.osv):
if proc.move_id:
move_obj.write(cr, uid, [proc.move_id.id],
{'location_id':proc.location_id.id})
- self.write(cr, uid, [proc.id], {'state':'running', 'message':_('Pulled from another location via procurement %d')%proc_id})
+ self.write(cr, uid, [proc.id], {'state':'running', 'message':_('Pulled from another location via procurement %d') % proc_id})
+ self.running_send_note(cr, uid, [proc.id], context=context)
# trigger direct processing (the new procurement shares the same planned date as the original one, which is already being processed)
wf_service.trg_validate(uid, 'procurement.order', proc_id, 'button_check', cr)