diff --git a/addons/account_accountant/i18n/ja.po b/addons/account_accountant/i18n/ja.po index 9e2208e06cd..1da9c374c7f 100644 --- a/addons/account_accountant/i18n/ja.po +++ b/addons/account_accountant/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-12-21 17:04+0000\n" -"PO-Revision-Date: 2012-04-13 22:35+0000\n" -"Last-Translator: FULL NAME \n" +"PO-Revision-Date: 2013-07-30 22:25+0000\n" +"Last-Translator: Masaki Yamaya \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: 2013-03-16 05:47+0000\n" -"X-Generator: Launchpad (build 16532)\n" +"X-Launchpad-Export-Date: 2013-07-31 05:16+0000\n" +"X-Generator: Launchpad (build 16718)\n" #. module: account_accountant #: model:ir.actions.client,name:account_accountant.action_client_account_menu msgid "Open Accounting Menu" -msgstr "" +msgstr "会計メニューを開く" #~ msgid "" #~ "\n" diff --git a/addons/account_asset/i18n/th.po b/addons/account_asset/i18n/th.po index fdc6c7b4754..cd7967a5eb2 100644 --- a/addons/account_asset/i18n/th.po +++ b/addons/account_asset/i18n/th.po @@ -8,14 +8,14 @@ msgstr "" "Project-Id-Version: openobject-addons\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-12-21 17:04+0000\n" -"PO-Revision-Date: 2013-05-15 10:09+0000\n" -"Last-Translator: FULL NAME \n" +"PO-Revision-Date: 2013-07-24 08:53+0000\n" +"Last-Translator: Sumonchai ( เหลา ) \n" "Language-Team: Thai \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-05-16 05:12+0000\n" -"X-Generator: Launchpad (build 16626)\n" +"X-Launchpad-Export-Date: 2013-07-25 05:13+0000\n" +"X-Generator: Launchpad (build 16700)\n" #. module: account_asset #: view:account.asset.asset:0 @@ -42,7 +42,7 @@ msgstr "" #. module: account_asset #: view:asset.asset.report:0 msgid "Group By..." -msgstr "" +msgstr "จัดกลุ่มตาม..." #. module: account_asset #: field:asset.asset.report,gross_value:0 @@ -58,7 +58,7 @@ msgstr "" #: field:asset.asset.report,asset_id:0 #: model:ir.model,name:account_asset.model_account_asset_asset msgid "Asset" -msgstr "" +msgstr "สินทรัพย์" #. module: account_asset #: help:account.asset.asset,prorata:0 @@ -72,7 +72,7 @@ msgstr "" #: selection:account.asset.asset,method:0 #: selection:account.asset.category,method:0 msgid "Linear" -msgstr "" +msgstr "เชิงเส้น" #. module: account_asset #: field:account.asset.asset,company_id:0 @@ -80,24 +80,24 @@ msgstr "" #: view:asset.asset.report:0 #: field:asset.asset.report,company_id:0 msgid "Company" -msgstr "" +msgstr "บริษัท" #. module: account_asset #: view:asset.modify:0 msgid "Modify" -msgstr "" +msgstr "ปรับเปลี่ยน" #. module: account_asset #: selection:account.asset.asset,state:0 #: view:asset.asset.report:0 #: selection:asset.asset.report,state:0 msgid "Running" -msgstr "" +msgstr "กำลังทำงานอยู่" #. module: account_asset #: view:account.asset.asset:0 msgid "Set to Draft" -msgstr "" +msgstr "กำหนดให้เป็นแบบร่าง" #. module: account_asset #: view:asset.asset.report:0 @@ -110,7 +110,7 @@ msgstr "" #. module: account_asset #: field:asset.modify,name:0 msgid "Reason" -msgstr "" +msgstr "เหตุผล" #. module: account_asset #: field:account.asset.asset,method_progress_factor:0 @@ -122,7 +122,7 @@ msgstr "" #: model:ir.actions.act_window,name:account_asset.action_account_asset_asset_list_normal #: model:ir.ui.menu,name:account_asset.menu_action_account_asset_asset_list_normal msgid "Asset Categories" -msgstr "" +msgstr "หมวดหมู่สินทรัพย์" #. module: account_asset #: view:account.asset.asset:0 @@ -173,7 +173,7 @@ msgstr "" #: model:ir.ui.menu,name:account_asset.menu_finance_assets #: model:ir.ui.menu,name:account_asset.menu_finance_config_assets msgid "Assets" -msgstr "" +msgstr "สินทรัพย์" #. module: account_asset #: field:account.asset.category,account_depreciation_id:0 @@ -187,7 +187,7 @@ msgstr "" #: view:asset.modify:0 #: field:asset.modify,note:0 msgid "Notes" -msgstr "" +msgstr "บันทึกย่อ" #. module: account_asset #: field:account.asset.depreciation.line,move_id:0 @@ -221,7 +221,7 @@ msgstr "" #. module: account_asset #: field:account.asset.asset,code:0 msgid "Reference" -msgstr "" +msgstr "อ้างถึง" #. module: account_asset #: view:account.asset.asset:0 @@ -246,7 +246,7 @@ msgstr "" #: view:asset.asset.report:0 #: selection:asset.asset.report,state:0 msgid "Draft" -msgstr "" +msgstr "ฉบับร่าง" #. module: account_asset #: view:asset.asset.report:0 @@ -273,13 +273,13 @@ msgstr "" #. module: account_asset #: field:account.asset.category,account_analytic_id:0 msgid "Analytic account" -msgstr "" +msgstr "วิเคราะห์บัญชี" #. module: account_asset #: field:account.asset.asset,method:0 #: field:account.asset.category,method:0 msgid "Computation Method" -msgstr "" +msgstr "วิธีการคำนวณ" #. module: account_asset #: constraint:account.asset.asset:0 @@ -308,7 +308,7 @@ msgstr "" #. module: account_asset #: field:account.asset.asset,salvage_value:0 msgid "Salvage Value" -msgstr "" +msgstr "มูลค่าซาก" #. module: account_asset #: field:account.asset.asset,category_id:0 @@ -364,20 +364,20 @@ msgstr "" #: field:account.asset.category,method_time:0 #: field:account.asset.history,method_time:0 msgid "Time Method" -msgstr "" +msgstr "วิธีการจัดการเวลา" #. module: account_asset #: view:asset.depreciation.confirmation.wizard:0 #: view:asset.modify:0 msgid "or" -msgstr "" +msgstr "หรือ" #. module: account_asset #: field:account.asset.asset,note:0 #: field:account.asset.category,note:0 #: field:account.asset.history,note:0 msgid "Note" -msgstr "" +msgstr "บันทึกย่อ" #. module: account_asset #: help:account.asset.history,method_time:0 @@ -409,7 +409,7 @@ msgstr "" #. module: account_asset #: view:account.asset.asset:0 msgid "Closed" -msgstr "" +msgstr "ปิด" #. module: account_asset #: help:account.asset.asset,state:0 @@ -425,13 +425,13 @@ msgstr "" #: field:account.asset.asset,state:0 #: field:asset.asset.report,state:0 msgid "Status" -msgstr "" +msgstr "สถานะ" #. module: account_asset #: field:account.asset.asset,partner_id:0 #: field:asset.asset.report,partner_id:0 msgid "Partner" -msgstr "" +msgstr "พาร์ทเนอร์" #. module: account_asset #: view:asset.asset.report:0 @@ -451,7 +451,7 @@ msgstr "" #. module: account_asset #: field:account.asset.history,user_id:0 msgid "User" -msgstr "" +msgstr "ผู้ใช้" #. module: account_asset #: field:account.asset.category,account_asset_id:0 @@ -482,12 +482,12 @@ msgstr "" #. module: account_asset #: field:account.asset.asset,active:0 msgid "Active" -msgstr "" +msgstr "เปิดใช้งาน" #. module: account_asset #: field:account.asset.depreciation.line,parent_state:0 msgid "State of Asset" -msgstr "" +msgstr "สถานะของสินทรัพย์" #. module: account_asset #: field:account.asset.depreciation.line,name:0 @@ -498,12 +498,12 @@ msgstr "" #: view:account.asset.asset:0 #: field:account.asset.asset,history_ids:0 msgid "History" -msgstr "" +msgstr "ประวัติ" #. module: account_asset #: view:asset.depreciation.confirmation.wizard:0 msgid "Compute Asset" -msgstr "" +msgstr "คำนวณสินทรัพย์" #. module: account_asset #: field:asset.depreciation.confirmation.wizard,period_id:0 @@ -513,7 +513,7 @@ msgstr "" #. module: account_asset #: view:account.asset.asset:0 msgid "General" -msgstr "" +msgstr "ทั่วไป" #. module: account_asset #: field:account.asset.asset,prorata:0 @@ -524,7 +524,7 @@ msgstr "" #. module: account_asset #: model:ir.model,name:account_asset.model_account_invoice msgid "Invoice" -msgstr "" +msgstr "ใบแจ้งหนี้" #. module: account_asset #: view:account.asset.asset:0 @@ -535,13 +535,13 @@ msgstr "" #: view:asset.depreciation.confirmation.wizard:0 #: view:asset.modify:0 msgid "Cancel" -msgstr "" +msgstr "ยกเลิก" #. module: account_asset #: selection:account.asset.asset,state:0 #: selection:asset.asset.report,state:0 msgid "Close" -msgstr "" +msgstr "ปิด" #. module: account_asset #: model:ir.model,name:account_asset.model_account_move_line @@ -558,7 +558,7 @@ msgstr "" #: view:asset.asset.report:0 #: field:asset.asset.report,purchase_date:0 msgid "Purchase Date" -msgstr "" +msgstr "วันที่ซื้อ" #. module: account_asset #: selection:account.asset.asset,method:0 @@ -606,7 +606,7 @@ msgstr "" #. module: account_asset #: field:account.asset.asset,currency_id:0 msgid "Currency" -msgstr "" +msgstr "สกุลเงิน" #. module: account_asset #: field:account.asset.category,journal_id:0 @@ -637,7 +637,7 @@ msgstr "" #: view:asset.asset.report:0 #: field:asset.asset.report,move_check:0 msgid "Posted" -msgstr "" +msgstr "ลงบัญชีแล้ว" #. module: account_asset #: model:ir.actions.act_window,help:account_asset.action_asset_asset_report @@ -660,7 +660,7 @@ msgstr "" #. module: account_asset #: field:account.asset.category,name:0 msgid "Name" -msgstr "" +msgstr "ชื่อ" #. module: account_asset #: help:account.asset.category,open_asset:0 @@ -672,7 +672,7 @@ msgstr "" #. module: account_asset #: field:asset.asset.report,name:0 msgid "Year" -msgstr "" +msgstr "ปี" #. module: account_asset #: model:ir.model,name:account_asset.model_account_asset_depreciation_line @@ -693,7 +693,7 @@ msgid "Amount of Depreciation Lines" msgstr "" #. module: account_asset -#: code:addons/account_asset/wizard/wizard_asset_compute.py:49 +#: code:addons/account_asset/wizard/wizard_asset_compute.py:50 #, python-format msgid "Created Asset Moves" msgstr "" @@ -701,7 +701,7 @@ msgstr "" #. module: account_asset #: field:account.asset.depreciation.line,sequence:0 msgid "Sequence" -msgstr "" +msgstr "ลำดับ" #. module: account_asset #: help:account.asset.category,method_period:0 @@ -711,7 +711,7 @@ msgstr "" #. module: account_asset #: field:account.asset.history,date:0 msgid "Date" -msgstr "" +msgstr "วันที่" #. module: account_asset #: field:account.asset.asset,method_number:0 diff --git a/addons/account_budget/i18n/ja.po b/addons/account_budget/i18n/ja.po index f69a34b9a82..4dd1ba0298f 100644 --- a/addons/account_budget/i18n/ja.po +++ b/addons/account_budget/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-12-21 17:05+0000\n" -"PO-Revision-Date: 2012-06-13 17:16+0000\n" -"Last-Translator: Akira Hiyama \n" +"PO-Revision-Date: 2013-07-30 22:29+0000\n" +"Last-Translator: Masaki Yamaya \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: 2013-03-16 05:34+0000\n" -"X-Generator: Launchpad (build 16532)\n" +"X-Launchpad-Export-Date: 2013-07-31 05:16+0000\n" +"X-Generator: Launchpad (build 16718)\n" #. module: account_budget #: view:account.budget.analytic:0 @@ -418,7 +418,7 @@ msgstr "からの分析" #. module: account_budget #: view:crossovered.budget:0 msgid "Draft Budgets" -msgstr "ドラフト予算" +msgstr "予算案" #, python-format #~ msgid "The General Budget '%s' has no Accounts!" diff --git a/addons/account_cancel/i18n/uk.po b/addons/account_cancel/i18n/uk.po new file mode 100644 index 00000000000..5fbae627883 --- /dev/null +++ b/addons/account_cancel/i18n/uk.po @@ -0,0 +1,23 @@ +# Ukrainian translation for openobject-addons +# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013 +# This file is distributed under the same license as the openobject-addons package. +# FIRST AUTHOR , 2013. +# +msgid "" +msgstr "" +"Project-Id-Version: openobject-addons\n" +"Report-Msgid-Bugs-To: FULL NAME \n" +"POT-Creation-Date: 2012-12-21 17:05+0000\n" +"PO-Revision-Date: 2013-08-01 11:11+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: Ukrainian \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2013-08-02 05:38+0000\n" +"X-Generator: Launchpad (build 16718)\n" + +#. module: account_cancel +#: view:account.invoice:0 +msgid "Cancel" +msgstr "" diff --git a/addons/crm/crm_action_rule_demo.xml b/addons/crm/crm_action_rule_demo.xml index 0464a4a301d..8eac91c06e2 100644 --- a/addons/crm/crm_action_rule_demo.xml +++ b/addons/crm/crm_action_rule_demo.xml @@ -14,13 +14,7 @@ True ir.actions.server email - object.user_id.email - Reminder on Lead: [[object.id ]] [[object.partner_id and 'of ' +object.partner_id.name or '']] - Warning unprocessed incoming lead is more than 5 day old. -Name: [[object.name ]] -ID: [[object.id ]] -Description: [[object.description]] - + Set Auto Reminder on leads which are not open since 5 days. diff --git a/addons/crm/crm_lead.py b/addons/crm/crm_lead.py index 6c57b77d697..49bec0facba 100644 --- a/addons/crm/crm_lead.py +++ b/addons/crm/crm_lead.py @@ -934,42 +934,6 @@ class crm_lead(format_address, osv.osv): vals.update(onchange_stage_values) return super(crm_lead, self).write(cr, uid, ids, vals, context=context) - def new_mail_send(self, cr, uid, ids, context=None): - ''' - This function opens a window to compose an email, with the edi sale template message loaded by default - ''' - assert len(ids) == 1, 'This option should only be used for a single id at a time.' - ir_model_data = self.pool.get('ir.model.data') - try: - template_id = ir_model_data.get_object_reference(cr, uid, 'crm', 'email_template_opportunity_mail')[1] - except ValueError: - template_id = False - try: - compose_form_id = ir_model_data.get_object_reference(cr, uid, 'mail', 'email_compose_message_wizard_form')[1] - except ValueError: - compose_form_id = False - if context is None: - context = {} - ctx = context.copy() - ctx.update({ - 'default_model': 'crm.lead', - 'default_res_id': ids[0], - 'default_use_template': bool(template_id), - 'default_template_id': template_id, - 'default_composition_mode': 'comment', - }) - return { - 'name': _('Compose Email'), - 'type': 'ir.actions.act_window', - 'view_type': 'form', - 'view_mode': 'form', - 'res_model': 'mail.compose.message', - 'views': [(compose_form_id, 'form')], - 'view_id': compose_form_id, - 'target': 'new', - 'context': ctx, - } - # ---------------------------------------- # Mail Gateway # ---------------------------------------- diff --git a/addons/crm/crm_lead_data.xml b/addons/crm/crm_lead_data.xml index f6adf2b6071..3c299fef704 100644 --- a/addons/crm/crm_lead_data.xml +++ b/addons/crm/crm_lead_data.xml @@ -206,6 +206,20 @@ ${not object.partner_id and object.email_from} + + Reminder to User + + + admin@example.com + ${object.user_id != False and object.user_id.email} + Reminder on Lead: ${object.id} from ${object.partner_id != False and object.partner_id.name or object.contact_name} + This opportunity did not have any activity since at least 5 days. Here are some details:

