From 1109b4cb35a37ac09cca4754e9e822ea81d0ce07 Mon Sep 17 00:00:00 2001
From: "sgo@tinyerp.com" <>
Date: Mon, 4 Feb 2013 15:03:24 +0530
Subject: [PATCH 001/164] [IMP]add session tag for yaml and based on session
user whole yaml tested
bzr revid: sgo@tinyerp.com-20130204093324-6jdty26tepmvjhhs
---
.../addons/base/security/ir.model.access.csv | 2 +-
openerp/tools/yaml_import.py | 17 ++++++++++++++---
openerp/tools/yaml_tag.py | 13 +++++++++++++
3 files changed, 28 insertions(+), 4 deletions(-)
diff --git a/openerp/addons/base/security/ir.model.access.csv b/openerp/addons/base/security/ir.model.access.csv
index 35d5b82bc41..3a29108d61e 100644
--- a/openerp/addons/base/security/ir.model.access.csv
+++ b/openerp/addons/base/security/ir.model.access.csv
@@ -17,7 +17,7 @@
"access_ir_model_constraint","ir_model_constraint","model_ir_model_constraint",,1,0,0,0
"access_ir_model_relation","ir_model_relation","model_ir_model_relation",,1,0,0,0
"access_ir_model_access_all","ir_model_access_all","model_ir_model_access",,1,0,0,0
-"access_ir_model_data_all","ir_model_data all","model_ir_model_data",,1,0,0,0
+"access_ir_model_data_all","ir_model_data all","model_ir_model_data",,1,1,1,1
"access_ir_model_fields_all","ir_model_fields all","model_ir_model_fields",,1,0,0,0
"access_ir_module_category_group_user","ir_module_category group_user","model_ir_module_category",,1,0,0,0
"access_ir_module_module_group_user","ir_module_module group_user","model_ir_module_module","group_system",1,1,1,1
diff --git a/openerp/tools/yaml_import.py b/openerp/tools/yaml_import.py
index 3172caac1f4..1629ee1b9be 100644
--- a/openerp/tools/yaml_import.py
+++ b/openerp/tools/yaml_import.py
@@ -88,6 +88,9 @@ def is_ir_set(node):
def is_string(node):
return isinstance(node, basestring)
+def is_session(node):
+ return _is_yaml_mapping(node, yaml_tag.Session)
+
class RecordDictWrapper(dict):
"""
Used to pass a record as locals in eval:
@@ -324,7 +327,7 @@ class YamlInterpreter(object):
record_dict = self._create_record(model, fields, view_info, default=default)
_logger.debug("RECORD_DICT %s" % record_dict)
- id = self.pool.get('ir.model.data')._update(self.cr, SUPERUSER_ID, record.model, \
+ id = self.pool.get('ir.model.data')._update(self.cr, self.uid, record.model, \
self.module, record_dict, record.id, noupdate=self.isnoupdate(record), mode=self.mode, context=context)
self.id_map[record.id] = int(id)
if config.get('import_partial'):
@@ -760,7 +763,7 @@ class YamlInterpreter(object):
keyword = 'client_action_relate'
value = 'ir.actions.act_window,%s' % id
replace = node.replace or True
- self.pool.get('ir.model.data').ir_set(self.cr, SUPERUSER_ID, 'action', keyword, \
+ self.pool.get('ir.model.data').ir_set(self.cr, self.uid, 'action', keyword, \
node.id, [node.src_model], value, replace=replace, noupdate=self.isnoupdate(node), isobject=True, xml_id=node.id)
# TODO add remove ir.model.data
@@ -775,10 +778,16 @@ class YamlInterpreter(object):
self.pool.get(node.model).unlink(self.cr, self.uid, ids)
else:
self._log("Record not deleted.")
+
+ def process_session(self, node):
+ record, fields = node.items()[0]
+ uid = self.get_id(record.uid)
+ self.uid = uid
+ _logger.debug("RECORD_DICT %s" % uid)
def process_url(self, node):
self.validate_xml_id(node.id)
-
+
res = {'name': node.name, 'url': node.url, 'target': node.target}
id = self.pool.get('ir.model.data')._update(self.cr, SUPERUSER_ID, \
@@ -889,6 +898,8 @@ class YamlInterpreter(object):
self.process_act_window(node)
elif is_report(node):
self.process_report(node)
+ elif is_session(node):
+ self.process_session(node)
elif is_workflow(node):
if isinstance(node, types.DictionaryType):
self.process_workflow(node)
diff --git a/openerp/tools/yaml_tag.py b/openerp/tools/yaml_tag.py
index b22787ddf98..c4d5f251479 100644
--- a/openerp/tools/yaml_tag.py
+++ b/openerp/tools/yaml_tag.py
@@ -32,6 +32,13 @@ class Record(YamlTag):
def __str__(self):
return '!record {model: %s, id: %s}:' % (str(self.model,), str(self.id,))
+class Session(YamlTag):
+ def __init__(self, uid, **kwargs):
+ self.uid = uid
+ super(Session, self).__init__(**kwargs)
+ def __str__(self):
+ return '!session {uid: %s}:' % (str(self.uid,))
+
class Python(YamlTag):
def __init__(self, model, severity=logging.ERROR, name="", **kwargs):
self.model= model
@@ -113,6 +120,11 @@ def record_constructor(loader, node):
assert "id" in kwargs, "'id' argument is required for !record"
return Record(**kwargs)
+def session_constructor(loader, node):
+ kwargs = loader.construct_mapping(node)
+ assert "uid" in kwargs, "'uid' argument is required for !session"
+ return Session(**kwargs)
+
def python_constructor(loader, node):
kwargs = loader.construct_mapping(node)
return Python(**kwargs)
@@ -182,6 +194,7 @@ def add_constructors():
yaml.add_constructor(u"!eval", eval_constructor)
yaml.add_multi_constructor(u"!ref", ref_constructor)
yaml.add_constructor(u"!ir_set", ir_set_constructor)
+ yaml.add_constructor(u"!session", session_constructor)
add_constructors()
From 5ec04f670303a984c53b11bcdc0c0fed0bd51720 Mon Sep 17 00:00:00 2001
From: "sgo@tinyerp.com" <>
Date: Mon, 4 Feb 2013 15:04:25 +0530
Subject: [PATCH 002/164] [IMP]add yml file based on new session tag which test
yml as per session user
bzr revid: sgo@tinyerp.com-20130204093425-blivw1198zxhsh2u
---
addons/sale/__openerp__.py | 3 ++-
addons/sale/test/sale_order_demo.yml | 16 ----------------
2 files changed, 2 insertions(+), 17 deletions(-)
delete mode 100644 addons/sale/test/sale_order_demo.yml
diff --git a/addons/sale/__openerp__.py b/addons/sale/__openerp__.py
index 8cc4919e3a1..6ba3a02bb00 100644
--- a/addons/sale/__openerp__.py
+++ b/addons/sale/__openerp__.py
@@ -80,7 +80,8 @@ The Dashboard for the Sales Manager will include
],
'demo': ['sale_demo.xml'],
'test': [
- 'test/sale_order_demo.yml',
+ 'test/sale_order_salesmanager_demo.yml',
+ 'test/sale_order_salesman_demo.yml',
'test/manual_order_policy.yml',
'test/cancel_order.yml',
'test/delete_order.yml',
diff --git a/addons/sale/test/sale_order_demo.yml b/addons/sale/test/sale_order_demo.yml
deleted file mode 100644
index 7e5a223e8b0..00000000000
--- a/addons/sale/test/sale_order_demo.yml
+++ /dev/null
@@ -1,16 +0,0 @@
--
- In order to test process of the Sale Order, I create sale order
--
- !record {model: sale.order, id: sale_order_test1}:
- partner_id: base.res_partner_2
- note: Invoice after delivery
- payment_term: account.account_payment_term
- order_line:
- - product_id: product.product_product_7
- product_uom_qty: 8
--
- I verify that the onchange was correctly triggered
--
- !assert {model: sale.order, id: sale.sale_order_test1, string: The onchange function of product was not correctly triggered}:
- - order_line[0].name == u'[LCD17] 17\u201d LCD Monitor'
- - order_line[0].price_unit == 1350.0
From 72043cfbc34586a937918ea2ac1a5f7ab177fb25 Mon Sep 17 00:00:00 2001
From: "sgo@tinyerp.com" <>
Date: Mon, 4 Feb 2013 18:02:12 +0530
Subject: [PATCH 003/164] [ADD]yml files
bzr revid: sgo@tinyerp.com-20130204123212-psghdi2mnp4r2lut
---
addons/sale/test/sale_order_salesman_demo.yml | 32 +++++++++++++++++++
.../test/sale_order_salesmanager_demo.yml | 28 ++++++++++++++++
2 files changed, 60 insertions(+)
create mode 100644 addons/sale/test/sale_order_salesman_demo.yml
create mode 100644 addons/sale/test/sale_order_salesmanager_demo.yml
diff --git a/addons/sale/test/sale_order_salesman_demo.yml b/addons/sale/test/sale_order_salesman_demo.yml
new file mode 100644
index 00000000000..4e297249322
--- /dev/null
+++ b/addons/sale/test/sale_order_salesman_demo.yml
@@ -0,0 +1,32 @@
+-
+ In order to test process of the Sale Order, I create sale order
+-
+ Create a user 'Salesman'
+-
+ !record {model: res.users, id: res_users_salesman}:
+ company_id: base.main_company
+ name: Salesman
+ login: su
+ password: su
+ groups_id:
+ - base.group_sale_salesman_all_leads
+-
+ Create a user 'Salesman'
+-
+ Now, check the data with salesman
+-
+ !session {uid: res_users_salesman}:
+-
+ !record {model: sale.order, id: sale_order_test2}:
+ partner_id: base.res_partner_3
+ note: Invoice after delivery
+ payment_term: account.account_payment_term
+ order_line:
+ - product_id: product.product_product_7
+ product_uom_qty: 7
+-
+ I verify that the onchange was correctly triggered
+-
+ !assert {model: sale.order, id: sale.sale_order_test2, string: The onchange function of product was not correctly triggered}:
+ - order_line[0].name == u'[LCD17] 17\u201d LCD Monitor'
+ - order_line[0].price_unit == 1350.0
diff --git a/addons/sale/test/sale_order_salesmanager_demo.yml b/addons/sale/test/sale_order_salesmanager_demo.yml
new file mode 100644
index 00000000000..f4d7750029d
--- /dev/null
+++ b/addons/sale/test/sale_order_salesmanager_demo.yml
@@ -0,0 +1,28 @@
+-
+ In order to test process of the Sale Order, I create sale order
+-
+ !record {model: res.users, id: res_users_salesmanager}:
+ company_id: base.main_company
+ name: Sales manager
+ login: sm
+ password: sm
+ groups_id:
+ - base.group_sale_manager
+-
+ Now, check the data with sales Manager
+-
+ !session {uid: res_users_salesmanager}:
+-
+ !record {model: sale.order, id: sale_order_test1}:
+ partner_id: base.res_partner_2
+ note: Invoice after delivery
+ payment_term: account.account_payment_term
+ order_line:
+ - product_id: product.product_product_7
+ product_uom_qty: 8
+-
+ I verify that the onchange was correctly triggered
+-
+ !assert {model: sale.order, id: sale.sale_order_test1, string: The onchange function of product was not correctly triggered}:
+ - order_line[0].name == u'[LCD17] 17\u201d LCD Monitor'
+ - order_line[0].price_unit == 1350.0
From 74a681e9dbafa5759ada82ec9262fe893ed99f9f Mon Sep 17 00:00:00 2001
From: "sgo@tinyerp.com" <>
Date: Mon, 18 Feb 2013 11:40:14 +0530
Subject: [PATCH 004/164] [IMP]revert changes as per new spec
bzr revid: sgo@tinyerp.com-20130218061014-lg6uk108vajx43mo
---
openerp/tools/yaml_import.py | 13 +------------
openerp/tools/yaml_tag.py | 13 -------------
2 files changed, 1 insertion(+), 25 deletions(-)
diff --git a/openerp/tools/yaml_import.py b/openerp/tools/yaml_import.py
index 1629ee1b9be..9a8b2a6cd8d 100644
--- a/openerp/tools/yaml_import.py
+++ b/openerp/tools/yaml_import.py
@@ -88,9 +88,6 @@ def is_ir_set(node):
def is_string(node):
return isinstance(node, basestring)
-def is_session(node):
- return _is_yaml_mapping(node, yaml_tag.Session)
-
class RecordDictWrapper(dict):
"""
Used to pass a record as locals in eval:
@@ -763,7 +760,7 @@ class YamlInterpreter(object):
keyword = 'client_action_relate'
value = 'ir.actions.act_window,%s' % id
replace = node.replace or True
- self.pool.get('ir.model.data').ir_set(self.cr, self.uid, 'action', keyword, \
+ self.pool.get('ir.model.data').ir_set(self.cr, SUPERUSER_ID, 'action', keyword, \
node.id, [node.src_model], value, replace=replace, noupdate=self.isnoupdate(node), isobject=True, xml_id=node.id)
# TODO add remove ir.model.data
@@ -779,12 +776,6 @@ class YamlInterpreter(object):
else:
self._log("Record not deleted.")
- def process_session(self, node):
- record, fields = node.items()[0]
- uid = self.get_id(record.uid)
- self.uid = uid
- _logger.debug("RECORD_DICT %s" % uid)
-
def process_url(self, node):
self.validate_xml_id(node.id)
@@ -898,8 +889,6 @@ class YamlInterpreter(object):
self.process_act_window(node)
elif is_report(node):
self.process_report(node)
- elif is_session(node):
- self.process_session(node)
elif is_workflow(node):
if isinstance(node, types.DictionaryType):
self.process_workflow(node)
diff --git a/openerp/tools/yaml_tag.py b/openerp/tools/yaml_tag.py
index c4d5f251479..b22787ddf98 100644
--- a/openerp/tools/yaml_tag.py
+++ b/openerp/tools/yaml_tag.py
@@ -32,13 +32,6 @@ class Record(YamlTag):
def __str__(self):
return '!record {model: %s, id: %s}:' % (str(self.model,), str(self.id,))
-class Session(YamlTag):
- def __init__(self, uid, **kwargs):
- self.uid = uid
- super(Session, self).__init__(**kwargs)
- def __str__(self):
- return '!session {uid: %s}:' % (str(self.uid,))
-
class Python(YamlTag):
def __init__(self, model, severity=logging.ERROR, name="", **kwargs):
self.model= model
@@ -120,11 +113,6 @@ def record_constructor(loader, node):
assert "id" in kwargs, "'id' argument is required for !record"
return Record(**kwargs)
-def session_constructor(loader, node):
- kwargs = loader.construct_mapping(node)
- assert "uid" in kwargs, "'uid' argument is required for !session"
- return Session(**kwargs)
-
def python_constructor(loader, node):
kwargs = loader.construct_mapping(node)
return Python(**kwargs)
@@ -194,7 +182,6 @@ def add_constructors():
yaml.add_constructor(u"!eval", eval_constructor)
yaml.add_multi_constructor(u"!ref", ref_constructor)
yaml.add_constructor(u"!ir_set", ir_set_constructor)
- yaml.add_constructor(u"!session", session_constructor)
add_constructors()
From 3be3625587d11fbb44f2df3ca0c920d58831ad1b Mon Sep 17 00:00:00 2001
From: "sgo@tinyerp.com" <>
Date: Mon, 18 Feb 2013 12:58:21 +0530
Subject: [PATCH 005/164] [IMP]improve code as per new spec
bzr revid: sgo@tinyerp.com-20130218072821-c1x1bwvv1gp77w9t
---
addons/sale/test/sale_order_salesman_demo.yml | 3 ++-
addons/sale/test/sale_order_salesmanager_demo.yml | 3 ++-
2 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/addons/sale/test/sale_order_salesman_demo.yml b/addons/sale/test/sale_order_salesman_demo.yml
index 4e297249322..dbaf35c7a8f 100644
--- a/addons/sale/test/sale_order_salesman_demo.yml
+++ b/addons/sale/test/sale_order_salesman_demo.yml
@@ -15,7 +15,8 @@
-
Now, check the data with salesman
-
- !session {uid: res_users_salesman}:
+ !context
+ 'uid': 'res_users_salesman'
-
!record {model: sale.order, id: sale_order_test2}:
partner_id: base.res_partner_3
diff --git a/addons/sale/test/sale_order_salesmanager_demo.yml b/addons/sale/test/sale_order_salesmanager_demo.yml
index f4d7750029d..47bb9081a55 100644
--- a/addons/sale/test/sale_order_salesmanager_demo.yml
+++ b/addons/sale/test/sale_order_salesmanager_demo.yml
@@ -11,7 +11,8 @@
-
Now, check the data with sales Manager
-
- !session {uid: res_users_salesmanager}:
+ !context
+ 'uid': 'res_users_salesmanager'
-
!record {model: sale.order, id: sale_order_test1}:
partner_id: base.res_partner_2
From e983e49f209d4ac7283a6cc034cfbc9e27c3138d Mon Sep 17 00:00:00 2001
From: "sgo@tinyerp.com" <>
Date: Mon, 18 Feb 2013 15:40:43 +0530
Subject: [PATCH 006/164] [IMP]improve code
bzr revid: sgo@tinyerp.com-20130218101043-7hy8m5goylr7fv2t
---
addons/sale/test/sale_order_salesman_demo.yml | 6 ++----
addons/sale/test/sale_order_salesmanager_demo.yml | 4 +++-
2 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/addons/sale/test/sale_order_salesman_demo.yml b/addons/sale/test/sale_order_salesman_demo.yml
index dbaf35c7a8f..56c781d1451 100644
--- a/addons/sale/test/sale_order_salesman_demo.yml
+++ b/addons/sale/test/sale_order_salesman_demo.yml
@@ -1,7 +1,7 @@
-
In order to test process of the Sale Order, I create sale order
-
- Create a user 'Salesman'
+ Create a user as 'Salesman'
-
!record {model: res.users, id: res_users_salesman}:
company_id: base.main_company
@@ -10,13 +10,11 @@
password: su
groups_id:
- base.group_sale_salesman_all_leads
--
- Create a user 'Salesman'
-
Now, check the data with salesman
-
!context
- 'uid': 'res_users_salesman'
+ uid: 'res_users_salesman'
-
!record {model: sale.order, id: sale_order_test2}:
partner_id: base.res_partner_3
diff --git a/addons/sale/test/sale_order_salesmanager_demo.yml b/addons/sale/test/sale_order_salesmanager_demo.yml
index 47bb9081a55..f09e1327a75 100644
--- a/addons/sale/test/sale_order_salesmanager_demo.yml
+++ b/addons/sale/test/sale_order_salesmanager_demo.yml
@@ -1,5 +1,7 @@
-
In order to test process of the Sale Order, I create sale order
+-
+ Create a user as 'Salesmanager'
-
!record {model: res.users, id: res_users_salesmanager}:
company_id: base.main_company
@@ -12,7 +14,7 @@
Now, check the data with sales Manager
-
!context
- 'uid': 'res_users_salesmanager'
+ uid: 'res_users_salesmanager'
-
!record {model: sale.order, id: sale_order_test1}:
partner_id: base.res_partner_2
From 095af7d4932006e94ec30d06889ea6e86594c3b4 Mon Sep 17 00:00:00 2001
From: "sgo@tinyerp.com" <>
Date: Mon, 18 Feb 2013 17:02:38 +0530
Subject: [PATCH 007/164] [IMP]remove extra spaces
bzr revid: sgo@tinyerp.com-20130218113238-x6wf0vxjmv0etwft
---
openerp/tools/yaml_import.py | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/openerp/tools/yaml_import.py b/openerp/tools/yaml_import.py
index 9a8b2a6cd8d..46168f40bae 100644
--- a/openerp/tools/yaml_import.py
+++ b/openerp/tools/yaml_import.py
@@ -775,10 +775,9 @@ class YamlInterpreter(object):
self.pool.get(node.model).unlink(self.cr, self.uid, ids)
else:
self._log("Record not deleted.")
-
+
def process_url(self, node):
self.validate_xml_id(node.id)
-
res = {'name': node.name, 'url': node.url, 'target': node.target}
id = self.pool.get('ir.model.data')._update(self.cr, SUPERUSER_ID, \
From 83af08294e7ca5b0f788ea99822a19ba4fd0660f Mon Sep 17 00:00:00 2001
From: "sgo@tinyerp.com" <>
Date: Tue, 19 Feb 2013 12:57:34 +0530
Subject: [PATCH 008/164] [IMP]improve yaml for cancel order
bzr revid: sgo@tinyerp.com-20130219072734-70093wqxyory3arz
---
addons/sale/__openerp__.py | 2 +-
..._order.yml => cancel_order_sale_manager.yml} | 17 ++++++++++++++++-
2 files changed, 17 insertions(+), 2 deletions(-)
rename addons/sale/test/{cancel_order.yml => cancel_order_sale_manager.yml} (89%)
diff --git a/addons/sale/__openerp__.py b/addons/sale/__openerp__.py
index 6ba3a02bb00..26014e8cadd 100644
--- a/addons/sale/__openerp__.py
+++ b/addons/sale/__openerp__.py
@@ -83,7 +83,7 @@ The Dashboard for the Sales Manager will include
'test/sale_order_salesmanager_demo.yml',
'test/sale_order_salesman_demo.yml',
'test/manual_order_policy.yml',
- 'test/cancel_order.yml',
+ 'test/cancel_order_sale_manager.yml',
'test/delete_order.yml',
'test/edi_sale_order.yml',
],
diff --git a/addons/sale/test/cancel_order.yml b/addons/sale/test/cancel_order_sale_manager.yml
similarity index 89%
rename from addons/sale/test/cancel_order.yml
rename to addons/sale/test/cancel_order_sale_manager.yml
index 12b28fcb7e8..78a3af6113b 100644
--- a/addons/sale/test/cancel_order.yml
+++ b/addons/sale/test/cancel_order_sale_manager.yml
@@ -3,7 +3,21 @@
I confirm order (with at least 2 lines)
-
!workflow {model: sale.order, action: order_confirm, ref: sale_order_8}
-
+-
+ Create a user as 'Salesmanager for cancel order'
+-
+ !record {model: res.users, id: res_users_can_so}:
+ company_id: base.main_company
+ name: Sales manager for cancel
+ login: smc
+ password: smc
+ groups_id:
+ - base.group_sale_manager
+-
+ Now, check the data with sales Manager for cancel order.
+-
+ !context
+ uid: 'res_users_can_so'
-
I check state of order in 'Sale Order'.
-
@@ -32,6 +46,7 @@
ctx = context.copy()
ctx.update({"active_model": 'sale.order', "active_ids": [ref("sale_order_8")], "active_id":ref("sale_order_8")})
pay_id = self.create(cr, uid, {'advance_payment_method': 'fixed', 'amount': 5})
+ print ">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>.",uid
self.create_invoices(cr, uid, [pay_id], context=ctx)
invoice_ids = self.pool.get('sale.order').browse(cr, uid, ref("sale_order_8")).invoice_ids
From 3e01083a1bb6bac3e2b46734cbd154a685283634 Mon Sep 17 00:00:00 2001
From: "sgo@tinyerp.com" <>
Date: Tue, 19 Feb 2013 14:23:28 +0530
Subject: [PATCH 009/164] [IMP]improve code
bzr revid: sgo@tinyerp.com-20130219085328-um1q8bs4iw773ivs
---
addons/sale/test/cancel_order_sale_manager.yml | 1 -
1 file changed, 1 deletion(-)
diff --git a/addons/sale/test/cancel_order_sale_manager.yml b/addons/sale/test/cancel_order_sale_manager.yml
index 78a3af6113b..770d1a5924d 100644
--- a/addons/sale/test/cancel_order_sale_manager.yml
+++ b/addons/sale/test/cancel_order_sale_manager.yml
@@ -46,7 +46,6 @@
ctx = context.copy()
ctx.update({"active_model": 'sale.order', "active_ids": [ref("sale_order_8")], "active_id":ref("sale_order_8")})
pay_id = self.create(cr, uid, {'advance_payment_method': 'fixed', 'amount': 5})
- print ">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>.",uid
self.create_invoices(cr, uid, [pay_id], context=ctx)
invoice_ids = self.pool.get('sale.order').browse(cr, uid, ref("sale_order_8")).invoice_ids
From d4a1cec260ffa9fb1c10430df6e8c38880ecaf6a Mon Sep 17 00:00:00 2001
From: "sgo@tinyerp.com" <>
Date: Tue, 19 Feb 2013 18:49:21 +0530
Subject: [PATCH 010/164] [IMP]improve code and yml
bzr revid: sgo@tinyerp.com-20130219131921-nbfs273xujvriomu
---
addons/sale/__openerp__.py | 4 +-
addons/sale/test/create_sale_users.yml | 20 +++++++++
addons/sale/test/sale_order_demo.yml | 41 +++++++++++++++++++
.../test/sale_order_salesmanager_demo.yml | 31 --------------
4 files changed, 63 insertions(+), 33 deletions(-)
create mode 100644 addons/sale/test/create_sale_users.yml
create mode 100644 addons/sale/test/sale_order_demo.yml
delete mode 100644 addons/sale/test/sale_order_salesmanager_demo.yml
diff --git a/addons/sale/__openerp__.py b/addons/sale/__openerp__.py
index 6ba3a02bb00..2bea86b41af 100644
--- a/addons/sale/__openerp__.py
+++ b/addons/sale/__openerp__.py
@@ -80,8 +80,8 @@ The Dashboard for the Sales Manager will include
],
'demo': ['sale_demo.xml'],
'test': [
- 'test/sale_order_salesmanager_demo.yml',
- 'test/sale_order_salesman_demo.yml',
+ 'test/create_sale_users.yml',
+ 'test/sale_order_demo.yml',
'test/manual_order_policy.yml',
'test/cancel_order.yml',
'test/delete_order.yml',
diff --git a/addons/sale/test/create_sale_users.yml b/addons/sale/test/create_sale_users.yml
new file mode 100644
index 00000000000..a61c4bd7c99
--- /dev/null
+++ b/addons/sale/test/create_sale_users.yml
@@ -0,0 +1,20 @@
+-
+ Create a user as 'Salesmanager'
+-
+ !record {model: res.users, id: res_users_salesmanager}:
+ company_id: base.main_company
+ name: Sales manager
+ login: sm
+ password: sm
+ groups_id:
+ - base.group_sale_manager
+-
+ Create a user as 'Salesman'
+-
+ !record {model: res.users, id: res_users_salesman}:
+ company_id: base.main_company
+ name: Salesman
+ login: su
+ password: su
+ groups_id:
+ - base.group_sale_salesman_all_leads
diff --git a/addons/sale/test/sale_order_demo.yml b/addons/sale/test/sale_order_demo.yml
new file mode 100644
index 00000000000..84aaa43a3cf
--- /dev/null
+++ b/addons/sale/test/sale_order_demo.yml
@@ -0,0 +1,41 @@
+-
+ Test the data with salesman,
+-
+ !context
+ uid: 'res_users_salesman'
+-
+ In order to test process of the Sale Order, I create sale order
+-
+ !record {model: sale.order, id: sale_order_test1}:
+ partner_id: base.res_partner_2
+ note: Invoice after delivery
+ payment_term: account.account_payment_term
+ order_line:
+ - product_id: product.product_product_7
+ product_uom_qty: 8
+-
+ I verify that the onchange was correctly triggered
+-
+ !assert {model: sale.order, id: sale.sale_order_test1, string: The onchange function of product was not correctly triggered}:
+ - order_line[0].name == u'[LCD17] 17\u201d LCD Monitor'
+ - order_line[0].price_unit == 1350.0
+ - order_line[0].product_uom_qty == 8
+ - order_line[0].product_uom.id == ref('product.product_uom_unit')
+
+-
+ I create another sale order
+-
+ !record {model: sale.order, id: sale_order_test2}:
+ partner_id: base.res_partner_2
+ order_line:
+ - product_id: product.product_product_7
+ product_uom_qty: 16
+ product_uom: product.product_uom_dozen
+-
+ I verify that the onchange was correctly triggered
+-
+ !assert {model: sale.order, id: sale.sale_order_test2, string: The onchange function of product was not correctly triggered}:
+ - order_line[0].name == u'[LCD17] 17\u201d LCD Monitor'
+ - order_line[0].price_unit == 1350.0 * 12
+ - order_line[0].product_uom.id == ref('product.product_uom_dozen')
+ - order_line[0].product_uom_qty == 16
\ No newline at end of file
diff --git a/addons/sale/test/sale_order_salesmanager_demo.yml b/addons/sale/test/sale_order_salesmanager_demo.yml
deleted file mode 100644
index f09e1327a75..00000000000
--- a/addons/sale/test/sale_order_salesmanager_demo.yml
+++ /dev/null
@@ -1,31 +0,0 @@
--
- In order to test process of the Sale Order, I create sale order
--
- Create a user as 'Salesmanager'
--
- !record {model: res.users, id: res_users_salesmanager}:
- company_id: base.main_company
- name: Sales manager
- login: sm
- password: sm
- groups_id:
- - base.group_sale_manager
--
- Now, check the data with sales Manager
--
- !context
- uid: 'res_users_salesmanager'
--
- !record {model: sale.order, id: sale_order_test1}:
- partner_id: base.res_partner_2
- note: Invoice after delivery
- payment_term: account.account_payment_term
- order_line:
- - product_id: product.product_product_7
- product_uom_qty: 8
--
- I verify that the onchange was correctly triggered
--
- !assert {model: sale.order, id: sale.sale_order_test1, string: The onchange function of product was not correctly triggered}:
- - order_line[0].name == u'[LCD17] 17\u201d LCD Monitor'
- - order_line[0].price_unit == 1350.0
From 33636c1dcfdd95e231d5e6b202775129d8e8ddd8 Mon Sep 17 00:00:00 2001
From: "sgo@tinyerp.com" <>
Date: Tue, 19 Feb 2013 18:57:12 +0530
Subject: [PATCH 011/164] [REM]remove file
bzr revid: sgo@tinyerp.com-20130219132712-hr0sns52uy0821th
---
addons/sale/test/sale_order_salesman_demo.yml | 31 -------------------
1 file changed, 31 deletions(-)
delete mode 100644 addons/sale/test/sale_order_salesman_demo.yml
diff --git a/addons/sale/test/sale_order_salesman_demo.yml b/addons/sale/test/sale_order_salesman_demo.yml
deleted file mode 100644
index 56c781d1451..00000000000
--- a/addons/sale/test/sale_order_salesman_demo.yml
+++ /dev/null
@@ -1,31 +0,0 @@
--
- In order to test process of the Sale Order, I create sale order
--
- Create a user as 'Salesman'
--
- !record {model: res.users, id: res_users_salesman}:
- company_id: base.main_company
- name: Salesman
- login: su
- password: su
- groups_id:
- - base.group_sale_salesman_all_leads
--
- Now, check the data with salesman
--
- !context
- uid: 'res_users_salesman'
--
- !record {model: sale.order, id: sale_order_test2}:
- partner_id: base.res_partner_3
- note: Invoice after delivery
- payment_term: account.account_payment_term
- order_line:
- - product_id: product.product_product_7
- product_uom_qty: 7
--
- I verify that the onchange was correctly triggered
--
- !assert {model: sale.order, id: sale.sale_order_test2, string: The onchange function of product was not correctly triggered}:
- - order_line[0].name == u'[LCD17] 17\u201d LCD Monitor'
- - order_line[0].price_unit == 1350.0
From fad27029faa105e9ca8d934d00680373d1487dc5 Mon Sep 17 00:00:00 2001
From: "Foram Katharotiya (OpenERP)"
Dummy body
'}, + {'subject': 'Forget me subject', 'body': 'Dummy body
', 'post': True}, {'default_composition_mode': 'comment', 'default_model': 'mail.group', 'default_res_id': self.group_pigs_id, @@ -101,7 +101,7 @@ class test_message_compose(TestMail): 'default_template_id': email_template_id, 'active_ids': [self.group_pigs_id, self.group_bird_id] } - compose_id = mail_compose.create(cr, uid, {'subject': 'Forget me subject', 'body': 'Dummy body'}, context) + compose_id = mail_compose.create(cr, uid, {'subject': 'Forget me subject', 'body': 'Dummy body', 'post': True}, context) compose = mail_compose.browse(cr, uid, compose_id, context) onchange_res = compose.onchange_template_id(email_template_id, 'comment', 'mail.group', self.group_pigs_id)['value'] onchange_res['partner_ids'] = [(4, partner_id) for partner_id in onchange_res.pop('partner_ids', [])] @@ -145,7 +145,7 @@ class test_message_compose(TestMail): 'default_partner_ids': [p_a_id], 'active_ids': [self.group_pigs_id, self.group_bird_id] } - compose_id = mail_compose.create(cr, uid, {'subject': 'Forget me subject', 'body': 'Dummy body'}, context) + compose_id = mail_compose.create(cr, uid, {'subject': 'Forget me subject', 'body': 'Dummy body', 'post': True}, context) compose = mail_compose.browse(cr, uid, compose_id, context) onchange_res = compose.onchange_template_id(email_template_id, 'mass_mail', 'mail.group', self.group_pigs_id)['value'] onchange_res['partner_ids'] = [(4, partner_id) for partner_id in onchange_res.pop('partner_ids', [])] diff --git a/addons/mail/tests/test_mail_features.py b/addons/mail/tests/test_mail_features.py index 970f07f519e..0688bf02606 100644 --- a/addons/mail/tests/test_mail_features.py +++ b/addons/mail/tests/test_mail_features.py @@ -631,6 +631,7 @@ class test_mail(TestMail): { 'subject': _subject, 'body': '${object.description}', + 'post': True, 'partner_ids': [(4, p_c_id), (4, p_d_id)], }, context={ 'default_composition_mode': 'mass_mail', @@ -684,6 +685,7 @@ class test_mail(TestMail): { 'subject': _subject, 'body': '${object.description}', + 'post': True, 'partner_ids': [(4, p_c_id), (4, p_d_id)], }, context={ 'default_composition_mode': 'mass_mail', diff --git a/addons/mail/wizard/mail_compose_message.py b/addons/mail/wizard/mail_compose_message.py index 82f01d35e05..1b3f6010893 100644 --- a/addons/mail/wizard/mail_compose_message.py +++ b/addons/mail/wizard/mail_compose_message.py @@ -134,8 +134,9 @@ class mail_compose_message(osv.TransientModel): 'body': lambda self, cr, uid, ctx={}: '', 'subject': lambda self, cr, uid, ctx={}: False, 'partner_ids': lambda self, cr, uid, ctx={}: [], - 'post': lambda self, cr, uid, ctx={}: True, - 'same_thread': lambda self, cr, uid, ctx={}: True, + 'post': False, + 'notify': False, + 'same_thread': True, } def check_access_rule(self, cr, uid, ids, operation, context=None): diff --git a/addons/mail/wizard/mail_compose_message_view.xml b/addons/mail/wizard/mail_compose_message_view.xml index ed1a211ce8c..ff1dd96229e 100644 --- a/addons/mail/wizard/mail_compose_message_view.xml +++ b/addons/mail/wizard/mail_compose_message_view.xml @@ -14,20 +14,11 @@
+
+ Delivered
+
Opened
@@ -61,10 +65,6 @@
Replied
-
- Bounced
-
+
+ Delivered
+
Opened
@@ -195,10 +199,6 @@
Replied
-
- Bounced
-
No module found!
\n" +"You should try others search criteria.
\n" +" " +msgstr "" + +#. module: base +#: model:ir.model,name:base.model_ir_module_module +#: field:ir.model.constraint,module:0 +#: view:ir.model.data:0 +#: field:ir.model.data,module:0 +#: field:ir.model.relation,module:0 +#: view:ir.module.module:0 +#: field:ir.module.module.dependency,module_id:0 +#: report:ir.module.reference:0 +#: field:ir.translation,module:0 +msgid "Module" +msgstr "" + +#. module: base +#: selection:base.language.install,lang:0 +msgid "English (UK)" +msgstr "" + +#. module: base +#: selection:base.language.install,lang:0 +msgid "Japanese / 日本語" +msgstr "" + +#. module: base +#: model:ir.model,name:base.model_base_language_import +msgid "Language Import" +msgstr "" + +#. module: base +#: help:workflow.transition,act_from:0 +msgid "" +"Source activity. When this activity is over, the condition is tested to " +"determine if we can start the ACT_TO activity." +msgstr "" + +#. module: base +#: model:ir.module.category,name:base.module_category_generic_modules_accounting +#: view:res.company:0 +msgid "Accounting" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_base_vat +msgid "" +"\n" +"VAT validation for Partner's VAT numbers.\n" +"=========================================\n" +"\n" +"After installing this module, values entered in the VAT field of Partners " +"will\n" +"be validated for all supported countries. The country is inferred from the\n" +"2-letter country code that prefixes the VAT number, e.g. ``BE0477472701``\n" +"will be validated using the Belgian rules.\n" +"\n" +"There are two different levels of VAT number validation:\n" +"--------------------------------------------------------\n" +" * By default, a simple off-line check is performed using the known " +"validation\n" +" rules for the country, usually a simple check digit. This is quick and " +"\n" +" always available, but allows numbers that are perhaps not truly " +"allocated,\n" +" or not valid anymore.\n" +" \n" +" * When the \"VAT VIES Check\" option is enabled (in the configuration of " +"the user's\n" +" Company), VAT numbers will be instead submitted to the online EU VIES\n" +" database, which will truly verify that the number is valid and " +"currently\n" +" allocated to a EU company. This is a little bit slower than the " +"simple\n" +" off-line check, requires an Internet connection, and may not be " +"available\n" +" all the time. If the service is not available or does not support the\n" +" requested country (e.g. for non-EU countries), a simple check will be " +"performed\n" +" instead.\n" +"\n" +"Supported countries currently include EU countries, and a few non-EU " +"countries\n" +"such as Chile, Colombia, Mexico, Norway or Russia. For unsupported " +"countries,\n" +"only the country code will be validated.\n" +" " +msgstr "" + +#. module: base +#: model:ir.model,name:base.model_ir_actions_act_window_view +msgid "ir.actions.act_window.view" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_web +#: report:ir.module.reference:0 +msgid "Web" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_lunch +msgid "Lunch Orders" +msgstr "" + +#. module: base +#: selection:base.language.install,lang:0 +msgid "English (CA)" +msgstr "" + +#. module: base +#: model:ir.module.category,name:base.module_category_human_resources +msgid "Human Resources" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_l10n_syscohada +msgid "" +"\n" +"This module implements the accounting chart for OHADA area.\n" +"===========================================================\n" +" \n" +"It allows any company or association to manage its financial accounting.\n" +"\n" +"Countries that use OHADA are the following:\n" +"-------------------------------------------\n" +" Benin, Burkina Faso, Cameroon, Central African Republic, Comoros, " +"Congo,\n" +" \n" +" Ivory Coast, Gabon, Guinea, Guinea Bissau, Equatorial Guinea, Mali, " +"Niger,\n" +" \n" +" Replica of Democratic Congo, Senegal, Chad, Togo.\n" +" " +msgstr "" + +#. module: base +#: view:ir.translation:0 +msgid "Comments" +msgstr "" + +#. module: base +#: model:res.country,name:base.et +msgid "Ethiopia" +msgstr "" + +#. module: base +#: model:ir.module.category,name:base.module_category_authentication +msgid "Authentication" +msgstr "" + +#. module: base +#: model:res.country,name:base.sj +msgid "Svalbard and Jan Mayen Islands" +msgstr "" + +#. module: base +#: model:ir.model,name:base.model_ir_actions_wizard +#: selection:ir.ui.menu,action:0 +msgid "ir.actions.wizard" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_web_kanban +msgid "Base Kanban" +msgstr "" + +#. module: base +#: view:ir.actions.act_window:0 +#: view:ir.actions.report.xml:0 +#: view:ir.actions.server:0 +msgid "Group By" +msgstr "" + +#. module: base +#: view:res.config.installer:0 +msgid "title" +msgstr "" + +#. module: base +#: code:addons/base/ir/ir_fields.py:146 +#, python-format +msgid "true" +msgstr "" + +#. module: base +#: model:ir.model,name:base.model_base_language_install +msgid "Install Language" +msgstr "" + +#. module: base +#: model:res.partner.category,name:base.res_partner_category_11 +msgid "Services" +msgstr "" + +#. module: base +#: view:ir.translation:0 +msgid "Translation" +msgstr "" + +#. module: base +#: selection:res.request,state:0 +msgid "closed" +msgstr "" + +#. module: base +#: selection:base.language.export,state:0 +msgid "get" +msgstr "" + +#. module: base +#: help:ir.model.fields,on_delete:0 +msgid "On delete property for many2one fields" +msgstr "" + +#. module: base +#: model:ir.module.category,name:base.module_category_accounting_and_finance +msgid "Accounting & Finance" +msgstr "" + +#. module: base +#: field:ir.actions.server,write_id:0 +msgid "Write Id" +msgstr "" + +#. module: base +#: model:ir.ui.menu,name:base.menu_product +msgid "Products" +msgstr "" + +#. module: base +#: model:ir.actions.act_window,name:base.act_values_form_defaults +#: model:ir.ui.menu,name:base.menu_values_form_defaults +#: view:ir.values:0 +msgid "User-defined Defaults" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_auth_signup +msgid "" +"\n" +"Allow users to sign up and reset their password\n" +"===============================================\n" +" " +msgstr "" + +#. module: base +#: model:ir.module.category,name:base.module_category_usability +#: view:res.users:0 +msgid "Usability" +msgstr "" + +#. module: base +#: field:ir.actions.act_window,domain:0 +msgid "Domain Value" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_association +msgid "" +"\n" +"This module is to configure modules related to an association.\n" +"==============================================================\n" +"\n" +"It installs the profile for associations to manage events, registrations, " +"memberships, \n" +"membership products (schemes).\n" +" " +msgstr "" + +#. module: base +#: model:ir.ui.menu,name:base.menu_base_config +#: model:ir.ui.menu,name:base.menu_config +#: model:ir.ui.menu,name:base.menu_definitions +#: model:ir.ui.menu,name:base.menu_event_config +#: model:ir.ui.menu,name:base.menu_lunch_survey_root +#: model:ir.ui.menu,name:base.menu_marketing_config_association +#: model:ir.ui.menu,name:base.menu_marketing_config_root +#: model:ir.ui.menu,name:base.menu_reporting_config +#: view:res.company:0 +#: view:res.config:0 +msgid "Configuration" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_edi +msgid "" +"\n" +"Provides a common EDI platform that other Applications can use.\n" +"===============================================================\n" +"\n" +"OpenERP specifies a generic EDI format for exchanging business documents " +"between \n" +"different systems, and provides generic mechanisms to import and export " +"them.\n" +"\n" +"More details about OpenERP's EDI format may be found in the technical " +"OpenERP \n" +"documentation at http://doc.openerp.com.\n" +" " +msgstr "" + +#. module: base +#: code:addons/base/ir/workflow/workflow.py:99 +#, python-format +msgid "Operation forbidden" +msgstr "" + +#. module: base +#: view:ir.actions.server:0 +msgid "SMS Configuration" +msgstr "" + +#. module: base +#: help:ir.rule,active:0 +msgid "" +"If you uncheck the active field, it will disable the record rule without " +"deleting it (if you delete a native record rule, it may be re-created when " +"you reload the module." +msgstr "" + +#. module: base +#: selection:base.language.install,lang:0 +msgid "Spanish (BO) / Español (BO)" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_board +msgid "" +"\n" +"Lets the user create a custom dashboard.\n" +"========================================\n" +"\n" +"Allows users to create custom dashboard.\n" +" " +msgstr "" + +#. module: base +#: model:ir.actions.act_window,name:base.ir_access_act +#: model:ir.ui.menu,name:base.menu_ir_access_act +msgid "Access Controls List" +msgstr "" + +#. module: base +#: model:res.country,name:base.um +msgid "USA Minor Outlying Islands" +msgstr "" + +#. module: base +#: help:ir.cron,numbercall:0 +msgid "" +"How many times the method is called,\n" +"a negative number indicates no limit." +msgstr "" + +#. module: base +#: field:res.partner.bank.type.field,bank_type_id:0 +msgid "Bank Type" +msgstr "" + +#. module: base +#: code:addons/base/res/res_users.py:99 +#, python-format +msgid "The name of the group can not start with \"-\"" +msgstr "" + +#. module: base +#: model:ir.actions.client,name:base.modules_act_cl +#: view:ir.module.module:0 +#: model:ir.ui.menu,name:base.module_mi +msgid "Apps" +msgstr "" + +#. module: base +#: view:ir.ui.view_sc:0 +msgid "Shortcut" +msgstr "" + +#. module: base +#: field:ir.model.data,date_init:0 +msgid "Init Date" +msgstr "" + +#. module: base +#: selection:base.language.install,lang:0 +msgid "Gujarati / ગુજરાતી" +msgstr "" + +#. module: base +#: code:addons/base/module/module.py:361 +#, python-format +msgid "" +"Unable to process module \"%s\" because an external dependency is not met: %s" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_l10n_be_hr_payroll +msgid "Belgium - Payroll" +msgstr "" + +#. module: base +#: view:workflow.activity:0 +#: field:workflow.activity,flow_start:0 +msgid "Flow Start" +msgstr "" + +#. module: base +#: model:ir.model,name:base.model_res_partner_title +msgid "res.partner.title" +msgstr "" + +#. module: base +#: view:res.partner.bank:0 +msgid "Bank Account Owner" +msgstr "" + +#. module: base +#: model:ir.module.category,name:base.module_category_uncategorized +msgid "Uncategorized" +msgstr "" + +#. module: base +#: view:res.partner:0 +msgid "Phone:" +msgstr "" + +#. module: base +#: field:res.partner,is_company:0 +msgid "Is a Company" +msgstr "" + +#. module: base +#: selection:ir.cron,interval_type:0 +msgid "Hours" +msgstr "" + +#. module: base +#: model:res.country,name:base.gp +msgid "Guadeloupe (French)" +msgstr "" + +#. module: base +#: code:addons/base/res/res_lang.py:185 +#: code:addons/base/res/res_lang.py:187 +#: code:addons/base/res/res_lang.py:189 +#, python-format +msgid "User Error" +msgstr "" + +#. module: base +#: help:workflow.transition,signal:0 +msgid "" +"When the operation of transition comes from a button pressed in the client " +"form, signal tests the name of the pressed button. If signal is NULL, no " +"button is necessary to validate this transition." +msgstr "" + +#. module: base +#: field:ir.ui.view.custom,ref_id:0 +msgid "Original View" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_web_kanban +msgid "" +"\n" +"OpenERP Web kanban view.\n" +"========================\n" +"\n" +msgstr "" + +#. module: base +#: code:addons/base/ir/ir_fields.py:182 +#, python-format +msgid "'%s' does not seem to be a number for field '%%(field)s'" +msgstr "" + +#. module: base +#: help:res.country.state,name:0 +msgid "" +"Administrative divisions of a country. E.g. Fed. State, Departement, Canton" +msgstr "" + +#. module: base +#: view:res.partner.bank:0 +msgid "My Banks" +msgstr "" + +#. module: base +#: sql_constraint:ir.filters:0 +msgid "Filter names must be unique" +msgstr "" + +#. module: base +#: help:multi_company.default,object_id:0 +msgid "Object affected by this rule" +msgstr "" + +#. module: base +#: selection:ir.actions.act_window,target:0 +msgid "Inline View" +msgstr "" + +#. module: base +#: field:ir.filters,is_default:0 +msgid "Default filter" +msgstr "" + +#. module: base +#: report:ir.module.reference:0 +msgid "Directory" +msgstr "" + +#. module: base +#: field:wizard.ir.model.menu.create,name:0 +msgid "Menu Name" +msgstr "" + +#. module: base +#: field:ir.values,key2:0 +msgid "Qualifier" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_l10n_be_coda +msgid "" +"\n" +"Module to import CODA bank statements.\n" +"======================================\n" +"\n" +"Supported are CODA flat files in V2 format from Belgian bank accounts.\n" +"----------------------------------------------------------------------\n" +" * CODA v1 support.\n" +" * CODA v2.2 support.\n" +" * Foreign Currency support.\n" +" * Support for all data record types (0, 1, 2, 3, 4, 8, 9).\n" +" * Parsing & logging of all Transaction Codes and Structured Format \n" +" Communications.\n" +" * Automatic Financial Journal assignment via CODA configuration " +"parameters.\n" +" * Support for multiple Journals per Bank Account Number.\n" +" * Support for multiple statements from different bank accounts in a " +"single \n" +" CODA file.\n" +" * Support for 'parsing only' CODA Bank Accounts (defined as type='info' " +"in \n" +" the CODA Bank Account configuration records).\n" +" * Multi-language CODA parsing, parsing configuration data provided for " +"EN, \n" +" NL, FR.\n" +"\n" +"The machine readable CODA Files are parsed and stored in human readable " +"format in \n" +"CODA Bank Statements. Also Bank Statements are generated containing a subset " +"of \n" +"the CODA information (only those transaction lines that are required for the " +"\n" +"creation of the Financial Accounting records). The CODA Bank Statement is a " +"\n" +"'read-only' object, hence remaining a reliable representation of the " +"original\n" +"CODA file whereas the Bank Statement will get modified as required by " +"accounting \n" +"business processes.\n" +"\n" +"CODA Bank Accounts configured as type 'Info' will only generate CODA Bank " +"Statements.\n" +"\n" +"A removal of one object in the CODA processing results in the removal of the " +"\n" +"associated objects. The removal of a CODA File containing multiple Bank \n" +"Statements will also remove those associated statements.\n" +"\n" +"The following reconciliation logic has been implemented in the CODA " +"processing:\n" +"-----------------------------------------------------------------------------" +"--\n" +" 1) The Company's Bank Account Number of the CODA statement is compared " +"against \n" +" the Bank Account Number field of the Company's CODA Bank Account \n" +" configuration records (whereby bank accounts defined in type='info' \n" +" configuration records are ignored). If this is the case an 'internal " +"transfer'\n" +" transaction is generated using the 'Internal Transfer Account' field " +"of the \n" +" CODA File Import wizard.\n" +" 2) As a second step the 'Structured Communication' field of the CODA " +"transaction\n" +" line is matched against the reference field of in- and outgoing " +"invoices \n" +" (supported : Belgian Structured Communication Type).\n" +" 3) When the previous step doesn't find a match, the transaction " +"counterparty is \n" +" located via the Bank Account Number configured on the OpenERP " +"Customer and \n" +" Supplier records.\n" +" 4) In case the previous steps are not successful, the transaction is " +"generated \n" +" by using the 'Default Account for Unrecognized Movement' field of the " +"CODA \n" +" File Import wizard in order to allow further manual processing.\n" +"\n" +"In stead of a manual adjustment of the generated Bank Statements, you can " +"also \n" +"re-import the CODA after updating the OpenERP database with the information " +"that \n" +"was missing to allow automatic reconciliation.\n" +"\n" +"Remark on CODA V1 support:\n" +"~~~~~~~~~~~~~~~~~~~~~~~~~~\n" +"In some cases a transaction code, transaction category or structured \n" +"communication code has been given a new or clearer description in CODA " +"V2.The\n" +"description provided by the CODA configuration tables is based upon the CODA " +"\n" +"V2.2 specifications.\n" +"If required, you can manually adjust the descriptions via the CODA " +"configuration menu.\n" +msgstr "" + +#. module: base +#: view:ir.attachment:0 +msgid "Month" +msgstr "" + +#. module: base +#: model:res.country,name:base.my +msgid "Malaysia" +msgstr "" + +#. module: base +#: code:addons/base/ir/ir_sequence.py:134 +#: code:addons/base/ir/ir_sequence.py:160 +#, python-format +msgid "Increment number must not be zero." +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_account_cancel +msgid "Cancel Journal Entries" +msgstr "" + +#. module: base +#: field:res.partner,tz_offset:0 +msgid "Timezone offset" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_marketing_campaign +msgid "" +"\n" +"This module provides leads automation through marketing campaigns (campaigns " +"can in fact be defined on any resource, not just CRM Leads).\n" +"=============================================================================" +"============================================================\n" +"\n" +"The campaigns are dynamic and multi-channels. The process is as follows:\n" +"------------------------------------------------------------------------\n" +" * Design marketing campaigns like workflows, including email templates " +"to\n" +" send, reports to print and send by email, custom actions\n" +" * Define input segments that will select the items that should enter " +"the\n" +" campaign (e.g leads from certain countries.)\n" +" * Run you campaign in simulation mode to test it real-time or " +"accelerated,\n" +" and fine-tune it\n" +" * You may also start the real campaign in manual mode, where each " +"action\n" +" requires manual validation\n" +" * Finally launch your campaign live, and watch the statistics as the\n" +" campaign does everything fully automatically.\n" +"\n" +"While the campaign runs you can of course continue to fine-tune the " +"parameters,\n" +"input segments, workflow.\n" +"\n" +"**Note:** If you need demo data, you can install the " +"marketing_campaign_crm_demo\n" +" module, but this will also install the CRM application as it depends " +"on\n" +" CRM Leads.\n" +" " +msgstr "" + +#. module: base +#: help:ir.mail_server,smtp_debug:0 +msgid "" +"If enabled, the full output of SMTP sessions will be written to the server " +"log at DEBUG level(this is very verbose and may include confidential info!)" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_sale_margin +msgid "" +"\n" +"This module adds the 'Margin' on sales order.\n" +"=============================================\n" +"\n" +"This gives the profitability by calculating the difference between the Unit\n" +"Price and Cost Price.\n" +" " +msgstr "" + +#. module: base +#: selection:ir.actions.todo,type:0 +msgid "Launch Automatically" +msgstr "" + +#. module: base +#: help:ir.model.fields,translate:0 +msgid "" +"Whether values for this field can be translated (enables the translation " +"mechanism for that field)" +msgstr "" + +#. module: base +#: selection:base.language.install,lang:0 +msgid "Indonesian / Bahasa Indonesia" +msgstr "" + +#. module: base +#: model:res.country,name:base.cv +msgid "Cape Verde" +msgstr "" + +#. module: base +#: model:res.groups,comment:base.group_sale_salesman +msgid "the user will have access to his own data in the sales application." +msgstr "" + +#. module: base +#: model:res.groups,comment:base.group_user +msgid "" +"the user will be able to manage his own human resources stuff (leave " +"request, timesheets, ...), if he is linked to an employee in the system." +msgstr "" + +#. module: base +#: code:addons/orm.py:2247 +#, python-format +msgid "There is no view of type '%s' defined for the structure!" +msgstr "" + +#. module: base +#: help:ir.values,key:0 +msgid "" +"- Action: an action attached to one slot of the given model\n" +"- Default: a default value for a model field" +msgstr "" + +#. module: base +#: field:base.module.update,add:0 +msgid "Number of modules added" +msgstr "" + +#. module: base +#: view:res.currency:0 +msgid "Price Accuracy" +msgstr "" + +#. module: base +#: selection:base.language.install,lang:0 +msgid "Latvian / latviešu valoda" +msgstr "" + +#. module: base +#: selection:base.language.install,lang:0 +msgid "French / Français" +msgstr "" + +#. module: base +#: view:ir.module.module:0 +msgid "Created Menus" +msgstr "" + +#. module: base +#: code:addons/base/module/module.py:502 +#: view:ir.module.module:0 +#, python-format +msgid "Uninstall" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_account_budget +msgid "Budgets Management" +msgstr "" + +#. module: base +#: field:workflow.triggers,workitem_id:0 +msgid "Workitem" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_anonymization +msgid "Database Anonymization" +msgstr "" + +#. module: base +#: selection:ir.mail_server,smtp_encryption:0 +msgid "SSL/TLS" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_l10n_hr +msgid "" +"\n" +"Croatian localisation.\n" +"======================\n" +"\n" +"Author: Goran Kliska, Slobodni programi d.o.o., Zagreb\n" +" http://www.slobodni-programi.hr\n" +"\n" +"Contributions:\n" +" Tomislav Bošnjaković, Storm Computers: tipovi konta\n" +" Ivan Vađić, Slobodni programi: tipovi konta\n" +"\n" +"Description:\n" +"\n" +"Croatian Chart of Accounts (RRIF ver.2012)\n" +"\n" +"RRIF-ov računski plan za poduzetnike za 2012.\n" +"Vrste konta\n" +"Kontni plan prema RRIF-u, dorađen u smislu kraćenja naziva i dodavanja " +"analitika\n" +"Porezne grupe prema poreznoj prijavi\n" +"Porezi PDV obrasca\n" +"Ostali porezi \n" +"Osnovne fiskalne pozicije\n" +"\n" +"Izvori podataka:\n" +" http://www.rrif.hr/dok/preuzimanje/rrif-rp2011.rar\n" +" http://www.rrif.hr/dok/preuzimanje/rrif-rp2012.rar\n" +"\n" +msgstr "" + +#. module: base +#: view:ir.actions.act_window:0 +#: field:ir.actions.act_window.view,act_window_id:0 +#: view:ir.actions.actions:0 +#: field:ir.actions.todo,action_id:0 +#: field:ir.ui.menu,action:0 +#: selection:ir.values,key:0 +msgid "Action" +msgstr "" + +#. module: base +#: view:ir.actions.server:0 +msgid "Email Configuration" +msgstr "" + +#. module: base +#: model:ir.model,name:base.model_ir_cron +msgid "ir.cron" +msgstr "" + +#. module: base +#: model:res.country,name:base.cw +msgid "Curaçao" +msgstr "" + +#. module: base +#: view:ir.sequence:0 +msgid "Current Year without Century: %(y)s" +msgstr "" + +#. module: base +#: model:ir.actions.act_window,name:base.ir_config_list_action +#: view:ir.config_parameter:0 +#: model:ir.ui.menu,name:base.ir_config_menu +msgid "System Parameters" +msgstr "" + +#. module: base +#: help:ir.actions.client,tag:0 +msgid "" +"An arbitrary string, interpreted by the client according to its own needs " +"and wishes. There is no central tag repository across clients." +msgstr "" + +#. module: base +#: sql_constraint:ir.rule:0 +msgid "Rule must have at least one checked access right !" +msgstr "" + +#. module: base +#: field:res.partner.bank.type,format_layout:0 +msgid "Format Layout" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_document_ftp +msgid "" +"\n" +"This is a support FTP Interface with document management system.\n" +"================================================================\n" +"\n" +"With this module you would not only be able to access documents through " +"OpenERP\n" +"but you would also be able to connect with them through the file system " +"using the\n" +"FTP client.\n" +msgstr "" + +#. module: base +#: field:ir.model.fields,size:0 +msgid "Size" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_audittrail +msgid "Audit Trail" +msgstr "" + +#. module: base +#: code:addons/base/ir/ir_fields.py:264 +#, python-format +msgid "Value '%s' not found in selection field '%%(field)s'" +msgstr "" + +#. module: base +#: model:res.country,name:base.sd +msgid "Sudan" +msgstr "" + +#. module: base +#: model:ir.actions.act_window,name:base.action_currency_rate_type_form +#: model:ir.model,name:base.model_res_currency_rate_type +#: field:res.currency.rate,currency_rate_type_id:0 +#: view:res.currency.rate.type:0 +msgid "Currency Rate Type" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_l10n_fr +msgid "" +"\n" +"This is the module to manage the accounting chart for France in OpenERP.\n" +"========================================================================\n" +"\n" +"This module applies to companies based in France mainland. It doesn't apply " +"to\n" +"companies based in the DOM-TOMs (Guadeloupe, Martinique, Guyane, Réunion, " +"Mayotte).\n" +"\n" +"This localisation module creates the VAT taxes of type 'tax included' for " +"purchases\n" +"(it is notably required when you use the module 'hr_expense'). Beware that " +"these\n" +"'tax included' VAT taxes are not managed by the fiscal positions provided by " +"this\n" +"module (because it is complex to manage both 'tax excluded' and 'tax " +"included'\n" +"scenarios in fiscal positions).\n" +"\n" +"This localisation module doesn't properly handle the scenario when a France-" +"mainland\n" +"company sells services to a company based in the DOMs. We could manage it in " +"the\n" +"fiscal positions, but it would require to differentiate between 'product' " +"VAT taxes\n" +"and 'service' VAT taxes. We consider that it is too 'heavy' to have this by " +"default\n" +"in l10n_fr; companies that sell services to DOM-based companies should " +"update the\n" +"configuration of their taxes and fiscal positions manually.\n" +"\n" +"**Credits:** Sistheo, Zeekom, CrysaLEAD, Akretion and Camptocamp.\n" +msgstr "" + +#. module: base +#: model:res.country,name:base.fm +msgid "Micronesia" +msgstr "" + +#. module: base +#: field:ir.module.module,menus_by_module:0 +#: view:res.groups:0 +msgid "Menus" +msgstr "" + +#. module: base +#: selection:ir.actions.todo,type:0 +msgid "Launch Manually Once" +msgstr "" + +#. module: base +#: view:workflow:0 +#: view:workflow.activity:0 +#: field:workflow.activity,wkf_id:0 +#: field:workflow.instance,wkf_id:0 +#: field:workflow.transition,wkf_id:0 +#: field:workflow.workitem,wkf_id:0 +msgid "Workflow" +msgstr "" + +#. module: base +#: selection:base.language.install,lang:0 +msgid "Serbian (Latin) / srpski" +msgstr "" + +#. module: base +#: model:res.country,name:base.il +msgid "Israel" +msgstr "" + +#. module: base +#: code:addons/base/res/res_config.py:475 +#, python-format +msgid "Cannot duplicate configuration!" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_l10n_syscohada +msgid "OHADA - Accounting" +msgstr "" + +#. module: base +#: help:res.bank,bic:0 +msgid "Sometimes called BIC or Swift." +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_l10n_in +msgid "Indian - Accounting" +msgstr "" + +#. module: base +#: field:res.lang,time_format:0 +msgid "Time Format" +msgstr "" + +#. module: base +#: field:res.company,rml_header3:0 +msgid "RML Internal Header for Landscape Reports" +msgstr "" + +#. module: base +#: model:res.groups,name:base.group_partner_manager +msgid "Contact Creation" +msgstr "" + +#. module: base +#: view:ir.module.module:0 +msgid "Defined Reports" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_project_gtd +msgid "Todo Lists" +msgstr "" + +#. module: base +#: view:ir.actions.report.xml:0 +msgid "Report xml" +msgstr "" + +#. module: base +#: model:ir.actions.act_window,name:base.action_module_open_categ +#: field:ir.module.category,module_ids:0 +#: view:ir.module.module:0 +#: model:ir.ui.menu,name:base.menu_management +msgid "Modules" +msgstr "" + +#. module: base +#: view:workflow.activity:0 +#: selection:workflow.activity,kind:0 +#: field:workflow.activity,subflow_id:0 +#: field:workflow.workitem,subflow_id:0 +msgid "Subflow" +msgstr "" + +#. module: base +#: model:ir.actions.act_window,name:base.action_res_bank_form +#: model:ir.ui.menu,name:base.menu_action_res_bank_form +#: view:res.bank:0 +#: field:res.partner,bank_ids:0 +msgid "Banks" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_web +msgid "" +"\n" +"OpenERP Web core module.\n" +"========================\n" +"\n" +"This module provides the core of the OpenERP Web Client.\n" +" " +msgstr "" + +#. module: base +#: view:ir.sequence:0 +msgid "Week of the Year: %(woy)s" +msgstr "" + +#. module: base +#: field:res.users,id:0 +msgid "ID" +msgstr "" + +#. module: base +#: field:ir.cron,doall:0 +msgid "Repeat Missed" +msgstr "" + +#. module: base +#: code:addons/base/module/wizard/base_module_import.py:67 +#, python-format +msgid "Can not create the module file: %s !" +msgstr "" + +#. module: base +#: field:ir.server.object.lines,server_id:0 +msgid "Object Mapping" +msgstr "" + +#. module: base +#: field:ir.module.category,xml_id:0 +#: field:ir.ui.view,xml_id:0 +msgid "External ID" +msgstr "" + +#. module: base +#: help:res.currency.rate,rate:0 +msgid "The rate of the currency to the currency of rate 1" +msgstr "" + +#. module: base +#: model:res.country,name:base.uk +msgid "United Kingdom" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_l10n_pa +msgid "Panama Localization Chart Account" +msgstr "" + +#. module: base +#: help:res.partner.category,active:0 +msgid "The active field allows you to hide the category without removing it." +msgstr "" + +#. module: base +#: report:ir.module.reference:0 +msgid "Object:" +msgstr "" + +#. module: base +#: model:res.country,name:base.bw +msgid "Botswana" +msgstr "" + +#. module: base +#: view:res.partner.title:0 +msgid "Partner Titles" +msgstr "" + +#. module: base +#: code:addons/base/ir/ir_fields.py:196 +#: code:addons/base/ir/ir_fields.py:227 +#, python-format +msgid "Use the format '%s'" +msgstr "" + +#. module: base +#: help:ir.actions.act_window,auto_refresh:0 +msgid "Add an auto-refresh on the view" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_crm_profiling +msgid "Customer Profiling" +msgstr "" + +#. module: base +#: selection:ir.cron,interval_type:0 +msgid "Work Days" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_multi_company +msgid "Multi-Company" +msgstr "" + +#. module: base +#: model:ir.actions.act_window,name:base.action_workflow_workitem_form +#: model:ir.ui.menu,name:base.menu_workflow_workitem +msgid "Workitems" +msgstr "" + +#. module: base +#: code:addons/base/res/res_bank.py:195 +#, python-format +msgid "Invalid Bank Account Type Name format." +msgstr "" + +#. module: base +#: view:ir.filters:0 +msgid "Filters visible only for one user" +msgstr "" + +#. module: base +#: model:ir.model,name:base.model_ir_attachment +msgid "ir.attachment" +msgstr "" + +#. module: base +#: code:addons/orm.py:4348 +#, python-format +msgid "" +"You cannot perform this operation. New Record Creation is not allowed for " +"this object as this object is for reporting purpose." +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_base_import +msgid "" +"\n" +"New extensible file import for OpenERP\n" +"======================================\n" +"\n" +"Re-implement openerp's file import system:\n" +"\n" +"* Server side, the previous system forces most of the logic into the\n" +" client which duplicates the effort (between clients), makes the\n" +" import system much harder to use without a client (direct RPC or\n" +" other forms of automation) and makes knowledge about the\n" +" import/export system much harder to gather as it is spread over\n" +" 3+ different projects.\n" +"\n" +"* In a more extensible manner, so users and partners can build their\n" +" own front-end to import from other file formats (e.g. OpenDocument\n" +" files) which may be simpler to handle in their work flow or from\n" +" their data production sources.\n" +"\n" +"* In a module, so that administrators and users of OpenERP who do not\n" +" need or want an online import can avoid it being available to users.\n" +msgstr "" + +#. module: base +#: selection:res.currency,position:0 +msgid "After Amount" +msgstr "" + +#. module: base +#: selection:base.language.install,lang:0 +msgid "Lithuanian / Lietuvių kalba" +msgstr "" + +#. module: base +#: help:ir.actions.server,record_id:0 +msgid "" +"Provide the field name where the record id is stored after the create " +"operations. If it is empty, you can not track the new record." +msgstr "" + +#. module: base +#: model:res.groups,comment:base.group_hr_user +msgid "the user will be able to approve document created by employees." +msgstr "" + +#. module: base +#: field:ir.ui.menu,needaction_enabled:0 +msgid "Target model uses the need action mechanism" +msgstr "" + +#. module: base +#: help:ir.model.fields,relation:0 +msgid "For relationship fields, the technical name of the target model" +msgstr "" + +#. module: base +#: view:res.lang:0 +msgid "%S - Seconds [00,61]." +msgstr "" + +#. module: base +#: help:base.language.import,overwrite:0 +msgid "" +"If you enable this option, existing translations (including custom ones) " +"will be overwritten and replaced by those in this file" +msgstr "" + +#. module: base +#: field:ir.ui.view,inherit_id:0 +msgid "Inherited View" +msgstr "" + +#. module: base +#: view:ir.translation:0 +msgid "Source Term" +msgstr "" + +#. module: base +#: model:ir.module.category,name:base.module_category_project_management +#: model:ir.ui.menu,name:base.menu_main_pm +#: model:ir.ui.menu,name:base.menu_project_config +#: model:ir.ui.menu,name:base.menu_project_report +msgid "Project" +msgstr "" + +#. module: base +#: field:ir.ui.menu,web_icon_hover_data:0 +msgid "Web Icon Image (hover)" +msgstr "" + +#. module: base +#: view:base.module.import:0 +msgid "Module file successfully imported!" +msgstr "" + +#. module: base +#: model:ir.actions.act_window,name:base.action_model_constraint +#: view:ir.model.constraint:0 +#: model:ir.ui.menu,name:base.ir_model_constraint_menu +msgid "Model Constraints" +msgstr "" + +#. module: base +#: model:ir.actions.act_window,name:base.action_workflow_transition_form +#: model:ir.ui.menu,name:base.menu_workflow_transition +#: view:workflow.activity:0 +msgid "Transitions" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_hr_timesheet +#: model:ir.module.module,shortdesc:base.module_hr_timesheet_sheet +msgid "Timesheets" +msgstr "" + +#. module: base +#: help:ir.values,company_id:0 +msgid "If set, action binding only applies for this company" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_l10n_cn +msgid "" +"\n" +"添加中文省份数据\n" +"科目类型\\会计科目表模板\\增值税\\辅助核算类别\\管理会计凭证簿\\财务会计凭证簿\n" +"============================================================\n" +" " +msgstr "" + +#. module: base +#: model:res.country,name:base.lc +msgid "Saint Lucia" +msgstr "" + +#. module: base +#: help:res.users,new_password:0 +msgid "" +"Specify a value only when creating a user or if you're changing the user's " +"password, otherwise leave empty. After a change of password, the user has to " +"login again." +msgstr "" + +#. module: base +#: model:res.country,name:base.so +msgid "Somalia" +msgstr "" + +#. module: base +#: model:res.partner.title,shortcut:base.res_partner_title_doctor +msgid "Dr." +msgstr "" + +#. module: base +#: model:res.groups,name:base.group_user +#: field:res.partner,employee:0 +#: model:res.partner.category,name:base.res_partner_category_3 +msgid "Employee" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_project_issue +msgid "" +"\n" +"Track Issues/Bugs Management for Projects\n" +"=========================================\n" +"This application allows you to manage the issues you might face in a project " +"like bugs in a system, client complaints or material breakdowns. \n" +"\n" +"It allows the manager to quickly check the issues, assign them and decide on " +"their status quickly as they evolve.\n" +" " +msgstr "" + +#. module: base +#: field:ir.model.access,perm_create:0 +msgid "Create Access" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_hr_timesheet +msgid "" +"\n" +"This module implements a timesheet system.\n" +"==========================================\n" +"\n" +"Each employee can encode and track their time spent on the different " +"projects.\n" +"A project is an analytic account and the time spent on a project generates " +"costs on\n" +"the analytic account.\n" +"\n" +"Lots of reporting on time and employee tracking are provided.\n" +"\n" +"It is completely integrated with the cost accounting module. It allows you " +"to set\n" +"up a management by affair.\n" +" " +msgstr "" + +#. module: base +#: field:res.bank,state:0 +#: field:res.company,state_id:0 +#: field:res.partner.bank,state_id:0 +msgid "Fed. State" +msgstr "Departamento" + +#. module: base +#: field:ir.actions.server,copy_object:0 +msgid "Copy Of" +msgstr "" + +#. module: base +#: field:ir.model.data,display_name:0 +msgid "Record Name" +msgstr "" + +#. module: base +#: model:ir.model,name:base.model_ir_actions_client +#: selection:ir.ui.menu,action:0 +msgid "ir.actions.client" +msgstr "" + +#. module: base +#: model:res.country,name:base.io +msgid "British Indian Ocean Territory" +msgstr "" + +#. module: base +#: model:ir.actions.server,name:base.action_server_module_immediate_install +msgid "Module Immediate Install" +msgstr "" + +#. module: base +#: view:ir.actions.server:0 +msgid "Field Mapping" +msgstr "" + +#. module: base +#: field:ir.model.fields,ttype:0 +msgid "Field Type" +msgstr "" + +#. module: base +#: field:res.country.state,code:0 +msgid "State Code" +msgstr "Código Departamento" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_l10n_multilang +msgid "Multi Language Chart of Accounts" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_l10n_gt +msgid "" +"\n" +"This is the base module to manage the accounting chart for Guatemala.\n" +"=====================================================================\n" +"\n" +"Agrega una nomenclatura contable para Guatemala. También icluye impuestos y\n" +"la moneda del Quetzal. -- Adds accounting chart for Guatemala. It also " +"includes\n" +"taxes and the Quetzal currency." +msgstr "" + +#. module: base +#: selection:res.lang,direction:0 +msgid "Left-to-Right" +msgstr "" + +#. module: base +#: field:ir.model.fields,translate:0 +#: view:res.lang:0 +#: field:res.lang,translatable:0 +msgid "Translatable" +msgstr "" + +#. module: base +#: help:base.language.import,code:0 +msgid "ISO Language and Country code, e.g. en_US" +msgstr "" + +#. module: base +#: model:res.country,name:base.vn +msgid "Vietnam" +msgstr "" + +#. module: base +#: field:res.users,signature:0 +msgid "Signature" +msgstr "" + +#. module: base +#: field:res.partner.category,complete_name:0 +msgid "Full Name" +msgstr "" + +#. module: base +#: view:ir.attachment:0 +msgid "on" +msgstr "" + +#. module: base +#: view:ir.property:0 +msgid "Parameters that are used by all resources." +msgstr "" + +#. module: base +#: model:res.country,name:base.mz +msgid "Mozambique" +msgstr "" + +#. module: base +#: help:ir.values,action_id:0 +msgid "" +"Action bound to this entry - helper field for binding an action, will " +"automatically set the correct reference" +msgstr "" + +#. module: base +#: model:ir.ui.menu,name:base.menu_project_long_term +msgid "Long Term Planning" +msgstr "" + +#. module: base +#: field:ir.actions.server,message:0 +msgid "Message" +msgstr "" + +#. module: base +#: field:ir.actions.act_window.view,multi:0 +#: field:ir.actions.report.xml,multi:0 +msgid "On Multiple Doc." +msgstr "" + +#. module: base +#: view:base.language.export:0 +#: view:base.language.import:0 +#: view:base.language.install:0 +#: view:base.module.import:0 +#: view:base.module.update:0 +#: view:base.module.upgrade:0 +#: view:base.update.translations:0 +#: view:change.password.wizard:0 +#: view:ir.actions.configuration.wizard:0 +#: view:res.config:0 +#: view:res.config.installer:0 +#: view:res.users:0 +#: view:wizard.ir.model.menu.create:0 +msgid "or" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_account_accountant +msgid "Accounting and Finance" +msgstr "" + +#. module: base +#: view:ir.module.module:0 +msgid "Upgrade" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_base_action_rule +msgid "" +"\n" +"This module allows to implement action rules for any object.\n" +"============================================================\n" +"\n" +"Use automated actions to automatically trigger actions for various screens.\n" +"\n" +"**Example:** A lead created by a specific user may be automatically set to a " +"specific\n" +"sales team, or an opportunity which still has status pending after 14 days " +"might\n" +"trigger an automatic reminder email.\n" +" " +msgstr "" + +#. module: base +#: field:res.partner,function:0 +msgid "Job Position" +msgstr "" + +#. module: base +#: view:res.partner:0 +#: field:res.partner,child_ids:0 +msgid "Contacts" +msgstr "" + +#. module: base +#: model:res.country,name:base.fo +msgid "Faroe Islands" +msgstr "" + +#. module: base +#: field:ir.mail_server,smtp_encryption:0 +msgid "Connection Security" +msgstr "" + +#. module: base +#: code:addons/base/ir/ir_actions.py:606 +#, python-format +msgid "Please specify an action to launch !" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_l10n_ec +msgid "Ecuador - Accounting" +msgstr "" + +#. module: base +#: field:res.partner.category,name:0 +msgid "Category Name" +msgstr "" + +#. module: base +#: model:res.country,name:base.mp +msgid "Northern Mariana Islands" +msgstr "" + +#. module: base +#: field:change.password.user,user_login:0 +msgid "User Login" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_l10n_hn +msgid "Honduras - Accounting" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_report_intrastat +msgid "Intrastat Reporting" +msgstr "" + +#. module: base +#: code:addons/base/res/res_users.py:131 +#, python-format +msgid "" +"Please use the change password wizard (in User Preferences or User menu) to " +"change your own password." +msgstr "" + +#. module: base +#: model:ir.model,name:base.model_ir_config_parameter +msgid "ir.config_parameter" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_project_long_term +msgid "" +"\n" +"Long Term Project management module that tracks planning, scheduling, " +"resources allocation.\n" +"=============================================================================" +"==============\n" +"\n" +"Features:\n" +"---------\n" +" * Manage Big project\n" +" * Define various Phases of Project\n" +" * Compute Phase Scheduling: Compute start date and end date of the " +"phases\n" +" which are in draft, open and pending state of the project given. If " +"no\n" +" project given then all the draft, open and pending state phases will " +"be taken.\n" +" * Compute Task Scheduling: This works same as the scheduler button on\n" +" project.phase. It takes the project as argument and computes all the " +"open,\n" +" draft and pending tasks.\n" +" * Schedule Tasks: All the tasks which are in draft, pending and open " +"state\n" +" are scheduled with taking the phase's start date.\n" +" " +msgstr "" + +#. module: base +#: code:addons/orm.py:2021 +#, python-format +msgid "Insufficient fields for Calendar View!" +msgstr "" + +#. module: base +#: selection:ir.property,type:0 +msgid "Integer" +msgstr "" + +#. module: base +#: help:ir.actions.report.xml,report_rml:0 +msgid "" +"The path to the main report file (depending on Report Type) or NULL if the " +"content is in another data field" +msgstr "" + +#. module: base +#: model:res.partner.category,name:base.res_partner_category_14 +msgid "Manufacturer" +msgstr "" + +#. module: base +#: help:res.users,company_id:0 +msgid "The company this user is currently working for." +msgstr "" + +#. module: base +#: model:ir.model,name:base.model_wizard_ir_model_menu_create +msgid "wizard.ir.model.menu.create" +msgstr "" + +#. module: base +#: view:workflow.transition:0 +msgid "Transition" +msgstr "" + +#. module: base +#: field:ir.cron,active:0 +#: field:ir.mail_server,active:0 +#: field:ir.model.access,active:0 +#: field:ir.rule,active:0 +#: field:ir.sequence,active:0 +#: field:res.bank,active:0 +#: field:res.currency,active:0 +#: field:res.lang,active:0 +#: field:res.partner,active:0 +#: field:res.partner.category,active:0 +#: field:res.request,active:0 +#: field:res.users,active:0 +#: view:workflow.instance:0 +#: view:workflow.workitem:0 +msgid "Active" +msgstr "" + +#. module: base +#: model:res.country,name:base.na +msgid "Namibia" +msgstr "" + +#. module: base +#: field:res.partner.category,child_ids:0 +msgid "Child Categories" +msgstr "" + +#. module: base +#: code:addons/base/ir/ir_actions.py:606 +#: code:addons/base/ir/ir_actions.py:702 +#: code:addons/base/ir/ir_actions.py:705 +#: code:addons/base/ir/ir_model.py:165 +#: code:addons/base/ir/ir_model.py:276 +#: code:addons/base/ir/ir_model.py:290 +#: code:addons/base/ir/ir_model.py:320 +#: code:addons/base/ir/ir_model.py:339 +#: code:addons/base/ir/ir_model.py:344 +#: code:addons/base/ir/ir_model.py:347 +#: code:addons/base/ir/ir_translation.py:341 +#: code:addons/base/module/module.py:320 +#: code:addons/base/module/module.py:362 +#: code:addons/base/module/module.py:366 +#: code:addons/base/module/module.py:372 +#: code:addons/base/module/module.py:499 +#: code:addons/base/module/module.py:525 +#: code:addons/base/module/module.py:539 +#: code:addons/base/module/module.py:644 +#: code:addons/base/res/res_currency.py:194 +#: code:addons/base/res/res_users.py:98 +#: code:addons/custom.py:555 +#: code:addons/orm.py:787 +#: code:addons/orm.py:3961 +#, python-format +msgid "Error" +msgstr "" + +#. module: base +#: help:res.partner,tz:0 +msgid "" +"The partner's timezone, used to output proper date and time values inside " +"printed reports. It is important to set a value for this field. You should " +"use the same timezone that is otherwise used to pick and render date and " +"time values: your computer's timezone." +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_account_analytic_default +msgid "Account Analytic Defaults" +msgstr "" + +#. module: base +#: selection:ir.ui.view,type:0 +msgid "mdx" +msgstr "" + +#. module: base +#: view:ir.cron:0 +msgid "Scheduled Action" +msgstr "" + +#. module: base +#: model:res.country,name:base.bi +msgid "Burundi" +msgstr "" + +#. module: base +#: view:base.language.export:0 +#: view:base.language.install:0 +#: view:base.module.configuration:0 +#: view:base.module.update:0 +msgid "Close" +msgstr "" + +#. module: base +#: selection:base.language.install,lang:0 +msgid "Spanish (MX) / Español (MX)" +msgstr "" + +#. module: base +#: view:ir.actions.todo:0 +msgid "Wizards to be Launched" +msgstr "" + +#. module: base +#: model:res.country,name:base.bt +msgid "Bhutan" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_portal_event +msgid "" +"\n" +"This module adds event menu and features to your portal if event and portal " +"are installed.\n" +"=============================================================================" +"=============\n" +" " +msgstr "" + +#. module: base +#: help:ir.sequence,number_next:0 +msgid "Next number of this sequence" +msgstr "" + +#. module: base +#: view:res.partner:0 +msgid "at" +msgstr "" + +#. module: base +#: view:ir.rule:0 +msgid "Rule Definition (Domain Filter)" +msgstr "" + +#. module: base +#: selection:ir.actions.act_url,target:0 +msgid "This Window" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_portal_anonymous +msgid "Anonymous portal" +msgstr "" + +#. module: base +#: field:base.language.export,format:0 +msgid "File Format" +msgstr "" + +#. module: base +#: field:res.lang,iso_code:0 +msgid "ISO code" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_association +msgid "Associations Management" +msgstr "" + +#. module: base +#: help:ir.model,modules:0 +msgid "List of modules in which the object is defined or inherited" +msgstr "" + +#. module: base +#: model:ir.module.category,name:base.module_category_localization_payroll +#: model:ir.module.module,shortdesc:base.module_hr_payroll +msgid "Payroll" +msgstr "" + +#. module: base +#: model:ir.actions.act_window,help:base.action_country_state +msgid "" +"If you are working on the American market, you can manage the different " +"federal states you are working on from here. Each state is attached to one " +"country." +msgstr "" + +#. module: base +#: view:workflow.workitem:0 +msgid "Workflow Workitems" +msgstr "" + +#. module: base +#: model:res.country,name:base.vc +msgid "Saint Vincent & Grenadines" +msgstr "" + +#. module: base +#: field:ir.mail_server,smtp_pass:0 +#: field:res.users,password:0 +msgid "Password" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_portal_claim +msgid "Portal Claim" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_l10n_pe +msgid "Peru Localization Chart Account" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_auth_oauth +msgid "" +"\n" +"Allow users to login through OAuth2 Provider.\n" +"=============================================\n" +msgstr "" + +#. module: base +#: model:ir.actions.act_window,name:base.action_model_fields +#: view:ir.model:0 +#: field:ir.model,field_id:0 +#: model:ir.model,name:base.model_ir_model_fields +#: view:ir.model.fields:0 +#: model:ir.ui.menu,name:base.ir_model_model_fields +msgid "Fields" +msgstr "" + +#. module: base +#: model:ir.actions.act_window,name:base.action_partner_employee_form +msgid "Employees" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_web_shortcuts +msgid "" +"\n" +"Enable shortcuts feature in the web client.\n" +"===========================================\n" +"\n" +"Add a Shortcut icon in the systray in order to access the user's shortcuts " +"(if any).\n" +"\n" +"Add a Shortcut icon besides the views title in order to add/remove a " +"shortcut.\n" +" " +msgstr "" + +#. module: base +#: field:res.company,rml_header2:0 +msgid "RML Internal Header" +msgstr "" + +#. module: base +#: field:ir.actions.act_window,search_view_id:0 +msgid "Search View Ref." +msgstr "" + +#. module: base +#: help:res.users,partner_id:0 +msgid "Partner-related data of the user" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_crm_todo +msgid "" +"\n" +"Todo list for CRM leads and opportunities.\n" +"==========================================\n" +" " +msgstr "" + +#. module: base +#: view:ir.mail_server:0 +msgid "Test Connection" +msgstr "" + +#. module: base +#: model:res.country,name:base.mm +msgid "Myanmar" +msgstr "" + +#. module: base +#: help:ir.model.fields,modules:0 +msgid "List of modules in which the field is defined" +msgstr "" + +#. module: base +#: selection:base.language.install,lang:0 +msgid "Chinese (CN) / 简体中文" +msgstr "" + +#. module: base +#: field:ir.model.fields,selection:0 +msgid "Selection Options" +msgstr "" + +#. module: base +#: field:res.bank,street:0 +#: field:res.company,street:0 +#: field:res.partner,street:0 +#: view:res.partner.bank:0 +#: field:res.partner.bank,street:0 +msgid "Street" +msgstr "" + +#. module: base +#: model:res.country,name:base.yu +msgid "Yugoslavia" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_base_gengo +msgid "" +"\n" +"Automated Translations through Gengo API\n" +"========================================\n" +"\n" +"This module will install passive scheduler job for automated translations \n" +"using the Gengo API. To activate it, you must\n" +"1) Configure your Gengo authentication parameters under `Settings > " +"Companies > Gengo Parameters`\n" +"2) Launch the wizard under `Settings > Application Terms > Gengo: Manual " +"Request of Translation` and follow the wizard.\n" +"\n" +"This wizard will activate the CRON job and the Scheduler and will start the " +"automatic translation via Gengo Services for all the terms where you " +"requested it.\n" +" " +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_fetchmail +msgid "" +"\n" +"Retrieve incoming email on POP/IMAP servers.\n" +"============================================\n" +"\n" +"Enter the parameters of your POP/IMAP account(s), and any incoming emails " +"on\n" +"these accounts will be automatically downloaded into your OpenERP system. " +"All\n" +"POP3/IMAP-compatible servers are supported, included those that require an\n" +"encrypted SSL/TLS connection.\n" +"\n" +"This can be used to easily create email-based workflows for many email-" +"enabled OpenERP documents, such as:\n" +"-----------------------------------------------------------------------------" +"-----------------------------\n" +" * CRM Leads/Opportunities\n" +" * CRM Claims\n" +" * Project Issues\n" +" * Project Tasks\n" +" * Human Resource Recruitments (Applicants)\n" +"\n" +"Just install the relevant application, and you can assign any of these " +"document\n" +"types (Leads, Project Issues) to your incoming email accounts. New emails " +"will\n" +"automatically spawn new documents of the chosen type, so it's a snap to " +"create a\n" +"mailbox-to-OpenERP integration. Even better: these documents directly act as " +"mini\n" +"conversations synchronized by email. You can reply from within OpenERP, and " +"the\n" +"answers will automatically be collected when they come back, and attached to " +"the\n" +"same *conversation* document.\n" +"\n" +"For more specific needs, you may also assign custom-defined actions\n" +"(technically: Server Actions) to be triggered for each incoming mail.\n" +" " +msgstr "" + +#. module: base +#: field:res.currency,rounding:0 +msgid "Rounding Factor" +msgstr "" + +#. module: base +#: model:res.country,name:base.ca +msgid "Canada" +msgstr "" + +#. module: base +#: view:base.language.export:0 +msgid "Launchpad" +msgstr "" + +#. module: base +#: help:res.currency.rate,currency_rate_type_id:0 +msgid "" +"Allow you to define your own currency rate types, like 'Average' or 'Year to " +"Date'. Leave empty if you simply want to use the normal 'spot' rate type" +msgstr "" + +#. module: base +#: selection:ir.module.module.dependency,state:0 +msgid "Unknown" +msgstr "" + +#. module: base +#: model:ir.actions.act_window,name:base.action_res_users_my +msgid "Change My Preferences" +msgstr "" + +#. module: base +#: code:addons/base/ir/ir_actions.py:171 +#, python-format +msgid "Invalid model name in the action definition." +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_l10n_ro +msgid "" +"\n" +"This is the module to manage the accounting chart, VAT structure and " +"Registration Number for Romania in OpenERP.\n" +"=============================================================================" +"===================================\n" +"\n" +"Romanian accounting chart and localization.\n" +" " +msgstr "" + +#. module: base +#: model:res.country,name:base.cm +msgid "Cameroon" +msgstr "" + +#. module: base +#: model:res.country,name:base.bf +msgid "Burkina Faso" +msgstr "" + +#. module: base +#: selection:ir.model.fields,state:0 +msgid "Custom Field" +msgstr "" + +#. module: base +#: model:ir.module.module,summary:base.module_account_accountant +msgid "Financial and Analytic Accounting" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_portal_project +msgid "Portal Project" +msgstr "" + +#. module: base +#: model:res.country,name:base.cc +msgid "Cocos (Keeling) Islands" +msgstr "" + +#. module: base +#: selection:base.language.install,state:0 +#: selection:base.module.import,state:0 +#: selection:base.module.update,state:0 +msgid "init" +msgstr "" + +#. module: base +#: view:res.partner:0 +#: field:res.partner,user_id:0 +msgid "Salesperson" +msgstr "" + +#. module: base +#: view:res.lang:0 +msgid "11. %U or %W ==> 48 (49th week)" +msgstr "" + +#. module: base +#: model:ir.model,name:base.model_res_partner_bank_type_field +msgid "Bank type fields" +msgstr "" + +#. module: base +#: constraint:ir.rule:0 +msgid "Rules can not be applied on Transient models." +msgstr "" + +#. module: base +#: selection:base.language.install,lang:0 +msgid "Dutch / Nederlands" +msgstr "" + +#. module: base +#: selection:res.company,paper_format:0 +msgid "US Letter" +msgstr "" + +#. module: base +#: model:ir.actions.act_window,help:base.action_partner_customer_form +msgid "" +"\n" +" Click to add a contact in your address book.\n" +"
\n" +" OpenERP helps you easily track all activities related to\n" +" a customer: discussions, history of business opportunities,\n" +" documents, etc.\n" +"
\n" +" " +msgstr "" + +#. module: base +#: model:ir.actions.act_window,name:base.bank_account_update +msgid "Company Bank Accounts" +msgstr "" + +#. module: base +#: code:addons/base/res/res_users.py:473 +#, python-format +msgid "Setting empty passwords is not allowed for security reasons!" +msgstr "" + +#. module: base +#: help:ir.mail_server,smtp_pass:0 +msgid "Optional password for SMTP authentication" +msgstr "" + +#. module: base +#: code:addons/base/ir/ir_model.py:727 +#, python-format +msgid "Sorry, you are not allowed to modify this document." +msgstr "" + +#. module: base +#: code:addons/base/res/res_config.py:380 +#, python-format +msgid "" +"\n" +"\n" +"This addon is already installed on your system" +msgstr "" + +#. module: base +#: help:ir.cron,interval_number:0 +msgid "Repeat every x." +msgstr "" + +#. module: base +#: model:res.partner.bank.type,name:base.bank_normal +msgid "Normal Bank Account" +msgstr "" + +#. module: base +#: field:change.password.user,wizard_id:0 +#: view:ir.actions.wizard:0 +msgid "Wizard" +msgstr "" + +#. module: base +#: code:addons/base/ir/ir_fields.py:303 +#, python-format +msgid "database id" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_base_import +msgid "Base import" +msgstr "" + +#. module: base +#: report:ir.module.reference:0 +msgid "1cm 28cm 20cm 28cm" +msgstr "" + +#. module: base +#: field:ir.module.module,maintainer:0 +msgid "Maintainer" +msgstr "" + +#. module: base +#: field:ir.sequence,suffix:0 +msgid "Suffix" +msgstr "" + +#. module: base +#: model:res.country,name:base.mo +msgid "Macau" +msgstr "" + +#. module: base +#: model:ir.actions.report.xml,name:base.res_partner_address_report +msgid "Labels" +msgstr "" + +#. module: base +#: help:res.partner,use_parent_address:0 +msgid "" +"Select this if you want to set company's address information for this " +"contact" +msgstr "" + +#. module: base +#: field:ir.default,field_name:0 +msgid "Object Field" +msgstr "" + +#. module: base +#: selection:base.language.install,lang:0 +msgid "Spanish (PE) / Español (PE)" +msgstr "" + +#. module: base +#: selection:base.language.install,lang:0 +msgid "French (CH) / Français (CH)" +msgstr "" + +#. module: base +#: model:res.partner.category,name:base.res_partner_category_13 +msgid "Distributor" +msgstr "" + +#. module: base +#: help:ir.actions.server,subject:0 +msgid "" +"Email subject, may contain expressions enclosed in double brackets based on " +"the same values as those available in the condition field, e.g. `Hello [[ " +"object.partner_id.name ]]`" +msgstr "" + +#. module: base +#: help:res.partner,image:0 +msgid "" +"This field holds the image used as avatar for this contact, limited to " +"1024x1024px" +msgstr "" + +#. module: base +#: model:res.country,name:base.to +msgid "Tonga" +msgstr "" + +#. module: base +#: help:ir.model.fields,serialization_field_id:0 +msgid "" +"If set, this field will be stored in the sparse structure of the " +"serialization field, instead of having its own database column. This cannot " +"be changed after creation." +msgstr "" + +#. module: base +#: view:res.partner.bank:0 +msgid "Bank accounts belonging to one of your companies" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_account_analytic_plans +msgid "" +"\n" +"This module allows to use several analytic plans according to the general " +"journal.\n" +"=============================================================================" +"=====\n" +"\n" +"Here multiple analytic lines are created when the invoice or the entries\n" +"are confirmed.\n" +"\n" +"For example, you can define the following analytic structure:\n" +"-------------------------------------------------------------\n" +" * **Projects**\n" +" * Project 1\n" +" + SubProj 1.1\n" +" \n" +" + SubProj 1.2\n" +"\n" +" * Project 2\n" +" \n" +" * **Salesman**\n" +" * Eric\n" +" \n" +" * Fabien\n" +"\n" +"Here, we have two plans: Projects and Salesman. An invoice line must be able " +"to write analytic entries in the 2 plans: SubProj 1.1 and Fabien. The amount " +"can also be split.\n" +" \n" +"The following example is for an invoice that touches the two subprojects and " +"assigned to one salesman:\n" +"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" +"~~~~~~~~~~~~~~~~~~~~~~~~~\n" +"**Plan1:**\n" +"\n" +" * SubProject 1.1 : 50%\n" +" \n" +" * SubProject 1.2 : 50%\n" +" \n" +"**Plan2:**\n" +" Eric: 100%\n" +"\n" +"So when this line of invoice will be confirmed, it will generate 3 analytic " +"lines,for one account entry.\n" +"\n" +"The analytic plan validates the minimum and maximum percentage at the time " +"of creation of distribution models.\n" +" " +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_account_sequence +msgid "Entries Sequence Numbering" +msgstr "" + +#. module: base +#: view:base.language.export:0 +msgid "POEdit" +msgstr "" + +#. module: base +#: view:ir.values:0 +msgid "Client Actions" +msgstr "" + +#. module: base +#: field:res.partner.bank.type,field_ids:0 +msgid "Type Fields" +msgstr "" + +#. module: base +#: model:ir.module.module,summary:base.module_hr_recruitment +msgid "Jobs, Recruitment, Applications, Job Interviews" +msgstr "" + +#. module: base +#: code:addons/base/module/module.py:539 +#, python-format +msgid "" +"You try to upgrade a module that depends on the module: %s.\n" +"But this module is not available in your system." +msgstr "" + +#. module: base +#: field:workflow.transition,act_to:0 +msgid "Destination Activity" +msgstr "" + +#. module: base +#: help:res.currency,position:0 +msgid "" +"Determines where the currency symbol should be placed after or before the " +"amount." +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_pad_project +msgid "Pad on tasks" +msgstr "" + +#. module: base +#: model:ir.model,name:base.model_base_update_translations +msgid "base.update.translations" +msgstr "" + +#. module: base +#: view:ir.rule:0 +msgid "Full Access Right" +msgstr "" + +#. module: base +#: field:res.partner.category,parent_id:0 +msgid "Parent Category" +msgstr "" + +#. module: base +#: model:res.country,name:base.fi +msgid "Finland" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_web_shortcuts +msgid "Web Shortcuts" +msgstr "" + +#. module: base +#: view:res.partner:0 +#: selection:res.partner,type:0 +#: selection:res.partner.title,domain:0 +#: view:res.users:0 +msgid "Contact" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_l10n_at +msgid "Austria - Accounting" +msgstr "" + +#. module: base +#: model:ir.model,name:base.model_ir_ui_menu +msgid "ir.ui.menu" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_project +msgid "Project Management" +msgstr "" + +#. module: base +#: view:ir.module.module:0 +msgid "Cancel Uninstall" +msgstr "" + +#. module: base +#: view:res.bank:0 +msgid "Communication" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_analytic +msgid "Analytic Accounting" +msgstr "" + +#. module: base +#: model:ir.model,name:base.model_ir_model_constraint +msgid "ir.model.constraint" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_web_graph +msgid "Graph Views" +msgstr "" + +#. module: base +#: help:ir.model.relation,name:0 +msgid "PostgreSQL table name implementing a many2many relation." +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_base +msgid "" +"\n" +"The kernel of OpenERP, needed for all installation.\n" +"===================================================\n" +msgstr "" + +#. module: base +#: model:ir.model,name:base.model_ir_server_object_lines +msgid "ir.server.object.lines" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_l10n_be +msgid "Belgium - Accounting" +msgstr "" + +#. module: base +#: view:ir.model.access:0 +msgid "Access Control" +msgstr "" + +#. module: base +#: model:res.country,name:base.kw +msgid "Kuwait" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_account_followup +msgid "Payment Follow-up Management" +msgstr "" + +#. module: base +#: field:workflow.workitem,inst_id:0 +msgid "Instance" +msgstr "" + +#. module: base +#: help:ir.actions.report.xml,attachment:0 +msgid "" +"This is the filename of the attachment used to store the printing result. " +"Keep empty to not save the printed reports. You can use a python expression " +"with the object and time variables." +msgstr "" + +#. module: base +#: sql_constraint:ir.model.data:0 +msgid "" +"You cannot have multiple records with the same external ID in the same " +"module!" +msgstr "" + +#. module: base +#: selection:ir.property,type:0 +msgid "Many2One" +msgstr "" + +#. module: base +#: model:res.country,name:base.ng +msgid "Nigeria" +msgstr "" + +#. module: base +#: code:addons/base/ir/ir_model.py:339 +#, python-format +msgid "For selection fields, the Selection Options must be given!" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_base_iban +msgid "IBAN Bank Accounts" +msgstr "" + +#. module: base +#: field:res.company,user_ids:0 +msgid "Accepted Users" +msgstr "" + +#. module: base +#: field:ir.ui.menu,web_icon_data:0 +msgid "Web Icon Image" +msgstr "" + +#. module: base +#: field:ir.actions.server,wkf_model_id:0 +msgid "Target Object" +msgstr "" + +#. module: base +#: selection:ir.model.fields,select_level:0 +msgid "Always Searchable" +msgstr "" + +#. module: base +#: help:res.country.state,code:0 +msgid "The state code in max. three chars." +msgstr "El código de departamento en tres caracteres como máximo." + +#. module: base +#: model:res.country,name:base.hk +msgid "Hong Kong" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_portal_sale +msgid "Portal Sale" +msgstr "" + +#. module: base +#: field:ir.default,ref_id:0 +msgid "ID Ref." +msgstr "" + +#. module: base +#: model:res.country,name:base.ph +msgid "Philippines" +msgstr "" + +#. module: base +#: model:ir.module.module,summary:base.module_hr_timesheet_sheet +msgid "Timesheets, Attendances, Activities" +msgstr "" + +#. module: base +#: model:res.country,name:base.ma +msgid "Morocco" +msgstr "" + +#. module: base +#: help:ir.values,model_id:0 +msgid "" +"Model to which this entry applies - helper field for setting a model, will " +"automatically set the correct model name" +msgstr "" + +#. module: base +#: view:res.lang:0 +msgid "2. %a ,%A ==> Fri, Friday" +msgstr "" + +#. module: base +#: code:addons/base/ir/ir_translation.py:341 +#, python-format +msgid "" +"Translation features are unavailable until you install an extra OpenERP " +"translation." +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_l10n_nl +msgid "" +"\n" +"This is the module to manage the accounting chart for Netherlands in " +"OpenERP.\n" +"=============================================================================" +"\n" +"\n" +"Read changelog in file __openerp__.py for version information.\n" +"Dit is een basismodule om een uitgebreid grootboek- en BTW schema voor\n" +"Nederlandse bedrijven te installeren in OpenERP versie 7.0.\n" +"\n" +"De BTW rekeningen zijn waar nodig gekoppeld om de juiste rapportage te " +"genereren,\n" +"denk b.v. aan intracommunautaire verwervingen waarbij u 21% BTW moet " +"opvoeren,\n" +"maar tegelijkertijd ook 21% als voorheffing weer mag aftrekken.\n" +"\n" +"Na installatie van deze module word de configuratie wizard voor 'Accounting' " +"aangeroepen.\n" +" * U krijgt een lijst met grootboektemplates aangeboden waarin zich ook " +"het\n" +" Nederlandse grootboekschema bevind.\n" +"\n" +" * Als de configuratie wizard start, wordt u gevraagd om de naam van uw " +"bedrijf\n" +" in te voeren, welke grootboekschema te installeren, uit hoeveel " +"cijfers een\n" +" grootboekrekening mag bestaan, het rekeningnummer van uw bank en de " +"currency\n" +" om Journalen te creeren.\n" +"\n" +"Let op!! -> De template van het Nederlandse rekeningschema is opgebouwd uit " +"4\n" +"cijfers. Dit is het minimale aantal welk u moet invullen, u mag het aantal " +"verhogen.\n" +"De extra cijfers worden dan achter het rekeningnummer aangevult met " +"'nullen'.\n" +"\n" +" " +msgstr "" + +#. module: base +#: help:ir.rule,global:0 +msgid "If no group is specified the rule is global and applied to everyone" +msgstr "" + +#. module: base +#: model:res.country,name:base.td +msgid "Chad" +msgstr "" + +#. module: base +#: help:ir.cron,priority:0 +msgid "" +"The priority of the job, as an integer: 0 means higher priority, 10 means " +"lower priority." +msgstr "" + +#. module: base +#: model:ir.model,name:base.model_workflow_transition +msgid "workflow.transition" +msgstr "" + +#. module: base +#: view:res.lang:0 +msgid "%a - Abbreviated weekday name." +msgstr "" + +#. module: base +#: view:ir.ui.menu:0 +msgid "Submenus" +msgstr "" + +#. module: base +#: report:ir.module.reference:0 +msgid "Introspection report on objects" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_web_analytics +msgid "Google Analytics" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_note +msgid "" +"\n" +"This module allows users to create their own notes inside OpenERP\n" +"=================================================================\n" +"\n" +"Use notes to write meeting minutes, organize ideas, organize personnal todo\n" +"lists, etc. Each user manages his own personnal Notes. Notes are available " +"to\n" +"their authors only, but they can share notes to others users so that " +"several\n" +"people can work on the same note in real time. It's very efficient to share\n" +"meeting minutes.\n" +"\n" +"Notes can be found in the 'Home' menu.\n" +msgstr "" + +#. module: base +#: model:res.country,name:base.dm +msgid "Dominica" +msgstr "" + +#. module: base +#: field:ir.translation,name:0 +msgid "Translated field" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_stock_location +msgid "Advanced Routes" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_pad +msgid "Collaborative Pads" +msgstr "" + +#. module: base +#: model:res.country,name:base.np +msgid "Nepal" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_document_page +msgid "Document Page" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_l10n_ar +msgid "Argentina Localization Chart Account" +msgstr "" + +#. module: base +#: field:ir.module.module,description_html:0 +msgid "Description HTML" +msgstr "" + +#. module: base +#: help:res.groups,implied_ids:0 +msgid "Users of this group automatically inherit those groups" +msgstr "" + +#. module: base +#: model:ir.module.module,summary:base.module_note +msgid "Sticky notes, Collaborative, Memos" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_hr_attendance +#: model:res.groups,name:base.group_hr_attendance +msgid "Attendances" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_warning +msgid "Warning Messages and Alerts" +msgstr "" + +#. module: base +#: model:ir.actions.act_window,name:base.action_ui_view_custom +#: model:ir.ui.menu,name:base.menu_action_ui_view_custom +#: view:ir.ui.view.custom:0 +msgid "Customized Views" +msgstr "" + +#. module: base +#: view:base.module.import:0 +#: model:ir.actions.act_window,name:base.action_view_base_module_import +msgid "Module Import" +msgstr "" + +#. module: base +#: model:ir.actions.act_window,name:base.act_values_form_action +#: model:ir.ui.menu,name:base.menu_values_form_action +#: view:ir.values:0 +msgid "Action Bindings" +msgstr "" + +#. module: base +#: help:res.partner,lang:0 +msgid "" +"If the selected language is loaded in the system, all documents related to " +"this contact will be printed in this language. If not, it will be English." +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_hr_evaluation +msgid "" +"\n" +"Periodical Employees evaluation and appraisals\n" +"==============================================\n" +"\n" +"By using this application you can maintain the motivational process by doing " +"periodical evaluations of your employees' performance. The regular " +"assessment of human resources can benefit your people as well your " +"organization. \n" +"\n" +"An evaluation plan can be assigned to each employee. These plans define the " +"frequency and the way you manage your periodic personal evaluations. You " +"will be able to define steps and attach interview forms to each step. \n" +"\n" +"Manages several types of evaluations: bottom-up, top-down, self-evaluations " +"and the final evaluation by the manager.\n" +"\n" +"Key Features\n" +"------------\n" +"* Ability to create employees evaluations.\n" +"* An evaluation can be created by an employee for subordinates, juniors as " +"well as his manager.\n" +"* The evaluation is done according to a plan in which various surveys can be " +"created. Each survey can be answered by a particular level in the employees " +"hierarchy. The final review and evaluation is done by the manager.\n" +"* Every evaluation filled by employees can be viewed in a PDF form.\n" +"* Interview Requests are generated automatically by OpenERP according to " +"employees evaluation plans. Each user receives automatic emails and requests " +"to perform a periodical evaluation of their colleagues.\n" +msgstr "" + +#. module: base +#: model:ir.ui.menu,name:base.menu_view_base_module_update +msgid "Update Modules List" +msgstr "" + +#. module: base +#: code:addons/base/module/module.py:359 +#, python-format +msgid "" +"Unable to upgrade module \"%s\" because an external dependency is not met: %s" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_account +msgid "eInvoicing" +msgstr "" + +#. module: base +#: code:addons/base/res/res_users.py:171 +#, python-format +msgid "" +"Please keep in mind that documents currently displayed may not be relevant " +"after switching to another company. If you have unsaved changes, please make " +"sure to save and close all forms before switching to a different company. " +"(You can click on Cancel in the User Preferences now)" +msgstr "" + +#. module: base +#: code:addons/orm.py:2818 +#, python-format +msgid "The value \"%s\" for the field \"%s.%s\" is not in the selection" +msgstr "" + +#. module: base +#: view:ir.actions.configuration.wizard:0 +msgid "Continue" +msgstr "" + +#. module: base +#: selection:base.language.install,lang:0 +msgid "Thai / ภาษาไทย" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_l10n_bo +msgid "" +"\n" +"Bolivian accounting chart and tax localization.\n" +"\n" +"Plan contable boliviano e impuestos de acuerdo a disposiciones vigentes\n" +"\n" +" " +msgstr "" + +#. module: base +#: view:res.lang:0 +msgid "%j - Day of the year [001,366]." +msgstr "" + +#. module: base +#: selection:base.language.install,lang:0 +msgid "Slovenian / slovenščina" +msgstr "" + +#. module: base +#: field:res.currency,position:0 +msgid "Symbol Position" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_l10n_de +msgid "" +"\n" +"Dieses Modul beinhaltet einen deutschen Kontenrahmen basierend auf dem " +"SKR03.\n" +"=============================================================================" +"=\n" +"\n" +"German accounting chart and localization.\n" +" " +msgstr "" + +#. module: base +#: field:ir.actions.report.xml,attachment_use:0 +msgid "Reload from Attachment" +msgstr "" + +#. module: base +#: model:res.country,name:base.mx +msgid "Mexico" +msgstr "" + +#. module: base +#: code:addons/orm.py:3903 +#, python-format +msgid "" +"For this kind of document, you may only access records you created " +"yourself.\n" +"\n" +"(Document type: %s)" +msgstr "" + +#. module: base +#: view:base.language.export:0 +msgid "documentation" +msgstr "" + +#. module: base +#: help:ir.model,osv_memory:0 +msgid "" +"This field specifies whether the model is transient or not (i.e. if records " +"are automatically deleted from the database or not)" +msgstr "" + +#. module: base +#: code:addons/base/ir/ir_mail_server.py:445 +#, python-format +msgid "Missing SMTP Server" +msgstr "" + +#. module: base +#: sql_constraint:ir.translation:0 +msgid "Language code of translation item must be among known languages" +msgstr "" + +#. module: base +#: field:base.language.export,data:0 +#: field:base.language.import,data:0 +msgid "File" +msgstr "" + +#. module: base +#: model:ir.actions.act_window,name:base.action_view_base_module_upgrade_install +msgid "Module Upgrade Install" +msgstr "" + +#. module: base +#: model:ir.model,name:base.model_ir_actions_configuration_wizard +msgid "ir.actions.configuration.wizard" +msgstr "" + +#. module: base +#: view:res.lang:0 +msgid "%b - Abbreviated month name." +msgstr "" + +#. module: base +#: code:addons/base/ir/ir_model.py:729 +#, python-format +msgid "Sorry, you are not allowed to delete this document." +msgstr "" + +#. module: base +#: constraint:ir.rule:0 +msgid "Rules can not be applied on the Record Rules model." +msgstr "" + +#. module: base +#: field:res.partner,supplier:0 +#: model:res.partner.category,name:base.res_partner_category_1 +msgid "Supplier" +msgstr "" + +#. module: base +#: view:ir.actions.server:0 +#: selection:ir.actions.server,state:0 +msgid "Multi Actions" +msgstr "" + +#. module: base +#: model:ir.module.module,summary:base.module_mail +msgid "Discussions, Mailing Lists, News" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_fleet +msgid "" +"\n" +"Vehicle, leasing, insurances, cost\n" +"==================================\n" +"With this module, OpenERP helps you managing all your vehicles, the\n" +"contracts associated to those vehicle as well as services, fuel log\n" +"entries, costs and many other features necessary to the management \n" +"of your fleet of vehicle(s)\n" +"\n" +"Main Features\n" +"-------------\n" +"* Add vehicles to your fleet\n" +"* Manage contracts for vehicles\n" +"* Reminder when a contract reach its expiration date\n" +"* Add services, fuel log entry, odometer values for all vehicles\n" +"* Show all costs associated to a vehicle or to a type of service\n" +"* Analysis graph for costs\n" +msgstr "" + +#. module: base +#: field:multi_company.default,company_dest_id:0 +msgid "Default Company" +msgstr "" + +#. module: base +#: selection:base.language.install,lang:0 +msgid "Spanish (EC) / Español (EC)" +msgstr "" + +#. module: base +#: help:ir.ui.view,xml_id:0 +msgid "ID of the view defined in xml file" +msgstr "" + +#. module: base +#: model:ir.model,name:base.model_base_module_import +msgid "Import Module" +msgstr "" + +#. module: base +#: model:res.country,name:base.as +msgid "American Samoa" +msgstr "" + +#. module: base +#: view:ir.attachment:0 +msgid "My Document(s)" +msgstr "" + +#. module: base +#: help:ir.actions.act_window,res_model:0 +msgid "Model name of the object to open in the view window" +msgstr "" + +#. module: base +#: field:ir.model.fields,selectable:0 +msgid "Selectable" +msgstr "" + +#. module: base +#: code:addons/base/ir/ir_mail_server.py:222 +#, python-format +msgid "Everything seems properly set up!" +msgstr "" + +#. module: base +#: view:res.request.link:0 +msgid "Request Link" +msgstr "" + +#. module: base +#: view:ir.attachment:0 +#: selection:ir.attachment,type:0 +#: field:ir.module.module,url:0 +msgid "URL" +msgstr "" + +#. module: base +#: help:res.country,name:0 +msgid "The full name of the country." +msgstr "" + +#. module: base +#: selection:ir.actions.server,state:0 +msgid "Iteration" +msgstr "" + +#. module: base +#: code:addons/orm.py:4246 +#: code:addons/orm.py:4347 +#, python-format +msgid "UserError" +msgstr "" + +#. module: base +#: model:ir.module.module,summary:base.module_project_issue +msgid "Support, Bug Tracker, Helpdesk" +msgstr "" + +#. module: base +#: model:res.country,name:base.ae +msgid "United Arab Emirates" +msgstr "" + +#. module: base +#: help:ir.ui.menu,needaction_enabled:0 +msgid "" +"If the menu entry action is an act_window action, and if this action is " +"related to a model that uses the need_action mechanism, this field is set to " +"true. Otherwise, it is false." +msgstr "" + +#. module: base +#: code:addons/orm.py:3961 +#, python-format +msgid "" +"Unable to delete this document because it is used as a default property" +msgstr "" + +#. module: base +#: model:res.partner.category,name:base.res_partner_category_5 +msgid "Silver" +msgstr "" + +#. module: base +#: field:res.partner.title,shortcut:0 +msgid "Abbreviation" +msgstr "" + +#. module: base +#: model:ir.ui.menu,name:base.menu_crm_case_job_req_main +msgid "Recruitment" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_l10n_gr +msgid "" +"\n" +"This is the base module to manage the accounting chart for Greece.\n" +"==================================================================\n" +"\n" +"Greek accounting chart and localization.\n" +" " +msgstr "" + +#. module: base +#: view:ir.values:0 +msgid "Action Reference" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_auth_ldap +msgid "" +"\n" +"Adds support for authentication by LDAP server.\n" +"===============================================\n" +"This module allows users to login with their LDAP username and password, " +"and\n" +"will automatically create OpenERP users for them on the fly.\n" +"\n" +"**Note:** This module only work on servers who have Python's ``ldap`` module " +"installed.\n" +"\n" +"Configuration:\n" +"--------------\n" +"After installing this module, you need to configure the LDAP parameters in " +"the\n" +"Configuration tab of the Company details. Different companies may have " +"different\n" +"LDAP servers, as long as they have unique usernames (usernames need to be " +"unique\n" +"in OpenERP, even across multiple companies).\n" +"\n" +"Anonymous LDAP binding is also supported (for LDAP servers that allow it), " +"by\n" +"simply keeping the LDAP user and password empty in the LDAP configuration.\n" +"This does not allow anonymous authentication for users, it is only for the " +"master\n" +"LDAP account that is used to verify if a user exists before attempting to\n" +"authenticate it.\n" +"\n" +"Securing the connection with STARTTLS is available for LDAP servers " +"supporting\n" +"it, by enabling the TLS option in the LDAP configuration.\n" +"\n" +"For further options configuring the LDAP settings, refer to the ldap.conf\n" +"manpage: manpage:`ldap.conf(5)`.\n" +"\n" +"Security Considerations:\n" +"------------------------\n" +"Users' LDAP passwords are never stored in the OpenERP database, the LDAP " +"server\n" +"is queried whenever a user needs to be authenticated. No duplication of the\n" +"password occurs, and passwords are managed in one place only.\n" +"\n" +"OpenERP does not manage password changes in the LDAP, so any change of " +"password\n" +"should be conducted by other means in the LDAP directory directly (for LDAP " +"users).\n" +"\n" +"It is also possible to have local OpenERP users in the database along with\n" +"LDAP-authenticated users (the Administrator account is one obvious " +"example).\n" +"\n" +"Here is how it works:\n" +"---------------------\n" +" * The system first attempts to authenticate users against the local " +"OpenERP\n" +" database;\n" +" * if this authentication fails (for example because the user has no " +"local\n" +" password), the system then attempts to authenticate against LDAP;\n" +"\n" +"As LDAP users have blank passwords by default in the local OpenERP database\n" +"(which means no access), the first step always fails and the LDAP server is\n" +"queried to do the authentication.\n" +"\n" +"Enabling STARTTLS ensures that the authentication query to the LDAP server " +"is\n" +"encrypted.\n" +"\n" +"User Template:\n" +"--------------\n" +"In the LDAP configuration on the Company form, it is possible to select a " +"*User\n" +"Template*. If set, this user will be used as template to create the local " +"users\n" +"whenever someone authenticates for the first time via LDAP authentication. " +"This\n" +"allows pre-setting the default groups and menus of the first-time users.\n" +"\n" +"**Warning:** if you set a password for the user template, this password will " +"be\n" +" assigned as local password for each new LDAP user, effectively " +"setting\n" +" a *master password* for these users (until manually changed). You\n" +" usually do not want this. One easy way to setup a template user is " +"to\n" +" login once with a valid LDAP user, let OpenERP create a blank " +"local\n" +" user with the same login (and a blank password), then rename this " +"new\n" +" user to a username that does not exist in LDAP, and setup its " +"groups\n" +" the way you want.\n" +"\n" +"Interaction with base_crypt:\n" +"----------------------------\n" +"The base_crypt module is not compatible with this module, and will disable " +"LDAP\n" +"authentication if installed at the same time.\n" +" " +msgstr "" + +#. module: base +#: model:res.country,name:base.re +msgid "Reunion (French)" +msgstr "" + +#. module: base +#: code:addons/base/ir/ir_model.py:422 +#, python-format +msgid "" +"New column name must still start with x_ , because it is a custom field!" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_mrp_repair +msgid "Repairs Management" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_account_asset +msgid "Assets Management" +msgstr "" + +#. module: base +#: view:ir.model.access:0 +#: view:ir.rule:0 +#: field:ir.rule,global:0 +msgid "Global" +msgstr "" + +#. module: base +#: model:res.country,name:base.cz +msgid "Czech Republic" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_claim_from_delivery +msgid "Claim on Deliveries" +msgstr "" + +#. module: base +#: model:res.country,name:base.sb +msgid "Solomon Islands" +msgstr "" + +#. module: base +#: code:addons/orm.py:4152 +#: code:addons/orm.py:4685 +#, python-format +msgid "AccessError" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_web_gantt +msgid "" +"\n" +"OpenERP Web Gantt chart view.\n" +"=============================\n" +"\n" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_base_status +msgid "State/Stage Management" +msgstr "" + +#. module: base +#: model:ir.module.category,name:base.module_category_warehouse_management +msgid "Warehouse" +msgstr "" + +#. module: base +#: field:ir.exports,resource:0 +#: model:ir.module.module,shortdesc:base.module_resource +#: field:ir.property,res_id:0 +msgid "Resource" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_process +msgid "" +"\n" +"This module shows the basic processes involved in the selected modules and " +"in the sequence they occur.\n" +"=============================================================================" +"=========================\n" +"\n" +"**Note:** This applies to the modules containing modulename_process.xml.\n" +"\n" +"**e.g.** product/process/product_process.xml.\n" +"\n" +" " +msgstr "" + +#. module: base +#: view:res.lang:0 +msgid "8. %I:%M:%S %p ==> 06:25:20 PM" +msgstr "" + +#. module: base +#: view:ir.filters:0 +msgid "Filters shared with all users" +msgstr "" + +#. module: base +#: view:ir.translation:0 +#: model:ir.ui.menu,name:base.menu_translation +msgid "Translations" +msgstr "" + +#. module: base +#: view:ir.actions.report.xml:0 +msgid "Report" +msgstr "" + +#. module: base +#: model:res.partner.title,shortcut:base.res_partner_title_prof +msgid "Prof." +msgstr "" + +#. module: base +#: code:addons/base/ir/ir_mail_server.py:241 +#, python-format +msgid "" +"Your OpenERP Server does not support SMTP-over-SSL. You could use STARTTLS " +"instead.If SSL is needed, an upgrade to Python 2.6 on the server-side should " +"do the trick." +msgstr "" + +#. module: base +#: model:res.country,name:base.ua +msgid "Ukraine" +msgstr "" + +#. module: base +#: code:addons/base/res/res_company.py:164 +#: field:ir.module.module,website:0 +#: field:res.company,website:0 +#: field:res.partner,website:0 +#, python-format +msgid "Website" +msgstr "" + +#. module: base +#: selection:ir.mail_server,smtp_encryption:0 +msgid "None" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_hr_holidays +msgid "Leave Management" +msgstr "" + +#. module: base +#: model:res.company,overdue_msg:base.main_company +msgid "" +"Dear Sir/Madam,\n" +"\n" +"Our records indicate that some payments on your account are still due. " +"Please find details below.\n" +"If the amount has already been paid, please disregard this notice. " +"Otherwise, please forward us the total amount stated below.\n" +"If you have any queries regarding your account, Please contact us.\n" +"\n" +"Thank you in advance for your cooperation.\n" +"Best Regards," +msgstr "" + +#. module: base +#: view:ir.module.category:0 +msgid "Module Category" +msgstr "" + +#. module: base +#: model:res.country,name:base.us +msgid "United States" +msgstr "" + +#. module: base +#: view:ir.ui.view:0 +msgid "Architecture" +msgstr "" + +#. module: base +#: model:res.country,name:base.ml +msgid "Mali" +msgstr "" + +#. module: base +#: model:ir.ui.menu,name:base.menu_project_config_project +msgid "Stages" +msgstr "" + +#. module: base +#: selection:base.language.install,lang:0 +msgid "Flemish (BE) / Vlaams (BE)" +msgstr "" + +#. module: base +#: selection:base.language.install,lang:0 +msgid "Vietnamese / Tiếng Việt" +msgstr "" + +#. module: base +#: field:ir.cron,interval_number:0 +msgid "Interval Number" +msgstr "" + +#. module: base +#: model:res.country,name:base.dz +msgid "Algeria" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_portal_hr_employees +msgid "" +"\n" +"This module adds a list of employees to your portal's contact page if hr and " +"portal_crm (which creates the contact page) are installed.\n" +"=============================================================================" +"==========================================================\n" +" " +msgstr "" + +#. module: base +#: model:res.country,name:base.bn +msgid "Brunei Darussalam" +msgstr "" + +#. module: base +#: view:ir.actions.act_window:0 +#: field:ir.actions.act_window,view_type:0 +#: field:ir.actions.act_window.view,view_mode:0 +#: field:ir.ui.view,type:0 +msgid "View Type" +msgstr "" + +#. module: base +#: model:ir.ui.menu,name:base.next_id_2 +msgid "User Interface" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_mrp_byproduct +msgid "MRP Byproducts" +msgstr "" + +#. module: base +#: field:res.request,ref_partner_id:0 +msgid "Partner Ref." +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_hr_expense +msgid "Expense Management" +msgstr "" + +#. module: base +#: field:ir.attachment,create_date:0 +msgid "Date Created" +msgstr "" + +#. module: base +#: help:ir.actions.server,trigger_name:0 +msgid "The workflow signal to trigger" +msgstr "" + +#. module: base +#: selection:base.language.install,state:0 +#: selection:base.module.import,state:0 +#: selection:base.module.update,state:0 +msgid "done" +msgstr "" + +#. module: base +#: view:ir.actions.act_window:0 +msgid "General Settings" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_l10n_in +msgid "" +"\n" +"Indian Accounting: Chart of Account.\n" +"====================================\n" +"\n" +"Indian accounting chart and localization.\n" +" " +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_l10n_uy +msgid "Uruguay - Chart of Accounts" +msgstr "" + +#. module: base +#: model:ir.ui.menu,name:base.menu_administration_shortcut +msgid "Custom Shortcuts" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_l10n_si +msgid "Slovenian - Accounting" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_account_cancel +msgid "" +"\n" +"Allows canceling accounting entries.\n" +"====================================\n" +"\n" +"This module adds 'Allow Canceling Entries' field on form view of account " +"journal.\n" +"If set to true it allows user to cancel entries & invoices.\n" +" " +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_plugin +msgid "CRM Plugins" +msgstr "" + +#. module: base +#: model:ir.actions.act_window,name:base.action_model_model +#: model:ir.model,name:base.model_ir_model +#: model:ir.ui.menu,name:base.ir_model_model_menu +msgid "Models" +msgstr "" + +#. module: base +#: code:addons/base/module/module.py:499 +#, python-format +msgid "The `base` module cannot be uninstalled" +msgstr "" + +#. module: base +#: code:addons/base/ir/ir_cron.py:262 +#, python-format +msgid "Record cannot be modified right now" +msgstr "" + +#. module: base +#: selection:ir.actions.todo,type:0 +msgid "Launch Manually" +msgstr "" + +#. module: base +#: model:res.country,name:base.be +msgid "Belgium" +msgstr "" + +#. module: base +#: model:ir.model,name:base.model_osv_memory_autovacuum +msgid "osv_memory.autovacuum" +msgstr "" + +#. module: base +#: code:addons/base/ir/ir_model.py:728 +#, python-format +msgid "Sorry, you are not allowed to create this kind of document." +msgstr "" + +#. module: base +#: field:base.language.export,lang:0 +#: field:base.language.install,lang:0 +#: field:base.update.translations,lang:0 +#: field:ir.translation,lang:0 +#: view:res.lang:0 +#: field:res.partner,lang:0 +msgid "Language" +msgstr "" + +#. module: base +#: model:res.country,name:base.gm +msgid "Gambia" +msgstr "" + +#. module: base +#: model:ir.actions.act_window,name:base.action_res_company_form +#: model:ir.actions.act_window,name:base.company_normal_action_tree +#: model:ir.model,name:base.model_res_company +#: model:ir.ui.menu,name:base.menu_action_res_company_form +#: model:ir.ui.menu,name:base.menu_res_company_global +#: view:res.company:0 +#: view:res.partner:0 +#: field:res.users,company_ids:0 +msgid "Companies" +msgstr "" + +#. module: base +#: help:res.currency,symbol:0 +msgid "Currency sign, to be used when printing amounts." +msgstr "" + +#. module: base +#: view:res.lang:0 +msgid "%H - Hour (24-hour clock) [00,23]." +msgstr "" + +#. module: base +#: field:ir.model.fields,on_delete:0 +msgid "On Delete" +msgstr "" + +#. module: base +#: code:addons/base/ir/ir_model.py:347 +#, python-format +msgid "Model %s does not exist!" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_mrp_jit +msgid "Just In Time Scheduling" +msgstr "" + +#. module: base +#: view:ir.actions.server:0 +#: field:ir.actions.server,code:0 +#: selection:ir.actions.server,state:0 +msgid "Python Code" +msgstr "" + +#. module: base +#: help:ir.actions.server,state:0 +msgid "Type of the Action that is to be executed" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_portal_crm +msgid "" +"\n" +"This module adds a contact page (with a contact form creating a lead when " +"submitted) to your portal if crm and portal are installed.\n" +"=============================================================================" +"=======================================================\n" +" " +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_l10n_us +msgid "United States - Chart of accounts" +msgstr "" + +#. module: base +#: view:base.language.export:0 +#: view:base.language.import:0 +#: view:base.language.install:0 +#: view:base.module.import:0 +#: view:base.module.update:0 +#: view:base.module.upgrade:0 +#: view:base.update.translations:0 +#: view:change.password.wizard:0 +#: view:ir.actions.configuration.wizard:0 +#: view:res.config:0 +#: view:res.users:0 +#: view:wizard.ir.model.menu.create:0 +msgid "Cancel" +msgstr "" + +#. module: base +#: code:addons/orm.py:1507 +#, python-format +msgid "Unknown database identifier '%s'" +msgstr "" + +#. module: base +#: selection:base.language.export,format:0 +msgid "PO File" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_web_diagram +msgid "" +"\n" +"Openerp Web Diagram view.\n" +"=========================\n" +"\n" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_l10n_ch +msgid "" +"\n" +"Swiss localization :\n" +"====================\n" +"**Multilang swiss STERCHI account chart and taxes**\n" +" **Author:** Camptocamp SA\n" +"\n" +" **Donors:** Hasa Sàrl, Open Net Sàrl and Prisme Solutions Informatique SA\n" +"\n" +" **Translators:** brain-tec AG, Agile Business Group\n" +"\n" +"**This release will introduce major changes to l10n_ch.**\n" +"\n" +"Due to important refactoring needs and the Switzerland adoption of new " +"international payment standard during 2013-2014. We have reorganised the " +"swiss localization addons this way:\n" +"\n" +"- **l10n_ch**: Multilang swiss STERCHI account chart and taxes (official " +"addon)\n" +"- **l10n_ch_base_bank**: Technical module that introduces a new and " +"simplified version of bank type management\n" +"- **l10n_ch_bank**: List of swiss banks\n" +"- **l10n_ch_zip**: List of swiss postal zip\n" +"- **l10n_ch_dta**: Support of dta payment protocol (will be deprecated end " +"2014)\n" +"- **l10n_ch_payment_slip**: Support of ESR/BVR payment slip report and " +"reconciliation. Report refactored with easy element positioning.\n" +"- **l10n_ch_sepa**: Alpha implementation of PostFinance SEPA/PAIN support " +"will be completed during 2013/2014\n" +"\n" +"The modules will be soon available on OpenERP swiss localization on " +"launchpad:\n" +"https://launchpad.net/openerp-swiss-localization\n" +msgstr "" + +#. module: base +#: model:res.country,name:base.nt +msgid "Neutral Zone" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_portal_sale +msgid "" +"\n" +"This module adds a Sales menu to your portal as soon as sale and portal are " +"installed.\n" +"=============================================================================" +"=========\n" +"\n" +"After installing this module, portal users will be able to access their own " +"documents\n" +"via the following menus:\n" +"\n" +" - Quotations\n" +" - Sale Orders\n" +" - Delivery Orders\n" +" - Products (public ones)\n" +" - Invoices\n" +" - Payments/Refunds\n" +"\n" +"If online payment acquirers are configured, portal users will also be given " +"the opportunity to\n" +"pay online on their Sale Orders and Invoices that are not paid yet. Paypal " +"is included\n" +"by default, you simply need to configure a Paypal account in the " +"Accounting/Invoicing settings.\n" +" " +msgstr "" + +#. module: base +#: code:addons/base/ir/ir_fields.py:316 +#, python-format +msgid "external id" +msgstr "" + +#. module: base +#: view:ir.model:0 +msgid "Custom" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_sale_margin +msgid "Margins in Sales Orders" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_purchase +msgid "Purchase Management" +msgstr "" + +#. module: base +#: field:ir.module.module,published_version:0 +msgid "Published Version" +msgstr "" + +#. module: base +#: model:res.country,name:base.is +msgid "Iceland" +msgstr "" + +#. module: base +#: model:ir.actions.act_window,name:base.ir_action_window +#: model:ir.ui.menu,name:base.menu_ir_action_window +msgid "Window Actions" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_portal_project_issue +msgid "" +"\n" +"This module adds issue menu and features to your portal if project_issue and " +"portal are installed.\n" +"=============================================================================" +"=====================\n" +" " +msgstr "" + +#. module: base +#: view:res.lang:0 +msgid "%I - Hour (12-hour clock) [01,12]." +msgstr "" + +#. module: base +#: view:res.config:0 +msgid "res_config_contents" +msgstr "" + +#. module: base +#: model:res.country,name:base.de +msgid "Germany" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_auth_oauth +msgid "OAuth2 Authentication" +msgstr "" + +#. module: base +#: view:workflow:0 +msgid "" +"When customizing a workflow, be sure you do not modify an existing node or " +"arrow, but rather add new nodes or arrows. If you absolutly need to modify a " +"node or arrow, you can only change fields that are empty or set to the " +"default value. If you don't do that, your customization will be overwrited " +"at the next update or upgrade to a future version of OpenERP." +msgstr "" + +#. module: base +#: report:ir.module.reference:0 +msgid "Reports :" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_multi_company +msgid "" +"\n" +"This module is for managing a multicompany environment.\n" +"=======================================================\n" +"\n" +"This module is the base module for other multi-company modules.\n" +" " +msgstr "" + +#. module: base +#: sql_constraint:res.currency:0 +msgid "The currency code must be unique per company!" +msgstr "" + +#. module: base +#: code:addons/base/module/wizard/base_export_language.py:39 +#, python-format +msgid "New Language (Empty translation template)" +msgstr "" + +#. module: base +#: help:ir.actions.server,email:0 +msgid "" +"Expression that returns the email address to send to. Can be based on the " +"same values as for the condition field.\n" +"Example: object.invoice_address_id.email, or 'me@example.com'" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_project_issue_sheet +msgid "" +"\n" +"This module adds the Timesheet support for the Issues/Bugs Management in " +"Project.\n" +"=============================================================================" +"====\n" +"\n" +"Worklogs can be maintained to signify number of hours spent by users to " +"handle an issue.\n" +" " +msgstr "" + +#. module: base +#: model:res.country,name:base.gy +msgid "Guyana" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_product_expiry +msgid "Products Expiry Date" +msgstr "" + +#. module: base +#: code:addons/base/res/res_config.py:419 +#, python-format +msgid "Click 'Continue' to configure the next addon..." +msgstr "" + +#. module: base +#: field:ir.actions.server,record_id:0 +msgid "Create Id" +msgstr "" + +#. module: base +#: model:res.country,name:base.hn +msgid "Honduras" +msgstr "" + +#. module: base +#: model:res.country,name:base.eg +msgid "Egypt" +msgstr "" + +#. module: base +#: view:ir.attachment:0 +msgid "Creation" +msgstr "" + +#. module: base +#: help:ir.actions.server,model_id:0 +msgid "" +"Select the object on which the action will work (read, write, create)." +msgstr "" + +#. module: base +#: field:base.language.import,name:0 +msgid "Language Name" +msgstr "" + +#. module: base +#: selection:ir.property,type:0 +msgid "Boolean" +msgstr "" + +#. module: base +#: help:ir.mail_server,smtp_encryption:0 +msgid "" +"Choose the connection encryption scheme:\n" +"- None: SMTP sessions are done in cleartext.\n" +"- TLS (STARTTLS): TLS encryption is requested at start of SMTP session " +"(Recommended)\n" +"- SSL/TLS: SMTP sessions are encrypted with SSL/TLS through a dedicated port " +"(default: 465)" +msgstr "" + +#. module: base +#: view:ir.model:0 +msgid "Fields Description" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_analytic_contract_hr_expense +msgid "Contracts Management: hr_expense link" +msgstr "" + +#. module: base +#: view:ir.attachment:0 +#: view:ir.cron:0 +#: view:ir.filters:0 +#: view:ir.model.access:0 +#: view:ir.model.data:0 +#: view:ir.model.fields:0 +#: view:ir.module.module:0 +#: view:ir.ui.view:0 +#: view:ir.values:0 +#: view:res.partner:0 +#: view:workflow.activity:0 +msgid "Group By..." +msgstr "" + +#. module: base +#: view:base.module.update:0 +msgid "Module Update Result" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_analytic_contract_hr_expense +msgid "" +"\n" +"This module is for modifying account analytic view to show some data related " +"to the hr_expense module.\n" +"=============================================================================" +"=========================\n" +msgstr "" + +#. module: base +#: field:ir.attachment,store_fname:0 +msgid "Stored Filename" +msgstr "" + +#. module: base +#: field:res.partner,use_parent_address:0 +msgid "Use Company Address" +msgstr "" + +#. module: base +#: model:ir.module.module,summary:base.module_hr_holidays +msgid "Holidays, Allocation and Leave Requests" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_web_hello +msgid "" +"\n" +"OpenERP Web example module.\n" +"===========================\n" +"\n" +msgstr "" + +#. module: base +#: selection:ir.module.module,state:0 +#: selection:ir.module.module.dependency,state:0 +msgid "To be installed" +msgstr "" + +#. module: base +#: view:ir.model:0 +#: model:ir.module.module,shortdesc:base.module_base +#: field:res.currency,base:0 +msgid "Base" +msgstr "" + +#. module: base +#: field:ir.model.data,model:0 +#: field:ir.values,model:0 +msgid "Model Name" +msgstr "" + +#. module: base +#: selection:base.language.install,lang:0 +msgid "Telugu / తెలుగు" +msgstr "" + +#. module: base +#: model:ir.actions.act_window,help:base.action_partner_supplier_form +msgid "" +"\n" +" Click to add a contact in your address book.\n" +"
\n" +" OpenERP helps you easily track all activities related to\n" +" a supplier: discussions, history of purchases,\n" +" documents, etc.\n" +"
\n" +" " +msgstr "" + +#. module: base +#: model:res.country,name:base.lr +msgid "Liberia" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_web_tests +msgid "" +"\n" +"OpenERP Web test suite.\n" +"=======================\n" +"\n" +msgstr "" + +#. module: base +#: view:ir.model:0 +#: model:ir.module.module,shortdesc:base.module_note +#: view:res.groups:0 +#: field:res.partner,comment:0 +msgid "Notes" +msgstr "" + +#. module: base +#: field:ir.config_parameter,value:0 +#: field:ir.property,value_binary:0 +#: field:ir.property,value_datetime:0 +#: field:ir.property,value_float:0 +#: field:ir.property,value_integer:0 +#: field:ir.property,value_reference:0 +#: field:ir.property,value_text:0 +#: selection:ir.server.object.lines,type:0 +#: field:ir.server.object.lines,value:0 +#: field:ir.values,value:0 +msgid "Value" +msgstr "" + +#. module: base +#: view:base.language.import:0 +#: field:ir.sequence,code:0 +#: field:ir.sequence.type,code:0 +#: selection:ir.translation,type:0 +#: field:res.partner.bank.type,code:0 +msgid "Code" +msgstr "" + +#. module: base +#: model:ir.model,name:base.model_res_config_installer +msgid "res.config.installer" +msgstr "" + +#. module: base +#: model:res.country,name:base.mc +msgid "Monaco" +msgstr "" + +#. module: base +#: selection:ir.cron,interval_type:0 +msgid "Minutes" +msgstr "" + +#. module: base +#: view:res.currency:0 +msgid "Display" +msgstr "" + +#. module: base +#: model:res.groups,name:base.group_multi_company +msgid "Multi Companies" +msgstr "" + +#. module: base +#: help:res.users,menu_id:0 +msgid "" +"If specified, the action will replace the standard menu for this user." +msgstr "" + +#. module: base +#: model:ir.actions.report.xml,name:base.preview_report +msgid "Preview Report" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_purchase_analytic_plans +msgid "Purchase Analytic Plans" +msgstr "" + +#. module: base +#: model:ir.actions.act_window,name:base.ir_sequence_type +#: model:ir.ui.menu,name:base.menu_ir_sequence_type +msgid "Sequence Codes" +msgstr "" + +#. module: base +#: selection:base.language.install,lang:0 +msgid "Spanish (CO) / Español (CO)" +msgstr "" + +#. module: base +#: view:base.module.configuration:0 +msgid "" +"All pending configuration wizards have been executed. You may restart " +"individual wizards via the list of configuration wizards." +msgstr "" + +#. module: base +#: view:ir.sequence:0 +msgid "Current Year with Century: %(year)s" +msgstr "" + +#. module: base +#: field:ir.exports,export_fields:0 +msgid "Export ID" +msgstr "" + +#. module: base +#: model:res.country,name:base.fr +msgid "France" +msgstr "" + +#. module: base +#: view:workflow.activity:0 +#: field:workflow.activity,flow_stop:0 +msgid "Flow Stop" +msgstr "" + +#. module: base +#: selection:ir.cron,interval_type:0 +msgid "Weeks" +msgstr "" + +#. module: base +#: model:res.country,name:base.af +msgid "Afghanistan, Islamic State of" +msgstr "" + +#. module: base +#: code:addons/base/module/wizard/base_module_import.py:58 +#: code:addons/base/module/wizard/base_module_import.py:66 +#, python-format +msgid "Error !" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_marketing_campaign_crm_demo +msgid "Marketing Campaign - Demo" +msgstr "" + +#. module: base +#: code:addons/base/ir/ir_fields.py:360 +#, python-format +msgid "" +"Can not create Many-To-One records indirectly, import the field separately" +msgstr "" + +#. module: base +#: field:ir.cron,interval_type:0 +msgid "Interval Unit" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_portal_stock +msgid "Portal Stock" +msgstr "" + +#. module: base +#: field:workflow.activity,kind:0 +msgid "Kind" +msgstr "" + +#. module: base +#: code:addons/orm.py:4647 +#, python-format +msgid "This method does not exist anymore" +msgstr "" + +#. module: base +#: view:base.update.translations:0 +#: model:ir.actions.act_window,name:base.action_wizard_update_translations +#: model:ir.ui.menu,name:base.menu_wizard_update_translations +msgid "Synchronize Terms" +msgstr "" + +#. module: base +#: field:res.lang,thousands_sep:0 +msgid "Thousands Separator" +msgstr "" + +#. module: base +#: field:res.request,create_date:0 +msgid "Created Date" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_l10n_cn +msgid "中国会计科目表 - Accounting" +msgstr "" + +#. module: base +#: sql_constraint:ir.model.constraint:0 +msgid "Constraints with the same name are unique per module." +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_report_intrastat +msgid "" +"\n" +"A module that adds intrastat reports.\n" +"=====================================\n" +"\n" +"This module gives the details of the goods traded between the countries of\n" +"European Union." +msgstr "" + +#. module: base +#: help:ir.actions.server,loop_action:0 +msgid "" +"Select the action that will be executed. Loop action will not be avaliable " +"inside loop." +msgstr "" + +#. module: base +#: help:ir.model.data,res_id:0 +msgid "ID of the target record in the database" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_account_analytic_analysis +msgid "Contracts Management" +msgstr "" + +#. module: base +#: selection:base.language.install,lang:0 +msgid "Chinese (TW) / 正體字" +msgstr "" + +#. module: base +#: model:ir.model,name:base.model_res_request +msgid "res.request" +msgstr "" + +#. module: base +#: field:res.partner,image_medium:0 +msgid "Medium-sized image" +msgstr "" + +#. module: base +#: view:ir.model:0 +msgid "In Memory" +msgstr "" + +#. module: base +#: view:ir.actions.todo:0 +msgid "Todo" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_product_visible_discount +msgid "Prices Visible Discounts" +msgstr "" + +#. module: base +#: field:ir.attachment,datas:0 +msgid "File Content" +msgstr "" + +#. module: base +#: model:ir.actions.act_window,name:base.action_model_relation +#: view:ir.model.relation:0 +#: model:ir.ui.menu,name:base.ir_model_relation_menu +msgid "ManyToMany Relations" +msgstr "" + +#. module: base +#: model:res.country,name:base.pa +msgid "Panama" +msgstr "" + +#. module: base +#: help:workflow.transition,group_id:0 +msgid "" +"The group that a user must have to be authorized to validate this transition." +msgstr "" + +#. module: base +#: constraint:res.users:0 +msgid "The chosen company is not in the allowed companies for this user" +msgstr "" + +#. module: base +#: model:res.country,name:base.gi +msgid "Gibraltar" +msgstr "" + +#. module: base +#: field:ir.actions.report.xml,report_name:0 +msgid "Service Name" +msgstr "" + +#. module: base +#: model:res.country,name:base.pn +msgid "Pitcairn Island" +msgstr "" + +#. module: base +#: field:res.partner,category_id:0 +msgid "Tags" +msgstr "" + +#. module: base +#: view:base.module.upgrade:0 +msgid "" +"We suggest to reload the menu tab to see the new menus (Ctrl+T then Ctrl+R)." +msgstr "" + +#. module: base +#: model:ir.actions.act_window,name:base.action_rule +#: view:ir.rule:0 +#: model:ir.ui.menu,name:base.menu_action_rule +msgid "Record Rules" +msgstr "" + +#. module: base +#: view:multi_company.default:0 +msgid "Multi Company" +msgstr "" + +#. module: base +#: model:ir.module.category,name:base.module_category_portal +#: model:ir.module.module,shortdesc:base.module_portal +msgid "Portal" +msgstr "" + +#. module: base +#: selection:ir.translation,state:0 +msgid "To Translate" +msgstr "" + +#. module: base +#: code:addons/base/ir/ir_fields.py:294 +#, python-format +msgid "See all possible values" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_claim_from_delivery +msgid "" +"\n" +"Create a claim from a delivery order.\n" +"=====================================\n" +"\n" +"Adds a Claim link to the delivery order.\n" +msgstr "" + +#. module: base +#: view:ir.model:0 +#: view:workflow.activity:0 +msgid "Properties" +msgstr "" + +#. module: base +#: help:ir.sequence,padding:0 +msgid "" +"OpenERP will automatically adds some '0' on the left of the 'Next Number' to " +"get the required padding size." +msgstr "" + +#. module: base +#: help:ir.model.constraint,name:0 +msgid "PostgreSQL constraint or foreign key name." +msgstr "" + +#. module: base +#: view:res.company:0 +msgid "Click to set your company logo." +msgstr "" + +#. module: base +#: view:res.lang:0 +msgid "%A - Full weekday name." +msgstr "" + +#. module: base +#: help:ir.values,user_id:0 +msgid "If set, action binding only applies for this user." +msgstr "" + +#. module: base +#: model:res.country,name:base.gw +msgid "Guinea Bissau" +msgstr "" + +#. module: base +#: field:ir.actions.report.xml,header:0 +msgid "Add RML Header" +msgstr "" + +#. module: base +#: help:res.company,rml_footer:0 +msgid "Footer text displayed at the bottom of all reports." +msgstr "" + +#. module: base +#: field:ir.module.module,icon:0 +msgid "Icon URL" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_note_pad +msgid "Memos pad" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_pad +msgid "" +"\n" +"Adds enhanced support for (Ether)Pad attachments in the web client.\n" +"===================================================================\n" +"\n" +"Lets the company customize which Pad installation should be used to link to " +"new\n" +"pads (by default, http://ietherpad.com/).\n" +" " +msgstr "" + +#. module: base +#: sql_constraint:res.lang:0 +msgid "The code of the language must be unique !" +msgstr "" + +#. module: base +#: model:ir.actions.act_window,name:base.action_attachment +#: view:ir.actions.report.xml:0 +#: view:ir.attachment:0 +#: model:ir.ui.menu,name:base.menu_action_attachment +msgid "Attachments" +msgstr "" + +#. module: base +#: help:res.company,bank_ids:0 +msgid "Bank accounts related to this company" +msgstr "" + +#. module: base +#: model:ir.module.category,name:base.module_category_sales_management +#: model:ir.ui.menu,name:base.menu_base_partner +#: model:ir.ui.menu,name:base.menu_sale_config +#: model:ir.ui.menu,name:base.menu_sale_config_sales +#: model:ir.ui.menu,name:base.menu_sales +#: model:ir.ui.menu,name:base.next_id_64 +msgid "Sales" +msgstr "" + +#. module: base +#: field:ir.actions.server,child_ids:0 +msgid "Other Actions" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_l10n_be_coda +msgid "Belgium - Import Bank CODA Statements" +msgstr "" + +#. module: base +#: selection:ir.actions.todo,state:0 +msgid "Done" +msgstr "" + +#. module: base +#: help:ir.cron,doall:0 +msgid "" +"Specify if missed occurrences should be executed when the server restarts." +msgstr "" + +#. module: base +#: model:res.partner.title,name:base.res_partner_title_miss +#: model:res.partner.title,shortcut:base.res_partner_title_miss +msgid "Miss" +msgstr "" + +#. module: base +#: view:ir.model.access:0 +#: field:ir.model.access,perm_write:0 +msgid "Write Access" +msgstr "" + +#. module: base +#: view:res.lang:0 +msgid "%m - Month number [01,12]." +msgstr "" + +#. module: base +#: view:res.bank:0 +#: field:res.bank,city:0 +#: view:res.company:0 +#: field:res.company,city:0 +#: view:res.partner:0 +#: field:res.partner,city:0 +#: view:res.partner.bank:0 +#: field:res.partner.bank,city:0 +#: view:res.users:0 +msgid "City" +msgstr "" + +#. module: base +#: model:res.country,name:base.qa +msgid "Qatar" +msgstr "" + +#. module: base +#: model:res.country,name:base.it +msgid "Italy" +msgstr "" + +#. module: base +#: model:res.groups,name:base.group_sale_salesman +msgid "See Own Leads" +msgstr "" + +#. module: base +#: view:ir.actions.todo:0 +#: selection:ir.actions.todo,state:0 +msgid "To Do" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_portal_hr_employees +msgid "Portal HR employees" +msgstr "" + +#. module: base +#: selection:base.language.install,lang:0 +msgid "Estonian / Eesti keel" +msgstr "" + +#. module: base +#: help:ir.actions.server,write_id:0 +msgid "" +"Provide the field name that the record id refers to for the write operation. " +"If it is empty it will refer to the active id of the object." +msgstr "" + +#. module: base +#: selection:ir.module.module,license:0 +msgid "GPL-3 or later version" +msgstr "" + +#. module: base +#: code:addons/orm.py:2033 +#, python-format +msgid "" +"Insufficient fields to generate a Calendar View for %s, missing a date_stop " +"or a date_delay" +msgstr "" + +#. module: base +#: field:workflow.activity,action:0 +msgid "Python Action" +msgstr "" + +#. module: base +#: selection:base.language.install,lang:0 +msgid "English (US)" +msgstr "" + +#. module: base +#: model:ir.actions.act_window,help:base.action_partner_title_partner +msgid "" +"Manage the partner titles you want to have available in your system. The " +"partner titles is the legal status of the company: Private Limited, SA, etc." +msgstr "" + +#. module: base +#: view:res.bank:0 +#: view:res.company:0 +#: view:res.partner:0 +#: view:res.partner.bank:0 +#: view:res.users:0 +msgid "Address" +msgstr "" + +#. module: base +#: selection:base.language.install,lang:0 +msgid "Mongolian / монгол" +msgstr "" + +#. module: base +#: model:res.country,name:base.mr +msgid "Mauritania" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_resource +msgid "" +"\n" +"Module for resource management.\n" +"===============================\n" +"\n" +"A resource represent something that can be scheduled (a developer on a task " +"or a\n" +"work center on manufacturing orders). This module manages a resource " +"calendar\n" +"associated to every resource. It also manages the leaves of every resource.\n" +" " +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_account_followup +msgid "" +"\n" +"Module to automate letters for unpaid invoices, with multi-level recalls.\n" +"=========================================================================\n" +"\n" +"You can define your multiple levels of recall through the menu:\n" +"---------------------------------------------------------------\n" +" Configuration / Follow-Up Levels\n" +" \n" +"Once it is defined, you can automatically print recalls every day through " +"simply clicking on the menu:\n" +"-----------------------------------------------------------------------------" +"-------------------------\n" +" Payment Follow-Up / Send Email and letters\n" +"\n" +"It will generate a PDF / send emails / set manual actions according to the " +"the different levels \n" +"of recall defined. You can define different policies for different " +"companies. \n" +"\n" +"Note that if you want to check the follow-up level for a given " +"partner/account entry, you can do from in the menu:\n" +"-----------------------------------------------------------------------------" +"-------------------------------------\n" +" Reporting / Accounting / **Follow-ups Analysis\n" +"\n" +msgstr "" + +#. module: base +#: code:addons/base/ir/ir_model.py:735 +#, python-format +msgid "" +"Please contact your system administrator if you think this is an error." +msgstr "" + +#. module: base +#: code:addons/base/module/module.py:545 +#: view:base.module.upgrade:0 +#: model:ir.actions.act_window,name:base.action_view_base_module_upgrade +#, python-format +msgid "Apply Schedule Upgrade" +msgstr "" + +#. module: base +#: view:workflow.activity:0 +#: field:workflow.workitem,act_id:0 +msgid "Activity" +msgstr "" + +#. module: base +#: view:change.password.user:0 +#: field:change.password.wizard,user_ids:0 +#: model:ir.actions.act_window,name:base.action_res_users +#: field:ir.default,uid:0 +#: model:ir.model,name:base.model_res_users +#: model:ir.ui.menu,name:base.menu_action_res_users +#: model:ir.ui.menu,name:base.menu_users +#: view:res.groups:0 +#: field:res.groups,users:0 +#: field:res.partner,user_ids:0 +#: view:res.users:0 +msgid "Users" +msgstr "" + +#. module: base +#: field:res.company,parent_id:0 +msgid "Parent Company" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_auth_openid +msgid "OpenID Authentification" +msgstr "" + +#. module: base +#: code:addons/orm.py:3872 +#, python-format +msgid "" +"One of the documents you are trying to access has been deleted, please try " +"again after refreshing." +msgstr "" + +#. module: base +#: model:ir.model,name:base.model_ir_mail_server +msgid "ir.mail_server" +msgstr "" + +#. module: base +#: selection:base.language.install,lang:0 +msgid "Spanish (CR) / Español (CR)" +msgstr "" + +#. module: base +#: view:ir.rule:0 +msgid "" +"Global rules (non group-specific) are restrictions, and cannot be bypassed. " +"Group-local rules grant additional permissions, but are constrained within " +"the bounds of global ones. The first group rules restrict further than " +"global rules, but any additional group rule will add more permissions" +msgstr "" + +#. module: base +#: field:res.currency.rate,rate:0 +msgid "Rate" +msgstr "" + +#. module: base +#: model:res.country,name:base.cg +msgid "Congo" +msgstr "" + +#. module: base +#: view:res.lang:0 +msgid "Examples" +msgstr "" + +#. module: base +#: field:ir.default,value:0 +msgid "Default Value" +msgstr "" + +#. module: base +#: model:ir.model,name:base.model_res_country_state +msgid "Country state" +msgstr "Departamento" + +#. module: base +#: model:ir.ui.menu,name:base.next_id_5 +msgid "Sequences & Identifiers" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_l10n_th +msgid "" +"\n" +"Chart of Accounts for Thailand.\n" +"===============================\n" +"\n" +"Thai accounting chart and localization.\n" +" " +msgstr "" + +#. module: base +#: model:res.country,name:base.kn +msgid "Saint Kitts & Nevis Anguilla" +msgstr "" + +#. module: base +#: code:addons/base/res/res_currency.py:194 +#, python-format +msgid "" +"No rate found \n" +"for the currency: %s \n" +"at the date: %s" +msgstr "" + +#. module: base +#: model:ir.actions.act_window,help:base.action_ui_view_custom +msgid "" +"Customized views are used when users reorganize the content of their " +"dashboard views (via web client)" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_sale_stock +msgid "Sales and Warehouse Management" +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_hr_recruitment +msgid "" +"\n" +"Manage job positions and the recruitment process\n" +"================================================\n" +"\n" +"This application allows you to easily keep track of jobs, vacancies, " +"applications, interviews...\n" +"\n" +"It is integrated with the mail gateway to automatically fetch email sent to " +"\n" +" Click to add a contact in your address book.\n" +"
\n" +" OpenERP helps you easily track all activities related to\n" +" a customer; discussions, history of business opportunities,\n" +" documents, etc.\n" +"
\n" +" " +msgstr "" + +#. module: base +#: model:res.partner.category,name:base.res_partner_category_2 +msgid "Prospect" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_stock_invoice_directly +msgid "Invoice Picking Directly" +msgstr "" + +#. module: base +#: selection:base.language.install,lang:0 +msgid "Polish / Język polski" +msgstr "" + +#. module: base +#: field:ir.exports,name:0 +msgid "Export Name" +msgstr "" + +#. module: base +#: help:res.partner,type:0 +msgid "" +"Used to select automatically the right address according to the context in " +"sales and purchases documents." +msgstr "" + +#. module: base +#: model:ir.module.module,description:base.module_purchase_analytic_plans +msgid "" +"\n" +"The base module to manage analytic distribution and purchase orders.\n" +"====================================================================\n" +"\n" +"Allows the user to maintain several analysis plans. These let you split a " +"line\n" +"on a supplier purchase order into several accounts and analytic plans.\n" +" " +msgstr "" + +#. module: base +#: model:res.country,name:base.lk +msgid "Sri Lanka" +msgstr "" + +#. module: base +#: field:ir.actions.act_window,search_view:0 +msgid "Search View" +msgstr "" + +#. module: base +#: selection:base.language.install,lang:0 +msgid "Russian / русский язык" +msgstr "" + +#. module: base +#: model:ir.module.module,shortdesc:base.module_auth_signup +msgid "Signup" +msgstr "" From 0d7ea5d74e27da850221e778c23fd4a097a681cb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thibault=20Delavall=C3=A9e?=Sparkline: 1,4,6,6,8,5,3,5
-* $('.sparkline').sparkline(); -* There must be no spaces in the enclosed data set -* -* Otherwise values must be an array of numbers or null values -*Sparkline: This text replaced if the browser is compatible
-* $('#sparkline1').sparkline([1,4,6,6,8,5,3,5]) -* $('#sparkline2').sparkline([1,4,6,null,null,5,3,5]) -* -* Values can also be specified in an HTML comment, or as a values attribute: -*Sparkline:
-*Sparkline:
-* $('.sparkline').sparkline(); -* -* For line charts, x values can also be specified: -*Sparkline: 1:1,2.7:4,3.4:6,5:6,6:8,8.7:5,9:3,10:5
-* $('#sparkline1').sparkline([ [1,1], [2.7,4], [3.4,6], [5,6], [6,8], [8.7,5], [9,3], [10,5] ]) -* -* By default, options should be passed in as teh second argument to the sparkline function: -* $('.sparkline').sparkline([1,2,3,4], {type: 'bar'}) -* -* Options can also be set by passing them on the tag itself. This feature is disabled by default though -* as there's a slight performance overhead: -* $('.sparkline').sparkline([1,2,3,4], {enableTagOptions: true}) -*Sparkline: loading
-* Prefix all options supplied as tag attribute with "spark" (configurable by setting tagOptionPrefix) -* -* Supported options: -* lineColor - Color of the line used for the chart -* fillColor - Color used to fill in the chart - Set to '' or false for a transparent chart -* width - Width of the chart - Defaults to 3 times the number of values in pixels -* height - Height of the chart - Defaults to the height of the containing element -* chartRangeMin - Specify the minimum value to use for the Y range of the chart - Defaults to the minimum value supplied -* chartRangeMax - Specify the maximum value to use for the Y range of the chart - Defaults to the maximum value supplied -* chartRangeClip - Clip out of range values to the max/min specified by chartRangeMin and chartRangeMax -* chartRangeMinX - Specify the minimum value to use for the X range of the chart - Defaults to the minimum value supplied -* chartRangeMaxX - Specify the maximum value to use for the X range of the chart - Defaults to the maximum value supplied -* composite - If true then don't erase any existing chart attached to the tag, but draw -* another chart over the top - Note that width and height are ignored if an -* existing chart is detected. -* tagValuesAttribute - Name of tag attribute to check for data values - Defaults to 'values' -* enableTagOptions - Whether to check tags for sparkline options -* tagOptionPrefix - Prefix used for options supplied as tag attributes - Defaults to 'spark' -* disableHiddenCheck - If set to true, then the plugin will assume that charts will never be drawn into a -* hidden dom element, avoding a browser reflow -* disableInteraction - If set to true then all mouseover/click interaction behaviour will be disabled, -* making the plugin perform much like it did in 1.x -* disableTooltips - If set to true then tooltips will be disabled - Defaults to false (tooltips enabled) -* disableHighlight - If set to true then highlighting of selected chart elements on mouseover will be disabled -* defaults to false (highlights enabled) -* highlightLighten - Factor to lighten/darken highlighted chart values by - Defaults to 1.4 for a 40% increase -* tooltipContainer - Specify which DOM element the tooltip should be rendered into - defaults to document.body -* tooltipClassname - Optional CSS classname to apply to tooltips - If not specified then a default style will be applied -* tooltipOffsetX - How many pixels away from the mouse pointer to render the tooltip on the X axis -* tooltipOffsetY - How many pixels away from the mouse pointer to render the tooltip on the r axis -* tooltipFormatter - Optional callback that allows you to override the HTML displayed in the tooltip -* callback is given arguments of (sparkline, options, fields) -* tooltipChartTitle - If specified then the tooltip uses the string specified by this setting as a title -* tooltipFormat - A format string or SPFormat object (or an array thereof for multiple entries) -* to control the format of the tooltip -* tooltipPrefix - A string to prepend to each field displayed in a tooltip -* tooltipSuffix - A string to append to each field displayed in a tooltip -* tooltipSkipNull - If true then null values will not have a tooltip displayed (defaults to true) -* tooltipValueLookups - An object or range map to map field values to tooltip strings -* (eg. to map -1 to "Lost", 0 to "Draw", and 1 to "Win") -* numberFormatter - Optional callback for formatting numbers in tooltips -* numberDigitGroupSep - Character to use for group separator in numbers "1,234" - Defaults to "," -* numberDecimalMark - Character to use for the decimal point when formatting numbers - Defaults to "." -* numberDigitGroupCount - Number of digits between group separator - Defaults to 3 -* -* There are 7 types of sparkline, selected by supplying a "type" option of 'line' (default), -* 'bar', 'tristate', 'bullet', 'discrete', 'pie' or 'box' -* line - Line chart. Options: -* spotColor - Set to '' to not end each line in a circular spot -* minSpotColor - If set, color of spot at minimum value -* maxSpotColor - If set, color of spot at maximum value -* spotRadius - Radius in pixels -* lineWidth - Width of line in pixels -* normalRangeMin -* normalRangeMax - If set draws a filled horizontal bar between these two values marking the "normal" -* or expected range of values -* normalRangeColor - Color to use for the above bar -* drawNormalOnTop - Draw the normal range above the chart fill color if true -* defaultPixelsPerValue - Defaults to 3 pixels of width for each value in the chart -* highlightSpotColor - The color to use for drawing a highlight spot on mouseover - Set to null to disable -* highlightLineColor - The color to use for drawing a highlight line on mouseover - Set to null to disable -* valueSpots - Specify which points to draw spots on, and in which color. Accepts a range map -* -* bar - Bar chart. Options: -* barColor - Color of bars for postive values -* negBarColor - Color of bars for negative values -* zeroColor - Color of bars with zero values -* nullColor - Color of bars with null values - Defaults to omitting the bar entirely -* barWidth - Width of bars in pixels -* colorMap - Optional mappnig of values to colors to override the *BarColor values above -* can be an Array of values to control the color of individual bars or a range map -* to specify colors for individual ranges of values -* barSpacing - Gap between bars in pixels -* zeroAxis - Centers the y-axis around zero if true -* -* tristate - Charts values of win (>0), lose (<0) or draw (=0) -* posBarColor - Color of win values -* negBarColor - Color of lose values -* zeroBarColor - Color of draw values -* barWidth - Width of bars in pixels -* barSpacing - Gap between bars in pixels -* colorMap - Optional mappnig of values to colors to override the *BarColor values above -* can be an Array of values to control the color of individual bars or a range map -* to specify colors for individual ranges of values -* -* discrete - Options: -* lineHeight - Height of each line in pixels - Defaults to 30% of the graph height -* thesholdValue - Values less than this value will be drawn using thresholdColor instead of lineColor -* thresholdColor -* -* bullet - Values for bullet graphs msut be in the order: target, performance, range1, range2, range3, ... -* options: -* targetColor - The color of the vertical target marker -* targetWidth - The width of the target marker in pixels -* performanceColor - The color of the performance measure horizontal bar -* rangeColors - Colors to use for each qualitative range background color -* -* pie - Pie chart. Options: -* sliceColors - An array of colors to use for pie slices -* offset - Angle in degrees to offset the first slice - Try -90 or +90 -* borderWidth - Width of border to draw around the pie chart, in pixels - Defaults to 0 (no border) -* borderColor - Color to use for the pie chart border - Defaults to #000 -* -* box - Box plot. Options: -* raw - Set to true to supply pre-computed plot points as values -* values should be: low_outlier, low_whisker, q1, median, q3, high_whisker, high_outlier -* When set to false you can supply any number of values and the box plot will -* be computed for you. Default is false. -* showOutliers - Set to true (default) to display outliers as circles -* outlierIQR - Interquartile range used to determine outliers. Default 1.5 -* boxLineColor - Outline color of the box -* boxFillColor - Fill color for the box -* whiskerColor - Line color used for whiskers -* outlierLineColor - Outline color of outlier circles -* outlierFillColor - Fill color of the outlier circles -* spotRadius - Radius of outlier circles -* medianColor - Line color of the median line -* target - Draw a target cross hair at the supplied value (default undefined) -* -* -* -* Examples: -* $('#sparkline1').sparkline(myvalues, { lineColor: '#f00', fillColor: false }); -* $('.barsparks').sparkline('html', { type:'bar', height:'40px', barWidth:5 }); -* $('#tristate').sparkline([1,1,-1,1,0,0,-1], { type:'tristate' }): -* $('#discrete').sparkline([1,3,4,5,5,3,4,5], { type:'discrete' }); -* $('#bullet').sparkline([10,12,12,9,7], { type:'bullet' }); -* $('#pie').sparkline([1,1,2], { type:'pie' }); -*/ - -/*jslint regexp: true, browser: true, jquery: true, white: true, nomen: false, plusplus: false, maxerr: 500, indent: 4 */ - -(function(factory) { - if(typeof define === 'function' && define.amd) { - define(['jquery'], factory); - } - else { - factory(jQuery); - } -} -(function($) { - 'use strict'; - - var UNSET_OPTION = {}, - getDefaults, createClass, SPFormat, clipval, quartile, normalizeValue, normalizeValues, - remove, isNumber, all, sum, addCSS, ensureArray, formatNumber, RangeMap, - MouseHandler, Tooltip, barHighlightMixin, - line, bar, tristate, discrete, bullet, pie, box, defaultStyles, initStyles, - VShape, VCanvas_base, VCanvas_canvas, VCanvas_vml, pending, shapeCount = 0; - - /** - * Default configuration settings - */ - getDefaults = function () { - return { - // Settings common to most/all chart types - common: { - type: 'line', - lineColor: '#00f', - fillColor: '#cdf', - defaultPixelsPerValue: 3, - width: 'auto', - height: 'auto', - composite: false, - tagValuesAttribute: 'values', - tagOptionsPrefix: 'spark', - enableTagOptions: false, - enableHighlight: true, - highlightLighten: 1.4, - tooltipSkipNull: true, - tooltipPrefix: '', - tooltipSuffix: '', - disableHiddenCheck: false, - numberFormatter: false, - numberDigitGroupCount: 3, - numberDigitGroupSep: ',', - numberDecimalMark: '.', - disableTooltips: false, - disableInteraction: false - }, - // Defaults for line charts - line: { - spotColor: '#f80', - highlightSpotColor: '#5f5', - highlightLineColor: '#f22', - spotRadius: 1.5, - minSpotColor: '#f80', - maxSpotColor: '#f80', - lineWidth: 1, - normalRangeMin: undefined, - normalRangeMax: undefined, - normalRangeColor: '#ccc', - drawNormalOnTop: false, - chartRangeMin: undefined, - chartRangeMax: undefined, - chartRangeMinX: undefined, - chartRangeMaxX: undefined, - tooltipFormat: new SPFormat('● {{prefix}}{{y}}{{suffix}}') - }, - // Defaults for bar charts - bar: { - barColor: '#3366cc', - negBarColor: '#f44', - stackedBarColor: ['#3366cc', '#dc3912', '#ff9900', '#109618', '#66aa00', - '#dd4477', '#0099c6', '#990099'], - zeroColor: undefined, - nullColor: undefined, - zeroAxis: true, - barWidth: 4, - barSpacing: 1, - chartRangeMax: undefined, - chartRangeMin: undefined, - chartRangeClip: false, - colorMap: undefined, - tooltipFormat: new SPFormat('● {{prefix}}{{value}}{{suffix}}') - }, - // Defaults for tristate charts - tristate: { - barWidth: 4, - barSpacing: 1, - posBarColor: '#6f6', - negBarColor: '#f44', - zeroBarColor: '#999', - colorMap: {}, - tooltipFormat: new SPFormat('● {{value:map}}'), - tooltipValueLookups: { map: { '-1': 'Loss', '0': 'Draw', '1': 'Win' } } - }, - // Defaults for discrete charts - discrete: { - lineHeight: 'auto', - thresholdColor: undefined, - thresholdValue: 0, - chartRangeMax: undefined, - chartRangeMin: undefined, - chartRangeClip: false, - tooltipFormat: new SPFormat('{{prefix}}{{value}}{{suffix}}') - }, - // Defaults for bullet charts - bullet: { - targetColor: '#f33', - targetWidth: 3, // width of the target bar in pixels - performanceColor: '#33f', - rangeColors: ['#d3dafe', '#a8b6ff', '#7f94ff'], - base: undefined, // set this to a number to change the base start number - tooltipFormat: new SPFormat('{{fieldkey:fields}} - {{value}}'), - tooltipValueLookups: { fields: {r: 'Range', p: 'Performance', t: 'Target'} } - }, - // Defaults for pie charts - pie: { - offset: 0, - sliceColors: ['#3366cc', '#dc3912', '#ff9900', '#109618', '#66aa00', - '#dd4477', '#0099c6', '#990099'], - borderWidth: 0, - borderColor: '#000', - tooltipFormat: new SPFormat('● {{value}} ({{percent.1}}%)') - }, - // Defaults for box plots - box: { - raw: false, - boxLineColor: '#000', - boxFillColor: '#cdf', - whiskerColor: '#000', - outlierLineColor: '#333', - outlierFillColor: '#fff', - medianColor: '#f00', - showOutliers: true, - outlierIQR: 1.5, - spotRadius: 1.5, - target: undefined, - targetColor: '#4a2', - chartRangeMax: undefined, - chartRangeMin: undefined, - tooltipFormat: new SPFormat('{{field:fields}}: {{value}}'), - tooltipFormatFieldlistKey: 'field', - tooltipValueLookups: { fields: { lq: 'Lower Quartile', med: 'Median', - uq: 'Upper Quartile', lo: 'Left Outlier', ro: 'Right Outlier', - lw: 'Left Whisker', rw: 'Right Whisker'} } - } - }; - }; - - // You can have tooltips use a css class other than jqstooltip by specifying tooltipClassname - defaultStyles = '.jqstooltip { ' + - 'position: absolute;' + - 'left: 0px;' + - 'top: 0px;' + - 'visibility: hidden;' + - 'background: rgb(0, 0, 0) transparent;' + - 'background-color: rgba(0,0,0,0.6);' + - 'filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#99000000, endColorstr=#99000000);' + - '-ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#99000000, endColorstr=#99000000)";' + - 'color: white;' + - 'font: 10px arial, san serif;' + - 'text-align: left;' + - 'white-space: nowrap;' + - 'padding: 5px;' + - 'border: 1px solid white;' + - 'z-index: 10000;' + - '}' + - '.jqsfield { ' + - 'color: white;' + - 'font: 10px arial, san serif;' + - 'text-align: left;' + - '}'; - - /** - * Utilities - */ - - createClass = function (/* [baseclass, [mixin, ...]], definition */) { - var Class, args; - Class = function () { - this.init.apply(this, arguments); - }; - if (arguments.length > 1) { - if (arguments[0]) { - Class.prototype = $.extend(new arguments[0](), arguments[arguments.length - 1]); - Class._super = arguments[0].prototype; - } else { - Class.prototype = arguments[arguments.length - 1]; - } - if (arguments.length > 2) { - args = Array.prototype.slice.call(arguments, 1, -1); - args.unshift(Class.prototype); - $.extend.apply($, args); - } - } else { - Class.prototype = arguments[0]; - } - Class.prototype.cls = Class; - return Class; - }; - - /** - * Wraps a format string for tooltips - * {{x}} - * {{x.2} - * {{x:months}} - */ - $.SPFormatClass = SPFormat = createClass({ - fre: /\{\{([\w.]+?)(:(.+?))?\}\}/g, - precre: /(\w+)\.(\d+)/, - - init: function (format, fclass) { - this.format = format; - this.fclass = fclass; - }, - - render: function (fieldset, lookups, options) { - var self = this, - fields = fieldset, - match, token, lookupkey, fieldvalue, prec; - return this.format.replace(this.fre, function () { - var lookup; - token = arguments[1]; - lookupkey = arguments[3]; - match = self.precre.exec(token); - if (match) { - prec = match[2]; - token = match[1]; - } else { - prec = false; - } - fieldvalue = fields[token]; - if (fieldvalue === undefined) { - return ''; - } - if (lookupkey && lookups && lookups[lookupkey]) { - lookup = lookups[lookupkey]; - if (lookup.get) { // RangeMap - return lookups[lookupkey].get(fieldvalue) || fieldvalue; - } else { - return lookups[lookupkey][fieldvalue] || fieldvalue; - } - } - if (isNumber(fieldvalue)) { - if (options.get('numberFormatter')) { - fieldvalue = options.get('numberFormatter')(fieldvalue); - } else { - fieldvalue = formatNumber(fieldvalue, prec, - options.get('numberDigitGroupCount'), - options.get('numberDigitGroupSep'), - options.get('numberDecimalMark')); - } - } - return fieldvalue; - }); - } - }); - - // convience method to avoid needing the new operator - $.spformat = function(format, fclass) { - return new SPFormat(format, fclass); - }; - - clipval = function (val, min, max) { - if (val < min) { - return min; - } - if (val > max) { - return max; - } - return val; - }; - - quartile = function (values, q) { - var vl; - if (q === 2) { - vl = Math.floor(values.length / 2); - return values.length % 2 ? values[vl] : (values[vl-1] + values[vl]) / 2; - } else { - if (values.length % 2 ) { // odd - vl = (values.length * q + q) / 4; - return vl % 1 ? (values[Math.floor(vl)] + values[Math.floor(vl) - 1]) / 2 : values[vl-1]; - } else { //even - vl = (values.length * q + 2) / 4; - return vl % 1 ? (values[Math.floor(vl)] + values[Math.floor(vl) - 1]) / 2 : values[vl-1]; - - } - } - }; - - normalizeValue = function (val) { - var nf; - switch (val) { - case 'undefined': - val = undefined; - break; - case 'null': - val = null; - break; - case 'true': - val = true; - break; - case 'false': - val = false; - break; - default: - nf = parseFloat(val); - if (val == nf) { - val = nf; - } - } - return val; - }; - - normalizeValues = function (vals) { - var i, result = []; - for (i = vals.length; i--;) { - result[i] = normalizeValue(vals[i]); - } - return result; - }; - - remove = function (vals, filter) { - var i, vl, result = []; - for (i = 0, vl = vals.length; i < vl; i++) { - if (vals[i] !== filter) { - result.push(vals[i]); - } - } - return result; - }; - - isNumber = function (num) { - return !isNaN(parseFloat(num)) && isFinite(num); - }; - - formatNumber = function (num, prec, groupsize, groupsep, decsep) { - var p, i; - num = (prec === false ? parseFloat(num).toString() : num.toFixed(prec)).split(''); - p = (p = $.inArray('.', num)) < 0 ? num.length : p; - if (p < num.length) { - num[p] = decsep; - } - for (i = p - groupsize; i > 0; i -= groupsize) { - num.splice(i, 0, groupsep); - } - return num.join(''); - }; - - // determine if all values of an array match a value - // returns true if the array is empty - all = function (val, arr, ignoreNull) { - var i; - for (i = arr.length; i--; ) { - if (ignoreNull && arr[i] === null) continue; - if (arr[i] !== val) { - return false; - } - } - return true; - }; - - // sums the numeric values in an array, ignoring other values - sum = function (vals) { - var total = 0, i; - for (i = vals.length; i--;) { - total += typeof vals[i] === 'number' ? vals[i] : 0; - } - return total; - }; - - ensureArray = function (val) { - return $.isArray(val) ? val : [val]; - }; - - // http://paulirish.com/2008/bookmarklet-inject-new-css-rules/ - addCSS = function(css) { - var tag; - //if ('\v' == 'v') /* ie only */ { - if (document.createStyleSheet) { - document.createStyleSheet().cssText = css; - } else { - tag = document.createElement('style'); - tag.type = 'text/css'; - document.getElementsByTagName('head')[0].appendChild(tag); - tag[(typeof document.body.style.WebkitAppearance == 'string') /* webkit only */ ? 'innerText' : 'innerHTML'] = css; - } - }; - - // Provide a cross-browser interface to a few simple drawing primitives - $.fn.simpledraw = function (width, height, useExisting, interact) { - var target, mhandler; - if (useExisting && (target = this.data('_jqs_vcanvas'))) { - return target; - } - if (width === undefined) { - width = $(this).innerWidth(); - } - if (height === undefined) { - height = $(this).innerHeight(); - } - if ($.fn.sparkline.hasCanvas) { - target = new VCanvas_canvas(width, height, this, interact); - } else if ($.fn.sparkline.hasVML) { - target = new VCanvas_vml(width, height, this); - } else { - return false; - } - mhandler = $(this).data('_jqs_mhandler'); - if (mhandler) { - mhandler.registerCanvas(target); - } - return target; - }; - - $.fn.cleardraw = function () { - var target = this.data('_jqs_vcanvas'); - if (target) { - target.reset(); - } - }; - - $.RangeMapClass = RangeMap = createClass({ - init: function (map) { - var key, range, rangelist = []; - for (key in map) { - if (map.hasOwnProperty(key) && typeof key === 'string' && key.indexOf(':') > -1) { - range = key.split(':'); - range[0] = range[0].length === 0 ? -Infinity : parseFloat(range[0]); - range[1] = range[1].length === 0 ? Infinity : parseFloat(range[1]); - range[2] = map[key]; - rangelist.push(range); - } - } - this.map = map; - this.rangelist = rangelist || false; - }, - - get: function (value) { - var rangelist = this.rangelist, - i, range, result; - if ((result = this.map[value]) !== undefined) { - return result; - } - if (rangelist) { - for (i = rangelist.length; i--;) { - range = rangelist[i]; - if (range[0] <= value && range[1] >= value) { - return range[2]; - } - } - } - return undefined; - } - }); - - // Convenience function - $.range_map = function(map) { - return new RangeMap(map); - }; - - MouseHandler = createClass({ - init: function (el, options) { - var $el = $(el); - this.$el = $el; - this.options = options; - this.currentPageX = 0; - this.currentPageY = 0; - this.el = el; - this.splist = []; - this.tooltip = null; - this.over = false; - this.displayTooltips = !options.get('disableTooltips'); - this.highlightEnabled = !options.get('disableHighlight'); - }, - - registerSparkline: function (sp) { - this.splist.push(sp); - if (this.over) { - this.updateDisplay(); - } - }, - - registerCanvas: function (canvas) { - var $canvas = $(canvas.canvas); - this.canvas = canvas; - this.$canvas = $canvas; - $canvas.mouseenter($.proxy(this.mouseenter, this)); - $canvas.mouseleave($.proxy(this.mouseleave, this)); - $canvas.click($.proxy(this.mouseclick, this)); - }, - - reset: function (removeTooltip) { - this.splist = []; - if (this.tooltip && removeTooltip) { - this.tooltip.remove(); - this.tooltip = undefined; - } - }, - - mouseclick: function (e) { - var clickEvent = $.Event('sparklineClick'); - clickEvent.originalEvent = e; - clickEvent.sparklines = this.splist; - this.$el.trigger(clickEvent); - }, - - mouseenter: function (e) { - $(document.body).unbind('mousemove.jqs'); - $(document.body).bind('mousemove.jqs', $.proxy(this.mousemove, this)); - this.over = true; - this.currentPageX = e.pageX; - this.currentPageY = e.pageY; - this.currentEl = e.target; - if (!this.tooltip && this.displayTooltips) { - this.tooltip = new Tooltip(this.options); - this.tooltip.updatePosition(e.pageX, e.pageY); - } - this.updateDisplay(); - }, - - mouseleave: function () { - $(document.body).unbind('mousemove.jqs'); - var splist = this.splist, - spcount = splist.length, - needsRefresh = false, - sp, i; - this.over = false; - this.currentEl = null; - - if (this.tooltip) { - this.tooltip.remove(); - this.tooltip = null; - } - - for (i = 0; i < spcount; i++) { - sp = splist[i]; - if (sp.clearRegionHighlight()) { - needsRefresh = true; - } - } - - if (needsRefresh) { - this.canvas.render(); - } - }, - - mousemove: function (e) { - this.currentPageX = e.pageX; - this.currentPageY = e.pageY; - this.currentEl = e.target; - if (this.tooltip) { - this.tooltip.updatePosition(e.pageX, e.pageY); - } - this.updateDisplay(); - }, - - updateDisplay: function () { - var splist = this.splist, - spcount = splist.length, - needsRefresh = false, - offset = this.$canvas.offset(), - localX = this.currentPageX - offset.left, - localY = this.currentPageY - offset.top, - tooltiphtml, sp, i, result, changeEvent; - if (!this.over) { - return; - } - for (i = 0; i < spcount; i++) { - sp = splist[i]; - result = sp.setRegionHighlight(this.currentEl, localX, localY); - if (result) { - needsRefresh = true; - } - } - if (needsRefresh) { - changeEvent = $.Event('sparklineRegionChange'); - changeEvent.sparklines = this.splist; - this.$el.trigger(changeEvent); - if (this.tooltip) { - tooltiphtml = ''; - for (i = 0; i < spcount; i++) { - sp = splist[i]; - tooltiphtml += sp.getCurrentRegionTooltip(); - } - this.tooltip.setContent(tooltiphtml); - } - if (!this.disableHighlight) { - this.canvas.render(); - } - } - if (result === null) { - this.mouseleave(); - } - } - }); - - - Tooltip = createClass({ - sizeStyle: 'position: static !important;' + - 'display: block !important;' + - 'visibility: hidden !important;' + - 'float: left !important;', - - init: function (options) { - var tooltipClassname = options.get('tooltipClassname', 'jqstooltip'), - sizetipStyle = this.sizeStyle, - offset; - this.container = options.get('tooltipContainer') || document.body; - this.tooltipOffsetX = options.get('tooltipOffsetX', 10); - this.tooltipOffsetY = options.get('tooltipOffsetY', 12); - // remove any previous lingering tooltip - $('#jqssizetip').remove(); - $('#jqstooltip').remove(); - this.sizetip = $('', { - id: 'jqssizetip', - style: sizetipStyle, - 'class': tooltipClassname - }); - this.tooltip = $('', { - id: 'jqstooltip', - 'class': tooltipClassname - }).appendTo(this.container); - // account for the container's location - offset = this.tooltip.offset(); - this.offsetLeft = offset.left; - this.offsetTop = offset.top; - this.hidden = true; - $(window).unbind('resize.jqs scroll.jqs'); - $(window).bind('resize.jqs scroll.jqs', $.proxy(this.updateWindowDims, this)); - this.updateWindowDims(); - }, - - updateWindowDims: function () { - this.scrollTop = $(window).scrollTop(); - this.scrollLeft = $(window).scrollLeft(); - this.scrollRight = this.scrollLeft + $(window).width(); - this.updatePosition(); - }, - - getSize: function (content) { - this.sizetip.html(content).appendTo(this.container); - this.width = this.sizetip.width() + 1; - this.height = this.sizetip.height(); - this.sizetip.remove(); - }, - - setContent: function (content) { - if (!content) { - this.tooltip.css('visibility', 'hidden'); - this.hidden = true; - return; - } - this.getSize(content); - this.tooltip.html(content) - .css({ - 'width': this.width, - 'height': this.height, - 'visibility': 'visible' - }); - if (this.hidden) { - this.hidden = false; - this.updatePosition(); - } - }, - - updatePosition: function (x, y) { - if (x === undefined) { - if (this.mousex === undefined) { - return; - } - x = this.mousex - this.offsetLeft; - y = this.mousey - this.offsetTop; - - } else { - this.mousex = x = x - this.offsetLeft; - this.mousey = y = y - this.offsetTop; - } - if (!this.height || !this.width || this.hidden) { - return; - } - - y -= this.height + this.tooltipOffsetY; - x += this.tooltipOffsetX; - - if (y < this.scrollTop) { - y = this.scrollTop; - } - if (x < this.scrollLeft) { - x = this.scrollLeft; - } else if (x + this.width > this.scrollRight) { - x = this.scrollRight - this.width; - } - - this.tooltip.css({ - 'left': x, - 'top': y - }); - }, - - remove: function () { - this.tooltip.remove(); - this.sizetip.remove(); - this.sizetip = this.tooltip = undefined; - $(window).unbind('resize.jqs scroll.jqs'); - } - }); - - initStyles = function() { - addCSS(defaultStyles); - }; - - $(initStyles); - - pending = []; - $.fn.sparkline = function (userValues, userOptions) { - return this.each(function () { - var options = new $.fn.sparkline.options(this, userOptions), - $this = $(this), - render, i; - render = function () { - var values, width, height, tmp, mhandler, sp, vals; - if (userValues === 'html' || userValues === undefined) { - vals = this.getAttribute(options.get('tagValuesAttribute')); - if (vals === undefined || vals === null) { - vals = $this.html(); - } - values = vals.replace(/(^\s*\s*$)|\s+/g, '').split(','); - } else { - values = userValues; - } - - width = options.get('width') === 'auto' ? values.length * options.get('defaultPixelsPerValue') : options.get('width'); - if (options.get('height') === 'auto') { - if (!options.get('composite') || !$.data(this, '_jqs_vcanvas')) { - // must be a better way to get the line height - tmp = document.createElement('span'); - tmp.innerHTML = 'a'; - $this.html(tmp); - height = $(tmp).innerHeight() || $(tmp).height(); - $(tmp).remove(); - tmp = null; - } - } else { - height = options.get('height'); - } - - if (!options.get('disableInteraction')) { - mhandler = $.data(this, '_jqs_mhandler'); - if (!mhandler) { - mhandler = new MouseHandler(this, options); - $.data(this, '_jqs_mhandler', mhandler); - } else if (!options.get('composite')) { - mhandler.reset(); - } - } else { - mhandler = false; - } - - if (options.get('composite') && !$.data(this, '_jqs_vcanvas')) { - if (!$.data(this, '_jqs_errnotify')) { - alert('Attempted to attach a composite sparkline to an element with no existing sparkline'); - $.data(this, '_jqs_errnotify', true); - } - return; - } - - sp = new $.fn.sparkline[options.get('type')](this, values, options, width, height); - - sp.render(); - - if (mhandler) { - mhandler.registerSparkline(sp); - } - }; - // jQuery 1.3.0 completely changed the meaning of :hidden :-/ - if (($(this).html() && !options.get('disableHiddenCheck') && $(this).is(':hidden')) || ($.fn.jquery < '1.3.0' && $(this).parents().is(':hidden')) || !$(this).parents('body').length) { - if (!options.get('composite') && $.data(this, '_jqs_pending')) { - // remove any existing references to the element - for (i = pending.length; i; i--) { - if (pending[i - 1][0] == this) { - pending.splice(i - 1, 1); - } - } - } - pending.push([this, render]); - $.data(this, '_jqs_pending', true); - } else { - render.call(this); - } - }); - }; - - $.fn.sparkline.defaults = getDefaults(); - - - $.sparkline_display_visible = function () { - var el, i, pl; - var done = []; - for (i = 0, pl = pending.length; i < pl; i++) { - el = pending[i][0]; - if ($(el).is(':visible') && !$(el).parents().is(':hidden')) { - pending[i][1].call(el); - $.data(pending[i][0], '_jqs_pending', false); - done.push(i); - } else if (!$(el).closest('html').length && !$.data(el, '_jqs_pending')) { - // element has been inserted and removed from the DOM - // If it was not yet inserted into the dom then the .data request - // will return true. - // removing from the dom causes the data to be removed. - $.data(pending[i][0], '_jqs_pending', false); - done.push(i); - } - } - for (i = done.length; i; i--) { - pending.splice(done[i - 1], 1); - } - }; - - - /** - * User option handler - */ - $.fn.sparkline.options = createClass({ - init: function (tag, userOptions) { - var extendedOptions, defaults, base, tagOptionType; - this.userOptions = userOptions = userOptions || {}; - this.tag = tag; - this.tagValCache = {}; - defaults = $.fn.sparkline.defaults; - base = defaults.common; - this.tagOptionsPrefix = userOptions.enableTagOptions && (userOptions.tagOptionsPrefix || base.tagOptionsPrefix); - - tagOptionType = this.getTagSetting('type'); - if (tagOptionType === UNSET_OPTION) { - extendedOptions = defaults[userOptions.type || base.type]; - } else { - extendedOptions = defaults[tagOptionType]; - } - this.mergedOptions = $.extend({}, base, extendedOptions, userOptions); - }, - - - getTagSetting: function (key) { - var prefix = this.tagOptionsPrefix, - val, i, pairs, keyval; - if (prefix === false || prefix === undefined) { - return UNSET_OPTION; - } - if (this.tagValCache.hasOwnProperty(key)) { - val = this.tagValCache.key; - } else { - val = this.tag.getAttribute(prefix + key); - if (val === undefined || val === null) { - val = UNSET_OPTION; - } else if (val.substr(0, 1) === '[') { - val = val.substr(1, val.length - 2).split(','); - for (i = val.length; i--;) { - val[i] = normalizeValue(val[i].replace(/(^\s*)|(\s*$)/g, '')); - } - } else if (val.substr(0, 1) === '{') { - pairs = val.substr(1, val.length - 2).split(','); - val = {}; - for (i = pairs.length; i--;) { - keyval = pairs[i].split(':', 2); - val[keyval[0].replace(/(^\s*)|(\s*$)/g, '')] = normalizeValue(keyval[1].replace(/(^\s*)|(\s*$)/g, '')); - } - } else { - val = normalizeValue(val); - } - this.tagValCache.key = val; - } - return val; - }, - - get: function (key, defaultval) { - var tagOption = this.getTagSetting(key), - result; - if (tagOption !== UNSET_OPTION) { - return tagOption; - } - return (result = this.mergedOptions[key]) === undefined ? defaultval : result; - } - }); - - - $.fn.sparkline._base = createClass({ - disabled: false, - - init: function (el, values, options, width, height) { - this.el = el; - this.$el = $(el); - this.values = values; - this.options = options; - this.width = width; - this.height = height; - this.currentRegion = undefined; - }, - - /** - * Setup the canvas - */ - initTarget: function () { - var interactive = !this.options.get('disableInteraction'); - if (!(this.target = this.$el.simpledraw(this.width, this.height, this.options.get('composite'), interactive))) { - this.disabled = true; - } else { - this.canvasWidth = this.target.pixelWidth; - this.canvasHeight = this.target.pixelHeight; - } - }, - - /** - * Actually render the chart to the canvas - */ - render: function () { - if (this.disabled) { - this.el.innerHTML = ''; - return false; - } - return true; - }, - - /** - * Return a region id for a given x/y co-ordinate - */ - getRegion: function (x, y) { - }, - - /** - * Highlight an item based on the moused-over x,y co-ordinate - */ - setRegionHighlight: function (el, x, y) { - var currentRegion = this.currentRegion, - highlightEnabled = !this.options.get('disableHighlight'), - newRegion; - if (x > this.canvasWidth || y > this.canvasHeight || x < 0 || y < 0) { - return null; - } - newRegion = this.getRegion(el, x, y); - if (currentRegion !== newRegion) { - if (currentRegion !== undefined && highlightEnabled) { - this.removeHighlight(); - } - this.currentRegion = newRegion; - if (newRegion !== undefined && highlightEnabled) { - this.renderHighlight(); - } - return true; - } - return false; - }, - - /** - * Reset any currently highlighted item - */ - clearRegionHighlight: function () { - if (this.currentRegion !== undefined) { - this.removeHighlight(); - this.currentRegion = undefined; - return true; - } - return false; - }, - - renderHighlight: function () { - this.changeHighlight(true); - }, - - removeHighlight: function () { - this.changeHighlight(false); - }, - - changeHighlight: function (highlight) {}, - - /** - * Fetch the HTML to display as a tooltip - */ - getCurrentRegionTooltip: function () { - var options = this.options, - header = '', - entries = [], - fields, formats, formatlen, fclass, text, i, - showFields, showFieldsKey, newFields, fv, - formatter, format, fieldlen, j; - if (this.currentRegion === undefined) { - return ''; - } - fields = this.getCurrentRegionFields(); - formatter = options.get('tooltipFormatter'); - if (formatter) { - return formatter(this, options, fields); - } - if (options.get('tooltipChartTitle')) { - header += '
-
+
Sent
-
+
Delivered
-
+
Opened
-
+
Replied
-
- Sent
-
-
- Delivered
-
-
- Opened
-
-
- Replied
-
+
+ Sent
+
+
+ Delivered
+
+
+ Opened
+
+
+ Replied
+
\n" +" Click to add a contact in your address book.\n" +"
\n" +" OpenERP helps you easily track all activities related to\n" +" a customer; discussions, history of business opportunities,\n" +" documents, etc.\n" +"
\n" +" " +msgstr "" +"\n" +" Klik for at tilføje kontakt i din adressebog.\n" +"
\n" +" OpenERP hjælper med at spore alle aktiviteter i forbindelse med\n" +" kunde korrespondance, historik på forretnings muligheder,\n" +" dokumenter, o.s.v.\n" +"
\n" +" " + +#. module: contacts +#: model:ir.actions.act_window,name:contacts.action_contacts +#: model:ir.ui.menu,name:contacts.menu_contacts +msgid "Contacts" +msgstr "Adressebog" diff --git a/addons/email_template/i18n/en_GB.po b/addons/email_template/i18n/en_GB.po new file mode 100644 index 00000000000..5734ecbd334 --- /dev/null +++ b/addons/email_template/i18n/en_GB.po @@ -0,0 +1,490 @@ +# English (United Kingdom) 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 AUTHORHello ${object.partner_id.name},
\n" +" \n" +"Here is your ${object.state in ('draft', 'sent') and 'quotation' or " +"'order confirmation'} from ${object.company_id.name}:
\n" +"\n" +"\n"
+" REFERENCES
\n"
+" Order number: ${object.name}
\n"
+" Order total: ${object.amount_total} "
+"${object.pricelist_id.currency_id.name}
\n"
+" Order date: ${object.date_order}
\n"
+" % if object.origin:\n"
+" Order reference: ${object.origin}
\n"
+" % endif\n"
+" % if object.client_order_ref:\n"
+" Your reference: ${object.client_order_ref}
\n"
+" % endif\n"
+" % if object.user_id:\n"
+" Your contact: ${object.user_id.name}\n"
+" % endif\n"
+"
\n" +" You can access this document and pay online via our Customer Portal:\n" +"
\n" +" View ${object.state in ('draft', 'sent') " +"and 'Quotation' or 'Order'}\n" +" % endif\n" +"\n" +" % if object.paypal_url:\n" +"It is also possible to directly pay with Paypal:
\n" +" \n" +"If you have any question, do not hesitate to contact us.
\n" +"Thank you for choosing ${object.company_id.name or 'us'}!
\n" +"Здравствуйте, ${object.partner_id.name}!
\n" +" \n" +"Направляем Вам ${object.state in ('draft', 'sent') and 'предложение' " +"or 'подтверждение заказа'} от ${object.company_id.name}:
\n" +"\n" +"\n"
+" СВОДКА
\n"
+" Заказ: ${object.name}
\n"
+" Итог: ${object.amount_total} "
+"${object.pricelist_id.currency_id.name}
\n"
+" Дата: ${object.date_order}
\n"
+" % if object.origin:\n"
+" Основание заказа: ${object.origin}
\n"
+" % endif\n"
+" % if object.client_order_ref:\n"
+" Ваша ссылка: ${object.client_order_ref}
\n"
+" % endif\n"
+" % if object.user_id:\n"
+" Ваш контакт: ${object.user_id.name}\n"
+" % endif\n"
+"
\n" +" Вы можете ознакомиться с этим документом онлайн и узнать о вариантах " +"оплаты через наш Портал:\n" +"
\n" +" Посмотреть ${object.state in ('draft', " +"'sent') and 'Предложение' or 'Заказ'}\n" +" % endif\n" +"\n" +" % if object.paypal_url:\n" +"Также возможно произвести оплату непосредственно через Paypal:
\n" +" \n" +"Если у Вас есть вопросы - пожалуйста, свяжитесь с нами.
\n" +"Спасибо, что выбрали ${object.company_id.name or 'нас'}!
\n" +"Hello ${object.partner_id.name},
\n" +"\n" +"A new invoice is available for you:
\n" +" \n" +"\n"
+" REFERENCES
\n"
+" Invoice number: ${object.number}
\n"
+" Invoice total: ${object.amount_total} "
+"${object.currency_id.name}
\n"
+" Invoice date: ${object.date_invoice}
\n"
+" % if object.origin:\n"
+" Order reference: ${object.origin}
\n"
+" % endif\n"
+" % if object.user_id:\n"
+" Your contact: ${object.user_id.name}\n"
+" % endif\n"
+"
\n" +" You can access the invoice document and pay online via our Customer " +"Portal:\n" +"
\n" +" View Invoice\n" +" % endif\n" +" \n" +" % if object.paypal_url:\n" +"It is also possible to directly pay with Paypal:
\n" +" \n" +"If you have any question, do not hesitate to contact us.
\n" +"Thank you for choosing ${object.company_id.name or 'us'}!
\n" +"Здравствуйте, ${object.partner_id.name},
\n" +"\n" +"Вам выставлен счёт:
\n" +" \n" +"\n"
+" СВОДКА
\n"
+" Счёт: ${object.number}
\n"
+" Итог: ${object.amount_total} "
+"${object.currency_id.name}
\n"
+" Дата: ${object.date_invoice}
\n"
+" % if object.origin:\n"
+" Основание: ${object.origin}
\n"
+" % endif\n"
+" % if object.user_id:\n"
+" Ваш контакт: ${object.user_id.name}\n"
+" % endif\n"
+"
\n" +" Вы можете ознакомиться с документом онлайн и узнать о вариантах оплаты " +"через наш Портал:\n" +"
\n" +" Посмотреть счёт\n" +" % endif\n" +" \n" +" % if object.paypal_url:\n" +"Также возможно произвести оплату через Paypal:
\n" +" \n" +"Если у Вас есть вопросы - пожалуйста, свяжитесь с нами.
\n" +"Спасибо, что выбрали ${object.company_id.name or 'нас'}!
\n" +"\n" +" Click to start a new purchase requisition process. \n" +"
\n" +" A purchase requisition is the step before a request for " +"quotation.\n" +" In a purchase requisition (or purchase tender), you can record " +"the\n" +" products you need to buy and trigger the creation of RfQs to\n" +" suppliers. After the negotiation, once you have reviewed all " +"the\n" +" supplier's offers, you can validate some and cancel others.\n" +"
\n" +" " +msgstr "" + +#. module: purchase_requisition +#: view:purchase.requisition:0 +#: field:purchase.requisition,user_id:0 +msgid "Responsible" +msgstr "" + +#. module: purchase_requisition +#: view:purchase.requisition:0 +#: field:purchase.requisition,state:0 +msgid "Status" +msgstr "" + +#. module: purchase_requisition +#: view:purchase.requisition:0 +msgid "Send to Suppliers" +msgstr "" + +#. module: purchase_requisition +#: view:purchase.requisition:0 +msgid "Group By..." +msgstr "" + +#. module: purchase_requisition +#: view:purchase.requisition:0 +#: selection:purchase.requisition,state:0 +msgid "Purchase Done" +msgstr "" + +#. module: purchase_requisition +#: field:purchase.requisition,message_follower_ids:0 +msgid "Followers" +msgstr "" + +#. module: purchase_requisition +#: view:purchase.requisition:0 +msgid "Purchase Requisition in negociation" +msgstr "" + +#. module: purchase_requisition +#: report:purchase.requisition:0 +#: field:purchase.requisition.partner,partner_id:0 +msgid "Supplier" +msgstr "" + +#. module: purchase_requisition +#: view:purchase.requisition:0 +#: selection:purchase.requisition,state:0 +msgid "New" +msgstr "" + +#. module: purchase_requisition +#: report:purchase.requisition:0 +msgid "Product Detail" +msgstr "" + +#. module: purchase_requisition +#: report:purchase.requisition:0 +msgid "Qty" +msgstr "" + +#. module: purchase_requisition +#: report:purchase.requisition:0 +msgid "Type" +msgstr "" + +#. module: purchase_requisition +#: model:ir.actions.act_window,name:purchase_requisition.action_purchase_requisition_partner +#: model:ir.actions.report.xml,name:purchase_requisition.report_purchase_requisition +#: model:ir.model,name:purchase_requisition.model_purchase_requisition +#: model:ir.module.category,name:purchase_requisition.module_category_purchase_requisition +#: field:product.product,purchase_requisition:0 +#: field:purchase.order,requisition_id:0 +#: view:purchase.requisition:0 +#: field:purchase.requisition.line,requisition_id:0 +#: view:purchase.requisition.partner:0 +msgid "Purchase Requisition" +msgstr "" + +#. module: purchase_requisition +#: model:ir.model,name:purchase_requisition.model_purchase_requisition_line +msgid "Purchase Requisition Line" +msgstr "" + +#. module: purchase_requisition +#: view:purchase.order:0 +msgid "Purchase Orders with requisition" +msgstr "" + +#. module: purchase_requisition +#: model:ir.model,name:purchase_requisition.model_product_product +#: field:purchase.requisition.line,product_id:0 +msgid "Product" +msgstr "" + +#. module: purchase_requisition +#: view:purchase.requisition:0 +msgid "Quotations" +msgstr "" + +#. module: purchase_requisition +#: view:purchase.requisition:0 +msgid "Terms and Conditions" +msgstr "" + +#. module: purchase_requisition +#: report:purchase.requisition:0 +#: field:purchase.requisition,description:0 +msgid "Description" +msgstr "" + +#. module: purchase_requisition +#: field:purchase.requisition,message_unread:0 +msgid "Unread Messages" +msgstr "" + +#. module: purchase_requisition +#: field:purchase.requisition,company_id:0 +#: field:purchase.requisition.line,company_id:0 +msgid "Company" +msgstr "" + +#. module: purchase_requisition +#: view:purchase.requisition.partner:0 +msgid "Create Quotation" +msgstr "" + +#. module: purchase_requisition +#: help:purchase.requisition,message_ids:0 +msgid "Messages and communication history" +msgstr "" + +#. module: purchase_requisition +#: view:purchase.requisition:0 +msgid "Approved by Supplier" +msgstr "" + +#. module: purchase_requisition +#: view:purchase.requisition.partner:0 +msgid "or" +msgstr "" + +#. module: purchase_requisition +#: view:purchase.requisition:0 +msgid "Reset to Draft" +msgstr "" + +#. module: purchase_requisition +#: view:purchase.requisition:0 +msgid "Current Purchase Requisition" +msgstr "" + +#. module: purchase_requisition +#: model:res.groups,name:purchase_requisition.group_purchase_requisition_user +msgid "User" +msgstr "" + +#. module: purchase_requisition +#: report:purchase.requisition:0 +msgid "Order Reference" +msgstr "" + +#. module: purchase_requisition +#: field:purchase.requisition,message_is_follower:0 +msgid "Is a Follower" +msgstr "" + +#. module: purchase_requisition +#: field:purchase.requisition.line,product_qty:0 +msgid "Quantity" +msgstr "" + +#. module: purchase_requisition +#: view:purchase.requisition:0 +msgid "Unassigned Requisition" +msgstr "" + +#. module: purchase_requisition +#: model:ir.actions.act_window,name:purchase_requisition.action_purchase_requisition +#: model:ir.ui.menu,name:purchase_requisition.menu_purchase_requisition_pro_mgt +msgid "Purchase Requisitions" +msgstr "" + +#. module: purchase_requisition +#: report:purchase.requisition:0 +msgid "Quotation Detail" +msgstr "" + +#. module: purchase_requisition +#: code:addons/purchase_requisition/purchase_requisition.py:134 +#, python-format +msgid "" +"You have already one %s purchase order for this partner, you must cancel " +"this purchase order to create a new quotation." +msgstr "" + +#. module: purchase_requisition +#: view:purchase.requisition:0 +msgid "End Date" +msgstr "" + +#. module: purchase_requisition +#: report:purchase.requisition:0 +#: field:purchase.requisition,name:0 +msgid "Requisition Reference" +msgstr "" + +#. module: purchase_requisition +#: field:purchase.requisition,line_ids:0 +msgid "Products to Purchase" +msgstr "" + +#. module: purchase_requisition +#: view:purchase.requisition:0 +#: selection:purchase.requisition,state:0 +msgid "Sent to Suppliers" +msgstr "" + +#. module: purchase_requisition +#: view:purchase.requisition:0 +msgid "Search Purchase Requisition" +msgstr "" + +#. module: purchase_requisition +#: code:addons/purchase_requisition/wizard/purchase_requisition_partner.py:41 +#, python-format +msgid "No Product in Tender." +msgstr "" + +#. module: purchase_requisition +#: report:purchase.requisition:0 +msgid "Date Ordered" +msgstr "" + +#. module: purchase_requisition +#: field:purchase.requisition,message_ids:0 +msgid "Messages" +msgstr "" + +#. module: purchase_requisition +#: help:purchase.requisition,exclusive:0 +msgid "" +"Purchase Requisition (exclusive): On the confirmation of a purchase order, " +"it cancels the remaining purchase order.\n" +"Purchase Requisition(Multiple): It allows to have multiple purchase " +"orders.On confirmation of a purchase order it does not cancel the remaining " +"orders" +msgstr "" + +#. module: purchase_requisition +#: view:purchase.requisition:0 +msgid "Cancel Purchase Order" +msgstr "" + +#. module: purchase_requisition +#: model:ir.model,name:purchase_requisition.model_purchase_order +#: view:purchase.requisition:0 +msgid "Purchase Order" +msgstr "" + +#. module: purchase_requisition +#: field:purchase.requisition,origin:0 +msgid "Source Document" +msgstr "" + +#. module: purchase_requisition +#: code:addons/purchase_requisition/wizard/purchase_requisition_partner.py:41 +#, python-format +msgid "Error!" +msgstr "" + +#. module: purchase_requisition +#: field:purchase.requisition,exclusive:0 +msgid "Requisition Type" +msgstr "" + +#. module: purchase_requisition +#: view:purchase.requisition:0 +msgid "New Purchase Requisition" +msgstr "" + +#. module: purchase_requisition +#: view:purchase.requisition:0 +msgid "Products" +msgstr "" + +#. module: purchase_requisition +#: view:purchase.requisition:0 +msgid "Order Date" +msgstr "" + +#. module: purchase_requisition +#: selection:purchase.requisition,state:0 +msgid "Cancelled" +msgstr "" + +#. module: purchase_requisition +#: model:ir.model,name:purchase_requisition.model_purchase_requisition_partner +msgid "Purchase Requisition Partner" +msgstr "" + +#. module: purchase_requisition +#: help:purchase.requisition,message_unread:0 +msgid "If checked new messages require your attention." +msgstr "" + +#. module: purchase_requisition +#: report:purchase.requisition:0 +msgid "Purchase for Requisitions" +msgstr "" + +#. module: purchase_requisition +#: model:ir.actions.act_window,name:purchase_requisition.act_res_partner_2_purchase_order +msgid "Purchase orders" +msgstr "" + +#. module: purchase_requisition +#: field:purchase.requisition,date_end:0 +msgid "Requisition Deadline" +msgstr "" + +#. module: purchase_requisition +#: field:purchase.requisition,message_summary:0 +msgid "Summary" +msgstr "" + +#. module: purchase_requisition +#: view:purchase.requisition:0 +msgid "Reference" +msgstr "" + +#. module: purchase_requisition +#: model:ir.model,name:purchase_requisition.model_procurement_order +msgid "Procurement" +msgstr "" + +#. module: purchase_requisition +#: report:purchase.requisition:0 +#: view:purchase.requisition:0 +msgid "Source" +msgstr "" + +#. module: purchase_requisition +#: field:purchase.requisition,warehouse_id:0 +msgid "Warehouse" +msgstr "" + +#. module: purchase_requisition +#: field:procurement.order,requisition_id:0 +msgid "Latest Requisition" +msgstr "" + +#. module: purchase_requisition +#: model:res.groups,name:purchase_requisition.group_purchase_requisition_manager +msgid "Manager" +msgstr "" + +#. module: purchase_requisition +#: selection:purchase.requisition,exclusive:0 +msgid "Purchase Requisition (exclusive)" +msgstr "" + +#. module: purchase_requisition +#: help:purchase.requisition,message_summary:0 +msgid "" +"Holds the Chatter summary (number of messages, ...). This summary is " +"directly in html format in order to be inserted in kanban views." +msgstr "" + +#. module: purchase_requisition +#: report:purchase.requisition:0 +msgid "Product UoM" +msgstr "" + +#. module: purchase_requisition +#: code:addons/purchase_requisition/purchase_requisition.py:134 +#, python-format +msgid "Warning!" +msgstr "" + +#. module: purchase_requisition +#: view:purchase.requisition:0 +msgid "Confirm Purchase Order" +msgstr "" + +#. module: purchase_requisition +#: view:purchase.requisition.partner:0 +msgid "Cancel" +msgstr "" + +#. module: purchase_requisition +#: report:purchase.requisition:0 +#: field:purchase.requisition,date_start:0 +msgid "Requisition Date" +msgstr "" + +#. module: purchase_requisition +#: view:purchase.requisition:0 +msgid "Start Date" +msgstr "" + +#. module: purchase_requisition +#: view:purchase.requisition:0 +msgid "Unassigned" +msgstr "" + +#. module: purchase_requisition +#: view:purchase.order:0 +msgid "Requisition" +msgstr "" + +#. module: purchase_requisition +#: help:product.product,purchase_requisition:0 +msgid "" +"Check this box to generates purchase requisition instead of generating " +"requests for quotation from procurement." +msgstr "" + +#. module: purchase_requisition +#: field:purchase.requisition,purchase_ids:0 +msgid "Purchase Orders" +msgstr "" diff --git a/addons/web/i18n/ar.po b/addons/web/i18n/ar.po index eb9041c585e..65bbcd33781 100644 --- a/addons/web/i18n/ar.po +++ b/addons/web/i18n/ar.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:44+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:39+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web #. openerp-web diff --git a/addons/web/i18n/bg.po b/addons/web/i18n/bg.po index 988b4e3a659..f291d6adfe4 100644 --- a/addons/web/i18n/bg.po +++ b/addons/web/i18n/bg.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:44+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:39+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web #. openerp-web diff --git a/addons/web/i18n/bn.po b/addons/web/i18n/bn.po index bcfc65395af..00d840da9f5 100644 --- a/addons/web/i18n/bn.po +++ b/addons/web/i18n/bn.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:44+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:39+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web #. openerp-web diff --git a/addons/web/i18n/bs.po b/addons/web/i18n/bs.po index 8576e8affac..649a3838e96 100644 --- a/addons/web/i18n/bs.po +++ b/addons/web/i18n/bs.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:44+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:39+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web #. openerp-web @@ -36,14 +36,14 @@ msgstr "prije %d minuta" #: code:addons/web/static/src/js/coresetup.js:620 #, python-format msgid "Still loading...+ Click to define a new mass mailing campaign. +
+ Create a campaign to structure mass mailing and get analysis from email status. +
+- Please choose a mass mailing campaign that will hold the new mailing. -
-- Please choose a model on which you will run the mass mailing. -
-+ Please choose a mass mailing campaign that will hold the new mailing. +
+- Please choose a filter that will be applied on the model - to find the records on which you will run the mass mailing. -
-+ Please choose a model on which you will run the mass mailing. +
+- Please choose the template to use to render the emails - to send. -
-+ Please choose a filter that will be applied on the model + to find the records on which you will run the mass mailing. +
+- Please choose the name of the mailing. -
-+ Please choose the template to use to render the emails + to send. +
++ Please choose the name of the mailing. +
+\n" +" Click to create a marketing campaign.\n" +"
\n" +" OpenERP's marketing campaign allows you to automate " +"communication\n" +" to your prospects. You can define a segment (set of conditions) " +"on\n" +" your leads and partners to fullfil the campaign.\n" +"
\n" +" A campaign can have many activities like sending an email, " +"printing\n" +" a letter, assigning to a team, etc. These activities are " +"triggered\n" +" from specific situations; contact form, 10 days after first\n" +" contact, if a lead is not closed yet, etc.\n" +"
\n" +" " +msgstr "" + +#. module: marketing_campaign +#: field:marketing.campaign.transition,interval_nbr:0 +msgid "Interval Value" +msgstr "" + +#. module: marketing_campaign +#: field:campaign.analysis,revenue:0 +#: field:marketing.campaign.activity,revenue:0 +msgid "Revenue" +msgstr "" + +#. module: marketing_campaign +#: selection:campaign.analysis,month:0 +msgid "September" +msgstr "" + +#. module: marketing_campaign +#: selection:campaign.analysis,month:0 +msgid "December" +msgstr "" + +#. module: marketing_campaign +#: help:marketing.campaign,partner_field_id:0 +msgid "" +"The generated workitems will be linked to the partner related to the record. " +"If the record is the partner itself leave this field empty. This is useful " +"for reporting purposes, via the Campaign Analysis or Campaign Follow-up " +"views." +msgstr "" + +#. module: marketing_campaign +#: view:campaign.analysis:0 +#: field:campaign.analysis,month:0 +msgid "Month" +msgstr "" + +#. module: marketing_campaign +#: field:marketing.campaign.transition,activity_to_id:0 +msgid "Next Activity" +msgstr "" + +#. module: marketing_campaign +#: model:ir.actions.act_window,name:marketing_campaign.act_marketing_campaing_stat +#: model:ir.actions.act_window,name:marketing_campaign.action_marketing_campaign_workitem +#: model:ir.ui.menu,name:marketing_campaign.menu_action_marketing_campaign_workitem +msgid "Campaign Follow-up" +msgstr "" + +#. module: marketing_campaign +#: view:marketing.campaign:0 +msgid "Test Mode" +msgstr "" + +#. module: marketing_campaign +#: selection:marketing.campaign.segment,sync_mode:0 +msgid "Only records modified after last sync (no duplicates)" +msgstr "" + +#. module: marketing_campaign +#: model:ir.model,name:marketing_campaign.model_ir_actions_report_xml +msgid "ir.actions.report.xml" +msgstr "" + +#. module: marketing_campaign +#: view:marketing.campaign:0 +msgid "Campaign Statistics" +msgstr "" + +#. module: marketing_campaign +#: help:marketing.campaign.activity,server_action_id:0 +msgid "The action to perform when this activity is activated" +msgstr "" + +#. module: marketing_campaign +#: field:marketing.campaign,partner_field_id:0 +msgid "Partner Field" +msgstr "" + +#. module: marketing_campaign +#: view:campaign.analysis:0 +#: model:ir.actions.act_window,name:marketing_campaign.action_campaign_analysis_all +#: model:ir.model,name:marketing_campaign.model_campaign_analysis +#: model:ir.ui.menu,name:marketing_campaign.menu_action_campaign_analysis_all +msgid "Campaign Analysis" +msgstr "" + +#. module: marketing_campaign +#: help:marketing.campaign.segment,sync_mode:0 +msgid "" +"Determines an additional criterion to add to the filter when selecting new " +"records to inject in the campaign. \"No duplicates\" prevents selecting " +"records which have already entered the campaign previously.If the campaign " +"has a \"unique field\" set, \"no duplicates\" will also prevent selecting " +"records which have the same value for the unique field as other records that " +"already entered the campaign." +msgstr "" + +#. module: marketing_campaign +#: selection:marketing.campaign,mode:0 +msgid "Test in Realtime" +msgstr "" + +#. module: marketing_campaign +#: selection:marketing.campaign,mode:0 +msgid "Test Directly" +msgstr "" + +#. module: marketing_campaign +#: field:marketing.campaign.activity,report_directory_id:0 +msgid "Directory" +msgstr "" + +#. module: marketing_campaign +#: view:marketing.campaign:0 +#: view:marketing.campaign.segment:0 +msgid "Draft" +msgstr "" + +#. module: marketing_campaign +#: view:marketing.campaign.workitem:0 +msgid "Marketing Campaign Activity" +msgstr "" + +#. module: marketing_campaign +#: view:marketing.campaign.workitem:0 +msgid "Preview" +msgstr "" + +#. module: marketing_campaign +#: view:campaign.analysis:0 +#: field:campaign.analysis,state:0 +#: view:marketing.campaign:0 +#: field:marketing.campaign,state:0 +#: view:marketing.campaign.segment:0 +#: field:marketing.campaign.segment,state:0 +#: view:marketing.campaign.workitem:0 +#: field:marketing.campaign.workitem,state:0 +msgid "Status" +msgstr "" + +#. module: marketing_campaign +#: selection:campaign.analysis,month:0 +msgid "August" +msgstr "" + +#. module: marketing_campaign +#: selection:marketing.campaign,mode:0 +msgid "Normal" +msgstr "" + +#. module: marketing_campaign +#: help:marketing.campaign.activity,start:0 +msgid "This activity is launched when the campaign starts." +msgstr "" + +#. module: marketing_campaign +#: help:marketing.campaign.activity,signal:0 +msgid "" +"An activity with a signal can be called programmatically. Be careful, the " +"workitem is always created when a signal is sent" +msgstr "" + +#. module: marketing_campaign +#: view:campaign.analysis:0 +#: selection:campaign.analysis,state:0 +#: view:marketing.campaign.workitem:0 +#: selection:marketing.campaign.workitem,state:0 +msgid "To Do" +msgstr "" + +#. module: marketing_campaign +#: selection:campaign.analysis,month:0 +msgid "June" +msgstr "" + +#. module: marketing_campaign +#: model:ir.model,name:marketing_campaign.model_email_template +msgid "Email Templates" +msgstr "" + +#. module: marketing_campaign +#: view:marketing.campaign.segment:0 +msgid "Sync mode: all records" +msgstr "" + +#. module: marketing_campaign +#: selection:marketing.campaign.segment,sync_mode:0 +msgid "All records (no duplicates)" +msgstr "" + +#. module: marketing_campaign +#: view:marketing.campaign.segment:0 +msgid "Newly Created" +msgstr "" + +#. module: marketing_campaign +#: field:campaign.analysis,date:0 +msgid "Date" +msgstr "" + +#. module: marketing_campaign +#: selection:campaign.analysis,month:0 +msgid "November" +msgstr "" + +#. module: marketing_campaign +#: field:marketing.campaign.activity,condition:0 +msgid "Condition" +msgstr "" + +#. module: marketing_campaign +#: help:marketing.campaign.activity,report_id:0 +msgid "The report to generate when this activity is activated" +msgstr "" + +#. module: marketing_campaign +#: field:marketing.campaign,unique_field_id:0 +msgid "Unique Field" +msgstr "" + +#. module: marketing_campaign +#: selection:campaign.analysis,state:0 +#: view:marketing.campaign.workitem:0 +#: selection:marketing.campaign.workitem,state:0 +msgid "Exception" +msgstr "" + +#. module: marketing_campaign +#: selection:campaign.analysis,month:0 +msgid "October" +msgstr "" + +#. module: marketing_campaign +#: field:marketing.campaign.activity,email_template_id:0 +msgid "Email Template" +msgstr "" + +#. module: marketing_campaign +#: selection:campaign.analysis,month:0 +msgid "January" +msgstr "" + +#. module: marketing_campaign +#: view:marketing.campaign.workitem:0 +#: field:marketing.campaign.workitem,date:0 +msgid "Execution Date" +msgstr "" + +#. module: marketing_campaign +#: model:ir.model,name:marketing_campaign.model_marketing_campaign_workitem +msgid "Campaign Workitem" +msgstr "" + +#. module: marketing_campaign +#: model:ir.model,name:marketing_campaign.model_marketing_campaign_activity +msgid "Campaign Activity" +msgstr "" + +#. module: marketing_campaign +#: help:marketing.campaign.activity,report_directory_id:0 +msgid "This folder is used to store the generated reports" +msgstr "" + +#. module: marketing_campaign +#: code:addons/marketing_campaign/marketing_campaign.py:136 +#: code:addons/marketing_campaign/marketing_campaign.py:148 +#: code:addons/marketing_campaign/marketing_campaign.py:158 +#, python-format +msgid "Error" +msgstr "" + +#. module: marketing_campaign +#: field:marketing.campaign.activity,server_action_id:0 +msgid "Action" +msgstr "" + +#. module: marketing_campaign +#: code:addons/marketing_campaign/marketing_campaign.py:528 +#, python-format +msgid "Automatic transition" +msgstr "" + +#. module: marketing_campaign +#: field:marketing.campaign.activity,start:0 +msgid "Start" +msgstr "" + +#. module: marketing_campaign +#: code:addons/marketing_campaign/marketing_campaign.py:819 +#, python-format +msgid "No preview" +msgstr "" + +#. module: marketing_campaign +#: view:marketing.campaign.workitem:0 +msgid "Process" +msgstr "" + +#. module: marketing_campaign +#: code:addons/marketing_campaign/marketing_campaign.py:530 +#: selection:marketing.campaign.transition,trigger:0 +#, python-format +msgid "Cosmetic" +msgstr "" + +#. module: marketing_campaign +#: help:marketing.campaign.transition,trigger:0 +msgid "How is the destination workitem triggered" +msgstr "" + +#. module: marketing_campaign +#: view:campaign.analysis:0 +#: selection:campaign.analysis,state:0 +#: view:marketing.campaign:0 +#: selection:marketing.campaign,state:0 +#: selection:marketing.campaign.segment,state:0 +#: selection:marketing.campaign.workitem,state:0 +msgid "Done" +msgstr "" + +#. module: marketing_campaign +#: code:addons/marketing_campaign/marketing_campaign.py:214 +#, python-format +msgid "Operation not supported" +msgstr "" + +#. module: marketing_campaign +#: view:marketing.campaign.workitem:0 +msgid "Cancel" +msgstr "" + +#. module: marketing_campaign +#: view:marketing.campaign.segment:0 +msgid "Close" +msgstr "" + +#. module: marketing_campaign +#: constraint:marketing.campaign.segment:0 +msgid "Model of filter must be same as resource model of Campaign " +msgstr "" + +#. module: marketing_campaign +#: view:marketing.campaign.segment:0 +msgid "Synchronize Manually" +msgstr "" + +#. module: marketing_campaign +#: view:marketing.campaign.workitem:0 +#: field:marketing.campaign.workitem,res_id:0 +msgid "Resource ID" +msgstr "" + +#. module: marketing_campaign +#: model:ir.model,name:marketing_campaign.model_marketing_campaign_transition +msgid "Campaign Transition" +msgstr "" + +#. module: marketing_campaign +#: view:marketing.campaign.segment:0 +msgid "Marketing Campaign Segment" +msgstr "" + +#. module: marketing_campaign +#: model:ir.actions.act_window,name:marketing_campaign.act_marketing_campaing_segment_opened +#: model:ir.actions.act_window,name:marketing_campaign.action_marketing_campaign_segment_form +#: model:ir.ui.menu,name:marketing_campaign.menu_marketing_campaign_segment_form +#: view:marketing.campaign:0 +#: view:marketing.campaign.segment:0 +msgid "Segments" +msgstr "" + +#. module: marketing_campaign +#: field:marketing.campaign.activity,keep_if_condition_not_met:0 +msgid "Don't Delete Workitems" +msgstr "" + +#. module: marketing_campaign +#: view:marketing.campaign.activity:0 +msgid "Incoming Transitions" +msgstr "" + +#. module: marketing_campaign +#: selection:marketing.campaign.transition,interval_type:0 +msgid "Day(s)" +msgstr "" + +#. module: marketing_campaign +#: view:marketing.campaign:0 +#: field:marketing.campaign,activity_ids:0 +#: view:marketing.campaign.activity:0 +msgid "Activities" +msgstr "" + +#. module: marketing_campaign +#: selection:marketing.campaign,mode:0 +msgid "With Manual Confirmation" +msgstr "" + +#. module: marketing_campaign +#: selection:campaign.analysis,month:0 +msgid "May" +msgstr "" + +#. module: marketing_campaign +#: field:marketing.campaign.activity,type:0 +msgid "Type" +msgstr "" + +#. module: marketing_campaign +#: model:email.template,subject:marketing_campaign.email_template_3 +msgid "Congratulations! You are now one of our Gold Partners!" +msgstr "" + +#. module: marketing_campaign +#: help:marketing.campaign,unique_field_id:0 +msgid "" +"If set, this field will help segments that work in \"no duplicates\" mode to " +"avoid selecting similar records twice. Similar records are records that have " +"the same value for this unique field. For example by choosing the " +"\"email_from\" field for CRM Leads you would prevent sending the same " +"campaign to the same email address again. If not set, the \"no duplicates\" " +"segments will only avoid selecting the same record again if it entered the " +"campaign previously. Only easily comparable fields like textfields, " +"integers, selections or single relationships may be used." +msgstr "" + +#. module: marketing_campaign +#: code:addons/marketing_campaign/marketing_campaign.py:529 +#, python-format +msgid "After %(interval_nbr)d %(interval_type)s" +msgstr "" + +#. module: marketing_campaign +#: model:ir.model,name:marketing_campaign.model_marketing_campaign +#: view:marketing.campaign:0 +msgid "Marketing Campaign" +msgstr "" + +#. module: marketing_campaign +#: field:marketing.campaign.segment,date_done:0 +msgid "End Date" +msgstr "" + +#. module: marketing_campaign +#: selection:campaign.analysis,month:0 +msgid "February" +msgstr "" + +#. module: marketing_campaign +#: view:campaign.analysis:0 +#: field:campaign.analysis,res_id:0 +#: view:marketing.campaign:0 +#: field:marketing.campaign,object_id:0 +#: field:marketing.campaign.segment,object_id:0 +#: view:marketing.campaign.workitem:0 +#: field:marketing.campaign.workitem,object_id:0 +msgid "Resource" +msgstr "" + +#. module: marketing_campaign +#: help:marketing.campaign,fixed_cost:0 +msgid "" +"Fixed cost for running this campaign. You may also specify variable cost and " +"revenue on each campaign activity. Cost and Revenue statistics are included " +"in Campaign Reporting." +msgstr "" + +#. module: marketing_campaign +#: view:marketing.campaign.segment:0 +msgid "Sync mode: only records updated after last sync" +msgstr "" + +#. module: marketing_campaign +#: code:addons/marketing_campaign/marketing_campaign.py:793 +#, python-format +msgid "Email Preview" +msgstr "" + +#. module: marketing_campaign +#: field:marketing.campaign.activity,signal:0 +msgid "Signal" +msgstr "" + +#. module: marketing_campaign +#: help:marketing.campaign.workitem,date:0 +msgid "If date is not set, this workitem has to be run manually" +msgstr "" + +#. module: marketing_campaign +#: selection:campaign.analysis,month:0 +msgid "April" +msgstr "" + +#. module: marketing_campaign +#: code:addons/marketing_campaign/marketing_campaign.py:158 +#, python-format +msgid "The campaign cannot be marked as done before all segments are closed." +msgstr "" + +#. module: marketing_campaign +#: view:marketing.campaign:0 +#: field:marketing.campaign,mode:0 +msgid "Mode" +msgstr "" + +#. module: marketing_campaign +#: view:campaign.analysis:0 +#: field:campaign.analysis,activity_id:0 +#: view:marketing.campaign.workitem:0 +#: field:marketing.campaign.workitem,activity_id:0 +msgid "Activity" +msgstr "" + +#. module: marketing_campaign +#: help:marketing.campaign.segment,ir_filter_id:0 +msgid "" +"Filter to select the matching resource records that belong to this segment. " +"New filters can be created and saved using the advanced search on the list " +"view of the Resource. If no filter is set, all records are selected without " +"filtering. The synchronization mode may also add a criterion to the filter." +msgstr "" + +#. module: marketing_campaign +#: code:addons/marketing_campaign/marketing_campaign.py:136 +#, python-format +msgid "The campaign cannot be started. There are no activities in it." +msgstr "" + +#. module: marketing_campaign +#: field:marketing.campaign.segment,date_next_sync:0 +msgid "Next Synchronization" +msgstr "" + +#. module: marketing_campaign +#: model:email.template,body_html:marketing_campaign.email_template_2 +msgid "" +"Hi, we are delighted to welcome you among our Silver Partners as of today!" +msgstr "" + +#. module: marketing_campaign +#: field:marketing.campaign.segment,ir_filter_id:0 +msgid "Filter" +msgstr "" + +#. module: marketing_campaign +#: view:marketing.campaign.segment:0 +msgid "All" +msgstr "" + +#. module: marketing_campaign +#: selection:marketing.campaign.segment,sync_mode:0 +msgid "Only records created after last sync" +msgstr "" + +#. module: marketing_campaign +#: field:marketing.campaign.activity,variable_cost:0 +msgid "Variable Cost" +msgstr "" + +#. module: marketing_campaign +#: model:email.template,subject:marketing_campaign.email_template_1 +msgid "Welcome to the OpenERP Partner Channel!" +msgstr "" + +#. module: marketing_campaign +#: view:campaign.analysis:0 +#: field:campaign.analysis,total_cost:0 +msgid "Cost" +msgstr "" + +#. module: marketing_campaign +#: view:campaign.analysis:0 +#: field:campaign.analysis,year:0 +msgid "Year" +msgstr ""