From 9b39fd9f7f173d0c8be98dfada723e40dc0a7531 Mon Sep 17 00:00:00 2001 From: Darshan Kalola Date: Tue, 30 Jul 2013 12:56:23 +0530 Subject: [PATCH 01/98] [Process]remove process module and all process views bzr revid: darshankalola@gmail.com-20130730072623-bf1u8y1z0lo4cwrw --- addons/account/__openerp__.py | 5 +- .../process/customer_invoice_process.xml | 199 -------- addons/account/process/statement_process.xml | 93 ---- .../process/supplier_invoice_process.xml | 168 ------- addons/crm/__openerp__.py | 3 - .../crm/process/crm_configuration_process.xml | 84 ---- addons/hr/__openerp__.py | 1 - addons/hr/process/hr_process.xml | 70 --- addons/hr_expense/__openerp__.py | 1 - .../hr_expense/process/hr_expense_process.xml | 181 -------- addons/hr_holidays/__openerp__.py | 2 +- .../process/hr_holidays_process.xml | 173 ------- addons/hr_timesheet/__openerp__.py | 3 +- .../process/hr_timesheet_process.xml | 6 - addons/hr_timesheet_sheet/__openerp__.py | 3 +- .../process/hr_timesheet_sheet_process.xml | 174 ------- addons/membership/__openerp__.py | 3 +- .../membership/process/membership_process.xml | 134 ------ addons/mrp/__openerp__.py | 5 +- addons/mrp/process/procurement_process.xml | 227 --------- .../mrp/process/service_product_process.xml | 47 -- .../mrp/process/stockable_product_process.xml | 85 ---- addons/mrp_operations/__openerp__.py | 1 - .../process/mrp_operation_process.xml | 107 ----- addons/process/__init__.py | 25 - addons/process/__openerp__.py | 58 --- addons/process/i18n/ar.po | 381 --------------- addons/process/i18n/bg.po | 393 ---------------- addons/process/i18n/bs.po | 398 ---------------- addons/process/i18n/ca.po | 433 ----------------- addons/process/i18n/cs.po | 405 ---------------- addons/process/i18n/da.po | 379 --------------- addons/process/i18n/de.po | 435 ----------------- addons/process/i18n/el.po | 414 ----------------- addons/process/i18n/es.po | 434 ----------------- addons/process/i18n/es_AR.po | 408 ---------------- addons/process/i18n/es_CL.po | 434 ----------------- addons/process/i18n/es_CR.po | 436 ------------------ addons/process/i18n/es_MX.po | 368 --------------- addons/process/i18n/es_VE.po | 368 --------------- addons/process/i18n/et.po | 410 ---------------- addons/process/i18n/fi.po | 412 ----------------- addons/process/i18n/fr.po | 416 ----------------- addons/process/i18n/gl.po | 431 ----------------- addons/process/i18n/hi.po | 385 ---------------- addons/process/i18n/hi_HI.po | 304 ------------ addons/process/i18n/hr.po | 411 ----------------- addons/process/i18n/hu.po | 405 ---------------- addons/process/i18n/id.po | 378 --------------- addons/process/i18n/it.po | 434 ----------------- addons/process/i18n/ja.po | 382 --------------- addons/process/i18n/ko.po | 407 ---------------- addons/process/i18n/lt.po | 381 --------------- addons/process/i18n/mk.po | 381 --------------- addons/process/i18n/mn.po | 420 ----------------- addons/process/i18n/nl.po | 430 ----------------- addons/process/i18n/nl_BE.po | 383 --------------- addons/process/i18n/pl.po | 408 ---------------- addons/process/i18n/process.pot | 376 --------------- addons/process/i18n/pt.po | 434 ----------------- addons/process/i18n/pt_BR.po | 414 ----------------- addons/process/i18n/ro.po | 434 ----------------- addons/process/i18n/ru.po | 404 ---------------- addons/process/i18n/sk.po | 384 --------------- addons/process/i18n/sl.po | 410 ---------------- addons/process/i18n/sq.po | 379 --------------- addons/process/i18n/sr.po | 411 ----------------- addons/process/i18n/sr@latin.po | 411 ----------------- addons/process/i18n/sv.po | 412 ----------------- addons/process/i18n/tlh.po | 378 --------------- addons/process/i18n/tr.po | 413 ----------------- addons/process/i18n/uk.po | 386 ---------------- addons/process/i18n/vi.po | 379 --------------- addons/process/i18n/zh_CN.po | 428 ----------------- addons/process/i18n/zh_TW.po | 378 --------------- addons/process/process.py | 381 --------------- addons/process/process_demo.xml | 156 ------- addons/process/process_view.xml | 323 ------------- addons/process/security/ir.model.access.csv | 6 - addons/process/static/src/css/process.css | 70 --- addons/process/static/src/img/button-a-a.png | Bin 6595 -> 0 bytes addons/process/static/src/img/cta-a.gif | Bin 108 -> 0 bytes .../process/static/src/img/iconset-a-help.gif | Bin 379 -> 0 bytes .../process/static/src/img/node-current.png | Bin 3143 -> 0 bytes addons/process/static/src/img/node-gray.png | Bin 3128 -> 0 bytes .../static/src/img/node-subflow-gray.png | Bin 6837 -> 0 bytes .../process/static/src/img/node-subflow.png | Bin 6851 -> 0 bytes addons/process/static/src/img/node.png | Bin 3205 -> 0 bytes addons/process/static/src/js/process.js | 250 ---------- addons/process/static/src/xml/process.xml | 93 ---- addons/procurement/__openerp__.py | 3 +- .../process/procurement_process.xml | 42 -- addons/product/__openerp__.py | 3 +- addons/product/process/product_process.xml | 51 -- addons/project/__openerp__.py | 1 - addons/project/process/task_process.xml | 132 ------ addons/project_mrp/__openerp__.py | 2 +- .../process/project_mrp_process.xml | 74 --- addons/project_timesheet/__openerp__.py | 1 - .../process/project_timesheet_process.xml | 70 --- addons/purchase/__openerp__.py | 3 +- addons/purchase/process/purchase_process.xml | 267 ----------- addons/resource/__openerp__.py | 2 +- addons/sale/__openerp__.py | 1 - addons/sale/process/sale_process.xml | 130 ------ addons/sale_crm/__openerp__.py | 1 - addons/sale_crm/process/sale_crm_process.xml | 77 ---- addons/sale_stock/__openerp__.py | 1 - .../sale_stock/process/sale_stock_process.xml | 159 ------- 109 files changed, 11 insertions(+), 23841 deletions(-) delete mode 100644 addons/account/process/customer_invoice_process.xml delete mode 100644 addons/account/process/statement_process.xml delete mode 100644 addons/account/process/supplier_invoice_process.xml delete mode 100644 addons/crm/process/crm_configuration_process.xml delete mode 100644 addons/hr/process/hr_process.xml delete mode 100644 addons/hr_expense/process/hr_expense_process.xml delete mode 100644 addons/hr_holidays/process/hr_holidays_process.xml delete mode 100644 addons/hr_timesheet/process/hr_timesheet_process.xml delete mode 100644 addons/hr_timesheet_sheet/process/hr_timesheet_sheet_process.xml delete mode 100644 addons/membership/process/membership_process.xml delete mode 100644 addons/mrp/process/procurement_process.xml delete mode 100644 addons/mrp/process/service_product_process.xml delete mode 100644 addons/mrp/process/stockable_product_process.xml delete mode 100644 addons/mrp_operations/process/mrp_operation_process.xml delete mode 100644 addons/process/__init__.py delete mode 100644 addons/process/__openerp__.py delete mode 100644 addons/process/i18n/ar.po delete mode 100644 addons/process/i18n/bg.po delete mode 100644 addons/process/i18n/bs.po delete mode 100644 addons/process/i18n/ca.po delete mode 100644 addons/process/i18n/cs.po delete mode 100644 addons/process/i18n/da.po delete mode 100644 addons/process/i18n/de.po delete mode 100644 addons/process/i18n/el.po delete mode 100644 addons/process/i18n/es.po delete mode 100644 addons/process/i18n/es_AR.po delete mode 100644 addons/process/i18n/es_CL.po delete mode 100644 addons/process/i18n/es_CR.po delete mode 100644 addons/process/i18n/es_MX.po delete mode 100644 addons/process/i18n/es_VE.po delete mode 100644 addons/process/i18n/et.po delete mode 100644 addons/process/i18n/fi.po delete mode 100644 addons/process/i18n/fr.po delete mode 100644 addons/process/i18n/gl.po delete mode 100644 addons/process/i18n/hi.po delete mode 100644 addons/process/i18n/hi_HI.po delete mode 100644 addons/process/i18n/hr.po delete mode 100644 addons/process/i18n/hu.po delete mode 100644 addons/process/i18n/id.po delete mode 100644 addons/process/i18n/it.po delete mode 100644 addons/process/i18n/ja.po delete mode 100644 addons/process/i18n/ko.po delete mode 100644 addons/process/i18n/lt.po delete mode 100644 addons/process/i18n/mk.po delete mode 100644 addons/process/i18n/mn.po delete mode 100644 addons/process/i18n/nl.po delete mode 100644 addons/process/i18n/nl_BE.po delete mode 100644 addons/process/i18n/pl.po delete mode 100644 addons/process/i18n/process.pot delete mode 100644 addons/process/i18n/pt.po delete mode 100644 addons/process/i18n/pt_BR.po delete mode 100644 addons/process/i18n/ro.po delete mode 100644 addons/process/i18n/ru.po delete mode 100644 addons/process/i18n/sk.po delete mode 100644 addons/process/i18n/sl.po delete mode 100644 addons/process/i18n/sq.po delete mode 100644 addons/process/i18n/sr.po delete mode 100644 addons/process/i18n/sr@latin.po delete mode 100644 addons/process/i18n/sv.po delete mode 100644 addons/process/i18n/tlh.po delete mode 100644 addons/process/i18n/tr.po delete mode 100644 addons/process/i18n/uk.po delete mode 100644 addons/process/i18n/vi.po delete mode 100644 addons/process/i18n/zh_CN.po delete mode 100644 addons/process/i18n/zh_TW.po delete mode 100644 addons/process/process.py delete mode 100644 addons/process/process_demo.xml delete mode 100644 addons/process/process_view.xml delete mode 100644 addons/process/security/ir.model.access.csv delete mode 100644 addons/process/static/src/css/process.css delete mode 100644 addons/process/static/src/img/button-a-a.png delete mode 100644 addons/process/static/src/img/cta-a.gif delete mode 100644 addons/process/static/src/img/iconset-a-help.gif delete mode 100644 addons/process/static/src/img/node-current.png delete mode 100644 addons/process/static/src/img/node-gray.png delete mode 100644 addons/process/static/src/img/node-subflow-gray.png delete mode 100644 addons/process/static/src/img/node-subflow.png delete mode 100644 addons/process/static/src/img/node.png delete mode 100644 addons/process/static/src/js/process.js delete mode 100644 addons/process/static/src/xml/process.xml delete mode 100644 addons/procurement/process/procurement_process.xml delete mode 100644 addons/product/process/product_process.xml delete mode 100644 addons/project/process/task_process.xml delete mode 100644 addons/project_mrp/process/project_mrp_process.xml delete mode 100644 addons/project_timesheet/process/project_timesheet_process.xml delete mode 100644 addons/purchase/process/purchase_process.xml delete mode 100644 addons/sale/process/sale_process.xml delete mode 100644 addons/sale_crm/process/sale_crm_process.xml delete mode 100644 addons/sale_stock/process/sale_stock_process.xml diff --git a/addons/account/__openerp__.py b/addons/account/__openerp__.py index a380a69dc03..4a7cbaf5df2 100644 --- a/addons/account/__openerp__.py +++ b/addons/account/__openerp__.py @@ -49,7 +49,7 @@ for a particular financial year and for preparation of vouchers there is a modul """, 'website': 'http://www.openerp.com', 'images' : ['images/accounts.jpeg','images/bank_statement.jpeg','images/cash_register.jpeg','images/chart_of_accounts.jpeg','images/customer_invoice.jpeg','images/journal_entries.jpeg'], - 'depends' : ['base_setup', 'product', 'analytic', 'process', 'board', 'edi'], + 'depends' : ['base_setup', 'product', 'analytic', 'board', 'edi'], 'data': [ 'security/account_security.xml', 'security/ir.model.access.csv', @@ -114,9 +114,6 @@ for a particular financial year and for preparation of vouchers there is a modul 'partner_view.xml', 'product_view.xml', 'account_assert_test.xml', - 'process/statement_process.xml', - 'process/customer_invoice_process.xml', - 'process/supplier_invoice_process.xml', 'ir_sequence_view.xml', 'company_view.xml', 'board_account_view.xml', diff --git a/addons/account/process/customer_invoice_process.xml b/addons/account/process/customer_invoice_process.xml deleted file mode 100644 index e45f8080518..00000000000 --- a/addons/account/process/customer_invoice_process.xml +++ /dev/null @@ -1,199 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/addons/account/process/statement_process.xml b/addons/account/process/statement_process.xml deleted file mode 100644 index 81b1748a6d4..00000000000 --- a/addons/account/process/statement_process.xml +++ /dev/null @@ -1,93 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/addons/account/process/supplier_invoice_process.xml b/addons/account/process/supplier_invoice_process.xml deleted file mode 100644 index b1d9de904aa..00000000000 --- a/addons/account/process/supplier_invoice_process.xml +++ /dev/null @@ -1,168 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/addons/crm/__openerp__.py b/addons/crm/__openerp__.py index e7ab7df27ea..aaeb24aeced 100644 --- a/addons/crm/__openerp__.py +++ b/addons/crm/__openerp__.py @@ -52,7 +52,6 @@ Dashboard for CRM will include: 'base_action_rule', 'base_setup', 'base_status', - 'process', 'mail', 'email_template', 'base_calendar', @@ -89,8 +88,6 @@ Dashboard for CRM will include: 'report/crm_lead_report_view.xml', 'report/crm_phonecall_report_view.xml', - 'process/crm_configuration_process.xml', - 'res_partner_view.xml', 'board_crm_view.xml', diff --git a/addons/crm/process/crm_configuration_process.xml b/addons/crm/process/crm_configuration_process.xml deleted file mode 100644 index 882c9680268..00000000000 --- a/addons/crm/process/crm_configuration_process.xml +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/addons/hr/__openerp__.py b/addons/hr/__openerp__.py index b074a80aa88..c792d4bcbc4 100644 --- a/addons/hr/__openerp__.py +++ b/addons/hr/__openerp__.py @@ -55,7 +55,6 @@ You can manage: 'board_hr_view.xml', 'hr_view.xml', 'hr_department_view.xml', - 'process/hr_process.xml', 'hr_installer.xml', 'hr_data.xml', 'res_config_view.xml', diff --git a/addons/hr/process/hr_process.xml b/addons/hr/process/hr_process.xml deleted file mode 100644 index 548df39905c..00000000000 --- a/addons/hr/process/hr_process.xml +++ /dev/null @@ -1,70 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/addons/hr_expense/__openerp__.py b/addons/hr_expense/__openerp__.py index f149bc0c7c6..cdb10783075 100644 --- a/addons/hr_expense/__openerp__.py +++ b/addons/hr_expense/__openerp__.py @@ -54,7 +54,6 @@ This module also uses analytic accounting and is compatible with the invoice on 'hr_expense_workflow.xml', 'hr_expense_view.xml', 'hr_expense_report.xml', - 'process/hr_expense_process.xml', 'security/ir_rule.xml', 'report/hr_expense_report_view.xml', 'board_hr_expense_view.xml', diff --git a/addons/hr_expense/process/hr_expense_process.xml b/addons/hr_expense/process/hr_expense_process.xml deleted file mode 100644 index 3ade1f1daca..00000000000 --- a/addons/hr_expense/process/hr_expense_process.xml +++ /dev/null @@ -1,181 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/addons/hr_holidays/__openerp__.py b/addons/hr_holidays/__openerp__.py index 417748d874b..3b60874c584 100644 --- a/addons/hr_holidays/__openerp__.py +++ b/addons/hr_holidays/__openerp__.py @@ -45,7 +45,7 @@ You can keep track of leaves in different ways by following reports: A synchronization with an internal agenda (Meetings of the CRM module) is also possible in order to automatically create a meeting when a holiday request is accepted by setting up a type of meeting in Leave Type. """, 'images': ['images/hr_allocation_requests.jpeg', 'images/hr_leave_requests.jpeg', 'images/leaves_analysis.jpeg'], - 'depends': ['hr', 'base_calendar', 'process', 'resource'], + 'depends': ['hr', 'base_calendar', 'resource'], 'data': [ 'security/ir.model.access.csv', 'security/ir_rule.xml', diff --git a/addons/hr_holidays/process/hr_holidays_process.xml b/addons/hr_holidays/process/hr_holidays_process.xml deleted file mode 100644 index 79029e45e09..00000000000 --- a/addons/hr_holidays/process/hr_holidays_process.xml +++ /dev/null @@ -1,173 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/addons/hr_timesheet/__openerp__.py b/addons/hr_timesheet/__openerp__.py index fa14c45f84a..746044e1598 100644 --- a/addons/hr_timesheet/__openerp__.py +++ b/addons/hr_timesheet/__openerp__.py @@ -41,14 +41,13 @@ up a management by affair. 'author': 'OpenERP SA', 'website': 'http://www.openerp.com', 'images': ['images/hr_timesheet_lines.jpeg'], - 'depends': ['account', 'hr', 'base', 'hr_attendance', 'process'], + 'depends': ['account', 'hr', 'base', 'hr_attendance'], 'data': [ 'security/ir.model.access.csv', 'security/hr_timesheet_security.xml', 'hr_timesheet_view.xml', 'hr_timesheet_report.xml', 'hr_timesheet_wizard.xml', - 'process/hr_timesheet_process.xml', 'wizard/hr_timesheet_print_employee_view.xml', 'wizard/hr_timesheet_print_users_view.xml', 'wizard/hr_timesheet_sign_in_out_view.xml', diff --git a/addons/hr_timesheet/process/hr_timesheet_process.xml b/addons/hr_timesheet/process/hr_timesheet_process.xml deleted file mode 100644 index 9b9efa3d19e..00000000000 --- a/addons/hr_timesheet/process/hr_timesheet_process.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/addons/hr_timesheet_sheet/__openerp__.py b/addons/hr_timesheet_sheet/__openerp__.py index e92ab4400bd..fedec20239a 100644 --- a/addons/hr_timesheet_sheet/__openerp__.py +++ b/addons/hr_timesheet_sheet/__openerp__.py @@ -46,13 +46,12 @@ The validation can be configured in the company: 'author': 'OpenERP SA', 'website': 'http://www.openerp.com', 'images': ['images/hr_my_current_timesheet.jpeg','images/hr_timesheet_analysis.jpeg','images/hr_timesheet_sheet_analysis.jpeg','images/hr_timesheet_activity.jpeg'], - 'depends': ['hr_timesheet', 'hr_timesheet_invoice', 'process'], + 'depends': ['hr_timesheet', 'hr_timesheet_invoice'], 'data': [ 'security/ir.model.access.csv', 'security/hr_timesheet_sheet_security.xml', 'hr_timesheet_sheet_view.xml', 'hr_timesheet_workflow.xml', - 'process/hr_timesheet_sheet_process.xml', 'board_hr_timesheet_view.xml', 'report/hr_timesheet_report_view.xml', 'report/timesheet_report_view.xml', diff --git a/addons/hr_timesheet_sheet/process/hr_timesheet_sheet_process.xml b/addons/hr_timesheet_sheet/process/hr_timesheet_sheet_process.xml deleted file mode 100644 index 7ebec9ab228..00000000000 --- a/addons/hr_timesheet_sheet/process/hr_timesheet_sheet_process.xml +++ /dev/null @@ -1,174 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/addons/membership/__openerp__.py b/addons/membership/__openerp__.py index 4a0a80694b3..46e4e1f8aea 100644 --- a/addons/membership/__openerp__.py +++ b/addons/membership/__openerp__.py @@ -39,13 +39,12 @@ It is integrated with sales and accounting to allow you to automatically invoice and send propositions for membership renewal. """, 'author': 'OpenERP SA', - 'depends': ['base', 'product', 'account', 'process'], + 'depends': ['base', 'product', 'account'], 'data': [ 'security/ir.model.access.csv', 'wizard/membership_invoice_view.xml', 'membership_view.xml', 'report/report_membership_view.xml', - 'process/membership_process.xml', ], 'demo': ['membership_demo.xml'], 'test': ['test/test_membership.yml'], diff --git a/addons/membership/process/membership_process.xml b/addons/membership/process/membership_process.xml deleted file mode 100644 index b3ba426ff4a..00000000000 --- a/addons/membership/process/membership_process.xml +++ /dev/null @@ -1,134 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/addons/mrp/__openerp__.py b/addons/mrp/__openerp__.py index 6e025ae2d90..93db5d296ed 100644 --- a/addons/mrp/__openerp__.py +++ b/addons/mrp/__openerp__.py @@ -29,7 +29,7 @@ 'sequence': 18, 'summary': 'Manufacturing Orders, Bill of Materials, Routing', 'images': ['images/bill_of_materials.jpeg', 'images/manufacturing_order.jpeg', 'images/planning_manufacturing_order.jpeg', 'images/manufacturing_analysis.jpeg', 'images/production_dashboard.jpeg','images/routings.jpeg','images/work_centers.jpeg'], - 'depends': ['product','procurement', 'stock', 'resource', 'purchase','process'], + 'depends': ['product','procurement', 'stock', 'resource', 'purchase'], 'description': """ Manage the Manufacturing process in OpenERP =========================================== @@ -65,9 +65,6 @@ Dashboard / Reports for MRP will include: 'mrp_view.xml', 'mrp_report.xml', 'company_view.xml', - 'process/stockable_product_process.xml', - 'process/service_product_process.xml', - 'process/procurement_process.xml', 'report/mrp_report_view.xml', 'report/mrp_production_order_view.xml', 'board_manufacturing_view.xml', diff --git a/addons/mrp/process/procurement_process.xml b/addons/mrp/process/procurement_process.xml deleted file mode 100644 index dd52268e2d1..00000000000 --- a/addons/mrp/process/procurement_process.xml +++ /dev/null @@ -1,227 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/addons/mrp/process/service_product_process.xml b/addons/mrp/process/service_product_process.xml deleted file mode 100644 index 0005be6f48c..00000000000 --- a/addons/mrp/process/service_product_process.xml +++ /dev/null @@ -1,47 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/addons/mrp/process/stockable_product_process.xml b/addons/mrp/process/stockable_product_process.xml deleted file mode 100644 index a43a09313b8..00000000000 --- a/addons/mrp/process/stockable_product_process.xml +++ /dev/null @@ -1,85 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/addons/mrp_operations/__openerp__.py b/addons/mrp_operations/__openerp__.py index 7fedb426edd..6157c301682 100644 --- a/addons/mrp_operations/__openerp__.py +++ b/addons/mrp_operations/__openerp__.py @@ -63,7 +63,6 @@ So, that we can compare the theoretic delay and real delay. 'mrp_operations_view.xml', 'mrp_operations_report.xml', 'report/mrp_workorder_analysis_view.xml', - 'process/mrp_operation_process.xml', 'mrp_operations_workflow_instance.xml' ], 'demo': [ diff --git a/addons/mrp_operations/process/mrp_operation_process.xml b/addons/mrp_operations/process/mrp_operation_process.xml deleted file mode 100644 index d448b6a299a..00000000000 --- a/addons/mrp_operations/process/mrp_operation_process.xml +++ /dev/null @@ -1,107 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/addons/process/__init__.py b/addons/process/__init__.py deleted file mode 100644 index 30a81513bf7..00000000000 --- a/addons/process/__init__.py +++ /dev/null @@ -1,25 +0,0 @@ -# -*- coding: utf-8 -*- -############################################################################## -# -# OpenERP, Open Source Management Solution -# Copyright (C) 2004-2010 Tiny SPRL (). -# -# 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 . -# -############################################################################## - -import process - -# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: - diff --git a/addons/process/__openerp__.py b/addons/process/__openerp__.py deleted file mode 100644 index c998288a614..00000000000 --- a/addons/process/__openerp__.py +++ /dev/null @@ -1,58 +0,0 @@ -# -*- coding: utf-8 -*- -############################################################################## -# -# OpenERP, Open Source Management Solution -# Copyright (C) 2004-2010 Tiny SPRL (). -# -# 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 . -# -############################################################################## - - -{ - 'name': 'Enterprise Process', - 'version': '1.0', - 'category': 'Hidden/Dependency', - 'description': """ -This module shows the basic processes involved in the selected modules and in the sequence they occur. -====================================================================================================== - -**Note:** This applies to the modules containing modulename_process.xml. - -**e.g.** product/process/product_process.xml. - - """, - 'author': 'OpenERP SA', - 'website': 'http://www.openerp.com', - 'depends': ['web'], - 'data': [ - 'security/ir.model.access.csv', - 'process_view.xml' - ], - 'demo': [], - 'installable': True, - 'auto_install': False, - 'images': ['images/process_nodes.jpeg','images/process_transitions.jpeg', 'images/processes.jpeg'], - 'js': [ - 'static/src/js/process.js' - ], - 'css': [ - 'static/src/css/process.css' - ], - 'qweb': [ - 'static/src/xml/*.xml' - ], - 'auto_install': True -} -# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/process/i18n/ar.po b/addons/process/i18n/ar.po deleted file mode 100644 index 1f7692dc7e6..00000000000 --- a/addons/process/i18n/ar.po +++ /dev/null @@ -1,381 +0,0 @@ -# Translation of OpenERP Server. -# This file contains the translation of the following modules: -# * process -# -msgid "" -msgstr "" -"Project-Id-Version: OpenERP Server 5.0.4\n" -"Report-Msgid-Bugs-To: support@openerp.com\n" -"POT-Creation-Date: 2012-12-21 17:06+0000\n" -"PO-Revision-Date: 2012-01-13 21:36+0000\n" -"Last-Translator: kifcaliph \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-03-16 05:10+0000\n" -"X-Generator: Launchpad (build 16532)\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 "" - -#. module: process -#: field:process.node,menu_id:0 -msgid "Related Menu" -msgstr "" - -#. module: process -#: selection:process.node,kind:0 -msgid "Status" -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 -#: view:process.node:0 -msgid "Kind Of Node" -msgstr "" - -#. module: process -#: field:process.node,help_url:0 -msgid "Help URL" -msgstr "عنوان URL للمساعدة" - -#. module: process -#: field:process.node,flow_start:0 -msgid "Starting Flow" -msgstr "" - -#. 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 -#: 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 -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:39 -#, python-format -msgid "Last modified by:" -msgstr "" - -#. module: process -#: field:process.transition.action,action:0 -msgid "Action ID" -msgstr "" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:7 -#, python-format -msgid "Process View" -msgstr "" - -#. 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.transition.action,transition_id:0 -msgid "Transition" -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 -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:54 -#, python-format -msgid "Related:" -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 -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:88 -#, python-format -msgid "Edit Process" -msgstr "" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:39 -#, python-format -msgid "N/A" -msgstr "" - -#. module: process -#: view:process.process:0 -msgid "Search Process" -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 -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:67 -#, python-format -msgid "Select Process" -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 -#. openerp-web -#: code:addons/process/static/src/js/process.js:243 -#: code:addons/process/static/src/xml/process.xml:33 -#: model:ir.model,name:process.model_process_process -#: field:process.node,process_id:0 -#: view:process.process:0 -#, python-format -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 -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:42 -#, python-format -msgid "Subflows:" -msgstr "" - -#. module: process -#: view:process.node:0 -#: view:process.process:0 -msgid "Outgoing Transitions" -msgstr "" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:36 -#, python-format -msgid "Notes:" -msgstr "" - -#. module: process -#: selection:process.node,kind:0 -#: field:process.node,subflow_id:0 -msgid "Subflow" -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 "" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:77 -#, python-format -msgid "Select" -msgstr "" - -#~ msgid "State" -#~ msgstr "الحالة" diff --git a/addons/process/i18n/bg.po b/addons/process/i18n/bg.po deleted file mode 100644 index 65a027b7f40..00000000000 --- a/addons/process/i18n/bg.po +++ /dev/null @@ -1,393 +0,0 @@ -# Translation of OpenERP Server. -# This file contains the translation of the following modules: -# * process -# -msgid "" -msgstr "" -"Project-Id-Version: OpenERP Server 5.0.4\n" -"Report-Msgid-Bugs-To: support@openerp.com\n" -"POT-Creation-Date: 2012-12-21 17:06+0000\n" -"PO-Revision-Date: 2011-03-01 20:31+0000\n" -"Last-Translator: Dimitar Markov \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-03-16 05:10+0000\n" -"X-Generator: Launchpad (build 16532)\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 "" - -#. module: process -#: field:process.node,menu_id:0 -msgid "Related Menu" -msgstr "Свързано меню" - -#. module: process -#: selection:process.node,kind:0 -msgid "Status" -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 -#: view:process.node:0 -msgid "Kind Of Node" -msgstr "" - -#. module: process -#: field:process.node,help_url:0 -msgid "Help URL" -msgstr "Интернет адрес за помощ" - -#. module: process -#: field:process.node,flow_start:0 -msgid "Starting Flow" -msgstr "Стартиращ поток" - -#. 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 -#: 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 -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:39 -#, python-format -msgid "Last modified by:" -msgstr "" - -#. module: process -#: field:process.transition.action,action:0 -msgid "Action ID" -msgstr "Действие ID" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:7 -#, python-format -msgid "Process View" -msgstr "" - -#. 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.transition.action,transition_id:0 -msgid "Transition" -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 -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:54 -#, python-format -msgid "Related:" -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 -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:88 -#, python-format -msgid "Edit Process" -msgstr "" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:39 -#, python-format -msgid "N/A" -msgstr "" - -#. module: process -#: view:process.process:0 -msgid "Search Process" -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 -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:67 -#, python-format -msgid "Select Process" -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 -#. openerp-web -#: code:addons/process/static/src/js/process.js:243 -#: code:addons/process/static/src/xml/process.xml:33 -#: model:ir.model,name:process.model_process_process -#: field:process.node,process_id:0 -#: view:process.process:0 -#, python-format -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 -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:42 -#, python-format -msgid "Subflows:" -msgstr "" - -#. module: process -#: view:process.node:0 -#: view:process.process:0 -msgid "Outgoing Transitions" -msgstr "Изходящи преходи" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:36 -#, python-format -msgid "Notes:" -msgstr "" - -#. module: process -#: selection:process.node,kind:0 -#: field:process.node,subflow_id:0 -msgid "Subflow" -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 "" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:77 -#, python-format -msgid "Select" -msgstr "" - -#~ msgid "" -#~ "The Object name must start with x_ and not contain any special character !" -#~ msgstr "" -#~ "Името на обекта трябва да започва с \"x_\" и да не съдържа никакви специални " -#~ "символи!" - -#~ msgid "Invalid XML for View Architecture!" -#~ msgstr "Невалиден XML за преглед на архитектурата" - -#~ msgid "Extra Information" -#~ msgstr "Допълнителна информация" - -#~ msgid "State" -#~ msgstr "Състояние" diff --git a/addons/process/i18n/bs.po b/addons/process/i18n/bs.po deleted file mode 100644 index 8ce33ba8af6..00000000000 --- a/addons/process/i18n/bs.po +++ /dev/null @@ -1,398 +0,0 @@ -# Translation of OpenERP Server. -# This file contains the translation of the following modules: -# * process -# -msgid "" -msgstr "" -"Project-Id-Version: OpenERP Server 6.0dev\n" -"Report-Msgid-Bugs-To: support@openerp.com\n" -"POT-Creation-Date: 2012-12-21 17:06+0000\n" -"PO-Revision-Date: 2009-11-17 06:56+0000\n" -"Last-Translator: Fabien (Open ERP) \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-03-16 05:10+0000\n" -"X-Generator: Launchpad (build 16532)\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 "" - -#. module: process -#: field:process.node,menu_id:0 -msgid "Related Menu" -msgstr "" - -#. module: process -#: selection:process.node,kind:0 -msgid "Status" -msgstr "" - -#. module: process -#: field:process.transition,action_ids:0 -msgid "Buttons" -msgstr "Dugmad" - -#. module: process -#: view:process.node:0 -#: view:process.process:0 -msgid "Group By..." -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 za pomoć" - -#. module: process -#: field:process.node,flow_start:0 -msgid "Starting Flow" -msgstr "" - -#. 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 -#: field:process.node,condition_ids:0 -#: view:process.process:0 -msgid "Conditions" -msgstr "Uslovi" - -#. 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 "Opis" - -#. 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 "Objekat" - -#. 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 -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:39 -#, python-format -msgid "Last modified by:" -msgstr "" - -#. module: process -#: field:process.transition.action,action:0 -msgid "Action ID" -msgstr "" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:7 -#, python-format -msgid "Process View" -msgstr "" - -#. 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 "Uslov" - -#. 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.transition.action,transition_id:0 -msgid "Transition" -msgstr "Prijelaz" - -#. 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 "Ime" - -#. module: process -#: field:process.node,transition_in:0 -msgid "Starting Transitions" -msgstr "" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:54 -#, python-format -msgid "Related:" -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 "Bilješke" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:88 -#, python-format -msgid "Edit Process" -msgstr "" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:39 -#, python-format -msgid "N/A" -msgstr "" - -#. module: process -#: view:process.process:0 -msgid "Search Process" -msgstr "" - -#. module: process -#: field:process.process,active:0 -msgid "Active" -msgstr "Aktivan" - -#. 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 "Akcija" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:67 -#, python-format -msgid "Select Process" -msgstr "" - -#. module: process -#: field:process.condition,model_states:0 -msgid "Expression" -msgstr "Izraz" - -#. 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 "Vrsta" - -#. module: process -#: field:process.node,transition_out:0 -msgid "Ending Transitions" -msgstr "" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/js/process.js:243 -#: code:addons/process/static/src/xml/process.xml:33 -#: model:ir.model,name:process.model_process_process -#: field:process.node,process_id:0 -#: view:process.process:0 -#, python-format -msgid "Process" -msgstr "Proces" - -#. 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 "Akcije" - -#. 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 -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:42 -#, python-format -msgid "Subflows:" -msgstr "" - -#. module: process -#: view:process.node:0 -#: view:process.process:0 -msgid "Outgoing Transitions" -msgstr "" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:36 -#, python-format -msgid "Notes:" -msgstr "" - -#. module: process -#: selection:process.node,kind:0 -#: field:process.node,subflow_id:0 -msgid "Subflow" -msgstr "" - -#. module: process -#: view:process.node:0 -#: view:process.process:0 -msgid "Transitions" -msgstr "Prijelazi" - -#. module: process -#: selection:process.transition.action,state:0 -msgid "Object Method" -msgstr "" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:77 -#, python-format -msgid "Select" -msgstr "" - -#~ msgid "Invalid XML for View Architecture!" -#~ msgstr "Neodgovarajući XML za arhitekturu prikaza!" - -#~ msgid "State" -#~ msgstr "Stanje" - -#~ msgid "" -#~ "The Object name must start with x_ and not contain any special character !" -#~ msgstr "" -#~ "Naziv Objekta mora počinjati sa x_ i ne smije sadržavati specijalne znakove!" - -#~ msgid "Details" -#~ msgstr "Detalji" - -#~ msgid "Roles" -#~ msgstr "Uloge" - -#~ msgid "Extra Information" -#~ msgstr "Dodatna Informacija" diff --git a/addons/process/i18n/ca.po b/addons/process/i18n/ca.po deleted file mode 100644 index bd2b6aa975f..00000000000 --- a/addons/process/i18n/ca.po +++ /dev/null @@ -1,433 +0,0 @@ -# Translation of OpenERP Server. -# This file contains the translation of the following modules: -# * process -# -msgid "" -msgstr "" -"Project-Id-Version: OpenERP Server 6.0dev\n" -"Report-Msgid-Bugs-To: support@openerp.com\n" -"POT-Creation-Date: 2012-12-21 17:06+0000\n" -"PO-Revision-Date: 2010-08-13 10:58+0000\n" -"Last-Translator: Fabien (Open ERP) \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-03-16 05:10+0000\n" -"X-Generator: Launchpad (build 16532)\n" - -#. module: process -#: model:ir.model,name:process.model_process_node -#: view:process.node:0 -#: view:process.process:0 -msgid "Process Node" -msgstr "Node procés" - -#. 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 "" -"Si el camp actiu es desmarca, permet ocultar el procés sense eliminar-ho." - -#. module: process -#: field:process.node,menu_id:0 -msgid "Related Menu" -msgstr "Menú relacionat" - -#. module: process -#: selection:process.node,kind:0 -msgid "Status" -msgstr "" - -#. module: process -#: field:process.transition,action_ids:0 -msgid "Buttons" -msgstr "Botons" - -#. module: process -#: view:process.node:0 -#: view:process.process:0 -msgid "Group By..." -msgstr "Agrupa per..." - -#. module: process -#: view:process.node:0 -msgid "Kind Of Node" -msgstr "Tipus de node" - -#. module: process -#: field:process.node,help_url:0 -msgid "Help URL" -msgstr "URL d'ajuda" - -#. module: process -#: field:process.node,flow_start:0 -msgid "Starting Flow" -msgstr "Inici fluxe de treball" - -#. 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 "Nodes procés" - -#. module: process -#: view:process.process:0 -#: field:process.process,node_ids:0 -msgid "Nodes" -msgstr "Nodes" - -#. module: process -#: field:process.node,condition_ids:0 -#: view:process.process:0 -msgid "Conditions" -msgstr "Condicions" - -#. module: process -#: view:process.transition:0 -msgid "Search Process Transition" -msgstr "Cerca transició procés" - -#. module: process -#: field:process.condition,node_id:0 -msgid "Node" -msgstr "Node" - -#. module: process -#: selection:process.transition.action,state:0 -msgid "Workflow Trigger" -msgstr "Disparador del flux de treball" - -#. module: process -#: field:process.transition,note:0 -msgid "Description" -msgstr "Descripció" - -#. module: process -#: model:ir.model,name:process.model_process_transition_action -msgid "Process Transitions Actions" -msgstr "Accions transicions procés" - -#. 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 "Objecte" - -#. module: process -#: field:process.transition,source_node_id:0 -msgid "Source Node" -msgstr "Node origen" - -#. module: process -#: view:process.transition:0 -#: field:process.transition,transition_ids:0 -msgid "Workflow Transitions" -msgstr "Transicions flux de treball" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:39 -#, python-format -msgid "Last modified by:" -msgstr "" - -#. module: process -#: field:process.transition.action,action:0 -msgid "Action ID" -msgstr "ID de l'acció" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:7 -#, python-format -msgid "Process View" -msgstr "" - -#. module: process -#: model:ir.model,name:process.model_process_transition -#: view:process.transition:0 -msgid "Process Transition" -msgstr "Transició procés" - -#. module: process -#: model:ir.model,name:process.model_process_condition -msgid "Condition" -msgstr "Condició" - -#. module: process -#: selection:process.transition.action,state:0 -msgid "Dummy" -msgstr "Fictici" - -#. module: process -#: model:ir.actions.act_window,name:process.action_process_form -#: model:ir.ui.menu,name:process.menu_process_form -msgid "Processes" -msgstr "Processos" - -#. module: process -#: field:process.transition.action,transition_id:0 -msgid "Transition" -msgstr "Transició" - -#. 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 "Nom" - -#. module: process -#: field:process.node,transition_in:0 -msgid "Starting Transitions" -msgstr "Transicions inicials" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:54 -#, python-format -msgid "Related:" -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 "Notes" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:88 -#, python-format -msgid "Edit Process" -msgstr "" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:39 -#, python-format -msgid "N/A" -msgstr "" - -#. module: process -#: view:process.process:0 -msgid "Search Process" -msgstr "Cerca procés" - -#. module: process -#: field:process.process,active:0 -msgid "Active" -msgstr "Actiu" - -#. module: process -#: view:process.transition:0 -msgid "Associated Groups" -msgstr "Grups associats" - -#. module: process -#: field:process.node,model_states:0 -msgid "States Expression" -msgstr "Expressió dels estats" - -#. module: process -#: selection:process.transition.action,state:0 -msgid "Action" -msgstr "Acció" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:67 -#, python-format -msgid "Select Process" -msgstr "" - -#. module: process -#: field:process.condition,model_states:0 -msgid "Expression" -msgstr "Expressió" - -#. module: process -#: field:process.transition,group_ids:0 -msgid "Required Groups" -msgstr "Grups requerits" - -#. module: process -#: view:process.node:0 -#: view:process.process:0 -msgid "Incoming Transitions" -msgstr "Transicions entrants" - -#. module: process -#: field:process.transition.action,state:0 -msgid "Type" -msgstr "Tipus" - -#. module: process -#: field:process.node,transition_out:0 -msgid "Ending Transitions" -msgstr "Transicions finals" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/js/process.js:243 -#: code:addons/process/static/src/xml/process.xml:33 -#: model:ir.model,name:process.model_process_process -#: field:process.node,process_id:0 -#: view:process.process:0 -#, python-format -msgid "Process" -msgstr "Procés" - -#. module: process -#: view:process.node:0 -msgid "Search ProcessNode" -msgstr "Cerca node procés" - -#. module: process -#: view:process.node:0 -#: view:process.process:0 -msgid "Other Conditions" -msgstr "Altres condicions" - -#. module: process -#: model:ir.ui.menu,name:process.menu_process -msgid "Enterprise Process" -msgstr "Procés empresa" - -#. module: process -#: view:process.transition:0 -msgid "Actions" -msgstr "Accions" - -#. module: process -#: view:process.node:0 -#: view:process.process:0 -msgid "Properties" -msgstr "Propietats" - -#. 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 "Transicions procés" - -#. module: process -#: field:process.transition,target_node_id:0 -msgid "Target Node" -msgstr "Node destí" - -#. module: process -#: field:process.node,kind:0 -msgid "Kind of Node" -msgstr "Classe de node" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:42 -#, python-format -msgid "Subflows:" -msgstr "" - -#. module: process -#: view:process.node:0 -#: view:process.process:0 -msgid "Outgoing Transitions" -msgstr "Transicions sortints" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:36 -#, python-format -msgid "Notes:" -msgstr "" - -#. module: process -#: selection:process.node,kind:0 -#: field:process.node,subflow_id:0 -msgid "Subflow" -msgstr "Subfluxe" - -#. module: process -#: view:process.node:0 -#: view:process.process:0 -msgid "Transitions" -msgstr "Transicions" - -#. module: process -#: selection:process.transition.action,state:0 -msgid "Object Method" -msgstr "Mètode objecte" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:77 -#, python-format -msgid "Select" -msgstr "" - -#~ msgid "" -#~ "The Object name must start with x_ and not contain any special character !" -#~ msgstr "" -#~ "El nom de l'objecte ha de començar amb x_ i no contenir cap caràcter " -#~ "especial!" - -#~ msgid "Roles from Workflow" -#~ msgstr "Rols des de flux" - -#~ msgid "State" -#~ msgstr "Estat" - -#~ msgid "Details" -#~ msgstr "Detalls" - -#~ msgid "Invalid XML for View Architecture!" -#~ msgstr "XML invàlid per a la definició de la vista!" - -#~ msgid "Roles" -#~ msgstr "Rols" - -#~ msgid "Roles Required" -#~ msgstr "Rols necessaris" - -#~ msgid "Extra Information" -#~ msgstr "Informació extra" - -#~ msgid "Enterprise Processes" -#~ msgstr "Processos d'empresa" - -#~ msgid "Invalid model name in the action definition." -#~ msgstr "Nom de model no vàlid en la definició de l'acció." - -#~ msgid "" -#~ "\n" -#~ " This module shows the basic processes involved\n" -#~ " in the selected modules and in the sequence they\n" -#~ " occur\n" -#~ "\n" -#~ " Note: This applies to the modules containing modulename_process_xml\n" -#~ " for e.g product/process/product_process_xml\n" -#~ "\n" -#~ " " -#~ msgstr "" -#~ "\n" -#~ " Aquest mòdul mostra els processos bàsics en\n" -#~ " els quals intervenen els mòduls seleccionats, i\n" -#~ " la seqüència en la qual succeeix.\n" -#~ "\n" -#~ " Nota: Això és aplicable als mòduls que contenen nomdelmòdul_procés_xml\n" -#~ " per exemple product/process/product_process_xml\n" -#~ "\n" -#~ " " diff --git a/addons/process/i18n/cs.po b/addons/process/i18n/cs.po deleted file mode 100644 index ee025600690..00000000000 --- a/addons/process/i18n/cs.po +++ /dev/null @@ -1,405 +0,0 @@ -# Translation of OpenERP Server. -# This file contains the translation of the following modules: -# * process -# -msgid "" -msgstr "" -"Project-Id-Version: OpenERP Server 6.0dev\n" -"Report-Msgid-Bugs-To: support@openerp.com\n" -"POT-Creation-Date: 2012-12-21 17:06+0000\n" -"PO-Revision-Date: 2011-05-09 08:59+0000\n" -"Last-Translator: Jan B. Krejčí \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-03-16 05:10+0000\n" -"X-Generator: Launchpad (build 16532)\n" -"X-Poedit-Language: Czech\n" - -#. module: process -#: model:ir.model,name:process.model_process_node -#: view:process.node:0 -#: view:process.process:0 -msgid "Process Node" -msgstr "Uzel procesu" - -#. 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 "" -"Pokud je pole aktivní nastaveno na Nepravda, umožní vám to skrýt procesy bez " -"jejich odebrání." - -#. module: process -#: field:process.node,menu_id:0 -msgid "Related Menu" -msgstr "Nabídka Příbuzné" - -#. module: process -#: selection:process.node,kind:0 -msgid "Status" -msgstr "Stav" - -#. module: process -#: field:process.transition,action_ids:0 -msgid "Buttons" -msgstr "Tlačítka" - -#. module: process -#: view:process.node:0 -#: view:process.process:0 -msgid "Group By..." -msgstr "Seskupit podle..." - -#. module: process -#: view:process.node:0 -msgid "Kind Of Node" -msgstr "Druh uzlu" - -#. module: process -#: field:process.node,help_url:0 -msgid "Help URL" -msgstr "Adresa URL nápovědy" - -#. module: process -#: field:process.node,flow_start:0 -msgid "Starting Flow" -msgstr "Začátek toku" - -#. 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 "Uzly procesu" - -#. module: process -#: view:process.process:0 -#: field:process.process,node_ids:0 -msgid "Nodes" -msgstr "Uzly" - -#. module: process -#: field:process.node,condition_ids:0 -#: view:process.process:0 -msgid "Conditions" -msgstr "Podmínky" - -#. module: process -#: view:process.transition:0 -msgid "Search Process Transition" -msgstr "Hledání procesních přechodů" - -#. module: process -#: field:process.condition,node_id:0 -msgid "Node" -msgstr "Uzel" - -#. module: process -#: selection:process.transition.action,state:0 -msgid "Workflow Trigger" -msgstr "Spouštěč pracovního toku" - -#. module: process -#: field:process.transition,note:0 -msgid "Description" -msgstr "Popis" - -#. module: process -#: model:ir.model,name:process.model_process_transition_action -msgid "Process Transitions Actions" -msgstr "Akce procesních přechodů" - -#. 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 "Objekt" - -#. module: process -#: field:process.transition,source_node_id:0 -msgid "Source Node" -msgstr "Zdrojový uzel" - -#. module: process -#: view:process.transition:0 -#: field:process.transition,transition_ids:0 -msgid "Workflow Transitions" -msgstr "Přechody pracovního toku" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:39 -#, python-format -msgid "Last modified by:" -msgstr "Naposledy změněno:" - -#. module: process -#: field:process.transition.action,action:0 -msgid "Action ID" -msgstr "ID akce" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:7 -#, python-format -msgid "Process View" -msgstr "Pohled procesu" - -#. module: process -#: model:ir.model,name:process.model_process_transition -#: view:process.transition:0 -msgid "Process Transition" -msgstr "Přechod procesu" - -#. module: process -#: model:ir.model,name:process.model_process_condition -msgid "Condition" -msgstr "Podmínka" - -#. module: process -#: selection:process.transition.action,state:0 -msgid "Dummy" -msgstr "Prázdný" - -#. module: process -#: model:ir.actions.act_window,name:process.action_process_form -#: model:ir.ui.menu,name:process.menu_process_form -msgid "Processes" -msgstr "Procesy" - -#. module: process -#: field:process.transition.action,transition_id:0 -msgid "Transition" -msgstr "Přechod" - -#. 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 "Název" - -#. module: process -#: field:process.node,transition_in:0 -msgid "Starting Transitions" -msgstr "Vstupní přechody" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:54 -#, python-format -msgid "Related:" -msgstr "Související:" - -#. 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 "Poznámky" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:88 -#, python-format -msgid "Edit Process" -msgstr "Upravit proces" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:39 -#, python-format -msgid "N/A" -msgstr "Neznáme" - -#. module: process -#: view:process.process:0 -msgid "Search Process" -msgstr "Hledání procesu" - -#. module: process -#: field:process.process,active:0 -msgid "Active" -msgstr "Aktivní" - -#. module: process -#: view:process.transition:0 -msgid "Associated Groups" -msgstr "Přiřazené skupiny" - -#. module: process -#: field:process.node,model_states:0 -msgid "States Expression" -msgstr "Stavový výraz" - -#. module: process -#: selection:process.transition.action,state:0 -msgid "Action" -msgstr "Akce" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:67 -#, python-format -msgid "Select Process" -msgstr "Vybrat proces" - -#. module: process -#: field:process.condition,model_states:0 -msgid "Expression" -msgstr "Výraz" - -#. module: process -#: field:process.transition,group_ids:0 -msgid "Required Groups" -msgstr "Požadované skupiny" - -#. module: process -#: view:process.node:0 -#: view:process.process:0 -msgid "Incoming Transitions" -msgstr "Příchozí přechody" - -#. module: process -#: field:process.transition.action,state:0 -msgid "Type" -msgstr "Typ" - -#. module: process -#: field:process.node,transition_out:0 -msgid "Ending Transitions" -msgstr "Odchozí přechody" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/js/process.js:243 -#: code:addons/process/static/src/xml/process.xml:33 -#: model:ir.model,name:process.model_process_process -#: field:process.node,process_id:0 -#: view:process.process:0 -#, python-format -msgid "Process" -msgstr "Proces" - -#. module: process -#: view:process.node:0 -msgid "Search ProcessNode" -msgstr "Hledání procesního uzlu" - -#. module: process -#: view:process.node:0 -#: view:process.process:0 -msgid "Other Conditions" -msgstr "Jiné podmínky" - -#. module: process -#: model:ir.ui.menu,name:process.menu_process -msgid "Enterprise Process" -msgstr "Firemní proces" - -#. module: process -#: view:process.transition:0 -msgid "Actions" -msgstr "Akce" - -#. module: process -#: view:process.node:0 -#: view:process.process:0 -msgid "Properties" -msgstr "Vlastnosti" - -#. 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 "Procesní přechody" - -#. module: process -#: field:process.transition,target_node_id:0 -msgid "Target Node" -msgstr "Cílový uzel" - -#. module: process -#: field:process.node,kind:0 -msgid "Kind of Node" -msgstr "Druh uzlu" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:42 -#, python-format -msgid "Subflows:" -msgstr "Podtoky:" - -#. module: process -#: view:process.node:0 -#: view:process.process:0 -msgid "Outgoing Transitions" -msgstr "Odchozí přechody" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:36 -#, python-format -msgid "Notes:" -msgstr "Poznámky:" - -#. module: process -#: selection:process.node,kind:0 -#: field:process.node,subflow_id:0 -msgid "Subflow" -msgstr "Subflow" - -#. module: process -#: view:process.node:0 -#: view:process.process:0 -msgid "Transitions" -msgstr "Přechody" - -#. module: process -#: selection:process.transition.action,state:0 -msgid "Object Method" -msgstr "Metoda objektu" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:77 -#, python-format -msgid "Select" -msgstr "Vybrat" - -#~ msgid "State" -#~ msgstr "Stav" - -#~ msgid "" -#~ "\n" -#~ " This module shows the basic processes involved\n" -#~ " in the selected modules and in the sequence they\n" -#~ " occur\n" -#~ "\n" -#~ " Note: This applies to the modules containing modulename_process_xml\n" -#~ " for e.g product/process/product_process_xml\n" -#~ "\n" -#~ " " -#~ msgstr "" -#~ "\n" -#~ " Tento modul ukazuje základní procesy zapojené\n" -#~ " ve vybraných modulech a posloupnosti, ve kterých\n" -#~ " nastávají\n" -#~ "\n" -#~ " Poznámka: Toto platí pro moduly obsahující modulename_process_xml\n" -#~ " např.pro product/process/product_process_xml\n" -#~ "\n" -#~ " " diff --git a/addons/process/i18n/da.po b/addons/process/i18n/da.po deleted file mode 100644 index 83111729ee8..00000000000 --- a/addons/process/i18n/da.po +++ /dev/null @@ -1,379 +0,0 @@ -# Danish 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-12-21 17:06+0000\n" -"PO-Revision-Date: 2012-01-27 06:22+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Danish \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:10+0000\n" -"X-Generator: Launchpad (build 16532)\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 "" - -#. module: process -#: field:process.node,menu_id:0 -msgid "Related Menu" -msgstr "" - -#. module: process -#: selection:process.node,kind:0 -msgid "Status" -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 -#: view:process.node:0 -msgid "Kind Of Node" -msgstr "" - -#. module: process -#: field:process.node,help_url:0 -msgid "Help URL" -msgstr "" - -#. module: process -#: field:process.node,flow_start:0 -msgid "Starting Flow" -msgstr "" - -#. 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 -#: 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 -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:39 -#, python-format -msgid "Last modified by:" -msgstr "" - -#. module: process -#: field:process.transition.action,action:0 -msgid "Action ID" -msgstr "" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:7 -#, python-format -msgid "Process View" -msgstr "" - -#. 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.transition.action,transition_id:0 -msgid "Transition" -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 -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:54 -#, python-format -msgid "Related:" -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 -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:88 -#, python-format -msgid "Edit Process" -msgstr "" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:39 -#, python-format -msgid "N/A" -msgstr "" - -#. module: process -#: view:process.process:0 -msgid "Search Process" -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 -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:67 -#, python-format -msgid "Select Process" -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 -#. openerp-web -#: code:addons/process/static/src/js/process.js:243 -#: code:addons/process/static/src/xml/process.xml:33 -#: model:ir.model,name:process.model_process_process -#: field:process.node,process_id:0 -#: view:process.process:0 -#, python-format -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 -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:42 -#, python-format -msgid "Subflows:" -msgstr "" - -#. module: process -#: view:process.node:0 -#: view:process.process:0 -msgid "Outgoing Transitions" -msgstr "" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:36 -#, python-format -msgid "Notes:" -msgstr "" - -#. module: process -#: selection:process.node,kind:0 -#: field:process.node,subflow_id:0 -msgid "Subflow" -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 "" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:77 -#, python-format -msgid "Select" -msgstr "" diff --git a/addons/process/i18n/de.po b/addons/process/i18n/de.po deleted file mode 100644 index 5b5bf3c954b..00000000000 --- a/addons/process/i18n/de.po +++ /dev/null @@ -1,435 +0,0 @@ -# Translation of OpenERP Server. -# This file contains the translation of the following modules: -# * process -# -msgid "" -msgstr "" -"Project-Id-Version: OpenERP Server 6.0dev\n" -"Report-Msgid-Bugs-To: support@openerp.com\n" -"POT-Creation-Date: 2012-12-21 17:06+0000\n" -"PO-Revision-Date: 2012-12-11 17:09+0000\n" -"Last-Translator: Thorsten Vocks (OpenBig.org) \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-03-16 05:10+0000\n" -"X-Generator: Launchpad (build 16532)\n" - -#. module: process -#: model:ir.model,name:process.model_process_node -#: view:process.node:0 -#: view:process.process:0 -msgid "Process Node" -msgstr "Prozessknoten" - -#. 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 "Bei Deaktivierung können Sie die Anzeige dieses Prozess verbergen." - -#. module: process -#: field:process.node,menu_id:0 -msgid "Related Menu" -msgstr "Bezug zu Menü" - -#. module: process -#: selection:process.node,kind:0 -msgid "Status" -msgstr "Status" - -#. module: process -#: field:process.transition,action_ids:0 -msgid "Buttons" -msgstr "Buttons" - -#. module: process -#: view:process.node:0 -#: view:process.process:0 -msgid "Group By..." -msgstr "Gruppierung..." - -#. module: process -#: view:process.node:0 -msgid "Kind Of Node" -msgstr "Typ Knoten" - -#. module: process -#: field:process.node,help_url:0 -msgid "Help URL" -msgstr "Dokumentation URL" - -#. module: process -#: field:process.node,flow_start:0 -msgid "Starting Flow" -msgstr "Startvorgang" - -#. 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 "Prozessknoten" - -#. module: process -#: view:process.process:0 -#: field:process.process,node_ids:0 -msgid "Nodes" -msgstr "Knoten" - -#. module: process -#: field:process.node,condition_ids:0 -#: view:process.process:0 -msgid "Conditions" -msgstr "Bedingungen" - -#. module: process -#: view:process.transition:0 -msgid "Search Process Transition" -msgstr "Suche Prozessverkettung" - -#. module: process -#: field:process.condition,node_id:0 -msgid "Node" -msgstr "Knoten" - -#. module: process -#: selection:process.transition.action,state:0 -msgid "Workflow Trigger" -msgstr "Vorgangsauslöser" - -#. module: process -#: field:process.transition,note:0 -msgid "Description" -msgstr "Beschreibung" - -#. module: process -#: model:ir.model,name:process.model_process_transition_action -msgid "Process Transitions Actions" -msgstr "Prozessverbindung Aktionen" - -#. 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 "Objekt" - -#. module: process -#: field:process.transition,source_node_id:0 -msgid "Source Node" -msgstr "Quellknoten" - -#. module: process -#: view:process.transition:0 -#: field:process.transition,transition_ids:0 -msgid "Workflow Transitions" -msgstr "Vorgangsverkettungen" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:39 -#, python-format -msgid "Last modified by:" -msgstr "Zuletzt bearbeitet von:" - -#. module: process -#: field:process.transition.action,action:0 -msgid "Action ID" -msgstr "Verkettungsaktion ID" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:7 -#, python-format -msgid "Process View" -msgstr "Prozess Ansicht" - -#. module: process -#: model:ir.model,name:process.model_process_transition -#: view:process.transition:0 -msgid "Process Transition" -msgstr "Vorgangsverkettung" - -#. module: process -#: model:ir.model,name:process.model_process_condition -msgid "Condition" -msgstr "Bedingung" - -#. module: process -#: selection:process.transition.action,state:0 -msgid "Dummy" -msgstr "Dummy" - -#. module: process -#: model:ir.actions.act_window,name:process.action_process_form -#: model:ir.ui.menu,name:process.menu_process_form -msgid "Processes" -msgstr "Betriebliche Geschäftsprozesse" - -#. module: process -#: field:process.transition.action,transition_id:0 -msgid "Transition" -msgstr "Übersetzung" - -#. 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 "Bezeichnung" - -#. module: process -#: field:process.node,transition_in:0 -msgid "Starting Transitions" -msgstr "Anfang Kette" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:54 -#, python-format -msgid "Related:" -msgstr "Zugehörig:" - -#. 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 "Bemerkungen" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:88 -#, python-format -msgid "Edit Process" -msgstr "Prozess bearbeiten" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:39 -#, python-format -msgid "N/A" -msgstr "" - -#. module: process -#: view:process.process:0 -msgid "Search Process" -msgstr "Suche Prozess" - -#. module: process -#: field:process.process,active:0 -msgid "Active" -msgstr "Aktiv" - -#. module: process -#: view:process.transition:0 -msgid "Associated Groups" -msgstr "Zugelassene Gruppen" - -#. module: process -#: field:process.node,model_states:0 -msgid "States Expression" -msgstr "Status Merkmale" - -#. module: process -#: selection:process.transition.action,state:0 -msgid "Action" -msgstr "Aktion" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:67 -#, python-format -msgid "Select Process" -msgstr "Prozess auswählen" - -#. module: process -#: field:process.condition,model_states:0 -msgid "Expression" -msgstr "Trigger Ausdrücke" - -#. module: process -#: field:process.transition,group_ids:0 -msgid "Required Groups" -msgstr "Erforderliche Gruppen" - -#. module: process -#: view:process.node:0 -#: view:process.process:0 -msgid "Incoming Transitions" -msgstr "Eingehende Verbindung" - -#. module: process -#: field:process.transition.action,state:0 -msgid "Type" -msgstr "Typ" - -#. module: process -#: field:process.node,transition_out:0 -msgid "Ending Transitions" -msgstr "Ende Kette" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/js/process.js:243 -#: code:addons/process/static/src/xml/process.xml:33 -#: model:ir.model,name:process.model_process_process -#: field:process.node,process_id:0 -#: view:process.process:0 -#, python-format -msgid "Process" -msgstr "Prozesse" - -#. module: process -#: view:process.node:0 -msgid "Search ProcessNode" -msgstr "Suche Prozessknoten" - -#. module: process -#: view:process.node:0 -#: view:process.process:0 -msgid "Other Conditions" -msgstr "Weitere Bedingungen" - -#. module: process -#: model:ir.ui.menu,name:process.menu_process -msgid "Enterprise Process" -msgstr "Unternehmens Prozess" - -#. module: process -#: view:process.transition:0 -msgid "Actions" -msgstr "Aktionen" - -#. module: process -#: view:process.node:0 -#: view:process.process:0 -msgid "Properties" -msgstr "Eigenschaften" - -#. 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 "Prozessverkettungen" - -#. module: process -#: field:process.transition,target_node_id:0 -msgid "Target Node" -msgstr "Ziel Knoten" - -#. module: process -#: field:process.node,kind:0 -msgid "Kind of Node" -msgstr "Typ Knoten" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:42 -#, python-format -msgid "Subflows:" -msgstr "Unterprozesse:" - -#. module: process -#: view:process.node:0 -#: view:process.process:0 -msgid "Outgoing Transitions" -msgstr "Ausgehende Verbindung" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:36 -#, python-format -msgid "Notes:" -msgstr "" - -#. module: process -#: selection:process.node,kind:0 -#: field:process.node,subflow_id:0 -msgid "Subflow" -msgstr "Sub Workflow" - -#. module: process -#: view:process.node:0 -#: view:process.process:0 -msgid "Transitions" -msgstr "Verbindungen" - -#. module: process -#: selection:process.transition.action,state:0 -msgid "Object Method" -msgstr "Objekt Methode" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:77 -#, python-format -msgid "Select" -msgstr "Auswählen" - -#~ msgid "" -#~ "The Object name must start with x_ and not contain any special character !" -#~ msgstr "" -#~ "Der Objekt Name muss mit einem x_ starten und darf keine Sonderzeichen " -#~ "beinhalten" - -#~ msgid "Roles from Workflow" -#~ msgstr "Regeln aus Workflow" - -#~ msgid "State" -#~ msgstr "Status" - -#~ msgid "Details" -#~ msgstr "Details" - -#~ msgid "Invalid XML for View Architecture!" -#~ msgstr "Fehlerhafter xml Code für diese Ansicht!" - -#~ msgid "Roles" -#~ msgstr "Rollen" - -#~ msgid "Roles Required" -#~ msgstr "zu beachtende Regel" - -#~ msgid "Extra Information" -#~ msgstr "Extra Information" - -#~ msgid "Enterprise Processes" -#~ msgstr "Betriebliche Geschäftsprozesse" - -#~ msgid "Invalid model name in the action definition." -#~ msgstr "Ungültiger Modulname in der Aktionsdefinition." - -#~ msgid "" -#~ "\n" -#~ " This module shows the basic processes involved\n" -#~ " in the selected modules and in the sequence they\n" -#~ " occur\n" -#~ "\n" -#~ " Note: This applies to the modules containing modulename_process_xml\n" -#~ " for e.g product/process/product_process_xml\n" -#~ "\n" -#~ " " -#~ msgstr "" -#~ "\n" -#~ " Dieses Anwendung zeigt die grundlegenden Prozesse in den ausgewählten " -#~ "Modulen \n" -#~ " sowie die Reihenfolge in der die Prozesse auftreten.\n" -#~ "\n" -#~ " Hinweis: Die Anwendung erfolgt bei Modulen die xml Dateien nach dem " -#~ "Muster \n" -#~ " modulename_process_name beinhalten, z.B. " -#~ "product/process/product_process_xml\n" -#~ "\n" -#~ " " diff --git a/addons/process/i18n/el.po b/addons/process/i18n/el.po deleted file mode 100644 index 543a7f65bc7..00000000000 --- a/addons/process/i18n/el.po +++ /dev/null @@ -1,414 +0,0 @@ -# Translation of OpenERP Server. -# This file contains the translation of the following modules: -# * process -# -msgid "" -msgstr "" -"Project-Id-Version: OpenERP Server 6.0dev\n" -"Report-Msgid-Bugs-To: support@openerp.com\n" -"POT-Creation-Date: 2012-12-21 17:06+0000\n" -"PO-Revision-Date: 2010-12-09 11:29+0000\n" -"Last-Translator: OpenERP Administrators \n" -"Language-Team: nls@hellug.gr \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:10+0000\n" -"X-Generator: Launchpad (build 16532)\n" -"X-Poedit-Country: GREECE\n" -"X-Poedit-Language: Greek\n" -"X-Poedit-SourceCharset: utf-8\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 "" - -#. module: process -#: field:process.node,menu_id:0 -msgid "Related Menu" -msgstr "Σχετικό Μενού" - -#. module: process -#: selection:process.node,kind:0 -msgid "Status" -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 -#: view:process.node:0 -msgid "Kind Of Node" -msgstr "" - -#. module: process -#: field:process.node,help_url:0 -msgid "Help URL" -msgstr "URL Βοήθειας" - -#. module: process -#: field:process.node,flow_start:0 -msgid "Starting Flow" -msgstr "Εκκίνηση Ροών" - -#. 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 -#: 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 -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:39 -#, python-format -msgid "Last modified by:" -msgstr "" - -#. module: process -#: field:process.transition.action,action:0 -msgid "Action ID" -msgstr "ID Ενέργειας" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:7 -#, python-format -msgid "Process View" -msgstr "" - -#. 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.transition.action,transition_id:0 -msgid "Transition" -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 -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:54 -#, python-format -msgid "Related:" -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 -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:88 -#, python-format -msgid "Edit Process" -msgstr "" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:39 -#, python-format -msgid "N/A" -msgstr "" - -#. module: process -#: view:process.process:0 -msgid "Search Process" -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 -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:67 -#, python-format -msgid "Select Process" -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 -#. openerp-web -#: code:addons/process/static/src/js/process.js:243 -#: code:addons/process/static/src/xml/process.xml:33 -#: model:ir.model,name:process.model_process_process -#: field:process.node,process_id:0 -#: view:process.process:0 -#, python-format -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 -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:42 -#, python-format -msgid "Subflows:" -msgstr "" - -#. module: process -#: view:process.node:0 -#: view:process.process:0 -msgid "Outgoing Transitions" -msgstr "Εξερχόμενες Μεταβάσεις" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:36 -#, python-format -msgid "Notes:" -msgstr "" - -#. module: process -#: selection:process.node,kind:0 -#: field:process.node,subflow_id:0 -msgid "Subflow" -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 "Μέθοδος Αντικειμένων" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:77 -#, python-format -msgid "Select" -msgstr "" - -#~ msgid "" -#~ "The Object name must start with x_ and not contain any special character !" -#~ msgstr "" -#~ "Το όνομα του αντικειμένου πρέπει να ξεκινάει από x_ και να μην περιέχει " -#~ "ειδικούς χαρακτήρες!" - -#~ msgid "Roles from Workflow" -#~ msgstr "Ρόλοι από Ροή Εργασίας" - -#~ msgid "State" -#~ msgstr "Κατάσταση" - -#~ msgid "Details" -#~ msgstr "Λεπτομέρειες" - -#~ msgid "Invalid XML for View Architecture!" -#~ msgstr "Άκυρο XML για Αρχιτεκτονική Όψης!" - -#~ msgid "Roles" -#~ msgstr "Ρόλοι" - -#~ msgid "Roles Required" -#~ msgstr "Απιατούμενοι Ρόλοι" - -#~ msgid "Extra Information" -#~ msgstr "Επιπλέον Πληροφορίες" - -#~ msgid "Enterprise Processes" -#~ msgstr "Επιχειρηματικές Διεργασίες" - -#~ msgid "Invalid model name in the action definition." -#~ msgstr "Λανθασμένο όνομα μοντέλου στην δήλωση ενέργειας" diff --git a/addons/process/i18n/es.po b/addons/process/i18n/es.po deleted file mode 100644 index 6b8cc832741..00000000000 --- a/addons/process/i18n/es.po +++ /dev/null @@ -1,434 +0,0 @@ -# Translation of OpenERP Server. -# This file contains the translation of the following modules: -# * process -# -msgid "" -msgstr "" -"Project-Id-Version: OpenERP Server 6.0dev\n" -"Report-Msgid-Bugs-To: support@openerp.com\n" -"POT-Creation-Date: 2012-12-21 17:06+0000\n" -"PO-Revision-Date: 2012-12-12 15:36+0000\n" -"Last-Translator: Pedro Manuel Baeza \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-03-16 05:10+0000\n" -"X-Generator: Launchpad (build 16532)\n" - -#. module: process -#: model:ir.model,name:process.model_process_node -#: view:process.node:0 -#: view:process.process:0 -msgid "Process Node" -msgstr "Nodo proceso" - -#. 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 "" -"Si el campo activo se desmarca, permite ocultar el proceso sin eliminarlo." - -#. module: process -#: field:process.node,menu_id:0 -msgid "Related Menu" -msgstr "Menú relacionado" - -#. module: process -#: selection:process.node,kind:0 -msgid "Status" -msgstr "Estado" - -#. module: process -#: field:process.transition,action_ids:0 -msgid "Buttons" -msgstr "Botones" - -#. module: process -#: view:process.node:0 -#: view:process.process:0 -msgid "Group By..." -msgstr "Agrupar por..." - -#. module: process -#: view:process.node:0 -msgid "Kind Of Node" -msgstr "Tipo de nodo" - -#. module: process -#: field:process.node,help_url:0 -msgid "Help URL" -msgstr "URL de ayuda" - -#. module: process -#: field:process.node,flow_start:0 -msgid "Starting Flow" -msgstr "Inicio flujo de trabajo" - -#. 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 "Nodos proceso" - -#. module: process -#: view:process.process:0 -#: field:process.process,node_ids:0 -msgid "Nodes" -msgstr "Nodos" - -#. module: process -#: field:process.node,condition_ids:0 -#: view:process.process:0 -msgid "Conditions" -msgstr "Condiciones" - -#. module: process -#: view:process.transition:0 -msgid "Search Process Transition" -msgstr "Buscar transición proceso" - -#. module: process -#: field:process.condition,node_id:0 -msgid "Node" -msgstr "Nodo" - -#. module: process -#: selection:process.transition.action,state:0 -msgid "Workflow Trigger" -msgstr "Disparador del flujo de trabajo" - -#. module: process -#: field:process.transition,note:0 -msgid "Description" -msgstr "Descripción" - -#. module: process -#: model:ir.model,name:process.model_process_transition_action -msgid "Process Transitions Actions" -msgstr "Acciones transiciones proceso" - -#. 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 "Objeto" - -#. module: process -#: field:process.transition,source_node_id:0 -msgid "Source Node" -msgstr "Nodo origen" - -#. module: process -#: view:process.transition:0 -#: field:process.transition,transition_ids:0 -msgid "Workflow Transitions" -msgstr "Transiciones flujo de trabajo" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:39 -#, python-format -msgid "Last modified by:" -msgstr "Última modificación por:" - -#. module: process -#: field:process.transition.action,action:0 -msgid "Action ID" -msgstr "ID de la acción" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:7 -#, python-format -msgid "Process View" -msgstr "Vista del proceso" - -#. module: process -#: model:ir.model,name:process.model_process_transition -#: view:process.transition:0 -msgid "Process Transition" -msgstr "Transición proceso" - -#. module: process -#: model:ir.model,name:process.model_process_condition -msgid "Condition" -msgstr "Condición" - -#. module: process -#: selection:process.transition.action,state:0 -msgid "Dummy" -msgstr "De relleno" - -#. module: process -#: model:ir.actions.act_window,name:process.action_process_form -#: model:ir.ui.menu,name:process.menu_process_form -msgid "Processes" -msgstr "Procesos" - -#. module: process -#: field:process.transition.action,transition_id:0 -msgid "Transition" -msgstr "Transición" - -#. 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 "Nombre" - -#. module: process -#: field:process.node,transition_in:0 -msgid "Starting Transitions" -msgstr "Transiciones iniciales" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:54 -#, python-format -msgid "Related:" -msgstr "Relacionado:" - -#. 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 "Notas" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:88 -#, python-format -msgid "Edit Process" -msgstr "Editar proceso" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:39 -#, python-format -msgid "N/A" -msgstr "N/A" - -#. module: process -#: view:process.process:0 -msgid "Search Process" -msgstr "Buscar proceso" - -#. module: process -#: field:process.process,active:0 -msgid "Active" -msgstr "Activo" - -#. module: process -#: view:process.transition:0 -msgid "Associated Groups" -msgstr "Grupos asociados" - -#. module: process -#: field:process.node,model_states:0 -msgid "States Expression" -msgstr "Expresión de los estados" - -#. module: process -#: selection:process.transition.action,state:0 -msgid "Action" -msgstr "Acción" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:67 -#, python-format -msgid "Select Process" -msgstr "Seleccionar proceso" - -#. module: process -#: field:process.condition,model_states:0 -msgid "Expression" -msgstr "Expresión" - -#. module: process -#: field:process.transition,group_ids:0 -msgid "Required Groups" -msgstr "Grupos requeridos" - -#. module: process -#: view:process.node:0 -#: view:process.process:0 -msgid "Incoming Transitions" -msgstr "Transiciones entrantes" - -#. module: process -#: field:process.transition.action,state:0 -msgid "Type" -msgstr "Tipo" - -#. module: process -#: field:process.node,transition_out:0 -msgid "Ending Transitions" -msgstr "Transiciones finales" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/js/process.js:243 -#: code:addons/process/static/src/xml/process.xml:33 -#: model:ir.model,name:process.model_process_process -#: field:process.node,process_id:0 -#: view:process.process:0 -#, python-format -msgid "Process" -msgstr "Proceso" - -#. module: process -#: view:process.node:0 -msgid "Search ProcessNode" -msgstr "Buscar nodo proceso" - -#. module: process -#: view:process.node:0 -#: view:process.process:0 -msgid "Other Conditions" -msgstr "Otras condiciones" - -#. module: process -#: model:ir.ui.menu,name:process.menu_process -msgid "Enterprise Process" -msgstr "Proceso empresa" - -#. module: process -#: view:process.transition:0 -msgid "Actions" -msgstr "Acciones" - -#. module: process -#: view:process.node:0 -#: view:process.process:0 -msgid "Properties" -msgstr "Propiedades" - -#. 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 "Transiciones proceso" - -#. module: process -#: field:process.transition,target_node_id:0 -msgid "Target Node" -msgstr "Nodo destino" - -#. module: process -#: field:process.node,kind:0 -msgid "Kind of Node" -msgstr "Clase de nodo" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:42 -#, python-format -msgid "Subflows:" -msgstr "Subflujos:" - -#. module: process -#: view:process.node:0 -#: view:process.process:0 -msgid "Outgoing Transitions" -msgstr "Transiciones salientes" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:36 -#, python-format -msgid "Notes:" -msgstr "Notas:" - -#. module: process -#: selection:process.node,kind:0 -#: field:process.node,subflow_id:0 -msgid "Subflow" -msgstr "Subflujo" - -#. module: process -#: view:process.node:0 -#: view:process.process:0 -msgid "Transitions" -msgstr "Transiciones" - -#. module: process -#: selection:process.transition.action,state:0 -msgid "Object Method" -msgstr "Método objeto" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:77 -#, python-format -msgid "Select" -msgstr "Seleccionar" - -#~ msgid "" -#~ "The Object name must start with x_ and not contain any special character !" -#~ msgstr "" -#~ "¡El nombre del objeto debe empezar con x_ y no contener ningún carácter " -#~ "especial!" - -#~ msgid "Roles from Workflow" -#~ msgstr "Roles desde flujo" - -#~ msgid "State" -#~ msgstr "Estado" - -#~ msgid "Details" -#~ msgstr "Detalles" - -#~ msgid "Invalid XML for View Architecture!" -#~ msgstr "¡XML inválido para la definición de la vista!" - -#~ msgid "Roles" -#~ msgstr "Roles" - -#~ msgid "Roles Required" -#~ msgstr "Roles necesarios" - -#~ msgid "Extra Information" -#~ msgstr "Información extra" - -#~ msgid "Enterprise Processes" -#~ msgstr "Procesos de empresa" - -#~ msgid "Invalid model name in the action definition." -#~ msgstr "Nombre de modelo no válido en la definición de acción." - -#~ msgid "" -#~ "\n" -#~ " This module shows the basic processes involved\n" -#~ " in the selected modules and in the sequence they\n" -#~ " occur\n" -#~ "\n" -#~ " Note: This applies to the modules containing modulename_process_xml\n" -#~ " for e.g product/process/product_process_xml\n" -#~ "\n" -#~ " " -#~ msgstr "" -#~ "\n" -#~ " Este módulo muestra los procesos básicos en los\n" -#~ " que intervienen los módulos seleccionados, y\n" -#~ " la secuencia en la que ocurren.\n" -#~ "\n" -#~ " Note: Esto es aplicable a los módulos conteniendo " -#~ "nombredelmodulo_process_xml\n" -#~ " por ejemplo product/process/product_process_xml\n" -#~ "\n" -#~ " " diff --git a/addons/process/i18n/es_AR.po b/addons/process/i18n/es_AR.po deleted file mode 100644 index 37ab2b413c5..00000000000 --- a/addons/process/i18n/es_AR.po +++ /dev/null @@ -1,408 +0,0 @@ -# Translation of OpenERP Server. -# This file contains the translation of the following modules: -# * process -# -msgid "" -msgstr "" -"Project-Id-Version: OpenERP Server 5.0.0\n" -"Report-Msgid-Bugs-To: support@openerp.com\n" -"POT-Creation-Date: 2012-12-21 17:06+0000\n" -"PO-Revision-Date: 2009-09-15 20:23+0000\n" -"Last-Translator: Silvana Herrera \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-03-16 05:10+0000\n" -"X-Generator: Launchpad (build 16532)\n" - -#. module: process -#: model:ir.model,name:process.model_process_node -#: view:process.node:0 -#: view:process.process:0 -msgid "Process Node" -msgstr "Nodo del proceso" - -#. 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 "" - -#. module: process -#: field:process.node,menu_id:0 -msgid "Related Menu" -msgstr "Menú relacionado" - -#. module: process -#: selection:process.node,kind:0 -msgid "Status" -msgstr "" - -#. module: process -#: field:process.transition,action_ids:0 -msgid "Buttons" -msgstr "Botones" - -#. module: process -#: view:process.node:0 -#: view:process.process:0 -msgid "Group By..." -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 de ayuda" - -#. module: process -#: field:process.node,flow_start:0 -msgid "Starting Flow" -msgstr "Flujo inicial" - -#. 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 "Nodos del proceso" - -#. module: process -#: view:process.process:0 -#: field:process.process,node_ids:0 -msgid "Nodes" -msgstr "Nodos" - -#. module: process -#: field:process.node,condition_ids:0 -#: view:process.process:0 -msgid "Conditions" -msgstr "Condiciones" - -#. module: process -#: view:process.transition:0 -msgid "Search Process Transition" -msgstr "" - -#. module: process -#: field:process.condition,node_id:0 -msgid "Node" -msgstr "Nodo" - -#. module: process -#: selection:process.transition.action,state:0 -msgid "Workflow Trigger" -msgstr "Disparador del Workflow" - -#. module: process -#: field:process.transition,note:0 -msgid "Description" -msgstr "Descripción" - -#. module: process -#: model:ir.model,name:process.model_process_transition_action -msgid "Process Transitions Actions" -msgstr "Acciones de transiciones de proceso" - -#. 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 "Objeto" - -#. module: process -#: field:process.transition,source_node_id:0 -msgid "Source Node" -msgstr "Nodo de origen" - -#. module: process -#: view:process.transition:0 -#: field:process.transition,transition_ids:0 -msgid "Workflow Transitions" -msgstr "Transiciones de workflow" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:39 -#, python-format -msgid "Last modified by:" -msgstr "" - -#. module: process -#: field:process.transition.action,action:0 -msgid "Action ID" -msgstr "ID de la acción" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:7 -#, python-format -msgid "Process View" -msgstr "" - -#. module: process -#: model:ir.model,name:process.model_process_transition -#: view:process.transition:0 -msgid "Process Transition" -msgstr "Transición del proceso" - -#. module: process -#: model:ir.model,name:process.model_process_condition -msgid "Condition" -msgstr "Condición" - -#. module: process -#: selection:process.transition.action,state:0 -msgid "Dummy" -msgstr "Ficticio" - -#. 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.transition.action,transition_id:0 -msgid "Transition" -msgstr "Transición" - -#. 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 "Nombre" - -#. module: process -#: field:process.node,transition_in:0 -msgid "Starting Transitions" -msgstr "Transiciones iniciales" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:54 -#, python-format -msgid "Related:" -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 "Notas" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:88 -#, python-format -msgid "Edit Process" -msgstr "" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:39 -#, python-format -msgid "N/A" -msgstr "" - -#. module: process -#: view:process.process:0 -msgid "Search Process" -msgstr "" - -#. module: process -#: field:process.process,active:0 -msgid "Active" -msgstr "Activo" - -#. module: process -#: view:process.transition:0 -msgid "Associated Groups" -msgstr "" - -#. module: process -#: field:process.node,model_states:0 -msgid "States Expression" -msgstr "Expresión de estados" - -#. module: process -#: selection:process.transition.action,state:0 -msgid "Action" -msgstr "Acción" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:67 -#, python-format -msgid "Select Process" -msgstr "" - -#. module: process -#: field:process.condition,model_states:0 -msgid "Expression" -msgstr "Expresión" - -#. 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 "Tipo" - -#. module: process -#: field:process.node,transition_out:0 -msgid "Ending Transitions" -msgstr "Transiciones finales" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/js/process.js:243 -#: code:addons/process/static/src/xml/process.xml:33 -#: model:ir.model,name:process.model_process_process -#: field:process.node,process_id:0 -#: view:process.process:0 -#, python-format -msgid "Process" -msgstr "Procesar" - -#. 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 "Proceso de empresa" - -#. module: process -#: view:process.transition:0 -msgid "Actions" -msgstr "Acciones" - -#. 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 "Transiciones de proceso" - -#. module: process -#: field:process.transition,target_node_id:0 -msgid "Target Node" -msgstr "Nodo objetivo" - -#. module: process -#: field:process.node,kind:0 -msgid "Kind of Node" -msgstr "Clase de nodo" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:42 -#, python-format -msgid "Subflows:" -msgstr "" - -#. module: process -#: view:process.node:0 -#: view:process.process:0 -msgid "Outgoing Transitions" -msgstr "Transiciones salientes" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:36 -#, python-format -msgid "Notes:" -msgstr "" - -#. module: process -#: selection:process.node,kind:0 -#: field:process.node,subflow_id:0 -msgid "Subflow" -msgstr "Subflow" - -#. module: process -#: view:process.node:0 -#: view:process.process:0 -msgid "Transitions" -msgstr "Transiciones" - -#. module: process -#: selection:process.transition.action,state:0 -msgid "Object Method" -msgstr "Método objeto" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:77 -#, python-format -msgid "Select" -msgstr "" - -#~ msgid "Roles from Workflow" -#~ msgstr "Roles desde Workflow" - -#~ msgid "State" -#~ msgstr "Provincia" - -#~ msgid "" -#~ "The Object name must start with x_ and not contain any special character !" -#~ msgstr "" -#~ "¡El nombre del objeto debe empezar con x_ y no contener ningún caracter " -#~ "especial!" - -#~ msgid "Details" -#~ msgstr "Detalles" - -#~ msgid "Roles Required" -#~ msgstr "Roles necesarios" - -#~ msgid "Roles" -#~ msgstr "Roles" - -#~ msgid "Extra Information" -#~ msgstr "Información extra" - -#~ msgid "Invalid XML for View Architecture!" -#~ msgstr "XML inválido para la definición de la vista !" - -#~ msgid "Enterprise Processes" -#~ msgstr "Procesos de empresa" diff --git a/addons/process/i18n/es_CL.po b/addons/process/i18n/es_CL.po deleted file mode 100644 index 76da9c23682..00000000000 --- a/addons/process/i18n/es_CL.po +++ /dev/null @@ -1,434 +0,0 @@ -# Translation of OpenERP Server. -# This file contains the translation of the following modules: -# * process -# -msgid "" -msgstr "" -"Project-Id-Version: OpenERP Server 6.0dev\n" -"Report-Msgid-Bugs-To: support@openerp.com\n" -"POT-Creation-Date: 2012-12-21 17:06+0000\n" -"PO-Revision-Date: 2011-01-14 04:37+0000\n" -"Last-Translator: Borja López Soilán (NeoPolus) \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-03-16 05:10+0000\n" -"X-Generator: Launchpad (build 16532)\n" - -#. module: process -#: model:ir.model,name:process.model_process_node -#: view:process.node:0 -#: view:process.process:0 -msgid "Process Node" -msgstr "Nodo proceso" - -#. 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 "" -"Si el campo activo se desmarca, permite ocultar el proceso sin eliminarlo." - -#. module: process -#: field:process.node,menu_id:0 -msgid "Related Menu" -msgstr "Menú relacionado" - -#. module: process -#: selection:process.node,kind:0 -msgid "Status" -msgstr "" - -#. module: process -#: field:process.transition,action_ids:0 -msgid "Buttons" -msgstr "Botones" - -#. module: process -#: view:process.node:0 -#: view:process.process:0 -msgid "Group By..." -msgstr "Agrupar por..." - -#. module: process -#: view:process.node:0 -msgid "Kind Of Node" -msgstr "Tipo de nodo" - -#. module: process -#: field:process.node,help_url:0 -msgid "Help URL" -msgstr "URL de ayuda" - -#. module: process -#: field:process.node,flow_start:0 -msgid "Starting Flow" -msgstr "Inicio flujo de trabajo" - -#. 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 "Nodos proceso" - -#. module: process -#: view:process.process:0 -#: field:process.process,node_ids:0 -msgid "Nodes" -msgstr "Nodos" - -#. module: process -#: field:process.node,condition_ids:0 -#: view:process.process:0 -msgid "Conditions" -msgstr "Condiciones" - -#. module: process -#: view:process.transition:0 -msgid "Search Process Transition" -msgstr "Buscar transición proceso" - -#. module: process -#: field:process.condition,node_id:0 -msgid "Node" -msgstr "Nodo" - -#. module: process -#: selection:process.transition.action,state:0 -msgid "Workflow Trigger" -msgstr "Disparador del flujo de trabajo" - -#. module: process -#: field:process.transition,note:0 -msgid "Description" -msgstr "Descripción" - -#. module: process -#: model:ir.model,name:process.model_process_transition_action -msgid "Process Transitions Actions" -msgstr "Acciones transiciones proceso" - -#. 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 "Objeto" - -#. module: process -#: field:process.transition,source_node_id:0 -msgid "Source Node" -msgstr "Nodo origen" - -#. module: process -#: view:process.transition:0 -#: field:process.transition,transition_ids:0 -msgid "Workflow Transitions" -msgstr "Transiciones flujo de trabajo" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:39 -#, python-format -msgid "Last modified by:" -msgstr "" - -#. module: process -#: field:process.transition.action,action:0 -msgid "Action ID" -msgstr "ID de la acción" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:7 -#, python-format -msgid "Process View" -msgstr "" - -#. module: process -#: model:ir.model,name:process.model_process_transition -#: view:process.transition:0 -msgid "Process Transition" -msgstr "Transición proceso" - -#. module: process -#: model:ir.model,name:process.model_process_condition -msgid "Condition" -msgstr "Condición" - -#. module: process -#: selection:process.transition.action,state:0 -msgid "Dummy" -msgstr "De relleno" - -#. module: process -#: model:ir.actions.act_window,name:process.action_process_form -#: model:ir.ui.menu,name:process.menu_process_form -msgid "Processes" -msgstr "Procesos" - -#. module: process -#: field:process.transition.action,transition_id:0 -msgid "Transition" -msgstr "Transición" - -#. 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 "Nombre" - -#. module: process -#: field:process.node,transition_in:0 -msgid "Starting Transitions" -msgstr "Transiciones iniciales" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:54 -#, python-format -msgid "Related:" -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 "Notas" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:88 -#, python-format -msgid "Edit Process" -msgstr "" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:39 -#, python-format -msgid "N/A" -msgstr "" - -#. module: process -#: view:process.process:0 -msgid "Search Process" -msgstr "Buscar proceso" - -#. module: process -#: field:process.process,active:0 -msgid "Active" -msgstr "Activo" - -#. module: process -#: view:process.transition:0 -msgid "Associated Groups" -msgstr "Grupos asociados" - -#. module: process -#: field:process.node,model_states:0 -msgid "States Expression" -msgstr "Expresión de los estados" - -#. module: process -#: selection:process.transition.action,state:0 -msgid "Action" -msgstr "Acción" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:67 -#, python-format -msgid "Select Process" -msgstr "" - -#. module: process -#: field:process.condition,model_states:0 -msgid "Expression" -msgstr "Expresión" - -#. module: process -#: field:process.transition,group_ids:0 -msgid "Required Groups" -msgstr "Grupos requeridos" - -#. module: process -#: view:process.node:0 -#: view:process.process:0 -msgid "Incoming Transitions" -msgstr "Transiciones entrantes" - -#. module: process -#: field:process.transition.action,state:0 -msgid "Type" -msgstr "Tipo" - -#. module: process -#: field:process.node,transition_out:0 -msgid "Ending Transitions" -msgstr "Transiciones finales" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/js/process.js:243 -#: code:addons/process/static/src/xml/process.xml:33 -#: model:ir.model,name:process.model_process_process -#: field:process.node,process_id:0 -#: view:process.process:0 -#, python-format -msgid "Process" -msgstr "Proceso" - -#. module: process -#: view:process.node:0 -msgid "Search ProcessNode" -msgstr "Buscar nodo proceso" - -#. module: process -#: view:process.node:0 -#: view:process.process:0 -msgid "Other Conditions" -msgstr "Otras condiciones" - -#. module: process -#: model:ir.ui.menu,name:process.menu_process -msgid "Enterprise Process" -msgstr "Proceso empresa" - -#. module: process -#: view:process.transition:0 -msgid "Actions" -msgstr "Acciones" - -#. module: process -#: view:process.node:0 -#: view:process.process:0 -msgid "Properties" -msgstr "Propiedades" - -#. 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 "Transiciones proceso" - -#. module: process -#: field:process.transition,target_node_id:0 -msgid "Target Node" -msgstr "Nodo destino" - -#. module: process -#: field:process.node,kind:0 -msgid "Kind of Node" -msgstr "Clase de nodo" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:42 -#, python-format -msgid "Subflows:" -msgstr "" - -#. module: process -#: view:process.node:0 -#: view:process.process:0 -msgid "Outgoing Transitions" -msgstr "Transiciones salientes" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:36 -#, python-format -msgid "Notes:" -msgstr "" - -#. module: process -#: selection:process.node,kind:0 -#: field:process.node,subflow_id:0 -msgid "Subflow" -msgstr "Subflujo" - -#. module: process -#: view:process.node:0 -#: view:process.process:0 -msgid "Transitions" -msgstr "Transiciones" - -#. module: process -#: selection:process.transition.action,state:0 -msgid "Object Method" -msgstr "Método objeto" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:77 -#, python-format -msgid "Select" -msgstr "" - -#~ msgid "State" -#~ msgstr "Estado" - -#~ msgid "" -#~ "\n" -#~ " This module shows the basic processes involved\n" -#~ " in the selected modules and in the sequence they\n" -#~ " occur\n" -#~ "\n" -#~ " Note: This applies to the modules containing modulename_process_xml\n" -#~ " for e.g product/process/product_process_xml\n" -#~ "\n" -#~ " " -#~ msgstr "" -#~ "\n" -#~ " Este módulo muestra los procesos básicos en los\n" -#~ " que intervienen los módulos seleccionados, y\n" -#~ " la secuencia en la que ocurren.\n" -#~ "\n" -#~ " Note: Esto es aplicable a los módulos conteniendo " -#~ "nombredelmodulo_process_xml\n" -#~ " por ejemplo product/process/product_process_xml\n" -#~ "\n" -#~ " " - -#~ msgid "" -#~ "The Object name must start with x_ and not contain any special character !" -#~ msgstr "" -#~ "¡El nombre del objeto debe empezar con x_ y no contener ningún carácter " -#~ "especial!" - -#~ msgid "Roles from Workflow" -#~ msgstr "Roles desde flujo" - -#~ msgid "Details" -#~ msgstr "Detalles" - -#~ msgid "Invalid XML for View Architecture!" -#~ msgstr "¡XML inválido para la definición de la vista!" - -#~ msgid "Roles" -#~ msgstr "Roles" - -#~ msgid "Roles Required" -#~ msgstr "Roles necesarios" - -#~ msgid "Extra Information" -#~ msgstr "Información extra" - -#~ msgid "Enterprise Processes" -#~ msgstr "Procesos de empresa" - -#~ msgid "Invalid model name in the action definition." -#~ msgstr "Nombre de modelo no válido en la definición de acción." diff --git a/addons/process/i18n/es_CR.po b/addons/process/i18n/es_CR.po deleted file mode 100644 index 8e7fc1d9eec..00000000000 --- a/addons/process/i18n/es_CR.po +++ /dev/null @@ -1,436 +0,0 @@ -# Translation of OpenERP Server. -# This file contains the translation of the following modules: -# * process -# -msgid "" -msgstr "" -"Project-Id-Version: OpenERP Server 6.0dev\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2012-12-21 17:06+0000\n" -"PO-Revision-Date: 2012-02-17 00:24+0000\n" -"Last-Translator: Carlos Vásquez (CLEARCORP) " -"\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-03-16 05:10+0000\n" -"X-Generator: Launchpad (build 16532)\n" -"Language: \n" - -#. module: process -#: model:ir.model,name:process.model_process_node -#: view:process.node:0 -#: view:process.process:0 -msgid "Process Node" -msgstr "Nodo proceso" - -#. 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 "" -"Si el campo activo se desmarca, permite ocultar el proceso sin eliminarlo." - -#. module: process -#: field:process.node,menu_id:0 -msgid "Related Menu" -msgstr "Menú relacionado" - -#. module: process -#: selection:process.node,kind:0 -msgid "Status" -msgstr "" - -#. module: process -#: field:process.transition,action_ids:0 -msgid "Buttons" -msgstr "Botones" - -#. module: process -#: view:process.node:0 -#: view:process.process:0 -msgid "Group By..." -msgstr "Agrupar por..." - -#. module: process -#: view:process.node:0 -msgid "Kind Of Node" -msgstr "Tipo de nodo" - -#. module: process -#: field:process.node,help_url:0 -msgid "Help URL" -msgstr "URL de ayuda" - -#. module: process -#: field:process.node,flow_start:0 -msgid "Starting Flow" -msgstr "Inicio flujo de trabajo" - -#. 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 "Nodos proceso" - -#. module: process -#: view:process.process:0 -#: field:process.process,node_ids:0 -msgid "Nodes" -msgstr "Nodos" - -#. module: process -#: field:process.node,condition_ids:0 -#: view:process.process:0 -msgid "Conditions" -msgstr "Condiciones" - -#. module: process -#: view:process.transition:0 -msgid "Search Process Transition" -msgstr "Buscar transición proceso" - -#. module: process -#: field:process.condition,node_id:0 -msgid "Node" -msgstr "Nodo" - -#. module: process -#: selection:process.transition.action,state:0 -msgid "Workflow Trigger" -msgstr "Disparador del flujo de trabajo" - -#. module: process -#: field:process.transition,note:0 -msgid "Description" -msgstr "Descripción" - -#. module: process -#: model:ir.model,name:process.model_process_transition_action -msgid "Process Transitions Actions" -msgstr "Acciones transiciones proceso" - -#. 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 "Objeto" - -#. module: process -#: field:process.transition,source_node_id:0 -msgid "Source Node" -msgstr "Nodo origen" - -#. module: process -#: view:process.transition:0 -#: field:process.transition,transition_ids:0 -msgid "Workflow Transitions" -msgstr "Transiciones flujo de trabajo" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:39 -#, python-format -msgid "Last modified by:" -msgstr "" - -#. module: process -#: field:process.transition.action,action:0 -msgid "Action ID" -msgstr "ID de la acción" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:7 -#, python-format -msgid "Process View" -msgstr "" - -#. module: process -#: model:ir.model,name:process.model_process_transition -#: view:process.transition:0 -msgid "Process Transition" -msgstr "Transición proceso" - -#. module: process -#: model:ir.model,name:process.model_process_condition -msgid "Condition" -msgstr "Condición" - -#. module: process -#: selection:process.transition.action,state:0 -msgid "Dummy" -msgstr "De relleno" - -#. module: process -#: model:ir.actions.act_window,name:process.action_process_form -#: model:ir.ui.menu,name:process.menu_process_form -msgid "Processes" -msgstr "Procesos" - -#. module: process -#: field:process.transition.action,transition_id:0 -msgid "Transition" -msgstr "Transición" - -#. 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 "Nombre" - -#. module: process -#: field:process.node,transition_in:0 -msgid "Starting Transitions" -msgstr "Transiciones iniciales" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:54 -#, python-format -msgid "Related:" -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 "Notas" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:88 -#, python-format -msgid "Edit Process" -msgstr "" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:39 -#, python-format -msgid "N/A" -msgstr "" - -#. module: process -#: view:process.process:0 -msgid "Search Process" -msgstr "Buscar proceso" - -#. module: process -#: field:process.process,active:0 -msgid "Active" -msgstr "Activo" - -#. module: process -#: view:process.transition:0 -msgid "Associated Groups" -msgstr "Grupos asociados" - -#. module: process -#: field:process.node,model_states:0 -msgid "States Expression" -msgstr "Expresión de los estados" - -#. module: process -#: selection:process.transition.action,state:0 -msgid "Action" -msgstr "Acción" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:67 -#, python-format -msgid "Select Process" -msgstr "" - -#. module: process -#: field:process.condition,model_states:0 -msgid "Expression" -msgstr "Expresión" - -#. module: process -#: field:process.transition,group_ids:0 -msgid "Required Groups" -msgstr "Grupos requeridos" - -#. module: process -#: view:process.node:0 -#: view:process.process:0 -msgid "Incoming Transitions" -msgstr "Transiciones entrantes" - -#. module: process -#: field:process.transition.action,state:0 -msgid "Type" -msgstr "Tipo" - -#. module: process -#: field:process.node,transition_out:0 -msgid "Ending Transitions" -msgstr "Transiciones finales" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/js/process.js:243 -#: code:addons/process/static/src/xml/process.xml:33 -#: model:ir.model,name:process.model_process_process -#: field:process.node,process_id:0 -#: view:process.process:0 -#, python-format -msgid "Process" -msgstr "Proceso" - -#. module: process -#: view:process.node:0 -msgid "Search ProcessNode" -msgstr "Buscar nodo proceso" - -#. module: process -#: view:process.node:0 -#: view:process.process:0 -msgid "Other Conditions" -msgstr "Otras condiciones" - -#. module: process -#: model:ir.ui.menu,name:process.menu_process -msgid "Enterprise Process" -msgstr "Proceso empresa" - -#. module: process -#: view:process.transition:0 -msgid "Actions" -msgstr "Acciones" - -#. module: process -#: view:process.node:0 -#: view:process.process:0 -msgid "Properties" -msgstr "Propiedades" - -#. 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 "Transiciones proceso" - -#. module: process -#: field:process.transition,target_node_id:0 -msgid "Target Node" -msgstr "Nodo destino" - -#. module: process -#: field:process.node,kind:0 -msgid "Kind of Node" -msgstr "Clase de nodo" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:42 -#, python-format -msgid "Subflows:" -msgstr "" - -#. module: process -#: view:process.node:0 -#: view:process.process:0 -msgid "Outgoing Transitions" -msgstr "Transiciones salientes" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:36 -#, python-format -msgid "Notes:" -msgstr "" - -#. module: process -#: selection:process.node,kind:0 -#: field:process.node,subflow_id:0 -msgid "Subflow" -msgstr "Subflujo" - -#. module: process -#: view:process.node:0 -#: view:process.process:0 -msgid "Transitions" -msgstr "Transiciones" - -#. module: process -#: selection:process.transition.action,state:0 -msgid "Object Method" -msgstr "Método objeto" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:77 -#, python-format -msgid "Select" -msgstr "" - -#~ msgid "State" -#~ msgstr "Estado" - -#~ msgid "" -#~ "The Object name must start with x_ and not contain any special character !" -#~ msgstr "" -#~ "¡El nombre del objeto debe empezar con x_ y no contener ningún carácter " -#~ "especial!" - -#~ msgid "Roles from Workflow" -#~ msgstr "Roles desde flujo" - -#~ msgid "Details" -#~ msgstr "Detalles" - -#~ msgid "Invalid XML for View Architecture!" -#~ msgstr "¡XML inválido para la definición de la vista!" - -#~ msgid "Roles" -#~ msgstr "Roles" - -#~ msgid "Roles Required" -#~ msgstr "Roles necesarios" - -#~ msgid "Extra Information" -#~ msgstr "Información extra" - -#~ msgid "Enterprise Processes" -#~ msgstr "Procesos de empresa" - -#~ msgid "Invalid model name in the action definition." -#~ msgstr "Nombre de modelo no válido en la definición de acción." - -#~ msgid "" -#~ "\n" -#~ " This module shows the basic processes involved\n" -#~ " in the selected modules and in the sequence they\n" -#~ " occur\n" -#~ "\n" -#~ " Note: This applies to the modules containing modulename_process_xml\n" -#~ " for e.g product/process/product_process_xml\n" -#~ "\n" -#~ " " -#~ msgstr "" -#~ "\n" -#~ " Este módulo muestra los procesos básicos en los\n" -#~ " que intervienen los módulos seleccionados, y\n" -#~ " la secuencia en la que ocurren.\n" -#~ "\n" -#~ " Note: Esto es aplicable a los módulos conteniendo " -#~ "nombredelmodulo_process_xml\n" -#~ " por ejemplo product/process/product_process_xml\n" -#~ "\n" -#~ " " diff --git a/addons/process/i18n/es_MX.po b/addons/process/i18n/es_MX.po deleted file mode 100644 index 9a99ea402ee..00000000000 --- a/addons/process/i18n/es_MX.po +++ /dev/null @@ -1,368 +0,0 @@ -# Translation of OpenERP Server. -# This file contains the translation of the following modules: -# * process -# -msgid "" -msgstr "" -"Project-Id-Version: OpenERP Server 6.0dev\n" -"Report-Msgid-Bugs-To: support@openerp.com\n" -"POT-Creation-Date: 2011-01-11 11:15+0000\n" -"PO-Revision-Date: 2010-12-28 08:42+0000\n" -"Last-Translator: Borja López Soilán (NeoPolus) \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: 2011-09-05 05:10+0000\n" -"X-Generator: Launchpad (build 13830)\n" - -#. module: process -#: model:ir.model,name:process.model_process_node -#: view:process.node:0 -#: view:process.process:0 -msgid "Process Node" -msgstr "Nodo proceso" - -#. 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 "" -"Si el campo activo se desmarca, permite ocultar el proceso sin eliminarlo." - -#. module: process -#: field:process.node,menu_id:0 -msgid "Related Menu" -msgstr "Menú relacionado" - -#. module: process -#: field:process.transition,action_ids:0 -msgid "Buttons" -msgstr "Botones" - -#. module: process -#: view:process.node:0 -#: view:process.process:0 -msgid "Group By..." -msgstr "Agrupar por..." - -#. module: process -#: selection:process.node,kind:0 -msgid "State" -msgstr "Estado" - -#. module: process -#: view:process.node:0 -msgid "Kind Of Node" -msgstr "Tipo de nodo" - -#. module: process -#: field:process.node,help_url:0 -msgid "Help URL" -msgstr "URL de ayuda" - -#. 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 "Nodos proceso" - -#. module: process -#: view:process.process:0 -#: field:process.process,node_ids:0 -msgid "Nodes" -msgstr "Nodos" - -#. module: process -#: view:process.node:0 -#: field:process.node,condition_ids:0 -#: view:process.process:0 -msgid "Conditions" -msgstr "Condiciones" - -#. module: process -#: view:process.transition:0 -msgid "Search Process Transition" -msgstr "Buscar transición proceso" - -#. module: process -#: field:process.condition,node_id:0 -msgid "Node" -msgstr "Nodo" - -#. module: process -#: selection:process.transition.action,state:0 -msgid "Workflow Trigger" -msgstr "Disparador del flujo de trabajo" - -#. module: process -#: field:process.transition,note:0 -msgid "Description" -msgstr "Descripción" - -#. module: process -#: model:ir.model,name:process.model_process_transition_action -msgid "Process Transitions Actions" -msgstr "Acciones transiciones proceso" - -#. 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 "Objeto" - -#. module: process -#: field:process.transition,source_node_id:0 -msgid "Source Node" -msgstr "Nodo origen" - -#. module: process -#: view:process.transition:0 -#: field:process.transition,transition_ids:0 -msgid "Workflow Transitions" -msgstr "Transiciones flujo de trabajo" - -#. module: process -#: field:process.transition.action,action:0 -msgid "Action ID" -msgstr "ID de la acción" - -#. module: process -#: model:ir.model,name:process.model_process_transition -#: view:process.transition:0 -msgid "Process Transition" -msgstr "Transición proceso" - -#. module: process -#: model:ir.model,name:process.model_process_condition -msgid "Condition" -msgstr "Condición" - -#. module: process -#: selection:process.transition.action,state:0 -msgid "Dummy" -msgstr "De relleno" - -#. module: process -#: model:ir.actions.act_window,name:process.action_process_form -#: model:ir.ui.menu,name:process.menu_process_form -msgid "Processes" -msgstr "Procesos" - -#. 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 "Nombre" - -#. module: process -#: field:process.node,transition_in:0 -msgid "Starting Transitions" -msgstr "Transiciones iniciales" - -#. 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 "Notas" - -#. module: process -#: field:process.transition.action,transition_id:0 -msgid "Transition" -msgstr "Transición" - -#. module: process -#: view:process.process:0 -msgid "Search Process" -msgstr "Buscar proceso" - -#. module: process -#: selection:process.node,kind:0 -#: field:process.node,subflow_id:0 -msgid "Subflow" -msgstr "Subflujo" - -#. module: process -#: field:process.process,active:0 -msgid "Active" -msgstr "Activo" - -#. module: process -#: view:process.transition:0 -msgid "Associated Groups" -msgstr "Grupos asociados" - -#. module: process -#: field:process.node,model_states:0 -msgid "States Expression" -msgstr "Expresión de los estados" - -#. module: process -#: selection:process.transition.action,state:0 -msgid "Action" -msgstr "Acción" - -#. module: process -#: field:process.node,flow_start:0 -msgid "Starting Flow" -msgstr "Inicio flujo de trabajo" - -#. module: process -#: model:ir.module.module,description:process.module_meta_information -msgid "" -"\n" -" This module shows the basic processes involved\n" -" in the selected modules and in the sequence they\n" -" occur\n" -"\n" -" Note: This applies to the modules containing modulename_process_xml\n" -" for e.g product/process/product_process_xml\n" -"\n" -" " -msgstr "" -"\n" -" Este módulo muestra los procesos básicos en los\n" -" que intervienen los módulos seleccionados, y\n" -" la secuencia en la que ocurren.\n" -"\n" -" Note: Esto es aplicable a los módulos conteniendo " -"nombredelmodulo_process_xml\n" -" por ejemplo product/process/product_process_xml\n" -"\n" -" " - -#. module: process -#: field:process.condition,model_states:0 -msgid "Expression" -msgstr "Expresión" - -#. module: process -#: field:process.transition,group_ids:0 -msgid "Required Groups" -msgstr "Grupos requeridos" - -#. module: process -#: view:process.node:0 -#: view:process.process:0 -msgid "Incoming Transitions" -msgstr "Transiciones entrantes" - -#. module: process -#: field:process.transition.action,state:0 -msgid "Type" -msgstr "Tipo" - -#. module: process -#: field:process.node,transition_out:0 -msgid "Ending Transitions" -msgstr "Transiciones finales" - -#. module: process -#: model:ir.model,name:process.model_process_process -#: field:process.node,process_id:0 -#: view:process.process:0 -msgid "Process" -msgstr "Proceso" - -#. module: process -#: view:process.node:0 -msgid "Search ProcessNode" -msgstr "Buscar nodo proceso" - -#. module: process -#: view:process.node:0 -#: view:process.process:0 -msgid "Other Conditions" -msgstr "Otras condiciones" - -#. module: process -#: model:ir.module.module,shortdesc:process.module_meta_information -#: model:ir.ui.menu,name:process.menu_process -msgid "Enterprise Process" -msgstr "Proceso empresa" - -#. module: process -#: view:process.transition:0 -msgid "Actions" -msgstr "Acciones" - -#. module: process -#: view:process.node:0 -#: view:process.process:0 -msgid "Properties" -msgstr "Propiedades" - -#. 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 "Transiciones proceso" - -#. module: process -#: field:process.transition,target_node_id:0 -msgid "Target Node" -msgstr "Nodo destino" - -#. module: process -#: field:process.node,kind:0 -msgid "Kind of Node" -msgstr "Clase de nodo" - -#. module: process -#: view:process.node:0 -#: view:process.process:0 -msgid "Outgoing Transitions" -msgstr "Transiciones salientes" - -#. module: process -#: view:process.node:0 -#: view:process.process:0 -msgid "Transitions" -msgstr "Transiciones" - -#. module: process -#: selection:process.transition.action,state:0 -msgid "Object Method" -msgstr "Método objeto" - -#~ msgid "" -#~ "The Object name must start with x_ and not contain any special character !" -#~ msgstr "" -#~ "¡El nombre del objeto debe empezar con x_ y no contener ningún carácter " -#~ "especial!" - -#~ msgid "Roles from Workflow" -#~ msgstr "Roles desde flujo" - -#~ msgid "Details" -#~ msgstr "Detalles" - -#~ msgid "Invalid XML for View Architecture!" -#~ msgstr "¡XML inválido para la definición de la vista!" - -#~ msgid "Roles" -#~ msgstr "Roles" - -#~ msgid "Roles Required" -#~ msgstr "Roles necesarios" - -#~ msgid "Extra Information" -#~ msgstr "Información extra" - -#~ msgid "Enterprise Processes" -#~ msgstr "Procesos de empresa" - -#~ msgid "Invalid model name in the action definition." -#~ msgstr "Nombre de modelo no válido en la definición de acción." diff --git a/addons/process/i18n/es_VE.po b/addons/process/i18n/es_VE.po deleted file mode 100644 index 9a99ea402ee..00000000000 --- a/addons/process/i18n/es_VE.po +++ /dev/null @@ -1,368 +0,0 @@ -# Translation of OpenERP Server. -# This file contains the translation of the following modules: -# * process -# -msgid "" -msgstr "" -"Project-Id-Version: OpenERP Server 6.0dev\n" -"Report-Msgid-Bugs-To: support@openerp.com\n" -"POT-Creation-Date: 2011-01-11 11:15+0000\n" -"PO-Revision-Date: 2010-12-28 08:42+0000\n" -"Last-Translator: Borja López Soilán (NeoPolus) \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: 2011-09-05 05:10+0000\n" -"X-Generator: Launchpad (build 13830)\n" - -#. module: process -#: model:ir.model,name:process.model_process_node -#: view:process.node:0 -#: view:process.process:0 -msgid "Process Node" -msgstr "Nodo proceso" - -#. 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 "" -"Si el campo activo se desmarca, permite ocultar el proceso sin eliminarlo." - -#. module: process -#: field:process.node,menu_id:0 -msgid "Related Menu" -msgstr "Menú relacionado" - -#. module: process -#: field:process.transition,action_ids:0 -msgid "Buttons" -msgstr "Botones" - -#. module: process -#: view:process.node:0 -#: view:process.process:0 -msgid "Group By..." -msgstr "Agrupar por..." - -#. module: process -#: selection:process.node,kind:0 -msgid "State" -msgstr "Estado" - -#. module: process -#: view:process.node:0 -msgid "Kind Of Node" -msgstr "Tipo de nodo" - -#. module: process -#: field:process.node,help_url:0 -msgid "Help URL" -msgstr "URL de ayuda" - -#. 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 "Nodos proceso" - -#. module: process -#: view:process.process:0 -#: field:process.process,node_ids:0 -msgid "Nodes" -msgstr "Nodos" - -#. module: process -#: view:process.node:0 -#: field:process.node,condition_ids:0 -#: view:process.process:0 -msgid "Conditions" -msgstr "Condiciones" - -#. module: process -#: view:process.transition:0 -msgid "Search Process Transition" -msgstr "Buscar transición proceso" - -#. module: process -#: field:process.condition,node_id:0 -msgid "Node" -msgstr "Nodo" - -#. module: process -#: selection:process.transition.action,state:0 -msgid "Workflow Trigger" -msgstr "Disparador del flujo de trabajo" - -#. module: process -#: field:process.transition,note:0 -msgid "Description" -msgstr "Descripción" - -#. module: process -#: model:ir.model,name:process.model_process_transition_action -msgid "Process Transitions Actions" -msgstr "Acciones transiciones proceso" - -#. 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 "Objeto" - -#. module: process -#: field:process.transition,source_node_id:0 -msgid "Source Node" -msgstr "Nodo origen" - -#. module: process -#: view:process.transition:0 -#: field:process.transition,transition_ids:0 -msgid "Workflow Transitions" -msgstr "Transiciones flujo de trabajo" - -#. module: process -#: field:process.transition.action,action:0 -msgid "Action ID" -msgstr "ID de la acción" - -#. module: process -#: model:ir.model,name:process.model_process_transition -#: view:process.transition:0 -msgid "Process Transition" -msgstr "Transición proceso" - -#. module: process -#: model:ir.model,name:process.model_process_condition -msgid "Condition" -msgstr "Condición" - -#. module: process -#: selection:process.transition.action,state:0 -msgid "Dummy" -msgstr "De relleno" - -#. module: process -#: model:ir.actions.act_window,name:process.action_process_form -#: model:ir.ui.menu,name:process.menu_process_form -msgid "Processes" -msgstr "Procesos" - -#. 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 "Nombre" - -#. module: process -#: field:process.node,transition_in:0 -msgid "Starting Transitions" -msgstr "Transiciones iniciales" - -#. 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 "Notas" - -#. module: process -#: field:process.transition.action,transition_id:0 -msgid "Transition" -msgstr "Transición" - -#. module: process -#: view:process.process:0 -msgid "Search Process" -msgstr "Buscar proceso" - -#. module: process -#: selection:process.node,kind:0 -#: field:process.node,subflow_id:0 -msgid "Subflow" -msgstr "Subflujo" - -#. module: process -#: field:process.process,active:0 -msgid "Active" -msgstr "Activo" - -#. module: process -#: view:process.transition:0 -msgid "Associated Groups" -msgstr "Grupos asociados" - -#. module: process -#: field:process.node,model_states:0 -msgid "States Expression" -msgstr "Expresión de los estados" - -#. module: process -#: selection:process.transition.action,state:0 -msgid "Action" -msgstr "Acción" - -#. module: process -#: field:process.node,flow_start:0 -msgid "Starting Flow" -msgstr "Inicio flujo de trabajo" - -#. module: process -#: model:ir.module.module,description:process.module_meta_information -msgid "" -"\n" -" This module shows the basic processes involved\n" -" in the selected modules and in the sequence they\n" -" occur\n" -"\n" -" Note: This applies to the modules containing modulename_process_xml\n" -" for e.g product/process/product_process_xml\n" -"\n" -" " -msgstr "" -"\n" -" Este módulo muestra los procesos básicos en los\n" -" que intervienen los módulos seleccionados, y\n" -" la secuencia en la que ocurren.\n" -"\n" -" Note: Esto es aplicable a los módulos conteniendo " -"nombredelmodulo_process_xml\n" -" por ejemplo product/process/product_process_xml\n" -"\n" -" " - -#. module: process -#: field:process.condition,model_states:0 -msgid "Expression" -msgstr "Expresión" - -#. module: process -#: field:process.transition,group_ids:0 -msgid "Required Groups" -msgstr "Grupos requeridos" - -#. module: process -#: view:process.node:0 -#: view:process.process:0 -msgid "Incoming Transitions" -msgstr "Transiciones entrantes" - -#. module: process -#: field:process.transition.action,state:0 -msgid "Type" -msgstr "Tipo" - -#. module: process -#: field:process.node,transition_out:0 -msgid "Ending Transitions" -msgstr "Transiciones finales" - -#. module: process -#: model:ir.model,name:process.model_process_process -#: field:process.node,process_id:0 -#: view:process.process:0 -msgid "Process" -msgstr "Proceso" - -#. module: process -#: view:process.node:0 -msgid "Search ProcessNode" -msgstr "Buscar nodo proceso" - -#. module: process -#: view:process.node:0 -#: view:process.process:0 -msgid "Other Conditions" -msgstr "Otras condiciones" - -#. module: process -#: model:ir.module.module,shortdesc:process.module_meta_information -#: model:ir.ui.menu,name:process.menu_process -msgid "Enterprise Process" -msgstr "Proceso empresa" - -#. module: process -#: view:process.transition:0 -msgid "Actions" -msgstr "Acciones" - -#. module: process -#: view:process.node:0 -#: view:process.process:0 -msgid "Properties" -msgstr "Propiedades" - -#. 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 "Transiciones proceso" - -#. module: process -#: field:process.transition,target_node_id:0 -msgid "Target Node" -msgstr "Nodo destino" - -#. module: process -#: field:process.node,kind:0 -msgid "Kind of Node" -msgstr "Clase de nodo" - -#. module: process -#: view:process.node:0 -#: view:process.process:0 -msgid "Outgoing Transitions" -msgstr "Transiciones salientes" - -#. module: process -#: view:process.node:0 -#: view:process.process:0 -msgid "Transitions" -msgstr "Transiciones" - -#. module: process -#: selection:process.transition.action,state:0 -msgid "Object Method" -msgstr "Método objeto" - -#~ msgid "" -#~ "The Object name must start with x_ and not contain any special character !" -#~ msgstr "" -#~ "¡El nombre del objeto debe empezar con x_ y no contener ningún carácter " -#~ "especial!" - -#~ msgid "Roles from Workflow" -#~ msgstr "Roles desde flujo" - -#~ msgid "Details" -#~ msgstr "Detalles" - -#~ msgid "Invalid XML for View Architecture!" -#~ msgstr "¡XML inválido para la definición de la vista!" - -#~ msgid "Roles" -#~ msgstr "Roles" - -#~ msgid "Roles Required" -#~ msgstr "Roles necesarios" - -#~ msgid "Extra Information" -#~ msgstr "Información extra" - -#~ msgid "Enterprise Processes" -#~ msgstr "Procesos de empresa" - -#~ msgid "Invalid model name in the action definition." -#~ msgstr "Nombre de modelo no válido en la definición de acción." diff --git a/addons/process/i18n/et.po b/addons/process/i18n/et.po deleted file mode 100644 index f05621db1bf..00000000000 --- a/addons/process/i18n/et.po +++ /dev/null @@ -1,410 +0,0 @@ -# Translation of OpenERP Server. -# This file contains the translation of the following modules: -# * process -# -msgid "" -msgstr "" -"Project-Id-Version: OpenERP Server 6.0dev\n" -"Report-Msgid-Bugs-To: support@openerp.com\n" -"POT-Creation-Date: 2012-12-21 17:06+0000\n" -"PO-Revision-Date: 2009-11-09 19:01+0000\n" -"Last-Translator: Fabien (Open ERP) \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-03-16 05:10+0000\n" -"X-Generator: Launchpad (build 16532)\n" - -#. module: process -#: model:ir.model,name:process.model_process_node -#: view:process.node:0 -#: view:process.process:0 -msgid "Process Node" -msgstr "Protsessi sõlm" - -#. 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 "" - -#. module: process -#: field:process.node,menu_id:0 -msgid "Related Menu" -msgstr "Seotud menüü" - -#. module: process -#: selection:process.node,kind:0 -msgid "Status" -msgstr "" - -#. module: process -#: field:process.transition,action_ids:0 -msgid "Buttons" -msgstr "Nupud" - -#. module: process -#: view:process.node:0 -#: view:process.process:0 -msgid "Group By..." -msgstr "" - -#. module: process -#: view:process.node:0 -msgid "Kind Of Node" -msgstr "" - -#. module: process -#: field:process.node,help_url:0 -msgid "Help URL" -msgstr "Abi URL" - -#. module: process -#: field:process.node,flow_start:0 -msgid "Starting Flow" -msgstr "Alustav voog" - -#. 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 "Protsessi sõlmed" - -#. module: process -#: view:process.process:0 -#: field:process.process,node_ids:0 -msgid "Nodes" -msgstr "Sõlmed" - -#. module: process -#: field:process.node,condition_ids:0 -#: view:process.process:0 -msgid "Conditions" -msgstr "Tingimused" - -#. module: process -#: view:process.transition:0 -msgid "Search Process Transition" -msgstr "" - -#. module: process -#: field:process.condition,node_id:0 -msgid "Node" -msgstr "Sõlm" - -#. module: process -#: selection:process.transition.action,state:0 -msgid "Workflow Trigger" -msgstr "Töövoo päästik" - -#. module: process -#: field:process.transition,note:0 -msgid "Description" -msgstr "Kirjeldus" - -#. module: process -#: model:ir.model,name:process.model_process_transition_action -msgid "Process Transitions Actions" -msgstr "Protsessisiirde toimingud" - -#. 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 "Objekt" - -#. module: process -#: field:process.transition,source_node_id:0 -msgid "Source Node" -msgstr "Lähtesõlm" - -#. module: process -#: view:process.transition:0 -#: field:process.transition,transition_ids:0 -msgid "Workflow Transitions" -msgstr "Töövoo siirded" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:39 -#, python-format -msgid "Last modified by:" -msgstr "" - -#. module: process -#: field:process.transition.action,action:0 -msgid "Action ID" -msgstr "Toimingu ID" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:7 -#, python-format -msgid "Process View" -msgstr "" - -#. module: process -#: model:ir.model,name:process.model_process_transition -#: view:process.transition:0 -msgid "Process Transition" -msgstr "Protsessi siire" - -#. module: process -#: model:ir.model,name:process.model_process_condition -msgid "Condition" -msgstr "Tingimus" - -#. module: process -#: selection:process.transition.action,state:0 -msgid "Dummy" -msgstr "Liba" - -#. 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.transition.action,transition_id:0 -msgid "Transition" -msgstr "Siire" - -#. 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 "Nimi" - -#. module: process -#: field:process.node,transition_in:0 -msgid "Starting Transitions" -msgstr "Alustavad siirded" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:54 -#, python-format -msgid "Related:" -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 "Märkmed" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:88 -#, python-format -msgid "Edit Process" -msgstr "" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:39 -#, python-format -msgid "N/A" -msgstr "" - -#. module: process -#: view:process.process:0 -msgid "Search Process" -msgstr "" - -#. module: process -#: field:process.process,active:0 -msgid "Active" -msgstr "Aktiivne" - -#. module: process -#: view:process.transition:0 -msgid "Associated Groups" -msgstr "" - -#. module: process -#: field:process.node,model_states:0 -msgid "States Expression" -msgstr "Olekute väljendus" - -#. module: process -#: selection:process.transition.action,state:0 -msgid "Action" -msgstr "Toiming" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:67 -#, python-format -msgid "Select Process" -msgstr "" - -#. module: process -#: field:process.condition,model_states:0 -msgid "Expression" -msgstr "Avaldis" - -#. 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 "Tüüp" - -#. module: process -#: field:process.node,transition_out:0 -msgid "Ending Transitions" -msgstr "Lõppevad siirded" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/js/process.js:243 -#: code:addons/process/static/src/xml/process.xml:33 -#: model:ir.model,name:process.model_process_process -#: field:process.node,process_id:0 -#: view:process.process:0 -#, python-format -msgid "Process" -msgstr "Protsess" - -#. 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 "Ettevõtluse protsess" - -#. module: process -#: view:process.transition:0 -msgid "Actions" -msgstr "Toimingud" - -#. 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 "Protsessi siirded" - -#. module: process -#: field:process.transition,target_node_id:0 -msgid "Target Node" -msgstr "Sihtsõlm" - -#. module: process -#: field:process.node,kind:0 -msgid "Kind of Node" -msgstr "Sõlme liik" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:42 -#, python-format -msgid "Subflows:" -msgstr "" - -#. module: process -#: view:process.node:0 -#: view:process.process:0 -msgid "Outgoing Transitions" -msgstr "Väljuvad siirded" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:36 -#, python-format -msgid "Notes:" -msgstr "" - -#. module: process -#: selection:process.node,kind:0 -#: field:process.node,subflow_id:0 -msgid "Subflow" -msgstr "Alamvoog" - -#. module: process -#: view:process.node:0 -#: view:process.process:0 -msgid "Transitions" -msgstr "Siirded" - -#. module: process -#: selection:process.transition.action,state:0 -msgid "Object Method" -msgstr "Objekti meetod" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:77 -#, python-format -msgid "Select" -msgstr "" - -#~ msgid "" -#~ "The Object name must start with x_ and not contain any special character !" -#~ msgstr "" -#~ "Objekti nimi peab algama x_'ga ja ei tohi sisaldada ühtegi erisümbolit !" - -#~ msgid "Roles from Workflow" -#~ msgstr "Rollid töövoogudest" - -#~ msgid "State" -#~ msgstr "Olek" - -#~ msgid "Details" -#~ msgstr "Üksikasjad" - -#~ msgid "Invalid XML for View Architecture!" -#~ msgstr "Vigane XML vaate arhitektuurile!" - -#~ msgid "Roles" -#~ msgstr "Rollid" - -#~ msgid "Roles Required" -#~ msgstr "Nõutud rollid" - -#~ msgid "Extra Information" -#~ msgstr "Lisainfo" - -#~ msgid "Enterprise Processes" -#~ msgstr "Ettevõtte protsessid" - -#~ msgid "Invalid model name in the action definition." -#~ msgstr "Vigane mudeli nimi toimingu definitsioonis." diff --git a/addons/process/i18n/fi.po b/addons/process/i18n/fi.po deleted file mode 100644 index 05fa6292479..00000000000 --- a/addons/process/i18n/fi.po +++ /dev/null @@ -1,412 +0,0 @@ -# Finnish translation for openobject-addons -# Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010 -# This file is distributed under the same license as the openobject-addons package. -# FIRST AUTHOR , 2010. -# -msgid "" -msgstr "" -"Project-Id-Version: openobject-addons\n" -"Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-12-21 17:06+0000\n" -"PO-Revision-Date: 2010-08-02 17:09+0000\n" -"Last-Translator: Mantavya Gajjar (Open ERP) \n" -"Language-Team: Finnish \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:10+0000\n" -"X-Generator: Launchpad (build 16532)\n" - -#. module: process -#: model:ir.model,name:process.model_process_node -#: view:process.node:0 -#: view:process.process:0 -msgid "Process Node" -msgstr "Prosessisolmu" - -#. 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 "" -"Jos aktiivisen kentän arvo on epätosi (false), voit piilottaa prosessin " -"poistamatta sitä." - -#. module: process -#: field:process.node,menu_id:0 -msgid "Related Menu" -msgstr "Liittyvä valikko" - -#. module: process -#: selection:process.node,kind:0 -msgid "Status" -msgstr "" - -#. module: process -#: field:process.transition,action_ids:0 -msgid "Buttons" -msgstr "Painikkeet" - -#. module: process -#: view:process.node:0 -#: view:process.process:0 -msgid "Group By..." -msgstr "Ryhmittely.." - -#. module: process -#: view:process.node:0 -msgid "Kind Of Node" -msgstr "Noodin tyyppi" - -#. module: process -#: field:process.node,help_url:0 -msgid "Help URL" -msgstr "Ohjeen URL" - -#. module: process -#: field:process.node,flow_start:0 -msgid "Starting Flow" -msgstr "Aloittava kulku" - -#. 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 "Prosessisolmut" - -#. module: process -#: view:process.process:0 -#: field:process.process,node_ids:0 -msgid "Nodes" -msgstr "Solmut" - -#. module: process -#: field:process.node,condition_ids:0 -#: view:process.process:0 -msgid "Conditions" -msgstr "Ehdot" - -#. module: process -#: view:process.transition:0 -msgid "Search Process Transition" -msgstr "Hae prosessisiirtymiä" - -#. module: process -#: field:process.condition,node_id:0 -msgid "Node" -msgstr "Solmu" - -#. module: process -#: selection:process.transition.action,state:0 -msgid "Workflow Trigger" -msgstr "Työnkulun liipaisin" - -#. module: process -#: field:process.transition,note:0 -msgid "Description" -msgstr "Kuvaus" - -#. module: process -#: model:ir.model,name:process.model_process_transition_action -msgid "Process Transitions Actions" -msgstr "Prosessin siirtymien toiminnot" - -#. 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 "Objekti" - -#. module: process -#: field:process.transition,source_node_id:0 -msgid "Source Node" -msgstr "Lähdesolmu" - -#. module: process -#: view:process.transition:0 -#: field:process.transition,transition_ids:0 -msgid "Workflow Transitions" -msgstr "Työnkulun siirtymät" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:39 -#, python-format -msgid "Last modified by:" -msgstr "" - -#. module: process -#: field:process.transition.action,action:0 -msgid "Action ID" -msgstr "Toiminnon tunnus" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:7 -#, python-format -msgid "Process View" -msgstr "" - -#. module: process -#: model:ir.model,name:process.model_process_transition -#: view:process.transition:0 -msgid "Process Transition" -msgstr "Prosessin siirtymä" - -#. module: process -#: model:ir.model,name:process.model_process_condition -msgid "Condition" -msgstr "Ehto" - -#. module: process -#: selection:process.transition.action,state:0 -msgid "Dummy" -msgstr "Tyhjä" - -#. module: process -#: model:ir.actions.act_window,name:process.action_process_form -#: model:ir.ui.menu,name:process.menu_process_form -msgid "Processes" -msgstr "Prosessit" - -#. module: process -#: field:process.transition.action,transition_id:0 -msgid "Transition" -msgstr "Siirtymä" - -#. 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 "Nimi" - -#. module: process -#: field:process.node,transition_in:0 -msgid "Starting Transitions" -msgstr "Aloittavat siirtymät" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:54 -#, python-format -msgid "Related:" -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 "Huomautukset" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:88 -#, python-format -msgid "Edit Process" -msgstr "" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:39 -#, python-format -msgid "N/A" -msgstr "" - -#. module: process -#: view:process.process:0 -msgid "Search Process" -msgstr "Hae prosessia" - -#. module: process -#: field:process.process,active:0 -msgid "Active" -msgstr "Aktiivinen" - -#. module: process -#: view:process.transition:0 -msgid "Associated Groups" -msgstr "Liittyvät ryhmät" - -#. module: process -#: field:process.node,model_states:0 -msgid "States Expression" -msgstr "Tilojen lauseke" - -#. module: process -#: selection:process.transition.action,state:0 -msgid "Action" -msgstr "Toiminto" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:67 -#, python-format -msgid "Select Process" -msgstr "" - -#. module: process -#: field:process.condition,model_states:0 -msgid "Expression" -msgstr "Lauseke" - -#. module: process -#: field:process.transition,group_ids:0 -msgid "Required Groups" -msgstr "Vaaditut ryhmät" - -#. module: process -#: view:process.node:0 -#: view:process.process:0 -msgid "Incoming Transitions" -msgstr "Saapuvat siirtymät" - -#. module: process -#: field:process.transition.action,state:0 -msgid "Type" -msgstr "Tyyppi" - -#. module: process -#: field:process.node,transition_out:0 -msgid "Ending Transitions" -msgstr "Lopettavat siirtymät" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/js/process.js:243 -#: code:addons/process/static/src/xml/process.xml:33 -#: model:ir.model,name:process.model_process_process -#: field:process.node,process_id:0 -#: view:process.process:0 -#, python-format -msgid "Process" -msgstr "Prosessi" - -#. module: process -#: view:process.node:0 -msgid "Search ProcessNode" -msgstr "Hae prosessinoodia" - -#. module: process -#: view:process.node:0 -#: view:process.process:0 -msgid "Other Conditions" -msgstr "Muut ehdot" - -#. module: process -#: model:ir.ui.menu,name:process.menu_process -msgid "Enterprise Process" -msgstr "Yrityksen prosessi" - -#. module: process -#: view:process.transition:0 -msgid "Actions" -msgstr "Toiminnot" - -#. module: process -#: view:process.node:0 -#: view:process.process:0 -msgid "Properties" -msgstr "Ominaisuudet" - -#. 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 "Prosessin siirtymät" - -#. module: process -#: field:process.transition,target_node_id:0 -msgid "Target Node" -msgstr "Kohdesolmu" - -#. module: process -#: field:process.node,kind:0 -msgid "Kind of Node" -msgstr "Solmun tyyppi" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:42 -#, python-format -msgid "Subflows:" -msgstr "" - -#. module: process -#: view:process.node:0 -#: view:process.process:0 -msgid "Outgoing Transitions" -msgstr "Lähtevät siirtymät" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:36 -#, python-format -msgid "Notes:" -msgstr "" - -#. module: process -#: selection:process.node,kind:0 -#: field:process.node,subflow_id:0 -msgid "Subflow" -msgstr "Alikulku" - -#. module: process -#: view:process.node:0 -#: view:process.process:0 -msgid "Transitions" -msgstr "Siirtymät" - -#. module: process -#: selection:process.transition.action,state:0 -msgid "Object Method" -msgstr "Objektimenetelmä" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:77 -#, python-format -msgid "Select" -msgstr "" - -#~ msgid "Roles from Workflow" -#~ msgstr "Roolit työnkulusta" - -#~ msgid "Invalid model name in the action definition." -#~ msgstr "Virheellinen mallin nimi toiminnon määrittelyssä." - -#~ msgid "State" -#~ msgstr "Tila" - -#~ msgid "" -#~ "The Object name must start with x_ and not contain any special character !" -#~ msgstr "Objektin nimen tulee alkaa x_ ja se ei saa sisältää erikoismerkkejä!" - -#~ msgid "Details" -#~ msgstr "Tiedot" - -#~ msgid "Roles Required" -#~ msgstr "Vaaditut työtehtävät" - -#~ msgid "Roles" -#~ msgstr "Työtehtävät" - -#~ msgid "Invalid XML for View Architecture!" -#~ msgstr "Virheellinen XML näkymä-arkkitehtuurille!" - -#~ msgid "Extra Information" -#~ msgstr "Lisätiedot" - -#~ msgid "Enterprise Processes" -#~ msgstr "Yrityksen prosessit" diff --git a/addons/process/i18n/fr.po b/addons/process/i18n/fr.po deleted file mode 100644 index 1accb844a56..00000000000 --- a/addons/process/i18n/fr.po +++ /dev/null @@ -1,416 +0,0 @@ -# Translation of OpenERP Server. -# This file contains the translation of the following modules: -# * process -# -msgid "" -msgstr "" -"Project-Id-Version: OpenERP Server 5.0.4\n" -"Report-Msgid-Bugs-To: support@openerp.com\n" -"POT-Creation-Date: 2012-12-21 17:06+0000\n" -"PO-Revision-Date: 2011-01-13 19:47+0000\n" -"Last-Translator: Maxime Chambreuil (http://www.savoirfairelinux.com) " -"\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-03-16 05:10+0000\n" -"X-Generator: Launchpad (build 16532)\n" - -#. module: process -#: model:ir.model,name:process.model_process_node -#: view:process.node:0 -#: view:process.process:0 -msgid "Process Node" -msgstr "Noeud de processus" - -#. 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 "Décocher le champ \"actif\" masque le processus sans le supprimer." - -#. module: process -#: field:process.node,menu_id:0 -msgid "Related Menu" -msgstr "Menu associé" - -#. module: process -#: selection:process.node,kind:0 -msgid "Status" -msgstr "" - -#. module: process -#: field:process.transition,action_ids:0 -msgid "Buttons" -msgstr "Boutons" - -#. module: process -#: view:process.node:0 -#: view:process.process:0 -msgid "Group By..." -msgstr "Regrouper par..." - -#. module: process -#: view:process.node:0 -msgid "Kind Of Node" -msgstr "Genre de noeud" - -#. module: process -#: field:process.node,help_url:0 -msgid "Help URL" -msgstr "URL de l'aide" - -#. module: process -#: field:process.node,flow_start:0 -msgid "Starting Flow" -msgstr "Flux de Départ" - -#. 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 "Noeuds de processus" - -#. module: process -#: view:process.process:0 -#: field:process.process,node_ids:0 -msgid "Nodes" -msgstr "Nœuds" - -#. module: process -#: field:process.node,condition_ids:0 -#: view:process.process:0 -msgid "Conditions" -msgstr "Conditions" - -#. module: process -#: view:process.transition:0 -msgid "Search Process Transition" -msgstr "Rechercher dans les transitions de processus" - -#. module: process -#: field:process.condition,node_id:0 -msgid "Node" -msgstr "Nœud" - -#. module: process -#: selection:process.transition.action,state:0 -msgid "Workflow Trigger" -msgstr "Déclenchement du Flux d'Entreprise" - -#. module: process -#: field:process.transition,note:0 -msgid "Description" -msgstr "Description" - -#. module: process -#: model:ir.model,name:process.model_process_transition_action -msgid "Process Transitions Actions" -msgstr "Actions des transitions de processus" - -#. 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 "Objet" - -#. module: process -#: field:process.transition,source_node_id:0 -msgid "Source Node" -msgstr "Noeud source" - -#. module: process -#: view:process.transition:0 -#: field:process.transition,transition_ids:0 -msgid "Workflow Transitions" -msgstr "Transitions du Flux de Travail" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:39 -#, python-format -msgid "Last modified by:" -msgstr "" - -#. module: process -#: field:process.transition.action,action:0 -msgid "Action ID" -msgstr "ID de l'Action" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:7 -#, python-format -msgid "Process View" -msgstr "" - -#. module: process -#: model:ir.model,name:process.model_process_transition -#: view:process.transition:0 -msgid "Process Transition" -msgstr "Transition du processus" - -#. module: process -#: model:ir.model,name:process.model_process_condition -msgid "Condition" -msgstr "Condition" - -#. module: process -#: selection:process.transition.action,state:0 -msgid "Dummy" -msgstr "Factice" - -#. module: process -#: model:ir.actions.act_window,name:process.action_process_form -#: model:ir.ui.menu,name:process.menu_process_form -msgid "Processes" -msgstr "Processus" - -#. module: process -#: field:process.transition.action,transition_id:0 -msgid "Transition" -msgstr "Transition" - -#. 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 "Nom" - -#. module: process -#: field:process.node,transition_in:0 -msgid "Starting Transitions" -msgstr "Transitions de Départ" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:54 -#, python-format -msgid "Related:" -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 "Notes" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:88 -#, python-format -msgid "Edit Process" -msgstr "" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:39 -#, python-format -msgid "N/A" -msgstr "" - -#. module: process -#: view:process.process:0 -msgid "Search Process" -msgstr "Rechercher dans les processus" - -#. module: process -#: field:process.process,active:0 -msgid "Active" -msgstr "Actif" - -#. module: process -#: view:process.transition:0 -msgid "Associated Groups" -msgstr "Groupes associés" - -#. module: process -#: field:process.node,model_states:0 -msgid "States Expression" -msgstr "Expression d'états" - -#. module: process -#: selection:process.transition.action,state:0 -msgid "Action" -msgstr "Action" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:67 -#, python-format -msgid "Select Process" -msgstr "" - -#. module: process -#: field:process.condition,model_states:0 -msgid "Expression" -msgstr "Expression" - -#. module: process -#: field:process.transition,group_ids:0 -msgid "Required Groups" -msgstr "Groupes nécessaires" - -#. module: process -#: view:process.node:0 -#: view:process.process:0 -msgid "Incoming Transitions" -msgstr "Transitions entrantes" - -#. module: process -#: field:process.transition.action,state:0 -msgid "Type" -msgstr "Type" - -#. module: process -#: field:process.node,transition_out:0 -msgid "Ending Transitions" -msgstr "Transitions finales" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/js/process.js:243 -#: code:addons/process/static/src/xml/process.xml:33 -#: model:ir.model,name:process.model_process_process -#: field:process.node,process_id:0 -#: view:process.process:0 -#, python-format -msgid "Process" -msgstr "Processus" - -#. module: process -#: view:process.node:0 -msgid "Search ProcessNode" -msgstr "Rechercher dans les noeuds de processus" - -#. module: process -#: view:process.node:0 -#: view:process.process:0 -msgid "Other Conditions" -msgstr "Autres conditions" - -#. module: process -#: model:ir.ui.menu,name:process.menu_process -msgid "Enterprise Process" -msgstr "Processus de la société" - -#. module: process -#: view:process.transition:0 -msgid "Actions" -msgstr "Actions" - -#. module: process -#: view:process.node:0 -#: view:process.process:0 -msgid "Properties" -msgstr "Propriétés" - -#. 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 "Transitions de processus" - -#. module: process -#: field:process.transition,target_node_id:0 -msgid "Target Node" -msgstr "Noeud cible" - -#. module: process -#: field:process.node,kind:0 -msgid "Kind of Node" -msgstr "Type de Noeud" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:42 -#, python-format -msgid "Subflows:" -msgstr "" - -#. module: process -#: view:process.node:0 -#: view:process.process:0 -msgid "Outgoing Transitions" -msgstr "Transitions sortantes" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:36 -#, python-format -msgid "Notes:" -msgstr "" - -#. module: process -#: selection:process.node,kind:0 -#: field:process.node,subflow_id:0 -msgid "Subflow" -msgstr "Sous-flux" - -#. module: process -#: view:process.node:0 -#: view:process.process:0 -msgid "Transitions" -msgstr "Transitions" - -#. module: process -#: selection:process.transition.action,state:0 -msgid "Object Method" -msgstr "Méthode de l'objet" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:77 -#, python-format -msgid "Select" -msgstr "" - -#~ msgid "" -#~ "The Object name must start with x_ and not contain any special character !" -#~ msgstr "" -#~ "Le nom de l'objet doit commencer avec x_ et ne pas contenir de charactères " -#~ "spéciaux !" - -#~ msgid "State" -#~ msgstr "État" - -#~ msgid "Invalid XML for View Architecture!" -#~ msgstr "XML non valide pour l'architecture de la vue" - -#~ msgid "Extra Information" -#~ msgstr "Information supplémentaire" - -#~ msgid "" -#~ "\n" -#~ " This module shows the basic processes involved\n" -#~ " in the selected modules and in the sequence they\n" -#~ " occur\n" -#~ "\n" -#~ " Note: This applies to the modules containing modulename_process_xml\n" -#~ " for e.g product/process/product_process_xml\n" -#~ "\n" -#~ " " -#~ msgstr "" -#~ "\n" -#~ " Ce module montre les processus de base impliqués\n" -#~ " dans les modules sélectionnés et l'ordre dans lequel\n" -#~ " ils apparaissent\n" -#~ "\n" -#~ " Remarque : Ceci s'applique aux modules contenant " -#~ "nomdumodule_process_xml\n" -#~ " par exemple product/process/product_process_xml\n" -#~ "\n" -#~ " " diff --git a/addons/process/i18n/gl.po b/addons/process/i18n/gl.po deleted file mode 100644 index 67eb9392055..00000000000 --- a/addons/process/i18n/gl.po +++ /dev/null @@ -1,431 +0,0 @@ -# Galician translation for openobject-addons -# Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010 -# This file is distributed under the same license as the openobject-addons package. -# FIRST AUTHOR , 2010. -# -msgid "" -msgstr "" -"Project-Id-Version: openobject-addons\n" -"Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-12-21 17:06+0000\n" -"PO-Revision-Date: 2010-12-15 06:01+0000\n" -"Last-Translator: OpenERP Administrators \n" -"Language-Team: Galician \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:10+0000\n" -"X-Generator: Launchpad (build 16532)\n" - -#. module: process -#: model:ir.model,name:process.model_process_node -#: view:process.node:0 -#: view:process.process:0 -msgid "Process Node" -msgstr "Nó do Proceso" - -#. 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 "" -"Se se desmarca o campo activo, permite ocultar o proceso sen eliminalo." - -#. module: process -#: field:process.node,menu_id:0 -msgid "Related Menu" -msgstr "Menú relacionado" - -#. module: process -#: selection:process.node,kind:0 -msgid "Status" -msgstr "" - -#. module: process -#: field:process.transition,action_ids:0 -msgid "Buttons" -msgstr "Botóns" - -#. module: process -#: view:process.node:0 -#: view:process.process:0 -msgid "Group By..." -msgstr "Agrupar por..." - -#. module: process -#: view:process.node:0 -msgid "Kind Of Node" -msgstr "Tipo de nodo" - -#. module: process -#: field:process.node,help_url:0 -msgid "Help URL" -msgstr "URL de Axuda" - -#. module: process -#: field:process.node,flow_start:0 -msgid "Starting Flow" -msgstr "Fluxo de inicio" - -#. 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 "Nós do Proceso" - -#. module: process -#: view:process.process:0 -#: field:process.process,node_ids:0 -msgid "Nodes" -msgstr "Nós" - -#. module: process -#: field:process.node,condition_ids:0 -#: view:process.process:0 -msgid "Conditions" -msgstr "Condicións" - -#. module: process -#: view:process.transition:0 -msgid "Search Process Transition" -msgstr "Buscar transición do proceso" - -#. module: process -#: field:process.condition,node_id:0 -msgid "Node" -msgstr "Nó" - -#. module: process -#: selection:process.transition.action,state:0 -msgid "Workflow Trigger" -msgstr "Disparador de fluxo de traballo" - -#. module: process -#: field:process.transition,note:0 -msgid "Description" -msgstr "Descrición" - -#. module: process -#: model:ir.model,name:process.model_process_transition_action -msgid "Process Transitions Actions" -msgstr "Accións de Transición no Proceso" - -#. 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 "Obxecto" - -#. module: process -#: field:process.transition,source_node_id:0 -msgid "Source Node" -msgstr "Nó de orixe" - -#. module: process -#: view:process.transition:0 -#: field:process.transition,transition_ids:0 -msgid "Workflow Transitions" -msgstr "Transicións do fluxo de traballo" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:39 -#, python-format -msgid "Last modified by:" -msgstr "" - -#. module: process -#: field:process.transition.action,action:0 -msgid "Action ID" -msgstr "ID da Acción" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:7 -#, python-format -msgid "Process View" -msgstr "" - -#. module: process -#: model:ir.model,name:process.model_process_transition -#: view:process.transition:0 -msgid "Process Transition" -msgstr "Transición do Proceso" - -#. module: process -#: model:ir.model,name:process.model_process_condition -msgid "Condition" -msgstr "Condición" - -#. module: process -#: selection:process.transition.action,state:0 -msgid "Dummy" -msgstr "Dummy" - -#. module: process -#: model:ir.actions.act_window,name:process.action_process_form -#: model:ir.ui.menu,name:process.menu_process_form -msgid "Processes" -msgstr "Procesos" - -#. module: process -#: field:process.transition.action,transition_id:0 -msgid "Transition" -msgstr "Transición" - -#. 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 "Nome" - -#. module: process -#: field:process.node,transition_in:0 -msgid "Starting Transitions" -msgstr "Transicións de inicio" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:54 -#, python-format -msgid "Related:" -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 "Notas" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:88 -#, python-format -msgid "Edit Process" -msgstr "" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:39 -#, python-format -msgid "N/A" -msgstr "" - -#. module: process -#: view:process.process:0 -msgid "Search Process" -msgstr "Buscar proceso" - -#. module: process -#: field:process.process,active:0 -msgid "Active" -msgstr "Activo" - -#. module: process -#: view:process.transition:0 -msgid "Associated Groups" -msgstr "Grupos asociados" - -#. module: process -#: field:process.node,model_states:0 -msgid "States Expression" -msgstr "Expresión dos estados" - -#. module: process -#: selection:process.transition.action,state:0 -msgid "Action" -msgstr "Acción" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:67 -#, python-format -msgid "Select Process" -msgstr "" - -#. module: process -#: field:process.condition,model_states:0 -msgid "Expression" -msgstr "Expresión" - -#. module: process -#: field:process.transition,group_ids:0 -msgid "Required Groups" -msgstr "Grupos requiridos" - -#. module: process -#: view:process.node:0 -#: view:process.process:0 -msgid "Incoming Transitions" -msgstr "Transicións entrantes" - -#. module: process -#: field:process.transition.action,state:0 -msgid "Type" -msgstr "Tipo" - -#. module: process -#: field:process.node,transition_out:0 -msgid "Ending Transitions" -msgstr "Transitions de remate" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/js/process.js:243 -#: code:addons/process/static/src/xml/process.xml:33 -#: model:ir.model,name:process.model_process_process -#: field:process.node,process_id:0 -#: view:process.process:0 -#, python-format -msgid "Process" -msgstr "Proceso" - -#. module: process -#: view:process.node:0 -msgid "Search ProcessNode" -msgstr "Buscar nodo proceso" - -#. module: process -#: view:process.node:0 -#: view:process.process:0 -msgid "Other Conditions" -msgstr "Outras condicións" - -#. module: process -#: model:ir.ui.menu,name:process.menu_process -msgid "Enterprise Process" -msgstr "Proceso de Empresa" - -#. module: process -#: view:process.transition:0 -msgid "Actions" -msgstr "Accións" - -#. module: process -#: view:process.node:0 -#: view:process.process:0 -msgid "Properties" -msgstr "Propiedades" - -#. 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 "Transicións do Proceso" - -#. module: process -#: field:process.transition,target_node_id:0 -msgid "Target Node" -msgstr "Nó de destino" - -#. module: process -#: field:process.node,kind:0 -msgid "Kind of Node" -msgstr "Tipo de nó" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:42 -#, python-format -msgid "Subflows:" -msgstr "" - -#. module: process -#: view:process.node:0 -#: view:process.process:0 -msgid "Outgoing Transitions" -msgstr "As transicións de saída" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:36 -#, python-format -msgid "Notes:" -msgstr "" - -#. module: process -#: selection:process.node,kind:0 -#: field:process.node,subflow_id:0 -msgid "Subflow" -msgstr "Subfluxo" - -#. module: process -#: view:process.node:0 -#: view:process.process:0 -msgid "Transitions" -msgstr "Transicións" - -#. module: process -#: selection:process.transition.action,state:0 -msgid "Object Method" -msgstr "Método do Obxecto" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:77 -#, python-format -msgid "Select" -msgstr "" - -#~ msgid "Invalid model name in the action definition." -#~ msgstr "Nome do modelo inválido na definición da acción." - -#~ msgid "Roles from Workflow" -#~ msgstr "Roles dende fluxo de traballo" - -#~ msgid "State" -#~ msgstr "Estado" - -#~ msgid "Details" -#~ msgstr "Detalles" - -#~ msgid "Invalid XML for View Architecture!" -#~ msgstr "XML inválido para a Arquitectura de Vistas!" - -#~ msgid "Roles" -#~ msgstr "Funcións" - -#~ msgid "Roles Required" -#~ msgstr "Roles esixidos" - -#~ msgid "Extra Information" -#~ msgstr "Información adicional" - -#~ msgid "Enterprise Processes" -#~ msgstr "Procesos de Empresa" - -#~ msgid "" -#~ "The Object name must start with x_ and not contain any special character !" -#~ msgstr "" -#~ "¡O nome do obxeto debe comenzar por x_ e non conter ningún carater especial!" - -#~ msgid "" -#~ "\n" -#~ " This module shows the basic processes involved\n" -#~ " in the selected modules and in the sequence they\n" -#~ " occur\n" -#~ "\n" -#~ " Note: This applies to the modules containing modulename_process_xml\n" -#~ " for e.g product/process/product_process_xml\n" -#~ "\n" -#~ " " -#~ msgstr "" -#~ "\n" -#~ " Este módulo amosa os procesos básicos nos que participan os módulos " -#~ "seleccionados, e a secuencia na que ocorren. Nota: Isto é aplicable ós " -#~ "módulos que conteñen o nomedomódulo_process_xml por exemplo " -#~ "product/process/product_process_xml\n" -#~ "\n" -#~ " " diff --git a/addons/process/i18n/hi.po b/addons/process/i18n/hi.po deleted file mode 100644 index 172bd32c148..00000000000 --- a/addons/process/i18n/hi.po +++ /dev/null @@ -1,385 +0,0 @@ -# Hindi translation for openobject-addons -# Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009 -# This file is distributed under the same license as the openobject-addons package. -# FIRST AUTHOR , 2009. -# -msgid "" -msgstr "" -"Project-Id-Version: openobject-addons\n" -"Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-12-21 17:06+0000\n" -"PO-Revision-Date: 2009-09-08 13:01+0000\n" -"Last-Translator: vir (Open ERP) \n" -"Language-Team: Hindi \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:10+0000\n" -"X-Generator: Launchpad (build 16532)\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 "" - -#. module: process -#: field:process.node,menu_id:0 -msgid "Related Menu" -msgstr "" - -#. module: process -#: selection:process.node,kind:0 -msgid "Status" -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 -#: view:process.node:0 -msgid "Kind Of Node" -msgstr "" - -#. module: process -#: field:process.node,help_url:0 -msgid "Help URL" -msgstr "" - -#. module: process -#: field:process.node,flow_start:0 -msgid "Starting Flow" -msgstr "" - -#. 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 -#: 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 -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:39 -#, python-format -msgid "Last modified by:" -msgstr "" - -#. module: process -#: field:process.transition.action,action:0 -msgid "Action ID" -msgstr "" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:7 -#, python-format -msgid "Process View" -msgstr "" - -#. 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.transition.action,transition_id:0 -msgid "Transition" -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 -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:54 -#, python-format -msgid "Related:" -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 -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:88 -#, python-format -msgid "Edit Process" -msgstr "" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:39 -#, python-format -msgid "N/A" -msgstr "" - -#. module: process -#: view:process.process:0 -msgid "Search Process" -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 -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:67 -#, python-format -msgid "Select Process" -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 -#. openerp-web -#: code:addons/process/static/src/js/process.js:243 -#: code:addons/process/static/src/xml/process.xml:33 -#: model:ir.model,name:process.model_process_process -#: field:process.node,process_id:0 -#: view:process.process:0 -#, python-format -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 -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:42 -#, python-format -msgid "Subflows:" -msgstr "" - -#. module: process -#: view:process.node:0 -#: view:process.process:0 -msgid "Outgoing Transitions" -msgstr "" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:36 -#, python-format -msgid "Notes:" -msgstr "" - -#. module: process -#: selection:process.node,kind:0 -#: field:process.node,subflow_id:0 -msgid "Subflow" -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 "" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:77 -#, python-format -msgid "Select" -msgstr "" - -#~ msgid "State" -#~ msgstr "स्थिति" - -#~ msgid "Details" -#~ msgstr "विस्तार" diff --git a/addons/process/i18n/hi_HI.po b/addons/process/i18n/hi_HI.po deleted file mode 100644 index fdaec205754..00000000000 --- a/addons/process/i18n/hi_HI.po +++ /dev/null @@ -1,304 +0,0 @@ -# Hindi translation for openobject-addons -# Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009 -# This file is distributed under the same license as the openobject-addons package. -# FIRST AUTHOR , 2009. -# -msgid "" -msgstr "" -"Project-Id-Version: openobject-addons\n" -"Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2009-05-19 14:36+0000\n" -"PO-Revision-Date: 2009-07-03 06:20+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Hindi \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-08-28 11:02+0000\n" -"X-Generator: Launchpad (build Unknown)\n" - -#. module: process -#: view:process.node:0 -#: view:process.process:0 -msgid "Process Node" -msgstr "" - -#. module: process -#: constraint:ir.model:0 -msgid "" -"The Object name must start with x_ and not contain any special character !" -msgstr "" - -#. module: process -#: constraint:ir.actions.act_window:0 -msgid "Invalid model name in the action definition." -msgstr "" - -#. module: process -#: view:process.node:0 -#: view:process.process:0 -#: view:process.transition:0 -msgid "Roles from Workflow" -msgstr "" - -#. module: process -#: field:process.node,menu_id:0 -msgid "Related Menu" -msgstr "" - -#. module: process -#: view:process.node:0 -#: view:process.process:0 -#: field:process.transition,action_ids:0 -msgid "Buttons" -msgstr "" - -#. module: process -#: selection:process.node,kind:0 -msgid "State" -msgstr "" - -#. module: process -#: view:process.node:0 -#: view:process.process:0 -#: view:process.transition:0 -msgid "Details" -msgstr "" - -#. module: process -#: field:process.node,help_url:0 -msgid "Help URL" -msgstr "" - -#. module: process -#: model:ir.actions.act_window,name:process.action_process_node_form -#: model:ir.model,name:process.model_process_node -#: 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 -#: 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 -#: field:process.node,model_id: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 -#: field:process.transition,transition_ids:0 -msgid "Workflow Transitions" -msgstr "" - -#. module: process -#: field:process.transition.action,action:0 -msgid "Action ID" -msgstr "" - -#. module: process -#: view:process.transition:0 -msgid "Process Transition" -msgstr "" - -#. module: process -#: model:ir.model,name:process.model_process_condition -#: view:process.node:0 -#: view:process.process:0 -msgid "Condition" -msgstr "" - -#. module: process -#: selection:process.transition.action,state:0 -msgid "Dummy" -msgstr "" - -#. module: process -#: constraint:ir.ui.view:0 -msgid "Invalid XML for View Architecture!" -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.transition,role_ids:0 -msgid "Roles" -msgstr "" - -#. module: process -#: field:process.node,transition_in:0 -msgid "Starting Transitions" -msgstr "" - -#. module: process -#: field:process.node,note:0 -#: field:process.process,note:0 -#: view:process.transition:0 -msgid "Notes" -msgstr "" - -#. module: process -#: view:process.node:0 -#: view:process.process:0 -#: field:process.transition.action,transition_id:0 -msgid "Transition" -msgstr "" - -#. module: process -#: view:process.node:0 -#: view:process.process:0 -#: view:process.transition:0 -msgid "Roles Required" -msgstr "" - -#. module: process -#: view:process.node:0 -#: view:process.process:0 -msgid "Extra Information" -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 -#: 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.action,state:0 -msgid "Type" -msgstr "" - -#. module: process -#: field:process.node,transition_out:0 -msgid "Ending Transitions" -msgstr "" - -#. module: process -#: model:ir.actions.act_window,name:process.action_process_form -#: model:ir.model,name:process.model_process_process -#: model:ir.ui.menu,name:process.menu_process_form -#: field:process.node,process_id:0 -#: view:process.process:0 -msgid "Process" -msgstr "" - -#. module: process -#: model:ir.module.module,shortdesc:process.module_meta_information -msgid "Enterprise Process" -msgstr "" - -#. module: process -#: view:process.node:0 -#: view:process.process:0 -#: view:process.transition:0 -msgid "Actions" -msgstr "" - -#. module: process -#: field:process.node,model_states:0 -msgid "States Expression" -msgstr "" - -#. module: process -#: model:ir.actions.act_window,name:process.action_process_transition_form -#: model:ir.model,name:process.model_process_transition -#: 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 -#: model:ir.ui.menu,name:process.menu_process -msgid "Enterprise Processes" -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/process/i18n/hr.po b/addons/process/i18n/hr.po deleted file mode 100644 index 2e7847b76a9..00000000000 --- a/addons/process/i18n/hr.po +++ /dev/null @@ -1,411 +0,0 @@ -# Translation of OpenERP Server. -# This file contains the translation of the following modules: -# * process -# Drazen Bosak , 2010. -msgid "" -msgstr "" -"Project-Id-Version: OpenERP Server 6.0dev\n" -"Report-Msgid-Bugs-To: support@openerp.com\n" -"POT-Creation-Date: 2012-12-21 17:06+0000\n" -"PO-Revision-Date: 2012-12-10 08:27+0000\n" -"Last-Translator: Goran Kliska \n" -"Language-Team: Vinteh\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:10+0000\n" -"X-Generator: Launchpad (build 16532)\n" -"Language: hr\n" - -#. module: process -#: model:ir.model,name:process.model_process_node -#: view:process.node:0 -#: view:process.process:0 -msgid "Process Node" -msgstr "Procesni čvor" - -#. 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 "" - -#. module: process -#: field:process.node,menu_id:0 -msgid "Related Menu" -msgstr "Povezani izbornik" - -#. module: process -#: selection:process.node,kind:0 -msgid "Status" -msgstr "Status" - -#. module: process -#: field:process.transition,action_ids:0 -msgid "Buttons" -msgstr "Tipke" - -#. module: process -#: view:process.node:0 -#: view:process.process:0 -msgid "Group By..." -msgstr "Grupiraj po..." - -#. module: process -#: view:process.node:0 -msgid "Kind Of Node" -msgstr "" - -#. module: process -#: field:process.node,help_url:0 -msgid "Help URL" -msgstr "Help URL" - -#. module: process -#: field:process.node,flow_start:0 -msgid "Starting Flow" -msgstr "Početni tok" - -#. 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 "Procesna čvorišta" - -#. module: process -#: view:process.process:0 -#: field:process.process,node_ids:0 -msgid "Nodes" -msgstr "Čvorišta" - -#. module: process -#: field:process.node,condition_ids:0 -#: view:process.process:0 -msgid "Conditions" -msgstr "Uvjeti" - -#. module: process -#: view:process.transition:0 -msgid "Search Process Transition" -msgstr "" - -#. module: process -#: field:process.condition,node_id:0 -msgid "Node" -msgstr "Čvorište" - -#. module: process -#: selection:process.transition.action,state:0 -msgid "Workflow Trigger" -msgstr "Okidač Hodograma" - -#. module: process -#: field:process.transition,note:0 -msgid "Description" -msgstr "Opis" - -#. module: process -#: model:ir.model,name:process.model_process_transition_action -msgid "Process Transitions Actions" -msgstr "Radnje Procesnih Prijelaza" - -#. 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 "Objekt" - -#. module: process -#: field:process.transition,source_node_id:0 -msgid "Source Node" -msgstr "Čvorište izvor" - -#. module: process -#: view:process.transition:0 -#: field:process.transition,transition_ids:0 -msgid "Workflow Transitions" -msgstr "Prijelazi Hodograma" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:39 -#, python-format -msgid "Last modified by:" -msgstr "Promijenio:" - -#. module: process -#: field:process.transition.action,action:0 -msgid "Action ID" -msgstr "ID Radnje" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:7 -#, python-format -msgid "Process View" -msgstr "Proces" - -#. module: process -#: model:ir.model,name:process.model_process_transition -#: view:process.transition:0 -msgid "Process Transition" -msgstr "Promjena Procesa" - -#. module: process -#: model:ir.model,name:process.model_process_condition -msgid "Condition" -msgstr "Uvjet" - -#. module: process -#: selection:process.transition.action,state:0 -msgid "Dummy" -msgstr "Prazan" - -#. module: process -#: model:ir.actions.act_window,name:process.action_process_form -#: model:ir.ui.menu,name:process.menu_process_form -msgid "Processes" -msgstr "Procesi" - -#. module: process -#: field:process.transition.action,transition_id:0 -msgid "Transition" -msgstr "Prijelaz" - -#. 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 "Ime" - -#. module: process -#: field:process.node,transition_in:0 -msgid "Starting Transitions" -msgstr "Početni prijelazi" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:54 -#, python-format -msgid "Related:" -msgstr "Povezani:" - -#. 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 "Bilješke" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:88 -#, python-format -msgid "Edit Process" -msgstr "Uredi proces" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:39 -#, python-format -msgid "N/A" -msgstr "" - -#. module: process -#: view:process.process:0 -msgid "Search Process" -msgstr "" - -#. module: process -#: field:process.process,active:0 -msgid "Active" -msgstr "Aktivan" - -#. module: process -#: view:process.transition:0 -msgid "Associated Groups" -msgstr "" - -#. module: process -#: field:process.node,model_states:0 -msgid "States Expression" -msgstr "Izraz Stanja" - -#. module: process -#: selection:process.transition.action,state:0 -msgid "Action" -msgstr "Radnja" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:67 -#, python-format -msgid "Select Process" -msgstr "Odaberi proces" - -#. module: process -#: field:process.condition,model_states:0 -msgid "Expression" -msgstr "Izraz" - -#. 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 "Tip" - -#. module: process -#: field:process.node,transition_out:0 -msgid "Ending Transitions" -msgstr "Završni prijelazi" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/js/process.js:243 -#: code:addons/process/static/src/xml/process.xml:33 -#: model:ir.model,name:process.model_process_process -#: field:process.node,process_id:0 -#: view:process.process:0 -#, python-format -msgid "Process" -msgstr "Proces" - -#. module: process -#: view:process.node:0 -msgid "Search ProcessNode" -msgstr "" - -#. module: process -#: view:process.node:0 -#: view:process.process:0 -msgid "Other Conditions" -msgstr "Ostali uvjeti" - -#. module: process -#: model:ir.ui.menu,name:process.menu_process -msgid "Enterprise Process" -msgstr "Proces poduzeća" - -#. module: process -#: view:process.transition:0 -msgid "Actions" -msgstr "Radnje" - -#. 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 "Prijelazi Procesa" - -#. module: process -#: field:process.transition,target_node_id:0 -msgid "Target Node" -msgstr "Ciljno čvorište" - -#. module: process -#: field:process.node,kind:0 -msgid "Kind of Node" -msgstr "Čvorište neke vrste" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:42 -#, python-format -msgid "Subflows:" -msgstr "Podtokovi:" - -#. module: process -#: view:process.node:0 -#: view:process.process:0 -msgid "Outgoing Transitions" -msgstr "Izlazni prijelazi" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:36 -#, python-format -msgid "Notes:" -msgstr "" - -#. module: process -#: selection:process.node,kind:0 -#: field:process.node,subflow_id:0 -msgid "Subflow" -msgstr "Podtok" - -#. module: process -#: view:process.node:0 -#: view:process.process:0 -msgid "Transitions" -msgstr "Prijelazi" - -#. module: process -#: selection:process.transition.action,state:0 -msgid "Object Method" -msgstr "Object Method" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:77 -#, python-format -msgid "Select" -msgstr "" - -#~ msgid "State" -#~ msgstr "Stanje" - -#~ msgid "Details" -#~ msgstr "Detalji" - -#~ msgid "Roles" -#~ msgstr "Uloge" - -#~ msgid "" -#~ "The Object name must start with x_ and not contain any special character !" -#~ msgstr "" -#~ "Naziv Objekta mora početi s x_ i ne smije sadržavati bilo koji posebni znak !" - -#~ msgid "Invalid model name in the action definition." -#~ msgstr "Nepravilno ime modela u definiciji radnje." - -#~ msgid "Roles from Workflow" -#~ msgstr "Uloge iz Hodograma" - -#~ msgid "Invalid XML for View Architecture!" -#~ msgstr "Nepravilan XML format za View Architecture!" - -#~ msgid "Roles Required" -#~ msgstr "Potrebne Uloge" - -#~ msgid "Extra Information" -#~ msgstr "Dodatne Informacije" - -#~ msgid "Enterprise Processes" -#~ msgstr "Procesi poduzeća" diff --git a/addons/process/i18n/hu.po b/addons/process/i18n/hu.po deleted file mode 100644 index f7834e90619..00000000000 --- a/addons/process/i18n/hu.po +++ /dev/null @@ -1,405 +0,0 @@ -# Translation of OpenERP Server. -# This file contains the translation of the following modules: -# * process -# -msgid "" -msgstr "" -"Project-Id-Version: OpenERP Server 6.0dev\n" -"Report-Msgid-Bugs-To: support@openerp.com\n" -"POT-Creation-Date: 2012-12-21 17:06+0000\n" -"PO-Revision-Date: 2013-02-01 10:21+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-03-16 05:10+0000\n" -"X-Generator: Launchpad (build 16532)\n" - -#. module: process -#: model:ir.model,name:process.model_process_node -#: view:process.node:0 -#: view:process.process:0 -msgid "Process Node" -msgstr "Folyamat csomópont" - -#. 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 "" -"Ha az aktív mező \"Hamis\"-ra van állítva, ez lehetővé teszi Önnek, hogy " -"elrejtse a folyamatot, anélkül, hogy eltávolítaná." - -#. module: process -#: field:process.node,menu_id:0 -msgid "Related Menu" -msgstr "Kapcsolódó menü" - -#. module: process -#: selection:process.node,kind:0 -msgid "Status" -msgstr "Állapot" - -#. module: process -#: field:process.transition,action_ids:0 -msgid "Buttons" -msgstr "Gombok" - -#. module: process -#: view:process.node:0 -#: view:process.process:0 -msgid "Group By..." -msgstr "Csoportosítás..." - -#. module: process -#: view:process.node:0 -msgid "Kind Of Node" -msgstr "Csomópont típusa" - -#. module: process -#: field:process.node,help_url:0 -msgid "Help URL" -msgstr "Segéd URL" - -#. module: process -#: field:process.node,flow_start:0 -msgid "Starting Flow" -msgstr "Folyamat indítása" - -#. 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 "Folyamat csomópontok" - -#. module: process -#: view:process.process:0 -#: field:process.process,node_ids:0 -msgid "Nodes" -msgstr "Csomópontok" - -#. module: process -#: field:process.node,condition_ids:0 -#: view:process.process:0 -msgid "Conditions" -msgstr "Feltételek" - -#. module: process -#: view:process.transition:0 -msgid "Search Process Transition" -msgstr "Folyamat átmenetek keresése" - -#. module: process -#: field:process.condition,node_id:0 -msgid "Node" -msgstr "Csomópont" - -#. module: process -#: selection:process.transition.action,state:0 -msgid "Workflow Trigger" -msgstr "Munkafolyamat indítása" - -#. module: process -#: field:process.transition,note:0 -msgid "Description" -msgstr "Leírás" - -#. module: process -#: model:ir.model,name:process.model_process_transition_action -msgid "Process Transitions Actions" -msgstr "Folyamat átmenet műveletek" - -#. 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 "Tárgy" - -#. module: process -#: field:process.transition,source_node_id:0 -msgid "Source Node" -msgstr "Forrás csomópont" - -#. module: process -#: view:process.transition:0 -#: field:process.transition,transition_ids:0 -msgid "Workflow Transitions" -msgstr "Munkafolyamat átmenetek" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:39 -#, python-format -msgid "Last modified by:" -msgstr "Utoljára módosította:" - -#. module: process -#: field:process.transition.action,action:0 -msgid "Action ID" -msgstr "Művelet ID" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:7 -#, python-format -msgid "Process View" -msgstr "Folyamat nézet" - -#. module: process -#: model:ir.model,name:process.model_process_transition -#: view:process.transition:0 -msgid "Process Transition" -msgstr "Folyamat átmenet" - -#. module: process -#: model:ir.model,name:process.model_process_condition -msgid "Condition" -msgstr "Feltétel" - -#. module: process -#: selection:process.transition.action,state:0 -msgid "Dummy" -msgstr "Utánzat" - -#. module: process -#: model:ir.actions.act_window,name:process.action_process_form -#: model:ir.ui.menu,name:process.menu_process_form -msgid "Processes" -msgstr "Folyamatok" - -#. module: process -#: field:process.transition.action,transition_id:0 -msgid "Transition" -msgstr "Átmenet" - -#. 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 "Név" - -#. module: process -#: field:process.node,transition_in:0 -msgid "Starting Transitions" -msgstr "Átmenetek indítása" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:54 -#, python-format -msgid "Related:" -msgstr "Kapcsolódó:" - -#. 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 "Megjegyzések" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:88 -#, python-format -msgid "Edit Process" -msgstr "Folymat szerkesztés" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:39 -#, python-format -msgid "N/A" -msgstr "Nem elérhető" - -#. module: process -#: view:process.process:0 -msgid "Search Process" -msgstr "Folyamat keresése" - -#. module: process -#: field:process.process,active:0 -msgid "Active" -msgstr "Aktív" - -#. module: process -#: view:process.transition:0 -msgid "Associated Groups" -msgstr "Kapcsolódó csoportok" - -#. module: process -#: field:process.node,model_states:0 -msgid "States Expression" -msgstr "Állapot kifejezés" - -#. module: process -#: selection:process.transition.action,state:0 -msgid "Action" -msgstr "Művelet" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:67 -#, python-format -msgid "Select Process" -msgstr "Folyamat kiválasztása" - -#. module: process -#: field:process.condition,model_states:0 -msgid "Expression" -msgstr "Kifejezés" - -#. module: process -#: field:process.transition,group_ids:0 -msgid "Required Groups" -msgstr "Kötelező csoportok" - -#. module: process -#: view:process.node:0 -#: view:process.process:0 -msgid "Incoming Transitions" -msgstr "Bejövő átmenetek" - -#. module: process -#: field:process.transition.action,state:0 -msgid "Type" -msgstr "Típus" - -#. module: process -#: field:process.node,transition_out:0 -msgid "Ending Transitions" -msgstr "Átmenetek befejezése" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/js/process.js:243 -#: code:addons/process/static/src/xml/process.xml:33 -#: model:ir.model,name:process.model_process_process -#: field:process.node,process_id:0 -#: view:process.process:0 -#, python-format -msgid "Process" -msgstr "Folyamat" - -#. module: process -#: view:process.node:0 -msgid "Search ProcessNode" -msgstr "Folyamat csomópont keresése" - -#. module: process -#: view:process.node:0 -#: view:process.process:0 -msgid "Other Conditions" -msgstr "Egyéb feltételek" - -#. module: process -#: model:ir.ui.menu,name:process.menu_process -msgid "Enterprise Process" -msgstr "Vállalati folyamat" - -#. module: process -#: view:process.transition:0 -msgid "Actions" -msgstr "Műveletek" - -#. module: process -#: view:process.node:0 -#: view:process.process:0 -msgid "Properties" -msgstr "Tulajdonságok" - -#. 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 "Folyamat átmenetek" - -#. module: process -#: field:process.transition,target_node_id:0 -msgid "Target Node" -msgstr "Cél csomópont" - -#. module: process -#: field:process.node,kind:0 -msgid "Kind of Node" -msgstr "Csomópont típusa" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:42 -#, python-format -msgid "Subflows:" -msgstr "Alfolyamatok:" - -#. module: process -#: view:process.node:0 -#: view:process.process:0 -msgid "Outgoing Transitions" -msgstr "Kimenő átmenetek" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:36 -#, python-format -msgid "Notes:" -msgstr "Mejegyzés" - -#. module: process -#: selection:process.node,kind:0 -#: field:process.node,subflow_id:0 -msgid "Subflow" -msgstr "Alfolyamat" - -#. module: process -#: view:process.node:0 -#: view:process.process:0 -msgid "Transitions" -msgstr "Átmenetek" - -#. module: process -#: selection:process.transition.action,state:0 -msgid "Object Method" -msgstr "Tárgy módszer" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:77 -#, python-format -msgid "Select" -msgstr "Kiválasztás" - -#~ msgid "State" -#~ msgstr "Állapot" - -#~ msgid "" -#~ "\n" -#~ " This module shows the basic processes involved\n" -#~ " in the selected modules and in the sequence they\n" -#~ " occur\n" -#~ "\n" -#~ " Note: This applies to the modules containing modulename_process_xml\n" -#~ " for e.g product/process/product_process_xml\n" -#~ "\n" -#~ " " -#~ msgstr "" -#~ "\n" -#~ " Ez a modul megmutatja a kiválasztott modulokban \n" -#~ " és az általuk létrehozott sorrendben futó alapvető \n" -#~ " folyamatokat. \n" -#~ "\n" -#~ " Megjegyzés: Ez azokra a modulokra vonatozik, amelyek tartalmazzák az " -#~ "következőt: modulename_process_xml, \n" -#~ " mint például: product/process/product_process_xml\n" -#~ "\n" -#~ " " diff --git a/addons/process/i18n/id.po b/addons/process/i18n/id.po deleted file mode 100644 index b3bd544a86c..00000000000 --- a/addons/process/i18n/id.po +++ /dev/null @@ -1,378 +0,0 @@ -# Translation of OpenERP Server. -# This file contains the translation of the following modules: -# * process -# -msgid "" -msgstr "" -"Project-Id-Version: OpenERP Server 6.0dev\n" -"Report-Msgid-Bugs-To: support@openerp.com\n" -"POT-Creation-Date: 2012-12-21 17:06+0000\n" -"PO-Revision-Date: 2009-11-09 13:53+0000\n" -"Last-Translator: <>\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-03-16 05:10+0000\n" -"X-Generator: Launchpad (build 16532)\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 "" - -#. module: process -#: field:process.node,menu_id:0 -msgid "Related Menu" -msgstr "" - -#. module: process -#: selection:process.node,kind:0 -msgid "Status" -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 -#: view:process.node:0 -msgid "Kind Of Node" -msgstr "" - -#. module: process -#: field:process.node,help_url:0 -msgid "Help URL" -msgstr "" - -#. module: process -#: field:process.node,flow_start:0 -msgid "Starting Flow" -msgstr "" - -#. 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 -#: 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 -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:39 -#, python-format -msgid "Last modified by:" -msgstr "" - -#. module: process -#: field:process.transition.action,action:0 -msgid "Action ID" -msgstr "" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:7 -#, python-format -msgid "Process View" -msgstr "" - -#. 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.transition.action,transition_id:0 -msgid "Transition" -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 -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:54 -#, python-format -msgid "Related:" -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 -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:88 -#, python-format -msgid "Edit Process" -msgstr "" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:39 -#, python-format -msgid "N/A" -msgstr "" - -#. module: process -#: view:process.process:0 -msgid "Search Process" -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 -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:67 -#, python-format -msgid "Select Process" -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 -#. openerp-web -#: code:addons/process/static/src/js/process.js:243 -#: code:addons/process/static/src/xml/process.xml:33 -#: model:ir.model,name:process.model_process_process -#: field:process.node,process_id:0 -#: view:process.process:0 -#, python-format -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 -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:42 -#, python-format -msgid "Subflows:" -msgstr "" - -#. module: process -#: view:process.node:0 -#: view:process.process:0 -msgid "Outgoing Transitions" -msgstr "" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:36 -#, python-format -msgid "Notes:" -msgstr "" - -#. module: process -#: selection:process.node,kind:0 -#: field:process.node,subflow_id:0 -msgid "Subflow" -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 "" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:77 -#, python-format -msgid "Select" -msgstr "" diff --git a/addons/process/i18n/it.po b/addons/process/i18n/it.po deleted file mode 100644 index 6bca4123264..00000000000 --- a/addons/process/i18n/it.po +++ /dev/null @@ -1,434 +0,0 @@ -# Translation of OpenERP Server. -# This file contains the translation of the following modules: -# * process -# -msgid "" -msgstr "" -"Project-Id-Version: OpenERP Server 6.0dev\n" -"Report-Msgid-Bugs-To: support@openerp.com\n" -"POT-Creation-Date: 2012-12-21 17:06+0000\n" -"PO-Revision-Date: 2012-12-15 16:11+0000\n" -"Last-Translator: Davide Corio - agilebg.com \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-03-16 05:10+0000\n" -"X-Generator: Launchpad (build 16532)\n" - -#. module: process -#: model:ir.model,name:process.model_process_node -#: view:process.node:0 -#: view:process.process:0 -msgid "Process Node" -msgstr "Nodo Processo" - -#. 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 "" -"Se il campo 'attivo' viene deselezionato, sarà possibile nascondere il " -"processo senza rimuoverlo." - -#. module: process -#: field:process.node,menu_id:0 -msgid "Related Menu" -msgstr "Menu correlato" - -#. module: process -#: selection:process.node,kind:0 -msgid "Status" -msgstr "Stato" - -#. module: process -#: field:process.transition,action_ids:0 -msgid "Buttons" -msgstr "Pulsanti" - -#. module: process -#: view:process.node:0 -#: view:process.process:0 -msgid "Group By..." -msgstr "Raggruppato per..." - -#. module: process -#: view:process.node:0 -msgid "Kind Of Node" -msgstr "Tipo Di Nodo" - -#. module: process -#: field:process.node,help_url:0 -msgid "Help URL" -msgstr "URL della Guida" - -#. module: process -#: field:process.node,flow_start:0 -msgid "Starting Flow" -msgstr "Inizio Flusso" - -#. 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 "Nodi del Processo" - -#. module: process -#: view:process.process:0 -#: field:process.process,node_ids:0 -msgid "Nodes" -msgstr "Nodi" - -#. module: process -#: field:process.node,condition_ids:0 -#: view:process.process:0 -msgid "Conditions" -msgstr "Condizioni" - -#. module: process -#: view:process.transition:0 -msgid "Search Process Transition" -msgstr "Ricerca transizioni" - -#. module: process -#: field:process.condition,node_id:0 -msgid "Node" -msgstr "Nodo" - -#. module: process -#: selection:process.transition.action,state:0 -msgid "Workflow Trigger" -msgstr "Avvio del flusso" - -#. module: process -#: field:process.transition,note:0 -msgid "Description" -msgstr "Descrizione" - -#. module: process -#: model:ir.model,name:process.model_process_transition_action -msgid "Process Transitions Actions" -msgstr "Azioni transitorie del Processo" - -#. 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 "Oggetto" - -#. module: process -#: field:process.transition,source_node_id:0 -msgid "Source Node" -msgstr "Nodo Sorgente" - -#. module: process -#: view:process.transition:0 -#: field:process.transition,transition_ids:0 -msgid "Workflow Transitions" -msgstr "Transizioni flusso" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:39 -#, python-format -msgid "Last modified by:" -msgstr "Ultima modifica di:" - -#. module: process -#: field:process.transition.action,action:0 -msgid "Action ID" -msgstr "ID Azione:" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:7 -#, python-format -msgid "Process View" -msgstr "Vista Processo" - -#. module: process -#: model:ir.model,name:process.model_process_transition -#: view:process.transition:0 -msgid "Process Transition" -msgstr "Transizione di Processo" - -#. module: process -#: model:ir.model,name:process.model_process_condition -msgid "Condition" -msgstr "Condizione" - -#. module: process -#: selection:process.transition.action,state:0 -msgid "Dummy" -msgstr "Fittizio" - -#. module: process -#: model:ir.actions.act_window,name:process.action_process_form -#: model:ir.ui.menu,name:process.menu_process_form -msgid "Processes" -msgstr "Processi" - -#. module: process -#: field:process.transition.action,transition_id:0 -msgid "Transition" -msgstr "Transizione" - -#. 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 "Nome" - -#. module: process -#: field:process.node,transition_in:0 -msgid "Starting Transitions" -msgstr "Transizioni Iniziali" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:54 -#, python-format -msgid "Related:" -msgstr "Correlato:" - -#. 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 "Note" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:88 -#, python-format -msgid "Edit Process" -msgstr "Modifica Processo" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:39 -#, python-format -msgid "N/A" -msgstr "N/D" - -#. module: process -#: view:process.process:0 -msgid "Search Process" -msgstr "Ricerca processi" - -#. module: process -#: field:process.process,active:0 -msgid "Active" -msgstr "Attivo" - -#. module: process -#: view:process.transition:0 -msgid "Associated Groups" -msgstr "Gruppi associati" - -#. module: process -#: field:process.node,model_states:0 -msgid "States Expression" -msgstr "Espressione Stati" - -#. module: process -#: selection:process.transition.action,state:0 -msgid "Action" -msgstr "Azione" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:67 -#, python-format -msgid "Select Process" -msgstr "Seleziona Processo" - -#. module: process -#: field:process.condition,model_states:0 -msgid "Expression" -msgstr "Espressione" - -#. module: process -#: field:process.transition,group_ids:0 -msgid "Required Groups" -msgstr "Gruppi necessari" - -#. module: process -#: view:process.node:0 -#: view:process.process:0 -msgid "Incoming Transitions" -msgstr "Transizioni in Ingresso" - -#. module: process -#: field:process.transition.action,state:0 -msgid "Type" -msgstr "Tipo" - -#. module: process -#: field:process.node,transition_out:0 -msgid "Ending Transitions" -msgstr "Transizioni Finali" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/js/process.js:243 -#: code:addons/process/static/src/xml/process.xml:33 -#: model:ir.model,name:process.model_process_process -#: field:process.node,process_id:0 -#: view:process.process:0 -#, python-format -msgid "Process" -msgstr "Processo" - -#. module: process -#: view:process.node:0 -msgid "Search ProcessNode" -msgstr "Ricerca Nodi" - -#. module: process -#: view:process.node:0 -#: view:process.process:0 -msgid "Other Conditions" -msgstr "Altre Condizioni" - -#. module: process -#: model:ir.ui.menu,name:process.menu_process -msgid "Enterprise Process" -msgstr "Processo Aziendale" - -#. module: process -#: view:process.transition:0 -msgid "Actions" -msgstr "Azioni" - -#. module: process -#: view:process.node:0 -#: view:process.process:0 -msgid "Properties" -msgstr "Proprietà" - -#. 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 "Transizioni di Processo" - -#. module: process -#: field:process.transition,target_node_id:0 -msgid "Target Node" -msgstr "Nodo Obiettivo" - -#. module: process -#: field:process.node,kind:0 -msgid "Kind of Node" -msgstr "Tipo Nodo" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:42 -#, python-format -msgid "Subflows:" -msgstr "Sottoflussi:" - -#. module: process -#: view:process.node:0 -#: view:process.process:0 -msgid "Outgoing Transitions" -msgstr "Transizioni in Uscita" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:36 -#, python-format -msgid "Notes:" -msgstr "Note:" - -#. module: process -#: selection:process.node,kind:0 -#: field:process.node,subflow_id:0 -msgid "Subflow" -msgstr "Sottoflusso" - -#. module: process -#: view:process.node:0 -#: view:process.process:0 -msgid "Transitions" -msgstr "Transizioni" - -#. module: process -#: selection:process.transition.action,state:0 -msgid "Object Method" -msgstr "Metodo Oggetto" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:77 -#, python-format -msgid "Select" -msgstr "Seleziona" - -#~ msgid "" -#~ "The Object name must start with x_ and not contain any special character !" -#~ msgstr "" -#~ "Il nome dell'oggetto deve iniziare per x_ e non deve contenere caratteri " -#~ "speciali!" - -#~ msgid "State" -#~ msgstr "Stato" - -#~ msgid "Invalid XML for View Architecture!" -#~ msgstr "XML non valido per Visualizzazione Architettura!" - -#~ msgid "Extra Information" -#~ msgstr "Informazioni Aggiuntive" - -#~ msgid "Roles from Workflow" -#~ msgstr "Regole dal Flusso di Lavoro" - -#~ msgid "Invalid model name in the action definition." -#~ msgstr "Nome del modulo non valido nella definizione dell'azione." - -#~ msgid "Details" -#~ msgstr "Dettagli" - -#~ msgid "Roles Required" -#~ msgstr "Ruoli Richiesti" - -#~ msgid "Roles" -#~ msgstr "Ruoli" - -#~ msgid "Enterprise Processes" -#~ msgstr "Processi Aziendali" - -#~ msgid "" -#~ "\n" -#~ " This module shows the basic processes involved\n" -#~ " in the selected modules and in the sequence they\n" -#~ " occur\n" -#~ "\n" -#~ " Note: This applies to the modules containing modulename_process_xml\n" -#~ " for e.g product/process/product_process_xml\n" -#~ "\n" -#~ " " -#~ msgstr "" -#~ "\n" -#~ " Questo modulo illustra i processi fondamentali coinvolti \n" -#~ " nei moduli selezionati e nella sequenza \n" -#~ " in cui si verificano\n" -#~ "\n" -#~ " Nota: Questo vale per i moduli contenenti modulename_process_xml \n" -#~ " ad esempio per prodotti / processi / product_process_xml\n" -#~ "\n" -#~ " " diff --git a/addons/process/i18n/ja.po b/addons/process/i18n/ja.po deleted file mode 100644 index 7b6e633fa71..00000000000 --- a/addons/process/i18n/ja.po +++ /dev/null @@ -1,382 +0,0 @@ -# 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-12-21 17:06+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: 2013-03-16 05:10+0000\n" -"X-Generator: Launchpad (build 16532)\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 -#: selection:process.node,kind:0 -msgid "Status" -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 -#: view:process.node:0 -msgid "Kind Of Node" -msgstr "ノードの種類" - -#. module: process -#: field:process.node,help_url:0 -msgid "Help URL" -msgstr "ヘルプURL" - -#. module: process -#: field:process.node,flow_start:0 -msgid "Starting Flow" -msgstr "開始フロー" - -#. 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 -#: 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 -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:39 -#, python-format -msgid "Last modified by:" -msgstr "" - -#. module: process -#: field:process.transition.action,action:0 -msgid "Action ID" -msgstr "アクションID" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:7 -#, python-format -msgid "Process View" -msgstr "" - -#. 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.transition.action,transition_id:0 -msgid "Transition" -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 -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:54 -#, python-format -msgid "Related:" -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 -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:88 -#, python-format -msgid "Edit Process" -msgstr "" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:39 -#, python-format -msgid "N/A" -msgstr "" - -#. module: process -#: view:process.process:0 -msgid "Search Process" -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 -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:67 -#, python-format -msgid "Select Process" -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 -#. openerp-web -#: code:addons/process/static/src/js/process.js:243 -#: code:addons/process/static/src/xml/process.xml:33 -#: model:ir.model,name:process.model_process_process -#: field:process.node,process_id:0 -#: view:process.process:0 -#, python-format -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 -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:42 -#, python-format -msgid "Subflows:" -msgstr "" - -#. module: process -#: view:process.node:0 -#: view:process.process:0 -msgid "Outgoing Transitions" -msgstr "外向き遷移" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:36 -#, python-format -msgid "Notes:" -msgstr "" - -#. module: process -#: selection:process.node,kind:0 -#: field:process.node,subflow_id:0 -msgid "Subflow" -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 "オブジェクトメソッド" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:77 -#, python-format -msgid "Select" -msgstr "" - -#~ msgid "State" -#~ msgstr "状態" diff --git a/addons/process/i18n/ko.po b/addons/process/i18n/ko.po deleted file mode 100644 index a77ff4fe649..00000000000 --- a/addons/process/i18n/ko.po +++ /dev/null @@ -1,407 +0,0 @@ -# Korean translation for openobject-addons -# Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009 -# This file is distributed under the same license as the openobject-addons package. -# FIRST AUTHOR , 2009. -# -msgid "" -msgstr "" -"Project-Id-Version: openobject-addons\n" -"Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-12-21 17:06+0000\n" -"PO-Revision-Date: 2009-09-08 13:34+0000\n" -"Last-Translator: ekodaq \n" -"Language-Team: Korean \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:10+0000\n" -"X-Generator: Launchpad (build 16532)\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 "" - -#. module: process -#: field:process.node,menu_id:0 -msgid "Related Menu" -msgstr "관련된 메뉴" - -#. module: process -#: selection:process.node,kind:0 -msgid "Status" -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 -#: view:process.node:0 -msgid "Kind Of Node" -msgstr "" - -#. module: process -#: field:process.node,help_url:0 -msgid "Help URL" -msgstr "도움 URL" - -#. module: process -#: field:process.node,flow_start:0 -msgid "Starting Flow" -msgstr "시작 플로우" - -#. 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 -#: 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 -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:39 -#, python-format -msgid "Last modified by:" -msgstr "" - -#. module: process -#: field:process.transition.action,action:0 -msgid "Action ID" -msgstr "액션 ID" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:7 -#, python-format -msgid "Process View" -msgstr "" - -#. 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.transition.action,transition_id:0 -msgid "Transition" -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 -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:54 -#, python-format -msgid "Related:" -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 -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:88 -#, python-format -msgid "Edit Process" -msgstr "" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:39 -#, python-format -msgid "N/A" -msgstr "" - -#. module: process -#: view:process.process:0 -msgid "Search Process" -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 -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:67 -#, python-format -msgid "Select Process" -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 -#. openerp-web -#: code:addons/process/static/src/js/process.js:243 -#: code:addons/process/static/src/xml/process.xml:33 -#: model:ir.model,name:process.model_process_process -#: field:process.node,process_id:0 -#: view:process.process:0 -#, python-format -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 -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:42 -#, python-format -msgid "Subflows:" -msgstr "" - -#. module: process -#: view:process.node:0 -#: view:process.process:0 -msgid "Outgoing Transitions" -msgstr "내보내기 트랜지션" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:36 -#, python-format -msgid "Notes:" -msgstr "" - -#. module: process -#: selection:process.node,kind:0 -#: field:process.node,subflow_id:0 -msgid "Subflow" -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 "오브젝트 메소드" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:77 -#, python-format -msgid "Select" -msgstr "" - -#~ msgid "Roles from Workflow" -#~ msgstr "워크플로우로부터의 역할" - -#~ msgid "State" -#~ msgstr "상태" - -#~ msgid "" -#~ "The Object name must start with x_ and not contain any special character !" -#~ msgstr "오브젝트 이름은 x_로 시작해야 하며, 특수 문자를 포함해서는 안 됩니다 !" - -#~ msgid "Details" -#~ msgstr "상세" - -#~ msgid "Roles Required" -#~ msgstr "요구되는 역할" - -#~ msgid "Roles" -#~ msgstr "역할" - -#~ msgid "Extra Information" -#~ msgstr "기타 정보" - -#~ msgid "Invalid XML for View Architecture!" -#~ msgstr "유효하지 않은 뷰 아키테처를 위한 XML" - -#~ msgid "Enterprise Processes" -#~ msgstr "엔터프라이즈 프로세스" diff --git a/addons/process/i18n/lt.po b/addons/process/i18n/lt.po deleted file mode 100644 index b244de9ec95..00000000000 --- a/addons/process/i18n/lt.po +++ /dev/null @@ -1,381 +0,0 @@ -# Translation of OpenERP Server. -# This file contains the translation of the following modules: -# * process -# -msgid "" -msgstr "" -"Project-Id-Version: OpenERP Server 5.0.4\n" -"Report-Msgid-Bugs-To: support@openerp.com\n" -"POT-Creation-Date: 2012-12-21 17:06+0000\n" -"PO-Revision-Date: 2011-01-13 17:06+0000\n" -"Last-Translator: Paulius Sladkevičius \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-03-16 05:10+0000\n" -"X-Generator: Launchpad (build 16532)\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 "" - -#. module: process -#: field:process.node,menu_id:0 -msgid "Related Menu" -msgstr "" - -#. module: process -#: selection:process.node,kind:0 -msgid "Status" -msgstr "" - -#. module: process -#: field:process.transition,action_ids:0 -msgid "Buttons" -msgstr "Mygtukai" - -#. module: process -#: view:process.node:0 -#: view:process.process:0 -msgid "Group By..." -msgstr "Grupuoti pagal..." - -#. module: process -#: view:process.node:0 -msgid "Kind Of Node" -msgstr "" - -#. module: process -#: field:process.node,help_url:0 -msgid "Help URL" -msgstr "" - -#. module: process -#: field:process.node,flow_start:0 -msgid "Starting Flow" -msgstr "" - -#. 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 -#: field:process.node,condition_ids:0 -#: view:process.process:0 -msgid "Conditions" -msgstr "Sąlygos" - -#. 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 "Aprašymas" - -#. 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 "Objektas" - -#. 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 -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:39 -#, python-format -msgid "Last modified by:" -msgstr "" - -#. module: process -#: field:process.transition.action,action:0 -msgid "Action ID" -msgstr "" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:7 -#, python-format -msgid "Process View" -msgstr "" - -#. 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 "Sąlyga" - -#. 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 "Procesai" - -#. module: process -#: field:process.transition.action,transition_id:0 -msgid "Transition" -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 "Pavadinimas" - -#. module: process -#: field:process.node,transition_in:0 -msgid "Starting Transitions" -msgstr "" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:54 -#, python-format -msgid "Related:" -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 "Pastabos" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:88 -#, python-format -msgid "Edit Process" -msgstr "" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:39 -#, python-format -msgid "N/A" -msgstr "" - -#. module: process -#: view:process.process:0 -msgid "Search Process" -msgstr "" - -#. module: process -#: field:process.process,active:0 -msgid "Active" -msgstr "Aktyvus" - -#. 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 "Veiksmas" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:67 -#, python-format -msgid "Select Process" -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 "Tipas" - -#. module: process -#: field:process.node,transition_out:0 -msgid "Ending Transitions" -msgstr "" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/js/process.js:243 -#: code:addons/process/static/src/xml/process.xml:33 -#: model:ir.model,name:process.model_process_process -#: field:process.node,process_id:0 -#: view:process.process:0 -#, python-format -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 "Veiksmai" - -#. module: process -#: view:process.node:0 -#: view:process.process:0 -msgid "Properties" -msgstr "Savybės" - -#. 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 -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:42 -#, python-format -msgid "Subflows:" -msgstr "" - -#. module: process -#: view:process.node:0 -#: view:process.process:0 -msgid "Outgoing Transitions" -msgstr "" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:36 -#, python-format -msgid "Notes:" -msgstr "" - -#. module: process -#: selection:process.node,kind:0 -#: field:process.node,subflow_id:0 -msgid "Subflow" -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 "" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:77 -#, python-format -msgid "Select" -msgstr "" - -#~ msgid "State" -#~ msgstr "Būsena" diff --git a/addons/process/i18n/mk.po b/addons/process/i18n/mk.po deleted file mode 100644 index 536d81640e5..00000000000 --- a/addons/process/i18n/mk.po +++ /dev/null @@ -1,381 +0,0 @@ -# Macedonian 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:06+0000\n" -"PO-Revision-Date: 2013-02-21 13:44+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Macedonian \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:10+0000\n" -"X-Generator: Launchpad (build 16532)\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 "" -"Доколку активното поле е подесено на Грешка, ќе ви дозволи да го сокриете " -"процесот без да го отстраните." - -#. module: process -#: field:process.node,menu_id:0 -msgid "Related Menu" -msgstr "Поврзано мени" - -#. module: process -#: selection:process.node,kind:0 -msgid "Status" -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 -#: view:process.node:0 -msgid "Kind Of Node" -msgstr "Вид на јазол" - -#. module: process -#: field:process.node,help_url:0 -msgid "Help URL" -msgstr "URL за помош" - -#. module: process -#: field:process.node,flow_start:0 -msgid "Starting Flow" -msgstr "Почнување на тек" - -#. 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 -#: 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 -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:39 -#, python-format -msgid "Last modified by:" -msgstr "Последна промена од:" - -#. module: process -#: field:process.transition.action,action:0 -msgid "Action ID" -msgstr "ID на дејство" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:7 -#, python-format -msgid "Process View" -msgstr "Преглед на процес" - -#. 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.transition.action,transition_id:0 -msgid "Transition" -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 -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:54 -#, python-format -msgid "Related:" -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 -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:88 -#, python-format -msgid "Edit Process" -msgstr "Процес на измени" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:39 -#, python-format -msgid "N/A" -msgstr "N/A" - -#. module: process -#: view:process.process:0 -msgid "Search Process" -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 -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:67 -#, python-format -msgid "Select Process" -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 -#. openerp-web -#: code:addons/process/static/src/js/process.js:243 -#: code:addons/process/static/src/xml/process.xml:33 -#: model:ir.model,name:process.model_process_process -#: field:process.node,process_id:0 -#: view:process.process:0 -#, python-format -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 -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:42 -#, python-format -msgid "Subflows:" -msgstr "" - -#. module: process -#: view:process.node:0 -#: view:process.process:0 -msgid "Outgoing Transitions" -msgstr "Излезни премини" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:36 -#, python-format -msgid "Notes:" -msgstr "Забелешки:" - -#. module: process -#: selection:process.node,kind:0 -#: field:process.node,subflow_id:0 -msgid "Subflow" -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 "Метод на објект" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:77 -#, python-format -msgid "Select" -msgstr "Избери" diff --git a/addons/process/i18n/mn.po b/addons/process/i18n/mn.po deleted file mode 100644 index d94fbd65da2..00000000000 --- a/addons/process/i18n/mn.po +++ /dev/null @@ -1,420 +0,0 @@ -# #-#-#-#-# mn.po (OpenERP Server 6.0.0-rc1) #-#-#-#-# -# Translation of OpenERP Server. -# This file contains the translation of the following modules: -# * process -# -# #-#-#-#-# mn1.po (openobject-addons) #-#-#-#-# -# Mongolian translation for openobject-addons -# Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010 -# This file is distributed under the same license as the openobject-addons package. -# FIRST AUTHOR , 2010. -# -msgid "" -msgstr "" -"Project-Id-Version: openobject-addons\n" -"Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-12-21 17:06+0000\n" -"PO-Revision-Date: 2011-01-13 02:36+0000\n" -"Last-Translator: badralb \n" -"Language-Team: Mongolian \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:10+0000\n" -"X-Generator: Launchpad (build 16532)\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 "" -"Хэрэв идэвхитэй талбарын утга Худал бол, энэ нь процессыг устгахгүйгээр нуух " -"боломж олгоно." - -#. module: process -#: field:process.node,menu_id:0 -msgid "Related Menu" -msgstr "Харгалзах цэс" - -#. module: process -#: selection:process.node,kind:0 -msgid "Status" -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 -#: view:process.node:0 -msgid "Kind Of Node" -msgstr "Зангилааны төрөл" - -#. module: process -#: field:process.node,help_url:0 -msgid "Help URL" -msgstr "Тусламжын вэб сайт" - -#. module: process -#: field:process.node,flow_start:0 -msgid "Starting Flow" -msgstr "Эхлэх урсгал" - -#. 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 -#: 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 -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:39 -#, python-format -msgid "Last modified by:" -msgstr "Хамгийн сүүлд зассан:" - -#. module: process -#: field:process.transition.action,action:0 -msgid "Action ID" -msgstr "Үйлдлийн ID" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:7 -#, python-format -msgid "Process View" -msgstr "Процесс Харагдац" - -#. 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.transition.action,transition_id:0 -msgid "Transition" -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 -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:54 -#, python-format -msgid "Related:" -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 -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:88 -#, python-format -msgid "Edit Process" -msgstr "Процесс Засварлах" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:39 -#, python-format -msgid "N/A" -msgstr "" - -#. module: process -#: view:process.process:0 -msgid "Search Process" -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 -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:67 -#, python-format -msgid "Select Process" -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 -#. openerp-web -#: code:addons/process/static/src/js/process.js:243 -#: code:addons/process/static/src/xml/process.xml:33 -#: model:ir.model,name:process.model_process_process -#: field:process.node,process_id:0 -#: view:process.process:0 -#, python-format -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 -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:42 -#, python-format -msgid "Subflows:" -msgstr "Дэд урсгал:" - -#. module: process -#: view:process.node:0 -#: view:process.process:0 -msgid "Outgoing Transitions" -msgstr "Гарах шилжилтүүд" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:36 -#, python-format -msgid "Notes:" -msgstr "Тэмдэглэлүүд:" - -#. module: process -#: selection:process.node,kind:0 -#: field:process.node,subflow_id:0 -msgid "Subflow" -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 "Объектын метод" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:77 -#, python-format -msgid "Select" -msgstr "Сонгох" - -#~ msgid "Invalid model name in the action definition." -#~ msgstr "Үйлдлийн тодорхойлолтод буруу моделийн нэр байна." - -#~ msgid "State" -#~ msgstr "Төлөв" - -#~ msgid "" -#~ "The Object name must start with x_ and not contain any special character !" -#~ msgstr "" -#~ "Объектын нэрний эхлэл x_ байх ёстой бөгөөд бусад тусгай тэмдэгтийг агуулж " -#~ "болохгүй!" - -#~ msgid "Details" -#~ msgstr "Дэлгэрэнгүй" - -#~ msgid "Roles Required" -#~ msgstr "Шаардагдах дүрүүд" - -#~ msgid "Roles" -#~ msgstr "Дүрүүд" - -#~ msgid "Invalid XML for View Architecture!" -#~ msgstr "Дэлгэцийн XML алдаатай!" - -#~ msgid "Enterprise Processes" -#~ msgstr "Байгууллагын процессууд" - -#~ msgid "Roles from Workflow" -#~ msgstr "Ажлын урсгалын дүрүүд" - -#~ msgid "Extra Information" -#~ msgstr "Нэмэлт Мэдээлэл" diff --git a/addons/process/i18n/nl.po b/addons/process/i18n/nl.po deleted file mode 100644 index 4a1d7248e46..00000000000 --- a/addons/process/i18n/nl.po +++ /dev/null @@ -1,430 +0,0 @@ -# Translation of OpenERP Server. -# This file contains the translation of the following modules: -# * process -# -msgid "" -msgstr "" -"Project-Id-Version: OpenERP Server 5.0.4\n" -"Report-Msgid-Bugs-To: support@openerp.com\n" -"POT-Creation-Date: 2012-12-21 17:06+0000\n" -"PO-Revision-Date: 2012-11-24 22:07+0000\n" -"Last-Translator: Erwin van der Ploeg (Endian Solutions) \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-03-16 05:10+0000\n" -"X-Generator: Launchpad (build 16532)\n" - -#. module: process -#: model:ir.model,name:process.model_process_node -#: view:process.node:0 -#: view:process.process:0 -msgid "Process Node" -msgstr "Proces knooppunt" - -#. 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 "" -"Als het actief veld uitstaat, kunt u het proces verbergen zonder het te " -"verwijderen." - -#. module: process -#: field:process.node,menu_id:0 -msgid "Related Menu" -msgstr "Gerelateerd menu" - -#. module: process -#: selection:process.node,kind:0 -msgid "Status" -msgstr "Status" - -#. module: process -#: field:process.transition,action_ids:0 -msgid "Buttons" -msgstr "Knoppen" - -#. module: process -#: view:process.node:0 -#: view:process.process:0 -msgid "Group By..." -msgstr "Groepeer op..." - -#. module: process -#: view:process.node:0 -msgid "Kind Of Node" -msgstr "Soort knooppunt" - -#. module: process -#: field:process.node,help_url:0 -msgid "Help URL" -msgstr "Help URL" - -#. module: process -#: field:process.node,flow_start:0 -msgid "Starting Flow" -msgstr "Starten van schema" - -#. 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 "Proces knooppunten" - -#. module: process -#: view:process.process:0 -#: field:process.process,node_ids:0 -msgid "Nodes" -msgstr "Knooppunten" - -#. module: process -#: field:process.node,condition_ids:0 -#: view:process.process:0 -msgid "Conditions" -msgstr "Voorwaarden" - -#. module: process -#: view:process.transition:0 -msgid "Search Process Transition" -msgstr "Proces overgang zoeken" - -#. module: process -#: field:process.condition,node_id:0 -msgid "Node" -msgstr "Knooppunt" - -#. module: process -#: selection:process.transition.action,state:0 -msgid "Workflow Trigger" -msgstr "Workschema Trigger" - -#. module: process -#: field:process.transition,note:0 -msgid "Description" -msgstr "Omschrijving" - -#. module: process -#: model:ir.model,name:process.model_process_transition_action -msgid "Process Transitions Actions" -msgstr "Proces transitie acties" - -#. 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 "Object" - -#. module: process -#: field:process.transition,source_node_id:0 -msgid "Source Node" -msgstr "Bron knooppunt" - -#. module: process -#: view:process.transition:0 -#: field:process.transition,transition_ids:0 -msgid "Workflow Transitions" -msgstr "Workflow transities" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:39 -#, python-format -msgid "Last modified by:" -msgstr "Laatst gewijzigd door:" - -#. module: process -#: field:process.transition.action,action:0 -msgid "Action ID" -msgstr "Actie ID" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:7 -#, python-format -msgid "Process View" -msgstr "Laat proces zien" - -#. module: process -#: model:ir.model,name:process.model_process_transition -#: view:process.transition:0 -msgid "Process Transition" -msgstr "Proces overgang" - -#. module: process -#: model:ir.model,name:process.model_process_condition -msgid "Condition" -msgstr "Voorwaarde" - -#. module: process -#: selection:process.transition.action,state:0 -msgid "Dummy" -msgstr "Dummie" - -#. module: process -#: model:ir.actions.act_window,name:process.action_process_form -#: model:ir.ui.menu,name:process.menu_process_form -msgid "Processes" -msgstr "Processen" - -#. module: process -#: field:process.transition.action,transition_id:0 -msgid "Transition" -msgstr "Overgang" - -#. 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 "Naam" - -#. module: process -#: field:process.node,transition_in:0 -msgid "Starting Transitions" -msgstr "Starten van overgangen" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:54 -#, python-format -msgid "Related:" -msgstr "Gerelateerd:" - -#. 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 "Notities" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:88 -#, python-format -msgid "Edit Process" -msgstr "Proces bewerken" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:39 -#, python-format -msgid "N/A" -msgstr "N.v.t." - -#. module: process -#: view:process.process:0 -msgid "Search Process" -msgstr "Proces zoeken" - -#. module: process -#: field:process.process,active:0 -msgid "Active" -msgstr "Actief" - -#. module: process -#: view:process.transition:0 -msgid "Associated Groups" -msgstr "Verbonden groepen" - -#. module: process -#: field:process.node,model_states:0 -msgid "States Expression" -msgstr "Status uitdrukking" - -#. module: process -#: selection:process.transition.action,state:0 -msgid "Action" -msgstr "Actie" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:67 -#, python-format -msgid "Select Process" -msgstr "Proces selecteren" - -#. module: process -#: field:process.condition,model_states:0 -msgid "Expression" -msgstr "Uitdrukking" - -#. module: process -#: field:process.transition,group_ids:0 -msgid "Required Groups" -msgstr "Verplichte groepen" - -#. module: process -#: view:process.node:0 -#: view:process.process:0 -msgid "Incoming Transitions" -msgstr "Inkomende overgangen" - -#. module: process -#: field:process.transition.action,state:0 -msgid "Type" -msgstr "Soort" - -#. module: process -#: field:process.node,transition_out:0 -msgid "Ending Transitions" -msgstr "Eindigende overgangen" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/js/process.js:243 -#: code:addons/process/static/src/xml/process.xml:33 -#: model:ir.model,name:process.model_process_process -#: field:process.node,process_id:0 -#: view:process.process:0 -#, python-format -msgid "Process" -msgstr "Processen" - -#. module: process -#: view:process.node:0 -msgid "Search ProcessNode" -msgstr "Procesknooppunt zoeken" - -#. module: process -#: view:process.node:0 -#: view:process.process:0 -msgid "Other Conditions" -msgstr "Andere voorwaarden" - -#. module: process -#: model:ir.ui.menu,name:process.menu_process -msgid "Enterprise Process" -msgstr "Bedrijfsprocessen" - -#. module: process -#: view:process.transition:0 -msgid "Actions" -msgstr "Acties" - -#. module: process -#: view:process.node:0 -#: view:process.process:0 -msgid "Properties" -msgstr "Eigenschappen" - -#. 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 "Proces overgangen" - -#. module: process -#: field:process.transition,target_node_id:0 -msgid "Target Node" -msgstr "Bestemming knooppunt" - -#. module: process -#: field:process.node,kind:0 -msgid "Kind of Node" -msgstr "Soort knooppunt" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:42 -#, python-format -msgid "Subflows:" -msgstr "Subschemas:" - -#. module: process -#: view:process.node:0 -#: view:process.process:0 -msgid "Outgoing Transitions" -msgstr "Uitgaande overgangen" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:36 -#, python-format -msgid "Notes:" -msgstr "Notities:" - -#. module: process -#: selection:process.node,kind:0 -#: field:process.node,subflow_id:0 -msgid "Subflow" -msgstr "Subschema" - -#. module: process -#: view:process.node:0 -#: view:process.process:0 -msgid "Transitions" -msgstr "Overgangen" - -#. module: process -#: selection:process.transition.action,state:0 -msgid "Object Method" -msgstr "Object Methode" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:77 -#, python-format -msgid "Select" -msgstr "Selecteren" - -#~ msgid "" -#~ "The Object name must start with x_ and not contain any special character !" -#~ msgstr "" -#~ "De objectnaam moet beginnen met x_ en mag geen speciale karakters bevatten !" - -#~ msgid "Roles from Workflow" -#~ msgstr "Regels uit werkschema" - -#~ msgid "State" -#~ msgstr "Status" - -#~ msgid "Details" -#~ msgstr "Details" - -#~ msgid "Invalid XML for View Architecture!" -#~ msgstr "Ongeldige XML voor overzicht" - -#~ msgid "Roles" -#~ msgstr "Rollen" - -#~ msgid "Roles Required" -#~ msgstr "Noodzakelijke rollen" - -#~ msgid "Extra Information" -#~ msgstr "Extra Informatie" - -#~ msgid "Enterprise Processes" -#~ msgstr "Bedrijfsprocessen" - -#~ msgid "" -#~ "\n" -#~ " This module shows the basic processes involved\n" -#~ " in the selected modules and in the sequence they\n" -#~ " occur\n" -#~ "\n" -#~ " Note: This applies to the modules containing modulename_process_xml\n" -#~ " for e.g product/process/product_process_xml\n" -#~ "\n" -#~ " " -#~ msgstr "" -#~ "\n" -#~ " Deze module toont de betrokken basis processen\n" -#~ " in de geselecteerde modules en in de volgorde waarin\n" -#~ " ze voorkomen.\n" -#~ "\n" -#~ " Merk op: Dit geldt voor de modules die modulename_process_xml\n" -#~ " bevatten, bijv. product/process/product_process_xml\n" -#~ "\n" -#~ " " diff --git a/addons/process/i18n/nl_BE.po b/addons/process/i18n/nl_BE.po deleted file mode 100644 index 5a2fcb5242e..00000000000 --- a/addons/process/i18n/nl_BE.po +++ /dev/null @@ -1,383 +0,0 @@ -# Translation of OpenERP Server. -# This file contains the translation of the following modules: -# * process -# -msgid "" -msgstr "" -"Project-Id-Version: OpenERP Server 5.0.0\n" -"Report-Msgid-Bugs-To: support@openerp.com\n" -"POT-Creation-Date: 2012-12-21 17:06+0000\n" -"PO-Revision-Date: 2009-04-10 10:19+0000\n" -"Last-Translator: Fabien (Open ERP) \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-03-16 05:10+0000\n" -"X-Generator: Launchpad (build 16532)\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 "" - -#. module: process -#: field:process.node,menu_id:0 -msgid "Related Menu" -msgstr "" - -#. module: process -#: selection:process.node,kind:0 -msgid "Status" -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 -#: view:process.node:0 -msgid "Kind Of Node" -msgstr "" - -#. module: process -#: field:process.node,help_url:0 -msgid "Help URL" -msgstr "" - -#. module: process -#: field:process.node,flow_start:0 -msgid "Starting Flow" -msgstr "" - -#. 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 -#: 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 -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:39 -#, python-format -msgid "Last modified by:" -msgstr "" - -#. module: process -#: field:process.transition.action,action:0 -msgid "Action ID" -msgstr "" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:7 -#, python-format -msgid "Process View" -msgstr "" - -#. 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.transition.action,transition_id:0 -msgid "Transition" -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 -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:54 -#, python-format -msgid "Related:" -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 -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:88 -#, python-format -msgid "Edit Process" -msgstr "" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:39 -#, python-format -msgid "N/A" -msgstr "" - -#. module: process -#: view:process.process:0 -msgid "Search Process" -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 -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:67 -#, python-format -msgid "Select Process" -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 -#. openerp-web -#: code:addons/process/static/src/js/process.js:243 -#: code:addons/process/static/src/xml/process.xml:33 -#: model:ir.model,name:process.model_process_process -#: field:process.node,process_id:0 -#: view:process.process:0 -#, python-format -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 -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:42 -#, python-format -msgid "Subflows:" -msgstr "" - -#. module: process -#: view:process.node:0 -#: view:process.process:0 -msgid "Outgoing Transitions" -msgstr "" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:36 -#, python-format -msgid "Notes:" -msgstr "" - -#. module: process -#: selection:process.node,kind:0 -#: field:process.node,subflow_id:0 -msgid "Subflow" -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 "" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:77 -#, python-format -msgid "Select" -msgstr "" - -#~ msgid "" -#~ "The Object name must start with x_ and not contain any special character !" -#~ msgstr "" -#~ "De objectnaam moet beginnen met x_ en mag geen speciale karakters bevatten !" diff --git a/addons/process/i18n/pl.po b/addons/process/i18n/pl.po deleted file mode 100644 index 54ece5bd4bd..00000000000 --- a/addons/process/i18n/pl.po +++ /dev/null @@ -1,408 +0,0 @@ -# Translation of OpenERP Server. -# This file contains the translation of the following modules: -# * process -# -msgid "" -msgstr "" -"Project-Id-Version: OpenERP Server 6.0dev\n" -"Report-Msgid-Bugs-To: support@openerp.com\n" -"POT-Creation-Date: 2012-12-21 17:06+0000\n" -"PO-Revision-Date: 2009-11-17 06:55+0000\n" -"Last-Translator: Fabien (Open ERP) \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-03-16 05:10+0000\n" -"X-Generator: Launchpad (build 16532)\n" - -#. module: process -#: model:ir.model,name:process.model_process_node -#: view:process.node:0 -#: view:process.process:0 -msgid "Process Node" -msgstr "Węzeł procesu" - -#. 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 "" - -#. module: process -#: field:process.node,menu_id:0 -msgid "Related Menu" -msgstr "Powiązane menu" - -#. module: process -#: selection:process.node,kind:0 -msgid "Status" -msgstr "" - -#. module: process -#: field:process.transition,action_ids:0 -msgid "Buttons" -msgstr "Przyciski" - -#. module: process -#: view:process.node:0 -#: view:process.process:0 -msgid "Group By..." -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 pomocy" - -#. module: process -#: field:process.node,flow_start:0 -msgid "Starting Flow" -msgstr "Przepływ początkowy" - -#. 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 "Węzły procesu" - -#. module: process -#: view:process.process:0 -#: field:process.process,node_ids:0 -msgid "Nodes" -msgstr "Węzły" - -#. module: process -#: field:process.node,condition_ids:0 -#: view:process.process:0 -msgid "Conditions" -msgstr "Warunki" - -#. module: process -#: view:process.transition:0 -msgid "Search Process Transition" -msgstr "" - -#. module: process -#: field:process.condition,node_id:0 -msgid "Node" -msgstr "Węzeł" - -#. module: process -#: selection:process.transition.action,state:0 -msgid "Workflow Trigger" -msgstr "Wyzwalacz obiegu" - -#. module: process -#: field:process.transition,note:0 -msgid "Description" -msgstr "Opis" - -#. module: process -#: model:ir.model,name:process.model_process_transition_action -msgid "Process Transitions Actions" -msgstr "Akcje przejścia procesu" - -#. 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 "Obiekt" - -#. module: process -#: field:process.transition,source_node_id:0 -msgid "Source Node" -msgstr "Węzeł źródłowy" - -#. module: process -#: view:process.transition:0 -#: field:process.transition,transition_ids:0 -msgid "Workflow Transitions" -msgstr "Przejścia obiegu" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:39 -#, python-format -msgid "Last modified by:" -msgstr "" - -#. module: process -#: field:process.transition.action,action:0 -msgid "Action ID" -msgstr "ID akcji" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:7 -#, python-format -msgid "Process View" -msgstr "" - -#. module: process -#: model:ir.model,name:process.model_process_transition -#: view:process.transition:0 -msgid "Process Transition" -msgstr "Przejście procesu" - -#. module: process -#: model:ir.model,name:process.model_process_condition -msgid "Condition" -msgstr "Warunek" - -#. module: process -#: selection:process.transition.action,state:0 -msgid "Dummy" -msgstr "Bezczynny" - -#. 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.transition.action,transition_id:0 -msgid "Transition" -msgstr "Przejście" - -#. 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 "Nazwa" - -#. module: process -#: field:process.node,transition_in:0 -msgid "Starting Transitions" -msgstr "Przejścia początkowe" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:54 -#, python-format -msgid "Related:" -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 "Uwagi" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:88 -#, python-format -msgid "Edit Process" -msgstr "" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:39 -#, python-format -msgid "N/A" -msgstr "" - -#. module: process -#: view:process.process:0 -msgid "Search Process" -msgstr "" - -#. module: process -#: field:process.process,active:0 -msgid "Active" -msgstr "Aktywny" - -#. module: process -#: view:process.transition:0 -msgid "Associated Groups" -msgstr "" - -#. module: process -#: field:process.node,model_states:0 -msgid "States Expression" -msgstr "Wyrażenie stanów" - -#. module: process -#: selection:process.transition.action,state:0 -msgid "Action" -msgstr "Akcja" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:67 -#, python-format -msgid "Select Process" -msgstr "" - -#. module: process -#: field:process.condition,model_states:0 -msgid "Expression" -msgstr "Wyrażenie" - -#. 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 "Typ" - -#. module: process -#: field:process.node,transition_out:0 -msgid "Ending Transitions" -msgstr "Przejścia końcowe" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/js/process.js:243 -#: code:addons/process/static/src/xml/process.xml:33 -#: model:ir.model,name:process.model_process_process -#: field:process.node,process_id:0 -#: view:process.process:0 -#, python-format -msgid "Process" -msgstr "Proces" - -#. 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 "Proces przedsiębiorstwa" - -#. module: process -#: view:process.transition:0 -msgid "Actions" -msgstr "Akcje" - -#. 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 "Przejścia procesu" - -#. module: process -#: field:process.transition,target_node_id:0 -msgid "Target Node" -msgstr "Węzeł docelowy" - -#. module: process -#: field:process.node,kind:0 -msgid "Kind of Node" -msgstr "Rodzaj węzła" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:42 -#, python-format -msgid "Subflows:" -msgstr "" - -#. module: process -#: view:process.node:0 -#: view:process.process:0 -msgid "Outgoing Transitions" -msgstr "Przejścia wyjściowe" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:36 -#, python-format -msgid "Notes:" -msgstr "" - -#. module: process -#: selection:process.node,kind:0 -#: field:process.node,subflow_id:0 -msgid "Subflow" -msgstr "Podobieg" - -#. module: process -#: view:process.node:0 -#: view:process.process:0 -msgid "Transitions" -msgstr "Przejścia" - -#. module: process -#: selection:process.transition.action,state:0 -msgid "Object Method" -msgstr "Metoda obiektu" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:77 -#, python-format -msgid "Select" -msgstr "" - -#~ msgid "" -#~ "The Object name must start with x_ and not contain any special character !" -#~ msgstr "" -#~ "Nazwa obiektu musi zaczynać się od x_ oraz nie może zawierać znaków " -#~ "specjalnych !" - -#~ msgid "Invalid XML for View Architecture!" -#~ msgstr "XML niewłaściwy dla tej architektury wyświetlania!" - -#~ msgid "State" -#~ msgstr "Stan" - -#~ msgid "Details" -#~ msgstr "Szczegóły" - -#~ msgid "Roles Required" -#~ msgstr "Wymagane role" - -#~ msgid "Roles" -#~ msgstr "Role" - -#~ msgid "Extra Information" -#~ msgstr "Dodatkowe informacje" - -#~ msgid "Enterprise Processes" -#~ msgstr "Procesy przedsiębiorstwa" - -#~ msgid "Roles from Workflow" -#~ msgstr "Role z obiegu" diff --git a/addons/process/i18n/process.pot b/addons/process/i18n/process.pot deleted file mode 100644 index 3bf64e30458..00000000000 --- a/addons/process/i18n/process.pot +++ /dev/null @@ -1,376 +0,0 @@ -# Translation of OpenERP Server. -# This file contains the translation of the following modules: -# * process -# -msgid "" -msgstr "" -"Project-Id-Version: OpenERP Server 7.0alpha\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2012-12-21 17:06+0000\n" -"PO-Revision-Date: 2012-12-21 17:06+0000\n" -"Last-Translator: <>\n" -"Language-Team: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: \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 "" - -#. module: process -#: field:process.node,menu_id:0 -msgid "Related Menu" -msgstr "" - -#. module: process -#: selection:process.node,kind:0 -msgid "Status" -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 -#: view:process.node:0 -msgid "Kind Of Node" -msgstr "" - -#. module: process -#: field:process.node,help_url:0 -msgid "Help URL" -msgstr "" - -#. module: process -#: field:process.node,flow_start:0 -msgid "Starting Flow" -msgstr "" - -#. 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 -#: 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 -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:39 -#, python-format -msgid "Last modified by:" -msgstr "" - -#. module: process -#: field:process.transition.action,action:0 -msgid "Action ID" -msgstr "" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:7 -#, python-format -msgid "Process View" -msgstr "" - -#. 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.transition.action,transition_id:0 -msgid "Transition" -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 -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:54 -#, python-format -msgid "Related:" -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 -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:88 -#, python-format -msgid "Edit Process" -msgstr "" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:39 -#, python-format -msgid "N/A" -msgstr "" - -#. module: process -#: view:process.process:0 -msgid "Search Process" -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 -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:67 -#, python-format -msgid "Select Process" -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 -#. openerp-web -#: code:addons/process/static/src/js/process.js:243 -#: code:addons/process/static/src/xml/process.xml:33 -#: model:ir.model,name:process.model_process_process -#: field:process.node,process_id:0 -#: view:process.process:0 -#, python-format -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 -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:42 -#, python-format -msgid "Subflows:" -msgstr "" - -#. module: process -#: view:process.node:0 -#: view:process.process:0 -msgid "Outgoing Transitions" -msgstr "" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:36 -#, python-format -msgid "Notes:" -msgstr "" - -#. module: process -#: selection:process.node,kind:0 -#: field:process.node,subflow_id:0 -msgid "Subflow" -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 "" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:77 -#, python-format -msgid "Select" -msgstr "" - diff --git a/addons/process/i18n/pt.po b/addons/process/i18n/pt.po deleted file mode 100644 index b2250ec03ef..00000000000 --- a/addons/process/i18n/pt.po +++ /dev/null @@ -1,434 +0,0 @@ -# Translation of OpenERP Server. -# This file contains the translation of the following modules: -# * process -# -msgid "" -msgstr "" -"Project-Id-Version: OpenERP Server 6.0dev\n" -"Report-Msgid-Bugs-To: support@openerp.com\n" -"POT-Creation-Date: 2012-12-21 17:06+0000\n" -"PO-Revision-Date: 2012-12-17 12:24+0000\n" -"Last-Translator: Rui Franco (multibase.pt) \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-03-16 05:10+0000\n" -"X-Generator: Launchpad (build 16532)\n" - -#. module: process -#: model:ir.model,name:process.model_process_node -#: view:process.node:0 -#: view:process.process:0 -msgid "Process Node" -msgstr "Nó do Processo" - -#. 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 "" -"Se o campo ativo é definido como Falso, ele permitirá que se oculte o " -"processo sem removê-lo." - -#. module: process -#: field:process.node,menu_id:0 -msgid "Related Menu" -msgstr "Menu Relacionado" - -#. module: process -#: selection:process.node,kind:0 -msgid "Status" -msgstr "Estado" - -#. module: process -#: field:process.transition,action_ids:0 -msgid "Buttons" -msgstr "Botões" - -#. module: process -#: view:process.node:0 -#: view:process.process:0 -msgid "Group By..." -msgstr "Agrupar por..." - -#. module: process -#: view:process.node:0 -msgid "Kind Of Node" -msgstr "Tipo de nó" - -#. module: process -#: field:process.node,help_url:0 -msgid "Help URL" -msgstr "Ajuda URL" - -#. module: process -#: field:process.node,flow_start:0 -msgid "Starting Flow" -msgstr "Iniciar Flow" - -#. 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 "Processo de nós" - -#. module: process -#: view:process.process:0 -#: field:process.process,node_ids:0 -msgid "Nodes" -msgstr "Nós" - -#. module: process -#: field:process.node,condition_ids:0 -#: view:process.process:0 -msgid "Conditions" -msgstr "Condições" - -#. module: process -#: view:process.transition:0 -msgid "Search Process Transition" -msgstr "Transição processo de pesquisa" - -#. module: process -#: field:process.condition,node_id:0 -msgid "Node" -msgstr "Nó" - -#. module: process -#: selection:process.transition.action,state:0 -msgid "Workflow Trigger" -msgstr "Acionador de Fluxo de Trabalho" - -#. module: process -#: field:process.transition,note:0 -msgid "Description" -msgstr "Descrição" - -#. module: process -#: model:ir.model,name:process.model_process_transition_action -msgid "Process Transitions Actions" -msgstr "Ações do Processo de Transições" - -#. 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 "Objeto" - -#. module: process -#: field:process.transition,source_node_id:0 -msgid "Source Node" -msgstr "Nó de Origem" - -#. module: process -#: view:process.transition:0 -#: field:process.transition,transition_ids:0 -msgid "Workflow Transitions" -msgstr "Transições do Fluxo de Trabalho" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:39 -#, python-format -msgid "Last modified by:" -msgstr "Última alteração por:" - -#. module: process -#: field:process.transition.action,action:0 -msgid "Action ID" -msgstr "ID da Ação" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:7 -#, python-format -msgid "Process View" -msgstr "" - -#. module: process -#: model:ir.model,name:process.model_process_transition -#: view:process.transition:0 -msgid "Process Transition" -msgstr "Processo de Transição" - -#. module: process -#: model:ir.model,name:process.model_process_condition -msgid "Condition" -msgstr "Condição" - -#. module: process -#: selection:process.transition.action,state:0 -msgid "Dummy" -msgstr "Dummy" - -#. module: process -#: model:ir.actions.act_window,name:process.action_process_form -#: model:ir.ui.menu,name:process.menu_process_form -msgid "Processes" -msgstr "Processos" - -#. module: process -#: field:process.transition.action,transition_id:0 -msgid "Transition" -msgstr "Transição" - -#. 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 "Nome" - -#. module: process -#: field:process.node,transition_in:0 -msgid "Starting Transitions" -msgstr "Transações Iniciais" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:54 -#, python-format -msgid "Related:" -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 "Notas" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:88 -#, python-format -msgid "Edit Process" -msgstr "Editar processo" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:39 -#, python-format -msgid "N/A" -msgstr "N/D" - -#. module: process -#: view:process.process:0 -msgid "Search Process" -msgstr "Procurar processo" - -#. module: process -#: field:process.process,active:0 -msgid "Active" -msgstr "Ativo" - -#. module: process -#: view:process.transition:0 -msgid "Associated Groups" -msgstr "Grupos associados" - -#. module: process -#: field:process.node,model_states:0 -msgid "States Expression" -msgstr "Expressão dos Estados" - -#. module: process -#: selection:process.transition.action,state:0 -msgid "Action" -msgstr "Ação" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:67 -#, python-format -msgid "Select Process" -msgstr "" - -#. module: process -#: field:process.condition,model_states:0 -msgid "Expression" -msgstr "Expressão" - -#. module: process -#: field:process.transition,group_ids:0 -msgid "Required Groups" -msgstr "Grupos necessários" - -#. module: process -#: view:process.node:0 -#: view:process.process:0 -msgid "Incoming Transitions" -msgstr "Transições de entrada" - -#. module: process -#: field:process.transition.action,state:0 -msgid "Type" -msgstr "Tipo" - -#. module: process -#: field:process.node,transition_out:0 -msgid "Ending Transitions" -msgstr "Terminar Transições" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/js/process.js:243 -#: code:addons/process/static/src/xml/process.xml:33 -#: model:ir.model,name:process.model_process_process -#: field:process.node,process_id:0 -#: view:process.process:0 -#, python-format -msgid "Process" -msgstr "Processar" - -#. module: process -#: view:process.node:0 -msgid "Search ProcessNode" -msgstr "Nó de processo de pesquisa" - -#. module: process -#: view:process.node:0 -#: view:process.process:0 -msgid "Other Conditions" -msgstr "Outras Condições" - -#. module: process -#: model:ir.ui.menu,name:process.menu_process -msgid "Enterprise Process" -msgstr "Processo de Empresa" - -#. module: process -#: view:process.transition:0 -msgid "Actions" -msgstr "Ações" - -#. module: process -#: view:process.node:0 -#: view:process.process:0 -msgid "Properties" -msgstr "Propriedades" - -#. 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 "Processo de Transições" - -#. module: process -#: field:process.transition,target_node_id:0 -msgid "Target Node" -msgstr "Nó de Destino" - -#. module: process -#: field:process.node,kind:0 -msgid "Kind of Node" -msgstr "Tipo de Nó" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:42 -#, python-format -msgid "Subflows:" -msgstr "" - -#. module: process -#: view:process.node:0 -#: view:process.process:0 -msgid "Outgoing Transitions" -msgstr "Transições em Saída" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:36 -#, python-format -msgid "Notes:" -msgstr "Notas:" - -#. module: process -#: selection:process.node,kind:0 -#: field:process.node,subflow_id:0 -msgid "Subflow" -msgstr "Subflow" - -#. module: process -#: view:process.node:0 -#: view:process.process:0 -msgid "Transitions" -msgstr "Transições" - -#. module: process -#: selection:process.transition.action,state:0 -msgid "Object Method" -msgstr "Método do Objeto" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:77 -#, python-format -msgid "Select" -msgstr "Selecionar" - -#~ msgid "State" -#~ msgstr "Estado" - -#~ msgid "Details" -#~ msgstr "Detalhes" - -#~ msgid "Invalid model name in the action definition." -#~ msgstr "Nome de modelo inválido na definição da acção" - -#~ msgid "" -#~ "The Object name must start with x_ and not contain any special character !" -#~ msgstr "" -#~ "O nome do Objecto deve começar com x_ e não pode conter nenhum carácter " -#~ "especial !" - -#~ msgid "Roles from Workflow" -#~ msgstr "Funções para Fluxo de Trabalho" - -#~ msgid "Invalid XML for View Architecture!" -#~ msgstr "XML Inválido para a Arquitectura de Vista!" - -#~ msgid "Roles" -#~ msgstr "Funções" - -#~ msgid "Roles Required" -#~ msgstr "Funções Exigidas" - -#~ msgid "Extra Information" -#~ msgstr "Informação Extra" - -#~ msgid "Enterprise Processes" -#~ msgstr "Processos da Empresa" - -#~ msgid "" -#~ "\n" -#~ " This module shows the basic processes involved\n" -#~ " in the selected modules and in the sequence they\n" -#~ " occur\n" -#~ "\n" -#~ " Note: This applies to the modules containing modulename_process_xml\n" -#~ " for e.g product/process/product_process_xml\n" -#~ "\n" -#~ " " -#~ msgstr "" -#~ "\n" -#~ " Este módulo mostra os processos básicos envolvidos \n" -#~ " nos módulos seleccionados e na sequência em que \n" -#~ " ocorrem \n" -#~ "\n" -#~ " Nota: Isto aplica-se aos módulos contendo modulename_process_xml \n" -#~ " para e.g product/process/product_process_xml\n" -#~ "\n" -#~ " " diff --git a/addons/process/i18n/pt_BR.po b/addons/process/i18n/pt_BR.po deleted file mode 100644 index 6d54923c11a..00000000000 --- a/addons/process/i18n/pt_BR.po +++ /dev/null @@ -1,414 +0,0 @@ -# Translation of OpenERP Server. -# This file contains the translation of the following modules: -# * process -# -msgid "" -msgstr "" -"Project-Id-Version: OpenERP Server 6.0dev\n" -"Report-Msgid-Bugs-To: support@openerp.com\n" -"POT-Creation-Date: 2012-12-21 17:06+0000\n" -"PO-Revision-Date: 2012-12-22 01:28+0000\n" -"Last-Translator: Fábio Martinelli - http://zupy.com.br " -"\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-03-16 05:10+0000\n" -"X-Generator: Launchpad (build 16532)\n" - -#. module: process -#: model:ir.model,name:process.model_process_node -#: view:process.node:0 -#: view:process.process:0 -msgid "Process Node" -msgstr "Nó do processo" - -#. 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 "" -"Se o campo ativo for definido como Falso, permite que você esconda o " -"processo sem removê-lo." - -#. module: process -#: field:process.node,menu_id:0 -msgid "Related Menu" -msgstr "Menu relacionado" - -#. module: process -#: selection:process.node,kind:0 -msgid "Status" -msgstr "Situação" - -#. module: process -#: field:process.transition,action_ids:0 -msgid "Buttons" -msgstr "Botões" - -#. module: process -#: view:process.node:0 -#: view:process.process:0 -msgid "Group By..." -msgstr "Agrupar Por..." - -#. module: process -#: view:process.node:0 -msgid "Kind Of Node" -msgstr "Tipo de Nó" - -#. module: process -#: field:process.node,help_url:0 -msgid "Help URL" -msgstr "URL de ajuda" - -#. module: process -#: field:process.node,flow_start:0 -msgid "Starting Flow" -msgstr "Inciando fluxo" - -#. 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 "Nós do processo" - -#. module: process -#: view:process.process:0 -#: field:process.process,node_ids:0 -msgid "Nodes" -msgstr "Nós" - -#. module: process -#: field:process.node,condition_ids:0 -#: view:process.process:0 -msgid "Conditions" -msgstr "Condições" - -#. module: process -#: view:process.transition:0 -msgid "Search Process Transition" -msgstr "Procurar Transição de Processo" - -#. module: process -#: field:process.condition,node_id:0 -msgid "Node" -msgstr "Nó" - -#. module: process -#: selection:process.transition.action,state:0 -msgid "Workflow Trigger" -msgstr "Workflow Trigger" - -#. module: process -#: field:process.transition,note:0 -msgid "Description" -msgstr "Descrição" - -#. module: process -#: model:ir.model,name:process.model_process_transition_action -msgid "Process Transitions Actions" -msgstr "Processar ações de transições" - -#. 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 "Objeto" - -#. module: process -#: field:process.transition,source_node_id:0 -msgid "Source Node" -msgstr "Nó de origem" - -#. module: process -#: view:process.transition:0 -#: field:process.transition,transition_ids:0 -msgid "Workflow Transitions" -msgstr "Transições de Workflow" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:39 -#, python-format -msgid "Last modified by:" -msgstr "Última atualização por:" - -#. module: process -#: field:process.transition.action,action:0 -msgid "Action ID" -msgstr "Ação ID" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:7 -#, python-format -msgid "Process View" -msgstr "Visão de Processo" - -#. module: process -#: model:ir.model,name:process.model_process_transition -#: view:process.transition:0 -msgid "Process Transition" -msgstr "Transição de processo" - -#. module: process -#: model:ir.model,name:process.model_process_condition -msgid "Condition" -msgstr "Condição" - -#. module: process -#: selection:process.transition.action,state:0 -msgid "Dummy" -msgstr "Imitação" - -#. module: process -#: model:ir.actions.act_window,name:process.action_process_form -#: model:ir.ui.menu,name:process.menu_process_form -msgid "Processes" -msgstr "Processos" - -#. module: process -#: field:process.transition.action,transition_id:0 -msgid "Transition" -msgstr "Transição" - -#. 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 "Nome" - -#. module: process -#: field:process.node,transition_in:0 -msgid "Starting Transitions" -msgstr "Iniciando transações" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:54 -#, python-format -msgid "Related:" -msgstr "Relacionado:" - -#. 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 "Observações" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:88 -#, python-format -msgid "Edit Process" -msgstr "Editar Processo" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:39 -#, python-format -msgid "N/A" -msgstr "Nenhum" - -#. module: process -#: view:process.process:0 -msgid "Search Process" -msgstr "Procurar Processo" - -#. module: process -#: field:process.process,active:0 -msgid "Active" -msgstr "Ativo" - -#. module: process -#: view:process.transition:0 -msgid "Associated Groups" -msgstr "Grupos Associados" - -#. module: process -#: field:process.node,model_states:0 -msgid "States Expression" -msgstr "Expressão de estado" - -#. module: process -#: selection:process.transition.action,state:0 -msgid "Action" -msgstr "Ação" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:67 -#, python-format -msgid "Select Process" -msgstr "Selecionar processo" - -#. module: process -#: field:process.condition,model_states:0 -msgid "Expression" -msgstr "Expressão" - -#. module: process -#: field:process.transition,group_ids:0 -msgid "Required Groups" -msgstr "Grupos Necessários" - -#. module: process -#: view:process.node:0 -#: view:process.process:0 -msgid "Incoming Transitions" -msgstr "Transições de Entrada" - -#. module: process -#: field:process.transition.action,state:0 -msgid "Type" -msgstr "Tipo" - -#. module: process -#: field:process.node,transition_out:0 -msgid "Ending Transitions" -msgstr "Terminando transição" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/js/process.js:243 -#: code:addons/process/static/src/xml/process.xml:33 -#: model:ir.model,name:process.model_process_process -#: field:process.node,process_id:0 -#: view:process.process:0 -#, python-format -msgid "Process" -msgstr "Processo" - -#. module: process -#: view:process.node:0 -msgid "Search ProcessNode" -msgstr "Procurar Processo/Nó" - -#. module: process -#: view:process.node:0 -#: view:process.process:0 -msgid "Other Conditions" -msgstr "Outras Condições" - -#. module: process -#: model:ir.ui.menu,name:process.menu_process -msgid "Enterprise Process" -msgstr "Processos de negócios" - -#. module: process -#: view:process.transition:0 -msgid "Actions" -msgstr "Ações" - -#. module: process -#: view:process.node:0 -#: view:process.process:0 -msgid "Properties" -msgstr "Propriedades" - -#. 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 "Transições de Processos" - -#. module: process -#: field:process.transition,target_node_id:0 -msgid "Target Node" -msgstr "Nó de origem" - -#. module: process -#: field:process.node,kind:0 -msgid "Kind of Node" -msgstr "Tipo de nó" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:42 -#, python-format -msgid "Subflows:" -msgstr "Sub fluxos:" - -#. module: process -#: view:process.node:0 -#: view:process.process:0 -msgid "Outgoing Transitions" -msgstr "Transições de saida" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:36 -#, python-format -msgid "Notes:" -msgstr "Notas:" - -#. module: process -#: selection:process.node,kind:0 -#: field:process.node,subflow_id:0 -msgid "Subflow" -msgstr "Subfluxo" - -#. module: process -#: view:process.node:0 -#: view:process.process:0 -msgid "Transitions" -msgstr "Transições" - -#. module: process -#: selection:process.transition.action,state:0 -msgid "Object Method" -msgstr "Método objeto" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:77 -#, python-format -msgid "Select" -msgstr "Selecionar" - -#~ msgid "" -#~ "The Object name must start with x_ and not contain any special character !" -#~ msgstr "" -#~ "O nome do objeto precisa iniciar com x_ e não conter nenhum caracter " -#~ "especial!" - -#~ msgid "Roles from Workflow" -#~ msgstr "Papéis de Workflow" - -#~ msgid "State" -#~ msgstr "Estado" - -#~ msgid "Details" -#~ msgstr "Detalhes" - -#~ msgid "Invalid XML for View Architecture!" -#~ msgstr "Invalido XML para Arquitetura da View" - -#~ msgid "Roles" -#~ msgstr "Papéis" - -#~ msgid "Roles Required" -#~ msgstr "Papeis Requeridos" - -#~ msgid "Extra Information" -#~ msgstr "Informação Extra" - -#~ msgid "Enterprise Processes" -#~ msgstr "Processos empresariais" - -#~ msgid "Invalid model name in the action definition." -#~ msgstr "Nome de modelo inválido na definição da ação." diff --git a/addons/process/i18n/ro.po b/addons/process/i18n/ro.po deleted file mode 100644 index ec3b2b2194f..00000000000 --- a/addons/process/i18n/ro.po +++ /dev/null @@ -1,434 +0,0 @@ -# Translation of OpenERP Server. -# This file contains the translation of the following modules: -# * process -# -msgid "" -msgstr "" -"Project-Id-Version: OpenERP Server 6.0dev\n" -"Report-Msgid-Bugs-To: support@openerp.com\n" -"POT-Creation-Date: 2012-12-21 17:06+0000\n" -"PO-Revision-Date: 2011-03-24 12:02+0000\n" -"Last-Translator: Dorin \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-03-16 05:10+0000\n" -"X-Generator: Launchpad (build 16532)\n" - -#. module: process -#: model:ir.model,name:process.model_process_node -#: view:process.node:0 -#: view:process.process:0 -msgid "Process Node" -msgstr "Nod Proces" - -#. 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 "" -"Daca campul activ este setat pe Fals, va va permite sa ascundeti procesul " -"fara a-l sterge." - -#. module: process -#: field:process.node,menu_id:0 -msgid "Related Menu" -msgstr "Meniu Asociat" - -#. module: process -#: selection:process.node,kind:0 -msgid "Status" -msgstr "Status" - -#. module: process -#: field:process.transition,action_ids:0 -msgid "Buttons" -msgstr "Butoane" - -#. module: process -#: view:process.node:0 -#: view:process.process:0 -msgid "Group By..." -msgstr "Grupati dupa..." - -#. module: process -#: view:process.node:0 -msgid "Kind Of Node" -msgstr "Tipul de nod" - -#. module: process -#: field:process.node,help_url:0 -msgid "Help URL" -msgstr "URL asistenta" - -#. module: process -#: field:process.node,flow_start:0 -msgid "Starting Flow" -msgstr "Incepere flux" - -#. 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 "Noduri Proces" - -#. module: process -#: view:process.process:0 -#: field:process.process,node_ids:0 -msgid "Nodes" -msgstr "Noduri" - -#. module: process -#: field:process.node,condition_ids:0 -#: view:process.process:0 -msgid "Conditions" -msgstr "Conditii" - -#. module: process -#: view:process.transition:0 -msgid "Search Process Transition" -msgstr "Cautati Tranzitia procesului" - -#. module: process -#: field:process.condition,node_id:0 -msgid "Node" -msgstr "Nod" - -#. module: process -#: selection:process.transition.action,state:0 -msgid "Workflow Trigger" -msgstr "Declansator Flux de lucru" - -#. module: process -#: field:process.transition,note:0 -msgid "Description" -msgstr "Descriere" - -#. module: process -#: model:ir.model,name:process.model_process_transition_action -msgid "Process Transitions Actions" -msgstr "Actiuni Tranzitii Proces" - -#. 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 "Obiect" - -#. module: process -#: field:process.transition,source_node_id:0 -msgid "Source Node" -msgstr "Nod sursa" - -#. module: process -#: view:process.transition:0 -#: field:process.transition,transition_ids:0 -msgid "Workflow Transitions" -msgstr "Tranzitii Flux de lucru" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:39 -#, python-format -msgid "Last modified by:" -msgstr "Modificat ultima data de :" - -#. module: process -#: field:process.transition.action,action:0 -msgid "Action ID" -msgstr "ID actiune" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:7 -#, python-format -msgid "Process View" -msgstr "Vizualizare Proces" - -#. module: process -#: model:ir.model,name:process.model_process_transition -#: view:process.transition:0 -msgid "Process Transition" -msgstr "Tranzitie proces" - -#. module: process -#: model:ir.model,name:process.model_process_condition -msgid "Condition" -msgstr "Conditie" - -#. module: process -#: selection:process.transition.action,state:0 -msgid "Dummy" -msgstr "Provizoriu" - -#. module: process -#: model:ir.actions.act_window,name:process.action_process_form -#: model:ir.ui.menu,name:process.menu_process_form -msgid "Processes" -msgstr "Procese" - -#. module: process -#: field:process.transition.action,transition_id:0 -msgid "Transition" -msgstr "Tranzitie" - -#. 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 "Nume" - -#. module: process -#: field:process.node,transition_in:0 -msgid "Starting Transitions" -msgstr "Incepere Tranzitii" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:54 -#, python-format -msgid "Related:" -msgstr "Referitor la:" - -#. 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 "Note" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:88 -#, python-format -msgid "Edit Process" -msgstr "Editati Procesul" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:39 -#, python-format -msgid "N/A" -msgstr "N/A" - -#. module: process -#: view:process.process:0 -msgid "Search Process" -msgstr "Cautati Procesul" - -#. module: process -#: field:process.process,active:0 -msgid "Active" -msgstr "Activ(a)" - -#. module: process -#: view:process.transition:0 -msgid "Associated Groups" -msgstr "Grupuri asociate" - -#. module: process -#: field:process.node,model_states:0 -msgid "States Expression" -msgstr "Expresie stari" - -#. module: process -#: selection:process.transition.action,state:0 -msgid "Action" -msgstr "Actiune" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:67 -#, python-format -msgid "Select Process" -msgstr "Selectati Procesul" - -#. module: process -#: field:process.condition,model_states:0 -msgid "Expression" -msgstr "Expresie" - -#. module: process -#: field:process.transition,group_ids:0 -msgid "Required Groups" -msgstr "Grupuri obligatorii" - -#. module: process -#: view:process.node:0 -#: view:process.process:0 -msgid "Incoming Transitions" -msgstr "Tranzitii de intrare" - -#. module: process -#: field:process.transition.action,state:0 -msgid "Type" -msgstr "Tip" - -#. module: process -#: field:process.node,transition_out:0 -msgid "Ending Transitions" -msgstr "Finalizare Tranzitii" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/js/process.js:243 -#: code:addons/process/static/src/xml/process.xml:33 -#: model:ir.model,name:process.model_process_process -#: field:process.node,process_id:0 -#: view:process.process:0 -#, python-format -msgid "Process" -msgstr "Proces" - -#. module: process -#: view:process.node:0 -msgid "Search ProcessNode" -msgstr "Cautati Nod Proces" - -#. module: process -#: view:process.node:0 -#: view:process.process:0 -msgid "Other Conditions" -msgstr "Alte conditii" - -#. module: process -#: model:ir.ui.menu,name:process.menu_process -msgid "Enterprise Process" -msgstr "Intreprinde proces" - -#. module: process -#: view:process.transition:0 -msgid "Actions" -msgstr "Actiuni" - -#. module: process -#: view:process.node:0 -#: view:process.process:0 -msgid "Properties" -msgstr "Proprietati" - -#. 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 "Tranzitii proces" - -#. module: process -#: field:process.transition,target_node_id:0 -msgid "Target Node" -msgstr "Nod tinta" - -#. module: process -#: field:process.node,kind:0 -msgid "Kind of Node" -msgstr "Tip de nod" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:42 -#, python-format -msgid "Subflows:" -msgstr "Subfluxuri:" - -#. module: process -#: view:process.node:0 -#: view:process.process:0 -msgid "Outgoing Transitions" -msgstr "Tranzitii de iesire" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:36 -#, python-format -msgid "Notes:" -msgstr "Note:" - -#. module: process -#: selection:process.node,kind:0 -#: field:process.node,subflow_id:0 -msgid "Subflow" -msgstr "Subflux" - -#. module: process -#: view:process.node:0 -#: view:process.process:0 -msgid "Transitions" -msgstr "Tranzitii" - -#. module: process -#: selection:process.transition.action,state:0 -msgid "Object Method" -msgstr "Metoda obiectului" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:77 -#, python-format -msgid "Select" -msgstr "Selecteaza" - -#~ msgid "Roles from Workflow" -#~ msgstr "Roluri din flux" - -#~ msgid "Details" -#~ msgstr "Detalii" - -#~ msgid "Invalid model name in the action definition." -#~ msgstr "Nume invalid de model în definirea acțiunii" - -#~ msgid "State" -#~ msgstr "Stare" - -#~ msgid "" -#~ "The Object name must start with x_ and not contain any special character !" -#~ msgstr "" -#~ "Numele obiectului trebuie să înceapă cu x_ și să nu conțină nici un caracter " -#~ "special !" - -#~ msgid "Roles Required" -#~ msgstr "Roluri necesare" - -#~ msgid "Roles" -#~ msgstr "Roluri" - -#~ msgid "Invalid XML for View Architecture!" -#~ msgstr "XML invalid pentru arhitectura machetei de afișare !" - -#~ msgid "Extra Information" -#~ msgstr "Informaţii suplimentare" - -#~ msgid "Enterprise Processes" -#~ msgstr "Procese de întreprindere" - -#~ msgid "" -#~ "\n" -#~ " This module shows the basic processes involved\n" -#~ " in the selected modules and in the sequence they\n" -#~ " occur\n" -#~ "\n" -#~ " Note: This applies to the modules containing modulename_process_xml\n" -#~ " for e.g product/process/product_process_xml\n" -#~ "\n" -#~ " " -#~ msgstr "" -#~ "\n" -#~ " Acest modul arată procesele de bază implicate\n" -#~ " in modulele selectate si in ordinea in care ele au\n" -#~ " loc\n" -#~ "\n" -#~ " Notă: Aceasta se aplică modulelor care contin modulename_process_xml\n" -#~ " de exemplu produs/prces/produs_proces_xml\n" -#~ "\n" -#~ " " diff --git a/addons/process/i18n/ru.po b/addons/process/i18n/ru.po deleted file mode 100644 index e31bdbbd34e..00000000000 --- a/addons/process/i18n/ru.po +++ /dev/null @@ -1,404 +0,0 @@ -# Translation of OpenERP Server. -# This file contains the translation of the following modules: -# * process -# -msgid "" -msgstr "" -"Project-Id-Version: OpenERP Server 6.0dev\n" -"Report-Msgid-Bugs-To: support@openerp.com\n" -"POT-Creation-Date: 2012-12-21 17:06+0000\n" -"PO-Revision-Date: 2011-04-06 06:17+0000\n" -"Last-Translator: Stanislav Hanzhin \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-03-16 05:10+0000\n" -"X-Generator: Launchpad (build 16532)\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 "" -"Если поле \"Активно\" имеет значение \"Ложь\", это позволит скрыть процесс " -"не удаляя его." - -#. module: process -#: field:process.node,menu_id:0 -msgid "Related Menu" -msgstr "Родственное меню" - -#. module: process -#: selection:process.node,kind:0 -msgid "Status" -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 -#: view:process.node:0 -msgid "Kind Of Node" -msgstr "Тип узла" - -#. module: process -#: field:process.node,help_url:0 -msgid "Help URL" -msgstr "Адрес справки" - -#. module: process -#: field:process.node,flow_start:0 -msgid "Starting Flow" -msgstr "Запуск потока" - -#. 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 -#: 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 -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:39 -#, python-format -msgid "Last modified by:" -msgstr "" - -#. module: process -#: field:process.transition.action,action:0 -msgid "Action ID" -msgstr "Идентификатор действия" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:7 -#, python-format -msgid "Process View" -msgstr "" - -#. 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.transition.action,transition_id:0 -msgid "Transition" -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 -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:54 -#, python-format -msgid "Related:" -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 -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:88 -#, python-format -msgid "Edit Process" -msgstr "" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:39 -#, python-format -msgid "N/A" -msgstr "" - -#. module: process -#: view:process.process:0 -msgid "Search Process" -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 -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:67 -#, python-format -msgid "Select Process" -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 -#. openerp-web -#: code:addons/process/static/src/js/process.js:243 -#: code:addons/process/static/src/xml/process.xml:33 -#: model:ir.model,name:process.model_process_process -#: field:process.node,process_id:0 -#: view:process.process:0 -#, python-format -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 -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:42 -#, python-format -msgid "Subflows:" -msgstr "" - -#. module: process -#: view:process.node:0 -#: view:process.process:0 -msgid "Outgoing Transitions" -msgstr "Исходящее перемещение" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:36 -#, python-format -msgid "Notes:" -msgstr "" - -#. module: process -#: selection:process.node,kind:0 -#: field:process.node,subflow_id:0 -msgid "Subflow" -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 "Метод объекта" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:77 -#, python-format -msgid "Select" -msgstr "" - -#~ msgid "" -#~ "The Object name must start with x_ and not contain any special character !" -#~ msgstr "" -#~ "Название объекта должно начинаться с x_ и не должно содержать специальных " -#~ "символов !" - -#~ msgid "State" -#~ msgstr "Состояние" - -#~ msgid "Invalid XML for View Architecture!" -#~ msgstr "Неправильный XML для просмотра архитектуры!" - -#~ msgid "Extra Information" -#~ msgstr "Доп. информация" - -#~ msgid "Invalid model name in the action definition." -#~ msgstr "Недопустимое имя модели в определении действия." - -#~ msgid "Details" -#~ msgstr "Детали" - -#~ msgid "Roles" -#~ msgstr "Роли" diff --git a/addons/process/i18n/sk.po b/addons/process/i18n/sk.po deleted file mode 100644 index fb680315292..00000000000 --- a/addons/process/i18n/sk.po +++ /dev/null @@ -1,384 +0,0 @@ -# Slovak translation for openobject-addons -# Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010 -# This file is distributed under the same license as the openobject-addons package. -# FIRST AUTHOR , 2010. -# -msgid "" -msgstr "" -"Project-Id-Version: openobject-addons\n" -"Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-12-21 17:06+0000\n" -"PO-Revision-Date: 2010-12-21 14:21+0000\n" -"Last-Translator: Peter Kohaut \n" -"Language-Team: Slovak \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:10+0000\n" -"X-Generator: Launchpad (build 16532)\n" - -#. module: process -#: model:ir.model,name:process.model_process_node -#: view:process.node:0 -#: view:process.process:0 -msgid "Process Node" -msgstr "Uzol procesu" - -#. 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 "" -"Ak je aktívne pole nastavené na False, umožní Vám schovať proces bez jeho " -"odtránenia." - -#. module: process -#: field:process.node,menu_id:0 -msgid "Related Menu" -msgstr "Súvisiace menu" - -#. module: process -#: selection:process.node,kind:0 -msgid "Status" -msgstr "" - -#. module: process -#: field:process.transition,action_ids:0 -msgid "Buttons" -msgstr "Tlačidlá" - -#. module: process -#: view:process.node:0 -#: view:process.process:0 -msgid "Group By..." -msgstr "Zoskupiť podľa..." - -#. module: process -#: view:process.node:0 -msgid "Kind Of Node" -msgstr "Druh uzla" - -#. module: process -#: field:process.node,help_url:0 -msgid "Help URL" -msgstr "URL pomocníka" - -#. module: process -#: field:process.node,flow_start:0 -msgid "Starting Flow" -msgstr "Začínajúci tok" - -#. 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 "Uzly procesu" - -#. module: process -#: view:process.process:0 -#: field:process.process,node_ids:0 -msgid "Nodes" -msgstr "Uzly" - -#. module: process -#: field:process.node,condition_ids:0 -#: view:process.process:0 -msgid "Conditions" -msgstr "Podmienky" - -#. module: process -#: view:process.transition:0 -msgid "Search Process Transition" -msgstr "Hľadať prechod procesu" - -#. module: process -#: field:process.condition,node_id:0 -msgid "Node" -msgstr "Uzol" - -#. module: process -#: selection:process.transition.action,state:0 -msgid "Workflow Trigger" -msgstr "Spúšťač pracovného toku" - -#. module: process -#: field:process.transition,note:0 -msgid "Description" -msgstr "Popis" - -#. module: process -#: model:ir.model,name:process.model_process_transition_action -msgid "Process Transitions Actions" -msgstr "Akcie prechodov procesu" - -#. 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 "Objekt" - -#. module: process -#: field:process.transition,source_node_id:0 -msgid "Source Node" -msgstr "Zdrojový uzol" - -#. module: process -#: view:process.transition:0 -#: field:process.transition,transition_ids:0 -msgid "Workflow Transitions" -msgstr "Prechody pracovného toku" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:39 -#, python-format -msgid "Last modified by:" -msgstr "" - -#. module: process -#: field:process.transition.action,action:0 -msgid "Action ID" -msgstr "ID akcie" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:7 -#, python-format -msgid "Process View" -msgstr "" - -#. module: process -#: model:ir.model,name:process.model_process_transition -#: view:process.transition:0 -msgid "Process Transition" -msgstr "Prechod procesu" - -#. module: process -#: model:ir.model,name:process.model_process_condition -msgid "Condition" -msgstr "Podmienka" - -#. module: process -#: selection:process.transition.action,state:0 -msgid "Dummy" -msgstr "Prázdny" - -#. module: process -#: model:ir.actions.act_window,name:process.action_process_form -#: model:ir.ui.menu,name:process.menu_process_form -msgid "Processes" -msgstr "Procesy" - -#. module: process -#: field:process.transition.action,transition_id:0 -msgid "Transition" -msgstr "Prechod" - -#. 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 "Meno" - -#. module: process -#: field:process.node,transition_in:0 -msgid "Starting Transitions" -msgstr "Začínajúce prechody" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:54 -#, python-format -msgid "Related:" -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 "Poznámky" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:88 -#, python-format -msgid "Edit Process" -msgstr "" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:39 -#, python-format -msgid "N/A" -msgstr "" - -#. module: process -#: view:process.process:0 -msgid "Search Process" -msgstr "Hľadať proces" - -#. module: process -#: field:process.process,active:0 -msgid "Active" -msgstr "Aktívny" - -#. module: process -#: view:process.transition:0 -msgid "Associated Groups" -msgstr "Priradené skupiny" - -#. module: process -#: field:process.node,model_states:0 -msgid "States Expression" -msgstr "Vyjadruje výraz" - -#. module: process -#: selection:process.transition.action,state:0 -msgid "Action" -msgstr "Akcia" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:67 -#, python-format -msgid "Select Process" -msgstr "" - -#. module: process -#: field:process.condition,model_states:0 -msgid "Expression" -msgstr "Výraz" - -#. module: process -#: field:process.transition,group_ids:0 -msgid "Required Groups" -msgstr "Vyžadované skupiny" - -#. module: process -#: view:process.node:0 -#: view:process.process:0 -msgid "Incoming Transitions" -msgstr "Prichádzajúce prechody" - -#. module: process -#: field:process.transition.action,state:0 -msgid "Type" -msgstr "Typ" - -#. module: process -#: field:process.node,transition_out:0 -msgid "Ending Transitions" -msgstr "Ukončujúce prechody" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/js/process.js:243 -#: code:addons/process/static/src/xml/process.xml:33 -#: model:ir.model,name:process.model_process_process -#: field:process.node,process_id:0 -#: view:process.process:0 -#, python-format -msgid "Process" -msgstr "Proces" - -#. module: process -#: view:process.node:0 -msgid "Search ProcessNode" -msgstr "Hľadať uzol procesu" - -#. module: process -#: view:process.node:0 -#: view:process.process:0 -msgid "Other Conditions" -msgstr "Iné podmienky" - -#. module: process -#: model:ir.ui.menu,name:process.menu_process -msgid "Enterprise Process" -msgstr "Podnikový proces" - -#. module: process -#: view:process.transition:0 -msgid "Actions" -msgstr "Akcie" - -#. module: process -#: view:process.node:0 -#: view:process.process:0 -msgid "Properties" -msgstr "Vlastnosti" - -#. 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 "Prechody procesu" - -#. module: process -#: field:process.transition,target_node_id:0 -msgid "Target Node" -msgstr "Cieľový uzol" - -#. module: process -#: field:process.node,kind:0 -msgid "Kind of Node" -msgstr "Druh uzla" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:42 -#, python-format -msgid "Subflows:" -msgstr "" - -#. module: process -#: view:process.node:0 -#: view:process.process:0 -msgid "Outgoing Transitions" -msgstr "Odchádzajúce prechody" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:36 -#, python-format -msgid "Notes:" -msgstr "" - -#. module: process -#: selection:process.node,kind:0 -#: field:process.node,subflow_id:0 -msgid "Subflow" -msgstr "Vnorený tok" - -#. module: process -#: view:process.node:0 -#: view:process.process:0 -msgid "Transitions" -msgstr "Prechody" - -#. module: process -#: selection:process.transition.action,state:0 -msgid "Object Method" -msgstr "Metóda objektu" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:77 -#, python-format -msgid "Select" -msgstr "" - -#~ msgid "State" -#~ msgstr "Stav" diff --git a/addons/process/i18n/sl.po b/addons/process/i18n/sl.po deleted file mode 100644 index 0307771e53b..00000000000 --- a/addons/process/i18n/sl.po +++ /dev/null @@ -1,410 +0,0 @@ -# Translation of OpenERP Server. -# This file contains the translation of the following modules: -# * process -# -msgid "" -msgstr "" -"Project-Id-Version: OpenERP Server 6.0dev\n" -"Report-Msgid-Bugs-To: support@openerp.com\n" -"POT-Creation-Date: 2012-12-21 17:06+0000\n" -"PO-Revision-Date: 2010-08-03 08:49+0000\n" -"Last-Translator: Mantavya Gajjar (Open ERP) \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-03-16 05:10+0000\n" -"X-Generator: Launchpad (build 16532)\n" - -#. module: process -#: model:ir.model,name:process.model_process_node -#: view:process.node:0 -#: view:process.process:0 -msgid "Process Node" -msgstr "Vozlišče procesa" - -#. 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 "Tu lahko skrijete proces." - -#. module: process -#: field:process.node,menu_id:0 -msgid "Related Menu" -msgstr "Povezani meni" - -#. module: process -#: selection:process.node,kind:0 -msgid "Status" -msgstr "Status" - -#. module: process -#: field:process.transition,action_ids:0 -msgid "Buttons" -msgstr "Gumbi" - -#. module: process -#: view:process.node:0 -#: view:process.process:0 -msgid "Group By..." -msgstr "Združi po ..." - -#. module: process -#: view:process.node:0 -msgid "Kind Of Node" -msgstr "Vrsta vozlišča" - -#. module: process -#: field:process.node,help_url:0 -msgid "Help URL" -msgstr "URL pomoči" - -#. module: process -#: field:process.node,flow_start:0 -msgid "Starting Flow" -msgstr "Začetni tok" - -#. 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 "Vozlišča procesa" - -#. module: process -#: view:process.process:0 -#: field:process.process,node_ids:0 -msgid "Nodes" -msgstr "Vozlišča" - -#. module: process -#: field:process.node,condition_ids:0 -#: view:process.process:0 -msgid "Conditions" -msgstr "Pogoji" - -#. module: process -#: view:process.transition:0 -msgid "Search Process Transition" -msgstr "Iskanje prehodov procesa." - -#. module: process -#: field:process.condition,node_id:0 -msgid "Node" -msgstr "Vozlišče" - -#. module: process -#: selection:process.transition.action,state:0 -msgid "Workflow Trigger" -msgstr "Prožilec delovnega toka" - -#. module: process -#: field:process.transition,note:0 -msgid "Description" -msgstr "Opis" - -#. module: process -#: model:ir.model,name:process.model_process_transition_action -msgid "Process Transitions Actions" -msgstr "Dejanja prehodov procesa" - -#. 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 "Predmet" - -#. module: process -#: field:process.transition,source_node_id:0 -msgid "Source Node" -msgstr "Izvorno vozlišče" - -#. module: process -#: view:process.transition:0 -#: field:process.transition,transition_ids:0 -msgid "Workflow Transitions" -msgstr "Prehodi delovnega toka" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:39 -#, python-format -msgid "Last modified by:" -msgstr "Zadnja sprememba:" - -#. module: process -#: field:process.transition.action,action:0 -msgid "Action ID" -msgstr "Oznaka dejanja" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:7 -#, python-format -msgid "Process View" -msgstr "Pogled procesa" - -#. module: process -#: model:ir.model,name:process.model_process_transition -#: view:process.transition:0 -msgid "Process Transition" -msgstr "Prehod procesa" - -#. module: process -#: model:ir.model,name:process.model_process_condition -msgid "Condition" -msgstr "Pogoj" - -#. module: process -#: selection:process.transition.action,state:0 -msgid "Dummy" -msgstr "Začasno" - -#. module: process -#: model:ir.actions.act_window,name:process.action_process_form -#: model:ir.ui.menu,name:process.menu_process_form -msgid "Processes" -msgstr "Procesi" - -#. module: process -#: field:process.transition.action,transition_id:0 -msgid "Transition" -msgstr "Prehod" - -#. 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 "Ime" - -#. module: process -#: field:process.node,transition_in:0 -msgid "Starting Transitions" -msgstr "Začetna stanja" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:54 -#, python-format -msgid "Related:" -msgstr "V zvezi:" - -#. 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 "Opombe" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:88 -#, python-format -msgid "Edit Process" -msgstr "Urejanje procesa" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:39 -#, python-format -msgid "N/A" -msgstr "N/A" - -#. module: process -#: view:process.process:0 -msgid "Search Process" -msgstr "Iskanje procesa" - -#. module: process -#: field:process.process,active:0 -msgid "Active" -msgstr "Aktivno" - -#. module: process -#: view:process.transition:0 -msgid "Associated Groups" -msgstr "Povezane skupine" - -#. module: process -#: field:process.node,model_states:0 -msgid "States Expression" -msgstr "Izraz stanj" - -#. module: process -#: selection:process.transition.action,state:0 -msgid "Action" -msgstr "Dejanje" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:67 -#, python-format -msgid "Select Process" -msgstr "Izberi postopek" - -#. module: process -#: field:process.condition,model_states:0 -msgid "Expression" -msgstr "Izraz" - -#. module: process -#: field:process.transition,group_ids:0 -msgid "Required Groups" -msgstr "Obvezne skupine" - -#. module: process -#: view:process.node:0 -#: view:process.process:0 -msgid "Incoming Transitions" -msgstr "Prihajajočite transakcije" - -#. module: process -#: field:process.transition.action,state:0 -msgid "Type" -msgstr "Tip" - -#. module: process -#: field:process.node,transition_out:0 -msgid "Ending Transitions" -msgstr "Končna stanja" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/js/process.js:243 -#: code:addons/process/static/src/xml/process.xml:33 -#: model:ir.model,name:process.model_process_process -#: field:process.node,process_id:0 -#: view:process.process:0 -#, python-format -msgid "Process" -msgstr "Procesiraj" - -#. module: process -#: view:process.node:0 -msgid "Search ProcessNode" -msgstr "Iskanje vozlišča procesa" - -#. module: process -#: view:process.node:0 -#: view:process.process:0 -msgid "Other Conditions" -msgstr "Drugi pogoji" - -#. module: process -#: model:ir.ui.menu,name:process.menu_process -msgid "Enterprise Process" -msgstr "Proces podjetja" - -#. module: process -#: view:process.transition:0 -msgid "Actions" -msgstr "Dejanja" - -#. module: process -#: view:process.node:0 -#: view:process.process:0 -msgid "Properties" -msgstr "Lastnosti" - -#. 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 "Prehodi procesov" - -#. module: process -#: field:process.transition,target_node_id:0 -msgid "Target Node" -msgstr "Ciljno vozlišče" - -#. module: process -#: field:process.node,kind:0 -msgid "Kind of Node" -msgstr "Vrsta vozlišča" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:42 -#, python-format -msgid "Subflows:" -msgstr "Pod-procesi" - -#. module: process -#: view:process.node:0 -#: view:process.process:0 -msgid "Outgoing Transitions" -msgstr "Izhodni prehodi" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:36 -#, python-format -msgid "Notes:" -msgstr "Zapiski:" - -#. module: process -#: selection:process.node,kind:0 -#: field:process.node,subflow_id:0 -msgid "Subflow" -msgstr "Delni tok" - -#. module: process -#: view:process.node:0 -#: view:process.process:0 -msgid "Transitions" -msgstr "Prehodi" - -#. module: process -#: selection:process.transition.action,state:0 -msgid "Object Method" -msgstr "Metode predmeta" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:77 -#, python-format -msgid "Select" -msgstr "Izberi" - -#~ msgid "" -#~ "The Object name must start with x_ and not contain any special character !" -#~ msgstr "" -#~ "Naziv objekta se mora začeti z 'x_' in ne sme vsebovati posebnih znakov." - -#~ msgid "Invalid XML for View Architecture!" -#~ msgstr "Neveljaven XML za arhitekturo pogleda." - -#~ msgid "Roles from Workflow" -#~ msgstr "Vloge iz delovnega toka" - -#~ msgid "State" -#~ msgstr "Stanje" - -#~ msgid "Details" -#~ msgstr "Podrobnosti" - -#~ msgid "Roles" -#~ msgstr "Vloge" - -#~ msgid "Extra Information" -#~ msgstr "Dodatne informacije" - -#~ msgid "Invalid model name in the action definition." -#~ msgstr "Napačno ime modela v definiciji dejanja." - -#~ msgid "Roles Required" -#~ msgstr "Zahtevane vloge" - -#~ msgid "Enterprise Processes" -#~ msgstr "Procesi podjetja" diff --git a/addons/process/i18n/sq.po b/addons/process/i18n/sq.po deleted file mode 100644 index 495889b2439..00000000000 --- a/addons/process/i18n/sq.po +++ /dev/null @@ -1,379 +0,0 @@ -# Albanian translation for openobject-addons -# Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010 -# This file is distributed under the same license as the openobject-addons package. -# FIRST AUTHOR , 2010. -# -msgid "" -msgstr "" -"Project-Id-Version: openobject-addons\n" -"Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-12-21 17:06+0000\n" -"PO-Revision-Date: 2010-08-02 15:04+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Albanian \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:10+0000\n" -"X-Generator: Launchpad (build 16532)\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 "" - -#. module: process -#: field:process.node,menu_id:0 -msgid "Related Menu" -msgstr "" - -#. module: process -#: selection:process.node,kind:0 -msgid "Status" -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 -#: view:process.node:0 -msgid "Kind Of Node" -msgstr "" - -#. module: process -#: field:process.node,help_url:0 -msgid "Help URL" -msgstr "" - -#. module: process -#: field:process.node,flow_start:0 -msgid "Starting Flow" -msgstr "" - -#. 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 -#: 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 -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:39 -#, python-format -msgid "Last modified by:" -msgstr "" - -#. module: process -#: field:process.transition.action,action:0 -msgid "Action ID" -msgstr "" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:7 -#, python-format -msgid "Process View" -msgstr "" - -#. 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.transition.action,transition_id:0 -msgid "Transition" -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 -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:54 -#, python-format -msgid "Related:" -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 -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:88 -#, python-format -msgid "Edit Process" -msgstr "" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:39 -#, python-format -msgid "N/A" -msgstr "" - -#. module: process -#: view:process.process:0 -msgid "Search Process" -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 -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:67 -#, python-format -msgid "Select Process" -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 -#. openerp-web -#: code:addons/process/static/src/js/process.js:243 -#: code:addons/process/static/src/xml/process.xml:33 -#: model:ir.model,name:process.model_process_process -#: field:process.node,process_id:0 -#: view:process.process:0 -#, python-format -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 -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:42 -#, python-format -msgid "Subflows:" -msgstr "" - -#. module: process -#: view:process.node:0 -#: view:process.process:0 -msgid "Outgoing Transitions" -msgstr "" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:36 -#, python-format -msgid "Notes:" -msgstr "" - -#. module: process -#: selection:process.node,kind:0 -#: field:process.node,subflow_id:0 -msgid "Subflow" -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 "" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:77 -#, python-format -msgid "Select" -msgstr "" diff --git a/addons/process/i18n/sr.po b/addons/process/i18n/sr.po deleted file mode 100644 index c122d698c87..00000000000 --- a/addons/process/i18n/sr.po +++ /dev/null @@ -1,411 +0,0 @@ -# Serbian translation for openobject-addons -# Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010 -# This file is distributed under the same license as the openobject-addons package. -# FIRST AUTHOR , 2010. -# -msgid "" -msgstr "" -"Project-Id-Version: openobject-addons\n" -"Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-12-21 17:06+0000\n" -"PO-Revision-Date: 2010-11-04 08:42+0000\n" -"Last-Translator: OpenERP Administrators \n" -"Language-Team: Serbian \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:10+0000\n" -"X-Generator: Launchpad (build 16532)\n" - -#. module: process -#: model:ir.model,name:process.model_process_node -#: view:process.node:0 -#: view:process.process:0 -msgid "Process Node" -msgstr "Procesni čvor" - -#. 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 "" - -#. module: process -#: field:process.node,menu_id:0 -msgid "Related Menu" -msgstr "Referentni Meni" - -#. module: process -#: selection:process.node,kind:0 -msgid "Status" -msgstr "" - -#. module: process -#: field:process.transition,action_ids:0 -msgid "Buttons" -msgstr "Dugmad" - -#. module: process -#: view:process.node:0 -#: view:process.process:0 -msgid "Group By..." -msgstr "Grupisano po..." - -#. module: process -#: view:process.node:0 -msgid "Kind Of Node" -msgstr "Vrsta Cvora" - -#. module: process -#: field:process.node,help_url:0 -msgid "Help URL" -msgstr "URL za Pomoc" - -#. module: process -#: field:process.node,flow_start:0 -msgid "Starting Flow" -msgstr "Startni tok" - -#. 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 "Procesna čvorišta" - -#. module: process -#: view:process.process:0 -#: field:process.process,node_ids:0 -msgid "Nodes" -msgstr "Čvorišta" - -#. module: process -#: field:process.node,condition_ids:0 -#: view:process.process:0 -msgid "Conditions" -msgstr "Uslovi" - -#. module: process -#: view:process.transition:0 -msgid "Search Process Transition" -msgstr "Pretrazi Proces Tranzicije" - -#. module: process -#: field:process.condition,node_id:0 -msgid "Node" -msgstr "Čvorište" - -#. module: process -#: selection:process.transition.action,state:0 -msgid "Workflow Trigger" -msgstr "Okidač TokaPosla" - -#. module: process -#: field:process.transition,note:0 -msgid "Description" -msgstr "Opis" - -#. module: process -#: model:ir.model,name:process.model_process_transition_action -msgid "Process Transitions Actions" -msgstr "Akcije Procesa Tranzicije" - -#. 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 "objekat" - -#. module: process -#: field:process.transition,source_node_id:0 -msgid "Source Node" -msgstr "pocetno Čvorište" - -#. module: process -#: view:process.transition:0 -#: field:process.transition,transition_ids:0 -msgid "Workflow Transitions" -msgstr "TRanzicije TokaPosla" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:39 -#, python-format -msgid "Last modified by:" -msgstr "" - -#. module: process -#: field:process.transition.action,action:0 -msgid "Action ID" -msgstr "Sifra Akcije" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:7 -#, python-format -msgid "Process View" -msgstr "" - -#. module: process -#: model:ir.model,name:process.model_process_transition -#: view:process.transition:0 -msgid "Process Transition" -msgstr "Prelazni Proces" - -#. module: process -#: model:ir.model,name:process.model_process_condition -msgid "Condition" -msgstr "uslov" - -#. module: process -#: selection:process.transition.action,state:0 -msgid "Dummy" -msgstr "Lažni" - -#. module: process -#: model:ir.actions.act_window,name:process.action_process_form -#: model:ir.ui.menu,name:process.menu_process_form -msgid "Processes" -msgstr "Proces" - -#. module: process -#: field:process.transition.action,transition_id:0 -msgid "Transition" -msgstr "Prelaz" - -#. 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 "Ime" - -#. module: process -#: field:process.node,transition_in:0 -msgid "Starting Transitions" -msgstr "Startni Prelazi" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:54 -#, python-format -msgid "Related:" -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 "Napomene" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:88 -#, python-format -msgid "Edit Process" -msgstr "" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:39 -#, python-format -msgid "N/A" -msgstr "" - -#. module: process -#: view:process.process:0 -msgid "Search Process" -msgstr "Pretrazi proces" - -#. module: process -#: field:process.process,active:0 -msgid "Active" -msgstr "Aktivan" - -#. module: process -#: view:process.transition:0 -msgid "Associated Groups" -msgstr "Asocirane Grupe" - -#. module: process -#: field:process.node,model_states:0 -msgid "States Expression" -msgstr "Izraz Stanja" - -#. module: process -#: selection:process.transition.action,state:0 -msgid "Action" -msgstr "Радња" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:67 -#, python-format -msgid "Select Process" -msgstr "" - -#. module: process -#: field:process.condition,model_states:0 -msgid "Expression" -msgstr "Izraz" - -#. module: process -#: field:process.transition,group_ids:0 -msgid "Required Groups" -msgstr "Potrebne Grupe" - -#. module: process -#: view:process.node:0 -#: view:process.process:0 -msgid "Incoming Transitions" -msgstr "Dolazece Tranzicije" - -#. module: process -#: field:process.transition.action,state:0 -msgid "Type" -msgstr "Tip" - -#. module: process -#: field:process.node,transition_out:0 -msgid "Ending Transitions" -msgstr "Zavrsni Prelazi" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/js/process.js:243 -#: code:addons/process/static/src/xml/process.xml:33 -#: model:ir.model,name:process.model_process_process -#: field:process.node,process_id:0 -#: view:process.process:0 -#, python-format -msgid "Process" -msgstr "Proces" - -#. module: process -#: view:process.node:0 -msgid "Search ProcessNode" -msgstr "Pretrazi Procesni Cvor" - -#. module: process -#: view:process.node:0 -#: view:process.process:0 -msgid "Other Conditions" -msgstr "Ostali Uslovi" - -#. module: process -#: model:ir.ui.menu,name:process.menu_process -msgid "Enterprise Process" -msgstr "Proces preduzeca" - -#. module: process -#: view:process.transition:0 -msgid "Actions" -msgstr "Radnje" - -#. module: process -#: view:process.node:0 -#: view:process.process:0 -msgid "Properties" -msgstr "Osobine" - -#. 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 "Prelazni Proces" - -#. module: process -#: field:process.transition,target_node_id:0 -msgid "Target Node" -msgstr "Ciljno čvorište" - -#. module: process -#: field:process.node,kind:0 -msgid "Kind of Node" -msgstr "Vrsta čvorišta" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:42 -#, python-format -msgid "Subflows:" -msgstr "" - -#. module: process -#: view:process.node:0 -#: view:process.process:0 -msgid "Outgoing Transitions" -msgstr "Odlazni prelazi" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:36 -#, python-format -msgid "Notes:" -msgstr "" - -#. module: process -#: selection:process.node,kind:0 -#: field:process.node,subflow_id:0 -msgid "Subflow" -msgstr "Podtok" - -#. module: process -#: view:process.node:0 -#: view:process.process:0 -msgid "Transitions" -msgstr "Prelazi" - -#. module: process -#: selection:process.transition.action,state:0 -msgid "Object Method" -msgstr "Metoda Objekta" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:77 -#, python-format -msgid "Select" -msgstr "" - -#~ msgid "Roles from Workflow" -#~ msgstr "Uloge iz TokaPosla" - -#~ msgid "Invalid model name in the action definition." -#~ msgstr "Pogrešno ime modela u definiciji akcije." - -#~ msgid "State" -#~ msgstr "Stanje" - -#~ msgid "" -#~ "The Object name must start with x_ and not contain any special character !" -#~ msgstr "" -#~ "Ime objekta mora da počinje sa x_ i ne sme da sadrži specijalne karaktere !" - -#~ msgid "Details" -#~ msgstr "Detalji" - -#~ msgid "Roles Required" -#~ msgstr "Neophodne Uloge" - -#~ msgid "Roles" -#~ msgstr "Uloge" - -#~ msgid "Invalid XML for View Architecture!" -#~ msgstr "Nevažeći XML za pregled arhitekture" - -#~ msgid "Extra Information" -#~ msgstr "Dodatne INformacije" - -#~ msgid "Enterprise Processes" -#~ msgstr "Preocesi Preduzeca" diff --git a/addons/process/i18n/sr@latin.po b/addons/process/i18n/sr@latin.po deleted file mode 100644 index 35c7424ed56..00000000000 --- a/addons/process/i18n/sr@latin.po +++ /dev/null @@ -1,411 +0,0 @@ -# Serbian latin translation for openobject-addons -# Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010 -# This file is distributed under the same license as the openobject-addons package. -# FIRST AUTHOR , 2010. -# -msgid "" -msgstr "" -"Project-Id-Version: openobject-addons\n" -"Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-12-21 17:06+0000\n" -"PO-Revision-Date: 2010-12-23 15:38+0000\n" -"Last-Translator: Olivier Dony (OpenERP) \n" -"Language-Team: Serbian latin \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:10+0000\n" -"X-Generator: Launchpad (build 16532)\n" - -#. module: process -#: model:ir.model,name:process.model_process_node -#: view:process.node:0 -#: view:process.process:0 -msgid "Process Node" -msgstr "Procesni čvor" - -#. 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 "" - -#. module: process -#: field:process.node,menu_id:0 -msgid "Related Menu" -msgstr "Referentni Meni" - -#. module: process -#: selection:process.node,kind:0 -msgid "Status" -msgstr "" - -#. module: process -#: field:process.transition,action_ids:0 -msgid "Buttons" -msgstr "Dugmad" - -#. module: process -#: view:process.node:0 -#: view:process.process:0 -msgid "Group By..." -msgstr "Grupisano po..." - -#. module: process -#: view:process.node:0 -msgid "Kind Of Node" -msgstr "Vrsta Cvora" - -#. module: process -#: field:process.node,help_url:0 -msgid "Help URL" -msgstr "URL za Pomoc" - -#. module: process -#: field:process.node,flow_start:0 -msgid "Starting Flow" -msgstr "Startni tok" - -#. 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 "Procesna čvorišta" - -#. module: process -#: view:process.process:0 -#: field:process.process,node_ids:0 -msgid "Nodes" -msgstr "Čvorišta" - -#. module: process -#: field:process.node,condition_ids:0 -#: view:process.process:0 -msgid "Conditions" -msgstr "Uslovi" - -#. module: process -#: view:process.transition:0 -msgid "Search Process Transition" -msgstr "Pretrazi Proces Tranzicije" - -#. module: process -#: field:process.condition,node_id:0 -msgid "Node" -msgstr "Čvorište" - -#. module: process -#: selection:process.transition.action,state:0 -msgid "Workflow Trigger" -msgstr "Okidač TokaPosla" - -#. module: process -#: field:process.transition,note:0 -msgid "Description" -msgstr "Opis" - -#. module: process -#: model:ir.model,name:process.model_process_transition_action -msgid "Process Transitions Actions" -msgstr "Akcije Procesa Tranzicije" - -#. 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 "objekat" - -#. module: process -#: field:process.transition,source_node_id:0 -msgid "Source Node" -msgstr "pocetno Čvorište" - -#. module: process -#: view:process.transition:0 -#: field:process.transition,transition_ids:0 -msgid "Workflow Transitions" -msgstr "TRanzicije TokaPosla" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:39 -#, python-format -msgid "Last modified by:" -msgstr "" - -#. module: process -#: field:process.transition.action,action:0 -msgid "Action ID" -msgstr "Sifra Akcije" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:7 -#, python-format -msgid "Process View" -msgstr "" - -#. module: process -#: model:ir.model,name:process.model_process_transition -#: view:process.transition:0 -msgid "Process Transition" -msgstr "Prelazni Proces" - -#. module: process -#: model:ir.model,name:process.model_process_condition -msgid "Condition" -msgstr "uslov" - -#. module: process -#: selection:process.transition.action,state:0 -msgid "Dummy" -msgstr "Lažni" - -#. module: process -#: model:ir.actions.act_window,name:process.action_process_form -#: model:ir.ui.menu,name:process.menu_process_form -msgid "Processes" -msgstr "Proces" - -#. module: process -#: field:process.transition.action,transition_id:0 -msgid "Transition" -msgstr "Prelaz" - -#. 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 "Ime" - -#. module: process -#: field:process.node,transition_in:0 -msgid "Starting Transitions" -msgstr "Startni Prelazi" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:54 -#, python-format -msgid "Related:" -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 "Napomene" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:88 -#, python-format -msgid "Edit Process" -msgstr "" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:39 -#, python-format -msgid "N/A" -msgstr "" - -#. module: process -#: view:process.process:0 -msgid "Search Process" -msgstr "Pretrazi proces" - -#. module: process -#: field:process.process,active:0 -msgid "Active" -msgstr "Aktivan" - -#. module: process -#: view:process.transition:0 -msgid "Associated Groups" -msgstr "Asocirane Grupe" - -#. module: process -#: field:process.node,model_states:0 -msgid "States Expression" -msgstr "Izraz Stanja" - -#. module: process -#: selection:process.transition.action,state:0 -msgid "Action" -msgstr "Радња" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:67 -#, python-format -msgid "Select Process" -msgstr "" - -#. module: process -#: field:process.condition,model_states:0 -msgid "Expression" -msgstr "Izraz" - -#. module: process -#: field:process.transition,group_ids:0 -msgid "Required Groups" -msgstr "Potrebne Grupe" - -#. module: process -#: view:process.node:0 -#: view:process.process:0 -msgid "Incoming Transitions" -msgstr "Dolazece Tranzicije" - -#. module: process -#: field:process.transition.action,state:0 -msgid "Type" -msgstr "Tip" - -#. module: process -#: field:process.node,transition_out:0 -msgid "Ending Transitions" -msgstr "Zavrsni Prelazi" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/js/process.js:243 -#: code:addons/process/static/src/xml/process.xml:33 -#: model:ir.model,name:process.model_process_process -#: field:process.node,process_id:0 -#: view:process.process:0 -#, python-format -msgid "Process" -msgstr "Proces" - -#. module: process -#: view:process.node:0 -msgid "Search ProcessNode" -msgstr "Pretrazi Procesni Cvor" - -#. module: process -#: view:process.node:0 -#: view:process.process:0 -msgid "Other Conditions" -msgstr "Ostali Uslovi" - -#. module: process -#: model:ir.ui.menu,name:process.menu_process -msgid "Enterprise Process" -msgstr "Proces preduzeca" - -#. module: process -#: view:process.transition:0 -msgid "Actions" -msgstr "Radnje" - -#. module: process -#: view:process.node:0 -#: view:process.process:0 -msgid "Properties" -msgstr "Osobine" - -#. 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 "Prelazni Proces" - -#. module: process -#: field:process.transition,target_node_id:0 -msgid "Target Node" -msgstr "Ciljno čvorište" - -#. module: process -#: field:process.node,kind:0 -msgid "Kind of Node" -msgstr "Vrsta čvorišta" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:42 -#, python-format -msgid "Subflows:" -msgstr "" - -#. module: process -#: view:process.node:0 -#: view:process.process:0 -msgid "Outgoing Transitions" -msgstr "Odlazni prelazi" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:36 -#, python-format -msgid "Notes:" -msgstr "" - -#. module: process -#: selection:process.node,kind:0 -#: field:process.node,subflow_id:0 -msgid "Subflow" -msgstr "Podtok" - -#. module: process -#: view:process.node:0 -#: view:process.process:0 -msgid "Transitions" -msgstr "Prelazi" - -#. module: process -#: selection:process.transition.action,state:0 -msgid "Object Method" -msgstr "Metoda Objekta" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:77 -#, python-format -msgid "Select" -msgstr "" - -#~ msgid "" -#~ "The Object name must start with x_ and not contain any special character !" -#~ msgstr "" -#~ "Ime objekta mora da počinje sa x_ i ne sme da sadrži specijalne karaktere !" - -#~ msgid "Invalid model name in the action definition." -#~ msgstr "Pogrešno ime modela u definiciji akcije." - -#~ msgid "State" -#~ msgstr "Stanje" - -#~ msgid "Invalid XML for View Architecture!" -#~ msgstr "Nevažeći XML za pregled arhitekture" - -#~ msgid "Roles from Workflow" -#~ msgstr "Uloge iz TokaPosla" - -#~ msgid "Details" -#~ msgstr "Detalji" - -#~ msgid "Roles Required" -#~ msgstr "Neophodne Uloge" - -#~ msgid "Roles" -#~ msgstr "Uloge" - -#~ msgid "Extra Information" -#~ msgstr "Dodatne INformacije" - -#~ msgid "Enterprise Processes" -#~ msgstr "Preocesi Preduzeca" diff --git a/addons/process/i18n/sv.po b/addons/process/i18n/sv.po deleted file mode 100644 index bba8ff562aa..00000000000 --- a/addons/process/i18n/sv.po +++ /dev/null @@ -1,412 +0,0 @@ -# Translation of OpenERP Server. -# This file contains the translation of the following modules: -# * process -# -msgid "" -msgstr "" -"Project-Id-Version: OpenERP Server 5.0.14\n" -"Report-Msgid-Bugs-To: support@openerp.com\n" -"POT-Creation-Date: 2012-12-21 17:06+0000\n" -"PO-Revision-Date: 2010-11-22 20:09+0000\n" -"Last-Translator: Olivier Dony (OpenERP) \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-03-16 05:10+0000\n" -"X-Generator: Launchpad (build 16532)\n" - -#. module: process -#: model:ir.model,name:process.model_process_node -#: view:process.node:0 -#: view:process.process:0 -msgid "Process Node" -msgstr "Process Node" - -#. 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 "" -"Om det aktiva fältet är satt till falskt, kommer det att du kan dölja " -"processen utan att ta bort den." - -#. module: process -#: field:process.node,menu_id:0 -msgid "Related Menu" -msgstr "Related Menu" - -#. module: process -#: selection:process.node,kind:0 -msgid "Status" -msgstr "" - -#. module: process -#: field:process.transition,action_ids:0 -msgid "Buttons" -msgstr "Buttons" - -#. module: process -#: view:process.node:0 -#: view:process.process:0 -msgid "Group By..." -msgstr "Gruppera på..." - -#. module: process -#: view:process.node:0 -msgid "Kind Of Node" -msgstr "En slags nod" - -#. module: process -#: field:process.node,help_url:0 -msgid "Help URL" -msgstr "Help URL" - -#. module: process -#: field:process.node,flow_start:0 -msgid "Starting Flow" -msgstr "Starting Flow" - -#. 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 "Process Nodes" - -#. module: process -#: view:process.process:0 -#: field:process.process,node_ids:0 -msgid "Nodes" -msgstr "Nodes" - -#. module: process -#: field:process.node,condition_ids:0 -#: view:process.process:0 -msgid "Conditions" -msgstr "Conditions" - -#. module: process -#: view:process.transition:0 -msgid "Search Process Transition" -msgstr "Sök processövergångar" - -#. module: process -#: field:process.condition,node_id:0 -msgid "Node" -msgstr "Node" - -#. module: process -#: selection:process.transition.action,state:0 -msgid "Workflow Trigger" -msgstr "Workflow Trigger" - -#. module: process -#: field:process.transition,note:0 -msgid "Description" -msgstr "Description" - -#. module: process -#: model:ir.model,name:process.model_process_transition_action -msgid "Process Transitions Actions" -msgstr "Process Transitions Actions" - -#. 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 "Object" - -#. module: process -#: field:process.transition,source_node_id:0 -msgid "Source Node" -msgstr "Source Node" - -#. module: process -#: view:process.transition:0 -#: field:process.transition,transition_ids:0 -msgid "Workflow Transitions" -msgstr "Workflow Transitions" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:39 -#, python-format -msgid "Last modified by:" -msgstr "" - -#. module: process -#: field:process.transition.action,action:0 -msgid "Action ID" -msgstr "Action ID" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:7 -#, python-format -msgid "Process View" -msgstr "" - -#. module: process -#: model:ir.model,name:process.model_process_transition -#: view:process.transition:0 -msgid "Process Transition" -msgstr "Process Transition" - -#. module: process -#: model:ir.model,name:process.model_process_condition -msgid "Condition" -msgstr "Condition" - -#. module: process -#: selection:process.transition.action,state:0 -msgid "Dummy" -msgstr "Dummy" - -#. module: process -#: model:ir.actions.act_window,name:process.action_process_form -#: model:ir.ui.menu,name:process.menu_process_form -msgid "Processes" -msgstr "Processer" - -#. module: process -#: field:process.transition.action,transition_id:0 -msgid "Transition" -msgstr "Transition" - -#. 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 "Name" - -#. module: process -#: field:process.node,transition_in:0 -msgid "Starting Transitions" -msgstr "Starting Transitions" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:54 -#, python-format -msgid "Related:" -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 "Notes" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:88 -#, python-format -msgid "Edit Process" -msgstr "" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:39 -#, python-format -msgid "N/A" -msgstr "" - -#. module: process -#: view:process.process:0 -msgid "Search Process" -msgstr "Sök process" - -#. module: process -#: field:process.process,active:0 -msgid "Active" -msgstr "Active" - -#. module: process -#: view:process.transition:0 -msgid "Associated Groups" -msgstr "Tillhörande grupper" - -#. module: process -#: field:process.node,model_states:0 -msgid "States Expression" -msgstr "States Expression" - -#. module: process -#: selection:process.transition.action,state:0 -msgid "Action" -msgstr "Action" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:67 -#, python-format -msgid "Select Process" -msgstr "" - -#. module: process -#: field:process.condition,model_states:0 -msgid "Expression" -msgstr "Expression" - -#. module: process -#: field:process.transition,group_ids:0 -msgid "Required Groups" -msgstr "Obligatoriska grupper" - -#. module: process -#: view:process.node:0 -#: view:process.process:0 -msgid "Incoming Transitions" -msgstr "Inkommande övergångar" - -#. module: process -#: field:process.transition.action,state:0 -msgid "Type" -msgstr "Type" - -#. module: process -#: field:process.node,transition_out:0 -msgid "Ending Transitions" -msgstr "Ending Transitions" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/js/process.js:243 -#: code:addons/process/static/src/xml/process.xml:33 -#: model:ir.model,name:process.model_process_process -#: field:process.node,process_id:0 -#: view:process.process:0 -#, python-format -msgid "Process" -msgstr "Process" - -#. module: process -#: view:process.node:0 -msgid "Search ProcessNode" -msgstr "Sök processnod" - -#. module: process -#: view:process.node:0 -#: view:process.process:0 -msgid "Other Conditions" -msgstr "Andra villkor" - -#. module: process -#: model:ir.ui.menu,name:process.menu_process -msgid "Enterprise Process" -msgstr "Enterprise Process" - -#. module: process -#: view:process.transition:0 -msgid "Actions" -msgstr "Actions" - -#. module: process -#: view:process.node:0 -#: view:process.process:0 -msgid "Properties" -msgstr "Attribut" - -#. 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 "Process Transitions" - -#. module: process -#: field:process.transition,target_node_id:0 -msgid "Target Node" -msgstr "Target Node" - -#. module: process -#: field:process.node,kind:0 -msgid "Kind of Node" -msgstr "Kind of Node" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:42 -#, python-format -msgid "Subflows:" -msgstr "" - -#. module: process -#: view:process.node:0 -#: view:process.process:0 -msgid "Outgoing Transitions" -msgstr "Outgoing Transitions" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:36 -#, python-format -msgid "Notes:" -msgstr "" - -#. module: process -#: selection:process.node,kind:0 -#: field:process.node,subflow_id:0 -msgid "Subflow" -msgstr "Subflow" - -#. module: process -#: view:process.node:0 -#: view:process.process:0 -msgid "Transitions" -msgstr "Transitions" - -#. module: process -#: selection:process.transition.action,state:0 -msgid "Object Method" -msgstr "Object Method" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:77 -#, python-format -msgid "Select" -msgstr "" - -#~ msgid "" -#~ "The Object name must start with x_ and not contain any special character !" -#~ msgstr "" -#~ "Objektnamnet måste börja med x_ och får inte innehålla några specialtecken!" - -#~ msgid "Invalid model name in the action definition." -#~ msgstr "Invalid model name in the action definition." - -#~ msgid "Roles from Workflow" -#~ msgstr "Roles from Workflow" - -#~ msgid "State" -#~ msgstr "State" - -#~ msgid "Details" -#~ msgstr "Details" - -#~ msgid "Invalid XML for View Architecture!" -#~ msgstr "Invalid XML for View Architecture!" - -#~ msgid "Roles" -#~ msgstr "Roles" - -#~ msgid "Roles Required" -#~ msgstr "Roles Required" - -#~ msgid "Extra Information" -#~ msgstr "Extra Information" - -#~ msgid "Enterprise Processes" -#~ msgstr "Enterprise Processes" diff --git a/addons/process/i18n/tlh.po b/addons/process/i18n/tlh.po deleted file mode 100644 index dcd3f3909d7..00000000000 --- a/addons/process/i18n/tlh.po +++ /dev/null @@ -1,378 +0,0 @@ -# Translation of OpenERP Server. -# This file contains the translation of the following modules: -# * process -# -msgid "" -msgstr "" -"Project-Id-Version: OpenERP Server 6.0dev\n" -"Report-Msgid-Bugs-To: support@openerp.com\n" -"POT-Creation-Date: 2012-12-21 17:06+0000\n" -"PO-Revision-Date: 2009-02-04 11:56+0000\n" -"Last-Translator: <>\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-03-16 05:10+0000\n" -"X-Generator: Launchpad (build 16532)\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 "" - -#. module: process -#: field:process.node,menu_id:0 -msgid "Related Menu" -msgstr "" - -#. module: process -#: selection:process.node,kind:0 -msgid "Status" -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 -#: view:process.node:0 -msgid "Kind Of Node" -msgstr "" - -#. module: process -#: field:process.node,help_url:0 -msgid "Help URL" -msgstr "" - -#. module: process -#: field:process.node,flow_start:0 -msgid "Starting Flow" -msgstr "" - -#. 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 -#: 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 -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:39 -#, python-format -msgid "Last modified by:" -msgstr "" - -#. module: process -#: field:process.transition.action,action:0 -msgid "Action ID" -msgstr "" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:7 -#, python-format -msgid "Process View" -msgstr "" - -#. 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.transition.action,transition_id:0 -msgid "Transition" -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 -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:54 -#, python-format -msgid "Related:" -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 -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:88 -#, python-format -msgid "Edit Process" -msgstr "" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:39 -#, python-format -msgid "N/A" -msgstr "" - -#. module: process -#: view:process.process:0 -msgid "Search Process" -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 -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:67 -#, python-format -msgid "Select Process" -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 -#. openerp-web -#: code:addons/process/static/src/js/process.js:243 -#: code:addons/process/static/src/xml/process.xml:33 -#: model:ir.model,name:process.model_process_process -#: field:process.node,process_id:0 -#: view:process.process:0 -#, python-format -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 -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:42 -#, python-format -msgid "Subflows:" -msgstr "" - -#. module: process -#: view:process.node:0 -#: view:process.process:0 -msgid "Outgoing Transitions" -msgstr "" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:36 -#, python-format -msgid "Notes:" -msgstr "" - -#. module: process -#: selection:process.node,kind:0 -#: field:process.node,subflow_id:0 -msgid "Subflow" -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 "" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:77 -#, python-format -msgid "Select" -msgstr "" diff --git a/addons/process/i18n/tr.po b/addons/process/i18n/tr.po deleted file mode 100644 index 2cc2de5b4ce..00000000000 --- a/addons/process/i18n/tr.po +++ /dev/null @@ -1,413 +0,0 @@ -# Translation of OpenERP Server. -# This file contains the translation of the following modules: -# * process -# -msgid "" -msgstr "" -"Project-Id-Version: OpenERP Server 6.0dev\n" -"Report-Msgid-Bugs-To: support@openerp.com\n" -"POT-Creation-Date: 2012-12-21 17:06+0000\n" -"PO-Revision-Date: 2010-09-09 07:21+0000\n" -"Last-Translator: Fabien (Open ERP) \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-03-16 05:10+0000\n" -"X-Generator: Launchpad (build 16532)\n" - -#. module: process -#: model:ir.model,name:process.model_process_node -#: view:process.node:0 -#: view:process.process:0 -msgid "Process Node" -msgstr "İşlem Düğümü" - -#. 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 "" -"Aktif alan Yanlış olarak ayarlanırsa, bu özellik işlemi kaldırmadan " -"gizlemenize olanak sağlayacaktır." - -#. module: process -#: field:process.node,menu_id:0 -msgid "Related Menu" -msgstr "İlgili Menü" - -#. module: process -#: selection:process.node,kind:0 -msgid "Status" -msgstr "Durum" - -#. module: process -#: field:process.transition,action_ids:0 -msgid "Buttons" -msgstr "Düğmeler" - -#. module: process -#: view:process.node:0 -#: view:process.process:0 -msgid "Group By..." -msgstr "Gruplandır..." - -#. module: process -#: view:process.node:0 -msgid "Kind Of Node" -msgstr "Düğüm Türü" - -#. module: process -#: field:process.node,help_url:0 -msgid "Help URL" -msgstr "Yardım URL si" - -#. module: process -#: field:process.node,flow_start:0 -msgid "Starting Flow" -msgstr "Akış Başlatma" - -#. 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 "İşlem Düğümleri" - -#. module: process -#: view:process.process:0 -#: field:process.process,node_ids:0 -msgid "Nodes" -msgstr "Düğümler" - -#. module: process -#: field:process.node,condition_ids:0 -#: view:process.process:0 -msgid "Conditions" -msgstr "Koşullar" - -#. module: process -#: view:process.transition:0 -msgid "Search Process Transition" -msgstr "İşlem Geçişi Arama" - -#. module: process -#: field:process.condition,node_id:0 -msgid "Node" -msgstr "Düğüm" - -#. module: process -#: selection:process.transition.action,state:0 -msgid "Workflow Trigger" -msgstr "İş Akışı Tetikleyici" - -#. module: process -#: field:process.transition,note:0 -msgid "Description" -msgstr "Açıklama" - -#. module: process -#: model:ir.model,name:process.model_process_transition_action -msgid "Process Transitions Actions" -msgstr "İşlem Geçişi Eylemleri" - -#. 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 "Nesne" - -#. module: process -#: field:process.transition,source_node_id:0 -msgid "Source Node" -msgstr "Kaynak Düğüm" - -#. module: process -#: view:process.transition:0 -#: field:process.transition,transition_ids:0 -msgid "Workflow Transitions" -msgstr "İş Akışı Geçişleri" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:39 -#, python-format -msgid "Last modified by:" -msgstr "Son değiştiren:" - -#. module: process -#: field:process.transition.action,action:0 -msgid "Action ID" -msgstr "Eylem ID" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:7 -#, python-format -msgid "Process View" -msgstr "İşlem Görünümü" - -#. module: process -#: model:ir.model,name:process.model_process_transition -#: view:process.transition:0 -msgid "Process Transition" -msgstr "İşlem Geçişi" - -#. module: process -#: model:ir.model,name:process.model_process_condition -msgid "Condition" -msgstr "Koşul" - -#. module: process -#: selection:process.transition.action,state:0 -msgid "Dummy" -msgstr "Sahte" - -#. module: process -#: model:ir.actions.act_window,name:process.action_process_form -#: model:ir.ui.menu,name:process.menu_process_form -msgid "Processes" -msgstr "İşlemler" - -#. module: process -#: field:process.transition.action,transition_id:0 -msgid "Transition" -msgstr "Geçiş" - -#. 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 "Adı" - -#. module: process -#: field:process.node,transition_in:0 -msgid "Starting Transitions" -msgstr "Geçişlerin Başlatılması" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:54 -#, python-format -msgid "Related:" -msgstr "İlgili:" - -#. 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 "Notlar" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:88 -#, python-format -msgid "Edit Process" -msgstr "İşlemi Düzenle" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:39 -#, python-format -msgid "N/A" -msgstr "Yok" - -#. module: process -#: view:process.process:0 -msgid "Search Process" -msgstr "İşlem Ara" - -#. module: process -#: field:process.process,active:0 -msgid "Active" -msgstr "Etkin" - -#. module: process -#: view:process.transition:0 -msgid "Associated Groups" -msgstr "İlişkili Gruplar" - -#. module: process -#: field:process.node,model_states:0 -msgid "States Expression" -msgstr "Durum Terimleri" - -#. module: process -#: selection:process.transition.action,state:0 -msgid "Action" -msgstr "Eylem" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:67 -#, python-format -msgid "Select Process" -msgstr "İşlem Seç" - -#. module: process -#: field:process.condition,model_states:0 -msgid "Expression" -msgstr "Terim" - -#. module: process -#: field:process.transition,group_ids:0 -msgid "Required Groups" -msgstr "Gerekli Gruplar" - -#. module: process -#: view:process.node:0 -#: view:process.process:0 -msgid "Incoming Transitions" -msgstr "Gelen Geçişler" - -#. module: process -#: field:process.transition.action,state:0 -msgid "Type" -msgstr "Tür" - -#. module: process -#: field:process.node,transition_out:0 -msgid "Ending Transitions" -msgstr "Sonlanan Geçişler" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/js/process.js:243 -#: code:addons/process/static/src/xml/process.xml:33 -#: model:ir.model,name:process.model_process_process -#: field:process.node,process_id:0 -#: view:process.process:0 -#, python-format -msgid "Process" -msgstr "İşlem" - -#. module: process -#: view:process.node:0 -msgid "Search ProcessNode" -msgstr "İşlem Düğümü Ara" - -#. module: process -#: view:process.node:0 -#: view:process.process:0 -msgid "Other Conditions" -msgstr "Diğer Koşullar" - -#. module: process -#: model:ir.ui.menu,name:process.menu_process -msgid "Enterprise Process" -msgstr "Kurumsal İşlem" - -#. module: process -#: view:process.transition:0 -msgid "Actions" -msgstr "Eylemler" - -#. module: process -#: view:process.node:0 -#: view:process.process:0 -msgid "Properties" -msgstr "Özellikler" - -#. 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 "İşlem Geçişleri" - -#. module: process -#: field:process.transition,target_node_id:0 -msgid "Target Node" -msgstr "Hedef Düğüm" - -#. module: process -#: field:process.node,kind:0 -msgid "Kind of Node" -msgstr "Düğüm Türü" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:42 -#, python-format -msgid "Subflows:" -msgstr "Alt akışlar" - -#. module: process -#: view:process.node:0 -#: view:process.process:0 -msgid "Outgoing Transitions" -msgstr "Giden Geçişler" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:36 -#, python-format -msgid "Notes:" -msgstr "Notlar:" - -#. module: process -#: selection:process.node,kind:0 -#: field:process.node,subflow_id:0 -msgid "Subflow" -msgstr "Alt akış" - -#. module: process -#: view:process.node:0 -#: view:process.process:0 -msgid "Transitions" -msgstr "Geçişler" - -#. module: process -#: selection:process.transition.action,state:0 -msgid "Object Method" -msgstr "İtiraz Yöntemi" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:77 -#, python-format -msgid "Select" -msgstr "Seç" - -#~ msgid "Invalid XML for View Architecture!" -#~ msgstr "Görüntüleme mimarisi için Geçersiz XML" - -#~ msgid "State" -#~ msgstr "Durum" - -#~ msgid "Roles" -#~ msgstr "Roller" - -#~ msgid "Extra Information" -#~ msgstr "Extra Bilgi" - -#~ msgid "" -#~ "\n" -#~ " This module shows the basic processes involved\n" -#~ " in the selected modules and in the sequence they\n" -#~ " occur\n" -#~ "\n" -#~ " Note: This applies to the modules containing modulename_process_xml\n" -#~ " for e.g product/process/product_process_xml\n" -#~ "\n" -#~ " " -#~ msgstr "" -#~ "\n" -#~ " Bu modül seçilen modüllerde ve meydana\n" -#~ " geldiği dizide kapsanan temel işlemleri\n" -#~ " gösterir\n" -#~ "\n" -#~ " Not: Bu, modulename_process_xml içeren modüller için geçerlidir\n" -#~ " örn. product/process/product_process_xml\n" -#~ "\n" -#~ " " diff --git a/addons/process/i18n/uk.po b/addons/process/i18n/uk.po deleted file mode 100644 index f6a31895e3f..00000000000 --- a/addons/process/i18n/uk.po +++ /dev/null @@ -1,386 +0,0 @@ -# Translation of OpenERP Server. -# This file contains the translation of the following modules: -# * process -# -msgid "" -msgstr "" -"Project-Id-Version: OpenERP Server 6.0dev\n" -"Report-Msgid-Bugs-To: support@openerp.com\n" -"POT-Creation-Date: 2012-12-21 17:06+0000\n" -"PO-Revision-Date: 2009-09-08 16:49+0000\n" -"Last-Translator: Eugene Babiy \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-03-16 05:10+0000\n" -"X-Generator: Launchpad (build 16532)\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 "" - -#. module: process -#: field:process.node,menu_id:0 -msgid "Related Menu" -msgstr "" - -#. module: process -#: selection:process.node,kind:0 -msgid "Status" -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 -#: view:process.node:0 -msgid "Kind Of Node" -msgstr "" - -#. module: process -#: field:process.node,help_url:0 -msgid "Help URL" -msgstr "" - -#. module: process -#: field:process.node,flow_start:0 -msgid "Starting Flow" -msgstr "" - -#. 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 -#: 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 -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:39 -#, python-format -msgid "Last modified by:" -msgstr "" - -#. module: process -#: field:process.transition.action,action:0 -msgid "Action ID" -msgstr "" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:7 -#, python-format -msgid "Process View" -msgstr "" - -#. 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.transition.action,transition_id:0 -msgid "Transition" -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 -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:54 -#, python-format -msgid "Related:" -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 -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:88 -#, python-format -msgid "Edit Process" -msgstr "" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:39 -#, python-format -msgid "N/A" -msgstr "" - -#. module: process -#: view:process.process:0 -msgid "Search Process" -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 -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:67 -#, python-format -msgid "Select Process" -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 -#. openerp-web -#: code:addons/process/static/src/js/process.js:243 -#: code:addons/process/static/src/xml/process.xml:33 -#: model:ir.model,name:process.model_process_process -#: field:process.node,process_id:0 -#: view:process.process:0 -#, python-format -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 -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:42 -#, python-format -msgid "Subflows:" -msgstr "" - -#. module: process -#: view:process.node:0 -#: view:process.process:0 -msgid "Outgoing Transitions" -msgstr "" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:36 -#, python-format -msgid "Notes:" -msgstr "" - -#. module: process -#: selection:process.node,kind:0 -#: field:process.node,subflow_id:0 -msgid "Subflow" -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 "" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:77 -#, python-format -msgid "Select" -msgstr "" - -#~ msgid "" -#~ "The Object name must start with x_ and not contain any special character !" -#~ msgstr "" -#~ "Назва об'єкту має починатися з x_ і не містити ніяких спеціальних символів!" - -#~ msgid "Invalid XML for View Architecture!" -#~ msgstr "Неправильний XML для Архітектури Вигляду!" diff --git a/addons/process/i18n/vi.po b/addons/process/i18n/vi.po deleted file mode 100644 index 43de5607dc2..00000000000 --- a/addons/process/i18n/vi.po +++ /dev/null @@ -1,379 +0,0 @@ -# Vietnamese translation for openobject-addons -# Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010 -# This file is distributed under the same license as the openobject-addons package. -# Phong Nguyen , 2010. -# -msgid "" -msgstr "" -"Project-Id-Version: openobject-addons\n" -"Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-12-21 17:06+0000\n" -"PO-Revision-Date: 2010-12-16 17:37+0000\n" -"Last-Translator: OpenERP Administrators \n" -"Language-Team: Vietnamese \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:10+0000\n" -"X-Generator: Launchpad (build 16532)\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 "" - -#. module: process -#: field:process.node,menu_id:0 -msgid "Related Menu" -msgstr "" - -#. module: process -#: selection:process.node,kind:0 -msgid "Status" -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 "Nhóm theo..." - -#. module: process -#: view:process.node:0 -msgid "Kind Of Node" -msgstr "" - -#. module: process -#: field:process.node,help_url:0 -msgid "Help URL" -msgstr "" - -#. module: process -#: field:process.node,flow_start:0 -msgid "Starting Flow" -msgstr "" - -#. 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 -#: 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 "Đối tượng" - -#. 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 -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:39 -#, python-format -msgid "Last modified by:" -msgstr "" - -#. module: process -#: field:process.transition.action,action:0 -msgid "Action ID" -msgstr "" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:7 -#, python-format -msgid "Process View" -msgstr "" - -#. 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.transition.action,transition_id:0 -msgid "Transition" -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 -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:54 -#, python-format -msgid "Related:" -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 -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:88 -#, python-format -msgid "Edit Process" -msgstr "" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:39 -#, python-format -msgid "N/A" -msgstr "" - -#. module: process -#: view:process.process:0 -msgid "Search Process" -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 -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:67 -#, python-format -msgid "Select Process" -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 -#. openerp-web -#: code:addons/process/static/src/js/process.js:243 -#: code:addons/process/static/src/xml/process.xml:33 -#: model:ir.model,name:process.model_process_process -#: field:process.node,process_id:0 -#: view:process.process:0 -#, python-format -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 -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:42 -#, python-format -msgid "Subflows:" -msgstr "" - -#. module: process -#: view:process.node:0 -#: view:process.process:0 -msgid "Outgoing Transitions" -msgstr "" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:36 -#, python-format -msgid "Notes:" -msgstr "" - -#. module: process -#: selection:process.node,kind:0 -#: field:process.node,subflow_id:0 -msgid "Subflow" -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 "" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:77 -#, python-format -msgid "Select" -msgstr "" diff --git a/addons/process/i18n/zh_CN.po b/addons/process/i18n/zh_CN.po deleted file mode 100644 index 059a9e67640..00000000000 --- a/addons/process/i18n/zh_CN.po +++ /dev/null @@ -1,428 +0,0 @@ -# Translation of OpenERP Server. -# This file contains the translation of the following modules: -# * process -# -msgid "" -msgstr "" -"Project-Id-Version: OpenERP Server 6.0dev\n" -"Report-Msgid-Bugs-To: support@openerp.com\n" -"POT-Creation-Date: 2012-12-21 17:06+0000\n" -"PO-Revision-Date: 2012-11-28 09:53+0000\n" -"Last-Translator: 盈通 ccdos \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-03-16 05:10+0000\n" -"X-Generator: Launchpad (build 16532)\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 -#: selection:process.node,kind:0 -msgid "Status" -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 -#: view:process.node:0 -msgid "Kind Of Node" -msgstr "节点类型" - -#. module: process -#: field:process.node,help_url:0 -msgid "Help URL" -msgstr "帮助URL" - -#. module: process -#: field:process.node,flow_start:0 -msgid "Starting Flow" -msgstr "启动流程" - -#. 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 -#: 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 -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:39 -#, python-format -msgid "Last modified by:" -msgstr "最后修改者:" - -#. module: process -#: field:process.transition.action,action:0 -msgid "Action ID" -msgstr "动作ID" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:7 -#, python-format -msgid "Process View" -msgstr "业务流程视图" - -#. 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.transition.action,transition_id:0 -msgid "Transition" -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 -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:54 -#, python-format -msgid "Related:" -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 -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:88 -#, python-format -msgid "Edit Process" -msgstr "编辑业务流程" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:39 -#, python-format -msgid "N/A" -msgstr "无" - -#. module: process -#: view:process.process:0 -msgid "Search Process" -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 -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:67 -#, python-format -msgid "Select Process" -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 -#. openerp-web -#: code:addons/process/static/src/js/process.js:243 -#: code:addons/process/static/src/xml/process.xml:33 -#: model:ir.model,name:process.model_process_process -#: field:process.node,process_id:0 -#: view:process.process:0 -#, python-format -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 -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:42 -#, python-format -msgid "Subflows:" -msgstr "子工作流:" - -#. module: process -#: view:process.node:0 -#: view:process.process:0 -msgid "Outgoing Transitions" -msgstr "迁移出口" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:36 -#, python-format -msgid "Notes:" -msgstr "备注:" - -#. module: process -#: selection:process.node,kind:0 -#: field:process.node,subflow_id:0 -msgid "Subflow" -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 "对象方法" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:77 -#, python-format -msgid "Select" -msgstr "选择" - -#~ msgid "State" -#~ msgstr "状态" - -#~ msgid "Details" -#~ msgstr "详情" - -#~ msgid "Extra Information" -#~ msgstr "额外信息" - -#~ msgid "Enterprise Processes" -#~ msgstr "企业流程" - -#~ msgid "" -#~ "The Object name must start with x_ and not contain any special character !" -#~ msgstr "对象名必须要以X_开头并且不能含有特殊字符!" - -#~ msgid "Invalid model name in the action definition." -#~ msgstr "在这动作定义中有无效的模块名" - -#~ msgid "Roles from Workflow" -#~ msgstr "工作流角色" - -#~ msgid "Invalid XML for View Architecture!" -#~ msgstr "无效XML视图结构!" - -#~ msgid "Roles" -#~ msgstr "角色" - -#~ msgid "Roles Required" -#~ msgstr "角色要求" - -#~ msgid "" -#~ "\n" -#~ " This module shows the basic processes involved\n" -#~ " in the selected modules and in the sequence they\n" -#~ " occur\n" -#~ "\n" -#~ " Note: This applies to the modules containing modulename_process_xml\n" -#~ " for e.g product/process/product_process_xml\n" -#~ "\n" -#~ " " -#~ msgstr "" -#~ "\n" -#~ " 此模块显示指定模块的基本流程和工作顺序。\n" -#~ "\n" -#~ "注意:这些信息来自对应模块的 modulename_process.xml文件\n" -#~ "例如 product/process/product_process.xml\n" -#~ "\n" -#~ " " diff --git a/addons/process/i18n/zh_TW.po b/addons/process/i18n/zh_TW.po deleted file mode 100644 index 41a3938ac0d..00000000000 --- a/addons/process/i18n/zh_TW.po +++ /dev/null @@ -1,378 +0,0 @@ -# Translation of OpenERP Server. -# This file contains the translation of the following modules: -# * process -# -msgid "" -msgstr "" -"Project-Id-Version: OpenERP Server 5.0.4\n" -"Report-Msgid-Bugs-To: support@openerp.com\n" -"POT-Creation-Date: 2012-12-21 17:06+0000\n" -"PO-Revision-Date: 2009-02-04 11:55+0000\n" -"Last-Translator: <>\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-03-16 05:10+0000\n" -"X-Generator: Launchpad (build 16532)\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 "" - -#. module: process -#: field:process.node,menu_id:0 -msgid "Related Menu" -msgstr "" - -#. module: process -#: selection:process.node,kind:0 -msgid "Status" -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 -#: view:process.node:0 -msgid "Kind Of Node" -msgstr "" - -#. module: process -#: field:process.node,help_url:0 -msgid "Help URL" -msgstr "" - -#. module: process -#: field:process.node,flow_start:0 -msgid "Starting Flow" -msgstr "" - -#. 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 -#: 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 -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:39 -#, python-format -msgid "Last modified by:" -msgstr "" - -#. module: process -#: field:process.transition.action,action:0 -msgid "Action ID" -msgstr "" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:7 -#, python-format -msgid "Process View" -msgstr "" - -#. 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.transition.action,transition_id:0 -msgid "Transition" -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 -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:54 -#, python-format -msgid "Related:" -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 -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:88 -#, python-format -msgid "Edit Process" -msgstr "" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:39 -#, python-format -msgid "N/A" -msgstr "" - -#. module: process -#: view:process.process:0 -msgid "Search Process" -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 -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:67 -#, python-format -msgid "Select Process" -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 -#. openerp-web -#: code:addons/process/static/src/js/process.js:243 -#: code:addons/process/static/src/xml/process.xml:33 -#: model:ir.model,name:process.model_process_process -#: field:process.node,process_id:0 -#: view:process.process:0 -#, python-format -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 -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:42 -#, python-format -msgid "Subflows:" -msgstr "" - -#. module: process -#: view:process.node:0 -#: view:process.process:0 -msgid "Outgoing Transitions" -msgstr "" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:36 -#, python-format -msgid "Notes:" -msgstr "" - -#. module: process -#: selection:process.node,kind:0 -#: field:process.node,subflow_id:0 -msgid "Subflow" -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 "" - -#. module: process -#. openerp-web -#: code:addons/process/static/src/xml/process.xml:77 -#, python-format -msgid "Select" -msgstr "" diff --git a/addons/process/process.py b/addons/process/process.py deleted file mode 100644 index d6a72148fa6..00000000000 --- a/addons/process/process.py +++ /dev/null @@ -1,381 +0,0 @@ -# -*- coding: utf-8 -*- -############################################################################## -# -# OpenERP, Open Source Management Solution -# Copyright (C) 2004-2010 Tiny SPRL (). -# -# 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 import tools -from openerp.osv import fields, osv - -class Env(dict): - - def __init__(self, obj, user): - self.__obj = obj - self.__usr = user - - def __getitem__(self, name): - if name in ('__obj', '__user'): - return super(Env, self).__getitem__(name) - if name == 'user': - return self.__user - if name == 'object': - return self.__obj - return self.__obj[name] - -class process_process(osv.osv): - _name = "process.process" - _description = "Process" - _columns = { - 'name': fields.char('Name', size=30,required=True, translate=True), - 'active': fields.boolean('Active', help="If the active field is set to False, it will allow you to hide the process without removing it."), - 'model_id': fields.many2one('ir.model', 'Object', ondelete='set null'), - 'note': fields.text('Notes', translate=True), - 'node_ids': fields.one2many('process.node', 'process_id', 'Nodes') - } - _defaults = { - 'active' : lambda *a: True, - } - - def search_by_model(self, cr, uid, res_model, context=None): - model_ids = (res_model or None) and self.pool['ir.model'].search(cr, uid, [('model', '=', res_model)]) - - domain = (model_ids or []) and [('model_id', 'in', model_ids)] - result = [] - - # search all processes - res = self.pool['process.process'].search(cr, uid, domain) - if res: - res = self.pool['process.process'].browse(cr, uid, res, context=context) - for process in res: - result.append((process.id, process.name)) - return result - - # else search process nodes - res = self.pool['process.node'].search(cr, uid, domain) - if res: - res = self.pool['process.node'].browse(cr, uid, res, context=context) - for node in res: - if (node.process_id.id, node.process_id.name) not in result: - result.append((node.process_id.id, node.process_id.name)) - - return result - - def graph_get(self, cr, uid, id, res_model, res_id, scale, context=None): - - - process = self.pool['process.process'].browse(cr, uid, id, context=context) - - name = process.name - resource = False - state = 'N/A' - - expr_context = {} - states = {} - perm = False - - if res_model: - states = dict(self.pool[res_model].fields_get(cr, uid, context=context).get('state', {}).get('selection', {})) - - if res_id: - current_object = self.pool[res_model].browse(cr, uid, res_id, context=context) - current_user = self.pool['res.users'].browse(cr, uid, uid, context=context) - expr_context = Env(current_object, current_user) - resource = current_object.name - if 'state' in current_object: - state = states.get(current_object.state, 'N/A') - perm = self.pool[res_model].perm_read(cr, uid, [res_id], context=context)[0] - - notes = process.note or "N/A" - nodes = {} - start = [] - transitions = {} - - for node in process.node_ids: - data = {} - data['name'] = node.name - data['model'] = (node.model_id or None) and node.model_id.model - data['kind'] = node.kind - data['subflow'] = (node.subflow_id or False) and [node.subflow_id.id, node.subflow_id.name] - data['notes'] = node.note - data['active'] = False - data['gray'] = False - data['url'] = node.help_url - data['model_states'] = node.model_states - - # get assosiated workflow - if data['model']: - wkf_ids = self.pool['workflow'].search(cr, uid, [('osv', '=', data['model'])]) - data['workflow'] = (wkf_ids or False) and wkf_ids[0] - - if 'directory_id' in node and node.directory_id: - data['directory_id'] = node.directory_id.id - data['directory'] = self.pool['document.directory'].get_resource_path(cr, uid, data['directory_id'], data['model'], False) - - if node.menu_id: - data['menu'] = {'name': node.menu_id.complete_name, 'id': node.menu_id.id} - - try: - gray = True - for cond in node.condition_ids: - if cond.model_id and cond.model_id.model == res_model: - gray = gray and eval(cond.model_states, expr_context) - data['gray'] = not gray - except: - pass - - if not data['gray']: - if node.model_id and node.model_id.model == res_model: - try: - data['active'] = eval(node.model_states, expr_context) - except Exception: - pass - - nodes[node.id] = data - if node.flow_start: - start.append(node.id) - - for tr in node.transition_out: - data = {} - data['name'] = tr.name - data['source'] = tr.source_node_id.id - data['target'] = tr.target_node_id.id - data['notes'] = tr.note - data['buttons'] = buttons = [] - for b in tr.action_ids: - button = {} - button['name'] = b.name - button['state'] = b.state - button['action'] = b.action - buttons.append(button) - data['groups'] = groups = [] - for r in tr.transition_ids: - if r.group_id: - groups.append({'name': r.group_id.name}) - for r in tr.group_ids: - groups.append({'name': r.name}) - transitions[tr.id] = data - - # now populate resource information - def update_relatives(nid, ref_id, ref_model): - relatives = [] - - for dummy, tr in transitions.items(): - if tr['source'] == nid: - relatives.append(tr['target']) - if tr['target'] == nid: - relatives.append(tr['source']) - - if not ref_id: - nodes[nid]['res'] = False - return - - nodes[nid]['res'] = resource = {'id': ref_id, 'model': ref_model} - - refobj = self.pool[ref_model].browse(cr, uid, ref_id, context=context) - fields = self.pool[ref_model].fields_get(cr, uid, context=context) - - # check for directory_id from inherited from document module - if nodes[nid].get('directory_id', False): - resource['directory'] = self.pool['document.directory'].get_resource_path(cr, uid, nodes[nid]['directory_id'], ref_model, ref_id) - - resource['name'] = self.pool[ref_model].name_get(cr, uid, [ref_id], context=context)[0][1] - resource['perm'] = self.pool[ref_model].perm_read(cr, uid, [ref_id], context=context)[0] - - ref_expr_context = Env(refobj, current_user) - try: - if not nodes[nid]['gray']: - nodes[nid]['active'] = eval(nodes[nid]['model_states'], ref_expr_context) - except: - pass - for r in relatives: - node = nodes[r] - if 'res' not in node: - for n, f in fields.items(): - if node['model'] == ref_model: - update_relatives(r, ref_id, ref_model) - - elif f.get('relation') == node['model']: - rel = refobj[n] - if rel and isinstance(rel, list) : - rel = rel[0] - try: # XXX: rel has been reported as string (check it) - _id = (rel or False) and rel.id - _model = node['model'] - update_relatives(r, _id, _model) - except: - pass - - if res_id: - for nid, node in nodes.items(): - if not node['gray'] and (node['active'] or node['model'] == res_model): - update_relatives(nid, res_id, res_model) - break - - # calculate graph layout - g = tools.graph(nodes.keys(), map(lambda x: (x['source'], x['target']), transitions.values())) - g.process(start) - g.scale(*scale) #g.scale(100, 100, 180, 120) - graph = g.result_get() - - # fix the height problem - miny = -1 - for k,v in nodes.items(): - x = graph[k]['x'] - y = graph[k]['y'] - if miny == -1: - miny = y - miny = min(y, miny) - v['x'] = x - v['y'] = y - - for k, v in nodes.items(): - y = v['y'] - v['y'] = min(y - miny + 10, y) - - nodes = dict([str(n_key), n_val] for n_key, n_val in nodes.iteritems()) - transitions = dict([str(t_key), t_val] for t_key, t_val in transitions.iteritems()) - return dict(name=name, resource=resource, state=state, perm=perm, notes=notes, nodes=nodes, transitions=transitions) - - def copy(self, cr, uid, id, default=None, context=None): - """ Deep copy the entire process. - """ - - if not default: - default = {} - - process = self.pool['process.process'].browse(cr, uid, id, context=context) - - nodes = {} - transitions = {} - - # first copy all nodes and and map the new nodes with original for later use in transitions - for node in process.node_ids: - for t in node.transition_in: - tr = transitions.setdefault(t.id, {}) - tr['target'] = node.id - for t in node.transition_out: - tr = transitions.setdefault(t.id, {}) - tr['source'] = node.id - nodes[node.id] = self.pool['process.node'].copy(cr, uid, node.id, context=context) - - # then copy transitions with new nodes - for tid, tr in transitions.items(): - vals = { - 'source_node_id': nodes[tr['source']], - 'target_node_id': nodes[tr['target']] - } - tr = self.pool['process.transition'].copy(cr, uid, tid, default=vals, context=context) - - # and finally copy the process itself with new nodes - default.update({ - 'active': True, - 'node_ids': [(6, 0, nodes.values())] - }) - return super(process_process, self).copy(cr, uid, id, default, context) - - -class process_node(osv.osv): - _name = 'process.node' - _description ='Process Node' - _columns = { - 'name': fields.char('Name', size=30,required=True, translate=True), - 'process_id': fields.many2one('process.process', 'Process', required=True, ondelete='cascade'), - 'kind': fields.selection([('state','Status'), ('subflow','Subflow')], 'Kind of Node', required=True), - 'menu_id': fields.many2one('ir.ui.menu', 'Related Menu'), - 'note': fields.text('Notes', translate=True), - 'model_id': fields.many2one('ir.model', 'Object', ondelete='set null'), - 'model_states': fields.char('States Expression', size=128), - 'subflow_id': fields.many2one('process.process', 'Subflow', ondelete='set null'), - 'flow_start': fields.boolean('Starting Flow'), - 'transition_in': fields.one2many('process.transition', 'target_node_id', 'Starting Transitions'), - 'transition_out': fields.one2many('process.transition', 'source_node_id', 'Ending Transitions'), - 'condition_ids': fields.one2many('process.condition', 'node_id', 'Conditions'), - 'help_url': fields.char('Help URL', size=255) - } - _defaults = { - 'kind': lambda *args: 'state', - 'model_states': lambda *args: False, - 'flow_start': lambda *args: False, - } - - def copy_data(self, cr, uid, id, default=None, context=None): - if not default: - default = {} - default.update({ - 'transition_in': [], - 'transition_out': [] - }) - return super(process_node, self).copy_data(cr, uid, id, default, context=context) - - -class process_node_condition(osv.osv): - _name = 'process.condition' - _description = 'Condition' - _columns = { - 'name': fields.char('Name', size=30, required=True), - 'node_id': fields.many2one('process.node', 'Node', required=True, ondelete='cascade'), - 'model_id': fields.many2one('ir.model', 'Object', ondelete='set null'), - 'model_states': fields.char('Expression', required=True, size=128) - } - -class process_transition(osv.osv): - _name = 'process.transition' - _description ='Process Transition' - _columns = { - 'name': fields.char('Name', size=32, required=True, translate=True), - 'source_node_id': fields.many2one('process.node', 'Source Node', required=True, ondelete='cascade'), - 'target_node_id': fields.many2one('process.node', 'Target Node', required=True, ondelete='cascade'), - 'action_ids': fields.one2many('process.transition.action', 'transition_id', 'Buttons'), - 'transition_ids': fields.many2many('workflow.transition', 'process_transition_ids', 'ptr_id', 'wtr_id', 'Workflow Transitions'), - 'group_ids': fields.many2many('res.groups', 'process_transition_group_rel', 'tid', 'rid', string='Required Groups'), - 'note': fields.text('Description', translate=True), - } - -class process_transition_action(osv.osv): - _name = 'process.transition.action' - _description ='Process Transitions Actions' - _columns = { - 'name': fields.char('Name', size=32, required=True, translate=True), - 'state': fields.selection([('dummy','Dummy'), - ('object','Object Method'), - ('workflow','Workflow Trigger'), - ('action','Action')], 'Type', required=True), - 'action': fields.char('Action ID', size=64, states={ - 'dummy':[('readonly',1)], - 'object':[('required',1)], - 'workflow':[('required',1)], - 'action':[('required',1)], - },), - 'transition_id': fields.many2one('process.transition', 'Transition', required=True, ondelete='cascade') - } - _defaults = { - 'state': lambda *args: 'dummy', - } - - def copy_data(self, cr, uid, id, default=None, context=None): - if not default: - default = {} - - state = self.pool['process.transition.action'].browse(cr, uid, id, context=context).state - if state: - default['state'] = state - - return super(process_transition_action, self).copy_data(cr, uid, id, default, context) - - -# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/process/process_demo.xml b/addons/process/process_demo.xml deleted file mode 100644 index c1c4b5536c1..00000000000 --- a/addons/process/process_demo.xml +++ /dev/null @@ -1,156 +0,0 @@ - - - - - - - - Sales Workflow - Sales flow for services companies. - - - - - - Quotation - Quotations are sales orders in draft mode - - - state - object.state == 'draft' - - - - - Sales Order - Manages the delivery in invoicing process - - - state - object.state == 'manual' - - - - - Invoice - In case you invoiced on Sales Order - - - state - - - - - - Tasks - In case you sale services on order - - - subflow - - - - - - Picking List - The workers pack the requested items - - - state - - - - - - Delivery Order - The transporter take the box and deliver it - - - state - - - - - - Invoice - In case you invoice based on deliveries - - - subflow - - - - - - - - Invoice on order - - object.order_policy != 'picking' - - - - - Invoice on delivery - - object.order_policy == 'picking' - - - - - - - Confirm Quotation - - - - - - Picking - - - - - - Invoice on order - - - - - - Create Tasks - - - - - - Deliver Goods - - - - - - Invoice or delivery - - - - - - - - Confirm - workflow - order_confirm - - - - - Cancel - workflow - cancel - - - - - - diff --git a/addons/process/process_view.xml b/addons/process/process_view.xml deleted file mode 100644 index 7e0f9c25f47..00000000000 --- a/addons/process/process_view.xml +++ /dev/null @@ -1,323 +0,0 @@ - - - - - - - - - process.process.form - process.process - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
-
- - - process.process.tree - process.process - - - - - - - - - - - process.process.filter - process.process - - - - - - - - - - - - - Processes - process.process - form - tree,form - - - - - - - process.node.tree - process.node - - - - - - - - - - - - - process.node.form - process.node - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-
- - - process.node.filter - process.node - - - - - - - - - - - - - - - Process Nodes - process.node - form - tree,form - - - - - - - - - process.transition.tree - process.transition - - - - - - - - - - - process.transition.form - process.transition - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
-
- - - process.transition.filter - process.transition - - - - - - - - - - - - Process Transitions - process.transition - form - tree,form - - - - -
-
diff --git a/addons/process/security/ir.model.access.csv b/addons/process/security/ir.model.access.csv deleted file mode 100644 index 84e3b5ea0e7..00000000000 --- a/addons/process/security/ir.model.access.csv +++ /dev/null @@ -1,6 +0,0 @@ -id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink -access_process_process,process.process,model_process_process,base.group_user,1,0,0,0 -access_process_node,process.node,model_process_node,base.group_user,1,0,0,0 -access_process_transition,process.transition,model_process_transition,base.group_user,1,0,0,0 -access_process_transition_action,process.transition.action,model_process_transition_action,base.group_user,1,0,0,0 -access_process_condition,process.condition,model_process_condition,base.group_user,1,0,0,0 diff --git a/addons/process/static/src/css/process.css b/addons/process/static/src/css/process.css deleted file mode 100644 index 5f438622653..00000000000 --- a/addons/process/static/src/css/process.css +++ /dev/null @@ -1,70 +0,0 @@ - -a.cta-a { - float: left; - padding: 5px 10px; - border: 1px solid #ccc; - border-radius: 5px; - -moz-border-radius: 5px; - -webkit-border-radius: 5px; - background: #eeeded url(/process/static/src/img/cta-a.gif) repeat-x; - box-shadow: 0 1px 0 #fff; - -moz-box-shadow: 0 1px 0 #fff; - -webkit-box-shadow: 0 1px 0 #fff; - color: #8c8c8c; - font-size: 0.9em; - text-transform: uppercase; - font-weight: bold; - text-shadow: #fff 0 1px 0; - margin: 2px; -} - -a.cta-a span { - float: left; - padding: 7px 0 5px 5px; - background-position: 0 50%; - background-repeat: no-repeat; - cursor: pointer; -} - -a.cta-a strong { - display: block; - color: #393939; -} -.process-links { - padding: 5px 10px; - text-align: center; - display: table; - margin: auto; -} -.process-links a.cta-a { - display: table-cell; -} -.process_canvas{ - border: 1px solid #aaa; - background-color:#FFF; -} -.process_canvas svg{ - height:500px; - padding:15px; -} -.oe_process { - height: 20px; - margin-top:3px; - padding: 0; - width: 24px; - cursor: pointer; - display: block; - background: url(/web/static/src/img/iconset-a-help.png) no-repeat center center; - float: left; -} - -.process-help-text { - float: left; - padding:5px 10px; - min-height:56px; - font-size: 120%; -} - -td.process_fields,button.toggle_fields span:last-child { - display: none; -} diff --git a/addons/process/static/src/img/button-a-a.png b/addons/process/static/src/img/button-a-a.png deleted file mode 100644 index bd046bbbef7da60895536a7a18323abbbe21e7fb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6595 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 AIsgCw diff --git a/addons/process/static/src/img/cta-a.gif b/addons/process/static/src/img/cta-a.gif deleted file mode 100644 index daa561e29f58d52f0806ada27a6ad25c1e30f24a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 108 zcmZ?wbhEHbWMt4`*v!E2_3PJ0dKfZtW z?lTa4`t;??mk;mXzkB;u@h1xd28j~(|&5Rgd;v{>OR;HAys JFXPT&4FG9+IZXfn diff --git a/addons/process/static/src/img/iconset-a-help.gif b/addons/process/static/src/img/iconset-a-help.gif deleted file mode 100644 index 5400acec57bd30ea50c05765808d2d20684a6f90..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 379 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 diff --git a/addons/process/static/src/img/node-gray.png b/addons/process/static/src/img/node-gray.png deleted file mode 100644 index 972013540cf00d5e379f9c9136b11499ab2e93f7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3128 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 diff --git a/addons/process/static/src/img/node-subflow-gray.png b/addons/process/static/src/img/node-subflow-gray.png deleted file mode 100644 index ffafe1bd681f01d622bcb371dea2488a7d724868..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6837 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 vf#lFJ4h(k_sVGbwBS{SWRRD=n3q?3 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 1) { - self.process_selection = process; - } else { - self.process_id = process[0][0], - self.process_title = process[0][1]; - } - } - return $.Deferred().resolve(); - }).then(function() { - var def = $.Deferred(); - if(self.process_id) { - $.when(self.process_graph_get()).done(function(res) { - self.process_notes = res.notes; - self.process_title = res.name; - self.process_subflows = _(res.nodes).chain() - .filter(function (node) { return node['subflow'] !== false; }) - .uniq(false, function (node) { return node['subflow'][0]; }).value(); - self.process_related = res.related; - def.resolve(res); - }); - } else def.resolve(); - return def.promise(); - }).done(function(res) { - $.when(self.process_render_view()).done(function() { - if(res) { - self.process_draw_graph(res); - } - }); - }); - }, - process_graph_get: function() { - var self = this; - var def = $.Deferred(); - this.process_id = parseInt(this.process_id, 10); - this.process_dataset - .call("graph_get",[self.process_id, self.model || self.dataset.model, self.record_id, [80,80,150,100], self.session.user_context]) - .done(function(res) { - self.process_dataset - .call("search_by_model",[self.model || self.dataset.model, self.session.user_context]) - .done( - function(r) { - res['related'] = r; - def.resolve(res); - }); - }); - return def.promise(); - }, - process_get_object : function() { - var self = this, - def = $.Deferred(); - if(this.process_id) - return def.resolve().promise(); - this.process_dataset = new instance.web.DataSet(self, "process.process", self.session.user_context); - this.process_dataset - .call("search_by_model", [self.process_model,self.session.user_context]) - .done(function(res) { - if (!res.length) { - self.process_model = false; - self.process_get_object().done(def.resolve); - } - else { - def.resolve(res); - } - }) - .fail(def.reject); - return def.promise(); - }, - process_render_view : function() { - var self = this; - this.$el.html(QWeb.render("process.ProcessView", this)); - this.$el.addClass('oe_view_process').css({'background-color':'#F0EEEE'}); - this.$el.find('#edit_process').click(function() { - self.process_edit_view(); - }); - var $parent = this.getParent().$el; - $parent.find('#change_process').click(function() { - self.process_selection = false, - self.process_id = $parent.find('#select_process').val(), - self.process_title = $.trim($parent.find('#select_process option:selected').text()); - self.initialize_process_view(); - }); - this.$el.find(".process_subflow").click(function() { - self.process_id = this.id; - self.initialize_process_view(); - }); - }, - process_draw_graph : function(result) { - var self = this; - var res_nodes = result['nodes']; - var res_edges = result['transitions']; - var id_to_node = {}; - var canvas = $('div.process_canvas').empty().get(0); - var style = { - edge_color: "#A0A0A0", - edge_label_font_size: 10, - edge_width: 2, - edge_spacing: 40, - edge_loop_radius: 200, - - node_label_color: "#333", - node_label_font_size: 12, - node_outline_color: "#333", - node_outline_width: 1, - node_outline_color: "#F5F5F5", - node_outline_width: 0, - node_selected_width: 0, - node_size_x: 150, - node_size_y: 100, - - gray: "#DCDCDC", - white: "#FFF", - viewport_margin: 50 - }; - var r = new Raphael(canvas,'100%','100%'); - var graph = new CuteGraph(r,style,canvas.parentNode); - var render_process = function(r,nodes){ - //For Image - var image_node = nodes.kind == "subflow" ? "node-subflow" : "node"; - image_node = nodes.gray ? image_node + "-gray" : image_node; - image_node = nodes.active ? 'node-current': image_node; - var img_src = '/process/static/src/img/'+ image_node + '.png'; - var image = r['image'](img_src, nodes.x-25, nodes.y,150, 100).attr({"cursor": "default"}) .mousedown(function() { return false; }); - //For Node - var process_node = r['rect'](nodes.x, nodes.y, 150, 150).attr({stroke: "none"}); - // Node text - if(nodes.name.length > 18){ - var text = nodes.name.substr(0,16) + '...' - } - var node_text = r.text(nodes.x+60, nodes.y+10,(text || nodes.name.substr(0,18))).attr({"fill": "#fff","font-weight": "bold", "cursor": "default","title":nodes.name}); - //Node Description - var new_notes = nodes.notes; - if(nodes.notes.length > 25) { - var to; - var temp_str = new_notes = ''; - var from = to = 0; - while (1) { - from = 25; - temp_str = nodes.notes.substr(to, 25); - if (temp_str.lastIndexOf(" ") < 25 && temp_str.length >= 25) { - from = temp_str.lastIndexOf(" "); - } - new_notes += "\n" + nodes.notes.substr(to, from); - if (new_notes.length > 80){ - break; - } - to += from; - } - } - if(nodes.res) - new_notes = nodes.res.name + '\n' + new_notes; - if(nodes.notes.length > 60){ - var notes = new_notes.substring(0,60) +'..'; - } - r.text(nodes.x+60, nodes.y+30, (notes || new_notes)).attr({"title":nodes.notes,"cursor": "default"}); - r['image']('/web/static/src/img/icons/gtk-info.png', nodes.x, nodes.y+75, 16, 16) - .attr({"cursor": "pointer", "title": "Help"}) - .click(function() { - window.open(nodes.url || "http://doc.openerp.com/v6.1/index.php?model=" + nodes.model); - }); - if(nodes.menu) { - r['image']('/web/static/src/img/icons/gtk-jump-to.png', nodes.x+100, nodes.y+75, 16, 16) - .attr({"cursor": "pointer", "title": nodes.menu.name}) - .click(function() { - self.process_jump_to_view(nodes.res_model, nodes.menu.id); - }); - } - var process_set =r.set().push(process_node); - process_set.mousedown(function() { - return false; - }); - return process_set; - } - _.each(res_nodes, function(node,id) { - node['res_model'] = self.model, - node['res_id'] = false, - node['color'] = 'gray' - var n = new CuteNode( - graph, - node.x + 50, //FIXME the +50 should be in the layout algorithm - node.y + 50, - CuteGraph.wordwrap("", 14)); - n.id = id; - id_to_node[id] = n; - return render_process(r,node); - }); - _.each(res_edges, function(edge) { - var e = new CuteEdge( - graph, - CuteGraph.wordwrap(" ",0), - id_to_node[edge.source], - id_to_node[edge.target] || id_to_node[edge.source]); - e.id = edge.id; - }); - }, - process_jump_to_view: function(model,id) { - var self = this; - var dataset = new instance.web.DataSet(this, 'ir.values', this.session.user_context); - var action_manager = new instance.web.ActionManager(self); - dataset.call('get', - ['action', 'tree_but_open',[['ir.ui.menu', id]], dataset.context]).done(function(res) { - var action = res[0][res[0].length - 1]; - self.rpc("/web/action/load", { - action_id: action.id, - context: dataset.context - }).done(function(result) { - action_manager.replace(self.$el); - action_manager.do_action(result); - }) - }); - }, - process_edit_view: function() { - var self = this; - var pop = new instance.web.form.FormOpenPopup(self); - pop.show_element( - self.process_dataset.model, - self.process_id, - self.context || self.dataset.context, - { - title: _t('Process') - }); - var form_controller = pop.view_form; - pop.on('write_completed', self, self.initialize_process_view); - } -}); -}; -// vim:et fdc=0 fdl=0 foldnestmax=3 fdm=syntax: diff --git a/addons/process/static/src/xml/process.xml b/addons/process/static/src/xml/process.xml deleted file mode 100644 index d6229b686f3..00000000000 --- a/addons/process/static/src/xml/process.xml +++ /dev/null @@ -1,93 +0,0 @@ - diff --git a/addons/procurement/__openerp__.py b/addons/procurement/__openerp__.py index 48569fa76c4..857f0252212 100644 --- a/addons/procurement/__openerp__.py +++ b/addons/procurement/__openerp__.py @@ -26,7 +26,7 @@ 'author' : 'OpenERP SA', 'website' : 'http://www.openerp.com', 'category' : 'Hidden/Dependency', - 'depends' : ['base','process', 'product', 'stock'], + 'depends' : ['base', 'product', 'stock'], 'description': """ This is the module for computing Procurements. ============================================== @@ -53,7 +53,6 @@ depending on the product's configuration. 'wizard/schedulers_all_view.xml', 'procurement_view.xml', 'procurement_workflow.xml', - 'process/procurement_process.xml', 'company_view.xml', 'board_mrp_procurement_view.xml', ], diff --git a/addons/procurement/process/procurement_process.xml b/addons/procurement/process/procurement_process.xml deleted file mode 100644 index b2a33cf80e6..00000000000 --- a/addons/procurement/process/procurement_process.xml +++ /dev/null @@ -1,42 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/addons/product/__openerp__.py b/addons/product/__openerp__.py index fdadda2e4d4..c7790e01513 100644 --- a/addons/product/__openerp__.py +++ b/addons/product/__openerp__.py @@ -25,7 +25,7 @@ 'version': '1.1', 'author': 'OpenERP SA', 'category': 'Sales Management', - 'depends': ['base', 'process', 'decimal_precision', 'mail'], + 'depends': ['base', 'decimal_precision', 'mail'], 'demo': ['product_demo.xml', 'product_image_demo.xml'], 'description': """ This is the base module for managing products and pricelists in OpenERP. @@ -57,7 +57,6 @@ Print product labels with barcode. 'product_shortcut_data.xml', 'pricelist_view.xml', 'partner_view.xml', - 'process/product_process.xml' ], 'test': [ 'product_pricelist_demo.yml', diff --git a/addons/product/process/product_process.xml b/addons/product/process/product_process.xml deleted file mode 100644 index 652710fac94..00000000000 --- a/addons/product/process/product_process.xml +++ /dev/null @@ -1,51 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/addons/project/__openerp__.py b/addons/project/__openerp__.py index f5ba24c41cb..9a86af9f62a 100644 --- a/addons/project/__openerp__.py +++ b/addons/project/__openerp__.py @@ -68,7 +68,6 @@ Dashboard / Reports for Project Management will include: 'security/ir.model.access.csv', 'project_data.xml', 'project_view.xml', - 'process/task_process.xml', 'res_partner_view.xml', 'report/project_report_view.xml', 'report/project_cumulative.xml', diff --git a/addons/project/process/task_process.xml b/addons/project/process/task_process.xml deleted file mode 100644 index 9955fe1ffe1..00000000000 --- a/addons/project/process/task_process.xml +++ /dev/null @@ -1,132 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/addons/project_mrp/__openerp__.py b/addons/project_mrp/__openerp__.py index 91212b92c1d..9496d3021e2 100644 --- a/addons/project_mrp/__openerp__.py +++ b/addons/project_mrp/__openerp__.py @@ -50,7 +50,7 @@ task is completed. 'website': 'http://www.openerp.com', 'images': ['images/product.jpeg', 'images/task_from_SO.jpeg'], 'depends': ['project', 'procurement', 'sale', 'mrp_jit'], - 'data': ['project_mrp_workflow.xml', 'process/project_mrp_process.xml', 'project_mrp_view.xml'], + 'data': ['project_mrp_workflow.xml', 'project_mrp_view.xml'], 'demo': ['project_mrp_demo.xml'], 'test': ['test/project_task_procurement.yml'], 'installable': True, diff --git a/addons/project_mrp/process/project_mrp_process.xml b/addons/project_mrp/process/project_mrp_process.xml deleted file mode 100644 index c25cd264538..00000000000 --- a/addons/project_mrp/process/project_mrp_process.xml +++ /dev/null @@ -1,74 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/addons/project_timesheet/__openerp__.py b/addons/project_timesheet/__openerp__.py index 4dff3695c5c..9fb4af74597 100644 --- a/addons/project_timesheet/__openerp__.py +++ b/addons/project_timesheet/__openerp__.py @@ -38,7 +38,6 @@ with the effect of creating, editing and deleting either ways. 'data': [ 'security/ir.model.access.csv', 'security/project_timesheet_security.xml', - 'process/project_timesheet_process.xml', 'report/task_report_view.xml', 'project_timesheet_view.xml', ], diff --git a/addons/project_timesheet/process/project_timesheet_process.xml b/addons/project_timesheet/process/project_timesheet_process.xml deleted file mode 100644 index 17dd35dcad2..00000000000 --- a/addons/project_timesheet/process/project_timesheet_process.xml +++ /dev/null @@ -1,70 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/addons/purchase/__openerp__.py b/addons/purchase/__openerp__.py index a7c66344f4a..5cb5e93baaf 100644 --- a/addons/purchase/__openerp__.py +++ b/addons/purchase/__openerp__.py @@ -46,7 +46,7 @@ Dashboard / Reports for Purchase Management will include: 'author': 'OpenERP SA', 'website': 'http://www.openerp.com', 'images' : ['images/purchase_order.jpeg', 'images/purchase_analysis.jpeg', 'images/request_for_quotation.jpeg'], - 'depends': ['stock', 'process', 'procurement'], + 'depends': ['stock', 'procurement'], 'data': [ 'security/purchase_security.xml', 'security/ir.model.access.csv', @@ -60,7 +60,6 @@ Dashboard / Reports for Purchase Management will include: 'purchase_view.xml', 'stock_view.xml', 'partner_view.xml', - 'process/purchase_process.xml', 'report/purchase_report_view.xml', 'board_purchase_view.xml', 'edi/purchase_order_action_data.xml', diff --git a/addons/purchase/process/purchase_process.xml b/addons/purchase/process/purchase_process.xml deleted file mode 100644 index 7feb47690e0..00000000000 --- a/addons/purchase/process/purchase_process.xml +++ /dev/null @@ -1,267 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - . - - - - - - - - - - diff --git a/addons/resource/__openerp__.py b/addons/resource/__openerp__.py index b8a9f57c910..00930eabca0 100644 --- a/addons/resource/__openerp__.py +++ b/addons/resource/__openerp__.py @@ -35,7 +35,7 @@ associated to every resource. It also manages the leaves of every resource. """, 'author': 'OpenERP SA', 'website': 'http://www.openerp.com', - 'depends': ['process'], + 'depends': ['base'], 'data': [ 'security/ir.model.access.csv', 'resource_view.xml', diff --git a/addons/sale/__openerp__.py b/addons/sale/__openerp__.py index 8cc4919e3a1..b9b2a298adf 100644 --- a/addons/sale/__openerp__.py +++ b/addons/sale/__openerp__.py @@ -73,7 +73,6 @@ The Dashboard for the Sales Manager will include 'sale_view.xml', 'res_partner_view.xml', 'report/sale_report_view.xml', - 'process/sale_process.xml', 'board_sale_view.xml', 'edi/sale_order_action_data.xml', 'res_config_view.xml', diff --git a/addons/sale/process/sale_process.xml b/addons/sale/process/sale_process.xml deleted file mode 100644 index b3034cafa28..00000000000 --- a/addons/sale/process/sale_process.xml +++ /dev/null @@ -1,130 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/addons/sale_crm/__openerp__.py b/addons/sale_crm/__openerp__.py index 7db1aa1eff0..92403adc415 100644 --- a/addons/sale_crm/__openerp__.py +++ b/addons/sale_crm/__openerp__.py @@ -42,7 +42,6 @@ modules. 'wizard/crm_make_sale_view.xml', 'sale_crm_view.xml', 'sale_crm_data.xml', - 'process/sale_crm_process.xml', 'security/sale_crm_security.xml', 'security/ir.model.access.csv', 'report/sale_crm_account_invoice_report_view.xml', diff --git a/addons/sale_crm/process/sale_crm_process.xml b/addons/sale_crm/process/sale_crm_process.xml deleted file mode 100644 index 21297e12dbd..00000000000 --- a/addons/sale_crm/process/sale_crm_process.xml +++ /dev/null @@ -1,77 +0,0 @@ - - - - - - - - diff --git a/addons/sale_stock/__openerp__.py b/addons/sale_stock/__openerp__.py index fd20748aa75..5ea9191ff5f 100644 --- a/addons/sale_stock/__openerp__.py +++ b/addons/sale_stock/__openerp__.py @@ -55,7 +55,6 @@ You can choose flexible invoicing methods: 'stock_view.xml', 'res_config_view.xml', 'report/sale_report_view.xml', - 'process/sale_stock_process.xml', ], 'demo_xml': ['sale_stock_demo.xml'], 'test': ['test/cancel_order_sale_stock.yml', diff --git a/addons/sale_stock/process/sale_stock_process.xml b/addons/sale_stock/process/sale_stock_process.xml deleted file mode 100644 index 1ebebec7809..00000000000 --- a/addons/sale_stock/process/sale_stock_process.xml +++ /dev/null @@ -1,159 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - From f6aa7c8c996315d3a19450f322b699d8d6170ae3 Mon Sep 17 00:00:00 2001 From: Darshan Kalola Date: Thu, 29 Aug 2013 17:30:09 +0530 Subject: [PATCH 02/98] [IMP]remove base_status from dependancy in crm/__openerp__.py bzr revid: dka@tinyerp.com-20130829120009-u73x96rckfltfxvh --- addons/crm/__openerp__.py | 1 - 1 file changed, 1 deletion(-) diff --git a/addons/crm/__openerp__.py b/addons/crm/__openerp__.py index d8922311e2d..14cf122c0bd 100644 --- a/addons/crm/__openerp__.py +++ b/addons/crm/__openerp__.py @@ -51,7 +51,6 @@ Dashboard for CRM will include: 'depends': [ 'base_action_rule', 'base_setup', - 'base_status', 'mail', 'email_template', 'base_calendar', From 348d05be82f59d8aac0c1dd1f9d713d7e39569e2 Mon Sep 17 00:00:00 2001 From: "Kunal Chavda (Open ERP)" Date: Thu, 3 Oct 2013 11:00:02 +0530 Subject: [PATCH 03/98] [IMP]improved position of m2o autocomplete. bzr revid: kch@tinyerp.com-20131003053002-v4bzzklwzbinxw2a --- addons/web/static/src/js/view_form.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/addons/web/static/src/js/view_form.js b/addons/web/static/src/js/view_form.js index a00b66cbeda..79fdb3e4f4e 100644 --- a/addons/web/static/src/js/view_form.js +++ b/addons/web/static/src/js/view_form.js @@ -3390,6 +3390,8 @@ instance.web.form.FieldMany2One = instance.web.form.AbstractField.extend(instanc minLength: 0, delay: 0 }); + //set position for list of suggetions box + this.$input.autocomplete( "option", "position", { my : "left top", at: "left bottom" } ); this.$input.autocomplete("widget").openerpClass(); // used to correct a bug when selecting an element by pushing 'enter' in an editable list this.$input.keyup(function(e) { From 4c0f46178ee335f94b8e5299b98a4be5eb82ceb8 Mon Sep 17 00:00:00 2001 From: "Sunil Sharma (OpenERP)" Date: Wed, 29 Jan 2014 17:00:04 +0530 Subject: [PATCH 04/98] [remove]sale:remove sale dashboard bzr revid: sunilsharma.sharma07@gmail.com-20140129113004-y2gndgsqkif3g43k --- addons/sale/__openerp__.py | 2 +- addons/sale/board_sale_view.xml | 79 --------------------------------- 2 files changed, 1 insertion(+), 80 deletions(-) delete mode 100644 addons/sale/board_sale_view.xml diff --git a/addons/sale/__openerp__.py b/addons/sale/__openerp__.py index 2bea86b41af..82f858e9012 100644 --- a/addons/sale/__openerp__.py +++ b/addons/sale/__openerp__.py @@ -74,7 +74,7 @@ The Dashboard for the Sales Manager will include 'res_partner_view.xml', 'report/sale_report_view.xml', 'process/sale_process.xml', - 'board_sale_view.xml', + #'board_sale_view.xml', 'edi/sale_order_action_data.xml', 'res_config_view.xml', ], diff --git a/addons/sale/board_sale_view.xml b/addons/sale/board_sale_view.xml deleted file mode 100644 index 021e0c140af..00000000000 --- a/addons/sale/board_sale_view.xml +++ /dev/null @@ -1,79 +0,0 @@ - - - - - - My Quotations - sale.order - form - tree,form - [('state','=','draft'),('user_id','=',uid)] - - - - - turnover.by.month.tree - account.invoice.report - - - - - - - - - - turnover.by.month.graph - account.invoice.report - - - - - - - - - - - Monthly Turnover - account.invoice.report - form - graph,tree - - [('year','ilike',time.strftime('%Y')),('user_id','=',uid)] - {'group_by_no_leaf':1,'group_by':['month']} - - - - board.sales.form - board.board - -
- - - - - - - - -
-
-
- - - Sales - board.board - form - form - - - - - -
-
From 80be3a2c532ed13096aef301183e86569585122d Mon Sep 17 00:00:00 2001 From: "Sunil Sharma (OpenERP)" Date: Wed, 29 Jan 2014 17:02:52 +0530 Subject: [PATCH 05/98] [imp]sale:remove comment line bzr revid: sunilsharma.sharma07@gmail.com-20140129113252-i71mk96ohkpp3zg8 --- addons/sale/__openerp__.py | 1 - 1 file changed, 1 deletion(-) diff --git a/addons/sale/__openerp__.py b/addons/sale/__openerp__.py index 82f858e9012..8c5e506047e 100644 --- a/addons/sale/__openerp__.py +++ b/addons/sale/__openerp__.py @@ -74,7 +74,6 @@ The Dashboard for the Sales Manager will include 'res_partner_view.xml', 'report/sale_report_view.xml', 'process/sale_process.xml', - #'board_sale_view.xml', 'edi/sale_order_action_data.xml', 'res_config_view.xml', ], From f7431f7a9d1ab9367ef51f86cd73cfe6699524e8 Mon Sep 17 00:00:00 2001 From: "Sunil Sharma (OpenERP)" Date: Wed, 29 Jan 2014 17:34:25 +0530 Subject: [PATCH 06/98] [remove]sale:remove sale dashboard description and image bzr revid: sunilsharma.sharma07@gmail.com-20140129120425-kk2g4hg3yxb4fwki --- addons/sale/static/description/index.html | 19 ------------------ addons/sale/static/description/sale_sc_10.png | Bin 85061 -> 0 bytes 2 files changed, 19 deletions(-) delete mode 100644 addons/sale/static/description/sale_sc_10.png diff --git a/addons/sale/static/description/index.html b/addons/sale/static/description/index.html index 52c84b82f12..7b6885a09d0 100644 --- a/addons/sale/static/description/index.html +++ b/addons/sale/static/description/index.html @@ -239,25 +239,6 @@ applied automatically for all your sales teams. -
-
-

Reporting and Dashboards

-

Get access to the right information to make smart decisions

-
-

-Get the insights you need to make smarter decisions. Design custom dashboards -to get a picture of your business at a glance. Dig deeper with real-time -reports that anyone can create and share. -

-
-
-
- -
-
-
-
-
diff --git a/addons/sale/static/description/sale_sc_10.png b/addons/sale/static/description/sale_sc_10.png deleted file mode 100644 index b71ce805250c9e3d2a08d85dc08b4d2bdb0f385c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 85061 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 From 936bd709672dcbdb247f1e81f0222b2dfac7b003 Mon Sep 17 00:00:00 2001 From: "Sunil Sharma (OpenERP)" Date: Wed, 29 Jan 2014 17:39:47 +0530 Subject: [PATCH 07/98] [remove]crm:remove crm dashboard bzr revid: sunilsharma.sharma07@gmail.com-20140129120947-f4bwceiddihtmmim --- addons/crm/__openerp__.py | 1 - addons/crm/board_crm_view.xml | 85 ----------------------------------- 2 files changed, 86 deletions(-) delete mode 100644 addons/crm/board_crm_view.xml diff --git a/addons/crm/__openerp__.py b/addons/crm/__openerp__.py index 1b0cbed7937..ba05cc1fb16 100644 --- a/addons/crm/__openerp__.py +++ b/addons/crm/__openerp__.py @@ -92,7 +92,6 @@ Dashboard for CRM will include: 'process/crm_configuration_process.xml', 'res_partner_view.xml', - 'board_crm_view.xml', 'res_config_view.xml', 'base_partner_merge_view.xml', diff --git a/addons/crm/board_crm_view.xml b/addons/crm/board_crm_view.xml deleted file mode 100644 index 27e835f1594..00000000000 --- a/addons/crm/board_crm_view.xml +++ /dev/null @@ -1,85 +0,0 @@ - - - - - - Opportunities By Stage - Graph - crm.lead.report - - - - - - - - - Opportunities By Stage - crm.lead.report - form - graph,tree,form - - - ['&', ('stage_id.fold', '=', False), ('type', '=', 'opportunity')] - {'search_default_Stage':1} - - - - - Opportunities By Stage Per User - Graph - crm.lead.report - - - - - - - - - - - - Planned Revenue By User and Stage - crm.lead.report - form - graph,tree,form - - - ['|', ('stage_id.fold', '=', False), ('stage_id.probability', '=', 100)] - {'search_default_user': 1, 'search_default_Stage': 1} - - - - CRM - Statistical Dashboard Form - board.board - -
- - - - - - - - -
-
-
- - - CRM - board.board - form - form - menu - - - - - -
-
From c8bed7ccc74de9048b73f1b5d52b50b1bb425ed4 Mon Sep 17 00:00:00 2001 From: "Sunil Sharma (OpenERP)" Date: Wed, 29 Jan 2014 17:43:48 +0530 Subject: [PATCH 08/98] [remove]crm:remove crm dashboard description and image bzr revid: sunilsharma.sharma07@gmail.com-20140129121348-hznhhnzzv504n3yi --- addons/crm/static/description/crm_sc_05.png | Bin 85061 -> 0 bytes addons/crm/static/description/index.html | 17 ----------------- 2 files changed, 17 deletions(-) delete mode 100644 addons/crm/static/description/crm_sc_05.png diff --git a/addons/crm/static/description/crm_sc_05.png b/addons/crm/static/description/crm_sc_05.png deleted file mode 100644 index b71ce805250c9e3d2a08d85dc08b4d2bdb0f385c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 85061 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 diff --git a/addons/crm/static/description/index.html b/addons/crm/static/description/index.html index 70f52d0ca87..a211951e35a 100644 --- a/addons/crm/static/description/index.html +++ b/addons/crm/static/description/index.html @@ -163,23 +163,6 @@ Customize your sales cycle by configuring sales stages that perfectly fit your s
-
-
-

Reporting and Dashboards

-

Get access to the right information to take smart decisions

-
-
- -
-
-
-

-Get the insights you need to make smarter decisions. Design custom dashboards to get a picture of your business at a glance. Dig deeper with real-time reports that anyone can create and share. -

-
-
-
-

Drive Engagement with Gamification

From 31769e2d408bc03bb8652d550f3cb7883c958ab7 Mon Sep 17 00:00:00 2001 From: "Sunil Sharma (OpenERP)" Date: Wed, 29 Jan 2014 17:59:14 +0530 Subject: [PATCH 09/98] [remove]purchase and purchase_double_validation:remove purchase and purchase_double_validation dashboard bzr revid: sunilsharma.sharma07@gmail.com-20140129122914-kpwweespepyww735 --- addons/purchase/__openerp__.py | 1 - addons/purchase/board_purchase_view.xml | 92 ------------------- .../purchase_double_validation/__openerp__.py | 1 - .../board_purchase_view.xml | 26 ------ 4 files changed, 120 deletions(-) delete mode 100644 addons/purchase/board_purchase_view.xml delete mode 100644 addons/purchase_double_validation/board_purchase_view.xml diff --git a/addons/purchase/__openerp__.py b/addons/purchase/__openerp__.py index 9d72579cc77..d17a2de3e7d 100644 --- a/addons/purchase/__openerp__.py +++ b/addons/purchase/__openerp__.py @@ -62,7 +62,6 @@ Dashboard / Reports for Purchase Management will include: 'partner_view.xml', 'process/purchase_process.xml', 'report/purchase_report_view.xml', - 'board_purchase_view.xml', 'edi/purchase_order_action_data.xml', 'res_config_view.xml', ], diff --git a/addons/purchase/board_purchase_view.xml b/addons/purchase/board_purchase_view.xml deleted file mode 100644 index d491985cf52..00000000000 --- a/addons/purchase/board_purchase_view.xml +++ /dev/null @@ -1,92 +0,0 @@ - - - - - - Request for Quotations - ir.actions.act_window - purchase.order - form - tree,form - [('state','=','draft')] - {'quotation_only': True} - - - - purchase.order.monthly.categ.tree - purchase.report - - - - - - - - - - - - - - - - - - - - - purchase.order.monthly.categ.graph - purchase.report - - - - - - - - - - Monthly Purchase by Category - purchase.report - form - graph,tree - {'group_by':['month','category_id'],'group_by_no_leaf':1} - [('state','in',('approved','except_picking','except_invoice','done'))] - - - - - board.purchase.form - board.board - -
- - - - - - - - -
-
-
- - - Purchases - board.board - form - form - menu - - - - - -
-
diff --git a/addons/purchase_double_validation/__openerp__.py b/addons/purchase_double_validation/__openerp__.py index 8c56f2af9ed..66ac66b9de6 100644 --- a/addons/purchase_double_validation/__openerp__.py +++ b/addons/purchase_double_validation/__openerp__.py @@ -38,7 +38,6 @@ exceeds minimum amount set by configuration wizard. 'purchase_double_validation_workflow.xml', 'purchase_double_validation_installer.xml', 'purchase_double_validation_view.xml', - 'board_purchase_view.xml' ], 'test': [ 'test/purchase_double_validation_demo.yml', diff --git a/addons/purchase_double_validation/board_purchase_view.xml b/addons/purchase_double_validation/board_purchase_view.xml deleted file mode 100644 index c2cc4df88b8..00000000000 --- a/addons/purchase_double_validation/board_purchase_view.xml +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - Purchase Orders Waiting Approval - ir.actions.act_window - purchase.order - form - tree,form - [('date_order','>',time.strftime('%Y-01-01 00:00:00')),('date_order','<',time.strftime('%Y-12-31 23:59:59')), ('state','in',('wait','confirmed'))] - - - - board.purchase.form - board.board - - - - - - - - - - From a1067e8a49410c8cebd4370d8a422b41b6e5e47b Mon Sep 17 00:00:00 2001 From: "Sunil Sharma (OpenERP)" Date: Wed, 29 Jan 2014 18:07:37 +0530 Subject: [PATCH 10/98] [remove]purchase:remove purchase dashboard description and image bzr revid: sunilsharma.sharma07@gmail.com-20140129123737-li2o5gbwy71spgz5 --- addons/purchase/static/description/index.html | 14 -------------- .../static/description/purchase_dashboard.png | Bin 77350 -> 0 bytes 2 files changed, 14 deletions(-) delete mode 100644 addons/purchase/static/description/purchase_dashboard.png diff --git a/addons/purchase/static/description/index.html b/addons/purchase/static/description/index.html index ecf9028ce33..37101b93554 100644 --- a/addons/purchase/static/description/index.html +++ b/addons/purchase/static/description/index.html @@ -125,17 +125,3 @@ Control supplier invoices with no effort. Choose the right method according to y
- -
-
-

Get Statistics On Your Purchases

-
-

-Get accurate statistics on the performance of your suppliers through flexible reporting: delivery delays, negotiated discount on prices, quantities purchased, etc. Integrate purchases with the analytic accounting to analyse your contracts profitability. -

-
-
- -
-
-
diff --git a/addons/purchase/static/description/purchase_dashboard.png b/addons/purchase/static/description/purchase_dashboard.png deleted file mode 100644 index 0939edea591abb5f5eead391e30c49418cb125b7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 77350 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 z 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 Ef)NYmW&i*H From 64a187d894c5492399878e3ac4ac9761a651900d Mon Sep 17 00:00:00 2001 From: "Sunil Sharma (OpenERP)" Date: Wed, 29 Jan 2014 18:26:15 +0530 Subject: [PATCH 11/98] [remove]procurement and stock:remove procurement and stock dashboard bzr revid: sunilsharma.sharma07@gmail.com-20140129125615-96m0pzvmdfi0m0yz --- addons/procurement/__openerp__.py | 1 - .../board_mrp_procurement_view.xml | 24 ------- addons/stock/__openerp__.py | 5 +- addons/stock/board_warehouse_view.xml | 67 ------------------- 4 files changed, 2 insertions(+), 95 deletions(-) delete mode 100644 addons/procurement/board_mrp_procurement_view.xml delete mode 100644 addons/stock/board_warehouse_view.xml diff --git a/addons/procurement/__openerp__.py b/addons/procurement/__openerp__.py index 48569fa76c4..d18d2b862df 100644 --- a/addons/procurement/__openerp__.py +++ b/addons/procurement/__openerp__.py @@ -55,7 +55,6 @@ depending on the product's configuration. 'procurement_workflow.xml', 'process/procurement_process.xml', 'company_view.xml', - 'board_mrp_procurement_view.xml', ], 'demo': ['stock_orderpoint.xml','procurement_demo.xml'], 'test': ['test/procurement.yml'], diff --git a/addons/procurement/board_mrp_procurement_view.xml b/addons/procurement/board_mrp_procurement_view.xml deleted file mode 100644 index bb1b5e62d82..00000000000 --- a/addons/procurement/board_mrp_procurement_view.xml +++ /dev/null @@ -1,24 +0,0 @@ - - - - - Procurement Exceptions - ir.actions.act_window - procurement.order - form - tree,form - [('state','=','exception')] - - - - board.mrp.procurement.form - board.board - - - - - - - - - diff --git a/addons/stock/__openerp__.py b/addons/stock/__openerp__.py index dd2a996f6dd..1d3aa096b73 100644 --- a/addons/stock/__openerp__.py +++ b/addons/stock/__openerp__.py @@ -28,8 +28,8 @@ Manage multi-warehouses, multi- and structured stock locations ============================================================== -The warehouse and inventory management is based on a hierarchical location structure, from warehouses to storage bins. -The double entry inventory system allows you to manage customers, suppliers as well as manufacturing inventories. +The warehouse and inventory management is based on a hierarchical location structure, from warehouses to storage bins. +The double entry inventory system allows you to manage customers, suppliers as well as manufacturing inventories. OpenERP has the capacity to manage lots and serial numbers ensuring compliance with the traceability requirements imposed by the majority of industries. @@ -86,7 +86,6 @@ Dashboard / Reports for Warehouse Management will include: 'partner_view.xml', 'report/report_stock_move_view.xml', 'report/report_stock_view.xml', - 'board_warehouse_view.xml', 'res_config_view.xml', ], 'test': [ diff --git a/addons/stock/board_warehouse_view.xml b/addons/stock/board_warehouse_view.xml deleted file mode 100644 index a1f327eab5d..00000000000 --- a/addons/stock/board_warehouse_view.xml +++ /dev/null @@ -1,67 +0,0 @@ - - - - - - report.stock.move.graph - report.stock.move - - - - - - - - - - - Incoming Products - report.stock.move - form - graph,tree - [('type','=','in'),('day','<=', time.strftime('%Y-%m-%d')),('day','>',(context_today()-datetime.timedelta(days=15)).strftime('%Y-%m-%d'))] - - {'search_default_in':1} - - - Outgoing Products - report.stock.move - form - graph,tree - [('type','=','out'),('day','<=', time.strftime('%Y-%m-%d')),('day','>',(context_today()-datetime.timedelta(days=15)).strftime('%Y-%m-%d'))] - - {'search_default_out':1} - - - board.warehouse.form - board.board - -
- - - - - - - - -
-
-
- - - Warehouse - board.board - form - form - - - - - -
-
From 9328ac99082109ef98628ecfff31f00be6db6ac7 Mon Sep 17 00:00:00 2001 From: "Sunil Sharma (OpenERP)" Date: Wed, 29 Jan 2014 18:43:53 +0530 Subject: [PATCH 12/98] [imp]:remove sapece bzr revid: sunilsharma.sharma07@gmail.com-20140129131353-26259ntx22t8wd4z --- addons/stock/__openerp__.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/addons/stock/__openerp__.py b/addons/stock/__openerp__.py index 1d3aa096b73..343de1bb4ec 100644 --- a/addons/stock/__openerp__.py +++ b/addons/stock/__openerp__.py @@ -28,8 +28,8 @@ Manage multi-warehouses, multi- and structured stock locations ============================================================== -The warehouse and inventory management is based on a hierarchical location structure, from warehouses to storage bins. -The double entry inventory system allows you to manage customers, suppliers as well as manufacturing inventories. +The warehouse and inventory management is based on a hierarchical location structure, from warehouses to storage bins. +The double entry inventory system allows you to manage customers, suppliers as well as manufacturing inventories. OpenERP has the capacity to manage lots and serial numbers ensuring compliance with the traceability requirements imposed by the majority of industries. From 9a30e69787486c74a4aef8144f278808a20eb799 Mon Sep 17 00:00:00 2001 From: "Sunil Sharma (OpenERP)" Date: Wed, 29 Jan 2014 18:54:37 +0530 Subject: [PATCH 13/98] [remove]:stock:remove stock dashboard description and image bzr revid: sunilsharma.sharma07@gmail.com-20140129132437-7r4id6sohcab0z9v --- addons/stock/__openerp__.py | 2 +- addons/stock/static/description/index.html | 17 ----------------- .../static/description/stock_reporting.png | Bin 25497 -> 0 bytes 3 files changed, 1 insertion(+), 18 deletions(-) delete mode 100644 addons/stock/static/description/stock_reporting.png diff --git a/addons/stock/__openerp__.py b/addons/stock/__openerp__.py index 343de1bb4ec..d2a1a77886a 100644 --- a/addons/stock/__openerp__.py +++ b/addons/stock/__openerp__.py @@ -53,7 +53,7 @@ Dashboard / Reports for Warehouse Management will include: * Moves Analysis """, 'website': 'http://www.openerp.com', - 'images': ['images/stock_forecast_report.png', 'images/delivery_orders.jpeg', 'images/inventory_analysis.jpeg','images/location.jpeg','images/moves_analysis.jpeg','images/physical_inventories.jpeg','images/warehouse_dashboard.jpeg'], + 'images': ['images/stock_forecast_report.png', 'images/delivery_orders.jpeg', 'images/inventory_analysis.jpeg','images/location.jpeg','images/moves_analysis.jpeg','images/physical_inventories.jpeg'], 'depends': ['product', 'account'], 'category': 'Warehouse Management', 'sequence': 16, diff --git a/addons/stock/static/description/index.html b/addons/stock/static/description/index.html index dd7fbe568f7..8b5b3245653 100644 --- a/addons/stock/static/description/index.html +++ b/addons/stock/static/description/index.html @@ -185,23 +185,6 @@ based on a hierarchical location structure. -
-
-

Reporting and Dashboards

-

Analyse your warehouse efficiency to improve performance

-
-

-Get the insights you need to make smarter decisions. Design custom dashboards -to get a picture of your warehouse efficiency at a glance. Dig deeper with -real-time reports that anyone can create and share. -

-
-
- -
-
-
-
diff --git a/addons/stock/static/description/stock_reporting.png b/addons/stock/static/description/stock_reporting.png deleted file mode 100644 index 1ec54d18813e6d04ff6b7b46363e46f9caf627ee..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 25497 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 From 685121bea3758ebd4c2d5ef413f7877f4a07bd49 Mon Sep 17 00:00:00 2001 From: "Sunil Sharma (OpenERP)" Date: Wed, 29 Jan 2014 19:01:15 +0530 Subject: [PATCH 14/98] [rem]:sale and crm :remove image bzr revid: sunilsharma.sharma07@gmail.com-20140129133115-mqozdx23ctzbmct5 --- addons/crm/__openerp__.py | 1 - addons/sale/__openerp__.py | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/addons/crm/__openerp__.py b/addons/crm/__openerp__.py index ba05cc1fb16..3c87e36e389 100644 --- a/addons/crm/__openerp__.py +++ b/addons/crm/__openerp__.py @@ -128,7 +128,6 @@ Dashboard for CRM will include: 'application': True, 'auto_install': False, 'images': [ - 'images/crm_dashboard.png', 'images/customers.png', 'images/leads.png', 'images/opportunities_kanban.png', diff --git a/addons/sale/__openerp__.py b/addons/sale/__openerp__.py index 8c5e506047e..1d698c17163 100644 --- a/addons/sale/__openerp__.py +++ b/addons/sale/__openerp__.py @@ -58,7 +58,7 @@ The Dashboard for the Sales Manager will include """, 'author': 'OpenERP SA', 'website': 'http://www.openerp.com', - 'images': ['images/sale_dashboard.jpeg','images/Sale_order_line_to_invoice.jpeg','images/sale_order.jpeg','images/sales_analysis.jpeg'], + 'images': ['images/Sale_order_line_to_invoice.jpeg','images/sale_order.jpeg','images/sales_analysis.jpeg'], 'depends': ['account_voucher'], 'data': [ 'wizard/sale_make_invoice_advance.xml', From 30170062ddcb294b38cbe2dcdd0eb69f768b43d1 Mon Sep 17 00:00:00 2001 From: "Sunil Sharma (OpenERP)" Date: Thu, 30 Jan 2014 10:16:32 +0530 Subject: [PATCH 15/98] [rem]:mrp:remove mrp dashboard bzr revid: sunilsharma.sharma07@gmail.com-20140130044632-m0kw1a8ya466tlg3 --- addons/mrp/__openerp__.py | 3 +- addons/mrp/board_manufacturing_view.xml | 37 ------------------------- 2 files changed, 1 insertion(+), 39 deletions(-) delete mode 100644 addons/mrp/board_manufacturing_view.xml diff --git a/addons/mrp/__openerp__.py b/addons/mrp/__openerp__.py index 99afd01707a..765eae6da61 100644 --- a/addons/mrp/__openerp__.py +++ b/addons/mrp/__openerp__.py @@ -28,7 +28,7 @@ 'category': 'Manufacturing', 'sequence': 18, 'summary': 'Manufacturing Orders, Bill of Materials, Routing', - 'images': ['images/bill_of_materials.jpeg', 'images/manufacturing_order.jpeg', 'images/planning_manufacturing_order.jpeg', 'images/manufacturing_analysis.jpeg', 'images/production_dashboard.jpeg','images/routings.jpeg','images/work_centers.jpeg'], + 'images': ['images/bill_of_materials.jpeg', 'images/manufacturing_order.jpeg', 'images/planning_manufacturing_order.jpeg', 'images/manufacturing_analysis.jpeg','images/routings.jpeg','images/work_centers.jpeg'], 'depends': ['product','procurement', 'stock', 'resource', 'purchase','process'], 'description': """ Manage the Manufacturing process in OpenERP @@ -70,7 +70,6 @@ Dashboard / Reports for MRP will include: 'process/procurement_process.xml', 'report/mrp_report_view.xml', 'report/mrp_production_order_view.xml', - 'board_manufacturing_view.xml', 'res_config_view.xml', ], 'demo': ['mrp_demo.xml'], diff --git a/addons/mrp/board_manufacturing_view.xml b/addons/mrp/board_manufacturing_view.xml deleted file mode 100644 index 6bd07c2648b..00000000000 --- a/addons/mrp/board_manufacturing_view.xml +++ /dev/null @@ -1,37 +0,0 @@ - - - - - board.mrp.manager.form - board.board - -
- - - - - - - - -
-
-
- - - Manufacturing - board.board - form - form - - - - - -
-
From 742c1b22d1459db2691e0471e11c366aa2916788 Mon Sep 17 00:00:00 2001 From: "Sunil Sharma (OpenERP)" Date: Thu, 30 Jan 2014 10:46:11 +0530 Subject: [PATCH 17/98] [rem]:project and project_issue:remove project and project_issue dashboard and images bzr revid: sunilsharma.sharma07@gmail.com-20140130051611-b0m9zioykhlbi8jh --- addons/project/__openerp__.py | 2 - addons/project/board_project_view.xml | 64 ------------------- addons/project_issue/__openerp__.py | 1 - .../board_project_issue_view.xml | 45 ------------- 4 files changed, 112 deletions(-) delete mode 100644 addons/project/board_project_view.xml delete mode 100644 addons/project_issue/board_project_issue_view.xml diff --git a/addons/project/__openerp__.py b/addons/project/__openerp__.py index f5ba24c41cb..4247aa6ea2c 100644 --- a/addons/project/__openerp__.py +++ b/addons/project/__openerp__.py @@ -29,7 +29,6 @@ 'summary': 'Projects, Tasks', 'images': [ 'images/gantt.png', - 'images/project_dashboard.jpeg', 'images/project_task_tree.jpeg', 'images/project_task.jpeg', 'images/project.jpeg', @@ -72,7 +71,6 @@ Dashboard / Reports for Project Management will include: 'res_partner_view.xml', 'report/project_report_view.xml', 'report/project_cumulative.xml', - 'board_project_view.xml', 'res_config_view.xml', ], 'demo': ['project_demo.xml'], diff --git a/addons/project/board_project_view.xml b/addons/project/board_project_view.xml deleted file mode 100644 index 3a14f7b6274..00000000000 --- a/addons/project/board_project_view.xml +++ /dev/null @@ -1,64 +0,0 @@ - - - - - - project.task.tree - project.task - - - - - - - - - - - - - - - - - My Tasks - project.task - form - tree,form - [('user_id', '=', uid), ('stage_id.fold', '!=', True)] - - - - - board.project.form - board.board - -
- - - - - - - - -
-
-
- - - Project - board.board - form - form - menu - - - - - -
-
diff --git a/addons/project_issue/__openerp__.py b/addons/project_issue/__openerp__.py index 146cff0a407..97b6f736f54 100644 --- a/addons/project_issue/__openerp__.py +++ b/addons/project_issue/__openerp__.py @@ -46,7 +46,6 @@ It allows the manager to quickly check the issues, assign them and decide on the 'report/project_issue_report_view.xml', 'security/project_issue_security.xml', 'security/ir.model.access.csv', - 'board_project_issue_view.xml', 'res_config_view.xml', 'project_issue_data.xml' ], diff --git a/addons/project_issue/board_project_issue_view.xml b/addons/project_issue/board_project_issue_view.xml deleted file mode 100644 index 6eb48f5572d..00000000000 --- a/addons/project_issue/board_project_issue_view.xml +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - Project Issue Board Tree - project.issue - - - - - - - - - - - - - - - - - - - My Project Issues - project.issue - form - tree,form - [('user_id', '=', uid)] - - - - - board.my.project.issue.form.inherit - board.board - - - - - - - - - From 18e1f423ae65f77073afd78393684f149b508982 Mon Sep 17 00:00:00 2001 From: "Sunil Sharma (OpenERP)" Date: Thu, 30 Jan 2014 10:53:23 +0530 Subject: [PATCH 18/98] [rem]:event:remove event dashboard bzr revid: sunilsharma.sharma07@gmail.com-20140130052323-702ji8w2lowhyzer --- addons/event/__openerp__.py | 1 - addons/event/board_association_view.xml | 74 ------------------------- 2 files changed, 75 deletions(-) delete mode 100644 addons/event/board_association_view.xml diff --git a/addons/event/__openerp__.py b/addons/event/__openerp__.py index e8ecb09bf03..15cd863dc55 100644 --- a/addons/event/__openerp__.py +++ b/addons/event/__openerp__.py @@ -47,7 +47,6 @@ Key Features 'event_view.xml', 'event_data.xml', 'report/report_event_registration_view.xml', - 'board_association_view.xml', 'res_partner_view.xml', 'email_template.xml', ], diff --git a/addons/event/board_association_view.xml b/addons/event/board_association_view.xml deleted file mode 100644 index f48722bfea6..00000000000 --- a/addons/event/board_association_view.xml +++ /dev/null @@ -1,74 +0,0 @@ - - - - - - Registration Event report - report.event.registration - - - - - - - - - - Events Filling Status - report.event.registration - form - [('event_state','not in',('cancel','done'))] - graph,tree - - - - - Next Events - ir.actions.act_window - event.event - form - tree,form - [('state','not in',('cancel','done'))] - - - - New Registration - ir.actions.act_window - event.registration - form - tree,form - [('state','=','draft')] - - - - board.associations.manager.form - board.board - -
- - - - - - - - -
-
-
- - - Events - board.board - form - form - - - - -
-
From 8ae9f5fa1d787a9e497f219066fa96dcd1b18bdc Mon Sep 17 00:00:00 2001 From: "Sunil Sharma (OpenERP)" Date: Thu, 30 Jan 2014 11:09:17 +0530 Subject: [PATCH 19/98] [rem]:account:remove account dashboard bzr revid: sunilsharma.sharma07@gmail.com-20140130053917-8n5b9vh7rf2k5cv4 --- addons/account/__openerp__.py | 1 - addons/account/board_account_view.xml | 46 --------------------------- 2 files changed, 47 deletions(-) delete mode 100644 addons/account/board_account_view.xml diff --git a/addons/account/__openerp__.py b/addons/account/__openerp__.py index 343512dc271..e372c58c759 100644 --- a/addons/account/__openerp__.py +++ b/addons/account/__openerp__.py @@ -119,7 +119,6 @@ for a particular financial year and for preparation of vouchers there is a modul 'process/supplier_invoice_process.xml', 'ir_sequence_view.xml', 'company_view.xml', - 'board_account_view.xml', 'edi/invoice_action_data.xml', 'account_bank_view.xml', 'res_config_view.xml', diff --git a/addons/account/board_account_view.xml b/addons/account/board_account_view.xml deleted file mode 100644 index abbc81ade2b..00000000000 --- a/addons/account/board_account_view.xml +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - Company Analysis - account.entries.report - form - tree,graph - {'group_by':['user_type'], 'group_by_no_leaf':1} - - [('year','=',time.strftime('%Y'))] - - - - board.account.form - board.board - -
- - - - - -
-
-
- - - Accounting - board.board - form - form - menu - - - - - -
-
From efe7f2ba00b9a845b83d34117fb8d023c2af9d3a Mon Sep 17 00:00:00 2001 From: "Sunil Sharma (OpenERP)" Date: Thu, 30 Jan 2014 11:20:32 +0530 Subject: [PATCH 20/98] [rem]:fleet:remove fleet dashboard bzr revid: sunilsharma.sharma07@gmail.com-20140130055032-79lxdzeqfrzda3l4 --- addons/fleet/__openerp__.py | 1 - addons/fleet/fleet_board_view.xml | 154 ------------------------------ 2 files changed, 155 deletions(-) delete mode 100644 addons/fleet/fleet_board_view.xml diff --git a/addons/fleet/__openerp__.py b/addons/fleet/__openerp__.py index 29c0e9d3ceb..3edf8ea8e0d 100644 --- a/addons/fleet/__openerp__.py +++ b/addons/fleet/__openerp__.py @@ -54,7 +54,6 @@ Main Features 'fleet_view.xml', 'fleet_cars.xml', 'fleet_data.xml', - 'fleet_board_view.xml', ], 'images': ['images/costs_analysis.jpeg','images/indicative_costs_analysis.jpeg','images/vehicles.jpeg','images/vehicles_contracts.jpeg','images/vehicles_fuel.jpeg','images/vehicles_odometer.jpeg','images/vehicles_services.jpeg'], diff --git a/addons/fleet/fleet_board_view.xml b/addons/fleet/fleet_board_view.xml deleted file mode 100644 index 41093d2c283..00000000000 --- a/addons/fleet/fleet_board_view.xml +++ /dev/null @@ -1,154 +0,0 @@ - - - - - Fuel Costs by Month - fleet.vehicle.cost - - form - tree - ['&',('parent_id','=',False),('cost_type','=','fuel')] - - - - Services Costs by Month - fleet.vehicle.cost - - form - tree - ['&',('parent_id','=',False),('cost_type','=','services')] - - - - Contracts Costs by Month - fleet.vehicle.cost - - form - tree - ['&',('parent_id','=',False),('cost_type','=','contract')] - - - - Costs by Month - fleet.vehicle.cost - - form - tree - [('parent_id','=',False)] - - - - Vehicles with alerts - fleet.vehicle - - form - tree - ['|',('contract_renewal_due_soon','=',True),('contract_renewal_overdue','=',True)] - -

- Here are displayed vehicles for which one or more contracts need to be renewed. If you see this message, then there is no contracts to renew. -

-
-
- - - Costs Analysis - fleet.vehicle.cost - - form - tree - {"search_default_parent_false" : True,"search_default_groupby_year" : True,"search_default_groupby_cost_type" : True,"search_default_groupby_cost_subtype" : True, "search_default_groupby_vehicle_id" : True,} - -

- OpenERP helps you managing the costs for your different vehicles - Costs are generally created from services and contract and appears here. -

-

- Thanks to the different filters, OpenERP can only print the effective - costs, sort them by type and by vehicle. -

-
-
- - - Indicative Costs Analysis - fleet.vehicle.cost - - form - tree - {"search_default_parent_true" : True,"search_default_groupby_cost_subtype" : True,"search_default_groupby_cost_type" : True,"search_default_groupby_parent_id" : True,} - -

- OpenERP helps you managing the costs for your different vehicles - Costs are generally created from services and contract and appears here. -

-

- Thanks to the different filters, OpenERP can only print the effective - costs, sort them by type and by vehicle. -

-
-
- - - board.fleet.form - board.board - -
- - - - - - - - - - - -
-
-
- - - Fleet - board.board - form - form - menu - - -
-

- Fleet dashboard is empty. -

- To add your first report into this dashboard, go to any - menu, switch to list or graph view, and click 'Add to - Dashboard' in the extended search options. -

- You can filter and group data before inserting into the - dashboard using the search options. -

-
-
-
- - - - - - - -
-
From a267d86b294315ef528e1a46465e5406827e8d62 Mon Sep 17 00:00:00 2001 From: "Sunil Sharma (OpenERP)" Date: Thu, 30 Jan 2014 12:19:23 +0530 Subject: [PATCH 21/98] [rem,imp]:hr:remove hr dashboard and improve hr view bzr revid: sunilsharma.sharma07@gmail.com-20140130064923-35tvo8q3sy4n09vx --- addons/hr/__openerp__.py | 1 - addons/hr/board_hr_view.xml | 49 ------------------- addons/hr/hr_view.xml | 1 + addons/hr_evaluation/__openerp__.py | 1 - .../board_hr_evaluation_view.xml | 26 ---------- addons/hr_expense/__openerp__.py | 1 - addons/hr_expense/board_hr_expense_view.xml | 26 ---------- addons/hr_holidays/__openerp__.py | 1 - addons/hr_holidays/board_hr_holidays_view.xml | 27 ---------- addons/hr_recruitment/__openerp__.py | 1 - .../board_hr_recruitment_statistical_view.xml | 41 ---------------- addons/hr_timesheet_sheet/__openerp__.py | 1 - .../board_hr_timesheet_view.xml | 37 -------------- 13 files changed, 1 insertion(+), 212 deletions(-) delete mode 100644 addons/hr/board_hr_view.xml delete mode 100644 addons/hr_evaluation/board_hr_evaluation_view.xml delete mode 100644 addons/hr_expense/board_hr_expense_view.xml delete mode 100644 addons/hr_holidays/board_hr_holidays_view.xml delete mode 100644 addons/hr_recruitment/board_hr_recruitment_statistical_view.xml delete mode 100644 addons/hr_timesheet_sheet/board_hr_timesheet_view.xml diff --git a/addons/hr/__openerp__.py b/addons/hr/__openerp__.py index ef7225788f6..b06497874d0 100644 --- a/addons/hr/__openerp__.py +++ b/addons/hr/__openerp__.py @@ -52,7 +52,6 @@ You can manage: 'data': [ 'security/hr_security.xml', 'security/ir.model.access.csv', - 'board_hr_view.xml', 'hr_view.xml', 'process/hr_process.xml', 'hr_installer.xml', diff --git a/addons/hr/board_hr_view.xml b/addons/hr/board_hr_view.xml deleted file mode 100644 index 84db6128f41..00000000000 --- a/addons/hr/board_hr_view.xml +++ /dev/null @@ -1,49 +0,0 @@ - - - - - - board.hr.form - board.board - -
- - - - -
-
-
- - - Human Resources - board.board - form - form - menu - - -
-

- Human Resources dashboard is empty. -

- To add your first report into this dashboard, go to any - menu, switch to list or graph view, and click 'Add to - Dashboard' in the extended search options. -

- You can filter and group data before inserting into the - dashboard using the search options. -

-
-
-
- - -
-
diff --git a/addons/hr/hr_view.xml b/addons/hr/hr_view.xml index eea2eb2ce41..620593d20a9 100644 --- a/addons/hr/hr_view.xml +++ b/addons/hr/hr_view.xml @@ -7,6 +7,7 @@ id="menu_hr_root" groups="base.group_hr_manager,base.group_hr_user,base.group_user" sequence="90"/> + - - - - - Interview Requests - hr.evaluation.interview - form - - [('is_evaluation' ,'=', True), ('user_id', '=', uid),('state','=','waiting_answer')] - - - - - board.hr.evaluation.form - board.board - - - - - - - - - - diff --git a/addons/hr_expense/__openerp__.py b/addons/hr_expense/__openerp__.py index f149bc0c7c6..928d1827d95 100644 --- a/addons/hr_expense/__openerp__.py +++ b/addons/hr_expense/__openerp__.py @@ -57,7 +57,6 @@ This module also uses analytic accounting and is compatible with the invoice on 'process/hr_expense_process.xml', 'security/ir_rule.xml', 'report/hr_expense_report_view.xml', - 'board_hr_expense_view.xml', 'hr_expense_installer_view.xml', ], 'demo': ['hr_expense_demo.xml'], diff --git a/addons/hr_expense/board_hr_expense_view.xml b/addons/hr_expense/board_hr_expense_view.xml deleted file mode 100644 index 3f896a76fae..00000000000 --- a/addons/hr_expense/board_hr_expense_view.xml +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - My Expenses - hr.expense.expense - form - [('state','in',('confirm', 'accepted')),('user_id','=',uid)] - {'default_user_id': uid} - - - - - board.hr.expense.form - board.board - - - - - - - - - - diff --git a/addons/hr_holidays/__openerp__.py b/addons/hr_holidays/__openerp__.py index 5d57dbab87e..eec73fe07e5 100644 --- a/addons/hr_holidays/__openerp__.py +++ b/addons/hr_holidays/__openerp__.py @@ -57,7 +57,6 @@ A synchronization with an internal agenda (Meetings of the CRM module) is also p 'report/available_holidays_view.xml', 'wizard/hr_holidays_summary_department_view.xml', 'wizard/hr_holidays_summary_employees_view.xml', - 'board_hr_holidays_view.xml', ], 'demo': ['hr_holidays_demo.xml',], 'js': ['static/src/js/*.js'], diff --git a/addons/hr_holidays/board_hr_holidays_view.xml b/addons/hr_holidays/board_hr_holidays_view.xml deleted file mode 100644 index c90ee32c396..00000000000 --- a/addons/hr_holidays/board_hr_holidays_view.xml +++ /dev/null @@ -1,27 +0,0 @@ - - - - - - My Leaves - hr.holidays.status - form - tree,form - - {} - [] - - - - board.hr.holidays.leave.month.form - board.board - - - - - - - - - - diff --git a/addons/hr_recruitment/__openerp__.py b/addons/hr_recruitment/__openerp__.py index cb1dd54e902..4697a9e6aac 100644 --- a/addons/hr_recruitment/__openerp__.py +++ b/addons/hr_recruitment/__openerp__.py @@ -52,7 +52,6 @@ You can define the different phases of interviews and easily rate the applicant 'security/hr_recruitment_security.xml', 'security/ir.model.access.csv', 'report/hr_recruitment_report_view.xml', - 'board_hr_recruitment_statistical_view.xml', 'hr_recruitment_installer_view.xml', 'res_config_view.xml', 'hr_recruitment_data.xml', diff --git a/addons/hr_recruitment/board_hr_recruitment_statistical_view.xml b/addons/hr_recruitment/board_hr_recruitment_statistical_view.xml deleted file mode 100644 index 2bec80858a5..00000000000 --- a/addons/hr_recruitment/board_hr_recruitment_statistical_view.xml +++ /dev/null @@ -1,41 +0,0 @@ - - - - - - applicants.status.tree - hr.applicant - - - - - - - - - - - - - Applicants Status - ir.actions.act_window - hr.applicant - form - tree,form - [('stage_id.fold', '!=', True)] - - - - - board.hr.applicants.status.form - board.board - - - - - - - - - - diff --git a/addons/hr_timesheet_sheet/__openerp__.py b/addons/hr_timesheet_sheet/__openerp__.py index e92ab4400bd..0853e81690d 100644 --- a/addons/hr_timesheet_sheet/__openerp__.py +++ b/addons/hr_timesheet_sheet/__openerp__.py @@ -53,7 +53,6 @@ The validation can be configured in the company: 'hr_timesheet_sheet_view.xml', 'hr_timesheet_workflow.xml', 'process/hr_timesheet_sheet_process.xml', - 'board_hr_timesheet_view.xml', 'report/hr_timesheet_report_view.xml', 'report/timesheet_report_view.xml', 'wizard/hr_timesheet_current_view.xml', diff --git a/addons/hr_timesheet_sheet/board_hr_timesheet_view.xml b/addons/hr_timesheet_sheet/board_hr_timesheet_view.xml deleted file mode 100644 index 145d118ceb7..00000000000 --- a/addons/hr_timesheet_sheet/board_hr_timesheet_view.xml +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - hr.timesheet.sheet.sheet.graph - hr_timesheet_sheet.sheet - - - - - - - - - - My Total Attendances By Week - hr_timesheet_sheet.sheet - form - graph - [('user_id','=',uid)] - - - - - board.hr.timesheet.sheet.form - board.board - - - - - - - - - - From bd31663a172d97c06f79a679d9fc814ec212f002 Mon Sep 17 00:00:00 2001 From: "Sunil Sharma (OpenERP)" Date: Thu, 30 Jan 2014 15:37:35 +0530 Subject: [PATCH 22/98] [imp]:fleet:improve fleet view bzr revid: sunilsharma.sharma07@gmail.com-20140130100735-pjs8eo6hhgp3i7zg --- addons/fleet/__openerp__.py | 1 + addons/fleet/fleet_board_view.xml | 57 +++++++++++++++++++++++++++++++ 2 files changed, 58 insertions(+) create mode 100644 addons/fleet/fleet_board_view.xml diff --git a/addons/fleet/__openerp__.py b/addons/fleet/__openerp__.py index 3edf8ea8e0d..29c0e9d3ceb 100644 --- a/addons/fleet/__openerp__.py +++ b/addons/fleet/__openerp__.py @@ -54,6 +54,7 @@ Main Features 'fleet_view.xml', 'fleet_cars.xml', 'fleet_data.xml', + 'fleet_board_view.xml', ], 'images': ['images/costs_analysis.jpeg','images/indicative_costs_analysis.jpeg','images/vehicles.jpeg','images/vehicles_contracts.jpeg','images/vehicles_fuel.jpeg','images/vehicles_odometer.jpeg','images/vehicles_services.jpeg'], diff --git a/addons/fleet/fleet_board_view.xml b/addons/fleet/fleet_board_view.xml new file mode 100644 index 00000000000..e657d904d64 --- /dev/null +++ b/addons/fleet/fleet_board_view.xml @@ -0,0 +1,57 @@ + + + + + + Costs Analysis + fleet.vehicle.cost + + form + tree + {"search_default_parent_false" : True,"search_default_groupby_year" : True,"search_default_groupby_cost_type" : True,"search_default_groupby_cost_subtype" : True, "search_default_groupby_vehicle_id" : True,} + +

+ OpenERP helps you managing the costs for your different vehicles + Costs are generally created from services and contract and appears here. +

+

+ Thanks to the different filters, OpenERP can only print the effective + costs, sort them by type and by vehicle. +

+
+
+ + + Indicative Costs Analysis + fleet.vehicle.cost + + form + tree + {"search_default_parent_true" : True,"search_default_groupby_cost_subtype" : True,"search_default_groupby_cost_type" : True,"search_default_groupby_parent_id" : True,} + +

+ OpenERP helps you managing the costs for your different vehicles + Costs are generally created from services and contract and appears here. +

+

+ Thanks to the different filters, OpenERP can only print the effective + costs, sort them by type and by vehicle. +

+
+
+ + + + + + +
+
From 16c05082c8c062b02b566acc4d1bc9ec85476e3e Mon Sep 17 00:00:00 2001 From: "Sunil Sharma (OpenERP)" Date: Tue, 4 Mar 2014 12:38:10 +0530 Subject: [PATCH 23/98] [remove]:mrp dashboard file bzr revid: sunilsharma.sharma07@gmail.com-20140304070810-282vhtpg3mduym0j --- addons/mrp/__openerp__.py | 1 - 1 file changed, 1 deletion(-) diff --git a/addons/mrp/__openerp__.py b/addons/mrp/__openerp__.py index 5b625486e9c..73985b7a4d8 100644 --- a/addons/mrp/__openerp__.py +++ b/addons/mrp/__openerp__.py @@ -69,7 +69,6 @@ Dashboard / Reports for MRP will include: 'process/service_product_process.xml', 'process/procurement_process.xml', 'report/mrp_report_view.xml', - 'board_manufacturing_view.xml', 'res_config_view.xml', 'views/report_mrporder.xml', From 8c666af35c9c7b79373b999d1df2d4ba350e8f5d Mon Sep 17 00:00:00 2001 From: "Randhir Mayatra (OpenERP)" Date: Tue, 4 Mar 2014 14:26:59 +0530 Subject: [PATCH 24/98] [IMP] remove menu_id from user model bzr revid: rajmyt@gmail.com-20140304085659-lufot16ae59y1jca --- addons/web/controllers/main.py | 9 --------- 1 file changed, 9 deletions(-) diff --git a/addons/web/controllers/main.py b/addons/web/controllers/main.py index a9f56a2099c..d1e450cc34f 100644 --- a/addons/web/controllers/main.py +++ b/addons/web/controllers/main.py @@ -1054,16 +1054,7 @@ class Menu(http.Controller): """ s = request.session Menus = s.model('ir.ui.menu') - # If a menu action is defined use its domain to get the root menu items - user_menu_id = s.model('res.users').read([s.uid], ['menu_id'], - request.context)[0]['menu_id'] - menu_domain = [('parent_id', '=', False)] - if user_menu_id: - domain_string = s.model('ir.actions.act_window').read( - [user_menu_id[0]], ['domain'],request.context)[0]['domain'] - if domain_string: - menu_domain = ast.literal_eval(domain_string) return Menus.search(menu_domain, 0, False, False, request.context) From 9b74e8054eaafa2ec1a21d9e9291b24bdb81b2d2 Mon Sep 17 00:00:00 2001 From: "Randhir Mayatra (OpenERP)" Date: Tue, 4 Mar 2014 15:20:57 +0530 Subject: [PATCH 25/98] [IMP] remove fleet dashboard bzr revid: rajmyt@gmail.com-20140304095057-3i12fqxqz673z6i8 --- addons/fleet/fleet_board_view.xml | 99 ------------------------------- 1 file changed, 99 deletions(-) diff --git a/addons/fleet/fleet_board_view.xml b/addons/fleet/fleet_board_view.xml index c4732d9a0f4..9530ee0dd38 100644 --- a/addons/fleet/fleet_board_view.xml +++ b/addons/fleet/fleet_board_view.xml @@ -1,56 +1,6 @@ - - Fuel Costs by Month - fleet.vehicle.cost - - form - tree - ['&',('parent_id','=',False),('cost_type','=','fuel')] - - - - Services Costs by Month - fleet.vehicle.cost - - form - tree - ['&',('parent_id','=',False),('cost_type','=','services')] - - - - Contracts Costs by Month - fleet.vehicle.cost - - form - tree - ['&',('parent_id','=',False),('cost_type','=','contract')] - - - - Costs by Month - fleet.vehicle.cost - - form - tree - [('parent_id','=',False)] - - - - Vehicles with alerts - fleet.vehicle - - form - tree - ['|',('contract_renewal_due_soon','=',True),('contract_renewal_overdue','=',True)] - -

- Here are displayed vehicles for which one or more contracts need to be renewed. If you see this message, then there is no contracts to renew. -

-
-
- Costs Analysis fleet.vehicle.cost @@ -88,55 +38,6 @@

- - - board.fleet.form - board.board - -
- - - - - - - - - - - -
-
-
- - - Fleet - board.board - form - form - menu - - -
-

- Fleet dashboard is empty. -

- To add your first report into this dashboard, go to any - menu, switch to list or graph view, and click 'Add to - Dashboard' in the extended search options. -

- You can filter and group data before inserting into the - dashboard using the search options. -

-
-
-
- - From 84ed653322aa379ace94081dfde12ecc96bc485e Mon Sep 17 00:00:00 2001 From: "Randhir Mayatra (OpenERP)" Date: Tue, 4 Mar 2014 17:59:31 +0530 Subject: [PATCH 26/98] [IMP] remove tree view from task_hours_per_month report bzr revid: rajmyt@gmail.com-20140304122931-ektojfe9yvlxeiba --- .../report/task_report_view.xml | 16 +--------------- 1 file changed, 1 insertion(+), 15 deletions(-) diff --git a/addons/project_timesheet/report/task_report_view.xml b/addons/project_timesheet/report/task_report_view.xml index 2c8a34c656e..37d7b1486f9 100644 --- a/addons/project_timesheet/report/task_report_view.xml +++ b/addons/project_timesheet/report/task_report_view.xml @@ -9,20 +9,6 @@ - - report.timesheet.task.user.tree - report.timesheet.task.user - - - - - - - - - - - report.timesheet.task.user.search report.timesheet.task.user @@ -55,7 +41,7 @@ Task Hours Per Month report.timesheet.task.user form - tree,graph + graph {'search_default_year':1,'search_default_month':1, 'search_default_group_user_id':1} Date: Tue, 4 Mar 2014 18:37:27 +0530 Subject: [PATCH 27/98] [IMP] remove list view from member analysis report bzr revid: rajmyt@gmail.com-20140304130727-heez8ub1x4jq4dxw --- addons/membership/report/report_membership_view.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/addons/membership/report/report_membership_view.xml b/addons/membership/report/report_membership_view.xml index 50b579d9ec2..100ec32043f 100644 --- a/addons/membership/report/report_membership_view.xml +++ b/addons/membership/report/report_membership_view.xml @@ -49,6 +49,7 @@ Members Analysis report.membership form + graph {"search_default_year":1,"search_default_member":1, 'search_default_Revenue':1, 'search_default_this_month':1, 'search_default_salesman':1,'group_by_no_leaf':1} From 60bdd78706336fa0221264f1675a8645bc2a99e9 Mon Sep 17 00:00:00 2001 From: "chm@openerp.com" <> Date: Thu, 20 Mar 2014 09:30:55 +0100 Subject: [PATCH 28/98] [IMP] website tour: refactoring and change api for create tour and test bzr revid: chm@openerp.com-20140320083055-z5ys4oey5brd439v --- .../static/src/js/website.tour.banner.js | 207 +++--- addons/website/static/src/js/website.tour.js | 689 +++++++----------- .../static/src/js/website.tour.blog.js | 210 +++--- .../static/src/js/website.tour.event.js | 206 +++--- .../static/src/js/website.tour.event_sale.js | 129 ++-- .../static/src/js/website.tour.sale.js | 159 ++-- .../static/src/js/website.tour.shop.js | 254 +++---- 7 files changed, 836 insertions(+), 1018 deletions(-) diff --git a/addons/website/static/src/js/website.tour.banner.js b/addons/website/static/src/js/website.tour.banner.js index 9c8afcd61e5..65099d03986 100644 --- a/addons/website/static/src/js/website.tour.banner.js +++ b/addons/website/static/src/js/website.tour.banner.js @@ -4,117 +4,106 @@ var website = openerp.website; var _t = openerp._t; - website.EditorBar.include({ - start: function () { - this.registerTour(new website.Tour.Banner(this)); - return this._super(); - }, - }); - - website.Tour.Banner = website.Tour.extend({ + website.Tour.register({ id: 'banner', - name: "Build a page", + name: _t("Build a page"), path: '/page/website.homepage', - init: function () { - var self = this; - self.steps = [ - { - title: _t("Welcome to your website!"), - content: _t("This tutorial will guide you to build your home page. We will start by adding a banner."), - popover: { next: _t("Start Tutorial"), end: _t("Skip It") }, - }, - { - waitNot: '.popover.tour', - element: 'button[data-action=edit]', - placement: 'bottom', - title: _t("Edit this page"), - content: _t("Every page of your website can be modified through the Edit button."), - popover: { fixed: true }, - }, - { - element: 'button[data-action=snippet]', - placement: 'bottom', - title: _t("Insert building blocks"), - content: _t("Click here to insert blocks of centent in the page."), - popover: { fixed: true }, - }, - { - snippet: '#snippet_structure .oe_snippet:first', - placement: 'bottom', - title: _t("Drag & Drop a Banner"), - content: _t("Drag the Banner block and drop it in your page."), - popover: { fixed: true }, - }, - { - waitFor: '.oe_overlay_options .oe_options:visible', - element: '#wrap .carousel:first .carousel-caption > div', - placement: 'top', - title: _t("Customize banner's text"), - content: _t("Click in the text and start editing it."), - popover: { next: _t("Continue") }, - }, - { - element: '.oe_overlay_options .oe_options:visible', - placement: 'left', - title: _t("Customize the banner"), - content: _t("Customize any block through this menu. Try to change the background of the banner."), - popover: { next: _t("Continue") }, - }, - { - waitNot: '.popover.tour', - element: 'button[data-action=snippet]', - placement: 'bottom', - title: _t("Add Another Block"), - content: _t("Let's add another building block to your page."), - popover: { fixed: true }, - }, - { - snippet: '#snippet_structure .oe_snippet:eq(6)', - placement: 'bottom', - title: _t("Drag & Drop This Block"), - content: _t("Drag the 'Features' block and drop it below the banner."), - popover: { fixed: true }, - }, - { - waitFor: '.oe_overlay_options .oe_options:visible', - element: 'button[data-action=save]', - placement: 'right', - title: _t("Save your modifications"), - content: _t("Publish your page by clicking on the 'Save' button."), - popover: { fixed: true }, - }, - { - waitFor: 'button[data-action=edit]:visible', - title: _t("Good Job!"), - content: _t("Well done, you created your homepage."), - popover: { next: _t("Continue") }, - }, - { - waitNot: '.popover.tour', - element: 'a[data-action=show-mobile-preview]', - placement: 'bottom', - title: _t("Test Your Mobile Version"), - content: _t("Let's check how your homepage looks like on mobile devices."), - popover: { fixed: true }, - }, - { - element: '.modal:has(#mobile-viewport) button[data-dismiss=modal]', - placement: 'right', - title: _t("Check Mobile Preview"), - content: _t("Scroll to check rendering and then close the mobile preview."), - popover: { next: _t("Continue") }, - }, - { - waitNot: '.modal', - element: '#content-menu-button', - placement: 'left', - title: _t("Add new pages and menus"), - content: _t("The 'Content' menu allows you to add pages or add the top menu."), - popover: { next: _t("Close Tutorial") }, - }, - ]; - return this._super(); - }, + steps: [ + { + title: _t("Welcome to your website!"), + content: _t("This tutorial will guide you to build your home page. We will start by adding a banner."), + popover: { next: _t("Start Tutorial"), end: _t("Skip It") }, + }, + { + waitNot: '.popover.tour', + element: 'button[data-action=edit]', + placement: 'bottom', + title: _t("Edit this page"), + content: _t("Every page of your website can be modified through the Edit button."), + popover: { fixed: true }, + }, + { + element: 'button[data-action=snippet]', + placement: 'bottom', + title: _t("Insert building blocks"), + content: _t("Click here to insert blocks of centent in the page."), + popover: { fixed: true }, + }, + { + snippet: '#snippet_structure .oe_snippet:first', + placement: 'bottom', + title: _t("Drag & Drop a Banner"), + content: _t("Drag the Banner block and drop it in your page."), + popover: { fixed: true }, + }, + { + waitFor: '.oe_overlay_options .oe_options:visible', + element: '#wrap .carousel:first .carousel-caption > div', + placement: 'top', + title: _t("Customize banner's text"), + content: _t("Click in the text and start editing it."), + popover: { next: _t("Continue") }, + }, + { + element: '.oe_overlay_options .oe_options:visible', + placement: 'left', + title: _t("Customize the banner"), + content: _t("Customize any block through this menu. Try to change the background of the banner."), + popover: { next: _t("Continue") }, + }, + { + waitNot: '.popover.tour', + element: 'button[data-action=snippet]', + placement: 'bottom', + title: _t("Add Another Block"), + content: _t("Let's add another building block to your page."), + popover: { fixed: true }, + }, + { + snippet: '#snippet_structure .oe_snippet:eq(6)', + placement: 'bottom', + title: _t("Drag & Drop This Block"), + content: _t("Drag the 'Features' block and drop it below the banner."), + popover: { fixed: true }, + }, + { + waitFor: '.oe_overlay_options .oe_options:visible', + element: 'button[data-action=save]', + placement: 'right', + title: _t("Save your modifications"), + content: _t("Publish your page by clicking on the 'Save' button."), + popover: { fixed: true }, + }, + { + waitFor: 'button[data-action=edit]:visible', + title: _t("Good Job!"), + content: _t("Well done, you created your homepage."), + popover: { next: _t("Continue") }, + }, + { + waitNot: '.popover.tour', + element: 'a[data-action=show-mobile-preview]', + placement: 'bottom', + title: _t("Test Your Mobile Version"), + content: _t("Let's check how your homepage looks like on mobile devices."), + popover: { fixed: true }, + }, + { + element: '.modal:has(#mobile-viewport) button[data-dismiss=modal]', + placement: 'right', + title: _t("Check Mobile Preview"), + content: _t("Scroll to check rendering and then close the mobile preview."), + popover: { next: _t("Continue") }, + }, + { + waitNot: '.modal', + element: '#content-menu-button', + placement: 'left', + title: _t("Add new pages and menus"), + content: _t("The 'Content' menu allows you to add pages or add the top menu."), + popover: { next: _t("Close Tutorial") }, + }, + ] }); }()); diff --git a/addons/website/static/src/js/website.tour.js b/addons/website/static/src/js/website.tour.js index b7e55fe166b..c5ccd1f42c9 100644 --- a/addons/website/static/src/js/website.tour.js +++ b/addons/website/static/src/js/website.tour.js @@ -6,7 +6,7 @@ if (typeof openerp === "undefined") { var error = "openerp is undefined" + "\nhref: " + window.location.href + "\nreferrer: " + document.referrer - + "\nlocalStorage: " + JSON.stringify(window.localStorage); + + "\nlocalStorage: " + window.localStorage.getItem("tour"); if (typeof $ !== "undefined") { error += '\n\n' + $("body").html(); } @@ -36,27 +36,24 @@ function bootstrap_tour_stub () { } } - - if (website.EditorBar) { website.EditorBar.include({ tours: [], start: function () { var self = this; var menu = $('#help-menu'); - _.each(this.tours, function (tour) { + _.each(website.Tour.tours, function (tour) { + if (tour.mode != "tutorial") { + return; + } var $menuItem = $($.parseHTML('
  • '+tour.name+'
  • ')); $menuItem.click(function () { - tour.reset(); - tour.run(); + website.Tour.reset(); + website.Tour.run(tour.id); }); menu.append($menuItem); }); return this._super(); - }, - registerTour: function (tour) { - website.Tour.add(tour); - this.tours.push(tour); } }); } @@ -94,434 +91,312 @@ $.ajaxSetup({ } }); -website.Tour = openerp.Class.extend({ - steps: [], - defaultDelay: 50, //ms - defaultOverLaps: 5000, //ms - localStorage: window.localStorage, - init: function () {}, - run: function (automatic) { - this.reset(); +///////////////////////////////////////////////// - for (var k in this.localStorage) { - if (!k.indexOf("tour-") && k.indexOf("-test") > -1) return; + +var localStorage = window.localStorage; + +website.Tour = {}; +website.Tour.tours = {}; +website.Tour.state = null; +website.Tour.register = function (tour) { + website.Tour.tours[tour.id] = tour; +}; +website.Tour.run = function (tour_id, mode) { + if (localStorage.getItem("tour")) { // only one test running + return; + } + var tour = website.Tour.tours[tour_id]; + website.Tour.save_state(tour.id, mode || tour.mode, 0); + if (tour.path) { + window.location.href = "/"+website.Tour.getLang()+tour.path; + } +}; +website.Tour.registerSteps = function (tour) { + if (tour.register) { + return; + } + tour.register = true; + + for (var index=0, len=tour.steps.length; index 0 && tour.steps[index-1] && + tour.steps[index-1].popover && tour.steps[index-1].popover.next) { + step.waitNot = '.popover.tour:visible'; + } + if (!step.waitFor && index > 0 && tour.steps[index-1].snippet) { + step.waitFor = '.oe_overlay_options .oe_options:visible'; } - website.Tour.busy = true; + if (!step.element) step.orphan = true; - if (automatic) { - this.localStorage.setItem("tour-"+this.id+"-test-automatic", true); - } else { - this.localStorage.removeItem("tour-"+this.id+"-test-automatic"); + var snippet = step.element.match(/#oe_snippets (.*) \.oe_snippet_thumbnail/); + if (snippet) { + step.snippet = snippet[1]; + } else if (step.snippet) { + step.element = '#oe_snippets '+step.snippet+' .oe_snippet_thumbnail'; } - this.automatic = automatic; + } + if (tour.steps[index-1] && + tour.steps[index-1].popover && tour.steps[index-1].popover.next) { + var step = { + step_id: index, + waitNot: '.popover.tour:visible' + }; + tour.steps.push(step); + } - if (this.path) { - // redirect to begin of the tour in function of the language - if (!this.testUrl(this.path+"(#.*)?$")) { - var path = this.path.split('#'); - window.location.href = "/"+this.getLang()+path[0] + "#tutorial."+this.id+"=true&" + path.slice(1, path.length).join("#"); - return; - } - } - - var self = this; - this.localStorage.setItem("tour-"+this.id+"-test", 0); - website.Tour.waitReady.call(this, function () {self._running();}); - }, - running: function () { - var self = this; - if (+this.localStorage.getItem("tour-"+this.id+"-test") >= this.steps.length-1) { - this.endTour(); - return; - } - - if (website.Tour.is_busy()) return; - - // launch tour with url - this.checkRunningUrl(); - - // mark tour as busy (only one test running) - if (this.localStorage.getItem("tour-"+this.id+"-test") != null) { - website.Tour.busy = true; - this.automatic = !!this.localStorage.getItem("tour-"+this.id+"-test-automatic"); - } - - if (!this.testPathUrl()) { - if (this.automatic) { - this.timer = setTimeout(function () { - self.reset(); - throw new Error("Wrong url for running " + self.id - + '\ntestPath: ' + self.testPath - + '\nhref: ' + window.location.href - + "\nreferrer: " + document.referrer - ); - },this.defaultOverLaps); - } - return; - } - - var self = this; - website.Tour.waitReady.call(this, function () {self._running();}); - }, - _running: function () { - var stepId = this.localStorage.getItem("tour-"+this.id+"-test"); - - if (stepId != null) { - this.registerTour(); - this.nextStep(stepId, this.automatic ? this.autoNextStep : null, this.automatic ? this.defaultOverLaps : null); - } - }, - - reset: function () { - website.Tour.busy = false; - for (var k in this.steps) { - this.steps[k].busy = false; - } - clearTimeout(self.timer); - clearTimeout(self.testtimer); - - for (var k in this.localStorage) { - if (!k.indexOf("tour-") || !k.indexOf(this.id)) { - this.localStorage.removeItem(k); - } - } - - $('.popover.tour').remove(); - }, - - getLang: function () { - return $("html").attr("lang").replace(/-/, '_'); - }, - testUrl: function (url) { - return new RegExp("(/"+this.getLang()+")?"+url, "i").test(window.location.href); - }, - testPathUrl: function () { - if (!this.testPath || this.testUrl(this.testPath)) return true; - }, - checkRunningUrl: function () { - if (window.location.hash.indexOf("tutorial."+this.id+"=true") > -1) { - this.localStorage.setItem("tour-"+this.id+"-test", 0); - window.location.hash = window.location.hash.replace(/tutorial.+=true&?/, ''); - } - }, - - registerTour: function () { - if (this.automatic) { - bootstrap_tour_stub(); - } - this.tour = new Tour({ + // rendering bootstrap tour and popover + if (tour.mode != "test") { + tour.tour = new Tour({ name: this.id, - storage: this.tourStorage, + storage: localStorage, keyboard: false, template: this.popover(), onHide: function () { window.scrollTo(0, 0); } }); - this.registerSteps(); - }, - registerSteps: function () { - for (var index=0, len=this.steps.length; index 0 && this.steps[index-1] && - this.steps[index-1].popover && this.steps[index-1].popover.next) { - step.waitNot = '.popover.tour:visible'; - } - if (!step.waitFor && index > 0 && this.steps[index-1].snippet) { - step.waitFor = '.oe_overlay_options .oe_options:visible'; - } - + for (var index=0, len=tour.steps.length; index -1) { + tour_id = window.location.href.match(/#tutorial\.(.*)=true/)[1]; + mode = "tutorial"; + step_id = 0; + } + if (!tour_id) { + return; + } + var tour = website.Tour.tours[tour_id]; + return {'tour': tour, 'tour_id': tour_id, 'mode': mode, 'step_id': step_id}; +}; +website.Tour.error = function (tour, step, message) { + website.Tour.reset(); + throw new Error(message + + + "\ntour:" + tour.id + + + "\nstep:" + step.id + ": '" + (step._title || step.title) + "'" + + '\nhref: ' + window.location.href + + '\nreferrer: ' + document.referrer + + '\nelement: ' + Boolean(!step.element || ($(step.element).size() && $(step.element).is(":visible") && !$(step.element).is(":hidden"))) + + '\nwaitNot: ' + Boolean(!step.waitNot || !$(step.waitNot).size()) + + '\nwaitFor: ' + Boolean(!step.waitFor || $(step.waitFor).size()) + + '\n\n' + $("body").html() + ); +}; +website.Tour.lists = function () { + var tour_ids = []; + for (var k in website.Tour.tours) { + tour_ids.push(k); + } + return tour_ids; +}; +website.Tour.save_state = function (tour_id, mode, step_id) { + localStorage.setItem("tour", '{tour_id:'+tour_id+', mode:'+mode+', step_id:'+step_id+'}'); +}; +website.Tour.reset = function () { + var running = website.Tour.get_state(); + for (var k in running.tour.steps) { + running.tour.steps[k].busy = false; + } + localStorage.removeItem("tour"); + clearTimeout(website.Tour.timer); + clearTimeout(website.Tour.testtimer); - if (this.steps[index-1] && - this.steps[index-1].popover && this.steps[index-1].popover.next) { - var step = { - stepId: ""+index, - waitNot: '.popover.tour:visible' - }; - this.steps.push(step); - } + $('.popover.tour').remove(); +}; +website.Tour.running = function () { + var running = website.Tour.get_state(); + website.Tour.registerSteps(running.tour); + website.Tour.nextStep( running.tour, running.step_id ); +}; - this.tour.addSteps(this.steps); - }, +website.Tour.timer = null; +website.Tour.testtimer = null; +website.Tour.defaultDelay = 50; +website.Tour.check = function (step) { + return (step && + (!step.element || ($(step.element).size() && $(step.element).is(":visible") && !$(step.element).is(":hidden"))) && + (!step.waitNot || !$(step.waitNot).size()) && + (!step.waitFor || $(step.waitFor).size())); +}; +website.Tour.waitNextStep = function (tour, step, overlaps) { + var time = new Date().getTime(); + var timer; - popoverTitle: function (options) { - try { - return openerp.qweb.render('website.tour_popover_title', options); - } catch (e) { - if (!this.automatic) throw e; - return options.title; - } - }, - popover: function (options) { - try { - return openerp.qweb.render('website.tour_popover', options); - } catch (e) { - if (!this.automatic) throw e; - return ""; - } - }, + window.onbeforeunload = function () { + clearTimeout(website.Tour.timer); + clearTimeout(website.Tour.testtimer); + }; - timer: null, - testtimer: null, - check: function (step) { - return (step && - (!step.element || ($(step.element).size() && $(step.element).is(":visible") && !$(step.element).is(":hidden"))) && - (!step.waitNot || !$(step.waitNot).size()) && - (!step.waitFor || $(step.waitFor).size())); - }, - waitNextStep: function (step, callback, overlaps) { - var self = this; - var time = new Date().getTime(); - var timer; - - window.onbeforeunload = function () { - clearTimeout(self.timer); - clearTimeout(self.testtimer); - }; - - // check popover activity - $(".popover.tour button") - .off() - .on("click", function () { - $(".popover.tour").remove(); - if (step.busy) return; - if (!$(this).is("[data-role='next']")) { - clearTimeout(self.timer); - step.busy = true; - self.tour.end(); - self.endTour(callback); - } - }); - - function checkNext () { - clearTimeout(self.timer); + // check popover activity + $(".popover.tour button") + .off() + .on("click", function () { + $(".popover.tour").remove(); if (step.busy) return; - if (self.check(step)) { + if (!$(this).is("[data-role='next']")) { + clearTimeout(website.Tour.timer); step.busy = true; - // use an other timeout for cke dom loading - setTimeout(function () { - self.nextStep(step.stepId, callback, overlaps); - }, self.defaultDelay); - } else if (!overlaps || new Date().getTime() - time < overlaps) { - if (self.current.element) { - var $popover = $(".popover.tour"); - if(!$(self.current.element).is(":visible")) { - $popover.data("hide", true).fadeOut(300); - } else if($popover.data("hide")) { - $popover.data("hide", false).fadeIn(150); - } + if (tour.tour) { + tour.tour.end(); } - self.timer = setTimeout(checkNext, self.defaultDelay); - } else { - self.reset(); - throw new Error("Can't arrive to step " + step.stepId + ": '" + step._title + "'" - + '\nhref: ' + window.location.href - + '\nelement: ' + Boolean(!step.element || ($(step.element).size() && $(step.element).is(":visible") && !$(step.element).is(":hidden"))) - + '\nwaitNot: ' + Boolean(!step.waitNot || !$(step.waitNot).size()) - + '\nwaitFor: ' + Boolean(!step.waitFor || $(step.waitFor).size()) - + '\n\n' + $("body").html() - ); + tour.endTour(tour); } - } - checkNext(); - }, - step: function (stepId) { - var steps = this.steps.slice(0,this.steps.length), - step; - while (step = steps.shift()) { - if (!stepId || step.stepId === stepId) - return step; - } - return null; - }, - next: function (stepId) { - var steps = this.steps.slice(0,this.steps.length), - step, next, index=0; - while (step = steps.shift()) { - if (!stepId || step.stepId === stepId) { - // clear popover (fix for boostrap tour if the element is removed before destroy popover) - $(".popover.tour").remove(); - // go to step in bootstrap tour - this.tour.goto(index); - if (step.onload) step.onload(); - next = steps.shift(); - break; - } - index++; - } - return next; - }, - nextStep: function (stepId, callback, overlaps) { - var self = this; - if (!this.localStorage.getItem("tour-"+this.id+"-test")) return; + }); - this.localStorage.setItem("tour-"+this.id+"-test", stepId || 0); - - this.current = this.step(stepId); - var next = this.next(stepId); - - if (next) { + function checkNext () { + clearTimeout(website.Tour.timer); + if (step.busy) return; + if (website.Tour.check(step)) { + step.busy = true; + // use an other timeout for cke dom loading setTimeout(function () { - self.waitNextStep(next, callback, overlaps); - if (callback) setTimeout(function(){callback.call(self, next);}, self.defaultDelay); - }, next && next.wait || 0); - } else { - this.endTour(); - } - }, - endTour: function () { - var test = parseInt(this.localStorage.getItem("tour-"+this.id+"-test"),10) >= this.steps.length-1; - this.reset(); - if (test) { - console.log('ok'); - } else { - console.log('error'); - } - }, - autoNextStep: function () { - var self = this; - clearTimeout(self.testtimer); - - function autoStep () { - var step = self.current; - if (!step) return; - - if (step.autoComplete) { - step.autoComplete(tour); - } - - var $popover = $(".popover.tour"); - if ($popover.find("button[data-role='next']:visible").size()) { - $popover.find("button[data-role='next']:visible").click(); - $popover.remove(); - } - - var $element = $(step.element); - if (!$element.size()) return; - - if (step.snippet) { - - var selector = '#oe_snippets '+step.snippet+' .oe_snippet_thumbnail'; - self.autoDragAndDropSnippet(selector); - - } else if (step.element.match(/#oe_snippets .* \.oe_snippet_thumbnail/)) { - - self.autoDragAndDropSnippet($element); - - } else if (step.sampleText) { - - $element.trigger($.Event("keydown", { srcElement: $element })); - if ($element.is("input") ) { - $element.val(step.sampleText); - } if ($element.is("select")) { - $element.find("[value='"+step.sampleText+"'], option:contains('"+step.sampleText+"')").attr("selected", true); - $element.val(step.sampleText); - } else { - $element.html(step.sampleText); + website.Tour.nextStep(tour, step, overlaps); + }, website.Tour.defaultDelay); + } else if (!overlaps || new Date().getTime() - time < overlaps) { + if (self.current.element) { + var $popover = $(".popover.tour"); + if(!$(self.current.element).is(":visible")) { + $popover.data("hide", true).fadeOut(300); + } else if($popover.data("hide")) { + $popover.data("hide", false).fadeIn(150); } - setTimeout(function () { - $element.trigger($.Event("keyup", { srcElement: $element })); - $element.trigger($.Event("change", { srcElement: $element })); - }, self.defaultDelay<<1); - - } else if ($element.is(":visible")) { - - $element.trigger($.Event("mouseenter", { srcElement: $element[0] })); - $element.trigger($.Event("mousedown", { srcElement: $element[0] })); - - var evt = document.createEvent("MouseEvents"); - evt.initMouseEvent("click", true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null); - $element[0].dispatchEvent(evt); - - // trigger after for step like: mouseenter, next step click on button display with mouseenter - setTimeout(function () { - $element.trigger($.Event("mouseup", { srcElement: $element[0] })); - $element.trigger($.Event("mouseleave", { srcElement: $element[0] })); - }, 1000); } - } - self.testtimer = setTimeout(autoStep, 100); - }, - autoDragAndDropSnippet: function (selector) { - var $thumbnail = $(selector).first(); - var thumbnailPosition = $thumbnail.position(); - $thumbnail.trigger($.Event("mousedown", { which: 1, pageX: thumbnailPosition.left, pageY: thumbnailPosition.top })); - $thumbnail.trigger($.Event("mousemove", { which: 1, pageX: document.body.scrollWidth/2, pageY: document.body.scrollHeight/2 })); - var $dropZone = $(".oe_drop_zone").first(); - var dropPosition = $dropZone.position(); - $dropZone.trigger($.Event("mouseup", { which: 1, pageX: dropPosition.left, pageY: dropPosition.top })); - }, - -}); - - -website.Tour.tours = {}; -website.Tour.busy = false; -website.Tour.add = function (tour) { - website.Tour.waitReady(function () { - tour = tour.id ? tour : new tour(); - if (!website.Tour.tours[tour.id]) { - website.Tour.tours[tour.id] = tour; - tour.running(); - } - }); -}; -website.Tour.get = function (id) { - return website.Tour.tours[id]; -}; -website.Tour.each = function (callback) { - website.Tour.waitReady(function () { - for (var k in website.Tour.tours) { - callback.call(website.Tour.tours[k]); - } - }); -}; -website.Tour.waitReady = function (callback) { - var self = this; - $(document).ready(function () { - if ($.ajaxBusy) { - $(document).ajaxStop(function() { - setTimeout(function () { - callback.call(self); - },0); - }); - } - else { - setTimeout(function () { - callback.call(self); - },0); - } - }); -}; -website.Tour.run_test = function (id) { - website.Tour.waitReady(function () { - if (!website.Tour.is_busy()) { - website.Tour.tours[id].run(true); - } - }); -}; -website.Tour.is_busy = function () { - for (var k in this.localStorage) { - if (!k.indexOf("tour-")) { - return k; + website.Tour.timer = setTimeout(checkNext, website.Tour.defaultDelay); + } else { + website.Tour.error(tour, step, "Can't arrive to the next step"); } } - return website.Tour.busy; + checkNext(); }; +website.Tour.nextStep = function (tour, step, overlaps) { + var state = website.Tour.get_state(); + website.Tour.save_state(tour.id, state.mode, step.id); + + // clear popover (fix for boostrap tour if the element is removed before destroy popover) + $(".popover.tour").remove(); + // go to step in bootstrap tour + tour.tour.goto(step.id); + step.onload(); + var next = tour.steps[step.id+1]; + + if (next) { + setTimeout(function () { + website.Tour.waitNextStep(tour, next, overlaps); + if (state.mode === "test") { + setTimeout(function(){ + website.Tour.autoNextStep(tour, step); + }, website.Tour.defaultDelay); + } + }, next && next.wait || 0); + } else { + website.Tour.endTour(tour); + } +}; +website.Tour.endTour = function (tour) { + var state = website.Tour.get_state(); + var test = state.step_id >= tour.steps.length-1; + this.reset(); + if (test) { + console.log('ok'); + } else { + console.log('error'); + } +}; +website.Tour.autoNextStep = function (tour, step) { + clearTimeout(website.Tour.testtimer); + + function autoStep () { + if (!step) return; + + if (step.autoComplete) { + step.autoComplete(tour); + } + + var $popover = $(".popover.tour"); + if ($popover.find("button[data-role='next']:visible").size()) { + $popover.find("button[data-role='next']:visible").click(); + $popover.remove(); + } + + var $element = $(step.element); + if (!$element.size()) return; + + if (step.snippet) { + + website.Tour.autoDragAndDropSnippet($element); + + } else if (step.sampleText) { + + $element.trigger($.Event("keydown", { srcElement: $element })); + if ($element.is("input") ) { + $element.val(step.sampleText); + } if ($element.is("select")) { + $element.find("[value='"+step.sampleText+"'], option:contains('"+step.sampleText+"')").attr("selected", true); + $element.val(step.sampleText); + } else { + $element.html(step.sampleText); + } + setTimeout(function () { + $element.trigger($.Event("keyup", { srcElement: $element })); + $element.trigger($.Event("change", { srcElement: $element })); + }, website.Tour.defaultDelay<<1); + + } else if ($element.is(":visible")) { + + $element.trigger($.Event("mouseenter", { srcElement: $element[0] })); + $element.trigger($.Event("mousedown", { srcElement: $element[0] })); + + var evt = document.createEvent("MouseEvents"); + evt.initMouseEvent("click", true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null); + $element[0].dispatchEvent(evt); + + // trigger after for step like: mouseenter, next step click on button display with mouseenter + setTimeout(function () { + $element.trigger($.Event("mouseup", { srcElement: $element[0] })); + $element.trigger($.Event("mouseleave", { srcElement: $element[0] })); + }, 1000); + } + } + website.Tour.testtimer = setTimeout(autoStep, 100); +}; +website.Tour.autoDragAndDropSnippet = function (selector) { + var $thumbnail = $(selector).first(); + var thumbnailPosition = $thumbnail.position(); + $thumbnail.trigger($.Event("mousedown", { which: 1, pageX: thumbnailPosition.left, pageY: thumbnailPosition.top })); + $thumbnail.trigger($.Event("mousemove", { which: 1, pageX: document.body.scrollWidth/2, pageY: document.body.scrollHeight/2 })); + var $dropZone = $(".oe_drop_zone").first(); + var dropPosition = $dropZone.position(); + $dropZone.trigger($.Event("mouseup", { which: 1, pageX: dropPosition.left, pageY: dropPosition.top })); +}; + +website.ready(website.Tour.running); }()); diff --git a/addons/website_blog/static/src/js/website.tour.blog.js b/addons/website_blog/static/src/js/website.tour.blog.js index 3470e2e383b..050bf549225 100644 --- a/addons/website_blog/static/src/js/website.tour.blog.js +++ b/addons/website_blog/static/src/js/website.tour.blog.js @@ -4,117 +4,105 @@ var website = openerp.website; var _t = openerp._t; - website.EditorBar.include({ - start: function () { - this.registerTour(new website.Tour.Blog(this)); - return this._super(); - }, - }); - - website.Tour.Blog = website.Tour.extend({ - id: 'blog', - name: "Create a blog post", - testPath: '/(blog|blogpost)', - init: function () { - var self = this; - self.steps = [ - { - title: _t("New Blog Post"), - content: _t("Let's go through the first steps to write beautiful blog posts."), - popover: { next: _t("Start Tutorial"), end: _t("Skip") }, - }, - { - element: '#content-menu-button', - placement: 'left', - title: _t("Add Content"), - content: _t("Use this 'Content' menu to create a new blog post like any other document (page, menu, products, event, ...)."), - popover: { fixed: true }, - }, - { - element: 'a[data-action=new_blog_post]', - placement: 'left', - title: _t("New Blog Post"), - content: _t("Select this menu item to create a new blog post."), - popover: { fixed: true }, - }, - { - element: '.modal:has(#editor_new_blog) button.btn-primary', - placement: 'right', - title: _t("Create Blog Post"), - content: _t("Click Continue to create the blog post."), - }, - { - waitFor: 'body:has(button[data-action=save]:visible):has(.js_blog)', - title: _t("Blog Post Created"), - content: _t("This is your new blog post. Let's edit it."), - popover: { next: _t("Continue") }, - }, - { - element: 'h1[data-oe-expression="blog_post.name"]', - placement: 'bottom', - sampleText: 'New Blog', - title: _t("Set a Title"), - content: _t("Click on this area and set a catchy title for your blog post."), - }, - { - waitNot: '#wrap h1[data-oe-model="blog.post"]:contains("Blog Post Title")', - element: 'button[data-action=snippet]', - placement: 'left', - title: _t("Layout Your Blog Post"), - content: _t("Use well designed building blocks to structure the content of your blog. Click 'Insert Blocks' to add new content."), - popover: { fixed: true }, - }, - { - snippet: '#snippet_structure .oe_snippet:eq(2)', - placement: 'bottom', - title: _t("Drag & Drop a Block"), - content: _t("Drag this block and drop it in your page."), - popover: { fixed: true }, - }, - { - element: 'button[data-action=snippet]', - placement: 'bottom', - title: _t("Add Another Block"), - content: _t("Let's add another block to your post."), - popover: { fixed: true }, - }, - { - snippet: '#snippet_structure .oe_snippet:eq(4)', - placement: 'bottom', - title: _t("Drag & Drop a block"), - content: _t("Drag this block and drop it below the image block."), - popover: { fixed: true }, - }, - { - element: '.oe_active .oe_snippet_remove', - placement: 'top', - title: _t("Delete the block"), - content: _t("From this toolbar you can move, duplicate or delete the selected zone. Click on the garbage can image to delete the block. Or click on the Title and delete it."), - }, - { - waitNot: '.oe_active .oe_snippet_remove:visible', - element: 'button[data-action=save]', - placement: 'right', - title: _t("Save Your Blog"), - content: _t("Click the Save button to record changes on the page."), - popover: { fixed: true }, - }, - { - waitFor: 'button[data-action=edit]:visible', - element: 'button.btn-danger.js_publish_btn', - placement: 'top', - title: _t("Publish Your Post"), - content: _t("Your blog post is not yet published. You can update this draft version and publish it once you are ready."), - }, - { - waitFor: '.js_publish_management button.js_publish_btn.btn-success:visible', - title: "Thanks!", - content: _t("This tutorial is finished. To discover more features, improve the content of this page and try the Promote button in the top right menu."), - popover: { next: _t("Close Tutorial") }, - }, - ]; - return this._super(); - }, + website.Tour.register({ + id: 'blog', + name: _t("Create a blog post"), + steps: [ + { + title: _t("New Blog Post"), + content: _t("Let's go through the first steps to write beautiful blog posts."), + popover: { next: _t("Start Tutorial"), end: _t("Skip") }, + }, + { + element: '#content-menu-button', + placement: 'left', + title: _t("Add Content"), + content: _t("Use this 'Content' menu to create a new blog post like any other document (page, menu, products, event, ...)."), + popover: { fixed: true }, + }, + { + element: 'a[data-action=new_blog_post]', + placement: 'left', + title: _t("New Blog Post"), + content: _t("Select this menu item to create a new blog post."), + popover: { fixed: true }, + }, + { + element: '.modal:has(#editor_new_blog) button.btn-primary', + placement: 'right', + title: _t("Create Blog Post"), + content: _t("Click Continue to create the blog post."), + }, + { + waitFor: 'body:has(button[data-action=save]:visible):has(.js_blog)', + title: _t("Blog Post Created"), + content: _t("This is your new blog post. Let's edit it."), + popover: { next: _t("Continue") }, + }, + { + element: 'h1[data-oe-expression="blog_post.name"]', + placement: 'bottom', + sampleText: 'New Blog', + title: _t("Set a Title"), + content: _t("Click on this area and set a catchy title for your blog post."), + }, + { + waitNot: '#wrap h1[data-oe-model="blog.post"]:contains("Blog Post Title")', + element: 'button[data-action=snippet]', + placement: 'left', + title: _t("Layout Your Blog Post"), + content: _t("Use well designed building blocks to structure the content of your blog. Click 'Insert Blocks' to add new content."), + popover: { fixed: true }, + }, + { + snippet: '#snippet_structure .oe_snippet:eq(2)', + placement: 'bottom', + title: _t("Drag & Drop a Block"), + content: _t("Drag this block and drop it in your page."), + popover: { fixed: true }, + }, + { + element: 'button[data-action=snippet]', + placement: 'bottom', + title: _t("Add Another Block"), + content: _t("Let's add another block to your post."), + popover: { fixed: true }, + }, + { + snippet: '#snippet_structure .oe_snippet:eq(4)', + placement: 'bottom', + title: _t("Drag & Drop a block"), + content: _t("Drag this block and drop it below the image block."), + popover: { fixed: true }, + }, + { + element: '.oe_active .oe_snippet_remove', + placement: 'top', + title: _t("Delete the block"), + content: _t("From this toolbar you can move, duplicate or delete the selected zone. Click on the garbage can image to delete the block. Or click on the Title and delete it."), + }, + { + waitNot: '.oe_active .oe_snippet_remove:visible', + element: 'button[data-action=save]', + placement: 'right', + title: _t("Save Your Blog"), + content: _t("Click the Save button to record changes on the page."), + popover: { fixed: true }, + }, + { + waitFor: 'button[data-action=edit]:visible', + element: 'button.btn-danger.js_publish_btn', + placement: 'top', + title: _t("Publish Your Post"), + content: _t("Your blog post is not yet published. You can update this draft version and publish it once you are ready."), + }, + { + waitFor: '.js_publish_management button.js_publish_btn.btn-success:visible', + title: "Thanks!", + content: _t("This tutorial is finished. To discover more features, improve the content of this page and try the Promote button in the top right menu."), + popover: { next: _t("Close Tutorial") }, + }, + ] }); }()); diff --git a/addons/website_event/static/src/js/website.tour.event.js b/addons/website_event/static/src/js/website.tour.event.js index ef013398acb..07a12d81f34 100644 --- a/addons/website_event/static/src/js/website.tour.event.js +++ b/addons/website_event/static/src/js/website.tour.event.js @@ -4,115 +4,103 @@ var website = openerp.website; var _t = openerp._t; - website.EditorBar.include({ - start: function () { - this.registerTour(new website.EventTour(this)); - return this._super(); - }, - }); - - website.EventTour = website.Tour.extend({ - id: 'event', - name: "Create an event", - testPath: '/event(/[0-9]+/register)?', - init: function (editor) { - var self = this; - self.steps = [ - { - title: _t("Create an Event"), - content: _t("Let's go through the first steps to publish a new event."), - popover: { next: _t("Start Tutorial"), end: _t("Skip It") }, - }, - { - element: '#content-menu-button', - placement: 'left', - title: _t("Add Content"), - content: _t("The Content menu allows you to create new pages, events, menus, etc."), - popover: { fixed: true }, - }, - { - element: 'a[data-action=new_event]', - placement: 'left', - title: _t("New Event"), - content: _t("Click here to create a new event."), - popover: { fixed: true }, - }, - { - element: '.modal #editor_new_event input[type=text]', - sampleText: 'Advanced Technical Training', - placement: 'right', - title: _t("Create an Event Name"), - content: _t("Create a name for your new event and click 'Continue'. e.g: Technical Training"), - }, - { - waitNot: '.modal input[type=text]:not([value!=""])', - element: '.modal button.btn-primary', - placement: 'right', - title: _t("Create Event"), - content: _t("Click Continue to create the event."), - }, - { - waitFor: 'body:has(button[data-action=save]:visible):has(.js_event)', - title: _t("New Event Created"), - content: _t("This is your new event page. We will edit the event presentation page."), - popover: { next: _t("Continue") }, - }, - { - element: 'button[data-action=snippet]', - placement: 'bottom', - title: _t("Layout your event"), - content: _t("Insert blocks to layout the body of your event."), - popover: { fixed: true }, - }, - { - snippet: '#snippet_structure .oe_snippet:eq(2)', - placement: 'bottom', - title: _t("Drag & Drop a block"), - content: _t("Drag the 'Image-Text' block and drop it in your page."), - popover: { fixed: true }, - }, - { - - element: 'button[data-action=snippet]', - placement: 'bottom', - title: _t("Layout your event"), - content: _t("Insert another block to your event."), - popover: { fixed: true }, - }, - { - snippet: '#snippet_structure .oe_snippet:eq(4)', - placement: 'bottom', - title: _t("Drag & Drop a block"), - content: _t("Drag the 'Text Block' in your event page."), - popover: { fixed: true }, - }, - { - element: 'button[data-action=save]', - placement: 'right', - title: _t("Save your modifications"), - content: _t("Once you click on save, your event is updated."), - popover: { fixed: true }, - }, - { - waitFor: 'button[data-action=edit]:visible', - element: 'button.btn-danger.js_publish_btn', - placement: 'top', - title: _t("Publish your event"), - content: _t("Click to publish your event."), - }, - { - waitFor: '.js_publish_management button.js_publish_btn.btn-success:visible', - element: '.js_publish_management button[data-toggle="dropdown"]', - placement: 'left', - title: _t("Customize your event"), - content: _t("Click here to customize your event further."), - }, - { - element: '.js_publish_management ul>li>a:last:visible', - }, - ]; - return this._super(); - } + website.Tour.register({ + id: 'event', + name: _t("Create an event"), + steps: [ + { + title: _t("Create an Event"), + content: _t("Let's go through the first steps to publish a new event."), + popover: { next: _t("Start Tutorial"), end: _t("Skip It") }, + }, + { + element: '#content-menu-button', + placement: 'left', + title: _t("Add Content"), + content: _t("The Content menu allows you to create new pages, events, menus, etc."), + popover: { fixed: true }, + }, + { + element: 'a[data-action=new_event]', + placement: 'left', + title: _t("New Event"), + content: _t("Click here to create a new event."), + popover: { fixed: true }, + }, + { + element: '.modal #editor_new_event input[type=text]', + sampleText: 'Advanced Technical Training', + placement: 'right', + title: _t("Create an Event Name"), + content: _t("Create a name for your new event and click 'Continue'. e.g: Technical Training"), + }, + { + waitNot: '.modal input[type=text]:not([value!=""])', + element: '.modal button.btn-primary', + placement: 'right', + title: _t("Create Event"), + content: _t("Click Continue to create the event."), + }, + { + waitFor: 'body:has(button[data-action=save]:visible):has(.js_event)', + title: _t("New Event Created"), + content: _t("This is your new event page. We will edit the event presentation page."), + popover: { next: _t("Continue") }, + }, + { + element: 'button[data-action=snippet]', + placement: 'bottom', + title: _t("Layout your event"), + content: _t("Insert blocks to layout the body of your event."), + popover: { fixed: true }, + }, + { + snippet: '#snippet_structure .oe_snippet:eq(2)', + placement: 'bottom', + title: _t("Drag & Drop a block"), + content: _t("Drag the 'Image-Text' block and drop it in your page."), + popover: { fixed: true }, + }, + { + + element: 'button[data-action=snippet]', + placement: 'bottom', + title: _t("Layout your event"), + content: _t("Insert another block to your event."), + popover: { fixed: true }, + }, + { + snippet: '#snippet_structure .oe_snippet:eq(4)', + placement: 'bottom', + title: _t("Drag & Drop a block"), + content: _t("Drag the 'Text Block' in your event page."), + popover: { fixed: true }, + }, + { + element: 'button[data-action=save]', + placement: 'right', + title: _t("Save your modifications"), + content: _t("Once you click on save, your event is updated."), + popover: { fixed: true }, + }, + { + waitFor: 'button[data-action=edit]:visible', + element: 'button.btn-danger.js_publish_btn', + placement: 'top', + title: _t("Publish your event"), + content: _t("Click to publish your event."), + }, + { + waitFor: '.js_publish_management button.js_publish_btn.btn-success:visible', + element: '.js_publish_management button[data-toggle="dropdown"]', + placement: 'left', + title: _t("Customize your event"), + content: _t("Click here to customize your event further."), + }, + { + element: '.js_publish_management ul>li>a:last:visible', + }, + ] }); }()); diff --git a/addons/website_event_sale/static/src/js/website.tour.event_sale.js b/addons/website_event_sale/static/src/js/website.tour.event_sale.js index 48b9b62b349..92e57638cc8 100644 --- a/addons/website_event_sale/static/src/js/website.tour.event_sale.js +++ b/addons/website_event_sale/static/src/js/website.tour.event_sale.js @@ -3,77 +3,72 @@ var website = openerp.website; - website.Tour.EventSaleTest = website.Tour.extend({ - id: 'event_buy_tickets', + website.Tour.register({ + id: 'event_buy_tickets', name: "Try to buy tickets for event", path: '/event', - init: function () { - var self = this; - self.steps = [ - { - title: "select event", - element: 'a[href*="/event"]:contains("Open Days in Los Angeles")', + mode: 'test', + steps: [ + { + title: "select event", + element: 'a[href*="/event"]:contains("Open Days in Los Angeles")', + }, + { + title: "go to register page", + waitNot: 'a[href*="/event"]:contains("Functional Webinar")', + onload: function () { + // use onload if website_event_track is installed + if (!$('form:contains("Ticket Type")').size()) { + window.location.href = $('a[href*="/event"][href*="/register"]').attr("href"); + } }, - { - title: "go to register page", - waitNot: 'a[href*="/event"]:contains("Functional Webinar")', - onload: function () { - // use onload if website_event_track is installed - if (!$('form:contains("Ticket Type")').size()) { - window.location.href = $('a[href*="/event"][href*="/register"]').attr("href"); - } - }, + }, + { + title: "select 2 Standard tickets", + element: 'select[name="ticket-1"]', + sampleText: '2', + }, + { + title: "select 3 VIP tickets", + waitFor: 'select[name="ticket-1"] option:contains(2):selected', + element: 'select[name="ticket-2"]', + sampleText: '3', + }, + { + title: "Order Now", + waitFor: 'select[name="ticket-2"] option:contains(3):selected', + element: '.btn-primary:contains("Order Now")', + }, + { + title: "Complete checkout", + waitFor: '#top_menu .my_cart_quantity:contains(5)', + element: 'form[action="/shop/confirm_order"] .btn:contains("Confirm")', + onload: function (tour) { + if ($("input[name='name']").val() === "") + $("input[name='name']").val("website_sale-test-shoptest"); + if ($("input[name='email']").val() === "") + $("input[name='email']").val("website_event_sale_test_shoptest@websiteeventsaletest.optenerp.com"); + $("input[name='phone']").val("123"); + $("input[name='street']").val("123"); + $("input[name='city']").val("123"); + $("input[name='zip']").val("123"); + $("select[name='country_id']").val("21"); }, - { - title: "select 2 Standard tickets", - element: 'select[name="ticket-1"]', - sampleText: '2', - }, - { - title: "select 3 VIP tickets", - waitFor: 'select[name="ticket-1"] option:contains(2):selected', - element: 'select[name="ticket-2"]', - sampleText: '3', - }, - { - title: "Order Now", - waitFor: 'select[name="ticket-2"] option:contains(3):selected', - element: '.btn-primary:contains("Order Now")', - }, - { - title: "Complete checkout", - waitFor: '#top_menu .my_cart_quantity:contains(5)', - element: 'form[action="/shop/confirm_order"] .btn:contains("Confirm")', - onload: function (tour) { - if ($("input[name='name']").val() === "") - $("input[name='name']").val("website_sale-test-shoptest"); - if ($("input[name='email']").val() === "") - $("input[name='email']").val("website_event_sale_test_shoptest@websiteeventsaletest.optenerp.com"); - $("input[name='phone']").val("123"); - $("input[name='street']").val("123"); - $("input[name='city']").val("123"); - $("input[name='zip']").val("123"); - $("select[name='country_id']").val("21"); - }, - }, - { - title: "select payment", - element: '#payment_method label:has(img[title="transfer"]) input', - }, - { - title: "Pay Now", - waitFor: '#payment_method label:has(input:checked):has(img[title="transfer"])', - element: '.oe_sale_acquirer_button .btn[name="submit"]:visible', - }, - { - title: "finish", - waitFor: '.oe_website_sale:contains("Thank you for your order")', - } - ]; - return this._super(); - }, + }, + { + title: "select payment", + element: '#payment_method label:has(img[title="transfer"]) input', + }, + { + title: "Pay Now", + waitFor: '#payment_method label:has(input:checked):has(img[title="transfer"])', + element: '.oe_sale_acquirer_button .btn[name="submit"]:visible', + }, + { + title: "finish", + waitFor: '.oe_website_sale:contains("Thank you for your order")', + } + ] }); - // for test without editor bar - website.Tour.add(website.Tour.EventSaleTest); }()); diff --git a/addons/website_sale/static/src/js/website.tour.sale.js b/addons/website_sale/static/src/js/website.tour.sale.js index c9dd7e5e301..c7526b2468f 100644 --- a/addons/website_sale/static/src/js/website.tour.sale.js +++ b/addons/website_sale/static/src/js/website.tour.sale.js @@ -3,92 +3,87 @@ var website = openerp.website; - website.Tour.ShopTest = website.Tour.extend({ - id: 'shop_buy_product', + website.Tour.register({ + id: 'shop_buy_product', name: "Try to buy products", path: '/shop', - init: function () { - var self = this; - self.steps = [ - { - title: "select ipod", - element: '.oe_product_cart a:contains("iPod")', + mode: 'test', + steps: [ + { + title: "select ipod", + element: '.oe_product_cart a:contains("iPod")', + }, + { + title: "select ipod 32Go", + element: 'input[name="product_id"]:not([checked])', + }, + { + title: "click on add to cart", + waitFor: 'input[name="product_id"]:eq(1)[checked]', + element: 'form[action="/shop/add_cart"] .btn', + }, + { + title: "add suggested", + element: 'form[action="/shop/add_cart"] .btn-link:contains("Add to Cart")', + }, + { + title: "add one more iPod", + waitFor: '.my_cart_quantity:contains(2)', + element: '#mycart_products tr:contains("iPod: 32 Gb") a.js_add_cart_json:eq(1)', + }, + { + title: "remove Headphones", + waitFor: '#mycart_products tr:contains("iPod: 32 Gb") input.js_quantity[value=2]', + element: '#mycart_products tr:contains("Apple In-Ear Headphones") a.js_add_cart_json:first', + }, + { + title: "set one iPod", + waitNot: '#mycart_products tr:contains("Apple In-Ear Headphones")', + element: '#mycart_products input.js_quantity', + sampleText: '1', + }, + { + title: "go to checkout", + waitFor: '#mycart_products input.js_quantity[value=1]', + element: 'a[href="/shop/checkout"]', + }, + { + title: "test with input error", + element: 'form[action="/shop/confirm_order"] .btn:contains("Confirm")', + onload: function (tour) { + $("input[name='phone']").val(""); }, - { - title: "select ipod 32Go", - element: 'input[name="product_id"]:not([checked])', + }, + { + title: "test without input error", + waitFor: 'form[action="/shop/confirm_order"] .has-error', + element: 'form[action="/shop/confirm_order"] .btn:contains("Confirm")', + onload: function (tour) { + if ($("input[name='name']").val() === "") + $("input[name='name']").val("website_sale-test-shoptest"); + if ($("input[name='email']").val() === "") + $("input[name='email']").val("website_sale_test_shoptest@websitesaletest.optenerp.com"); + $("input[name='phone']").val("123"); + $("input[name='street']").val("123"); + $("input[name='city']").val("123"); + $("input[name='zip']").val("123"); + $("select[name='country_id']").val("21"); }, - { - title: "click on add to cart", - waitFor: 'input[name="product_id"]:eq(1)[checked]', - element: 'form[action="/shop/add_cart"] .btn', - }, - { - title: "add suggested", - element: 'form[action="/shop/add_cart"] .btn-link:contains("Add to Cart")', - }, - { - title: "add one more iPod", - waitFor: '.my_cart_quantity:contains(2)', - element: '#mycart_products tr:contains("iPod: 32 Gb") a.js_add_cart_json:eq(1)', - }, - { - title: "remove Headphones", - waitFor: '#mycart_products tr:contains("iPod: 32 Gb") input.js_quantity[value=2]', - element: '#mycart_products tr:contains("Apple In-Ear Headphones") a.js_add_cart_json:first', - }, - { - title: "set one iPod", - waitNot: '#mycart_products tr:contains("Apple In-Ear Headphones")', - element: '#mycart_products input.js_quantity', - sampleText: '1', - }, - { - title: "go to checkout", - waitFor: '#mycart_products input.js_quantity[value=1]', - element: 'a[href="/shop/checkout"]', - }, - { - title: "test with input error", - element: 'form[action="/shop/confirm_order"] .btn:contains("Confirm")', - onload: function (tour) { - $("input[name='phone']").val(""); - }, - }, - { - title: "test without input error", - waitFor: 'form[action="/shop/confirm_order"] .has-error', - element: 'form[action="/shop/confirm_order"] .btn:contains("Confirm")', - onload: function (tour) { - if ($("input[name='name']").val() === "") - $("input[name='name']").val("website_sale-test-shoptest"); - if ($("input[name='email']").val() === "") - $("input[name='email']").val("website_sale_test_shoptest@websitesaletest.optenerp.com"); - $("input[name='phone']").val("123"); - $("input[name='street']").val("123"); - $("input[name='city']").val("123"); - $("input[name='zip']").val("123"); - $("select[name='country_id']").val("21"); - }, - }, - { - title: "select payment", - element: '#payment_method label:has(img[title="transfer"]) input', - }, - { - title: "Pay Now", - waitFor: '#payment_method label:has(input:checked):has(img[title="transfer"])', - element: '.oe_sale_acquirer_button .btn[name="submit"]:visible', - }, - { - title: "finish", - waitFor: '.oe_website_sale:contains("Thank you for your order")', - } - ]; - return this._super(); - }, + }, + { + title: "select payment", + element: '#payment_method label:has(img[title="transfer"]) input', + }, + { + title: "Pay Now", + waitFor: '#payment_method label:has(input:checked):has(img[title="transfer"])', + element: '.oe_sale_acquirer_button .btn[name="submit"]:visible', + }, + { + title: "finish", + waitFor: '.oe_website_sale:contains("Thank you for your order")', + } + ] }); - // for test without editor bar - website.Tour.add(website.Tour.ShopTest); }()); diff --git a/addons/website_sale/static/src/js/website.tour.shop.js b/addons/website_sale/static/src/js/website.tour.shop.js index adb4a9e556c..bd03523e054 100644 --- a/addons/website_sale/static/src/js/website.tour.shop.js +++ b/addons/website_sale/static/src/js/website.tour.shop.js @@ -4,141 +4,129 @@ var website = openerp.website; var _t = openerp._t; - website.EditorBar.include({ - start: function () { - this.registerTour(new website.Tour.Shop(this)); - return this._super(); - }, - }); - - website.Tour.Shop = website.Tour.extend({ + website.Tour.register({ id: 'shop', - name: "Create a product", - testPath: '/shop', - init: function () { - var self = this; - self.steps = [ - { - title: _t("Welcome to your shop"), - content: _t("You successfully installed the e-commerce. This guide will help you to create your product and promote your sales."), - popover: { next: _t("Start Tutorial"), end: _t("Skip It") }, - }, - { - element: '#content-menu-button', - placement: 'left', - title: _t("Create your first product"), - content: _t("Click here to add a new product."), - popover: { fixed: true }, - }, - { - element: 'a[data-action=new_product]', - placement: 'left', - title: _t("Create a new product"), - content: _t("Select 'New Product' to create it and manage its properties to boost your sales."), - popover: { fixed: true }, - }, - { - element: '.modal #editor_new_product input[type=text]', - sampleText: 'New Product', - placement: 'right', - title: _t("Choose name"), - content: _t("Enter a name for your new product then click 'Continue'."), - }, - { - waitNot: '.modal input[type=text]:not([value!=""])', - element: '.modal button.btn-primary', - placement: 'right', - title: _t("Create Product"), - content: _t("Click Continue to create the product."), - }, - { - waitFor: 'body:has(button[data-action=save]:visible):has(.js_sale)', - title: _t("New product created"), - content: _t("This page contains all the information related to the new product."), - popover: { next: _t("Continue") }, - }, - { - element: '.product_price .oe_currency_value', - sampleText: '20.50', - placement: 'left', - title: _t("Change the price"), - content: _t("Edit the price of this product by clicking on the amount."), - }, - { - waitNot: '.product_price .oe_currency_value:containsExact(1.00)', - element: '#wrap img.img:first', - placement: 'top', - title: _t("Update image"), - content: _t("Click here to set an image describing your product."), - }, - { - element: 'button.hover-edition-button:visible', - placement: 'top', - title: _t("Update image"), - content: _t("Click here to set an image describing your product."), - }, - { - wait: 500, - element: '.well a.pull-right', - placement: 'bottom', - title: _t("Select an Image"), - content: _t("Let's select an existing image."), - popover: { fixed: true }, - }, - { - element: 'img[alt=imac]', - placement: 'bottom', - title: _t("Select an Image"), - content: _t("Let's select an imac image."), - popover: { fixed: true }, - }, - { - waitNot: 'img[alt=imac]', - element: '.modal-content button.save', - placement: 'bottom', - title: _t("Select this Image"), - content: _t("Click to add the image to the product decsription."), - popover: { fixed: true }, - }, - { - waitNot: '.modal-content:visible', - element: 'button[data-action=snippet]', - placement: 'bottom', - title: _t("Describe the Product"), - content: _t("Insert blocks like text-image, or gallery to fully describe the product."), - popover: { fixed: true }, - }, - { - snippet: '#snippet_structure .oe_snippet:eq(7)', - placement: 'bottom', - title: _t("Drag & Drop a block"), - content: _t("Drag the 'Big Picture' block and drop it in your page."), - popover: { fixed: true }, - }, - { - element: 'button[data-action=save]', - placement: 'right', - title: _t("Save your modifications"), - content: _t("Once you click on save, your product is updated."), - popover: { fixed: true }, + name: _t("Create a product"), + steps: [ + { + title: _t("Welcome to your shop"), + content: _t("You successfully installed the e-commerce. This guide will help you to create your product and promote your sales."), + popover: { next: _t("Start Tutorial"), end: _t("Skip It") }, + }, + { + element: '#content-menu-button', + placement: 'left', + title: _t("Create your first product"), + content: _t("Click here to add a new product."), + popover: { fixed: true }, + }, + { + element: 'a[data-action=new_product]', + placement: 'left', + title: _t("Create a new product"), + content: _t("Select 'New Product' to create it and manage its properties to boost your sales."), + popover: { fixed: true }, + }, + { + element: '.modal #editor_new_product input[type=text]', + sampleText: 'New Product', + placement: 'right', + title: _t("Choose name"), + content: _t("Enter a name for your new product then click 'Continue'."), + }, + { + waitNot: '.modal input[type=text]:not([value!=""])', + element: '.modal button.btn-primary', + placement: 'right', + title: _t("Create Product"), + content: _t("Click Continue to create the product."), + }, + { + waitFor: 'body:has(button[data-action=save]:visible):has(.js_sale)', + title: _t("New product created"), + content: _t("This page contains all the information related to the new product."), + popover: { next: _t("Continue") }, + }, + { + element: '.product_price .oe_currency_value', + sampleText: '20.50', + placement: 'left', + title: _t("Change the price"), + content: _t("Edit the price of this product by clicking on the amount."), + }, + { + waitNot: '.product_price .oe_currency_value:containsExact(1.00)', + element: '#wrap img.img:first', + placement: 'top', + title: _t("Update image"), + content: _t("Click here to set an image describing your product."), + }, + { + element: 'button.hover-edition-button:visible', + placement: 'top', + title: _t("Update image"), + content: _t("Click here to set an image describing your product."), + }, + { + wait: 500, + element: '.well a.pull-right', + placement: 'bottom', + title: _t("Select an Image"), + content: _t("Let's select an existing image."), + popover: { fixed: true }, + }, + { + element: 'img[alt=imac]', + placement: 'bottom', + title: _t("Select an Image"), + content: _t("Let's select an imac image."), + popover: { fixed: true }, + }, + { + waitNot: 'img[alt=imac]', + element: '.modal-content button.save', + placement: 'bottom', + title: _t("Select this Image"), + content: _t("Click to add the image to the product decsription."), + popover: { fixed: true }, + }, + { + waitNot: '.modal-content:visible', + element: 'button[data-action=snippet]', + placement: 'bottom', + title: _t("Describe the Product"), + content: _t("Insert blocks like text-image, or gallery to fully describe the product."), + popover: { fixed: true }, + }, + { + snippet: '#snippet_structure .oe_snippet:eq(7)', + placement: 'bottom', + title: _t("Drag & Drop a block"), + content: _t("Drag the 'Big Picture' block and drop it in your page."), + popover: { fixed: true }, + }, + { + element: 'button[data-action=save]', + placement: 'right', + title: _t("Save your modifications"), + content: _t("Once you click on save, your product is updated."), + popover: { fixed: true }, - }, - { - waitFor: '#website-top-navbar button[data-action="edit"]:visible', - element: '.js_publish_management button.js_publish_btn.btn-danger', - placement: 'top', - title: _t("Publish your product"), - content: _t("Click to publish your product so your customers can see it."), - }, - { - waitFor: '.js_publish_management button.js_publish_btn.btn-success:visible', - title: _t("Congratulations"), - content: _t("Congratulations! You just created and published your first product."), - popover: { next: _t("Close Tutorial") }, - }, - ]; - return this._super(); - } + }, + { + waitFor: '#website-top-navbar button[data-action="edit"]:visible', + element: '.js_publish_management button.js_publish_btn.btn-danger', + placement: 'top', + title: _t("Publish your product"), + content: _t("Click to publish your product so your customers can see it."), + }, + { + waitFor: '.js_publish_management button.js_publish_btn.btn-success:visible', + title: _t("Congratulations"), + content: _t("Congratulations! You just created and published your first product."), + popover: { next: _t("Close Tutorial") }, + }, + ] }); }()); From 0b75d4ea043e35c9c523b9ec24324eae8d149e8f Mon Sep 17 00:00:00 2001 From: "chm@openerp.com" <> Date: Thu, 20 Mar 2014 09:56:06 +0100 Subject: [PATCH 29/98] [IMP] website: remove bootstrap_tour_stub bzr revid: chm@openerp.com-20140320085606-qrghlkev6i9pu9bw --- addons/website/static/src/js/website.tour.js | 20 ++++++-------------- 1 file changed, 6 insertions(+), 14 deletions(-) diff --git a/addons/website/static/src/js/website.tour.js b/addons/website/static/src/js/website.tour.js index c5ccd1f42c9..fc0dd513cf2 100644 --- a/addons/website/static/src/js/website.tour.js +++ b/addons/website/static/src/js/website.tour.js @@ -23,17 +23,6 @@ if (typeof website.Tour !== "undefined") { // don't need template to use bootstrap Tour in automatic mode if (typeof QWeb2 !== "undefined") { website.add_template_file('/website/static/src/xml/website.tour.xml'); - -} - -// don't need to use bootstrap Tour to launch an automatic tour -function bootstrap_tour_stub () { - if (typeof Tour === "undefined") { - window.Tour = function Tour() {}; - Tour.prototype.addSteps = function () {}; - Tour.prototype.end = function () {}; - Tour.prototype.goto = function () {}; - } } if (website.EditorBar) { @@ -150,7 +139,7 @@ website.Tour.registerSteps = function (tour) { } // rendering bootstrap tour and popover - if (tour.mode != "test") { + if (tour.mode != "test" || typeof Tour !== "undefined") { tour.tour = new Tour({ name: this.id, storage: localStorage, @@ -206,6 +195,7 @@ website.Tour.error = function (tour, step, message) { + '\nelement: ' + Boolean(!step.element || ($(step.element).size() && $(step.element).is(":visible") && !$(step.element).is(":hidden"))) + '\nwaitNot: ' + Boolean(!step.waitNot || !$(step.waitNot).size()) + '\nwaitFor: ' + Boolean(!step.waitFor || $(step.waitFor).size()) + + "\nlocalStorage: " + localStorage.getItem("tour") + '\n\n' + $("body").html() ); }; @@ -302,7 +292,9 @@ website.Tour.nextStep = function (tour, step, overlaps) { // clear popover (fix for boostrap tour if the element is removed before destroy popover) $(".popover.tour").remove(); // go to step in bootstrap tour - tour.tour.goto(step.id); + if (tour.tour) { + tour.tour.goto(step.id); + } step.onload(); var next = tour.steps[step.id+1]; @@ -349,7 +341,7 @@ website.Tour.autoNextStep = function (tour, step) { if (!$element.size()) return; if (step.snippet) { - + website.Tour.autoDragAndDropSnippet($element); } else if (step.sampleText) { From abfccd8936da4f228919dcd3f59462c38d9efe41 Mon Sep 17 00:00:00 2001 From: "chm@openerp.com" <> Date: Thu, 20 Mar 2014 16:15:42 +0100 Subject: [PATCH 30/98] [WIP] website tour: bootstrap-tour - v0.9.1 bzr revid: chm@openerp.com-20140320151542-blfr1rs1j24xanh8 --- .../lib/bootstrap-tour/bootstrap-tour.css | 44 +- .../lib/bootstrap-tour/bootstrap-tour.js | 1057 ++++++++++------- .../static/src/js/website.tour.banner.js | 3 - addons/website/static/src/js/website.tour.js | 199 ++-- 4 files changed, 755 insertions(+), 548 deletions(-) mode change 100755 => 100644 addons/website/static/lib/bootstrap-tour/bootstrap-tour.css mode change 100755 => 100644 addons/website/static/lib/bootstrap-tour/bootstrap-tour.js diff --git a/addons/website/static/lib/bootstrap-tour/bootstrap-tour.css b/addons/website/static/lib/bootstrap-tour/bootstrap-tour.css old mode 100755 new mode 100644 index 72c6e8cbab7..5449158e7f4 --- a/addons/website/static/lib/bootstrap-tour/bootstrap-tour.css +++ b/addons/website/static/lib/bootstrap-tour/bootstrap-tour.css @@ -1,37 +1,59 @@ +/* =========================================================== +# bootstrap-tour - v0.9.1 +# http://bootstraptour.com +# ============================================================== +# Copyright 2012-2013 Ulrich Sossou +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +*/ .tour-backdrop { position: fixed; top: 0; right: 0; bottom: 0; left: 0; - z-index: 1009; + z-index: 1100; background-color: #000; opacity: 0.8; } .tour-step-backdrop { position: relative; - z-index: 1011; + z-index: 1101; + background: inherit; } .tour-step-background { position: absolute; - z-index: 1010; - background: #fff; + z-index: 1100; + background: inherit; border-radius: 6px; } +.popover[class*="tour-"] { + z-index: 1100; +} .popover[class*="tour-"] .popover-navigation { padding: 9px 14px; } -.popover[class*="tour-"] .popover-navigation *[data-role=end] { +.popover[class*="tour-"] .popover-navigation *[data-role="end"] { float: right; } -.popover[class*="tour-"] .popover-navigation *[data-role=prev], -.popover[class*="tour-"] .popover-navigation *[data-role=next], -.popover[class*="tour-"] .popover-navigation *[data-role=end] { +.popover[class*="tour-"] .popover-navigation *[data-role="prev"], +.popover[class*="tour-"] .popover-navigation *[data-role="next"], +.popover[class*="tour-"] .popover-navigation *[data-role="end"] { cursor: pointer; } -.popover[class*="tour-"] .popover-navigation *[data-role=prev].disabled, -.popover[class*="tour-"] .popover-navigation *[data-role=next].disabled, -.popover[class*="tour-"] .popover-navigation *[data-role=end].disabled { +.popover[class*="tour-"] .popover-navigation *[data-role="prev"].disabled, +.popover[class*="tour-"] .popover-navigation *[data-role="next"].disabled, +.popover[class*="tour-"] .popover-navigation *[data-role="end"].disabled { cursor: default; } .popover[class*="tour-"].orphan { diff --git a/addons/website/static/lib/bootstrap-tour/bootstrap-tour.js b/addons/website/static/lib/bootstrap-tour/bootstrap-tour.js old mode 100755 new mode 100644 index 8b45d6da9ee..a0172c718c0 --- a/addons/website/static/lib/bootstrap-tour/bootstrap-tour.js +++ b/addons/website/static/lib/bootstrap-tour/bootstrap-tour.js @@ -1,5 +1,5 @@ /* =========================================================== -# bootstrap-tour - v0.6.1 +# bootstrap-tour - v0.9.1 # http://bootstraptour.com # ============================================================== # Copyright 2012-2013 Ulrich Sossou @@ -16,220 +16,233 @@ # See the License for the specific language governing permissions and # limitations under the License. */ -(function() { - (function($, window) { - var Tour, document; - document = window.document; - Tour = (function() { - function Tour(options) { - this._options = $.extend({ - name: "tour", - container: "body", - keyboard: true, - storage: window.localStorage, - debug: false, - backdrop: false, - redirect: true, - orphan: false, - basePath: "", - template: "

    ", - afterSetState: function(key, value) {}, - afterGetState: function(key, value) {}, - afterRemoveState: function(key) {}, - onStart: function(tour) {}, - onEnd: function(tour) {}, - onShow: function(tour) {}, - onShown: function(tour) {}, - onHide: function(tour) {}, - onHidden: function(tour) {}, - onNext: function(tour) {}, - onPrev: function(tour) {} - }, options); - this._steps = []; - this.setCurrentStep(); - this.backdrop = { - overlay: null, - $element: null, - $background: null - }; +(function($, window) { + var Tour, document; + document = window.document; + Tour = (function() { + function Tour(options) { + this._options = $.extend({ + name: "tour", + steps: [], + container: "body", + keyboard: true, + storage: window.localStorage, + debug: false, + backdrop: false, + redirect: true, + orphan: false, + duration: false, + basePath: "", + template: "

    ", + afterSetState: function(key, value) {}, + afterGetState: function(key, value) {}, + afterRemoveState: function(key) {}, + onStart: function(tour) {}, + onEnd: function(tour) {}, + onShow: function(tour) {}, + onShown: function(tour) {}, + onHide: function(tour) {}, + onHidden: function(tour) {}, + onNext: function(tour) {}, + onPrev: function(tour) {}, + onPause: function(tour, duration) {}, + onResume: function(tour, duration) {} + }, options); + this._force = false; + this._inited = false; + this.backdrop = { + overlay: null, + $element: null, + $background: null, + backgroundShown: false, + overlayElementShown: false + }; + this; + } + + Tour.prototype.addSteps = function(steps) { + var step, _i, _len; + for (_i = 0, _len = steps.length; _i < _len; _i++) { + step = steps[_i]; + this.addStep(step); } + return this; + }; - Tour.prototype.setState = function(key, value) { - var keyName; - if (this._options.storage) { - keyName = "" + this._options.name + "_" + key; - this._options.storage.setItem(keyName, value); - return this._options.afterSetState(keyName, value); - } else { - if (this._state == null) { - this._state = {}; - } - return this._state[key] = value; - } - }; + Tour.prototype.addStep = function(step) { + this._options.steps.push(step); + return this; + }; - Tour.prototype.removeState = function(key) { - var keyName; - if (this._options.storage) { - keyName = "" + this._options.name + "_" + key; - this._options.storage.removeItem(keyName); - return this._options.afterRemoveState(keyName); - } else { - if (this._state != null) { - return delete this._state[key]; - } - } - }; + Tour.prototype.getStep = function(i) { + if (this._options.steps[i] != null) { + return $.extend({ + id: "step-" + i, + path: "", + placement: "right", + title: "", + content: "

    ", + next: i === this._options.steps.length - 1 ? -1 : i + 1, + prev: i - 1, + animation: true, + container: this._options.container, + backdrop: this._options.backdrop, + redirect: this._options.redirect, + orphan: this._options.orphan, + duration: this._options.duration, + template: this._options.template, + onShow: this._options.onShow, + onShown: this._options.onShown, + onHide: this._options.onHide, + onHidden: this._options.onHidden, + onNext: this._options.onNext, + onPrev: this._options.onPrev, + onPause: this._options.onPause, + onResume: this._options.onResume + }, this._options.steps[i]); + } + }; - Tour.prototype.getState = function(key) { - var keyName, value; - if (this._options.storage) { - keyName = "" + this._options.name + "_" + key; - value = this._options.storage.getItem(keyName); - } else { - if (this._state != null) { - value = this._state[key]; - } - } - if (value === void 0 || value === "null") { - value = null; - } - this._options.afterGetState(key, value); - return value; - }; - - Tour.prototype.addSteps = function(steps) { - var step, _i, _len, _results; - _results = []; - for (_i = 0, _len = steps.length; _i < _len; _i++) { - step = steps[_i]; - _results.push(this.addStep(step)); - } - return _results; - }; - - Tour.prototype.addStep = function(step) { - return this._steps.push(step); - }; - - Tour.prototype.getStep = function(i) { - if (this._steps[i] != null) { - return $.extend({ - id: "step-" + i, - path: "", - placement: "right", - title: "", - content: "

    ", - next: i === this._steps.length - 1 ? -1 : i + 1, - prev: i - 1, - animation: true, - container: this._options.container, - backdrop: this._options.backdrop, - redirect: this._options.redirect, - orphan: this._options.orphan, - template: this._options.template, - onShow: this._options.onShow, - onShown: this._options.onShown, - onHide: this._options.onHide, - onHidden: this._options.onHidden, - onNext: this._options.onNext, - onPrev: this._options.onPrev - }, this._steps[i]); - } - }; - - Tour.prototype.start = function(force) { - var promise, - _this = this; - if (force == null) { - force = false; - } - if (this.ended() && !force) { - return this._debug("Tour ended, start prevented."); - } - $(document).off("click.tour-" + this._options.name, ".popover.tour-" + this._options.name + " *[data-role=next]").on("click.tour-" + this._options.name, ".popover.tour-" + this._options.name + " *[data-role=next]:not(.disabled)", function(e) { - e.preventDefault(); - return _this.next(); - }); - $(document).off("click.tour-" + this._options.name, ".popover.tour-" + this._options.name + " *[data-role=prev]").on("click.tour-" + this._options.name, ".popover.tour-" + this._options.name + " *[data-role=prev]:not(.disabled)", function(e) { - e.preventDefault(); - return _this.prev(); - }); - $(document).off("click.tour-" + this._options.name, ".popover.tour-" + this._options.name + " *[data-role=end]").on("click.tour-" + this._options.name, ".popover.tour-" + this._options.name + " *[data-role=end]", function(e) { - e.preventDefault(); - return _this.end(); - }); - this._onResize(function() { + Tour.prototype.init = function(force) { + this._force = force; + if (this.ended()) { + this._debug("Tour ended, init prevented."); + return this; + } + this.setCurrentStep(); + this._initMouseNavigation(); + this._initKeyboardNavigation(); + this._onResize((function(_this) { + return function() { return _this.showStep(_this._current); - }); - this._setupKeyboardNavigation(); + }; + })(this)); + if (this._current !== null) { + this.showStep(this._current); + } + this._inited = true; + return this; + }; + + Tour.prototype.start = function(force) { + var promise; + if (force == null) { + force = false; + } + if (!this._inited) { + this.init(force); + } + if (this._current === null) { promise = this._makePromise(this._options.onStart != null ? this._options.onStart(this) : void 0); - return this._callOnPromiseDone(promise, this.showStep, this._current); - }; + this._callOnPromiseDone(promise, this.showStep, 0); + } + return this; + }; - Tour.prototype.next = function() { - var promise; - if (this.ended()) { - return this._debug("Tour ended, next prevented."); - } - promise = this.hideStep(this._current); - return this._callOnPromiseDone(promise, this._showNextStep); - }; + Tour.prototype.next = function() { + var promise; + promise = this.hideStep(this._current); + return this._callOnPromiseDone(promise, this._showNextStep); + }; - Tour.prototype.prev = function() { - var promise; - if (this.ended()) { - return this._debug("Tour ended, prev prevented."); - } - promise = this.hideStep(this._current); - return this._callOnPromiseDone(promise, this._showPrevStep); - }; + Tour.prototype.prev = function() { + var promise; + promise = this.hideStep(this._current); + return this._callOnPromiseDone(promise, this._showPrevStep); + }; - Tour.prototype.goto = function(i) { - var promise; - if (this.ended()) { - return this._debug("Tour ended, goto prevented."); - } - promise = this.hideStep(this._current); - return this._callOnPromiseDone(promise, this.showStep, i); - }; + Tour.prototype.goTo = function(i) { + var promise; + promise = this.hideStep(this._current); + return this._callOnPromiseDone(promise, this.showStep, i); + }; - Tour.prototype.end = function() { - var endHelper, hidePromise, - _this = this; - endHelper = function(e) { + Tour.prototype.end = function() { + var endHelper, promise; + endHelper = (function(_this) { + return function(e) { $(document).off("click.tour-" + _this._options.name); $(document).off("keyup.tour-" + _this._options.name); $(window).off("resize.tour-" + _this._options.name); - _this.setState("end", "yes"); + _this._setState("end", "yes"); + _this._inited = false; + _this._force = false; + _this._clearTimer(); if (_this._options.onEnd != null) { return _this._options.onEnd(_this); } }; - hidePromise = this.hideStep(this._current); - return this._callOnPromiseDone(hidePromise, endHelper); - }; + })(this); + promise = this.hideStep(this._current); + return this._callOnPromiseDone(promise, endHelper); + }; - Tour.prototype.ended = function() { - return !!this.getState("end"); - }; + Tour.prototype.ended = function() { + return !this._force && !!this._getState("end"); + }; - Tour.prototype.restart = function() { - this.removeState("current_step"); - this.removeState("end"); - this.setCurrentStep(0); - return this.start(); - }; + Tour.prototype.restart = function() { + this._removeState("current_step"); + this._removeState("end"); + this.setCurrentStep(0); + return this.start(); + }; - Tour.prototype.hideStep = function(i) { - var hideStepHelper, promise, step, - _this = this; - step = this.getStep(i); - promise = this._makePromise(step.onHide != null ? step.onHide(this, i) : void 0); - hideStepHelper = function(e) { + Tour.prototype.pause = function() { + var step; + step = this.getStep(this._current); + if (!(step && step.duration)) { + return this; + } + this._paused = true; + this._duration -= new Date().getTime() - this._start; + window.clearTimeout(this._timer); + this._debug("Paused/Stopped step " + (this._current + 1) + " timer (" + this._duration + " remaining)."); + if (step.onPause != null) { + return step.onPause(this, this._duration); + } + }; + + Tour.prototype.resume = function() { + var step; + step = this.getStep(this._current); + if (!(step && step.duration)) { + return this; + } + this._paused = false; + this._start = new Date().getTime(); + this._duration = this._duration || step.duration; + this._timer = window.setTimeout((function(_this) { + return function() { + if (_this._isLast()) { + return _this.next(); + } else { + return _this.end(); + } + }; + })(this), this._duration); + this._debug("Started step " + (this._current + 1) + " timer with duration " + this._duration); + if ((step.onResume != null) && this._duration !== step.duration) { + return step.onResume(this, this._duration); + } + }; + + Tour.prototype.hideStep = function(i) { + var hideStepHelper, promise, step; + step = this.getStep(i); + if (!step) { + return; + } + this._clearTimer(); + promise = this._makePromise(step.onHide != null ? step.onHide(this, i) : void 0); + hideStepHelper = (function(_this) { + return function(e) { var $element; - $element = _this._isOrphan(step) ? $("body") : $(step.element); - $element.popover("destroy"); + $element = $(step.element); + if (!($element.data("bs.popover") || $element.data("popover"))) { + $element = $("body"); + } + $element.popover("destroy").removeClass("tour-" + _this._options.name + "-element tour-" + _this._options.name + "-" + i + "-element"); if (step.reflex) { $element.css("cursor", "").off("click.tour-" + _this._options.name); } @@ -240,23 +253,37 @@ return step.onHidden(_this); } }; - this._callOnPromiseDone(promise, hideStepHelper); - return promise; - }; + })(this); + this._callOnPromiseDone(promise, hideStepHelper); + return promise; + }; - Tour.prototype.showStep = function(i) { - var promise, showStepHelper, skipToPrevious, step, - _this = this; - step = this.getStep(i); - if (!step) { - return; - } - skipToPrevious = i < this._current; - promise = this._makePromise(step.onShow != null ? step.onShow(this, i) : void 0); - showStepHelper = function(e) { + Tour.prototype.showStep = function(i) { + var promise, showStepHelper, skipToPrevious, step; + if (this.ended()) { + this._debug("Tour ended, showStep prevented."); + return this; + } + step = this.getStep(i); + if (!step) { + return; + } + skipToPrevious = i < this._current; + promise = this._makePromise(step.onShow != null ? step.onShow(this, i) : void 0); + showStepHelper = (function(_this) { + return function(e) { var current_path, path; _this.setCurrentStep(i); - path = $.isFunction(step.path) ? step.path.call() : _this._options.basePath + step.path; + path = (function() { + switch ({}.toString.call(step.path)) { + case "[object Function]": + return step.path(); + case "[object String]": + return this._options.basePath + step.path; + default: + return step.path; + } + }).call(_this); current_path = [document.location.pathname, document.location.hash].join(""); if (_this._isRedirect(path, current_path)) { _this._redirect(step, path); @@ -277,283 +304,413 @@ if (step.backdrop) { _this._showBackdrop(!_this._isOrphan(step) ? step.element : void 0); } - _this._showPopover(step, i); - if (step.onShown != null) { - step.onShown(_this); + _this._scrollIntoView(step.element, function() { + if ((step.element != null) && step.backdrop) { + _this._showOverlayElement(step.element); + } + _this._showPopover(step, i); + if (step.onShown != null) { + step.onShown(_this); + } + return _this._debug("Step " + (_this._current + 1) + " of " + _this._options.steps.length); + }); + if (step.duration) { + return _this.resume(); } - return _this._debug("Step " + (_this._current + 1) + " of " + _this._steps.length); }; - return this._callOnPromiseDone(promise, showStepHelper); - }; + })(this); + this._callOnPromiseDone(promise, showStepHelper); + return promise; + }; - Tour.prototype.setCurrentStep = function(value) { - if (value != null) { - this._current = value; - return this.setState("current_step", value); - } else { - this._current = this.getState("current_step"); - return this._current = this._current === null ? 0 : parseInt(this._current, 10); + Tour.prototype.getCurrentStep = function() { + return this._current; + }; + + Tour.prototype.setCurrentStep = function(value) { + if (value != null) { + this._current = value; + this._setState("current_step", value); + } else { + this._current = this._getState("current_step"); + this._current = this._current === null ? null : parseInt(this._current, 10); + } + return this; + }; + + Tour.prototype._setState = function(key, value) { + var e, keyName; + if (this._options.storage) { + keyName = "" + this._options.name + "_" + key; + try { + this._options.storage.setItem(keyName, value); + } catch (_error) { + e = _error; + if (e.code === DOMException.QUOTA_EXCEEDED_ERR) { + this.debug("LocalStorage quota exceeded. State storage failed."); + } } - }; + return this._options.afterSetState(keyName, value); + } else { + if (this._state == null) { + this._state = {}; + } + return this._state[key] = value; + } + }; - Tour.prototype._showNextStep = function() { - var promise, showNextStepHelper, step, - _this = this; - step = this.getStep(this._current); - showNextStepHelper = function(e) { + Tour.prototype._removeState = function(key) { + var keyName; + if (this._options.storage) { + keyName = "" + this._options.name + "_" + key; + this._options.storage.removeItem(keyName); + return this._options.afterRemoveState(keyName); + } else { + if (this._state != null) { + return delete this._state[key]; + } + } + }; + + Tour.prototype._getState = function(key) { + var keyName, value; + if (this._options.storage) { + keyName = "" + this._options.name + "_" + key; + value = this._options.storage.getItem(keyName); + } else { + if (this._state != null) { + value = this._state[key]; + } + } + if (value === void 0 || value === "null") { + value = null; + } + this._options.afterGetState(key, value); + return value; + }; + + Tour.prototype._showNextStep = function() { + var promise, showNextStepHelper, step; + step = this.getStep(this._current); + showNextStepHelper = (function(_this) { + return function(e) { return _this.showStep(step.next); }; - promise = this._makePromise((step.onNext != null ? step.onNext(this) : void 0)); - return this._callOnPromiseDone(promise, showNextStepHelper); - }; + })(this); + promise = this._makePromise(step.onNext != null ? step.onNext(this) : void 0); + return this._callOnPromiseDone(promise, showNextStepHelper); + }; - Tour.prototype._showPrevStep = function() { - var promise, showPrevStepHelper, step, - _this = this; - step = this.getStep(this._current); - showPrevStepHelper = function(e) { + Tour.prototype._showPrevStep = function() { + var promise, showPrevStepHelper, step; + step = this.getStep(this._current); + showPrevStepHelper = (function(_this) { + return function(e) { return _this.showStep(step.prev); }; - promise = this._makePromise((step.onPrev != null ? step.onPrev(this) : void 0)); - return this._callOnPromiseDone(promise, showPrevStepHelper); - }; + })(this); + promise = this._makePromise(step.onPrev != null ? step.onPrev(this) : void 0); + return this._callOnPromiseDone(promise, showPrevStepHelper); + }; - Tour.prototype._debug = function(text) { - if (this._options.debug) { - return window.console.log("Bootstrap Tour '" + this._options.name + "' | " + text); - } - }; + Tour.prototype._debug = function(text) { + if (this._options.debug) { + return window.console.log("Bootstrap Tour '" + this._options.name + "' | " + text); + } + }; - Tour.prototype._isRedirect = function(path, currentPath) { - return (path != null) && path !== "" && path.replace(/\?.*$/, "").replace(/\/?$/, "") !== currentPath.replace(/\/?$/, ""); - }; + Tour.prototype._isRedirect = function(path, currentPath) { + return (path != null) && path !== "" && ((toString.call(path) === "[object RegExp]" && !path.test(currentPath)) || (toString.call(path) === "[object String]" && path.replace(/\?.*$/, "").replace(/\/?$/, "") !== currentPath.replace(/\/?$/, ""))); + }; - Tour.prototype._redirect = function(step, path) { - if ($.isFunction(step.redirect)) { - return step.redirect.call(this, path); - } else if (step.redirect === true) { - this._debug("Redirect to " + path); - return document.location.href = path; - } - }; + Tour.prototype._redirect = function(step, path) { + if ($.isFunction(step.redirect)) { + return step.redirect.call(this, path); + } else if (step.redirect === true) { + this._debug("Redirect to " + path); + return document.location.href = path; + } + }; - Tour.prototype._isOrphan = function(step) { - return (step.element == null) || !$(step.element).length || $(step.element).is(":hidden"); - }; + Tour.prototype._isOrphan = function(step) { + return (step.element == null) || !$(step.element).length || $(step.element).is(":hidden") && ($(step.element)[0].namespaceURI !== "http://www.w3.org/2000/svg"); + }; - Tour.prototype._showPopover = function(step, i) { - var $element, $navigation, $template, $tip, isOrphan, options, - _this = this; - options = $.extend({}, this._options); - $template = $.isFunction(step.template) ? $(step.template(i, step)) : $(step.template); - $navigation = $template.find(".popover-navigation"); - isOrphan = this._isOrphan(step); - if (isOrphan) { - step.element = "body"; - step.placement = "top"; - $template = $template.addClass("orphan"); - } - $element = $(step.element); - $template.addClass("tour-" + this._options.name); - if (step.options) { - $.extend(options, step.options); - } - if (step.reflex) { - $element.css("cursor", "pointer").on("click.tour-" + this._options.name, function(e) { - if (_this._current < _this._steps.length - 1) { + Tour.prototype._isLast = function() { + return this._current < this._options.steps.length - 1; + }; + + Tour.prototype._showPopover = function(step, i) { + var $element, $navigation, $template, $tip, isOrphan, options; + options = $.extend({}, this._options); + $template = $.isFunction(step.template) ? $(step.template(i, step)) : $(step.template); + $navigation = $template.find(".popover-navigation"); + isOrphan = this._isOrphan(step); + if (isOrphan) { + step.element = "body>*:last"; + step.placement = "top"; + $template = $template.addClass("orphan"); + } + $element = $(step.element); + $template.addClass("tour-" + this._options.name + " tour-" + this._options.name + "-" + i); + $element.addClass("tour-" + this._options.name + "-element tour-" + this._options.name + "-" + i + "-element"); + if (step.options) { + $.extend(options, step.options); + } + if (step.reflex) { + $element.css("cursor", "pointer").on("click.tour-" + this._options.name, (function(_this) { + return function() { + if (_this._isLast()) { return _this.next(); } else { return _this.end(); } - }); - } - if (step.prev < 0) { - $navigation.find("*[data-role=prev]").addClass("disabled"); - } - if (step.next < 0) { - $navigation.find("*[data-role=next]").addClass("disabled"); - } - step.template = $template.clone().wrap("
    ").parent().html(); - $element.popover({ - placement: step.placement, - trigger: "manual", - title: step.title, - content: step.content, - html: true, - animation: step.animation, - container: step.container, - template: step.template, - selector: step.element - }).popover("show"); - $tip = $element.data("bs.popover") ? $element.data("bs.popover").tip() : $element.data("popover").tip(); - $tip.attr("id", step.id); - this._scrollIntoView($tip); - this._reposition($tip, step); - if (isOrphan) { - return this._center($tip); - } - }; + }; + })(this)); + } + if (step.prev < 0) { + $navigation.find("[data-role='prev']").addClass("disabled"); + } + if (step.next < 0) { + $navigation.find("[data-role='next']").addClass("disabled"); + } + if (!step.duration) { + $navigation.find("[data-role='pause-resume']").remove(); + } + step.template = $template.clone().wrap("
    ").parent().html(); + $element.popover({ + placement: step.placement, + trigger: "manual", + title: step.title, + content: step.content, + html: true, + animation: step.animation, + container: step.container, + template: step.template, + selector: step.element + }).popover("show"); + $tip = $element.data("bs.popover") ? $element.data("bs.popover").tip() : $element.data("popover").tip(); + $tip.attr("id", step.id); + this._reposition($tip, step); + if (isOrphan) { + return this._center($tip); + } + }; - Tour.prototype._reposition = function($tip, step) { - var offsetBottom, offsetHeight, offsetRight, offsetWidth, originalLeft, originalTop, tipOffset; - offsetWidth = $tip[0].offsetWidth; - offsetHeight = $tip[0].offsetHeight; - tipOffset = $tip.offset(); - originalLeft = tipOffset.left; - originalTop = tipOffset.top; - offsetBottom = $(document).outerHeight() - tipOffset.top - $tip.outerHeight(); - if (offsetBottom < 0) { - tipOffset.top = tipOffset.top + offsetBottom; + Tour.prototype._reposition = function($tip, step) { + var offsetBottom, offsetHeight, offsetRight, offsetWidth, originalLeft, originalTop, tipOffset; + offsetWidth = $tip[0].offsetWidth; + offsetHeight = $tip[0].offsetHeight; + tipOffset = $tip.offset(); + originalLeft = tipOffset.left; + originalTop = tipOffset.top; + offsetBottom = $(document).outerHeight() - tipOffset.top - $tip.outerHeight(); + if (offsetBottom < 0) { + tipOffset.top = tipOffset.top + offsetBottom; + } + offsetRight = $("html").outerWidth() - tipOffset.left - $tip.outerWidth(); + if (offsetRight < 0) { + tipOffset.left = tipOffset.left + offsetRight; + } + if (tipOffset.top < 0) { + tipOffset.top = 0; + } + if (tipOffset.left < 0) { + tipOffset.left = 0; + } + $tip.offset(tipOffset); + if (step.placement === "bottom" || step.placement === "top") { + if (originalLeft !== tipOffset.left) { + return this._replaceArrow($tip, (tipOffset.left - originalLeft) * 2, offsetWidth, "left"); } - offsetRight = $("html").outerWidth() - tipOffset.left - $tip.outerWidth(); - if (offsetRight < 0) { - tipOffset.left = tipOffset.left + offsetRight; + } else { + if (originalTop !== tipOffset.top) { + return this._replaceArrow($tip, (tipOffset.top - originalTop) * 2, offsetHeight, "top"); } - if (tipOffset.top < 0) { - tipOffset.top = 0; - } - if (tipOffset.left < 0) { - tipOffset.left = 0; - } - $tip.offset(tipOffset); - if (step.placement === "bottom" || step.placement === "top") { - if (originalLeft !== tipOffset.left) { - return this._replaceArrow($tip, (tipOffset.left - originalLeft) * 2, offsetWidth, "left"); + } + }; + + Tour.prototype._center = function($tip) { + return $tip.css("top", $(window).outerHeight() / 2 - $tip.outerHeight() / 2); + }; + + Tour.prototype._replaceArrow = function($tip, delta, dimension, position) { + return $tip.find(".arrow").css(position, delta ? 50 * (1 - delta / dimension) + "%" : ""); + }; + + Tour.prototype._scrollIntoView = function(element, callback) { + var $element, $window, counter, offsetTop, scrollTop, windowHeight; + $element = $(element); + if (!$element.length) { + return callback(); + } + $window = $(window); + offsetTop = $element.offset().top; + windowHeight = $window.height(); + scrollTop = Math.max(0, offsetTop - (windowHeight / 2)); + this._debug("Scroll into view. ScrollTop: " + scrollTop + ". Element offset: " + offsetTop + ". Window height: " + windowHeight + "."); + counter = 0; + return $("body,html").stop(true, true).animate({ + scrollTop: Math.ceil(scrollTop) + }, (function(_this) { + return function() { + if (++counter === 2) { + callback(); + return _this._debug("Scroll into view. Animation end element offset: " + ($element.offset().top) + ". Window height: " + ($window.height()) + "."); } + }; + })(this)); + }; + + Tour.prototype._onResize = function(callback, timeout) { + return $(window).on("resize.tour-" + this._options.name, function() { + clearTimeout(timeout); + return timeout = setTimeout(callback, 100); + }); + }; + + Tour.prototype._initMouseNavigation = function() { + var _this; + _this = this; + return $(document).off("click.tour-" + this._options.name, ".popover.tour-" + this._options.name + " *[data-role='prev']:not(.disabled)").off("click.tour-" + this._options.name, ".popover.tour-" + this._options.name + " *[data-role='next']:not(.disabled)").off("click.tour-" + this._options.name, ".popover.tour-" + this._options.name + " *[data-role='end']").off("click.tour-" + this._options.name, ".popover.tour-" + this._options.name + " *[data-role='pause-resume']").on("click.tour-" + this._options.name, ".popover.tour-" + this._options.name + " *[data-role='next']:not(.disabled)", (function(_this) { + return function(e) { + e.preventDefault(); + return _this.next(); + }; + })(this)).on("click.tour-" + this._options.name, ".popover.tour-" + this._options.name + " *[data-role='prev']:not(.disabled)", (function(_this) { + return function(e) { + e.preventDefault(); + return _this.prev(); + }; + })(this)).on("click.tour-" + this._options.name, ".popover.tour-" + this._options.name + " *[data-role='end']", (function(_this) { + return function(e) { + e.preventDefault(); + return _this.end(); + }; + })(this)).on("click.tour-" + this._options.name, ".popover.tour-" + this._options.name + " *[data-role='pause-resume']", function(e) { + var $this; + e.preventDefault(); + $this = $(this); + $this.text(_this._paused ? $this.data("pause-text") : $this.data("resume-text")); + if (_this._paused) { + return _this.resume(); } else { - if (originalTop !== tipOffset.top) { - return this._replaceArrow($tip, (tipOffset.top - originalTop) * 2, offsetHeight, "top"); - } + return _this.pause(); } - }; + }); + }; - Tour.prototype._center = function($tip) { - return $tip.css("top", $(window).outerHeight() / 2 - $tip.outerHeight() / 2); - }; - - Tour.prototype._replaceArrow = function($tip, delta, dimension, position) { - return $tip.find(".arrow").css(position, delta ? 50 * (1 - delta / dimension) + "%" : ""); - }; - - Tour.prototype._scrollIntoView = function(tip) { - return $("html, body").stop().animate({ - scrollTop: Math.ceil(tip.offset().top - ($(window).height() / 2)) - }); - }; - - Tour.prototype._onResize = function(callback, timeout) { - return $(window).on("resize.tour-" + this._options.name, function() { - clearTimeout(timeout); - return timeout = setTimeout(callback, 100); - }); - }; - - Tour.prototype._setupKeyboardNavigation = function() { - var _this = this; - if (this._options.keyboard) { - return $(document).on("keyup.tour-" + this._options.name, function(e) { - if (!e.which) { - return; - } - switch (e.which) { - case 39: - e.preventDefault(); - if (_this._current < _this._steps.length - 1) { - return _this.next(); - } else { - return _this.end(); - } - break; - case 37: - e.preventDefault(); - if (_this._current > 0) { - return _this.prev(); - } - break; - case 27: - e.preventDefault(); + Tour.prototype._initKeyboardNavigation = function() { + if (!this._options.keyboard) { + return; + } + return $(document).on("keyup.tour-" + this._options.name, (function(_this) { + return function(e) { + if (!e.which) { + return; + } + switch (e.which) { + case 39: + e.preventDefault(); + if (_this._isLast()) { + return _this.next(); + } else { return _this.end(); - } - }); - } - }; + } + break; + case 37: + e.preventDefault(); + if (_this._current > 0) { + return _this.prev(); + } + break; + case 27: + e.preventDefault(); + return _this.end(); + } + }; + })(this)); + }; - Tour.prototype._makePromise = function(result) { - if (result && $.isFunction(result.then)) { - return result; - } else { - return null; - } - }; + Tour.prototype._makePromise = function(result) { + if (result && $.isFunction(result.then)) { + return result; + } else { + return null; + } + }; - Tour.prototype._callOnPromiseDone = function(promise, cb, arg) { - var _this = this; - if (promise) { - return promise.then(function(e) { + Tour.prototype._callOnPromiseDone = function(promise, cb, arg) { + if (promise) { + return promise.then((function(_this) { + return function(e) { return cb.call(_this, arg); - }); - } else { - return cb.call(this, arg); - } - }; + }; + })(this)); + } else { + return cb.call(this, arg); + } + }; - Tour.prototype._showBackdrop = function(element) { - if (this.backdrop.overlay !== null) { - return; - } - this._showOverlay(); - if (element != null) { - return this._showOverlayElement(element); - } - }; + Tour.prototype._showBackdrop = function(element) { + if (this.backdrop.backgroundShown) { + return; + } + this.backdrop = $("
    ", { + "class": "tour-backdrop" + }); + this.backdrop.backgroundShown = true; + return $("body").append(this.backdrop); + }; - Tour.prototype._hideBackdrop = function() { - if (this.backdrop.overlay === null) { - return; - } - if (this.backdrop.$element) { - this._hideOverlayElement(); - } - return this._hideOverlay(); - }; + Tour.prototype._hideBackdrop = function() { + this._hideOverlayElement(); + return this._hideBackground(); + }; - Tour.prototype._showOverlay = function() { - this.backdrop = $("
    ", { - "class": "tour-backdrop" - }); - return $("body").append(this.backdrop); - }; + Tour.prototype._hideBackground = function() { + this.backdrop.remove(); + this.backdrop.overlay = null; + return this.backdrop.backgroundShown = false; + }; - Tour.prototype._hideOverlay = function() { - this.backdrop.remove(); - return this.backdrop.overlay = null; - }; + Tour.prototype._showOverlayElement = function(element) { + var $background, $element, offset; + $element = $(element); + if (!$element || $element.length === 0 || this.backdrop.overlayElementShown) { + return; + } + this.backdrop.overlayElementShown = true; + $background = $("
    "); + offset = $element.offset(); + offset.top = offset.top; + offset.left = offset.left; + $background.width($element.innerWidth()).height($element.innerHeight()).addClass("tour-step-background").offset(offset); + $element.addClass("tour-step-backdrop"); + $("body").append($background); + this.backdrop.$element = $element; + return this.backdrop.$background = $background; + }; - Tour.prototype._showOverlayElement = function(element) { - var $background, $element, offset; - $element = $(element); - $background = $("
    "); - offset = $element.offset(); - offset.top = offset.top; - offset.left = offset.left; - $background.width($element.innerWidth()).height($element.innerHeight()).addClass("tour-step-background").offset(offset); - $element.addClass("tour-step-backdrop"); - $("body").append($background); - this.backdrop.$element = $element; - return this.backdrop.$background = $background; - }; + Tour.prototype._hideOverlayElement = function() { + if (!this.backdrop.overlayElementShown) { + return; + } + this.backdrop.$element.removeClass("tour-step-backdrop"); + this.backdrop.$background.remove(); + this.backdrop.$element = null; + this.backdrop.$background = null; + return this.backdrop.overlayElementShown = false; + }; - Tour.prototype._hideOverlayElement = function() { - this.backdrop.$element.removeClass("tour-step-backdrop"); - this.backdrop.$background.remove(); - this.backdrop.$element = null; - return this.backdrop.$background = null; - }; + Tour.prototype._clearTimer = function() { + window.clearTimeout(this._timer); + this._timer = null; + return this._duration = null; + }; - return Tour; + return Tour; - })(); - return window.Tour = Tour; - })(jQuery, window); - -}).call(this); + })(); + return window.Tour = Tour; +})(jQuery, window); diff --git a/addons/website/static/src/js/website.tour.banner.js b/addons/website/static/src/js/website.tour.banner.js index 65099d03986..443405e2401 100644 --- a/addons/website/static/src/js/website.tour.banner.js +++ b/addons/website/static/src/js/website.tour.banner.js @@ -15,7 +15,6 @@ popover: { next: _t("Start Tutorial"), end: _t("Skip It") }, }, { - waitNot: '.popover.tour', element: 'button[data-action=edit]', placement: 'bottom', title: _t("Edit this page"), @@ -52,7 +51,6 @@ popover: { next: _t("Continue") }, }, { - waitNot: '.popover.tour', element: 'button[data-action=snippet]', placement: 'bottom', title: _t("Add Another Block"), @@ -81,7 +79,6 @@ popover: { next: _t("Continue") }, }, { - waitNot: '.popover.tour', element: 'a[data-action=show-mobile-preview]', placement: 'bottom', title: _t("Test Your Mobile Version"), diff --git a/addons/website/static/src/js/website.tour.js b/addons/website/static/src/js/website.tour.js index fc0dd513cf2..df6108e0278 100644 --- a/addons/website/static/src/js/website.tour.js +++ b/addons/website/static/src/js/website.tour.js @@ -32,7 +32,7 @@ if (website.EditorBar) { var self = this; var menu = $('#help-menu'); _.each(website.Tour.tours, function (tour) { - if (tour.mode != "tutorial") { + if (tour.mode === "test") { return; } var $menuItem = $($.parseHTML('
  • '+tour.name+'
  • ')); @@ -90,16 +90,19 @@ website.Tour = {}; website.Tour.tours = {}; website.Tour.state = null; website.Tour.register = function (tour) { + if (tour.mode !== "test") tour.mode = "tutorial"; website.Tour.tours[tour.id] = tour; }; website.Tour.run = function (tour_id, mode) { - if (localStorage.getItem("tour")) { // only one test running + if (localStorage.getItem("tour") && mode === "test") { // only one test running return; } var tour = website.Tour.tours[tour_id]; - website.Tour.save_state(tour.id, mode || tour.mode, 0); - if (tour.path) { + website.Tour.saveState(tour.id, mode || tour.mode, 0); + if (tour.path && !window.location.href.match(new RegExp("("+website.Tour.getLang()+")?"+tour.path+"#?$", "i"))) { window.location.href = "/"+website.Tour.getLang()+tour.path; + } else { + website.Tour.running(); } }; website.Tour.registerSteps = function (tour) { @@ -114,48 +117,82 @@ website.Tour.registerSteps = function (tour) { if (!step.waitNot && index > 0 && tour.steps[index-1] && tour.steps[index-1].popover && tour.steps[index-1].popover.next) { - step.waitNot = '.popover.tour:visible'; + step.waitNot = '.popover.tour.fade.in:visible'; } if (!step.waitFor && index > 0 && tour.steps[index-1].snippet) { step.waitFor = '.oe_overlay_options .oe_options:visible'; } - if (!step.element) step.orphan = true; - - var snippet = step.element.match(/#oe_snippets (.*) \.oe_snippet_thumbnail/); + var snippet = step.element && step.element.match(/#oe_snippets (.*) \.oe_snippet_thumbnail/); if (snippet) { step.snippet = snippet[1]; } else if (step.snippet) { step.element = '#oe_snippets '+step.snippet+' .oe_snippet_thumbnail'; } + + if (!step.element) step.orphan = true; } if (tour.steps[index-1] && tour.steps[index-1].popover && tour.steps[index-1].popover.next) { var step = { - step_id: index, - waitNot: '.popover.tour:visible' + id: index, + waitNot: '.popover.tour.fade.in:visible' }; tour.steps.push(step); } // rendering bootstrap tour and popover - if (tour.mode != "test" || typeof Tour !== "undefined") { + if (tour.mode !== "test" || typeof Tour !== "undefined") { tour.tour = new Tour({ - name: this.id, + debug: true, + name: tour.id, storage: localStorage, keyboard: false, - template: this.popover(), + template: website.Tour.popover(), onHide: function () { window.scrollTo(0, 0); } }); + for (var index=0, len=tour.steps.length; index -1) { - tour_id = window.location.href.match(/#tutorial\.(.*)=true/)[1]; - mode = "tutorial"; - step_id = 0; +website.Tour.getState = function () { + var state = JSON.parse(localStorage.getItem("tour") || 'false') || {}; + var tour_id,mode,step_id; + if (!state.id && window.location.href.indexOf("#tutorial.") > -1) { + state = { + "id": window.location.href.match(/#tutorial\.(.*)=true/)[1], + "mode": "tutorial", + "step_id": 0 + }; } - if (!tour_id) { + if (!state.id) { return; } - var tour = website.Tour.tours[tour_id]; - return {'tour': tour, 'tour_id': tour_id, 'mode': mode, 'step_id': step_id}; + state.tour = website.Tour.tours[state.id]; + state.step = state.tour.steps[state.step_id]; + return state; }; website.Tour.error = function (tour, step, message) { website.Tour.reset(); throw new Error(message + - + "\ntour:" + tour.id + - + "\nstep:" + step.id + ": '" + (step._title || step.title) + "'" + + "\ntour: " + tour.id + + + "\nstep: " + step.id + ": '" + (step._title || step.title) + "'" + '\nhref: ' + window.location.href + '\nreferrer: ' + document.referrer + '\nelement: ' + Boolean(!step.element || ($(step.element).size() && $(step.element).is(":visible") && !$(step.element).is(":hidden"))) + '\nwaitNot: ' + Boolean(!step.waitNot || !$(step.waitNot).size()) + '\nwaitFor: ' + Boolean(!step.waitFor || $(step.waitFor).size()) - + "\nlocalStorage: " + localStorage.getItem("tour") + + "\nlocalStorage: " + JSON.stringify(localStorage) + '\n\n' + $("body").html() ); }; @@ -206,24 +242,39 @@ website.Tour.lists = function () { } return tour_ids; }; -website.Tour.save_state = function (tour_id, mode, step_id) { - localStorage.setItem("tour", '{tour_id:'+tour_id+', mode:'+mode+', step_id:'+step_id+'}'); +website.Tour.saveState = function (tour_id, mode, step_id) { + localStorage.setItem("tour", JSON.stringify({"id":tour_id, "mode":mode, "step_id":step_id})); }; website.Tour.reset = function () { - var running = website.Tour.get_state(); - for (var k in running.tour.steps) { - running.tour.steps[k].busy = false; + var state = website.Tour.getState(); + if (state) { + for (var k in state.tour.steps) { + state.tour.steps[k].busy = false; + } + if (state.tour.tour) { + state.tour.tour.end(); + } } localStorage.removeItem("tour"); clearTimeout(website.Tour.timer); clearTimeout(website.Tour.testtimer); - $('.popover.tour').remove(); + $(".popover.tour").remove(); }; website.Tour.running = function () { - var running = website.Tour.get_state(); - website.Tour.registerSteps(running.tour); - website.Tour.nextStep( running.tour, running.step_id ); + var state = website.Tour.getState(); + if (state) { + website.Tour.registerSteps(state.tour); + if ($.ajaxBusy) { + $(document).ajaxStop(function() { + setTimeout(function () { + website.Tour.nextStep( state.tour, state.step, state.mode === "test" ? 5000 : 0 ); + },0); + }); + } else { + website.Tour.nextStep( state.tour, state.step, state.mode === "test" ? 5000 : 0 ); + } + } }; website.Tour.timer = null; @@ -238,83 +289,62 @@ website.Tour.check = function (step) { website.Tour.waitNextStep = function (tour, step, overlaps) { var time = new Date().getTime(); var timer; + var next = tour.steps[step.id+1]; window.onbeforeunload = function () { clearTimeout(website.Tour.timer); clearTimeout(website.Tour.testtimer); }; - // check popover activity - $(".popover.tour button") - .off() - .on("click", function () { - $(".popover.tour").remove(); - if (step.busy) return; - if (!$(this).is("[data-role='next']")) { - clearTimeout(website.Tour.timer); - step.busy = true; - if (tour.tour) { - tour.tour.end(); - } - tour.endTour(tour); - } - }); - function checkNext () { + website.Tour.autoToggleBootstrapTour(); + clearTimeout(website.Tour.timer); - if (step.busy) return; - if (website.Tour.check(step)) { - step.busy = true; + if (next.busy) return; + if (website.Tour.check(next)) { + next.busy = true; + clearTimeout(website.Tour.currentTimer); // use an other timeout for cke dom loading setTimeout(function () { - website.Tour.nextStep(tour, step, overlaps); + website.Tour.nextStep(tour, next, overlaps); }, website.Tour.defaultDelay); } else if (!overlaps || new Date().getTime() - time < overlaps) { - if (self.current.element) { - var $popover = $(".popover.tour"); - if(!$(self.current.element).is(":visible")) { - $popover.data("hide", true).fadeOut(300); - } else if($popover.data("hide")) { - $popover.data("hide", false).fadeIn(150); - } - } website.Tour.timer = setTimeout(checkNext, website.Tour.defaultDelay); } else { - website.Tour.error(tour, step, "Can't arrive to the next step"); + website.Tour.error(tour, next, "Can't arrive to the next step"); } } checkNext(); }; +website.Tour.currentTimer = null; website.Tour.nextStep = function (tour, step, overlaps) { - var state = website.Tour.get_state(); - website.Tour.save_state(tour.id, state.mode, step.id); + var state = website.Tour.getState(); + website.Tour.saveState(state.id, state.mode, step.id); - // clear popover (fix for boostrap tour if the element is removed before destroy popover) - $(".popover.tour").remove(); - // go to step in bootstrap tour - if (tour.tour) { - tour.tour.goto(step.id); + website.Tour.autoToggleBootstrapTour(); + + if (step.onload) { + step.onload(); } - step.onload(); var next = tour.steps[step.id+1]; if (next) { setTimeout(function () { - website.Tour.waitNextStep(tour, next, overlaps); + website.Tour.waitNextStep(tour, step, overlaps); if (state.mode === "test") { setTimeout(function(){ website.Tour.autoNextStep(tour, step); }, website.Tour.defaultDelay); } - }, next && next.wait || 0); + }, next.wait || 0); } else { website.Tour.endTour(tour); } }; website.Tour.endTour = function (tour) { - var state = website.Tour.get_state(); - var test = state.step_id >= tour.steps.length-1; - this.reset(); + var state = website.Tour.getState(); + var test = state.step.id >= state.tour.steps.length-1; + website.Tour.reset(); if (test) { console.log('ok'); } else { @@ -388,7 +418,8 @@ website.Tour.autoDragAndDropSnippet = function (selector) { $dropZone.trigger($.Event("mouseup", { which: 1, pageX: dropPosition.left, pageY: dropPosition.top })); }; -website.ready(website.Tour.running); +//$(document).ready(website.Tour.running); +website.ready().then(website.Tour.running); }()); From 58b6aeb01d489922f8311e6a390805d9cb1c877f Mon Sep 17 00:00:00 2001 From: "chm@openerp.com" <> Date: Fri, 21 Mar 2014 12:07:50 +0100 Subject: [PATCH 31/98] [IMP] website tour: remove bootstrap Tour lib bzr revid: chm@openerp.com-20140321110750-ew8rj3nv2jcort1x --- .../lib/bootstrap-tour/bootstrap-tour.css | 65 -- .../lib/bootstrap-tour/bootstrap-tour.js | 716 ------------------ addons/website/static/src/css/editor.css | 24 +- addons/website/static/src/css/editor.sass | 19 +- .../static/src/js/website.tour.banner.js | 2 + addons/website/static/src/js/website.tour.js | 349 +++++---- 6 files changed, 258 insertions(+), 917 deletions(-) delete mode 100644 addons/website/static/lib/bootstrap-tour/bootstrap-tour.css delete mode 100644 addons/website/static/lib/bootstrap-tour/bootstrap-tour.js diff --git a/addons/website/static/lib/bootstrap-tour/bootstrap-tour.css b/addons/website/static/lib/bootstrap-tour/bootstrap-tour.css deleted file mode 100644 index 5449158e7f4..00000000000 --- a/addons/website/static/lib/bootstrap-tour/bootstrap-tour.css +++ /dev/null @@ -1,65 +0,0 @@ -/* =========================================================== -# bootstrap-tour - v0.9.1 -# http://bootstraptour.com -# ============================================================== -# Copyright 2012-2013 Ulrich Sossou -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -*/ -.tour-backdrop { - position: fixed; - top: 0; - right: 0; - bottom: 0; - left: 0; - z-index: 1100; - background-color: #000; - opacity: 0.8; -} -.tour-step-backdrop { - position: relative; - z-index: 1101; - background: inherit; -} -.tour-step-background { - position: absolute; - z-index: 1100; - background: inherit; - border-radius: 6px; -} -.popover[class*="tour-"] { - z-index: 1100; -} -.popover[class*="tour-"] .popover-navigation { - padding: 9px 14px; -} -.popover[class*="tour-"] .popover-navigation *[data-role="end"] { - float: right; -} -.popover[class*="tour-"] .popover-navigation *[data-role="prev"], -.popover[class*="tour-"] .popover-navigation *[data-role="next"], -.popover[class*="tour-"] .popover-navigation *[data-role="end"] { - cursor: pointer; -} -.popover[class*="tour-"] .popover-navigation *[data-role="prev"].disabled, -.popover[class*="tour-"] .popover-navigation *[data-role="next"].disabled, -.popover[class*="tour-"] .popover-navigation *[data-role="end"].disabled { - cursor: default; -} -.popover[class*="tour-"].orphan { - position: fixed; - margin-top: 0; -} -.popover[class*="tour-"].orphan .arrow { - display: none; -} diff --git a/addons/website/static/lib/bootstrap-tour/bootstrap-tour.js b/addons/website/static/lib/bootstrap-tour/bootstrap-tour.js deleted file mode 100644 index a0172c718c0..00000000000 --- a/addons/website/static/lib/bootstrap-tour/bootstrap-tour.js +++ /dev/null @@ -1,716 +0,0 @@ -/* =========================================================== -# bootstrap-tour - v0.9.1 -# http://bootstraptour.com -# ============================================================== -# Copyright 2012-2013 Ulrich Sossou -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -*/ -(function($, window) { - var Tour, document; - document = window.document; - Tour = (function() { - function Tour(options) { - this._options = $.extend({ - name: "tour", - steps: [], - container: "body", - keyboard: true, - storage: window.localStorage, - debug: false, - backdrop: false, - redirect: true, - orphan: false, - duration: false, - basePath: "", - template: "

    ", - afterSetState: function(key, value) {}, - afterGetState: function(key, value) {}, - afterRemoveState: function(key) {}, - onStart: function(tour) {}, - onEnd: function(tour) {}, - onShow: function(tour) {}, - onShown: function(tour) {}, - onHide: function(tour) {}, - onHidden: function(tour) {}, - onNext: function(tour) {}, - onPrev: function(tour) {}, - onPause: function(tour, duration) {}, - onResume: function(tour, duration) {} - }, options); - this._force = false; - this._inited = false; - this.backdrop = { - overlay: null, - $element: null, - $background: null, - backgroundShown: false, - overlayElementShown: false - }; - this; - } - - Tour.prototype.addSteps = function(steps) { - var step, _i, _len; - for (_i = 0, _len = steps.length; _i < _len; _i++) { - step = steps[_i]; - this.addStep(step); - } - return this; - }; - - Tour.prototype.addStep = function(step) { - this._options.steps.push(step); - return this; - }; - - Tour.prototype.getStep = function(i) { - if (this._options.steps[i] != null) { - return $.extend({ - id: "step-" + i, - path: "", - placement: "right", - title: "", - content: "

    ", - next: i === this._options.steps.length - 1 ? -1 : i + 1, - prev: i - 1, - animation: true, - container: this._options.container, - backdrop: this._options.backdrop, - redirect: this._options.redirect, - orphan: this._options.orphan, - duration: this._options.duration, - template: this._options.template, - onShow: this._options.onShow, - onShown: this._options.onShown, - onHide: this._options.onHide, - onHidden: this._options.onHidden, - onNext: this._options.onNext, - onPrev: this._options.onPrev, - onPause: this._options.onPause, - onResume: this._options.onResume - }, this._options.steps[i]); - } - }; - - Tour.prototype.init = function(force) { - this._force = force; - if (this.ended()) { - this._debug("Tour ended, init prevented."); - return this; - } - this.setCurrentStep(); - this._initMouseNavigation(); - this._initKeyboardNavigation(); - this._onResize((function(_this) { - return function() { - return _this.showStep(_this._current); - }; - })(this)); - if (this._current !== null) { - this.showStep(this._current); - } - this._inited = true; - return this; - }; - - Tour.prototype.start = function(force) { - var promise; - if (force == null) { - force = false; - } - if (!this._inited) { - this.init(force); - } - if (this._current === null) { - promise = this._makePromise(this._options.onStart != null ? this._options.onStart(this) : void 0); - this._callOnPromiseDone(promise, this.showStep, 0); - } - return this; - }; - - Tour.prototype.next = function() { - var promise; - promise = this.hideStep(this._current); - return this._callOnPromiseDone(promise, this._showNextStep); - }; - - Tour.prototype.prev = function() { - var promise; - promise = this.hideStep(this._current); - return this._callOnPromiseDone(promise, this._showPrevStep); - }; - - Tour.prototype.goTo = function(i) { - var promise; - promise = this.hideStep(this._current); - return this._callOnPromiseDone(promise, this.showStep, i); - }; - - Tour.prototype.end = function() { - var endHelper, promise; - endHelper = (function(_this) { - return function(e) { - $(document).off("click.tour-" + _this._options.name); - $(document).off("keyup.tour-" + _this._options.name); - $(window).off("resize.tour-" + _this._options.name); - _this._setState("end", "yes"); - _this._inited = false; - _this._force = false; - _this._clearTimer(); - if (_this._options.onEnd != null) { - return _this._options.onEnd(_this); - } - }; - })(this); - promise = this.hideStep(this._current); - return this._callOnPromiseDone(promise, endHelper); - }; - - Tour.prototype.ended = function() { - return !this._force && !!this._getState("end"); - }; - - Tour.prototype.restart = function() { - this._removeState("current_step"); - this._removeState("end"); - this.setCurrentStep(0); - return this.start(); - }; - - Tour.prototype.pause = function() { - var step; - step = this.getStep(this._current); - if (!(step && step.duration)) { - return this; - } - this._paused = true; - this._duration -= new Date().getTime() - this._start; - window.clearTimeout(this._timer); - this._debug("Paused/Stopped step " + (this._current + 1) + " timer (" + this._duration + " remaining)."); - if (step.onPause != null) { - return step.onPause(this, this._duration); - } - }; - - Tour.prototype.resume = function() { - var step; - step = this.getStep(this._current); - if (!(step && step.duration)) { - return this; - } - this._paused = false; - this._start = new Date().getTime(); - this._duration = this._duration || step.duration; - this._timer = window.setTimeout((function(_this) { - return function() { - if (_this._isLast()) { - return _this.next(); - } else { - return _this.end(); - } - }; - })(this), this._duration); - this._debug("Started step " + (this._current + 1) + " timer with duration " + this._duration); - if ((step.onResume != null) && this._duration !== step.duration) { - return step.onResume(this, this._duration); - } - }; - - Tour.prototype.hideStep = function(i) { - var hideStepHelper, promise, step; - step = this.getStep(i); - if (!step) { - return; - } - this._clearTimer(); - promise = this._makePromise(step.onHide != null ? step.onHide(this, i) : void 0); - hideStepHelper = (function(_this) { - return function(e) { - var $element; - $element = $(step.element); - if (!($element.data("bs.popover") || $element.data("popover"))) { - $element = $("body"); - } - $element.popover("destroy").removeClass("tour-" + _this._options.name + "-element tour-" + _this._options.name + "-" + i + "-element"); - if (step.reflex) { - $element.css("cursor", "").off("click.tour-" + _this._options.name); - } - if (step.backdrop) { - _this._hideBackdrop(); - } - if (step.onHidden != null) { - return step.onHidden(_this); - } - }; - })(this); - this._callOnPromiseDone(promise, hideStepHelper); - return promise; - }; - - Tour.prototype.showStep = function(i) { - var promise, showStepHelper, skipToPrevious, step; - if (this.ended()) { - this._debug("Tour ended, showStep prevented."); - return this; - } - step = this.getStep(i); - if (!step) { - return; - } - skipToPrevious = i < this._current; - promise = this._makePromise(step.onShow != null ? step.onShow(this, i) : void 0); - showStepHelper = (function(_this) { - return function(e) { - var current_path, path; - _this.setCurrentStep(i); - path = (function() { - switch ({}.toString.call(step.path)) { - case "[object Function]": - return step.path(); - case "[object String]": - return this._options.basePath + step.path; - default: - return step.path; - } - }).call(_this); - current_path = [document.location.pathname, document.location.hash].join(""); - if (_this._isRedirect(path, current_path)) { - _this._redirect(step, path); - return; - } - if (_this._isOrphan(step)) { - if (!step.orphan) { - _this._debug("Skip the orphan step " + (_this._current + 1) + ". Orphan option is false and the element doesn't exist or is hidden."); - if (skipToPrevious) { - _this._showPrevStep(); - } else { - _this._showNextStep(); - } - return; - } - _this._debug("Show the orphan step " + (_this._current + 1) + ". Orphans option is true."); - } - if (step.backdrop) { - _this._showBackdrop(!_this._isOrphan(step) ? step.element : void 0); - } - _this._scrollIntoView(step.element, function() { - if ((step.element != null) && step.backdrop) { - _this._showOverlayElement(step.element); - } - _this._showPopover(step, i); - if (step.onShown != null) { - step.onShown(_this); - } - return _this._debug("Step " + (_this._current + 1) + " of " + _this._options.steps.length); - }); - if (step.duration) { - return _this.resume(); - } - }; - })(this); - this._callOnPromiseDone(promise, showStepHelper); - return promise; - }; - - Tour.prototype.getCurrentStep = function() { - return this._current; - }; - - Tour.prototype.setCurrentStep = function(value) { - if (value != null) { - this._current = value; - this._setState("current_step", value); - } else { - this._current = this._getState("current_step"); - this._current = this._current === null ? null : parseInt(this._current, 10); - } - return this; - }; - - Tour.prototype._setState = function(key, value) { - var e, keyName; - if (this._options.storage) { - keyName = "" + this._options.name + "_" + key; - try { - this._options.storage.setItem(keyName, value); - } catch (_error) { - e = _error; - if (e.code === DOMException.QUOTA_EXCEEDED_ERR) { - this.debug("LocalStorage quota exceeded. State storage failed."); - } - } - return this._options.afterSetState(keyName, value); - } else { - if (this._state == null) { - this._state = {}; - } - return this._state[key] = value; - } - }; - - Tour.prototype._removeState = function(key) { - var keyName; - if (this._options.storage) { - keyName = "" + this._options.name + "_" + key; - this._options.storage.removeItem(keyName); - return this._options.afterRemoveState(keyName); - } else { - if (this._state != null) { - return delete this._state[key]; - } - } - }; - - Tour.prototype._getState = function(key) { - var keyName, value; - if (this._options.storage) { - keyName = "" + this._options.name + "_" + key; - value = this._options.storage.getItem(keyName); - } else { - if (this._state != null) { - value = this._state[key]; - } - } - if (value === void 0 || value === "null") { - value = null; - } - this._options.afterGetState(key, value); - return value; - }; - - Tour.prototype._showNextStep = function() { - var promise, showNextStepHelper, step; - step = this.getStep(this._current); - showNextStepHelper = (function(_this) { - return function(e) { - return _this.showStep(step.next); - }; - })(this); - promise = this._makePromise(step.onNext != null ? step.onNext(this) : void 0); - return this._callOnPromiseDone(promise, showNextStepHelper); - }; - - Tour.prototype._showPrevStep = function() { - var promise, showPrevStepHelper, step; - step = this.getStep(this._current); - showPrevStepHelper = (function(_this) { - return function(e) { - return _this.showStep(step.prev); - }; - })(this); - promise = this._makePromise(step.onPrev != null ? step.onPrev(this) : void 0); - return this._callOnPromiseDone(promise, showPrevStepHelper); - }; - - Tour.prototype._debug = function(text) { - if (this._options.debug) { - return window.console.log("Bootstrap Tour '" + this._options.name + "' | " + text); - } - }; - - Tour.prototype._isRedirect = function(path, currentPath) { - return (path != null) && path !== "" && ((toString.call(path) === "[object RegExp]" && !path.test(currentPath)) || (toString.call(path) === "[object String]" && path.replace(/\?.*$/, "").replace(/\/?$/, "") !== currentPath.replace(/\/?$/, ""))); - }; - - Tour.prototype._redirect = function(step, path) { - if ($.isFunction(step.redirect)) { - return step.redirect.call(this, path); - } else if (step.redirect === true) { - this._debug("Redirect to " + path); - return document.location.href = path; - } - }; - - Tour.prototype._isOrphan = function(step) { - return (step.element == null) || !$(step.element).length || $(step.element).is(":hidden") && ($(step.element)[0].namespaceURI !== "http://www.w3.org/2000/svg"); - }; - - Tour.prototype._isLast = function() { - return this._current < this._options.steps.length - 1; - }; - - Tour.prototype._showPopover = function(step, i) { - var $element, $navigation, $template, $tip, isOrphan, options; - options = $.extend({}, this._options); - $template = $.isFunction(step.template) ? $(step.template(i, step)) : $(step.template); - $navigation = $template.find(".popover-navigation"); - isOrphan = this._isOrphan(step); - if (isOrphan) { - step.element = "body>*:last"; - step.placement = "top"; - $template = $template.addClass("orphan"); - } - $element = $(step.element); - $template.addClass("tour-" + this._options.name + " tour-" + this._options.name + "-" + i); - $element.addClass("tour-" + this._options.name + "-element tour-" + this._options.name + "-" + i + "-element"); - if (step.options) { - $.extend(options, step.options); - } - if (step.reflex) { - $element.css("cursor", "pointer").on("click.tour-" + this._options.name, (function(_this) { - return function() { - if (_this._isLast()) { - return _this.next(); - } else { - return _this.end(); - } - }; - })(this)); - } - if (step.prev < 0) { - $navigation.find("[data-role='prev']").addClass("disabled"); - } - if (step.next < 0) { - $navigation.find("[data-role='next']").addClass("disabled"); - } - if (!step.duration) { - $navigation.find("[data-role='pause-resume']").remove(); - } - step.template = $template.clone().wrap("
    ").parent().html(); - $element.popover({ - placement: step.placement, - trigger: "manual", - title: step.title, - content: step.content, - html: true, - animation: step.animation, - container: step.container, - template: step.template, - selector: step.element - }).popover("show"); - $tip = $element.data("bs.popover") ? $element.data("bs.popover").tip() : $element.data("popover").tip(); - $tip.attr("id", step.id); - this._reposition($tip, step); - if (isOrphan) { - return this._center($tip); - } - }; - - Tour.prototype._reposition = function($tip, step) { - var offsetBottom, offsetHeight, offsetRight, offsetWidth, originalLeft, originalTop, tipOffset; - offsetWidth = $tip[0].offsetWidth; - offsetHeight = $tip[0].offsetHeight; - tipOffset = $tip.offset(); - originalLeft = tipOffset.left; - originalTop = tipOffset.top; - offsetBottom = $(document).outerHeight() - tipOffset.top - $tip.outerHeight(); - if (offsetBottom < 0) { - tipOffset.top = tipOffset.top + offsetBottom; - } - offsetRight = $("html").outerWidth() - tipOffset.left - $tip.outerWidth(); - if (offsetRight < 0) { - tipOffset.left = tipOffset.left + offsetRight; - } - if (tipOffset.top < 0) { - tipOffset.top = 0; - } - if (tipOffset.left < 0) { - tipOffset.left = 0; - } - $tip.offset(tipOffset); - if (step.placement === "bottom" || step.placement === "top") { - if (originalLeft !== tipOffset.left) { - return this._replaceArrow($tip, (tipOffset.left - originalLeft) * 2, offsetWidth, "left"); - } - } else { - if (originalTop !== tipOffset.top) { - return this._replaceArrow($tip, (tipOffset.top - originalTop) * 2, offsetHeight, "top"); - } - } - }; - - Tour.prototype._center = function($tip) { - return $tip.css("top", $(window).outerHeight() / 2 - $tip.outerHeight() / 2); - }; - - Tour.prototype._replaceArrow = function($tip, delta, dimension, position) { - return $tip.find(".arrow").css(position, delta ? 50 * (1 - delta / dimension) + "%" : ""); - }; - - Tour.prototype._scrollIntoView = function(element, callback) { - var $element, $window, counter, offsetTop, scrollTop, windowHeight; - $element = $(element); - if (!$element.length) { - return callback(); - } - $window = $(window); - offsetTop = $element.offset().top; - windowHeight = $window.height(); - scrollTop = Math.max(0, offsetTop - (windowHeight / 2)); - this._debug("Scroll into view. ScrollTop: " + scrollTop + ". Element offset: " + offsetTop + ". Window height: " + windowHeight + "."); - counter = 0; - return $("body,html").stop(true, true).animate({ - scrollTop: Math.ceil(scrollTop) - }, (function(_this) { - return function() { - if (++counter === 2) { - callback(); - return _this._debug("Scroll into view. Animation end element offset: " + ($element.offset().top) + ". Window height: " + ($window.height()) + "."); - } - }; - })(this)); - }; - - Tour.prototype._onResize = function(callback, timeout) { - return $(window).on("resize.tour-" + this._options.name, function() { - clearTimeout(timeout); - return timeout = setTimeout(callback, 100); - }); - }; - - Tour.prototype._initMouseNavigation = function() { - var _this; - _this = this; - return $(document).off("click.tour-" + this._options.name, ".popover.tour-" + this._options.name + " *[data-role='prev']:not(.disabled)").off("click.tour-" + this._options.name, ".popover.tour-" + this._options.name + " *[data-role='next']:not(.disabled)").off("click.tour-" + this._options.name, ".popover.tour-" + this._options.name + " *[data-role='end']").off("click.tour-" + this._options.name, ".popover.tour-" + this._options.name + " *[data-role='pause-resume']").on("click.tour-" + this._options.name, ".popover.tour-" + this._options.name + " *[data-role='next']:not(.disabled)", (function(_this) { - return function(e) { - e.preventDefault(); - return _this.next(); - }; - })(this)).on("click.tour-" + this._options.name, ".popover.tour-" + this._options.name + " *[data-role='prev']:not(.disabled)", (function(_this) { - return function(e) { - e.preventDefault(); - return _this.prev(); - }; - })(this)).on("click.tour-" + this._options.name, ".popover.tour-" + this._options.name + " *[data-role='end']", (function(_this) { - return function(e) { - e.preventDefault(); - return _this.end(); - }; - })(this)).on("click.tour-" + this._options.name, ".popover.tour-" + this._options.name + " *[data-role='pause-resume']", function(e) { - var $this; - e.preventDefault(); - $this = $(this); - $this.text(_this._paused ? $this.data("pause-text") : $this.data("resume-text")); - if (_this._paused) { - return _this.resume(); - } else { - return _this.pause(); - } - }); - }; - - Tour.prototype._initKeyboardNavigation = function() { - if (!this._options.keyboard) { - return; - } - return $(document).on("keyup.tour-" + this._options.name, (function(_this) { - return function(e) { - if (!e.which) { - return; - } - switch (e.which) { - case 39: - e.preventDefault(); - if (_this._isLast()) { - return _this.next(); - } else { - return _this.end(); - } - break; - case 37: - e.preventDefault(); - if (_this._current > 0) { - return _this.prev(); - } - break; - case 27: - e.preventDefault(); - return _this.end(); - } - }; - })(this)); - }; - - Tour.prototype._makePromise = function(result) { - if (result && $.isFunction(result.then)) { - return result; - } else { - return null; - } - }; - - Tour.prototype._callOnPromiseDone = function(promise, cb, arg) { - if (promise) { - return promise.then((function(_this) { - return function(e) { - return cb.call(_this, arg); - }; - })(this)); - } else { - return cb.call(this, arg); - } - }; - - Tour.prototype._showBackdrop = function(element) { - if (this.backdrop.backgroundShown) { - return; - } - this.backdrop = $("
    ", { - "class": "tour-backdrop" - }); - this.backdrop.backgroundShown = true; - return $("body").append(this.backdrop); - }; - - Tour.prototype._hideBackdrop = function() { - this._hideOverlayElement(); - return this._hideBackground(); - }; - - Tour.prototype._hideBackground = function() { - this.backdrop.remove(); - this.backdrop.overlay = null; - return this.backdrop.backgroundShown = false; - }; - - Tour.prototype._showOverlayElement = function(element) { - var $background, $element, offset; - $element = $(element); - if (!$element || $element.length === 0 || this.backdrop.overlayElementShown) { - return; - } - this.backdrop.overlayElementShown = true; - $background = $("
    "); - offset = $element.offset(); - offset.top = offset.top; - offset.left = offset.left; - $background.width($element.innerWidth()).height($element.innerHeight()).addClass("tour-step-background").offset(offset); - $element.addClass("tour-step-backdrop"); - $("body").append($background); - this.backdrop.$element = $element; - return this.backdrop.$background = $background; - }; - - Tour.prototype._hideOverlayElement = function() { - if (!this.backdrop.overlayElementShown) { - return; - } - this.backdrop.$element.removeClass("tour-step-backdrop"); - this.backdrop.$background.remove(); - this.backdrop.$element = null; - this.backdrop.$background = null; - return this.backdrop.overlayElementShown = false; - }; - - Tour.prototype._clearTimer = function() { - window.clearTimeout(this._timer); - this._timer = null; - return this._duration = null; - }; - - return Tour; - - })(); - return window.Tour = Tour; -})(jQuery, window); diff --git a/addons/website/static/src/css/editor.css b/addons/website/static/src/css/editor.css index da0fad43caf..0bd20bdcca9 100644 --- a/addons/website/static/src/css/editor.css +++ b/addons/website/static/src/css/editor.css @@ -484,10 +484,30 @@ div.tour-backdrop { z-index: 2009; } -.popover.tour { - z-index: 2010; +.popover.tour.orphan .arrow { + display: none; +} +.popover.tour .popover-navigation { + padding: 9px 14px; +} +.popover.tour .popover-navigation *[data-role="end"] { + float: right; +} +.popover.tour .popover-navigation *[data-role="next"], .popover.tour .popover-navigation *[data-role="end"] { + cursor: pointer; } .popover.fixed { position: fixed; } + +.tour-backdrop { + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 1100; + background-color: black; + opacity: 0.8; +} diff --git a/addons/website/static/src/css/editor.sass b/addons/website/static/src/css/editor.sass index 4571dcd257e..bd0f4628009 100644 --- a/addons/website/static/src/css/editor.sass +++ b/addons/website/static/src/css/editor.sass @@ -424,9 +424,26 @@ $editorbar_height: 30px div.tour-backdrop z-index: 2009 .popover.tour - z-index: 2010 + &.orphan .arrow + display: none + .popover-navigation + padding: 9px 14px + *[data-role="end"] + float: right + *[data-role="next"],*[data-role="end"] + cursor: pointer .popover.fixed position: fixed +.tour-backdrop + position: fixed + top: 0 + right: 0 + bottom: 0 + left: 0 + z-index: 1100 + background-color: #000 + opacity: 0.8 + // }}} diff --git a/addons/website/static/src/js/website.tour.banner.js b/addons/website/static/src/js/website.tour.banner.js index 443405e2401..a8abbcf59e2 100644 --- a/addons/website/static/src/js/website.tour.banner.js +++ b/addons/website/static/src/js/website.tour.banner.js @@ -13,6 +13,7 @@ title: _t("Welcome to your website!"), content: _t("This tutorial will guide you to build your home page. We will start by adding a banner."), popover: { next: _t("Start Tutorial"), end: _t("Skip It") }, + backdrop: true, }, { element: 'button[data-action=edit]', @@ -77,6 +78,7 @@ title: _t("Good Job!"), content: _t("Well done, you created your homepage."), popover: { next: _t("Continue") }, + backdrop: true, }, { element: 'a[data-action=show-mobile-preview]', diff --git a/addons/website/static/src/js/website.tour.js b/addons/website/static/src/js/website.tour.js index df6108e0278..3bfd4e06da0 100644 --- a/addons/website/static/src/js/website.tour.js +++ b/addons/website/static/src/js/website.tour.js @@ -15,8 +15,8 @@ if (typeof openerp === "undefined") { var website = window.openerp.website; -// don't rewrite website.Tour in test mode -if (typeof website.Tour !== "undefined") { +// don't rewrite T in test mode +if (typeof T !== "undefined") { return; } @@ -31,14 +31,14 @@ if (website.EditorBar) { start: function () { var self = this; var menu = $('#help-menu'); - _.each(website.Tour.tours, function (tour) { + _.each(T.tours, function (tour) { if (tour.mode === "test") { return; } var $menuItem = $($.parseHTML('
  • '+tour.name+'
  • ')); $menuItem.click(function () { - website.Tour.reset(); - website.Tour.run(tour.id); + T.reset(); + T.run(tour.id); }); menu.append($menuItem); }); @@ -80,32 +80,36 @@ $.ajaxSetup({ } }); - ///////////////////////////////////////////////// - var localStorage = window.localStorage; -website.Tour = {}; -website.Tour.tours = {}; -website.Tour.state = null; -website.Tour.register = function (tour) { +var T = website.Tour = {}; +T.tours = {}; +T.defaultDelay = 50; +T.errorDelay = 5000; +T.state = null; +T.$element = null; +T.timer = null; +T.testtimer = null; +T.currentTimer = null; +T.register = function (tour) { if (tour.mode !== "test") tour.mode = "tutorial"; - website.Tour.tours[tour.id] = tour; + T.tours[tour.id] = tour; }; -website.Tour.run = function (tour_id, mode) { +T.run = function (tour_id, mode) { if (localStorage.getItem("tour") && mode === "test") { // only one test running return; } - var tour = website.Tour.tours[tour_id]; - website.Tour.saveState(tour.id, mode || tour.mode, 0); - if (tour.path && !window.location.href.match(new RegExp("("+website.Tour.getLang()+")?"+tour.path+"#?$", "i"))) { - window.location.href = "/"+website.Tour.getLang()+tour.path; + var tour = T.tours[tour_id]; + T.saveState(tour.id, mode || tour.mode, 0); + if (tour.path && !window.location.href.match(new RegExp("("+T.getLang()+")?"+tour.path+"#?$", "i"))) { + window.location.href = "/"+T.getLang()+tour.path; } else { - website.Tour.running(); + T.running(); } }; -website.Tour.registerSteps = function (tour) { +T.registerSteps = function (tour) { if (tour.register) { return; } @@ -130,7 +134,10 @@ website.Tour.registerSteps = function (tour) { step.element = '#oe_snippets '+step.snippet+' .oe_snippet_thumbnail'; } - if (!step.element) step.orphan = true; + if (!step.element) { + step.element = "body"; + step.orphan = true; + } } if (tour.steps[index-1] && tour.steps[index-1].popover && tour.steps[index-1].popover.next) { @@ -142,69 +149,151 @@ website.Tour.registerSteps = function (tour) { } // rendering bootstrap tour and popover - if (tour.mode !== "test" || typeof Tour !== "undefined") { - tour.tour = new Tour({ - debug: true, - name: tour.id, - storage: localStorage, - keyboard: false, - template: website.Tour.popover(), - onHide: function () { - window.scrollTo(0, 0); - } - }); - + if (tour.mode !== "test") { for (var index=0, len=tour.steps.length; index
    '); + } + + if (step.backdrop || $element.parents("#website-top-navbar, .modal").size()) { + $tip.css("z-index", 2010); + } + + // button click event + $tip.find("button") + .one("click", function () { + step.busy = true; + if (!$(this).is("[data-role='next']")) { + clearTimeout(T.timer); + T.endTour(); + } + T.closePopover(); + }); + + T.repositionPopover(); +}; +T.repositionPopover = function() { + var popover = T.$element.data("bs.popover"); + var $tip = T.$element.data("bs.popover").tip(); + + if (popover.options.orphan) { + return $tip.css("top", $(window).outerHeight() / 2 - $tip.outerHeight() / 2); + } + + var offsetBottom, offsetHeight, offsetRight, offsetWidth, originalLeft, originalTop, tipOffset; + offsetWidth = $tip[0].offsetWidth; + offsetHeight = $tip[0].offsetHeight; + tipOffset = $tip.offset(); + originalLeft = tipOffset.left; + originalTop = tipOffset.top; + offsetBottom = $(document).outerHeight() - tipOffset.top - $tip.outerHeight(); + if (offsetBottom < 0) { + tipOffset.top = tipOffset.top + offsetBottom; + } + offsetRight = $("html").outerWidth() - tipOffset.left - $tip.outerWidth(); + if (offsetRight < 0) { + tipOffset.left = tipOffset.left + offsetRight; + } + if (tipOffset.top < 0) { + tipOffset.top = 0; + } + if (tipOffset.left < 0) { + tipOffset.left = 0; + } + $tip.offset(tipOffset); + if (popover.options.placement === "bottom" || popover.options.placement === "top") { + var left = T.$element.offset().left + T.$element.outerWidth()/2 - tipOffset.left; + $tip.find(".arrow").css("left", left ? left + "px" : ""); } else { - tour.end(); + var top = T.$element.offset().top + T.$element.outerHeight()/2 - tipOffset.top; + $tip.find(".arrow").css("top", top ? top + "px" : ""); } }; -website.Tour.popoverTitle = function (tour, options) { +T.popoverTitle = function (tour, options) { return openerp.qweb.render('website.tour_popover_title', options); }; -website.Tour.popover = function (options) { +T.popover = function (options) { return openerp.qweb.render('website.tour_popover', options); }; -website.Tour.getLang = function () { +T.getLang = function () { return $("html").attr("lang").replace(/-/, '_'); }; -website.Tour.getState = function () { +T.getState = function () { var state = JSON.parse(localStorage.getItem("tour") || 'false') || {}; var tour_id,mode,step_id; if (!state.id && window.location.href.indexOf("#tutorial.") > -1) { @@ -217,15 +306,16 @@ website.Tour.getState = function () { if (!state.id) { return; } - state.tour = website.Tour.tours[state.id]; + state.tour = T.tours[state.id]; state.step = state.tour.steps[state.step_id]; return state; }; -website.Tour.error = function (tour, step, message) { - website.Tour.reset(); +T.error = function (message) { + var state = T.getState(); + T.reset(); throw new Error(message + - + "\ntour: " + tour.id + - + "\nstep: " + step.id + ": '" + (step._title || step.title) + "'" + + "\ntour: " + state.tour.id + + + "\nstep: " + state.step.id + ": '" + (state.step._title || state.step.title) + "'" + '\nhref: ' + window.location.href + '\nreferrer: ' + document.referrer + '\nelement: ' + Boolean(!step.element || ($(step.element).size() && $(step.element).is(":visible") && !$(step.element).is(":hidden"))) @@ -235,124 +325,121 @@ website.Tour.error = function (tour, step, message) { + '\n\n' + $("body").html() ); }; -website.Tour.lists = function () { +T.lists = function () { var tour_ids = []; - for (var k in website.Tour.tours) { + for (var k in T.tours) { tour_ids.push(k); } return tour_ids; }; -website.Tour.saveState = function (tour_id, mode, step_id) { - localStorage.setItem("tour", JSON.stringify({"id":tour_id, "mode":mode, "step_id":step_id})); +T.saveState = function (tour_id, mode, step_id) { + localStorage.setItem("tour", JSON.stringify({"id":tour_id, "mode":mode, "step_id":step_id || 0})); }; -website.Tour.reset = function () { - var state = website.Tour.getState(); +T.reset = function () { + var state = T.getState(); if (state) { for (var k in state.tour.steps) { state.tour.steps[k].busy = false; } - if (state.tour.tour) { - state.tour.tour.end(); - } } localStorage.removeItem("tour"); - clearTimeout(website.Tour.timer); - clearTimeout(website.Tour.testtimer); - - $(".popover.tour").remove(); + clearTimeout(T.timer); + clearTimeout(T.testtimer); + T.closePopover(); }; -website.Tour.running = function () { - var state = website.Tour.getState(); +T.running = function () { + var state = T.getState(); if (state) { - website.Tour.registerSteps(state.tour); + T.registerSteps(state.tour); if ($.ajaxBusy) { $(document).ajaxStop(function() { setTimeout(function () { - website.Tour.nextStep( state.tour, state.step, state.mode === "test" ? 5000 : 0 ); + T.nextStep(); },0); }); } else { - website.Tour.nextStep( state.tour, state.step, state.mode === "test" ? 5000 : 0 ); + T.nextStep(); } } }; - -website.Tour.timer = null; -website.Tour.testtimer = null; -website.Tour.defaultDelay = 50; -website.Tour.check = function (step) { +T.check = function (step) { return (step && (!step.element || ($(step.element).size() && $(step.element).is(":visible") && !$(step.element).is(":hidden"))) && (!step.waitNot || !$(step.waitNot).size()) && (!step.waitFor || $(step.waitFor).size())); }; -website.Tour.waitNextStep = function (tour, step, overlaps) { +T.waitNextStep = function () { + var state = T.getState(); var time = new Date().getTime(); var timer; - var next = tour.steps[step.id+1]; + var next = state.tour.steps[state.step.id+1]; + var overlaps = state.mode === "test" ? T.errorDelay : 0; window.onbeforeunload = function () { - clearTimeout(website.Tour.timer); - clearTimeout(website.Tour.testtimer); + clearTimeout(T.timer); + clearTimeout(T.testtimer); }; function checkNext () { - website.Tour.autoToggleBootstrapTour(); + T.autoTogglePopover(); - clearTimeout(website.Tour.timer); - if (next.busy) return; - if (website.Tour.check(next)) { - next.busy = true; - clearTimeout(website.Tour.currentTimer); + clearTimeout(T.timer); + if (T.check(next)) { + clearTimeout(T.currentTimer); // use an other timeout for cke dom loading setTimeout(function () { - website.Tour.nextStep(tour, next, overlaps); - }, website.Tour.defaultDelay); + T.nextStep(next); + }, T.defaultDelay); } else if (!overlaps || new Date().getTime() - time < overlaps) { - website.Tour.timer = setTimeout(checkNext, website.Tour.defaultDelay); + T.timer = setTimeout(checkNext, T.defaultDelay); } else { - website.Tour.error(tour, next, "Can't arrive to the next step"); + T.error("Can't arrive to the next step"); } } checkNext(); }; -website.Tour.currentTimer = null; -website.Tour.nextStep = function (tour, step, overlaps) { - var state = website.Tour.getState(); - website.Tour.saveState(state.id, state.mode, step.id); +T.nextStep = function (step) { + var state = T.getState(); - website.Tour.autoToggleBootstrapTour(); + if (!state) { + return; + } + + step = step || state.step; + T.saveState(state.id, state.mode, step.id); + + T.autoTogglePopover(true); if (step.onload) { step.onload(); } - var next = tour.steps[step.id+1]; + var next = state.tour.steps[step.id+1]; if (next) { setTimeout(function () { - website.Tour.waitNextStep(tour, step, overlaps); + T.waitNextStep(); if (state.mode === "test") { setTimeout(function(){ - website.Tour.autoNextStep(tour, step); - }, website.Tour.defaultDelay); + T.autoNextStep(); + }, T.defaultDelay); } }, next.wait || 0); } else { - website.Tour.endTour(tour); + T.endTour(); } }; -website.Tour.endTour = function (tour) { - var state = website.Tour.getState(); +T.endTour = function () { + var state = T.getState(); var test = state.step.id >= state.tour.steps.length-1; - website.Tour.reset(); + T.reset(); if (test) { console.log('ok'); } else { console.log('error'); } }; -website.Tour.autoNextStep = function (tour, step) { - clearTimeout(website.Tour.testtimer); +T.autoNextStep = function (tour, step) { + clearTimeout(T.testtimer); function autoStep () { if (!step) return; @@ -361,18 +448,14 @@ website.Tour.autoNextStep = function (tour, step) { step.autoComplete(tour); } - var $popover = $(".popover.tour"); - if ($popover.find("button[data-role='next']:visible").size()) { - $popover.find("button[data-role='next']:visible").click(); - $popover.remove(); - } + T.closePopover(); var $element = $(step.element); if (!$element.size()) return; if (step.snippet) { - website.Tour.autoDragAndDropSnippet($element); + T.autoDragAndDropSnippet($element); } else if (step.sampleText) { @@ -388,7 +471,7 @@ website.Tour.autoNextStep = function (tour, step) { setTimeout(function () { $element.trigger($.Event("keyup", { srcElement: $element })); $element.trigger($.Event("change", { srcElement: $element })); - }, website.Tour.defaultDelay<<1); + }, T.defaultDelay<<1); } else if ($element.is(":visible")) { @@ -406,9 +489,9 @@ website.Tour.autoNextStep = function (tour, step) { }, 1000); } } - website.Tour.testtimer = setTimeout(autoStep, 100); + T.testtimer = setTimeout(autoStep, 100); }; -website.Tour.autoDragAndDropSnippet = function (selector) { +T.autoDragAndDropSnippet = function (selector) { var $thumbnail = $(selector).first(); var thumbnailPosition = $thumbnail.position(); $thumbnail.trigger($.Event("mousedown", { which: 1, pageX: thumbnailPosition.left, pageY: thumbnailPosition.top })); @@ -418,8 +501,8 @@ website.Tour.autoDragAndDropSnippet = function (selector) { $dropZone.trigger($.Event("mouseup", { which: 1, pageX: dropPosition.left, pageY: dropPosition.top })); }; -//$(document).ready(website.Tour.running); -website.ready().then(website.Tour.running); +//$(document).ready(T.running); +website.ready().then(T.running); }()); From 254b3a29fa80ffcaeec2da60a2a2b0abac8da925 Mon Sep 17 00:00:00 2001 From: "chm@openerp.com" <> Date: Fri, 21 Mar 2014 12:18:15 +0100 Subject: [PATCH 32/98] [IMP] website tour: auto set backdrop if no selector element bzr revid: chm@openerp.com-20140321111815-t0312xxl7l83w9rx --- addons/website/static/src/js/website.tour.banner.js | 2 -- addons/website/static/src/js/website.tour.js | 1 + 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/addons/website/static/src/js/website.tour.banner.js b/addons/website/static/src/js/website.tour.banner.js index a8abbcf59e2..443405e2401 100644 --- a/addons/website/static/src/js/website.tour.banner.js +++ b/addons/website/static/src/js/website.tour.banner.js @@ -13,7 +13,6 @@ title: _t("Welcome to your website!"), content: _t("This tutorial will guide you to build your home page. We will start by adding a banner."), popover: { next: _t("Start Tutorial"), end: _t("Skip It") }, - backdrop: true, }, { element: 'button[data-action=edit]', @@ -78,7 +77,6 @@ title: _t("Good Job!"), content: _t("Well done, you created your homepage."), popover: { next: _t("Continue") }, - backdrop: true, }, { element: 'a[data-action=show-mobile-preview]', diff --git a/addons/website/static/src/js/website.tour.js b/addons/website/static/src/js/website.tour.js index 3bfd4e06da0..ce20bf69718 100644 --- a/addons/website/static/src/js/website.tour.js +++ b/addons/website/static/src/js/website.tour.js @@ -137,6 +137,7 @@ T.registerSteps = function (tour) { if (!step.element) { step.element = "body"; step.orphan = true; + step.backdrop = true; } } if (tour.steps[index-1] && From 429324999c9fe7149e34ec5f501c14aa7a8a7fdc Mon Sep 17 00:00:00 2001 From: "chm@openerp.com" <> Date: Fri, 21 Mar 2014 12:23:44 +0100 Subject: [PATCH 33/98] [IMP] website tour: remove tag script and css to lib bootstrap bzr revid: chm@openerp.com-20140321112344-mwh2p8pp02j9sdq0 --- addons/website/views/website_templates.xml | 2 -- addons/website_report/views/layouts.xml | 2 -- 2 files changed, 4 deletions(-) diff --git a/addons/website/views/website_templates.xml b/addons/website/views/website_templates.xml index 66a38f09651..7849c701bd4 100644 --- a/addons/website/views/website_templates.xml +++ b/addons/website/views/website_templates.xml @@ -253,7 +253,6 @@ - @@ -265,7 +264,6 @@ - diff --git a/addons/website_report/views/layouts.xml b/addons/website_report/views/layouts.xml index 091bb8dd3db..219780317c3 100644 --- a/addons/website_report/views/layouts.xml +++ b/addons/website_report/views/layouts.xml @@ -33,7 +33,6 @@ - @@ -42,7 +41,6 @@ - From d8f27686e5e70a626d12d4fcfdc6af5e5e642468 Mon Sep 17 00:00:00 2001 From: "chm@openerp.com" <> Date: Fri, 21 Mar 2014 12:57:24 +0100 Subject: [PATCH 34/98] [IMP] website tour: fix test tour bzr revid: chm@openerp.com-20140321115724-iwu17fkzdzaksmrs --- addons/website/static/src/js/website.tour.js | 25 ++++++++++---------- 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/addons/website/static/src/js/website.tour.js b/addons/website/static/src/js/website.tour.js index ce20bf69718..26fa5af0b9f 100644 --- a/addons/website/static/src/js/website.tour.js +++ b/addons/website/static/src/js/website.tour.js @@ -313,18 +313,17 @@ T.getState = function () { }; T.error = function (message) { var state = T.getState(); + message += '\n tour: ' + state.id + + '\n step: ' + state.step_id + ": '" + (state.step._title || state.step.title) + "'" + + '\n href: ' + window.location.href + + '\n referrer: ' + document.referrer + + '\n element: ' + Boolean(!state.step.element || ($(state.step.element).size() && $(state.step.element).is(":visible") && !$(state.step.element).is(":hidden"))) + + '\n waitNot: ' + Boolean(!state.step.waitNot || !$(state.step.waitNot).size()) + + '\n waitFor: ' + Boolean(!state.step.waitFor || $(state.step.waitFor).size()) + + "\n localStorage: " + JSON.stringify(localStorage) + + '\n\n' + $("body").html(); T.reset(); - throw new Error(message + - + "\ntour: " + state.tour.id + - + "\nstep: " + state.step.id + ": '" + (state.step._title || state.step.title) + "'" - + '\nhref: ' + window.location.href - + '\nreferrer: ' + document.referrer - + '\nelement: ' + Boolean(!step.element || ($(step.element).size() && $(step.element).is(":visible") && !$(step.element).is(":hidden"))) - + '\nwaitNot: ' + Boolean(!step.waitNot || !$(step.waitNot).size()) - + '\nwaitFor: ' + Boolean(!step.waitFor || $(step.waitFor).size()) - + "\nlocalStorage: " + JSON.stringify(localStorage) - + '\n\n' + $("body").html() - ); + throw new Error(message); }; T.lists = function () { var tour_ids = []; @@ -421,7 +420,7 @@ T.nextStep = function (step) { T.waitNextStep(); if (state.mode === "test") { setTimeout(function(){ - T.autoNextStep(); + T.autoNextStep(state.tour, step); }, T.defaultDelay); } }, next.wait || 0); @@ -449,7 +448,7 @@ T.autoNextStep = function (tour, step) { step.autoComplete(tour); } - T.closePopover(); + $(".popover.tour [data-role='next']").click(); var $element = $(step.element); if (!$element.size()) return; From 89a6bd06495c4fe599756866828298331f375747 Mon Sep 17 00:00:00 2001 From: "chm@openerp.com" <> Date: Fri, 21 Mar 2014 13:37:22 +0100 Subject: [PATCH 35/98] [IMP] website tour: fix auto test bzr revid: chm@openerp.com-20140321123722-dmfdckh59cvot00i --- addons/website/static/src/js/website.tour.js | 4 ++-- .../static/src/js/website.tour.event_sale.js | 4 ++-- addons/website_sale/static/src/js/website.tour.sale.js | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/addons/website/static/src/js/website.tour.js b/addons/website/static/src/js/website.tour.js index 26fa5af0b9f..a033e6f1ecd 100644 --- a/addons/website/static/src/js/website.tour.js +++ b/addons/website/static/src/js/website.tour.js @@ -16,7 +16,7 @@ if (typeof openerp === "undefined") { var website = window.openerp.website; // don't rewrite T in test mode -if (typeof T !== "undefined") { +if (typeof website.Tour !== "undefined") { return; } @@ -393,7 +393,7 @@ T.waitNextStep = function () { } else if (!overlaps || new Date().getTime() - time < overlaps) { T.timer = setTimeout(checkNext, T.defaultDelay); } else { - T.error("Can't arrive to the next step"); + T.error("Can't reach the next step"); } } checkNext(); diff --git a/addons/website_event_sale/static/src/js/website.tour.event_sale.js b/addons/website_event_sale/static/src/js/website.tour.event_sale.js index 92e57638cc8..668a05001af 100644 --- a/addons/website_event_sale/static/src/js/website.tour.event_sale.js +++ b/addons/website_event_sale/static/src/js/website.tour.event_sale.js @@ -16,7 +16,7 @@ { title: "go to register page", waitNot: 'a[href*="/event"]:contains("Functional Webinar")', - onload: function () { + autoComplete: function () { // use onload if website_event_track is installed if (!$('form:contains("Ticket Type")').size()) { window.location.href = $('a[href*="/event"][href*="/register"]').attr("href"); @@ -43,7 +43,7 @@ title: "Complete checkout", waitFor: '#top_menu .my_cart_quantity:contains(5)', element: 'form[action="/shop/confirm_order"] .btn:contains("Confirm")', - onload: function (tour) { + autoComplete: function (tour) { if ($("input[name='name']").val() === "") $("input[name='name']").val("website_sale-test-shoptest"); if ($("input[name='email']").val() === "") diff --git a/addons/website_sale/static/src/js/website.tour.sale.js b/addons/website_sale/static/src/js/website.tour.sale.js index c7526b2468f..62455e0b811 100644 --- a/addons/website_sale/static/src/js/website.tour.sale.js +++ b/addons/website_sale/static/src/js/website.tour.sale.js @@ -50,7 +50,7 @@ { title: "test with input error", element: 'form[action="/shop/confirm_order"] .btn:contains("Confirm")', - onload: function (tour) { + autoComplete: function (tour) { $("input[name='phone']").val(""); }, }, @@ -58,7 +58,7 @@ title: "test without input error", waitFor: 'form[action="/shop/confirm_order"] .has-error', element: 'form[action="/shop/confirm_order"] .btn:contains("Confirm")', - onload: function (tour) { + autoComplete: function (tour) { if ($("input[name='name']").val() === "") $("input[name='name']").val("website_sale-test-shoptest"); if ($("input[name='email']").val() === "") From f9b0c7469a7762bbba6d142e7799fc854aa01d24 Mon Sep 17 00:00:00 2001 From: "chm@openerp.com" <> Date: Fri, 21 Mar 2014 14:42:07 +0100 Subject: [PATCH 36/98] [IMP] website tour: change syntax bzr revid: chm@openerp.com-20140321134207-y54uj2fynl5p0e8a --- addons/website/static/src/js/website.tour.js | 795 ++++++++++--------- 1 file changed, 399 insertions(+), 396 deletions(-) diff --git a/addons/website/static/src/js/website.tour.js b/addons/website/static/src/js/website.tour.js index a033e6f1ecd..6a5f8faab76 100644 --- a/addons/website/static/src/js/website.tour.js +++ b/addons/website/static/src/js/website.tour.js @@ -84,421 +84,424 @@ $.ajaxSetup({ var localStorage = window.localStorage; -var T = website.Tour = {}; -T.tours = {}; -T.defaultDelay = 50; -T.errorDelay = 5000; -T.state = null; -T.$element = null; -T.timer = null; -T.testtimer = null; -T.currentTimer = null; -T.register = function (tour) { - if (tour.mode !== "test") tour.mode = "tutorial"; - T.tours[tour.id] = tour; -}; -T.run = function (tour_id, mode) { - if (localStorage.getItem("tour") && mode === "test") { // only one test running - return; - } - var tour = T.tours[tour_id]; - T.saveState(tour.id, mode || tour.mode, 0); - if (tour.path && !window.location.href.match(new RegExp("("+T.getLang()+")?"+tour.path+"#?$", "i"))) { - window.location.href = "/"+T.getLang()+tour.path; - } else { - T.running(); - } -}; -T.registerSteps = function (tour) { - if (tour.register) { - return; - } - tour.register = true; - - for (var index=0, len=tour.steps.length; index 0 && tour.steps[index-1] && - tour.steps[index-1].popover && tour.steps[index-1].popover.next) { - step.waitNot = '.popover.tour.fade.in:visible'; +var T = website.Tour = { + tours: {}, + defaultDelay: 50, + errorDelay: 5000, + state: null, + $element: null, + timer: null, + testtimer: null, + currentTimer: null, + register: function (tour) { + if (tour.mode !== "test") tour.mode = "tutorial"; + T.tours[tour.id] = tour; + }, + run: function (tour_id, mode) { + if (localStorage.getItem("tour") && mode === "test") { // only one test running + return; } - if (!step.waitFor && index > 0 && tour.steps[index-1].snippet) { - step.waitFor = '.oe_overlay_options .oe_options:visible'; + var tour = T.tours[tour_id]; + T.saveState(tour.id, mode || tour.mode, 0); + if (tour.path && !window.location.href.match(new RegExp("("+T.getLang()+")?"+tour.path+"#?$", "i"))) { + window.location.href = "/"+T.getLang()+tour.path; + } else { + T.running(); } - - var snippet = step.element && step.element.match(/#oe_snippets (.*) \.oe_snippet_thumbnail/); - if (snippet) { - step.snippet = snippet[1]; - } else if (step.snippet) { - step.element = '#oe_snippets '+step.snippet+' .oe_snippet_thumbnail'; + }, + registerSteps: function (tour) { + if (tour.register) { + return; } + tour.register = true; - if (!step.element) { - step.element = "body"; - step.orphan = true; - step.backdrop = true; - } - } - if (tour.steps[index-1] && - tour.steps[index-1].popover && tour.steps[index-1].popover.next) { - var step = { - id: index, - waitNot: '.popover.tour.fade.in:visible' - }; - tour.steps.push(step); - } - - // rendering bootstrap tour and popover - if (tour.mode !== "test") { for (var index=0, len=tour.steps.length; index
    '); - } - - if (step.backdrop || $element.parents("#website-top-navbar, .modal").size()) { - $tip.css("z-index", 2010); - } - - // button click event - $tip.find("button") - .one("click", function () { - step.busy = true; - if (!$(this).is("[data-role='next']")) { - clearTimeout(T.timer); - T.endTour(); + if (!step.waitNot && index > 0 && tour.steps[index-1] && + tour.steps[index-1].popover && tour.steps[index-1].popover.next) { + step.waitNot = '.popover.tour.fade.in:visible'; + } + if (!step.waitFor && index > 0 && tour.steps[index-1].snippet) { + step.waitFor = '.oe_overlay_options .oe_options:visible'; } - T.closePopover(); - }); - T.repositionPopover(); -}; -T.repositionPopover = function() { - var popover = T.$element.data("bs.popover"); - var $tip = T.$element.data("bs.popover").tip(); + var snippet = step.element && step.element.match(/#oe_snippets (.*) \.oe_snippet_thumbnail/); + if (snippet) { + step.snippet = snippet[1]; + } else if (step.snippet) { + step.element = '#oe_snippets '+step.snippet+' .oe_snippet_thumbnail'; + } - if (popover.options.orphan) { - return $tip.css("top", $(window).outerHeight() / 2 - $tip.outerHeight() / 2); - } - - var offsetBottom, offsetHeight, offsetRight, offsetWidth, originalLeft, originalTop, tipOffset; - offsetWidth = $tip[0].offsetWidth; - offsetHeight = $tip[0].offsetHeight; - tipOffset = $tip.offset(); - originalLeft = tipOffset.left; - originalTop = tipOffset.top; - offsetBottom = $(document).outerHeight() - tipOffset.top - $tip.outerHeight(); - if (offsetBottom < 0) { - tipOffset.top = tipOffset.top + offsetBottom; - } - offsetRight = $("html").outerWidth() - tipOffset.left - $tip.outerWidth(); - if (offsetRight < 0) { - tipOffset.left = tipOffset.left + offsetRight; - } - if (tipOffset.top < 0) { - tipOffset.top = 0; - } - if (tipOffset.left < 0) { - tipOffset.left = 0; - } - $tip.offset(tipOffset); - if (popover.options.placement === "bottom" || popover.options.placement === "top") { - var left = T.$element.offset().left + T.$element.outerWidth()/2 - tipOffset.left; - $tip.find(".arrow").css("left", left ? left + "px" : ""); - } else { - var top = T.$element.offset().top + T.$element.outerHeight()/2 - tipOffset.top; - $tip.find(".arrow").css("top", top ? top + "px" : ""); - } -}; -T.popoverTitle = function (tour, options) { - return openerp.qweb.render('website.tour_popover_title', options); -}; -T.popover = function (options) { - return openerp.qweb.render('website.tour_popover', options); -}; -T.getLang = function () { - return $("html").attr("lang").replace(/-/, '_'); -}; -T.getState = function () { - var state = JSON.parse(localStorage.getItem("tour") || 'false') || {}; - var tour_id,mode,step_id; - if (!state.id && window.location.href.indexOf("#tutorial.") > -1) { - state = { - "id": window.location.href.match(/#tutorial\.(.*)=true/)[1], - "mode": "tutorial", - "step_id": 0 - }; - } - if (!state.id) { - return; - } - state.tour = T.tours[state.id]; - state.step = state.tour.steps[state.step_id]; - return state; -}; -T.error = function (message) { - var state = T.getState(); - message += '\n tour: ' + state.id - + '\n step: ' + state.step_id + ": '" + (state.step._title || state.step.title) + "'" - + '\n href: ' + window.location.href - + '\n referrer: ' + document.referrer - + '\n element: ' + Boolean(!state.step.element || ($(state.step.element).size() && $(state.step.element).is(":visible") && !$(state.step.element).is(":hidden"))) - + '\n waitNot: ' + Boolean(!state.step.waitNot || !$(state.step.waitNot).size()) - + '\n waitFor: ' + Boolean(!state.step.waitFor || $(state.step.waitFor).size()) - + "\n localStorage: " + JSON.stringify(localStorage) - + '\n\n' + $("body").html(); - T.reset(); - throw new Error(message); -}; -T.lists = function () { - var tour_ids = []; - for (var k in T.tours) { - tour_ids.push(k); - } - return tour_ids; -}; -T.saveState = function (tour_id, mode, step_id) { - localStorage.setItem("tour", JSON.stringify({"id":tour_id, "mode":mode, "step_id":step_id || 0})); -}; -T.reset = function () { - var state = T.getState(); - if (state) { - for (var k in state.tour.steps) { - state.tour.steps[k].busy = false; + if (!step.element) { + step.element = "body"; + step.orphan = true; + step.backdrop = true; + } } - } - localStorage.removeItem("tour"); - clearTimeout(T.timer); - clearTimeout(T.testtimer); - T.closePopover(); -}; -T.running = function () { - var state = T.getState(); - if (state) { - T.registerSteps(state.tour); - if ($.ajaxBusy) { - $(document).ajaxStop(function() { - setTimeout(function () { - T.nextStep(); - },0); + if (tour.steps[index-1] && + tour.steps[index-1].popover && tour.steps[index-1].popover.next) { + var step = { + id: index, + waitNot: '.popover.tour.fade.in:visible' + }; + tour.steps.push(step); + } + + // rendering bootstrap tour and popover + if (tour.mode !== "test") { + for (var index=0, len=tour.steps.length; index
    '); + } + + if (step.backdrop || $element.parents("#website-top-navbar, .modal").size()) { + $tip.css("z-index", 2010); + } + + // button click event + $tip.find("button") + .one("click", function () { + step.busy = true; + if (!$(this).is("[data-role='next']")) { + clearTimeout(T.timer); + T.endTour(); + } + T.closePopover(); }); - } else { - T.nextStep(); - } - } -}; -T.check = function (step) { - return (step && - (!step.element || ($(step.element).size() && $(step.element).is(":visible") && !$(step.element).is(":hidden"))) && - (!step.waitNot || !$(step.waitNot).size()) && - (!step.waitFor || $(step.waitFor).size())); -}; -T.waitNextStep = function () { - var state = T.getState(); - var time = new Date().getTime(); - var timer; - var next = state.tour.steps[state.step.id+1]; - var overlaps = state.mode === "test" ? T.errorDelay : 0; - window.onbeforeunload = function () { + T.repositionPopover(); + }, + repositionPopover: function() { + var popover = T.$element.data("bs.popover"); + var $tip = T.$element.data("bs.popover").tip(); + + if (popover.options.orphan) { + return $tip.css("top", $(window).outerHeight() / 2 - $tip.outerHeight() / 2); + } + + var offsetBottom, offsetHeight, offsetRight, offsetWidth, originalLeft, originalTop, tipOffset; + offsetWidth = $tip[0].offsetWidth; + offsetHeight = $tip[0].offsetHeight; + tipOffset = $tip.offset(); + originalLeft = tipOffset.left; + originalTop = tipOffset.top; + offsetBottom = $(document).outerHeight() - tipOffset.top - $tip.outerHeight(); + if (offsetBottom < 0) { + tipOffset.top = tipOffset.top + offsetBottom; + } + offsetRight = $("html").outerWidth() - tipOffset.left - $tip.outerWidth(); + if (offsetRight < 0) { + tipOffset.left = tipOffset.left + offsetRight; + } + if (tipOffset.top < 0) { + tipOffset.top = 0; + } + if (tipOffset.left < 0) { + tipOffset.left = 0; + } + $tip.offset(tipOffset); + if (popover.options.placement === "bottom" || popover.options.placement === "top") { + var left = T.$element.offset().left + T.$element.outerWidth()/2 - tipOffset.left; + $tip.find(".arrow").css("left", left ? left + "px" : ""); + } else if (popover.options.placement !== "auto") { + var top = T.$element.offset().top + T.$element.outerHeight()/2 - tipOffset.top; + $tip.find(".arrow").css("top", top ? top + "px" : ""); + } + }, + popoverTitle: function (tour, options) { + return openerp.qweb.render('website.tour_popover_title', options); + }, + popover: function (options) { + return openerp.qweb.render('website.tour_popover', options); + }, + getLang: function () { + return $("html").attr("lang").replace(/-/, '_'); + }, + getState: function () { + var state = JSON.parse(localStorage.getItem("tour") || 'false') || {}; + var tour_id,mode,step_id; + if (!state.id && window.location.href.indexOf("#tutorial.") > -1) { + state = { + "id": window.location.href.match(/#tutorial\.(.*)=true/)[1], + "mode": "tutorial", + "step_id": 0 + }; + window.location.hash = ""; + T.saveState(state.id, state.mode, state.step_id); + } + if (!state.id) { + return; + } + state.tour = T.tours[state.id]; + state.step = state.tour.steps[state.step_id]; + return state; + }, + error: function (message) { + var state = T.getState(); + message += '\n tour: ' + state.id + + '\n step: ' + state.step_id + ": '" + (state.step._title || state.step.title) + "'" + + '\n href: ' + window.location.href + + '\n referrer: ' + document.referrer + + '\n element: ' + Boolean(!state.step.element || ($(state.step.element).size() && $(state.step.element).is(":visible") && !$(state.step.element).is(":hidden"))) + + '\n waitNot: ' + Boolean(!state.step.waitNot || !$(state.step.waitNot).size()) + + '\n waitFor: ' + Boolean(!state.step.waitFor || $(state.step.waitFor).size()) + + "\n localStorage: " + JSON.stringify(localStorage) + + '\n\n' + $("body").html(); + T.reset(); + throw new Error(message); + }, + lists: function () { + var tour_ids = []; + for (var k in T.tours) { + tour_ids.push(k); + } + return tour_ids; + }, + saveState: function (tour_id, mode, step_id) { + localStorage.setItem("tour", JSON.stringify({"id":tour_id, "mode":mode, "step_id":step_id || 0})); + }, + reset: function () { + var state = T.getState(); + if (state) { + for (var k in state.tour.steps) { + state.tour.steps[k].busy = false; + } + } + localStorage.removeItem("tour"); clearTimeout(T.timer); clearTimeout(T.testtimer); - }; - - function checkNext () { - T.autoTogglePopover(); - - clearTimeout(T.timer); - if (T.check(next)) { - clearTimeout(T.currentTimer); - // use an other timeout for cke dom loading - setTimeout(function () { - T.nextStep(next); - }, T.defaultDelay); - } else if (!overlaps || new Date().getTime() - time < overlaps) { - T.timer = setTimeout(checkNext, T.defaultDelay); - } else { - T.error("Can't reach the next step"); - } - } - checkNext(); -}; -T.nextStep = function (step) { - var state = T.getState(); - - if (!state) { - return; - } - - step = step || state.step; - T.saveState(state.id, state.mode, step.id); - - T.autoTogglePopover(true); - - if (step.onload) { - step.onload(); - } - - var next = state.tour.steps[step.id+1]; - if (next) { - setTimeout(function () { - T.waitNextStep(); - if (state.mode === "test") { - setTimeout(function(){ - T.autoNextStep(state.tour, step); - }, T.defaultDelay); - } - }, next.wait || 0); - } else { - T.endTour(); - } -}; -T.endTour = function () { - var state = T.getState(); - var test = state.step.id >= state.tour.steps.length-1; - T.reset(); - if (test) { - console.log('ok'); - } else { - console.log('error'); - } -}; -T.autoNextStep = function (tour, step) { - clearTimeout(T.testtimer); - - function autoStep () { - if (!step) return; - - if (step.autoComplete) { - step.autoComplete(tour); - } - - $(".popover.tour [data-role='next']").click(); - - var $element = $(step.element); - if (!$element.size()) return; - - if (step.snippet) { - - T.autoDragAndDropSnippet($element); - - } else if (step.sampleText) { - - $element.trigger($.Event("keydown", { srcElement: $element })); - if ($element.is("input") ) { - $element.val(step.sampleText); - } if ($element.is("select")) { - $element.find("[value='"+step.sampleText+"'], option:contains('"+step.sampleText+"')").attr("selected", true); - $element.val(step.sampleText); + T.closePopover(); + }, + running: function () { + var state = T.getState(); + if (state) { + T.registerSteps(state.tour); + if ($.ajaxBusy) { + $(document).ajaxStop(function() { + setTimeout(function () { + T.nextStep(); + },0); + }); } else { - $element.html(step.sampleText); + T.nextStep(); } - setTimeout(function () { - $element.trigger($.Event("keyup", { srcElement: $element })); - $element.trigger($.Event("change", { srcElement: $element })); - }, T.defaultDelay<<1); - - } else if ($element.is(":visible")) { - - $element.trigger($.Event("mouseenter", { srcElement: $element[0] })); - $element.trigger($.Event("mousedown", { srcElement: $element[0] })); - - var evt = document.createEvent("MouseEvents"); - evt.initMouseEvent("click", true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null); - $element[0].dispatchEvent(evt); - - // trigger after for step like: mouseenter, next step click on button display with mouseenter - setTimeout(function () { - $element.trigger($.Event("mouseup", { srcElement: $element[0] })); - $element.trigger($.Event("mouseleave", { srcElement: $element[0] })); - }, 1000); } + }, + check: function (step) { + return (step && + (!step.element || ($(step.element).size() && $(step.element).is(":visible") && !$(step.element).is(":hidden"))) && + (!step.waitNot || !$(step.waitNot).size()) && + (!step.waitFor || $(step.waitFor).size())); + }, + waitNextStep: function () { + var state = T.getState(); + var time = new Date().getTime(); + var timer; + var next = state.tour.steps[state.step.id+1]; + var overlaps = state.mode === "test" ? T.errorDelay : 0; + + window.onbeforeunload = function () { + clearTimeout(T.timer); + clearTimeout(T.testtimer); + }; + + function checkNext () { + T.autoTogglePopover(); + + clearTimeout(T.timer); + if (T.check(next)) { + clearTimeout(T.currentTimer); + // use an other timeout for cke dom loading + setTimeout(function () { + T.nextStep(next); + }, T.defaultDelay); + } else if (!overlaps || new Date().getTime() - time < overlaps) { + T.timer = setTimeout(checkNext, T.defaultDelay); + } else { + T.error("Can't reach the next step"); + } + } + checkNext(); + }, + nextStep: function (step) { + var state = T.getState(); + + if (!state) { + return; + } + + step = step || state.step; + T.saveState(state.id, state.mode, step.id); + + T.autoTogglePopover(true); + + if (step.onload) { + step.onload(); + } + + var next = state.tour.steps[step.id+1]; + if (next) { + setTimeout(function () { + T.waitNextStep(); + if (state.mode === "test") { + setTimeout(function(){ + T.autoNextStep(state.tour, step); + }, T.defaultDelay); + } + }, next.wait || 0); + } else { + T.endTour(); + } + }, + endTour: function () { + var state = T.getState(); + var test = state.step.id >= state.tour.steps.length-1; + T.reset(); + if (test) { + console.log('ok'); + } else { + console.log('error'); + } + }, + autoNextStep: function (tour, step) { + clearTimeout(T.testtimer); + + function autoStep () { + if (!step) return; + + if (step.autoComplete) { + step.autoComplete(tour); + } + + $(".popover.tour [data-role='next']").click(); + + var $element = $(step.element); + if (!$element.size()) return; + + if (step.snippet) { + + T.autoDragAndDropSnippet($element); + + } else if (step.sampleText) { + + $element.trigger($.Event("keydown", { srcElement: $element })); + if ($element.is("input") ) { + $element.val(step.sampleText); + } if ($element.is("select")) { + $element.find("[value='"+step.sampleText+"'], option:contains('"+step.sampleText+"')").attr("selected", true); + $element.val(step.sampleText); + } else { + $element.html(step.sampleText); + } + setTimeout(function () { + $element.trigger($.Event("keyup", { srcElement: $element })); + $element.trigger($.Event("change", { srcElement: $element })); + }, T.defaultDelay<<1); + + } else if ($element.is(":visible")) { + + $element.trigger($.Event("mouseenter", { srcElement: $element[0] })); + $element.trigger($.Event("mousedown", { srcElement: $element[0] })); + + var evt = document.createEvent("MouseEvents"); + evt.initMouseEvent("click", true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null); + $element[0].dispatchEvent(evt); + + // trigger after for step like: mouseenter, next step click on button display with mouseenter + setTimeout(function () { + $element.trigger($.Event("mouseup", { srcElement: $element[0] })); + $element.trigger($.Event("mouseleave", { srcElement: $element[0] })); + }, 1000); + } + } + T.testtimer = setTimeout(autoStep, 100); + }, + autoDragAndDropSnippet: function (selector) { + var $thumbnail = $(selector).first(); + var thumbnailPosition = $thumbnail.position(); + $thumbnail.trigger($.Event("mousedown", { which: 1, pageX: thumbnailPosition.left, pageY: thumbnailPosition.top })); + $thumbnail.trigger($.Event("mousemove", { which: 1, pageX: document.body.scrollWidth/2, pageY: document.body.scrollHeight/2 })); + var $dropZone = $(".oe_drop_zone").first(); + var dropPosition = $dropZone.position(); + $dropZone.trigger($.Event("mouseup", { which: 1, pageX: dropPosition.left, pageY: dropPosition.top })); } - T.testtimer = setTimeout(autoStep, 100); -}; -T.autoDragAndDropSnippet = function (selector) { - var $thumbnail = $(selector).first(); - var thumbnailPosition = $thumbnail.position(); - $thumbnail.trigger($.Event("mousedown", { which: 1, pageX: thumbnailPosition.left, pageY: thumbnailPosition.top })); - $thumbnail.trigger($.Event("mousemove", { which: 1, pageX: document.body.scrollWidth/2, pageY: document.body.scrollHeight/2 })); - var $dropZone = $(".oe_drop_zone").first(); - var dropPosition = $dropZone.position(); - $dropZone.trigger($.Event("mouseup", { which: 1, pageX: dropPosition.left, pageY: dropPosition.top })); }; //$(document).ready(T.running); From 24d37e284407a26987b1be3e539fa0243d81f656 Mon Sep 17 00:00:00 2001 From: "chm@openerp.com" <> Date: Fri, 21 Mar 2014 14:45:46 +0100 Subject: [PATCH 37/98] [FIX] website tour: template loading hide the real error bzr revid: chm@openerp.com-20140321134546-i5nw73en8thzrwc2 --- addons/website/static/src/js/website.tour.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/addons/website/static/src/js/website.tour.js b/addons/website/static/src/js/website.tour.js index 6a5f8faab76..eed431e071b 100644 --- a/addons/website/static/src/js/website.tour.js +++ b/addons/website/static/src/js/website.tour.js @@ -286,10 +286,10 @@ var T = website.Tour = { } }, popoverTitle: function (tour, options) { - return openerp.qweb.render('website.tour_popover_title', options); + return openerp.qweb ? openerp.qweb.render('website.tour_popover_title', options) : options.title; }, popover: function (options) { - return openerp.qweb.render('website.tour_popover', options); + return openerp.qweb ? openerp.qweb.render('website.tour_popover', options) : options.title; }, getLang: function () { return $("html").attr("lang").replace(/-/, '_'); From 62814f9c2331340a5721331d652b0fdc0d2a201d Mon Sep 17 00:00:00 2001 From: "chm@openerp.com" <> Date: Mon, 24 Mar 2014 09:11:12 +0100 Subject: [PATCH 38/98] [FIX] website: activate new tour tests bzr revid: chm@openerp.com-20140324081112-15n58puu29weydme --- addons/website/tests/test_ui.py | 2 +- addons/website_blog/tests/test_ui.py | 2 +- addons/website_event/tests/test_ui.py | 2 +- addons/website_event_sale/tests/test_ui.py | 6 +++--- addons/website_sale/tests/test_ui.py | 8 ++++---- 5 files changed, 10 insertions(+), 10 deletions(-) diff --git a/addons/website/tests/test_ui.py b/addons/website/tests/test_ui.py index 54cd8a73a67..7eb88d00df3 100644 --- a/addons/website/tests/test_ui.py +++ b/addons/website/tests/test_ui.py @@ -8,6 +8,6 @@ class TestUi(openerp.tests.HttpCase): self.phantom_js("/", "console.log('ok')", "openerp.website.editor", login='admin') def test_04_admin_tour_banner(self): - self.phantom_js("/", "openerp.website.Tour.run_test('banner')", "openerp.website.Tour.tours.banner", login='admin') + self.phantom_js("/", "openerp.website.Tour.run('banner', 'test')", "openerp.website.Tour.tours.banner", login='admin') # vim:et: diff --git a/addons/website_blog/tests/test_ui.py b/addons/website_blog/tests/test_ui.py index e99884ba4b1..35b7fdc56e7 100644 --- a/addons/website_blog/tests/test_ui.py +++ b/addons/website_blog/tests/test_ui.py @@ -2,5 +2,5 @@ import openerp.tests class TestUi(openerp.tests.HttpCase): def test_admin(self): - self.phantom_js("/", "openerp.website.Tour.run_test('blog')", "openerp.website.Tour") + self.phantom_js("/", "openerp.website.Tour.run('blog', 'test')", "openerp.website.Tour") diff --git a/addons/website_event/tests/test_ui.py b/addons/website_event/tests/test_ui.py index c4e884c0325..b59cdd94dcc 100644 --- a/addons/website_event/tests/test_ui.py +++ b/addons/website_event/tests/test_ui.py @@ -2,5 +2,5 @@ import openerp.tests class TestUi(openerp.tests.HttpCase): def test_admin(self): - self.phantom_js("/", "openerp.website.Tour.run_test('event')", "openerp.website.Tour") + self.phantom_js("/", "openerp.website.Tour.run('event', 'test')", "openerp.website.Tour") diff --git a/addons/website_event_sale/tests/test_ui.py b/addons/website_event_sale/tests/test_ui.py index b5950aaec54..b204b2bad69 100644 --- a/addons/website_event_sale/tests/test_ui.py +++ b/addons/website_event_sale/tests/test_ui.py @@ -9,11 +9,11 @@ inject = [ @openerp.tests.common.post_install(True) class TestUi(openerp.tests.HttpCase): def test_admin(self): - self.phantom_js("/", "openerp.website.Tour.run_test('event_buy_tickets')", "openerp.website.Tour", inject=inject) + self.phantom_js("/", "openerp.website.Tour.run('event_buy_tickets', 'test')", "openerp.website.Tour", inject=inject) def test_demo(self): - self.phantom_js("/", "openerp.website.Tour.run_test('event_buy_tickets')", "openerp.website.Tour", login="demo", password="demo", inject=inject); + self.phantom_js("/", "openerp.website.Tour.run('event_buy_tickets', 'test')", "openerp.website.Tour", login="demo", password="demo", inject=inject); def test_public(self): - self.phantom_js("/", "openerp.website.Tour.run_test('event_buy_tickets')", "openerp.website.Tour", login=None, inject=inject); + self.phantom_js("/", "openerp.website.Tour.run('event_buy_tickets', 'test')", "openerp.website.Tour", login=None, inject=inject); diff --git a/addons/website_sale/tests/test_ui.py b/addons/website_sale/tests/test_ui.py index 0eb5daae97a..0cedf2d0409 100644 --- a/addons/website_sale/tests/test_ui.py +++ b/addons/website_sale/tests/test_ui.py @@ -11,13 +11,13 @@ inject = [ @openerp.tests.common.post_install(True) class TestUi(openerp.tests.HttpCase): def test_01_admin_shop_tour(self): - self.phantom_js("/", "openerp.website.Tour.run_test('shop')", "openerp.website.Tour.Shop", login="admin") + self.phantom_js("/", "openerp.website.Tour.run('shop', 'test')", "openerp.website.Tour.Shop", login="admin") def test_02_admin_checkout(self): - self.phantom_js("/", "openerp.website.Tour.run_test('shop_buy_product')", "openerp.website.Tour.ShopTest", login="admin", inject=inject) + self.phantom_js("/", "openerp.website.Tour.run('shop_buy_product', 'test')", "openerp.website.Tour.ShopTest", login="admin", inject=inject) def test_03_demo_checkout(self): - self.phantom_js("/", "openerp.website.Tour.run_test('shop_buy_product')", "openerp.website.Tour.ShopTest", login="demo", inject=inject) + self.phantom_js("/", "openerp.website.Tour.run('shop_buy_product', 'test')", "openerp.website.Tour.ShopTest", login="demo", inject=inject) def test_04_public_checkout(self): - self.phantom_js("/", "openerp.website.Tour.run_test('shop_buy_product')", "openerp.website.Tour.ShopTest", inject=inject) + self.phantom_js("/", "openerp.website.Tour.run('shop_buy_product', 'test')", "openerp.website.Tour.ShopTest", inject=inject) From b28a32f6ef398347ed0a207762a75c98a2d5a5b1 Mon Sep 17 00:00:00 2001 From: "chm@openerp.com" <> Date: Wed, 26 Mar 2014 15:44:42 +0100 Subject: [PATCH 39/98] [FIX] website: test_ui running bzr revid: chm@openerp.com-20140326144442-ye2a51f03wyaxi8a --- addons/website_blog/tests/test_ui.py | 2 +- addons/website_event/tests/test_ui.py | 2 +- addons/website_event_sale/tests/test_ui.py | 6 +++--- addons/website_sale/tests/test_ui.py | 10 +++++----- 4 files changed, 10 insertions(+), 10 deletions(-) diff --git a/addons/website_blog/tests/test_ui.py b/addons/website_blog/tests/test_ui.py index 35b7fdc56e7..b34ef25c002 100644 --- a/addons/website_blog/tests/test_ui.py +++ b/addons/website_blog/tests/test_ui.py @@ -2,5 +2,5 @@ import openerp.tests class TestUi(openerp.tests.HttpCase): def test_admin(self): - self.phantom_js("/", "openerp.website.Tour.run('blog', 'test')", "openerp.website.Tour") + self.phantom_js("/", "openerp.website.Tour.run('blog', 'test')", "openerp.website.Tour.tours.blog") diff --git a/addons/website_event/tests/test_ui.py b/addons/website_event/tests/test_ui.py index b59cdd94dcc..96a17a91563 100644 --- a/addons/website_event/tests/test_ui.py +++ b/addons/website_event/tests/test_ui.py @@ -2,5 +2,5 @@ import openerp.tests class TestUi(openerp.tests.HttpCase): def test_admin(self): - self.phantom_js("/", "openerp.website.Tour.run('event', 'test')", "openerp.website.Tour") + self.phantom_js("/", "openerp.website.Tour.run('event', 'test')", "openerp.website.Tour.tours.event") diff --git a/addons/website_event_sale/tests/test_ui.py b/addons/website_event_sale/tests/test_ui.py index b204b2bad69..3e26fba5cf4 100644 --- a/addons/website_event_sale/tests/test_ui.py +++ b/addons/website_event_sale/tests/test_ui.py @@ -9,11 +9,11 @@ inject = [ @openerp.tests.common.post_install(True) class TestUi(openerp.tests.HttpCase): def test_admin(self): - self.phantom_js("/", "openerp.website.Tour.run('event_buy_tickets', 'test')", "openerp.website.Tour", inject=inject) + self.phantom_js("/", "openerp.website.Tour.run('event_buy_tickets', 'test')", "openerp.website.Tour.tours.event_buy_tickets", inject=inject) def test_demo(self): - self.phantom_js("/", "openerp.website.Tour.run('event_buy_tickets', 'test')", "openerp.website.Tour", login="demo", password="demo", inject=inject); + self.phantom_js("/", "openerp.website.Tour.run('event_buy_tickets', 'test')", "openerp.website.Tour.tours.event_buy_tickets", login="demo", password="demo", inject=inject); def test_public(self): - self.phantom_js("/", "openerp.website.Tour.run('event_buy_tickets', 'test')", "openerp.website.Tour", login=None, inject=inject); + self.phantom_js("/", "openerp.website.Tour.run('event_buy_tickets', 'test')", "openerp.website.Tour.tours.event_buy_tickets", login=None, inject=inject); diff --git a/addons/website_sale/tests/test_ui.py b/addons/website_sale/tests/test_ui.py index 0cedf2d0409..61b0e904abf 100644 --- a/addons/website_sale/tests/test_ui.py +++ b/addons/website_sale/tests/test_ui.py @@ -4,20 +4,20 @@ import openerp.tests inject = [ ("openerp.website.Tour", os.path.join(os.path.dirname(__file__), '../../website/static/src/js/website.tour.js')), - ("openerp.website.Tour.ShopTest", os.path.join(os.path.dirname(__file__), "../static/src/js/website.tour.sale.js")), + ("openerp.website.Tour.tours.shop_buy_product", os.path.join(os.path.dirname(__file__), "../static/src/js/website.tour.sale.js")), ] @openerp.tests.common.at_install(False) @openerp.tests.common.post_install(True) class TestUi(openerp.tests.HttpCase): def test_01_admin_shop_tour(self): - self.phantom_js("/", "openerp.website.Tour.run('shop', 'test')", "openerp.website.Tour.Shop", login="admin") + self.phantom_js("/", "openerp.website.Tour.run('shop', 'test')", "openerp.website.Tour.tours.shop", login="admin") def test_02_admin_checkout(self): - self.phantom_js("/", "openerp.website.Tour.run('shop_buy_product', 'test')", "openerp.website.Tour.ShopTest", login="admin", inject=inject) + self.phantom_js("/", "openerp.website.Tour.run('shop_buy_product', 'test')", "openerp.website.Tour.tours.shop_buy_product", login="admin", inject=inject) def test_03_demo_checkout(self): - self.phantom_js("/", "openerp.website.Tour.run('shop_buy_product', 'test')", "openerp.website.Tour.ShopTest", login="demo", inject=inject) + self.phantom_js("/", "openerp.website.Tour.run('shop_buy_product', 'test')", "openerp.website.Tour.tours.shop_buy_product", login="demo", inject=inject) def test_04_public_checkout(self): - self.phantom_js("/", "openerp.website.Tour.run('shop_buy_product', 'test')", "openerp.website.Tour.ShopTest", inject=inject) + self.phantom_js("/", "openerp.website.Tour.run('shop_buy_product', 'test')", "openerp.website.Tour.tours.shop_buy_product", inject=inject) From fd593a3049407103165e4a872e92b9d39f641578 Mon Sep 17 00:00:00 2001 From: "chm@openerp.com" <> Date: Mon, 31 Mar 2014 17:12:37 +0200 Subject: [PATCH 40/98] [FIX] website_sale: test tour and activate website_event_sale test bzr revid: chm@openerp.com-20140331151237-ec0j7ywfsbjsw83k --- addons/website/static/src/js/website.tour.js | 17 +++++++++-------- addons/website_event_sale/tests/__init__.py | 2 +- addons/website_event_sale/tests/test_ui.py | 6 ++++-- 3 files changed, 14 insertions(+), 11 deletions(-) diff --git a/addons/website/static/src/js/website.tour.js b/addons/website/static/src/js/website.tour.js index eed431e071b..1a4a987739f 100644 --- a/addons/website/static/src/js/website.tour.js +++ b/addons/website/static/src/js/website.tour.js @@ -306,7 +306,7 @@ var T = website.Tour = { window.location.hash = ""; T.saveState(state.id, state.mode, state.step_id); } - if (!state.id) { + if (!state.id || !T.tours[state.id]) { return; } state.tour = T.tours[state.id]; @@ -349,20 +349,21 @@ var T = website.Tour = { clearTimeout(T.testtimer); T.closePopover(); }, + testRunning: 0, running: function () { - var state = T.getState(); - if (state) { - T.registerSteps(state.tour); + setTimeout(function () { if ($.ajaxBusy) { $(document).ajaxStop(function() { - setTimeout(function () { - T.nextStep(); - },0); + var state = T.getState(); + T.registerSteps(state.tour); + T.nextStep(); }); } else { + var state = T.getState(); + T.registerSteps(state.tour); T.nextStep(); } - } + },0); }, check: function (step) { return (step && diff --git a/addons/website_event_sale/tests/__init__.py b/addons/website_event_sale/tests/__init__.py index c9d4e3399ba..bf8ba6321ad 100644 --- a/addons/website_event_sale/tests/__init__.py +++ b/addons/website_event_sale/tests/__init__.py @@ -1 +1 @@ -#import test_ui +import test_ui diff --git a/addons/website_event_sale/tests/test_ui.py b/addons/website_event_sale/tests/test_ui.py index 3e26fba5cf4..fccbabb9d18 100644 --- a/addons/website_event_sale/tests/test_ui.py +++ b/addons/website_event_sale/tests/test_ui.py @@ -1,8 +1,10 @@ +import os + import openerp.tests inject = [ - "./../../../website/static/src/js/website.tour.test.js", - "./../../../website_event_sale/static/src/js/website.tour.event_sale.js", + ("openerp.website.Tour", os.path.join(os.path.dirname(__file__), '../../website/static/src/js/website.tour.js')), + ("openerp.website.Tour.tours.event_buy_tickets", os.path.join(os.path.dirname(__file__), "../static/src/js/website.tour.event_sale.js")), ] @openerp.tests.common.at_install(False) From 933adca053d003b133660d5949e61839bdb76b3a Mon Sep 17 00:00:00 2001 From: Jaydeep Barot Date: Wed, 2 Apr 2014 14:23:56 +0530 Subject: [PATCH 41/98] [IMP] In list view of journal items, user can sort using Reconcile ref field currently. bzr revid: jar@tinyerp.com-20140402085356-4bqscthp64r8ssph --- addons/account/account_move_line.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/account/account_move_line.py b/addons/account/account_move_line.py index b48e842caf5..b328792b571 100644 --- a/addons/account/account_move_line.py +++ b/addons/account/account_move_line.py @@ -445,7 +445,7 @@ class account_move_line(osv.osv): 'statement_id': fields.many2one('account.bank.statement', 'Statement', help="The bank statement used for bank reconciliation", select=1), 'reconcile_id': fields.many2one('account.move.reconcile', 'Reconcile', readonly=True, ondelete='set null', select=2), 'reconcile_partial_id': fields.many2one('account.move.reconcile', 'Partial Reconcile', readonly=True, ondelete='set null', select=2), - 'reconcile': fields.function(_get_reconcile, type='char', string='Reconcile Ref'), + 'reconcile': fields.function(_get_reconcile, type='char', string='Reconcile Ref', store=True), 'amount_currency': fields.float('Amount Currency', help="The amount expressed in an optional other currency if it is a multi-currency entry.", digits_compute=dp.get_precision('Account')), 'amount_residual_currency': fields.function(_amount_residual, string='Residual Amount in Currency', multi="residual", help="The residual amount on a receivable or payable of a journal entry expressed in its currency (maybe different of the company currency)."), 'amount_residual': fields.function(_amount_residual, string='Residual Amount', multi="residual", help="The residual amount on a receivable or payable of a journal entry expressed in the company currency."), From f4225eda24d7ccd8485c778d917b43409e8e64fa Mon Sep 17 00:00:00 2001 From: "chm@openerp.com" <> Date: Tue, 8 Apr 2014 14:41:19 +0200 Subject: [PATCH 42/98] [FIX] website test tour bzr revid: chm@openerp.com-20140408124119-jkmeh5vfdb3sjlna --- addons/website/static/src/js/website.tour.js | 19 ++++++++++--------- .../static/src/js/website.tour.event_sale.js | 4 ++-- 2 files changed, 12 insertions(+), 11 deletions(-) diff --git a/addons/website/static/src/js/website.tour.js b/addons/website/static/src/js/website.tour.js index 1a4a987739f..02befe4fdbb 100644 --- a/addons/website/static/src/js/website.tour.js +++ b/addons/website/static/src/js/website.tour.js @@ -351,18 +351,19 @@ var T = website.Tour = { }, testRunning: 0, running: function () { - setTimeout(function () { - if ($.ajaxBusy) { - $(document).ajaxStop(function() { - var state = T.getState(); - T.registerSteps(state.tour); - T.nextStep(); - }); - } else { - var state = T.getState(); + function run () { + var state = T.getState(); + if (state) { T.registerSteps(state.tour); T.nextStep(); } + } + setTimeout(function () { + if ($.ajaxBusy) { + $(document).ajaxStop(run); + } else { + run(); + } },0); }, check: function (step) { diff --git a/addons/website_event_sale/static/src/js/website.tour.event_sale.js b/addons/website_event_sale/static/src/js/website.tour.event_sale.js index 668a05001af..97de098240e 100644 --- a/addons/website_event_sale/static/src/js/website.tour.event_sale.js +++ b/addons/website_event_sale/static/src/js/website.tour.event_sale.js @@ -57,11 +57,11 @@ }, { title: "select payment", - element: '#payment_method label:has(img[title="transfer"]) input', + element: '#payment_method label:has(img[title="Wire Transfer"]) input', }, { title: "Pay Now", - waitFor: '#payment_method label:has(input:checked):has(img[title="transfer"])', + waitFor: '#payment_method label:has(input:checked):has(img[title="Wire Transfer"])', element: '.oe_sale_acquirer_button .btn[name="submit"]:visible', }, { From 69dfcab5d9c9b461df49d297b5fa2f8d5539de90 Mon Sep 17 00:00:00 2001 From: "chm@openerp.com" <> Date: Tue, 8 Apr 2014 16:47:41 +0200 Subject: [PATCH 43/98] [WIP] add console.log bzr revid: chm@openerp.com-20140408144741-ylt01232o58xb7ys --- .../static/src/js/website.tour.event_sale.js | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/addons/website_event_sale/static/src/js/website.tour.event_sale.js b/addons/website_event_sale/static/src/js/website.tour.event_sale.js index 97de098240e..75ad2297f6b 100644 --- a/addons/website_event_sale/static/src/js/website.tour.event_sale.js +++ b/addons/website_event_sale/static/src/js/website.tour.event_sale.js @@ -18,6 +18,11 @@ waitNot: 'a[href*="/event"]:contains("Functional Webinar")', autoComplete: function () { // use onload if website_event_track is installed + console.log("--------------------------------------------"); + console.log($('form:contains("Ticket Type")').size()); + console.log("--------------------------------------------"); + console.log($('a[href*="/event"][href*="/register"]').attr("href")); + console.log("--------------------------------------------"); if (!$('form:contains("Ticket Type")').size()) { window.location.href = $('a[href*="/event"][href*="/register"]').attr("href"); } From 584f2bea071ef4d603fb19786b79bac80170ed77 Mon Sep 17 00:00:00 2001 From: "chm@openerp.com" <> Date: Fri, 11 Apr 2014 12:51:05 +0200 Subject: [PATCH 44/98] [IMP] website: Tour: add a log time bzr revid: chm@openerp.com-20140411105105-y7vxgkf7nydjb1f8 --- addons/website/static/src/js/website.tour.js | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/addons/website/static/src/js/website.tour.js b/addons/website/static/src/js/website.tour.js index 02befe4fdbb..ce01b2e0cae 100644 --- a/addons/website/static/src/js/website.tour.js +++ b/addons/website/static/src/js/website.tour.js @@ -102,10 +102,12 @@ var T = website.Tour = { return; } var tour = T.tours[tour_id]; - T.saveState(tour.id, mode || tour.mode, 0); + this.time = new Date().getTime(); if (tour.path && !window.location.href.match(new RegExp("("+T.getLang()+")?"+tour.path+"#?$", "i"))) { + T.saveState(tour.id, mode || tour.mode, -1); window.location.href = "/"+T.getLang()+tour.path; } else { + T.saveState(tour.id, mode || tour.mode, 0); T.running(); } }, @@ -296,6 +298,7 @@ var T = website.Tour = { }, getState: function () { var state = JSON.parse(localStorage.getItem("tour") || 'false') || {}; + if (state) { this.time = state.time; } var tour_id,mode,step_id; if (!state.id && window.location.href.indexOf("#tutorial.") > -1) { state = { @@ -310,7 +313,7 @@ var T = website.Tour = { return; } state.tour = T.tours[state.id]; - state.step = state.tour.steps[state.step_id]; + state.step = state.tour.steps[state.step_id === -1 ? 0 : state.step_id]; return state; }, error: function (message) { @@ -335,7 +338,7 @@ var T = website.Tour = { return tour_ids; }, saveState: function (tour_id, mode, step_id) { - localStorage.setItem("tour", JSON.stringify({"id":tour_id, "mode":mode, "step_id":step_id || 0})); + localStorage.setItem("tour", JSON.stringify({"id":tour_id, "mode":mode, "step_id":step_id || 0, "time": this.time})); }, reset: function () { var state = T.getState(); @@ -412,6 +415,10 @@ var T = website.Tour = { step = step || state.step; T.saveState(state.id, state.mode, step.id); + if (step.id !== state.step_id) { + console.log("Tour Step: '" + step._title + "' (" + (new Date().getTime() - this.time) + "ms)"); + } + T.autoTogglePopover(true); if (step.onload) { From aa6386467a121e39266c7fd3e07684477cd3bc89 Mon Sep 17 00:00:00 2001 From: "chm@openerp.com" <> Date: Fri, 11 Apr 2014 13:53:14 +0200 Subject: [PATCH 45/98] [FIX] website: snippet clean_for_save: filter snippet before create overlay bzr revid: chm@openerp.com-20140411115314-xr5yutao88j8fusu --- addons/website/static/src/js/website.snippets.editor.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/website/static/src/js/website.snippets.editor.js b/addons/website/static/src/js/website.snippets.editor.js index d8eee3cbec5..7aa189db653 100644 --- a/addons/website/static/src/js/website.snippets.editor.js +++ b/addons/website/static/src/js/website.snippets.editor.js @@ -361,7 +361,7 @@ }, clean_for_save: function () { var self = this; - $(website.snippet.globalSelector).each(function () { + this.dom_filter(website.snippet.globalSelector).each(function () { var $snippet = $(this); self.make_active($snippet); self.make_active(false); From ab5aa5daff007b1c6f26b0aa8dfd3c50cd48bfb3 Mon Sep 17 00:00:00 2001 From: "chm@openerp.com" <> Date: Fri, 11 Apr 2014 13:55:02 +0200 Subject: [PATCH 46/98] [FIX] website tour: write undefined in log bzr revid: chm@openerp.com-20140411115502-804e5669do02swm2 --- addons/website/static/src/js/website.tour.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/website/static/src/js/website.tour.js b/addons/website/static/src/js/website.tour.js index ce01b2e0cae..743e3445fa5 100644 --- a/addons/website/static/src/js/website.tour.js +++ b/addons/website/static/src/js/website.tour.js @@ -416,7 +416,7 @@ var T = website.Tour = { T.saveState(state.id, state.mode, step.id); if (step.id !== state.step_id) { - console.log("Tour Step: '" + step._title + "' (" + (new Date().getTime() - this.time) + "ms)"); + console.log("Tour Step: '" + (step._title || step.title) + "' (" + (new Date().getTime() - this.time) + "ms)"); } T.autoTogglePopover(true); From 4550b532ca24a24b7bfae46ddcddf049bf5afdab Mon Sep 17 00:00:00 2001 From: "chm@openerp.com" <> Date: Fri, 11 Apr 2014 13:59:39 +0200 Subject: [PATCH 47/98] [FIX] website_sale: add product: customize img (forgotten merge) bzr revid: chm@openerp.com-20140411115939-yw257u179wqbh6sy --- .../static/src/js/website.tour.shop.js | 32 ++++++------------- 1 file changed, 9 insertions(+), 23 deletions(-) diff --git a/addons/website_sale/static/src/js/website.tour.shop.js b/addons/website_sale/static/src/js/website.tour.shop.js index 4f9a97dbb54..3dd5b54b357 100644 --- a/addons/website_sale/static/src/js/website.tour.shop.js +++ b/addons/website_sale/static/src/js/website.tour.shop.js @@ -54,41 +54,27 @@ title: _t("Change the price"), content: _t("Edit the price of this product by clicking on the amount."), }, + + { waitNot: '.product_price .oe_currency_value:containsExact(1.00)', - element: '#wrap img.img:first', + element: '#wrap img.product_detail_img', placement: 'top', title: _t("Update image"), content: _t("Click here to set an image describing your product."), }, { - element: 'button.hover-edition-button:visible', + element: 'img[alt=ipad]', placement: 'top', - title: _t("Update image"), - content: _t("Click here to set an image describing your product."), - }, - { - wait: 500, - element: '.well a.pull-right', - placement: 'bottom', title: _t("Select an Image"), - content: _t("Let's select an existing image."), - popover: { fixed: true }, + content: _t("Let's select an ipad image."), }, { - element: 'img[alt=imac]', - placement: 'bottom', - title: _t("Select an Image"), - content: _t("Let's select an imac image."), - popover: { fixed: true }, - }, - { - waitNot: 'img[alt=imac]', + waitFor: '.media_selected img[alt=ipad]', element: '.modal-content button.save', - placement: 'bottom', - title: _t("Select this Image"), - content: _t("Click to add the image to the product decsription."), - popover: { fixed: true }, + placement: 'top', + title: _t("Save this Image"), + content: _t("Click on save to add the image to the product decsription."), }, { waitNot: '.modal-content:visible', From a2f62bc341ab080ced91a069e0724421bbb94c3c Mon Sep 17 00:00:00 2001 From: "chm@openerp.com" <> Date: Fri, 11 Apr 2014 14:33:05 +0200 Subject: [PATCH 48/98] [FIX] website tour: error log bzr revid: chm@openerp.com-20140411123305-t2n1aej9akn0zb5r --- addons/website/static/src/js/website.tour.js | 12 ++++++------ .../static/src/js/website.tour.event_sale.js | 9 ++------- 2 files changed, 8 insertions(+), 13 deletions(-) diff --git a/addons/website/static/src/js/website.tour.js b/addons/website/static/src/js/website.tour.js index 743e3445fa5..28d80fb2272 100644 --- a/addons/website/static/src/js/website.tour.js +++ b/addons/website/static/src/js/website.tour.js @@ -316,15 +316,15 @@ var T = website.Tour = { state.step = state.tour.steps[state.step_id === -1 ? 0 : state.step_id]; return state; }, - error: function (message) { + error: function (step, message) { var state = T.getState(); message += '\n tour: ' + state.id - + '\n step: ' + state.step_id + ": '" + (state.step._title || state.step.title) + "'" + + '\n step: ' + step.id + ": '" + (step._title || step.title) + "'" + '\n href: ' + window.location.href + '\n referrer: ' + document.referrer - + '\n element: ' + Boolean(!state.step.element || ($(state.step.element).size() && $(state.step.element).is(":visible") && !$(state.step.element).is(":hidden"))) - + '\n waitNot: ' + Boolean(!state.step.waitNot || !$(state.step.waitNot).size()) - + '\n waitFor: ' + Boolean(!state.step.waitFor || $(state.step.waitFor).size()) + + '\n element: ' + Boolean(!step.element || ($(step.element).size() && $(step.element).is(":visible") && !$(step.element).is(":hidden"))) + + '\n waitNot: ' + Boolean(!step.waitNot || !$(step.waitNot).size()) + + '\n waitFor: ' + Boolean(!step.waitFor || $(step.waitFor).size()) + "\n localStorage: " + JSON.stringify(localStorage) + '\n\n' + $("body").html(); T.reset(); @@ -400,7 +400,7 @@ var T = website.Tour = { } else if (!overlaps || new Date().getTime() - time < overlaps) { T.timer = setTimeout(checkNext, T.defaultDelay); } else { - T.error("Can't reach the next step"); + T.error(next, "Can't reach the next step"); } } checkNext(); diff --git a/addons/website_event_sale/static/src/js/website.tour.event_sale.js b/addons/website_event_sale/static/src/js/website.tour.event_sale.js index 75ad2297f6b..9a200ece499 100644 --- a/addons/website_event_sale/static/src/js/website.tour.event_sale.js +++ b/addons/website_event_sale/static/src/js/website.tour.event_sale.js @@ -11,20 +11,15 @@ steps: [ { title: "select event", - element: 'a[href*="/event"]:contains("Open Days in Los Angeles")', + element: 'a[href*="/event"]:contains("Open Days in Los Angeles"):first', }, { title: "go to register page", waitNot: 'a[href*="/event"]:contains("Functional Webinar")', autoComplete: function () { // use onload if website_event_track is installed - console.log("--------------------------------------------"); - console.log($('form:contains("Ticket Type")').size()); - console.log("--------------------------------------------"); - console.log($('a[href*="/event"][href*="/register"]').attr("href")); - console.log("--------------------------------------------"); if (!$('form:contains("Ticket Type")').size()) { - window.location.href = $('a[href*="/event"][href*="/register"]').attr("href"); + window.location.href = $('a[href*="/event/Open-Days-in-Los-Angeles"][href*="/register"]').attr("href"); } }, }, From 3f7e567acc1542134d46aeb747a373588279d2f9 Mon Sep 17 00:00:00 2001 From: "chm@openerp.com" <> Date: Mon, 14 Apr 2014 10:14:51 +0200 Subject: [PATCH 49/98] [FIX] website bzr revid: chm@openerp.com-20140414081451-0hzjgaewtcok6rod --- addons/website/static/src/js/website.editor.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/website/static/src/js/website.editor.js b/addons/website/static/src/js/website.editor.js index 365b8cf46ea..c2e2ed46783 100644 --- a/addons/website/static/src/js/website.editor.js +++ b/addons/website/static/src/js/website.editor.js @@ -544,7 +544,7 @@ observer.disconnect(); var editor = this.rte.editor; - var root = editor.element.$; + var root = editor.element && editor.element.$; editor.destroy(); // FIXME: select editables then filter by dirty? var defs = this.rte.fetch_editables(root) From a001e9c4bcadcd04a9c9dcd64b88aa6dc5bafb5c Mon Sep 17 00:00:00 2001 From: "chm@openerp.com" <> Date: Mon, 14 Apr 2014 10:48:33 +0200 Subject: [PATCH 50/98] [FIX] website: tour for website_event_sale bzr revid: chm@openerp.com-20140414084833-gsanxrhysk7jn9bo --- .../static/src/js/website.tour.event_sale.js | 21 ++++++------------- addons/website_report/views/layouts.xml | 1 - 2 files changed, 6 insertions(+), 16 deletions(-) diff --git a/addons/website_event_sale/static/src/js/website.tour.event_sale.js b/addons/website_event_sale/static/src/js/website.tour.event_sale.js index 9a200ece499..333481bc349 100644 --- a/addons/website_event_sale/static/src/js/website.tour.event_sale.js +++ b/addons/website_event_sale/static/src/js/website.tour.event_sale.js @@ -11,32 +11,23 @@ steps: [ { title: "select event", - element: 'a[href*="/event"]:contains("Open Days in Los Angeles"):first', - }, - { - title: "go to register page", - waitNot: 'a[href*="/event"]:contains("Functional Webinar")', - autoComplete: function () { - // use onload if website_event_track is installed - if (!$('form:contains("Ticket Type")').size()) { - window.location.href = $('a[href*="/event/Open-Days-in-Los-Angeles"][href*="/register"]').attr("href"); - } - }, + element: 'a[href*="/event"]:contains("Conference on Business Applications"):first', }, { + waitNot: 'a[href*="/event"]:contains("Conference on Business Applications")', title: "select 2 Standard tickets", - element: 'select[name="ticket-1"]', + element: 'select:eq(0)', sampleText: '2', }, { title: "select 3 VIP tickets", - waitFor: 'select[name="ticket-1"] option:contains(2):selected', - element: 'select[name="ticket-2"]', + waitFor: 'select:eq(0) option:contains(2):selected', + element: 'select:eq(1)', sampleText: '3', }, { title: "Order Now", - waitFor: 'select[name="ticket-2"] option:contains(3):selected', + waitFor: 'select:eq(1) option:contains(3):selected', element: '.btn-primary:contains("Order Now")', }, { diff --git a/addons/website_report/views/layouts.xml b/addons/website_report/views/layouts.xml index c17fdf8c1ab..c9b2508489a 100644 --- a/addons/website_report/views/layouts.xml +++ b/addons/website_report/views/layouts.xml @@ -49,7 +49,6 @@ - From faadf0fec4c577e984d916e7fd54c2a42ad621c5 Mon Sep 17 00:00:00 2001 From: Simon Lejeune Date: Mon, 14 Apr 2014 12:53:33 +0200 Subject: [PATCH 51/98] [FIX] get_file error: the exception can be the only node and must be json parsed bzr revid: sle@openerp.com-20140414105333-05jona7myntifamw --- addons/web/static/src/js/core.js | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/addons/web/static/src/js/core.js b/addons/web/static/src/js/core.js index 90c84ba9cda..45ed6f41c6f 100644 --- a/addons/web/static/src/js/core.js +++ b/addons/web/static/src/js/core.js @@ -460,14 +460,11 @@ instance.web.Session.include( /** @lends instance.web.Session# */{ .appendTo(document.body) .load(function () { try { - if (options.error) { - if (!this.contentDocument.body.childNodes[1]) { - options.error(this.contentDocument.body.childNodes); - } - else { - options.error(JSON.parse(this.contentDocument.body.childNodes[1].textContent)); - } - } + if (options.error) { + var body = this.contentDocument.body; + var node = body.childNodes[1] || body.childNodes[0]; + options.error(JSON.parse(node.textContent)); + } } finally { complete(); } From 733f344ff623fce18400cdb743c349816045db93 Mon Sep 17 00:00:00 2001 From: Randhir Mayatra rma-openerp Date: Mon, 14 Apr 2014 17:39:15 +0530 Subject: [PATCH 52/98] [IMP] add 'report' in sale dependancy bzr revid: rma@tinyerp.com-20140414120915-3huithw6481rss0j --- addons/sale/__openerp__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/sale/__openerp__.py b/addons/sale/__openerp__.py index c330e01d7ca..65269b75153 100644 --- a/addons/sale/__openerp__.py +++ b/addons/sale/__openerp__.py @@ -59,7 +59,7 @@ The Dashboard for the Sales Manager will include 'author': 'OpenERP SA', 'website': 'http://www.openerp.com', 'images': ['images/Sale_order_line_to_invoice.jpeg','images/sale_order.jpeg','images/sales_analysis.jpeg'], - 'depends': ['account_voucher'], + 'depends': ['account_voucher', 'report'], 'data': [ 'wizard/sale_make_invoice_advance.xml', 'wizard/sale_line_invoice.xml', From f44a31dd27cedc9d3331319298463396fde094d6 Mon Sep 17 00:00:00 2001 From: Randhir Mayatra rma-openerp Date: Mon, 14 Apr 2014 18:41:31 +0530 Subject: [PATCH 53/98] [IMP] remove extra action from membership bzr revid: rma@tinyerp.com-20140414131131-y0qjfqkb2dlrh2o5 --- addons/membership/report/report_membership_view.xml | 7 ------- 1 file changed, 7 deletions(-) diff --git a/addons/membership/report/report_membership_view.xml b/addons/membership/report/report_membership_view.xml index 100ec32043f..ab1b1013e50 100644 --- a/addons/membership/report/report_membership_view.xml +++ b/addons/membership/report/report_membership_view.xml @@ -54,13 +54,6 @@ {"search_default_year":1,"search_default_member":1, 'search_default_Revenue':1, 'search_default_this_month':1, 'search_default_salesman':1,'group_by_no_leaf':1} - - - graph - - - - Date: Tue, 15 Apr 2014 17:37:34 +0200 Subject: [PATCH 54/98] [FIX] website tour: test mode + add log bzr revid: chm@openerp.com-20140415153734-5n2sz3xn01ydfeh6 --- addons/website/static/src/js/website.tour.js | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/addons/website/static/src/js/website.tour.js b/addons/website/static/src/js/website.tour.js index 28d80fb2272..368a316e6f7 100644 --- a/addons/website/static/src/js/website.tour.js +++ b/addons/website/static/src/js/website.tour.js @@ -98,15 +98,15 @@ var T = website.Tour = { T.tours[tour.id] = tour; }, run: function (tour_id, mode) { - if (localStorage.getItem("tour") && mode === "test") { // only one test running - return; - } var tour = T.tours[tour_id]; this.time = new Date().getTime(); if (tour.path && !window.location.href.match(new RegExp("("+T.getLang()+")?"+tour.path+"#?$", "i"))) { + var href = "/"+T.getLang()+tour.path; + console.log("Tour Begin from run method (redirection to "+href+")"); T.saveState(tour.id, mode || tour.mode, -1); - window.location.href = "/"+T.getLang()+tour.path; + window.location.href = href; } else { + console.log("Tour Begin from run method"); T.saveState(tour.id, mode || tour.mode, 0); T.running(); } @@ -307,6 +307,7 @@ var T = website.Tour = { "step_id": 0 }; window.location.hash = ""; + console.log("Tour Begin from url hash"); T.saveState(state.id, state.mode, state.step_id); } if (!state.id || !T.tours[state.id]) { @@ -357,6 +358,7 @@ var T = website.Tour = { function run () { var state = T.getState(); if (state) { + console.log("Tour '"+state.id+"' is running"); T.registerSteps(state.tour); T.nextStep(); } From 9284bd4817e970ff26cb17d3cd8aff0d5c2efb24 Mon Sep 17 00:00:00 2001 From: "chm@openerp.com" <> Date: Wed, 16 Apr 2014 10:21:38 +0200 Subject: [PATCH 55/98] [FIX] website: tour test inject javascript bzr revid: chm@openerp.com-20140416082138-rhwo2tl9l6jrko78 --- addons/website_event_sale/tests/test_ui.py | 4 ++-- addons/website_sale/tests/test_ui.py | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/addons/website_event_sale/tests/test_ui.py b/addons/website_event_sale/tests/test_ui.py index fccbabb9d18..9e0ae31484e 100644 --- a/addons/website_event_sale/tests/test_ui.py +++ b/addons/website_event_sale/tests/test_ui.py @@ -3,8 +3,8 @@ import os import openerp.tests inject = [ - ("openerp.website.Tour", os.path.join(os.path.dirname(__file__), '../../website/static/src/js/website.tour.js')), - ("openerp.website.Tour.tours.event_buy_tickets", os.path.join(os.path.dirname(__file__), "../static/src/js/website.tour.event_sale.js")), + os.path.join(os.path.dirname(__file__), '../../website/static/src/js/website.tour.js'), + os.path.join(os.path.dirname(__file__), "../static/src/js/website.tour.event_sale.js"), ] @openerp.tests.common.at_install(False) diff --git a/addons/website_sale/tests/test_ui.py b/addons/website_sale/tests/test_ui.py index 61b0e904abf..e242bb0b557 100644 --- a/addons/website_sale/tests/test_ui.py +++ b/addons/website_sale/tests/test_ui.py @@ -3,8 +3,8 @@ import os import openerp.tests inject = [ - ("openerp.website.Tour", os.path.join(os.path.dirname(__file__), '../../website/static/src/js/website.tour.js')), - ("openerp.website.Tour.tours.shop_buy_product", os.path.join(os.path.dirname(__file__), "../static/src/js/website.tour.sale.js")), + os.path.join(os.path.dirname(__file__), '../../website/static/src/js/website.tour.js'), + os.path.join(os.path.dirname(__file__), "../static/src/js/website.tour.sale.js"), ] @openerp.tests.common.at_install(False) From f50acd0bf9085167845787e9548b4fc75fd8be49 Mon Sep 17 00:00:00 2001 From: Jaydeep Barot Date: Mon, 21 Apr 2014 10:35:34 +0530 Subject: [PATCH 56/98] [IMP] merge two group by in search view to install account_followup and invisble accounting tab form partner view when user dont have account rights evnen, when is company true. bzr revid: jar@tinyerp.com-20140421050534-0z3zefpb3vp8why7 --- addons/account/partner_view.xml | 4 ++-- addons/account_followup/account_followup_customers.xml | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/addons/account/partner_view.xml b/addons/account/partner_view.xml index 6a58bc7f77e..a11b1089dec 100644 --- a/addons/account/partner_view.xml +++ b/addons/account/partner_view.xml @@ -97,7 +97,7 @@ - + @@ -127,7 +127,7 @@ - +

    Accounting-related settings are managed on

    diff --git a/addons/account_followup/account_followup_customers.xml b/addons/account_followup/account_followup_customers.xml index fba0bce460b..8973e6e3984 100644 --- a/addons/account_followup/account_followup_customers.xml +++ b/addons/account_followup/account_followup_customers.xml @@ -50,11 +50,11 @@ - - - - + + + +
    From 0c38696de397a69f9552237eee70a67394a05ad5 Mon Sep 17 00:00:00 2001 From: Jaydeep Barot Date: Mon, 21 Apr 2014 10:58:58 +0530 Subject: [PATCH 57/98] [IMP] set number instead of amount in breadcum. bzr revid: jar@tinyerp.com-20140421052858-aoko0dogh3gz0s17 --- addons/account_voucher/account_voucher.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/account_voucher/account_voucher.py b/addons/account_voucher/account_voucher.py index 771c6e15bd8..f6667f209dd 100644 --- a/addons/account_voucher/account_voucher.py +++ b/addons/account_voucher/account_voucher.py @@ -189,7 +189,7 @@ class account_voucher(osv.osv): if not ids: return [] if context is None: context = {} - return [(r['id'], (str("%.2f" % r['amount']) or '')) for r in self.read(cr, uid, ids, ['amount'], context, load='_classic_write')] + return [(r['id'], (r['number'] or '')) for r in self.read(cr, uid, ids, ['number'], context, load='_classic_write')] def fields_view_get(self, cr, uid, view_id=None, view_type=False, context=None, toolbar=False, submenu=False): mod_obj = self.pool.get('ir.model.data') From fcc4d29240eb817cedb9c84ceceffd2e2a3d8c4f Mon Sep 17 00:00:00 2001 From: Jaydeep Barot Date: Mon, 21 Apr 2014 11:04:56 +0530 Subject: [PATCH 58/98] [IMP] when we unselect allow multi currency, values of Gain Exchange Rate Account and Loss Exchange Rate Account will become false. bzr revid: jar@tinyerp.com-20140421053456-zc7x5mvy4rk34al8 --- addons/account/res_config.py | 5 +++++ addons/account/res_config_view.xml | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/addons/account/res_config.py b/addons/account/res_config.py index 8980a31927e..b9bceb3d2ff 100644 --- a/addons/account/res_config.py +++ b/addons/account/res_config.py @@ -259,6 +259,11 @@ class account_config_settings(osv.osv_memory): def onchange_tax_rate(self, cr, uid, ids, rate, context=None): return {'value': {'purchase_tax_rate': rate or False}} + def onchange_multi_currency(self, cr, uid, ids, group_multi_currency, context=None): + if not group_multi_currency: + return {'value': {'income_currency_exchange_account_id': False, 'expense_currency_exchange_account_id': False}} + return {} + def onchange_start_date(self, cr, uid, id, start_date): if start_date: start_date = datetime.datetime.strptime(start_date, "%Y-%m-%d") diff --git a/addons/account/res_config_view.xml b/addons/account/res_config_view.xml index 8a5b1978ecb..115566e9ab5 100644 --- a/addons/account/res_config_view.xml +++ b/addons/account/res_config_view.xml @@ -122,7 +122,7 @@