+
    +
  • Name: ${object.name}
  • +
  • ID: ${object.id}
  • +
  • Description: ${object.description}
  • +
]]>
+
diff --git a/addons/crm/crm_lead_view.xml b/addons/crm/crm_lead_view.xml index b933ebfefc2..e513a871e16 100644 --- a/addons/crm/crm_lead_view.xml +++ b/addons/crm/crm_lead_view.xml @@ -406,7 +406,7 @@ diff --git a/addons/crm/i18n/hu.po b/addons/crm/i18n/hu.po index 0289fac77cf..791273361eb 100644 --- a/addons/crm/i18n/hu.po +++ b/addons/crm/i18n/hu.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-12-21 17:04+0000\n" -"PO-Revision-Date: 2013-07-09 07:36+0000\n" +"PO-Revision-Date: 2013-07-25 13:52+0000\n" "Last-Translator: krnkris \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: 2013-07-10 05:25+0000\n" -"X-Generator: Launchpad (build 16696)\n" +"X-Launchpad-Export-Date: 2013-07-26 05:14+0000\n" +"X-Generator: Launchpad (build 16700)\n" #. module: crm #: model:crm.case.stage,name:crm.stage_lead3 @@ -241,7 +241,7 @@ msgstr "Kilép" #: view:crm.lead:0 #: field:crm.lead,state_id:0 msgid "State" -msgstr "Állapot" +msgstr "Állam/Megye" #. module: crm #: field:res.partner,meeting_count:0 diff --git a/addons/crm/i18n/th.po b/addons/crm/i18n/th.po index 082ed1efa6d..99c347c9ed3 100644 --- a/addons/crm/i18n/th.po +++ b/addons/crm/i18n/th.po @@ -8,29 +8,29 @@ msgstr "" "Project-Id-Version: openobject-addons\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-12-21 17:04+0000\n" -"PO-Revision-Date: 2011-01-16 16:48+0000\n" -"Last-Translator: Rungsan Suyala \n" +"PO-Revision-Date: 2013-07-24 09:15+0000\n" +"Last-Translator: Supakorn S \n" "Language-Team: Thai \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-03-16 05:09+0000\n" -"X-Generator: Launchpad (build 16532)\n" +"X-Launchpad-Export-Date: 2013-07-25 05:13+0000\n" +"X-Generator: Launchpad (build 16700)\n" #. module: crm #: view:crm.lead.report:0 msgid "# Leads" -msgstr "" +msgstr "เป้าหมาย" #. module: crm #: help:sale.config.settings,fetchmail_lead:0 msgid "" "Allows you to configure your incoming mail server, and create leads from " "incoming emails." -msgstr "" +msgstr "อนุญาตให้ปรับแต่งเมลเซิฟเวอร์ขาเข้า และสร้างเป้าหมายจากเมลที่เข้ามา" #. module: crm -#: code:addons/crm/crm_lead.py:881 +#: code:addons/crm/crm_lead.py:898 #: selection:crm.case.stage,type:0 #: view:crm.lead:0 #: selection:crm.lead,type:0 @@ -38,7 +38,7 @@ msgstr "" #: selection:crm.lead.report,type:0 #, python-format msgid "Lead" -msgstr "" +msgstr "ผู้นำ" #. module: crm #: view:crm.lead:0 @@ -55,22 +55,27 @@ msgid "" "Description: [[object.description]]\n" " " msgstr "" +"คำเตือน มีเป้าหมายที่ไม่ได้ประมวลผลที่เก่ากว่า 5 วัน\n" +"ชื่อ:\n" +"ID:\n" +"รายละเอียด:\n" +" " #. module: crm #: field:crm.opportunity2phonecall,action:0 #: field:crm.phonecall2phonecall,action:0 msgid "Action" -msgstr "" +msgstr "การกระทำ" #. module: crm #: model:ir.actions.server,name:crm.action_set_team_sales_department msgid "Set team to Sales Department" -msgstr "" +msgstr "ตั้งทีมในแผนกขาย" #. module: crm #: view:crm.lead2opportunity.partner.mass:0 msgid "Select Opportunities" -msgstr "" +msgstr "เลือกโอกาส" #. module: crm #: model:res.groups,name:crm.group_fund_raising @@ -96,12 +101,12 @@ msgstr "ชื่อขั้นตอน" #: view:crm.lead.report:0 #: view:crm.phonecall.report:0 msgid "Salesperson" -msgstr "" +msgstr "พนักงานขาย" #. module: crm #: model:ir.model,name:crm.model_crm_lead_report msgid "CRM Lead Analysis" -msgstr "" +msgstr "วิเคราะห์เป้าหมาย" #. module: crm #: view:crm.lead.report:0 @@ -113,12 +118,12 @@ msgstr "วัน" #. module: crm #: view:crm.lead:0 msgid "Company Name" -msgstr "" +msgstr "ชื่อบริษัท" #. module: crm #: model:crm.case.categ,name:crm.categ_oppor6 msgid "Training" -msgstr "" +msgstr "หลักสูตรอบรม" #. module: crm #: model:ir.actions.act_window,name:crm.crm_lead_categ_action @@ -136,7 +141,7 @@ msgstr "" #: help:crm.lead,message_unread:0 #: help:crm.phonecall,message_unread:0 msgid "If checked new messages require your attention." -msgstr "" +msgstr "ถ้าการตรวจสอบข้อความใหม่ให้ระบุความสนใจของคุณ" #. module: crm #: help:crm.lead.report,creation_day:0 @@ -167,7 +172,7 @@ msgstr "แคมเปญ" #. module: crm #: view:crm.lead:0 msgid "Search Opportunities" -msgstr "" +msgstr "ค้นหาโอกาส" #. module: crm #: help:crm.lead.report,deadline_month:0 @@ -184,8 +189,8 @@ msgid "" msgstr "" #. module: crm -#: code:addons/crm/crm_lead.py:624 -#: code:addons/crm/crm_lead.py:744 +#: code:addons/crm/crm_lead.py:640 +#: code:addons/crm/crm_lead.py:761 #: code:addons/crm/crm_phonecall.py:280 #, python-format msgid "Warning!" @@ -228,12 +233,12 @@ msgstr "" #: view:crm.lead:0 #: field:crm.lead,state_id:0 msgid "State" -msgstr "" +msgstr "สถานะ" #. module: crm #: field:res.partner,meeting_count:0 msgid "# Meetings" -msgstr "" +msgstr "ประชุม" #. module: crm #: model:ir.actions.server,name:crm.action_email_reminder_lead @@ -253,14 +258,14 @@ msgstr "คำตอบไม่รวม :" #. module: crm #: model:ir.model,name:crm.model_crm_merge_opportunity msgid "Merge opportunities" -msgstr "" +msgstr "รวมโอกาส" #. module: crm #: view:crm.lead.report:0 #: model:ir.actions.act_window,name:crm.action_report_crm_lead #: model:ir.ui.menu,name:crm.menu_report_crm_leads_tree msgid "Leads Analysis" -msgstr "การวิเคราะห์ Lead" +msgstr "การวิเคราะห์เป้าหมาย" #. module: crm #: code:addons/crm/crm_lead.py:1010 @@ -294,10 +299,10 @@ msgid "Prospect Partner" msgstr "" #. module: crm -#: code:addons/crm/crm_lead.py:982 +#: code:addons/crm/crm_lead.py:1002 #, python-format msgid "No Subject" -msgstr "" +msgstr "ไม่มีชื่อเรื่อง" #. module: crm #: field:crm.lead,contact_name:0 @@ -330,7 +335,7 @@ msgstr "" #: field:crm.phonecall,partner_id:0 #: field:crm.phonecall2phonecall,contact_name:0 msgid "Contact" -msgstr "ชื่อผู้ติดต่อ" +msgstr "รายชื่อ" #. module: crm #: help:crm.case.section,change_responsible:0 @@ -357,7 +362,7 @@ msgstr "" #. module: crm #: field:res.partner,opportunity_ids:0 msgid "Leads and Opportunities" -msgstr "" +msgstr "เป้าหมายและโอกาส" #. module: crm #: model:ir.actions.act_window,help:crm.relate_partner_opportunities @@ -381,7 +386,7 @@ msgstr "" #: model:crm.case.stage,name:crm.stage_lead7 #: view:crm.lead:0 msgid "Dead" -msgstr "" +msgstr "ไม่สำเร็จ" #. module: crm #: field:crm.case.section,message_unread:0 @@ -389,7 +394,7 @@ msgstr "" #: field:crm.lead,message_unread:0 #: field:crm.phonecall,message_unread:0 msgid "Unread Messages" -msgstr "" +msgstr "ข้อความที่ยังไม่ได้อ่าน" #. module: crm #: view:crm.segmentation:0 @@ -403,7 +408,7 @@ msgstr "" #: selection:crm.lead2opportunity.partner.mass,action:0 #: selection:crm.partner.binding,action:0 msgid "Link to an existing customer" -msgstr "" +msgstr "เชื่อมโยงกับลูกค้าที่มีอยู่" #. module: crm #: field:crm.lead,write_date:0 @@ -413,7 +418,7 @@ msgstr "วันที่ปรับปรุง" #. module: crm #: field:crm.case.section,user_id:0 msgid "Team Leader" -msgstr "" +msgstr "หัวหน้าทีม" #. module: crm #: help:crm.case.stage,probability:0 @@ -435,10 +440,10 @@ msgstr "ประเภท" #. module: crm #: view:crm.lead.report:0 msgid "#Opportunities" -msgstr "" +msgstr "โอกาส" #. module: crm -#: code:addons/crm/crm_lead.py:624 +#: code:addons/crm/crm_lead.py:640 #, python-format msgid "" "Please select more than one element (lead or opportunity) from the list view." @@ -479,12 +484,12 @@ msgstr "" #: view:crm.phonecall.report:0 #: field:crm.phonecall.report,state:0 msgid "Status" -msgstr "" +msgstr "สถานะ" #. module: crm #: view:crm.lead2opportunity.partner:0 msgid "Create Opportunity" -msgstr "" +msgstr "สร้างโอกาส" #. module: crm #: view:sale.config.settings:0 @@ -504,7 +509,7 @@ msgstr "" #. module: crm #: model:mail.message.subtype,description:crm.mt_lead_stage msgid "Stage changed" -msgstr "" +msgstr "เปลี่ยนแปลงสถานะ" #. module: crm #: selection:crm.lead.report,creation_month:0 @@ -521,12 +526,12 @@ msgstr "ไม่ได้ทำงานอยู่" #. module: crm #: field:crm.lead.report,planned_revenue:0 msgid "Planned Revenue" -msgstr "" +msgstr "รายได้ตามแผน" #. module: crm #: field:crm.lead,planned_revenue:0 msgid "Expected Revenue" -msgstr "" +msgstr "เป้าหมายรายได้" #. module: crm #: selection:crm.lead.report,creation_month:0 @@ -560,7 +565,7 @@ msgstr "สรุป" #. module: crm #: view:crm.merge.opportunity:0 msgid "Merge" -msgstr "" +msgstr "รวม" #. module: crm #: model:email.template,subject:crm.email_template_opportunity_mail @@ -592,7 +597,7 @@ msgstr "" #. module: crm #: view:crm.phonecall.report:0 msgid "#Phone calls" -msgstr "" +msgstr "การโทร" #. module: crm #: sql_constraint:crm.case.section:0 @@ -609,7 +614,7 @@ msgstr "" #: view:crm.lead:0 #: selection:crm.lead,state:0 msgid "In Progress" -msgstr "" +msgstr "กำลังดำเนินการ" #. module: crm #: model:ir.actions.act_window,help:crm.crm_phonecall_categ_action @@ -640,7 +645,7 @@ msgstr "" #: field:crm.case.section,resource_calendar_id:0 #: model:ir.ui.menu,name:crm.menu_action_resource_calendar_form msgid "Working Time" -msgstr "" +msgstr "เวลาทำงาน" #. module: crm #: view:crm.segmentation.line:0 @@ -651,7 +656,7 @@ msgstr "" #: model:ir.actions.act_window,name:crm.action_report_crm_phonecall #: model:ir.ui.menu,name:crm.menu_report_crm_phonecalls_tree msgid "Phone Calls Analysis" -msgstr "" +msgstr "วิเคราะห์การใช้โทรศัพท์" #. module: crm #: view:crm.lead:0 @@ -667,17 +672,17 @@ msgstr "" #. module: crm #: field:crm.lead,company_currency:0 msgid "Currency" -msgstr "" +msgstr "สกุลเงิน" #. module: crm #: field:crm.lead.report,probable_revenue:0 msgid "Probable Revenue" -msgstr "" +msgstr "รายได้ที่น่าจะเป็น" #. module: crm #: help:crm.lead.report,creation_month:0 msgid "Creation month" -msgstr "" +msgstr "เดือนที่สร้าง" #. module: crm #: help:crm.segmentation,name:0 @@ -687,7 +692,7 @@ msgstr "" #. module: crm #: field:crm.case.stage,probability:0 msgid "Probability (%)" -msgstr "" +msgstr "คาดว่า" #. module: crm #: sql_constraint:crm.lead:0 @@ -697,15 +702,15 @@ msgstr "" #. module: crm #: view:crm.lead:0 msgid "Leads Generation" -msgstr "" +msgstr "การสร้างเป้าหมาย" #. module: crm #: view:board.board:0 msgid "Statistics Dashboard" -msgstr "" +msgstr "แดชบอร์ดสถิติ" #. module: crm -#: code:addons/crm/crm_lead.py:861 +#: code:addons/crm/crm_lead.py:878 #: model:crm.case.stage,name:crm.stage_lead2 #: selection:crm.case.stage,type:0 #: view:crm.lead:0 @@ -716,37 +721,37 @@ msgstr "" #: field:res.partner,opportunity_count:0 #, python-format msgid "Opportunity" -msgstr "" +msgstr "โอกาส" #. module: crm #: model:crm.case.resource.type,name:crm.type_lead7 msgid "Television" -msgstr "" +msgstr "โทรทัศน์" #. module: crm #: model:ir.actions.act_window,name:crm.action_crm_send_mass_convert msgid "Convert to opportunities" -msgstr "" +msgstr "แปลงเป็นโอกาส" #. module: crm #: model:ir.model,name:crm.model_sale_config_settings msgid "sale.config.settings" -msgstr "" +msgstr "ตั้งค่าระบบงานขาย" #. module: crm #: view:crm.segmentation:0 msgid "Stop Process" -msgstr "" +msgstr "หยุดการทำงาน" #. module: crm #: field:crm.case.section,alias_id:0 msgid "Alias" -msgstr "" +msgstr "ชื่อแทน" #. module: crm #: view:crm.phonecall:0 msgid "Search Phonecalls" -msgstr "" +msgstr "ค้นหาการโทรศัพท์" #. module: crm #: view:crm.lead.report:0 @@ -757,15 +762,15 @@ msgstr "" #. module: crm #: field:calendar.attendee,categ_id:0 msgid "Event Type" -msgstr "" +msgstr "ชนิดเหตุการณ์" #. module: crm #: field:crm.segmentation,exclusif:0 msgid "Exclusive" -msgstr "" +msgstr "พิเศษ" #. module: crm -#: code:addons/crm/crm_lead.py:584 +#: code:addons/crm/crm_lead.py:600 #, python-format msgid "From %s : %s" msgstr "" @@ -773,7 +778,7 @@ msgstr "" #. module: crm #: view:crm.lead2opportunity.partner.mass:0 msgid "Convert to Opportunities" -msgstr "" +msgstr "แปลงเป็นโอกาส" #. module: crm #: view:crm.lead2opportunity.partner:0 @@ -782,18 +787,18 @@ msgstr "" #: view:crm.opportunity2phonecall:0 #: view:crm.phonecall2phonecall:0 msgid "or" -msgstr "" +msgstr "หรือ" #. module: crm #: field:crm.lead.report,create_date:0 #: field:crm.phonecall.report,create_date:0 msgid "Create Date" -msgstr "" +msgstr "วันที่สร้าง" #. module: crm #: field:crm.lead,ref2:0 msgid "Reference 2" -msgstr "" +msgstr "อ้างอิงที่ 2" #. module: crm #: help:crm.case.stage,section_ids:0 @@ -801,22 +806,24 @@ msgid "" "Link between stages and sales teams. When set, this limitate the current " "stage to the selected sales teams." msgstr "" +"เชื่อมโยงระหว่างสถานะและทีมขาย " +"เมื่อตั้งแล้วจะจำกัดสถานะปัจจุบันสำหรับทีมขายที่เลือก" #. module: crm #: view:crm.case.stage:0 #: field:crm.case.stage,requirements:0 msgid "Requirements" -msgstr "" +msgstr "ความต้องการ" #. module: crm #: field:crm.lead,zip:0 msgid "Zip" -msgstr "" +msgstr "รหัสไปรษณีย์" #. module: crm #: view:crm.phonecall:0 msgid "Unassigned Phonecalls" -msgstr "" +msgstr "การโทรศัพท์ที่ไม่ได้กำหนดใด ๆ" #. module: crm #: view:crm.lead:0 @@ -829,17 +836,17 @@ msgstr "" #: model:process.node,name:crm.process_node_opportunities0 #: view:res.partner:0 msgid "Opportunities" -msgstr "" +msgstr "โอกาส" #. module: crm #: field:crm.segmentation,categ_id:0 msgid "Partner Category" -msgstr "" +msgstr "ประเภทบริษัทคู่ค้า" #. module: crm #: field:crm.lead,probability:0 msgid "Success Rate (%)" -msgstr "" +msgstr "อัตราการสำเสร็จ" #. module: crm #: field:crm.segmentation,sales_purchase_active:0 @@ -849,12 +856,12 @@ msgstr "" #. module: crm #: model:crm.case.categ,name:crm.categ_phone2 msgid "Outbound" -msgstr "" +msgstr "ขาออก" #. module: crm #: view:crm.lead:0 msgid "Mark Won" -msgstr "" +msgstr "เราทำได้สำเร็จ" #. module: crm #: model:ir.filters,name:crm.filter_usa_lead @@ -864,24 +871,24 @@ msgstr "" #. module: crm #: view:crm.lead:0 msgid "Mark Lost" -msgstr "" +msgstr "เราไม่สามารถทำได้" #. module: crm #: model:ir.filters,name:crm.filter_draft_lead msgid "Draft Leads" -msgstr "" +msgstr "โอกาสที่ยังเป็นฉบับร่าง" #. module: crm #: selection:crm.lead.report,creation_month:0 #: selection:crm.lead.report,deadline_month:0 #: selection:crm.phonecall.report,month:0 msgid "March" -msgstr "" +msgstr "มีนาคม" #. module: crm #: view:crm.lead:0 msgid "Send Email" -msgstr "" +msgstr "ส่งอีเมล" #. module: crm #: code:addons/crm/wizard/crm_lead_to_opportunity.py:89 @@ -892,18 +899,18 @@ msgstr "คำเตือน !" #. module: crm #: field:crm.lead,day_open:0 msgid "Days to Open" -msgstr "" +msgstr "วันที่จะเปิด" #. module: crm #: field:crm.lead,mobile:0 #: field:crm.phonecall,partner_mobile:0 msgid "Mobile" -msgstr "" +msgstr "มือถือ" #. module: crm #: field:crm.lead,ref:0 msgid "Reference" -msgstr "" +msgstr "อ้างอิง" #. module: crm #: view:crm.lead:0 @@ -923,17 +930,17 @@ msgstr "" #: view:res.partner:0 #: field:res.partner,meeting_ids:0 msgid "Meetings" -msgstr "" +msgstr "การประชุม" #. module: crm #: field:crm.lead,date_action_next:0 #: field:crm.lead,title_action:0 #: field:crm.phonecall,date_action_next:0 msgid "Next Action" -msgstr "" +msgstr "การกระทำต่อไป" #. module: crm -#: code:addons/crm/crm_lead.py:763 +#: code:addons/crm/crm_lead.py:780 #, python-format msgid "Partner set to %s." msgstr "" @@ -943,22 +950,22 @@ msgstr "" #: selection:crm.phonecall,state:0 #: selection:crm.phonecall.report,state:0 msgid "Draft" -msgstr "" +msgstr "ฉบับร่าง" #. module: crm #: view:crm.segmentation:0 msgid "Partner Segmentations" -msgstr "" +msgstr "การจำแนกคู่ค้า" #. module: crm #: view:crm.lead.report:0 msgid "Show only opportunity" -msgstr "" +msgstr "แสดงโอกาสเท่านั้น" #. module: crm #: field:crm.lead,name:0 msgid "Subject" -msgstr "" +msgstr "ชื่อเรื่อง" #. module: crm #: view:crm.lead:0 @@ -968,7 +975,7 @@ msgstr "" #. module: crm #: view:crm.lead:0 msgid "Show Sales Team" -msgstr "" +msgstr "แสดงทีมขาย" #. module: crm #: help:sale.config.settings,module_crm_claim:0 @@ -981,7 +988,7 @@ msgstr "" #: model:crm.case.stage,name:crm.stage_lead6 #: view:crm.lead:0 msgid "Won" -msgstr "" +msgstr "ชนะ" #. module: crm #: field:crm.lead.report,delay_expected:0 @@ -991,7 +998,7 @@ msgstr "" #. module: crm #: model:crm.case.section,name:crm.section_sales_department msgid "Sales Department" -msgstr "" +msgstr "ฝ่ายขาย" #. module: crm #: field:crm.case.stage,type:0 @@ -999,7 +1006,7 @@ msgstr "" #: field:crm.lead.report,type:0 #: view:crm.opportunity2phonecall:0 msgid "Type" -msgstr "" +msgstr "ประเภท" #. module: crm #: view:crm.segmentation:0 @@ -1012,7 +1019,7 @@ msgstr "" #: selection:crm.phonecall,priority:0 #: selection:crm.phonecall.report,priority:0 msgid "Lowest" -msgstr "" +msgstr "ต่ำสุด" #. module: crm #: field:crm.lead,create_date:0 @@ -1020,18 +1027,18 @@ msgstr "" #: field:crm.phonecall,create_date:0 #: field:crm.phonecall.report,creation_date:0 msgid "Creation Date" -msgstr "" +msgstr "วันที่สร้าง" #. module: crm -#: code:addons/crm/crm_lead.py:698 +#: code:addons/crm/crm_lead.py:715 #, python-format msgid "Lead converted into an Opportunity" -msgstr "" +msgstr "แปลงเป้าหมายเป็นโอกาสแล้ว" #. module: crm #: selection:crm.segmentation.line,expr_name:0 msgid "Purchase Amount" -msgstr "" +msgstr "จำนวนที่สั่งซื้อ" #. module: crm #: view:crm.phonecall.report:0 @@ -1045,22 +1052,22 @@ msgstr "" #: view:crm.lead.report:0 #: field:crm.lead.report,stage_id:0 msgid "Stage" -msgstr "" +msgstr "สถานะ" #. module: crm #: view:crm.phonecall.report:0 msgid "Phone Calls that are assigned to me" -msgstr "" +msgstr "การโทรที่ได้รับมอบหมาย" #. module: crm #: field:crm.lead,user_login:0 msgid "User Login" -msgstr "" +msgstr "ผู้ใช้เข้าสู่ระบบ" #. module: crm #: view:crm.phonecall.report:0 msgid "Phone calls which are in pending state" -msgstr "" +msgstr "การโทรที่ค้างอยู่" #. module: crm #: view:crm.case.section:0 @@ -1070,7 +1077,7 @@ msgstr "" #: model:ir.actions.act_window,name:crm.crm_lead_stage_act #: model:ir.ui.menu,name:crm.menu_crm_lead_stage_act msgid "Stages" -msgstr "" +msgstr "ขั้นตอน" #. module: crm #: help:sale.config.settings,module_crm_helpdesk:0 @@ -1082,12 +1089,12 @@ msgstr "" #. module: crm #: view:crm.lead:0 msgid "Delete" -msgstr "" +msgstr "ลบ" #. module: crm #: model:mail.message.subtype,description:crm.mt_lead_create msgid "Opportunity created" -msgstr "" +msgstr "โอกาสได้ถูกสร้างแล้ว" #. module: crm #: view:crm.lead:0 @@ -1099,7 +1106,7 @@ msgstr "" #: selection:crm.lead.report,deadline_month:0 #: selection:crm.phonecall.report,month:0 msgid "September" -msgstr "" +msgstr "กันยายน" #. module: crm #: model:ir.actions.act_window,help:crm.crm_case_category_act_oppor11 @@ -1127,7 +1134,7 @@ msgstr "" msgid "" "Setting this stage will change the probability automatically on the " "opportunity." -msgstr "" +msgstr "การตั้งค่าในขั้นตอนนี้จะเปลี่ยนความน่าจะเป็นโดยอัตโนมัติเมื่อมีโอกาส" #. module: crm #: view:crm.lead:0 @@ -1137,28 +1144,28 @@ msgstr "" #. module: crm #: model:ir.ui.menu,name:crm.menu_crm_payment_mode_act msgid "Payment Modes" -msgstr "" +msgstr "รูปแบบการชำระเงิน" #. module: crm #: field:crm.lead.report,opening_date:0 #: field:crm.phonecall.report,opening_date:0 msgid "Opening Date" -msgstr "" +msgstr "วันที่เปิด" #. module: crm #: help:crm.phonecall,duration:0 msgid "Duration in Minutes" -msgstr "" +msgstr "ระยะเวลา (นาที)" #. module: crm #: field:crm.case.channel,name:0 msgid "Channel Name" -msgstr "" +msgstr "ช่องทาง" #. module: crm #: help:crm.lead.report,deadline_day:0 msgid "Expected closing day" -msgstr "" +msgstr "วันที่คาดว่าจะปิด" #. module: crm #: help:crm.case.section,active:0 @@ -1166,6 +1173,8 @@ msgid "" "If the active field is set to true, it will allow you to hide the sales team " "without removing it." msgstr "" +"ถ้าเขตข้อมูลที่ใช้งานอยู่จะถูกกำหนดเป็นจริง " +"จะทำให้คุณสามารถซ่อนทีมขายโดยไม่ลบออก" #. module: crm #: help:crm.case.stage,case_default:0 @@ -1173,6 +1182,8 @@ msgid "" "If you check this field, this stage will be proposed by default on each " "sales team. It will not assign this stage to existing teams." msgstr "" +"หากเลือกตัวเลือกนี้ ในขั้นตอนนี้จะได้รับการเสนอโดยเริ่มต้นในแต่ละทีมขาย " +"มันจะไม่ได้กำหนดในขั้นตอนนี้ไปยังทีมงานที่มีอยู่" #. module: crm #: help:crm.case.stage,type:0 @@ -1185,7 +1196,7 @@ msgstr "" #: model:mail.message.subtype,name:crm.mt_lead_create #: model:mail.message.subtype,name:crm.mt_salesteam_lead msgid "Lead Created" -msgstr "" +msgstr "เป้าหมายถูกสร้างแล้ว" #. module: crm #: help:crm.segmentation,sales_purchase_active:0 @@ -1197,29 +1208,31 @@ msgstr "" #. module: crm #: field:crm.segmentation,state:0 msgid "Execution Status" -msgstr "" +msgstr "สถานะการทำงาน" #. module: crm #: view:crm.opportunity2phonecall:0 msgid "Log call" -msgstr "" +msgstr "บันทึกการโทร" #. module: crm #: field:crm.lead,day_close:0 msgid "Days to Close" -msgstr "" +msgstr "วันที่จะปิด" #. module: crm +#: code:addons/crm/crm_lead.py:1057 #: field:crm.case.section,complete_name:0 +#, python-format msgid "unknown" -msgstr "" +msgstr "ไม่มีข้อมูล" #. module: crm #: field:crm.case.section,message_is_follower:0 #: field:crm.lead,message_is_follower:0 #: field:crm.phonecall,message_is_follower:0 msgid "Is a Follower" -msgstr "" +msgstr "เป็นผู้ติดตาม" #. module: crm #: field:crm.opportunity2phonecall,date:0 @@ -1227,28 +1240,28 @@ msgstr "" #: field:crm.phonecall,date:0 #: field:crm.phonecall2phonecall,date:0 msgid "Date" -msgstr "" +msgstr "วันที่" #. module: crm #: model:crm.case.section,name:crm.crm_case_section_4 msgid "Online Support" -msgstr "" +msgstr "การสนับสนุนออนไลน์" #. module: crm #: view:crm.lead.report:0 #: view:crm.phonecall.report:0 msgid "Extended Filters..." -msgstr "" +msgstr "ตัวกรองเพิ่มเติม" #. module: crm #: view:crm.phonecall.report:0 msgid "Phone calls which are in closed state" -msgstr "" +msgstr "การโทรที่ปิดแล้ว" #. module: crm #: view:crm.phonecall.report:0 msgid "Search" -msgstr "" +msgstr "ค้นหา" #. module: crm #: help:crm.lead,state:0 @@ -1262,12 +1275,12 @@ msgstr "" #. module: crm #: model:crm.case.section,name:crm.crm_case_section_1 msgid "Sales Marketing Department" -msgstr "" +msgstr "ฝ่ายขายและการตลาด" #. module: crm #: view:crm.phonecall.report:0 msgid "Date of call" -msgstr "" +msgstr "วันที่โทร" #. module: crm #: help:crm.lead,section_id:0 @@ -1293,45 +1306,45 @@ msgid "Lead Description" msgstr "" #. module: crm -#: code:addons/crm/crm_lead.py:565 +#: code:addons/crm/crm_lead.py:581 #, python-format msgid "Merged opportunities" -msgstr "" +msgstr "โอกาสที่รวมแล้ว" #. module: crm #: model:crm.case.categ,name:crm.categ_oppor7 msgid "Consulting" -msgstr "" +msgstr "ให้คำปรึกษา" #. module: crm #: field:crm.case.section,code:0 msgid "Code" -msgstr "" +msgstr "รหัส" #. module: crm #: view:sale.config.settings:0 msgid "Features" -msgstr "" +msgstr "คุณสมบัติ" #. module: crm #: field:crm.case.section,child_ids:0 msgid "Child Teams" -msgstr "" +msgstr "ทีมลูก" #. module: crm #: view:crm.phonecall.report:0 msgid "Phone calls which are in draft and open state" -msgstr "" +msgstr "การโทรที่เป็นฉบับร่างและเปิด" #. module: crm #: field:crm.lead2opportunity.partner.mass,user_ids:0 msgid "Salesmen" -msgstr "" +msgstr "พนักงานขาย" #. module: crm #: view:crm.lead:0 msgid "References" -msgstr "" +msgstr "อ้างอิง" #. module: crm #: view:crm.lead2opportunity.partner:0 @@ -1341,7 +1354,7 @@ msgstr "" #: view:crm.phonecall:0 #: view:crm.phonecall2phonecall:0 msgid "Cancel" -msgstr "" +msgstr "ยกเลิก" #. module: crm #: view:crm.lead:0 @@ -1351,7 +1364,7 @@ msgstr "" #. module: crm #: model:crm.case.categ,name:crm.categ_oppor4 msgid "Information" -msgstr "" +msgstr "ข้อมูล" #. module: crm #: view:crm.lead.report:0 @@ -1361,36 +1374,36 @@ msgstr "" #. module: crm #: view:crm.phonecall:0 msgid "To Do" -msgstr "" +msgstr "สิ่งที่จะทำ" #. module: crm #: model:mail.message.subtype,description:crm.mt_lead_lost msgid "Opportunity lost" -msgstr "" +msgstr "โอกาสที่พลาด" #. module: crm #: field:crm.lead2opportunity.partner,action:0 #: field:crm.lead2opportunity.partner.mass,action:0 #: field:crm.partner.binding,action:0 msgid "Related Customer" -msgstr "" +msgstr "ลูกค้าที่เกี่ยวข้อง" #. module: crm #: model:crm.case.categ,name:crm.categ_oppor8 msgid "Other" -msgstr "" +msgstr "อื่น ๆ" #. module: crm #: field:crm.phonecall,opportunity_id:0 #: model:ir.model,name:crm.model_crm_lead msgid "Lead/Opportunity" -msgstr "" +msgstr "เป้าหมาย / โอกาส" #. module: crm #: model:ir.actions.act_window,name:crm.action_merge_opportunities #: model:ir.actions.act_window,name:crm.merge_opportunity_act msgid "Merge leads/opportunities" -msgstr "" +msgstr "รวมเป้าหมาย / โอกาส" #. module: crm #: help:crm.case.stage,sequence:0 @@ -1400,7 +1413,7 @@ msgstr "" #. module: crm #: model:ir.actions.act_window,name:crm.crm_phonecall_categ_action msgid "Phonecall Categories" -msgstr "" +msgstr "ประเภทการโทร" #. module: crm #: view:crm.lead.report:0 @@ -1410,12 +1423,12 @@ msgstr "" #. module: crm #: model:ir.model,name:crm.model_res_users msgid "Users" -msgstr "" +msgstr "ผู้ใช้งาน" #. module: crm #: model:mail.message.subtype,name:crm.mt_lead_stage msgid "Stage Changed" -msgstr "" +msgstr "สถานะเปลี่ยนแปลง" #. module: crm #: field:crm.case.stage,section_ids:0 @@ -1431,18 +1444,18 @@ msgstr "" #: selection:crm.opportunity2phonecall,action:0 #: selection:crm.phonecall2phonecall,action:0 msgid "Log a call" -msgstr "" +msgstr "บันทึกการโทร" #. module: crm #: selection:crm.segmentation.line,expr_name:0 msgid "Sale Amount" -msgstr "" +msgstr "ยอดขาย" #. module: crm #: view:crm.phonecall.report:0 #: model:ir.actions.act_window,name:crm.act_crm_opportunity_crm_phonecall_new msgid "Phone calls" -msgstr "" +msgstr "การโทรศัพท์" #. module: crm #: model:ir.actions.act_window,help:crm.action_report_crm_opportunity @@ -1459,7 +1472,7 @@ msgstr "" #: field:crm.payment.mode,name:0 #: field:crm.segmentation,name:0 msgid "Name" -msgstr "" +msgstr "ชื่อ" #. module: crm #: view:crm.lead.report:0 @@ -1470,7 +1483,7 @@ msgstr "" #: field:crm.lead.report,date_closed:0 #: field:crm.phonecall.report,date_closed:0 msgid "Close Date" -msgstr "" +msgstr "วันปิด" #. module: crm #: view:crm.lead.report:0 @@ -1482,18 +1495,18 @@ msgstr "" #: help:crm.lead,message_ids:0 #: help:crm.phonecall,message_ids:0 msgid "Messages and communication history" -msgstr "" +msgstr "ข้อความและประวัติการติดต่อ" #. module: crm #: view:crm.lead:0 msgid "Show Countries" -msgstr "" +msgstr "แสดงประเทศ" #. module: crm #: view:crm.lead:0 #: view:crm.phonecall:0 msgid "Creation" -msgstr "" +msgstr "การสร้าง" #. module: crm #: selection:crm.lead,priority:0 @@ -1501,7 +1514,7 @@ msgstr "" #: selection:crm.phonecall,priority:0 #: selection:crm.phonecall.report,priority:0 msgid "High" -msgstr "" +msgstr "สูง" #. module: crm #: model:process.node,note:crm.process_node_partner0 @@ -1529,7 +1542,7 @@ msgstr "" #: view:crm.phonecall:0 #: view:crm.phonecall.report:0 msgid "Group By..." -msgstr "" +msgstr "จัดกลุ่มตาม..." #. module: crm #: view:crm.merge.opportunity:0 @@ -1598,7 +1611,7 @@ msgstr "" #. module: crm #: model:crm.case.categ,name:crm.categ_oppor3 msgid "Services" -msgstr "" +msgstr "บริการ" #. module: crm #: selection:crm.lead,priority:0 @@ -1606,7 +1619,7 @@ msgstr "" #: selection:crm.phonecall,priority:0 #: selection:crm.phonecall.report,priority:0 msgid "Highest" -msgstr "" +msgstr "สูงสุด" #. module: crm #: help:crm.lead.report,creation_year:0 @@ -1617,12 +1630,12 @@ msgstr "" #: view:crm.case.section:0 #: field:crm.lead,description:0 msgid "Notes" -msgstr "" +msgstr "บันทึก" #. module: crm #: field:crm.segmentation.line,expr_value:0 msgid "Value" -msgstr "" +msgstr "มูลค่า" #. module: crm #: field:crm.lead,partner_name:0 @@ -1632,12 +1645,12 @@ msgstr "" #. module: crm #: field:crm.case.section,reply_to:0 msgid "Reply-To" -msgstr "" +msgstr "ตอบกลับไปยัง" #. module: crm #: view:crm.lead:0 msgid "Display" -msgstr "" +msgstr "แสดงผล" #. module: crm #: view:board.board:0 @@ -1655,7 +1668,7 @@ msgstr "" #: model:ir.model,name:crm.model_crm_case_channel #: model:ir.ui.menu,name:crm.menu_crm_case_channel msgid "Channels" -msgstr "" +msgstr "ช่อง" #. module: crm #: view:crm.phonecall:0 @@ -1663,12 +1676,12 @@ msgstr "" #: view:crm.phonecall.report:0 #: selection:crm.phonecall.report,state:0 msgid "Held" -msgstr "" +msgstr "ถูกพักรอแล้ว" #. module: crm #: view:crm.lead:0 msgid "Extra Info" -msgstr "" +msgstr "ข้อมูลเพิ่มเติม" #. module: crm #: view:crm.lead:0 @@ -1678,7 +1691,7 @@ msgstr "" #. module: crm #: view:crm.lead:0 msgid "Edit..." -msgstr "" +msgstr "แก้ไข..." #. module: crm #: model:crm.case.resource.type,name:crm.type_lead5 @@ -1699,7 +1712,7 @@ msgstr "" #: view:crm.phonecall.report:0 #: field:crm.phonecall.report,priority:0 msgid "Priority" -msgstr "" +msgstr "ความสำคัญ" #. module: crm #: model:ir.model,name:crm.model_crm_lead2opportunity_partner @@ -1732,7 +1745,7 @@ msgstr "" #: model:ir.actions.act_window,name:crm.open_board_statistical_dash #: model:ir.ui.menu,name:crm.menu_board_statistics_dash msgid "CRM" -msgstr "" +msgstr "CRM" #. module: crm #: model:ir.actions.act_window,name:crm.crm_segmentation_tree-act @@ -1748,12 +1761,12 @@ msgstr "" #. module: crm #: model:crm.case.resource.type,name:crm.type_lead1 msgid "Telesales" -msgstr "" +msgstr "การขายทางโทรศัพท์" #. module: crm #: view:crm.lead:0 msgid "Leads Assigned to Me or My Team(s)" -msgstr "" +msgstr "เป้าหมายที่ได้รับมอบหมาย" #. module: crm #: model:ir.model,name:crm.model_crm_segmentation_line @@ -1764,17 +1777,17 @@ msgstr "" #: view:crm.opportunity2phonecall:0 #: view:crm.phonecall2phonecall:0 msgid "Planned Date" -msgstr "" +msgstr "วันที่ตามแผน" #. module: crm #: view:crm.lead:0 msgid "Expected Revenues" -msgstr "" +msgstr "รายได้ที่คาดหวัง" #. module: crm #: view:crm.lead:0 msgid "Referrer" -msgstr "" +msgstr "ที่อ้างถึง" #. module: crm #: help:crm.lead,type:0 @@ -1787,29 +1800,29 @@ msgstr "" #: selection:crm.lead.report,deadline_month:0 #: selection:crm.phonecall.report,month:0 msgid "July" -msgstr "" +msgstr "กรกฎาคม" #. module: crm #: view:crm.lead:0 msgid "Lead / Customer" -msgstr "" +msgstr "เป้าหมาย / ลูกค้า" #. module: crm #: model:crm.case.section,name:crm.crm_case_section_2 msgid "Support Department" -msgstr "" +msgstr "แผนกบริการ" #. module: crm #: view:crm.lead.report:0 msgid "Show only lead" -msgstr "" +msgstr "แสดงเฉพาะเป้าหมาย" #. module: crm #: model:ir.actions.act_window,name:crm.crm_case_section_act #: model:ir.model,name:crm.model_crm_case_section #: model:ir.ui.menu,name:crm.menu_crm_case_section_act msgid "Sales Teams" -msgstr "" +msgstr "ทีมขาย" #. module: crm #: field:crm.case.stage,case_default:0 @@ -1819,7 +1832,7 @@ msgstr "" #. module: crm #: view:crm.lead:0 msgid "Team" -msgstr "" +msgstr "ทีม" #. module: crm #: view:crm.lead.report:0 @@ -1835,14 +1848,14 @@ msgstr "" #. module: crm #: field:crm.lead.report,probability:0 msgid "Probability" -msgstr "" +msgstr "ความน่าจะเป็น" #. module: crm #: view:crm.lead.report:0 #: view:crm.phonecall.report:0 #: field:crm.phonecall.report,month:0 msgid "Month" -msgstr "" +msgstr "เดือน" #. module: crm #: view:crm.lead:0 @@ -1850,18 +1863,18 @@ msgstr "" #: model:ir.ui.menu,name:crm.menu_crm_leads #: model:process.node,name:crm.process_node_leads0 msgid "Leads" -msgstr "" +msgstr "เป้าหมาย" #. module: crm -#: code:addons/crm/crm_lead.py:563 +#: code:addons/crm/crm_lead.py:579 #, python-format msgid "Merged leads" -msgstr "" +msgstr "รวมเป้าหมาย" #. module: crm #: model:crm.case.categ,name:crm.categ_oppor5 msgid "Design" -msgstr "" +msgstr "ออกแบบ" #. module: crm #: selection:crm.lead2opportunity.partner,name:0 @@ -1873,18 +1886,18 @@ msgstr "" #: view:crm.phonecall.report:0 #: selection:crm.phonecall.report,state:0 msgid "Todo" -msgstr "" +msgstr "สิ่งที่จะทำ" #. module: crm #: model:mail.message.subtype,name:crm.mt_lead_convert_to_opportunity #: model:mail.message.subtype,name:crm.mt_salesteam_lead_opportunity msgid "Lead to Opportunity" -msgstr "" +msgstr "เป้าหมายเป็นโอกาส" #. module: crm #: field:crm.lead,user_email:0 msgid "User Email" -msgstr "" +msgstr "อีเมลของผู้ใช้" #. module: crm #: help:crm.lead,partner_name:0 @@ -1897,7 +1910,7 @@ msgstr "" #: field:crm.opportunity2phonecall,note:0 #: field:crm.phonecall2phonecall,note:0 msgid "Note" -msgstr "" +msgstr "บันทึก" #. module: crm #: selection:crm.lead,priority:0 @@ -1905,7 +1918,7 @@ msgstr "" #: selection:crm.phonecall,priority:0 #: selection:crm.phonecall.report,priority:0 msgid "Low" -msgstr "" +msgstr "ต่ำ" #. module: crm #: selection:crm.case.stage,state:0 @@ -1915,7 +1928,7 @@ msgstr "" #: selection:crm.lead.report,state:0 #: field:crm.phonecall,date_closed:0 msgid "Closed" -msgstr "" +msgstr "ปิดแล้ว" #. module: crm #: view:crm.lead:0 @@ -1934,7 +1947,7 @@ msgstr "" #: selection:crm.lead.report,state:0 #: selection:crm.phonecall.report,state:0 msgid "Pending" -msgstr "" +msgstr "รอดำเนินการ" #. module: crm #: model:process.transition,name:crm.process_transition_leadopportunity0 @@ -1947,18 +1960,17 @@ msgid "Global CC" msgstr "" #. module: crm -#: view:crm.lead:0 #: view:crm.phonecall:0 #: model:ir.actions.act_window,name:crm.crm_case_categ_phone0 #: model:ir.ui.menu,name:crm.menu_crm_case_phone #: model:ir.ui.menu,name:crm.menu_crm_config_phonecall msgid "Phone Calls" -msgstr "" +msgstr "การโทร" #. module: crm #: view:crm.case.stage:0 msgid "Stage Search" -msgstr "" +msgstr "ค้นหาตามสถานะ" #. module: crm #: help:crm.lead.report,delay_open:0 @@ -1973,7 +1985,7 @@ msgstr "" #: field:crm.phonecall,partner_phone:0 #: field:crm.phonecall2phonecall,phone:0 msgid "Phone" -msgstr "" +msgstr "โทรศัพท์" #. module: crm #: field:crm.case.channel,active:0 @@ -1981,7 +1993,7 @@ msgstr "" #: field:crm.lead,active:0 #: field:crm.phonecall,active:0 msgid "Active" -msgstr "" +msgstr "เปิดใช้งาน" #. module: crm #: selection:crm.segmentation.line,operator:0 @@ -1991,7 +2003,7 @@ msgstr "" #. module: crm #: view:crm.lead:0 msgid "Send Mail" -msgstr "" +msgstr "ส่งเมล์" #. module: crm #: selection:crm.lead2opportunity.partner,action:0 @@ -2008,7 +2020,7 @@ msgstr "" #. module: crm #: model:crm.case.categ,name:crm.categ_oppor2 msgid "Software" -msgstr "" +msgstr "ซอฟต์แวร์" #. module: crm #: field:crm.case.section,change_responsible:0 @@ -2025,51 +2037,51 @@ msgstr "การวิเคราะห์โอกาส" #. module: crm #: view:crm.lead:0 msgid "Misc" -msgstr "" +msgstr "เบ็ดเตล็ด" #. module: crm #: view:crm.lead:0 #: view:crm.lead.report:0 #: selection:crm.lead.report,state:0 msgid "Open" -msgstr "" +msgstr "เปิด" #. module: crm #: view:crm.lead:0 #: field:crm.lead,city:0 msgid "City" -msgstr "" +msgstr "จังหวัด" #. module: crm #: selection:crm.case.stage,type:0 msgid "Both" -msgstr "" +msgstr "ทั้งสองอย่าง" #. module: crm #: view:crm.phonecall:0 msgid "Call Done" -msgstr "" +msgstr "โทรแล้ว" #. module: crm #: view:crm.phonecall:0 #: field:crm.phonecall,user_id:0 msgid "Responsible" -msgstr "" +msgstr "รับผิดชอบ" #. module: crm #: model:crm.case.section,name:crm.crm_case_section_3 msgid "Direct Marketing" -msgstr "" +msgstr "ขายตรง" #. module: crm #: model:crm.case.categ,name:crm.categ_oppor1 msgid "Product" -msgstr "" +msgstr "ผลิตภัณฑ์" #. module: crm #: field:crm.lead.report,creation_year:0 msgid "Creation Year" -msgstr "" +msgstr "ปีที่สร้าง" #. module: crm #: view:crm.lead2opportunity.partner.mass:0 @@ -2086,7 +2098,7 @@ msgstr "" #. module: crm #: view:crm.lead:0 msgid "Address" -msgstr "" +msgstr "ที่อยู่" #. module: crm #: help:crm.case.section,alias_id:0 @@ -2103,7 +2115,7 @@ msgstr "" #. module: crm #: view:crm.lead:0 msgid "Search Leads" -msgstr "" +msgstr "ค้นหา" #. module: crm #: view:crm.lead.report:0 @@ -2116,12 +2128,12 @@ msgstr "" #: model:ir.actions.act_window,name:crm.crm_case_categ_phone_outgoing0 #: model:ir.ui.menu,name:crm.menu_crm_case_phone_outbound msgid "Scheduled Calls" -msgstr "" +msgstr "การโทรที่ได้ววางแผนไว้" #. module: crm #: field:crm.lead,id:0 msgid "ID" -msgstr "" +msgstr "ID" #. module: crm #: help:crm.lead,type_id:0 @@ -2143,32 +2155,32 @@ msgstr "" #. module: crm #: view:crm.segmentation:0 msgid "Continue Process" -msgstr "" +msgstr "ทำงานต่อ" #. module: crm #: selection:crm.lead2opportunity.partner,name:0 #: selection:crm.lead2opportunity.partner.mass,name:0 #: model:ir.actions.act_window,name:crm.action_crm_lead2opportunity_partner msgid "Convert to opportunity" -msgstr "" +msgstr "แปลงเป็นโอกาส" #. module: crm #: field:crm.opportunity2phonecall,user_id:0 #: field:crm.phonecall2phonecall,user_id:0 msgid "Assign To" -msgstr "" +msgstr "มอบหมายถึง" #. module: crm #: field:crm.lead,date_action_last:0 #: field:crm.phonecall,date_action_last:0 msgid "Last Action" -msgstr "" +msgstr "การกระทำล่าสุด" #. module: crm #: field:crm.phonecall,duration:0 #: field:crm.phonecall.report,duration:0 msgid "Duration" -msgstr "" +msgstr "ระยะเวลา" #. module: crm #: model:ir.actions.act_window,help:crm.crm_case_categ_phone_outgoing0 @@ -2207,17 +2219,17 @@ msgstr "" #. module: crm #: model:crm.case.resource.type,name:crm.type_lead6 msgid "Banner Ads" -msgstr "" +msgstr "ป้ายโฆษณา" #. module: crm #: field:crm.merge.opportunity,opportunity_ids:0 msgid "Leads/Opportunities" -msgstr "" +msgstr "เป้าหมาย / โอกาส" #. module: crm #: field:crm.lead,fax:0 msgid "Fax" -msgstr "" +msgstr "แฟกซ์" #. module: crm #: field:crm.lead,company_id:0 @@ -2227,12 +2239,12 @@ msgstr "" #: view:crm.phonecall.report:0 #: field:crm.phonecall.report,company_id:0 msgid "Company" -msgstr "" +msgstr "บริษัท" #. module: crm #: selection:crm.segmentation,state:0 msgid "Running" -msgstr "" +msgstr "กำลังทำงานอยู่" #. module: crm #: model:mail.message.subtype,description:crm.mt_lead_convert_to_opportunity @@ -2242,50 +2254,50 @@ msgstr "" #. module: crm #: view:crm.lead:0 msgid "Unassigned Leads" -msgstr "" +msgstr "เป้าหมายที่ยังไม่ได้มีการมอบหมาย" #. module: crm #: model:mail.message.subtype,description:crm.mt_lead_won msgid "Opportunity won" -msgstr "" +msgstr "โอกาสสำเร็จแล้ว" #. module: crm #: field:crm.case.categ,object_id:0 msgid "Object Name" -msgstr "" +msgstr "ชื่อออปเจ็กต์" #. module: crm #: view:crm.phonecall:0 msgid "Phone Calls Assigned to Me or My Team(s)" -msgstr "" +msgstr "การโทรที่ได้รับมอบหมาย" #. module: crm #: view:crm.lead:0 msgid "Reset" -msgstr "" +msgstr "คืนค่าเดิม" #. module: crm #: view:sale.config.settings:0 msgid "After-Sale Services" -msgstr "" +msgstr "บริการหลังการขาย" #. module: crm #: field:crm.case.section,message_ids:0 #: field:crm.lead,message_ids:0 #: field:crm.phonecall,message_ids:0 msgid "Messages" -msgstr "" +msgstr "ข้อความ" #. module: crm #: help:crm.lead,channel_id:0 msgid "Communication channel (mail, direct, phone, ...)" -msgstr "" +msgstr "ช่องทางการติดต่อ (จดหมาย,โดยตรง,โทรศัพท์,...)" #. module: crm #: field:crm.opportunity2phonecall,name:0 #: field:crm.phonecall2phonecall,name:0 msgid "Call summary" -msgstr "" +msgstr "สรุปการโทร" #. module: crm #: selection:crm.case.stage,state:0 @@ -2294,12 +2306,12 @@ msgstr "" #: selection:crm.phonecall,state:0 #: selection:crm.phonecall.report,state:0 msgid "Cancelled" -msgstr "" +msgstr "ยกเลิกแล้ว" #. module: crm #: field:crm.lead,color:0 msgid "Color Index" -msgstr "" +msgstr "ดัชนีสี" #. module: crm #: model:ir.actions.act_window,help:crm.action_report_crm_phonecall @@ -2318,33 +2330,33 @@ msgstr "" #. module: crm #: field:crm.case.stage,state:0 msgid "Related Status" -msgstr "" +msgstr "สถานะที่เกี่ยวข้อง" #. module: crm #: field:crm.phonecall,name:0 msgid "Call Summary" -msgstr "" +msgstr "สรุปการโทร" #. module: crm #: field:crm.segmentation.line,expr_operator:0 msgid "Operator" -msgstr "" +msgstr "ผู้ปฏิบัติการ" #. module: crm #: view:crm.lead:0 #: model:ir.actions.act_window,name:crm.opportunity2phonecall_act msgid "Schedule/Log Call" -msgstr "" +msgstr "แผน/บันทึกการโทร" #. module: crm #: view:crm.merge.opportunity:0 msgid "Select Leads/Opportunities" -msgstr "" +msgstr "เลือกเป้าหมาย / โอกาส" #. module: crm #: selection:crm.phonecall,state:0 msgid "Confirmed" -msgstr "" +msgstr "ยืนยันแล้ว" #. module: crm #: model:ir.model,name:crm.model_crm_partner_binding @@ -2359,17 +2371,17 @@ msgstr "" #. module: crm #: view:crm.phonecall:0 msgid "Confirm" -msgstr "" +msgstr "ยืนยัน" #. module: crm #: view:crm.lead:0 msgid "Unread messages" -msgstr "" +msgstr "ข้อความที่ยังไม่ได้อ่าน" #. module: crm #: field:crm.phonecall.report,section_id:0 msgid "Section" -msgstr "" +msgstr "หัวข้อ" #. module: crm #: selection:crm.segmentation.line,operator:0 @@ -2381,7 +2393,7 @@ msgstr "" #: field:crm.lead,message_follower_ids:0 #: field:crm.phonecall,message_follower_ids:0 msgid "Followers" -msgstr "" +msgstr "ผู้ติดตาม" #. module: crm #: model:ir.actions.act_window,help:crm.crm_case_category_act_leads_all @@ -2404,14 +2416,14 @@ msgstr "" #. module: crm #: field:sale.config.settings,fetchmail_lead:0 msgid "Create leads from incoming mails" -msgstr "" +msgstr "สร้างเป้าหมายจากโทรศัพท์ที่เข้ามา" #. module: crm #: view:crm.lead:0 #: field:crm.lead,email_from:0 #: field:crm.phonecall,email_from:0 msgid "Email" -msgstr "" +msgstr "อีเมล" #. module: crm #: view:crm.case.channel:0 @@ -2420,19 +2432,19 @@ msgstr "" #: view:crm.lead.report:0 #: field:crm.lead.report,channel_id:0 msgid "Channel" -msgstr "" +msgstr "ช่องทาง" #. module: crm #: view:crm.opportunity2phonecall:0 #: view:crm.phonecall2phonecall:0 msgid "Schedule Call" -msgstr "" +msgstr "แผนการโทร" #. module: crm #: view:crm.lead.report:0 #: view:crm.phonecall.report:0 msgid "My Sales Team(s)" -msgstr "" +msgstr "ทีมขายของฉัน" #. module: crm #: help:crm.segmentation,exclusif:0 @@ -2446,12 +2458,12 @@ msgstr "" #. module: crm #: model:process.transition,note:crm.process_transition_leadopportunity0 msgid "Creating business opportunities from Leads" -msgstr "" +msgstr "สร้างโอกาสจากเป้าหมาย" #. module: crm #: model:crm.case.resource.type,name:crm.type_lead3 msgid "Email Campaign - Products" -msgstr "" +msgstr "อีเมลแคมเปญ - สินค้า" #. module: crm #: model:ir.actions.act_window,help:crm.crm_case_categ_phone_incoming0 @@ -2479,7 +2491,7 @@ msgstr "" #. module: crm #: view:res.partner:0 msgid "Calls" -msgstr "" +msgstr "การคุยสาย" #. module: crm #: field:crm.case.stage,on_change:0 @@ -2489,12 +2501,12 @@ msgstr "" #. module: crm #: view:crm.phonecall.report:0 msgid "My Phone Calls" -msgstr "" +msgstr "การโทรของฉัน" #. module: crm #: model:crm.case.stage,name:crm.stage_lead3 msgid "Qualification" -msgstr "" +msgstr "คุณสมบัติ" #. module: crm #: field:crm.lead2opportunity.partner,name:0 @@ -2522,13 +2534,13 @@ msgstr "" #: selection:crm.lead.report,deadline_month:0 #: selection:crm.phonecall.report,month:0 msgid "August" -msgstr "" +msgstr "สิงหาคม" #. module: crm #: model:mail.message.subtype,name:crm.mt_lead_lost #: model:mail.message.subtype,name:crm.mt_salesteam_lead_lost msgid "Opportunity Lost" -msgstr "" +msgstr "โอกาสที่ล้มเหลว" #. module: crm #: field:crm.lead.report,deadline_month:0 @@ -2540,12 +2552,12 @@ msgstr "" #: selection:crm.lead.report,deadline_month:0 #: selection:crm.phonecall.report,month:0 msgid "December" -msgstr "" +msgstr "ธันวาคม" #. module: crm #: view:crm.phonecall:0 msgid "Date of Call" -msgstr "" +msgstr "วันที่โทร" #. module: crm #: view:crm.lead:0 @@ -2566,7 +2578,7 @@ msgstr "" #. module: crm #: view:crm.lead:0 msgid "Schedule Meeting" -msgstr "" +msgstr "ตารางเวลาการประชุม" #. module: crm #: field:crm.lead.report,deadline_year:0 @@ -2582,24 +2594,24 @@ msgstr "" #: field:crm.lead,date_open:0 #: field:crm.phonecall,date_open:0 msgid "Opened" -msgstr "" +msgstr "เปิดแล้ว" #. module: crm #: view:crm.case.section:0 #: field:crm.case.section,member_ids:0 msgid "Team Members" -msgstr "" +msgstr "สมาชิกในทีม" #. module: crm #: view:crm.opportunity2phonecall:0 #: view:crm.phonecall2phonecall:0 msgid "Schedule/Log a Call" -msgstr "" +msgstr "ตาราง / บันทึกการโทร" #. module: crm #: field:crm.lead,planned_cost:0 msgid "Planned Costs" -msgstr "" +msgstr "ต้นทุนที่วางแผนไว้" #. module: crm #: help:crm.lead,date_deadline:0 @@ -2618,18 +2630,18 @@ msgstr "" #: model:ir.actions.act_window,name:crm.crm_case_categ_phone_incoming0 #: model:ir.ui.menu,name:crm.menu_crm_case_phone_inbound msgid "Logged Calls" -msgstr "" +msgstr "บันทึกการใช้โทรศัพท์" #. module: crm #: model:mail.message.subtype,name:crm.mt_lead_won #: model:mail.message.subtype,name:crm.mt_salesteam_lead_won msgid "Opportunity Won" -msgstr "" +msgstr "โอกาสสำเร็จแล้ว" #. module: crm #: model:ir.actions.act_window,name:crm.crm_case_section_act_tree msgid "Cases by Sales Team" -msgstr "" +msgstr "เรื่องโดยทีมขาย" #. module: crm #: view:crm.lead:0 @@ -2637,12 +2649,12 @@ msgstr "" #: model:ir.model,name:crm.model_crm_meeting #: model:process.node,name:crm.process_node_meeting0 msgid "Meeting" -msgstr "" +msgstr "การประชุม" #. module: crm #: model:ir.model,name:crm.model_crm_case_categ msgid "Category of Case" -msgstr "" +msgstr "หมวดของเรื่อง" #. module: crm #: view:board.board:0 @@ -2655,17 +2667,17 @@ msgstr "" #: selection:crm.phonecall,priority:0 #: selection:crm.phonecall.report,priority:0 msgid "Normal" -msgstr "" +msgstr "ปกติ" #. module: crm #: field:crm.lead,street2:0 msgid "Street2" -msgstr "" +msgstr "ตำบล" #. module: crm #: field:sale.config.settings,module_crm_helpdesk:0 msgid "Manage Helpdesk and Support" -msgstr "" +msgstr "จัดการการสนับสนุน" #. module: crm #: field:crm.lead.report,delay_open:0 @@ -2676,47 +2688,47 @@ msgstr "" #: field:crm.lead.report,user_id:0 #: field:crm.phonecall.report,user_id:0 msgid "User" -msgstr "" +msgstr "ผู้ใช้" #. module: crm #: selection:crm.lead.report,creation_month:0 #: selection:crm.lead.report,deadline_month:0 #: selection:crm.phonecall.report,month:0 msgid "November" -msgstr "" +msgstr "พฤศจิกายน" #. module: crm #: view:crm.lead.report:0 #: model:ir.actions.act_window,name:crm.act_opportunity_stage msgid "Opportunities By Stage" -msgstr "" +msgstr "โอกาสโดยขั้นตอน" #. module: crm #: selection:crm.lead.report,creation_month:0 #: selection:crm.lead.report,deadline_month:0 #: selection:crm.phonecall.report,month:0 msgid "January" -msgstr "" +msgstr "มกราคม" #. module: crm #: model:process.process,name:crm.process_process_contractprocess0 msgid "Contract" -msgstr "" +msgstr "สัญญา" #. module: crm #: model:crm.case.resource.type,name:crm.type_lead4 msgid "Twitter Ads" -msgstr "" +msgstr "โฆษณา Twitter" #. module: crm #: field:crm.lead.report,creation_day:0 msgid "Creation Day" -msgstr "" +msgstr "วันที่สร้าง" #. module: crm #: view:crm.lead.report:0 msgid "Planned Revenues" -msgstr "" +msgstr "เป้าหมายรายได้" #. module: crm #: view:crm.lead:0 @@ -2737,17 +2749,17 @@ msgstr "" #: selection:crm.opportunity2phonecall,action:0 #: selection:crm.phonecall2phonecall,action:0 msgid "Schedule a call" -msgstr "" +msgstr "วางแผนการโทร" #. module: crm #: view:crm.lead:0 msgid "Categorization" -msgstr "" +msgstr "การจัดประเภท" #. module: crm #: view:crm.phonecall2phonecall:0 msgid "Log Call" -msgstr "" +msgstr "บันทึกการโทร" #. module: crm #: help:sale.config.settings,group_fund_raising:0 @@ -2758,7 +2770,7 @@ msgstr "" #: field:crm.meeting,phonecall_id:0 #: model:ir.model,name:crm.model_crm_phonecall msgid "Phonecall" -msgstr "" +msgstr "การโทร" #. module: crm #: view:crm.phonecall.report:0 @@ -2768,12 +2780,12 @@ msgstr "" #. module: crm #: view:crm.lead:0 msgid "Create date" -msgstr "" +msgstr "วันที่สร้าง" #. module: crm #: view:crm.lead:0 msgid "at" -msgstr "" +msgstr "ที่" #. module: crm #: model:crm.case.stage,name:crm.stage_lead1 @@ -2782,19 +2794,19 @@ msgstr "" #: selection:crm.lead,state:0 #: view:crm.lead.report:0 msgid "New" -msgstr "" +msgstr "ใหม่" #. module: crm #: field:crm.lead,function:0 msgid "Function" -msgstr "" +msgstr "ฟังก์ชั่น" #. module: crm #: field:crm.case.section,note:0 #: field:crm.phonecall,description:0 #: field:crm.segmentation,description:0 msgid "Description" -msgstr "" +msgstr "รายละเอียด" #. module: crm #: field:crm.case.categ,section_id:0 @@ -2813,14 +2825,14 @@ msgstr "" #: field:crm.phonecall2phonecall,section_id:0 #: field:res.partner,section_id:0 msgid "Sales Team" -msgstr "" +msgstr "ทีมขาย" #. module: crm #: selection:crm.lead.report,creation_month:0 #: selection:crm.lead.report,deadline_month:0 #: selection:crm.phonecall.report,month:0 msgid "May" -msgstr "" +msgstr "พฤษภาคม" #. module: crm #: model:ir.actions.act_window,help:crm.crm_case_channel_action @@ -2842,27 +2854,27 @@ msgstr "" #. module: crm #: view:crm.lead:0 msgid "Internal Notes" -msgstr "" +msgstr "บันทึกภายใน" #. module: crm #: view:crm.lead:0 msgid "New Opportunities" -msgstr "" +msgstr "โอกาสใหม่" #. module: crm #: field:crm.segmentation.line,operator:0 msgid "Mandatory / Optional" -msgstr "" +msgstr "บังคับ / เพิ่มเติม" #. module: crm #: field:crm.lead,street:0 msgid "Street" -msgstr "" +msgstr "ที่อยู่" #. module: crm #: field:crm.lead,referred:0 msgid "Referred By" -msgstr "" +msgstr "อ้างอิงโดย" #. module: crm #: view:crm.phonecall:0 @@ -2872,35 +2884,35 @@ msgstr "" #. module: crm #: field:crm.case.section,working_hours:0 msgid "Working Hours" -msgstr "" +msgstr "ชั่วโมงทำงาน" #. module: crm -#: code:addons/crm/crm_lead.py:968 +#: code:addons/crm/crm_lead.py:986 #: view:crm.lead:0 #: field:crm.lead2opportunity.partner,partner_id:0 #: field:crm.lead2opportunity.partner.mass,partner_id:0 #: field:crm.partner.binding,partner_id:0 #, python-format msgid "Customer" -msgstr "" +msgstr "ลูกค้า" #. module: crm #: selection:crm.lead.report,creation_month:0 #: selection:crm.lead.report,deadline_month:0 #: selection:crm.phonecall.report,month:0 msgid "February" -msgstr "" +msgstr "กุมภาพันธ์" #. module: crm #: view:crm.phonecall:0 msgid "Schedule a Meeting" -msgstr "" +msgstr "วางแผนการประชุม" #. module: crm #: model:crm.case.stage,name:crm.stage_lead8 #: view:crm.lead:0 msgid "Lost" -msgstr "" +msgstr "ไม่สำเร็จ" #. module: crm #: code:addons/crm/wizard/crm_lead_to_opportunity.py:89 @@ -2914,7 +2926,7 @@ msgstr "" #: view:crm.lead.report:0 #: field:crm.lead.report,country_id:0 msgid "Country" -msgstr "" +msgstr "ประเทศ" #. module: crm #: view:crm.lead:0 @@ -2922,7 +2934,7 @@ msgstr "" #: view:crm.lead2opportunity.partner.mass:0 #: view:crm.phonecall:0 msgid "Convert to Opportunity" -msgstr "" +msgstr "แปลงเป็นโอกาส" #. module: crm #: help:crm.phonecall,email_from:0 @@ -2934,17 +2946,17 @@ msgstr "คนเหล่านี้จะได้รับอีเมล์ #: selection:crm.lead.report,deadline_month:0 #: selection:crm.phonecall.report,month:0 msgid "April" -msgstr "" +msgstr "เมษายน" #. module: crm #: field:crm.case.resource.type,name:0 msgid "Campaign Name" -msgstr "" +msgstr "ชื่อแคมเปญ" #. module: crm #: view:crm.segmentation:0 msgid "Profiling" -msgstr "" +msgstr "ทำประวัติย่อ" #. module: crm #: model:ir.model,name:crm.model_crm_phonecall_report @@ -2954,7 +2966,7 @@ msgstr "" #. module: crm #: model:crm.case.stage,name:crm.stage_lead5 msgid "Negotiation" -msgstr "" +msgstr "กำลังเจรจา" #. module: crm #: model:ir.model,name:crm.model_crm_phonecall2phonecall @@ -2964,40 +2976,40 @@ msgstr "" #. module: crm #: field:crm.case.stage,sequence:0 msgid "Sequence" -msgstr "" +msgstr "ลำดับ" #. module: crm #: field:crm.segmentation.line,expr_name:0 msgid "Control Variable" -msgstr "" +msgstr "ตัวแปรควบคุม" #. module: crm #: model:crm.case.stage,name:crm.stage_lead4 msgid "Proposition" -msgstr "" +msgstr "ข้อเสนอ" #. module: crm #: view:crm.phonecall:0 #: field:res.partner,phonecall_ids:0 msgid "Phonecalls" -msgstr "" +msgstr "การโทร" #. module: crm #: view:crm.lead.report:0 #: view:crm.phonecall.report:0 #: field:crm.phonecall.report,name:0 msgid "Year" -msgstr "" +msgstr "ปี" #. module: crm #: model:crm.case.resource.type,name:crm.type_lead8 msgid "Newsletter" -msgstr "" +msgstr "ข่าวสาร" #. module: crm #: model:mail.message.subtype,name:crm.mt_salesteam_lead_stage msgid "Opportunity Stage Changed" -msgstr "" +msgstr "เปลี่ยนสถานะของโอกาสแล้ว" #. module: crm #: model:ir.actions.act_window,help:crm.crm_lead_stage_act diff --git a/addons/email_template/__init__.py b/addons/email_template/__init__.py index d1cf5b28431..3f091fd8645 100644 --- a/addons/email_template/__init__.py +++ b/addons/email_template/__init__.py @@ -22,5 +22,6 @@ import email_template import wizard import res_partner +import ir_actions # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/email_template/__openerp__.py b/addons/email_template/__openerp__.py index 1dc3baaf63c..b7977660134 100644 --- a/addons/email_template/__openerp__.py +++ b/addons/email_template/__openerp__.py @@ -59,6 +59,7 @@ campaigns on any OpenERP document. 'wizard/email_template_preview_view.xml', 'email_template_view.xml', 'res_partner_view.xml', + 'ir_actions_view.xml', 'wizard/mail_compose_message_view.xml', 'security/ir.model.access.csv' ], diff --git a/addons/email_template/doc/changelog.rst b/addons/email_template/doc/changelog.rst new file mode 100644 index 00000000000..77e342c920a --- /dev/null +++ b/addons/email_template/doc/changelog.rst @@ -0,0 +1,12 @@ +.. _changelog: + +Changelog +========= + +`trunk (saas-2)` +---------------- + + - ``mail.compose.message``: added support of ``mail_server_id`` from template + - Server action update + + - added `email` server action type, now entirely based on email templates. \ No newline at end of file diff --git a/addons/email_template/doc/index.rst b/addons/email_template/doc/index.rst new file mode 100644 index 00000000000..58cf9413601 --- /dev/null +++ b/addons/email_template/doc/index.rst @@ -0,0 +1,13 @@ +Email Template module documentation +=================================== + +Email Template documentation topics +''''''''''''''''''''''''''''''''''' + +Changelog +''''''''' + +.. toctree:: + :maxdepth: 1 + + changelog.rst diff --git a/addons/email_template/ir_actions.py b/addons/email_template/ir_actions.py new file mode 100644 index 00000000000..bd860785da4 --- /dev/null +++ b/addons/email_template/ir_actions.py @@ -0,0 +1,86 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# OpenERP, Open Source Business Applications +# Copyright (c) 2013 OpenERP S.A. +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# +############################################################################## + +from openerp.osv import fields, osv + + +class actions_server(osv.Model): + """ Add email option in server actions. """ + _name = 'ir.actions.server' + _inherit = ['ir.actions.server'] + + def _get_states(self, cr, uid, context=None): + res = super(actions_server, self)._get_states(cr, uid, context=context) + res.insert(0, ('email', 'Send Email')) + return res + + _columns = { + 'email_from': fields.char('From', + help="Sender address; define the template to see its value. If not set, the default " + "value will be the author's email alias if configured, or email address."), + 'email_to': fields.char('To (Emails)', + help="Comma-separated recipient addresses; define the template to see its value"), + 'partner_to': fields.char('To (Partners)', + help="Comma-separated ids of recipient partners; define the template to see its value"), + 'subject': fields.char('Subject', + help="Email subject; define the template to see its value"), + 'body_html': fields.text('Body', + help="Rich-text/HTML version of the message; define the template to see its value"), + 'template_id': fields.many2one('email.template', 'Email Template', ondelete='set null', + help="Define the email template to use for the email to send.") + } + + def on_change_template_id(self, cr, uid, ids, template_id, context=None): + """ Render the raw template in the server action fields. """ + if template_id: + fields = ['subject', 'body_html', 'email_from', 'email_to', 'partner_to', 'email_cc', 'reply_to', 'attachment_ids'] + template_values = self.pool.get('email.template').read(cr, uid, template_id, fields, context) + values = dict((field, template_values[field]) for field in fields if template_values.get(field)) + if not values.get('email_from'): + return {'warning': {'title': 'Incomplete template', 'message': 'Your template should define email_from'}, 'value': values} + else: + values = self.default_get(cr, uid, ['subject', 'body_html', 'email_from', 'email_to', 'partner_to'], context=context) + + return {'value': values} + + def create(self, cr, uid, values, context=None): + if values.get('template_id'): + fields = ['subject', 'body_html', 'email_from', 'email_to', 'partner_to', 'email_cc', 'reply_to', 'attachment_ids'] + template_values = self.pool.get('email.template').read(cr, uid, values.get('template_id'), fields, context) + values.update(dict((field, template_values[field]) for field in fields if template_values.get(field))) + return super(actions_server, self).create(cr, uid, values, context=context) + + def write(self, cr, uid, ids, values, context=None): + if values.get('template_id'): + fields = ['subject', 'body_html', 'email_from', 'email_to', 'partner_to', 'email_cc', 'reply_to', 'attachment_ids'] + template_values = self.pool.get('email.template').read(cr, uid, values.get('template_id'), fields, context) + values.update(dict((field, template_values[field]) for field in fields if template_values.get(field))) + return super(actions_server, self).write(cr, uid, ids, values, context=context) + + def run_action_email(self, cr, uid, action, eval_context=None, context=None): + if not action.template_id or not context.get('active_id'): + return False + self.pool['email.template'].send_mail(cr, uid, action.template_id.id, context.get('active_id'), + force_send=False, raise_exception=False, context=context) + return False + + +# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/email_template/ir_actions_view.xml b/addons/email_template/ir_actions_view.xml new file mode 100644 index 00000000000..fae9c364312 --- /dev/null +++ b/addons/email_template/ir_actions_view.xml @@ -0,0 +1,49 @@ + + + + + + ir.actions.server.form + ir.actions.server + + + + +

+ Please set the Base Model before setting the action details. +

+ + +

+ Choose a template to display its values. +

+

+ The values displayed hereunder are informative. When sending the email, the values + will be taken from the email template. +

+
+ + +
+
+
+
+ +
+
diff --git a/addons/email_template/tests/__init__.py b/addons/email_template/tests/__init__.py index d63c5634cc3..9418985b06c 100644 --- a/addons/email_template/tests/__init__.py +++ b/addons/email_template/tests/__init__.py @@ -18,10 +18,11 @@ # along with this program. If not, see . # ############################################################################## -from . import test_mail +from . import test_mail, test_ir_actions checks = [ test_mail, + test_ir_actions, ] # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: \ No newline at end of file diff --git a/addons/email_template/tests/test_ir_actions.py b/addons/email_template/tests/test_ir_actions.py new file mode 100644 index 00000000000..d323ee36c1f --- /dev/null +++ b/addons/email_template/tests/test_ir_actions.py @@ -0,0 +1,55 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# OpenERP, Open Source Business Applications +# Copyright (c) 2013-TODAY OpenERP S.A. +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# +############################################################################## + +from openerp.addons.base.tests.test_ir_actions import TestServerActionsBase + + +class TestServerActionsEmail(TestServerActionsBase): + + def test_00_state_email(self): + """ Test ir.actions.server email type """ + cr, uid = self.cr, self.uid + + # create email_template + template_id = self.registry('email.template').create(cr, uid, { + 'name': 'TestTemplate', + 'email_from': 'myself@example.com', + 'email_to': 'brigitte@example.com', + 'partner_to': '[%s]' % self.test_partner_id, + 'model_id': self.res_partner_model_id, + 'subject': 'About ${object.name}', + 'body_html': '

Dear ${object.name}, your parent is ${object.parent_id and object.parent_id.name or "False"}

', + }) + + self.ir_actions_server.write(cr, uid, self.act_id, { + 'state': 'email', + 'template_id': template_id, + }) + run_res = self.ir_actions_server.run(cr, uid, [self.act_id], context=self.context) + self.assertFalse(run_res, 'ir_actions_server: email server action correctly finished should return False') + + # check an email is waiting for sending + mail_ids = self.registry('mail.mail').search(cr, uid, [('subject', '=', 'About TestingPartner')]) + self.assertEqual(len(mail_ids), 1, 'ir_actions_server: TODO') + # check email content + mail = self.registry('mail.mail').browse(cr, uid, mail_ids[0]) + self.assertEqual(mail.body, '

Dear TestingPartner, your parent is False

', + 'ir_actions_server: TODO') diff --git a/addons/email_template/wizard/mail_compose_message.py b/addons/email_template/wizard/mail_compose_message.py index 746c2cc55f6..92bf7c3aedf 100644 --- a/addons/email_template/wizard/mail_compose_message.py +++ b/addons/email_template/wizard/mail_compose_message.py @@ -22,6 +22,7 @@ from openerp import tools from openerp.osv import osv, fields + def _reopen(self, res_id, model): return {'type': 'ir.actions.act_window', 'view_mode': 'form', @@ -34,7 +35,8 @@ def _reopen(self, res_id, model): 'context': { 'default_model': model, }, - } + } + class mail_compose_message(osv.TransientModel): _inherit = 'mail.compose.message' @@ -58,7 +60,7 @@ class mail_compose_message(osv.TransientModel): context = {} wizard_context = dict(context) for wizard in self.browse(cr, uid, ids, context=context): - if wizard.template_id and not wizard.template_id.user_signature: + if wizard.template_id: wizard_context['mail_notify_user_signature'] = False # template user_signature is added when generating body_html if not wizard.attachment_ids or wizard.composition_mode == 'mass_mail' or not wizard.template_id: continue @@ -75,7 +77,7 @@ class mail_compose_message(osv.TransientModel): """ - mass_mailing: we cannot render, so return the template values - normal mode: return rendered values """ if template_id and composition_mode == 'mass_mail': - fields = ['subject', 'body_html', 'email_from', 'email_to', 'partner_to', 'email_cc', 'reply_to', 'attachment_ids'] + fields = ['subject', 'body_html', 'email_from', 'email_to', 'partner_to', 'email_cc', 'reply_to', 'attachment_ids', 'mail_server_id'] template_values = self.pool.get('email.template').read(cr, uid, template_id, fields, context) values = dict((field, template_values[field]) for field in fields if template_values.get(field)) elif template_id: @@ -95,7 +97,7 @@ class mail_compose_message(osv.TransientModel): } values['attachment_ids'].append(ir_attach_obj.create(cr, uid, data_attach, context=context)) else: - values = self.default_get(cr, uid, ['subject', 'body', 'email_from', 'email_to', 'email_cc', 'partner_to', 'reply_to', 'attachment_ids'], context=context) + values = self.default_get(cr, uid, ['subject', 'body', 'email_from', 'email_to', 'email_cc', 'partner_to', 'reply_to', 'attachment_ids', 'mail_server_id'], context=context) if values.get('body_html'): values['body'] = values.pop('body_html') @@ -150,7 +152,7 @@ class mail_compose_message(osv.TransientModel): mail.compose.message, transform email_cc and email_to into partner_ids """ template_values = self.pool.get('email.template').generate_email(cr, uid, template_id, res_id, context=context) # filter template values - fields = ['subject', 'body_html', 'email_from', 'email_to', 'partner_to', 'email_cc', 'reply_to', 'attachment_ids', 'attachments'] + fields = ['subject', 'body_html', 'email_from', 'email_to', 'partner_to', 'email_cc', 'reply_to', 'attachment_ids', 'attachments', 'mail_server_id'] values = dict((field, template_values[field]) for field in fields if template_values.get(field)) values['body'] = values.pop('body_html', '') diff --git a/addons/google_base_account/google_base_account.py b/addons/google_base_account/google_base_account.py index a6cf67bbe62..50fbf233ce6 100644 --- a/addons/google_base_account/google_base_account.py +++ b/addons/google_base_account/google_base_account.py @@ -28,7 +28,7 @@ import urllib2 import simplejson -class google_service(osv.osv): +class google_service(osv.osv_memory): _name = 'google.service' def generate_refresh_token(self, cr, uid, service, authorization_code, context=None): @@ -51,10 +51,10 @@ class google_service(osv.osv): content = simplejson.loads(content) return content.get('refresh_token') - def _get_google_token_uri(self, cr, uid, service, context=None): + def _get_google_token_uri(self, cr, uid, service, scope, context=None): ir_config = self.pool['ir.config_parameter'] params = { - 'scope': 'https://www.googleapis.com/auth/drive', + 'scope': scope, 'redirect_uri': ir_config.get_param(cr, SUPERUSER_ID, 'google_redirect_uri'), 'client_id': ir_config.get_param(cr, SUPERUSER_ID, 'google_%s_client_id' % service), 'response_type': 'code', diff --git a/addons/google_drive/google_drive.py b/addons/google_drive/google_drive.py index 1dc6b25f27c..8bc487ada7c 100644 --- a/addons/google_drive/google_drive.py +++ b/addons/google_drive/google_drive.py @@ -54,58 +54,69 @@ class config(osv.osv): attachment = attach_pool.browse(cr, uid, attach_ids[0], context) url = attachment.url else: - url = self.copy_doc(cr, uid, res_id, template_id, name_gdocs, model.model, context) + url = self.copy_doc(cr, uid, res_id, template_id, name_gdocs, model.model, context).get('url') return url - def copy_doc(self, cr, uid, res_id, template_id, name_gdocs, res_model, context=None): + def get_access_token(self, cr, uid, scope=None, context=None): ir_config = self.pool['ir.config_parameter'] google_drive_refresh_token = ir_config.get_param(cr, SUPERUSER_ID, 'google_drive_refresh_token') + group_config = self.pool['ir.model.data'].get_object_reference(cr, uid, 'base', 'group_erp_manager')[1] + user = self.pool['res.users'].read(cr, uid, uid, "groups_id") if not google_drive_refresh_token: - raise self.pool.get('res.config.settings').get_config_warning(cr, _("You haven't configured 'Authorization Code' generated from google, Please generate and configure it in %(menu:base_setup.menu_general_configuration)s."), context=context) + if group_config in user['groups_id']: + raise self.pool.get('res.config.settings').get_config_warning(cr, _("You haven't configured 'Authorization Code' generated from google, Please generate and configure it in %(menu:base_setup.menu_general_configuration)s."), context=context) + else: + raise osv.except_osv(_('Error!'), _("Google Drive is not yet configured. Please contact your administrator.")) google_drive_client_id = ir_config.get_param(cr, SUPERUSER_ID, 'google_drive_client_id') google_drive_client_secret = ir_config.get_param(cr, SUPERUSER_ID, 'google_drive_client_secret') - google_web_base_url = ir_config.get_param(cr, SUPERUSER_ID, 'web.base.url') - #For Getting New Access Token With help of old Refresh Token - headers = {"Content-type": "application/x-www-form-urlencoded", "Accept-Encoding": "gzip, deflate"} - data = dict(client_id=google_drive_client_id, - refresh_token=google_drive_refresh_token, - client_secret=google_drive_client_secret, - grant_type="refresh_token") - data = urllib.urlencode(data) + data = urllib.urlencode(dict(client_id=google_drive_client_id, + refresh_token=google_drive_refresh_token, + client_secret=google_drive_client_secret, + grant_type="refresh_token", + scope=scope or 'https://www.googleapis.com/auth/drive')) + headers = {"Content-type": "application/x-www-form-urlencoded", "Accept-Encoding": "gzip, deflate"} try: req = urllib2.Request('https://accounts.google.com/o/oauth2/token', data, headers) content = urllib2.urlopen(req).read() except urllib2.HTTPError: - raise self.pool.get('res.config.settings').get_config_warning(cr, _("Something went wrong during the token generation. Please request again an authorization code in %(menu:base_setup.menu_general_configuration)s."), context=context) + if group_config in user['groups_id']: + raise self.pool.get('res.config.settings').get_config_warning(cr, _("Something went wrong during the token generation. Please request again an authorization code in %(menu:base_setup.menu_general_configuration)s."), context=context) + else: + raise osv.except_osv(_('Error!'), _("Google Drive is not yet configured. Please contact your administrator.")) content = json.loads(content) + return content.get('access_token') + def copy_doc(self, cr, uid, res_id, template_id, name_gdocs, res_model, context=None): + ir_config = self.pool['ir.config_parameter'] + google_web_base_url = ir_config.get_param(cr, SUPERUSER_ID, 'web.base.url') + access_token = self.get_access_token(cr, uid, context=context) # Copy template in to drive with help of new access token - if 'access_token' in content: - request_url = "https://www.googleapis.com/drive/v2/files/%s?fields=parents/id&access_token=%s" % (template_id, content['access_token']) - try: - req = urllib2.Request(request_url, None, headers) - parents = urllib2.urlopen(req).read() - except urllib2.HTTPError: - raise self.pool.get('res.config.settings').get_config_warning(cr, _("The Google Template cannot be found. Maybe it has been deleted."), context=context) - parents_dict = json.loads(parents) + request_url = "https://www.googleapis.com/drive/v2/files/%s?fields=parents/id&access_token=%s" % (template_id, access_token) + headers = {"Content-type": "application/x-www-form-urlencoded", "Accept-Encoding": "gzip, deflate"} + try: + req = urllib2.Request(request_url, None, headers) + parents = urllib2.urlopen(req).read() + except urllib2.HTTPError: + raise self.pool.get('res.config.settings').get_config_warning(cr, _("The Google Template cannot be found. Maybe it has been deleted."), context=context) + parents_dict = json.loads(parents) - record_url = "Click on link to open Record in OpenERP\n %s/?db=%s#id=%s&model=%s" % (google_web_base_url, cr.dbname, res_id, res_model) - data = {"title": name_gdocs, "description": record_url, "parents": parents_dict['parents']} - request_url = "https://www.googleapis.com/drive/v2/files/%s/copy?access_token=%s" % (template_id, content['access_token']) - headers = {'Content-type': 'application/json', 'Accept': 'text/plain'} - data_json = json.dumps(data) - # resp, content = Http().request(request_url, "POST", data_json, headers) - req = urllib2.Request(request_url, data_json, headers) - content = urllib2.urlopen(req).read() - content = json.loads(content) - res = False - if 'alternateLink' in content.keys(): - attach_pool = self.pool.get("ir.attachment") - attach_vals = {'res_model': res_model, 'name': name_gdocs, 'res_id': res_id, 'type': 'url', 'url': content['alternateLink']} - attach_pool.create(cr, uid, attach_vals) - res = content['alternateLink'] + record_url = "Click on link to open Record in OpenERP\n %s/?db=%s#id=%s&model=%s" % (google_web_base_url, cr.dbname, res_id, res_model) + data = {"title": name_gdocs, "description": record_url, "parents": parents_dict['parents']} + request_url = "https://www.googleapis.com/drive/v2/files/%s/copy?access_token=%s" % (template_id, access_token) + headers = {'Content-type': 'application/json', 'Accept': 'text/plain'} + data_json = json.dumps(data) + # resp, content = Http().request(request_url, "POST", data_json, headers) + req = urllib2.Request(request_url, data_json, headers) + content = urllib2.urlopen(req).read() + content = json.loads(content) + res = {} + if content.get('alternateLink'): + attach_pool = self.pool.get("ir.attachment") + attach_vals = {'res_model': res_model, 'name': name_gdocs, 'res_id': res_id, 'type': 'url', 'url': content['alternateLink']} + res['id'] = attach_pool.create(cr, uid, attach_vals) + res['url'] = content['alternateLink'] return res def get_google_drive_config(self, cr, uid, res_model, res_id, context=None): @@ -166,6 +177,7 @@ class config(osv.osv): 'google_drive_resource_id': fields.function(_resource_get, type="char", string='Resource Id'), 'google_drive_client_id': fields.function(_client_id_get, type="char", string='Google Client '), 'name_template': fields.char('Google Drive Name Pattern', size=64, help='Choose how the new google drive will be named, on google side. Eg. gdoc_%(field_name)s', required=True), + 'active': fields.boolean('Active'), } def onchange_model_id(self, cr, uid, ids, model_id, context=None): @@ -179,6 +191,7 @@ class config(osv.osv): _defaults = { 'name_template': 'Document %(name)s', + 'active': True, } def _check_model_id(self, cr, uid, ids, context=None): @@ -191,6 +204,9 @@ class config(osv.osv): (_check_model_id, 'Model of selected filter is not matching with model of current template.', ['model_id', 'filter_id']), ] + def get_google_scope(self): + return 'https://www.googleapis.com/auth/drive' + config() @@ -202,7 +218,7 @@ class base_config_settings(osv.osv): 'google_drive_uri': fields.char('URI', readonly=True, help="The URL to generate the authorization code from Google"), } _defaults = { - 'google_drive_uri': lambda s, cr, uid, c: s.pool['google.service']._get_google_token_uri(cr, uid, 'drive', context=c), + 'google_drive_uri': lambda s, cr, uid, c: s.pool['google.service']._get_google_token_uri(cr, uid, 'drive', scope=s.pool['google.drive.config'].get_google_scope(), context=c), } def set_google_authorization_code(self, cr, uid, ids, context=None): diff --git a/addons/google_drive/google_drive_data.xml b/addons/google_drive/google_drive_data.xml index c9266547969..b1f9883c149 100644 --- a/addons/google_drive/google_drive_data.xml +++ b/addons/google_drive/google_drive_data.xml @@ -4,12 +4,12 @@ google_drive_client_id - 39623646228-eg3ggo3mk6o40m7rguobi3rkl9frh4tb.apps.googleusercontent.com + 598905559630.apps.googleusercontent.com google_drive_client_secret - Ul-PtmnSWs3euWs20fdono0e + vTmou73c-njP-1qCxm7qx7QE diff --git a/addons/google_drive/res_config_user_view.xml b/addons/google_drive/res_config_user_view.xml index 728ef03c5dd..dc563a76c2b 100644 --- a/addons/google_drive/res_config_user_view.xml +++ b/addons/google_drive/res_config_user_view.xml @@ -23,6 +23,7 @@ +