From eab2e225a223d0919ee4dde65f4dfe7e269fa01c Mon Sep 17 00:00:00 2001
From: "Nimesh (Open ERP)"
Date: Fri, 6 Jul 2012 14:46:08 +0530
Subject: [PATCH 01/97] [FIX]: add date validation.
bzr revid: nco@tinyerp.com-20120706091608-f5o08ke6z84oilui
---
addons/membership/membership.py | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/addons/membership/membership.py b/addons/membership/membership.py
index dc4eadbada9..f7007ac28e7 100644
--- a/addons/membership/membership.py
+++ b/addons/membership/membership.py
@@ -478,7 +478,14 @@ class Product(osv.osv):
'membership_date_from': fields.date('Date from', help='Date from which membership becomes active.'),
'membership_date_to': fields.date('Date to', help='Date until which membership remains active.'),
}
-
+ def _check_end_date(self, cr, uid, ids, context=None):
+ for membership in self.browse(cr, uid, ids, context=context):
+ if membership.membership_date_to < membership.membership_date_from:
+ return False
+ return True
+ _constraints = [
+ (_check_end_date, 'Error ! Ending Date cannot be set before Beginning Date.', ['membership_date_to']),
+ ]
_defaults = {
'membership': False,
}
From 55ce6a560fb31e86b3a0ae8d21ccaec9e48db3da Mon Sep 17 00:00:00 2001
From: "pankita shah (Open ERP)"
Date: Mon, 29 Oct 2012 18:12:26 +0530
Subject: [PATCH 02/97] [FIX] when user select lead and get draft mode
bzr revid: shp@tinyerp.com-20121029124226-cjn6s3sj434rm5q7
---
addons/crm/crm_lead.py | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/addons/crm/crm_lead.py b/addons/crm/crm_lead.py
index 9ee5aeb2301..00ee7582c4d 100644
--- a/addons/crm/crm_lead.py
+++ b/addons/crm/crm_lead.py
@@ -50,7 +50,7 @@ class crm_lead(base_stage, format_address, osv.osv):
def _get_default_stage_id(self, cr, uid, context=None):
""" Gives default stage_id """
section_id = self._get_default_section_id(cr, uid, context=context)
- return self.stage_find(cr, uid, [], section_id, [('state', '=', 'draft'), ('type', '=', 'both')], context=context)
+ return self.stage_find(cr, uid, [], section_id, [('state', '=', 'draft'),'|', ('type', '=', 'lead'),('type', '=', 'both'),], context=context)
def _resolve_section_id_from_context(self, cr, uid, context=None):
""" Returns ID of section based on the value of 'section_id'
@@ -340,7 +340,7 @@ class crm_lead(base_stage, format_address, osv.osv):
cases = self.browse(cr, uid, cases, context=context)
# collect all section_ids
section_ids = []
- types = ['both']
+ types = ['lead','opportunity','both']
if section_id:
section_ids.append(section_id)
for lead in cases:
From 084a4217a7022fbf9ecaca6bbfed135798fe856c Mon Sep 17 00:00:00 2001
From: "pankita shah (Open ERP)"
Date: Mon, 29 Oct 2012 18:53:13 +0530
Subject: [PATCH 03/97] [FIX] fixed when select type opportunuty then
opportunuty in draft mode
bzr revid: shp@tinyerp.com-20121029132313-5ctreoq9nv2fxvxc
---
addons/crm/crm_lead.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/addons/crm/crm_lead.py b/addons/crm/crm_lead.py
index 00ee7582c4d..da0a3f7d756 100644
--- a/addons/crm/crm_lead.py
+++ b/addons/crm/crm_lead.py
@@ -50,7 +50,7 @@ class crm_lead(base_stage, format_address, osv.osv):
def _get_default_stage_id(self, cr, uid, context=None):
""" Gives default stage_id """
section_id = self._get_default_section_id(cr, uid, context=context)
- return self.stage_find(cr, uid, [], section_id, [('state', '=', 'draft'),'|', ('type', '=', 'lead'),('type', '=', 'both'),], context=context)
+ return self.stage_find(cr, uid, [], section_id, [('state', '=', 'draft'),'|', ('type', '=', 'lead'),'|',('type', '=', 'both'),('type','=','opportunity')], context=context)
def _resolve_section_id_from_context(self, cr, uid, context=None):
""" Returns ID of section based on the value of 'section_id'
From 97208c971b9155cffa57f403109bc92104af9938 Mon Sep 17 00:00:00 2001
From: Antonin Bourguignon
Date: Mon, 29 Oct 2012 18:37:14 +0100
Subject: [PATCH 04/97] [IMP] avoid tabs (4 spaces) in the middle of help text
bzr revid: abo@openerp.com-20121029173714-qpr4rrhll576jxmm
---
addons/crm/crm_lead.py | 6 +-----
1 file changed, 1 insertion(+), 5 deletions(-)
diff --git a/addons/crm/crm_lead.py b/addons/crm/crm_lead.py
index da0a3f7d756..0366045b90f 100644
--- a/addons/crm/crm_lead.py
+++ b/addons/crm/crm_lead.py
@@ -224,11 +224,7 @@ class crm_lead(base_stage, format_address, osv.osv):
multi='day_close', type="float", store=True),
'state': fields.related('stage_id', 'state', type="selection", store=True,
selection=crm.AVAILABLE_STATES, string="Status", readonly=True,
- help='The Status is set to \'Draft\', when a case is created.\
- If the case is in progress the Status is set to \'Open\'.\
- When the case is over, the Status is set to \'Done\'.\
- If the case needs to be reviewed then the Status is \
- set to \'Pending\'.'),
+ help='The Status is set to \'Draft\', when a case is created. If the case is in progress the Status is set to \'Open\'. When the case is over, the Status is set to \'Done\'. If the case needs to be reviewed then the Status is set to \'Pending\'.'),
# Only used for type opportunity
'probability': fields.float('Success Rate (%)',group_operator="avg"),
From 7a8d6753021ea86f72ab2a7aca374e70620aa03c Mon Sep 17 00:00:00 2001
From: Antonin Bourguignon
Date: Mon, 29 Oct 2012 19:11:56 +0100
Subject: [PATCH 05/97] [IMP] code style remove mutable default remove useless
whitespaces
bzr revid: abo@openerp.com-20121029181156-ao52q3uun3ilp2qk
---
addons/crm/crm_lead.py | 4 ++-
addons/crm/crm_lead_view.xml | 66 ++++++++++++++++++------------------
2 files changed, 36 insertions(+), 34 deletions(-)
diff --git a/addons/crm/crm_lead.py b/addons/crm/crm_lead.py
index 0366045b90f..4074856ad81 100644
--- a/addons/crm/crm_lead.py
+++ b/addons/crm/crm_lead.py
@@ -324,7 +324,7 @@ class crm_lead(base_stage, format_address, osv.osv):
cases = self.browse(cr, uid, ids2, context=context)
return self._action(cr, uid, cases, False, context=context)
- def stage_find(self, cr, uid, cases, section_id, domain=[], order='sequence', context=None):
+ def stage_find(self, cr, uid, cases, section_id, domain=None, order='sequence', context=None):
""" Override of the base.stage method
Parameter of the stage search taken from the lead:
- type: stage type must be the same or 'both'
@@ -332,6 +332,8 @@ class crm_lead(base_stage, format_address, osv.osv):
be a default stage; if not set, stages must be default
stages
"""
+ if domain == None:
+ domain = []
if isinstance(cases, (int, long)):
cases = self.browse(cr, uid, cases, context=context)
# collect all section_ids
diff --git a/addons/crm/crm_lead_view.xml b/addons/crm/crm_lead_view.xml
index b6890a7de07..a05af900bb9 100644
--- a/addons/crm/crm_lead_view.xml
+++ b/addons/crm/crm_lead_view.xml
@@ -14,9 +14,9 @@
action_crm_lead_unread
-
+ action
-
+ crm.leadclient_action_multi
@@ -32,9 +32,9 @@
action_crm_lead_read
-
+ action
-
+ crm.leadclient_action_multi
@@ -143,7 +143,7 @@
-
+
@@ -500,7 +500,7 @@
-
+
@@ -542,15 +542,15 @@
-
+
-
+
-
+
@@ -568,30 +568,30 @@
-
+
-
+
+ help="Opportunities that are assigned to either me or one of the sale teams I manage"/>
-
+
-
-
+
+
-
+
-
+
From 5569c20aa19a85dd78bde23863833d558c8d5291 Mon Sep 17 00:00:00 2001
From: "pankita shah (Open ERP)"
Date: Tue, 30 Oct 2012 12:37:26 +0530
Subject: [PATCH 06/97] [FIXED] remove opportunity condition
bzr revid: shp@tinyerp.com-20121030070726-5s6ou598as1p4shb
---
addons/crm/crm_lead.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/addons/crm/crm_lead.py b/addons/crm/crm_lead.py
index 4074856ad81..0906bc4786a 100644
--- a/addons/crm/crm_lead.py
+++ b/addons/crm/crm_lead.py
@@ -50,7 +50,7 @@ class crm_lead(base_stage, format_address, osv.osv):
def _get_default_stage_id(self, cr, uid, context=None):
""" Gives default stage_id """
section_id = self._get_default_section_id(cr, uid, context=context)
- return self.stage_find(cr, uid, [], section_id, [('state', '=', 'draft'),'|', ('type', '=', 'lead'),'|',('type', '=', 'both'),('type','=','opportunity')], context=context)
+ return self.stage_find(cr, uid, [], section_id, [('state', '=', 'draft'),'|', ('type', '=', 'lead'),'|',('type', '=', 'both')], context=context)
def _resolve_section_id_from_context(self, cr, uid, context=None):
""" Returns ID of section based on the value of 'section_id'
From 2a03bc48b9b5ec6e108bf24b0576831876738ead Mon Sep 17 00:00:00 2001
From: "pankita shah (Open ERP)"
Date: Tue, 30 Oct 2012 15:00:57 +0530
Subject: [PATCH 07/97] [IMP] or condition
bzr revid: shp@tinyerp.com-20121030093057-ybd2uhr926dnyt9u
---
addons/crm/crm_lead.py | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/addons/crm/crm_lead.py b/addons/crm/crm_lead.py
index 0906bc4786a..aa3a5bfc24c 100644
--- a/addons/crm/crm_lead.py
+++ b/addons/crm/crm_lead.py
@@ -50,7 +50,7 @@ class crm_lead(base_stage, format_address, osv.osv):
def _get_default_stage_id(self, cr, uid, context=None):
""" Gives default stage_id """
section_id = self._get_default_section_id(cr, uid, context=context)
- return self.stage_find(cr, uid, [], section_id, [('state', '=', 'draft'),'|', ('type', '=', 'lead'),'|',('type', '=', 'both')], context=context)
+ return self.stage_find(cr, uid, [], section_id, [('state', '=', 'draft'),'|', ('type', '=', 'lead'),('type', '=', 'both')], context=context)
def _resolve_section_id_from_context(self, cr, uid, context=None):
""" Returns ID of section based on the value of 'section_id'
@@ -338,7 +338,7 @@ class crm_lead(base_stage, format_address, osv.osv):
cases = self.browse(cr, uid, cases, context=context)
# collect all section_ids
section_ids = []
- types = ['lead','opportunity','both']
+ types = ['lead','both']
if section_id:
section_ids.append(section_id)
for lead in cases:
From ccddcef5da063165ba075487ef980f09b90ea687 Mon Sep 17 00:00:00 2001
From: "pankita shah (Open ERP)"
Date: Wed, 31 Oct 2012 17:47:20 +0530
Subject: [PATCH 08/97] [FIX] set the domain
bzr revid: shp@tinyerp.com-20121031121720-8w2kml7l5mihdjop
---
addons/crm/crm_lead.py | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/addons/crm/crm_lead.py b/addons/crm/crm_lead.py
index aa3a5bfc24c..717ad673fe1 100644
--- a/addons/crm/crm_lead.py
+++ b/addons/crm/crm_lead.py
@@ -50,7 +50,7 @@ class crm_lead(base_stage, format_address, osv.osv):
def _get_default_stage_id(self, cr, uid, context=None):
""" Gives default stage_id """
section_id = self._get_default_section_id(cr, uid, context=context)
- return self.stage_find(cr, uid, [], section_id, [('state', '=', 'draft'),'|', ('type', '=', 'lead'),('type', '=', 'both')], context=context)
+ return self.stage_find(cr, uid, [], section_id, [('state', '=', 'draft')], context=context)
def _resolve_section_id_from_context(self, cr, uid, context=None):
""" Returns ID of section based on the value of 'section_id'
@@ -338,7 +338,9 @@ class crm_lead(base_stage, format_address, osv.osv):
cases = self.browse(cr, uid, cases, context=context)
# collect all section_ids
section_ids = []
- types = ['lead','both']
+ types = ['both']
+ if not cases :
+ types += ['lead', 'opportunity']
if section_id:
section_ids.append(section_id)
for lead in cases:
From b0b9b6191571917e97029c8d186ba7c0a00d90f5 Mon Sep 17 00:00:00 2001
From: "pankita shah (Open ERP)"
Date: Wed, 7 Nov 2012 18:26:15 +0530
Subject: [PATCH 09/97] [FiX] get types fron context
bzr revid: shp@tinyerp.com-20121107125615-3hwvihesuqyblta4
---
addons/crm/crm_lead.py | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/addons/crm/crm_lead.py b/addons/crm/crm_lead.py
index 717ad673fe1..43585d17d35 100644
--- a/addons/crm/crm_lead.py
+++ b/addons/crm/crm_lead.py
@@ -332,15 +332,14 @@ class crm_lead(base_stage, format_address, osv.osv):
be a default stage; if not set, stages must be default
stages
"""
- if domain == None:
- domain = []
if isinstance(cases, (int, long)):
cases = self.browse(cr, uid, cases, context=context)
# collect all section_ids
section_ids = []
types = ['both']
if not cases :
- types += ['lead', 'opportunity']
+ type = context.get('default_type')
+ types += [type]
if section_id:
section_ids.append(section_id)
for lead in cases:
From 3fd509b634c0c817052244da22affbb7524c3d37 Mon Sep 17 00:00:00 2001
From: Christophe Matthieu
Date: Mon, 12 Nov 2012 10:59:41 +0100
Subject: [PATCH 10/97] [IMP] mail: change the counter of the need action menu
when a message is read. Actually reload all the widget menu but we can
upgrade and change the number only (less request)
bzr revid: chm@openerp.com-20121112095941-yitxdd3dpjox4das
---
addons/mail/static/src/js/mail.js | 36 +++++++++++++++++++++++++++----
1 file changed, 32 insertions(+), 4 deletions(-)
diff --git a/addons/mail/static/src/js/mail.js b/addons/mail/static/src/js/mail.js
index 7acebe9b1df..5832f10bebb 100644
--- a/addons/mail/static/src/js/mail.js
+++ b/addons/mail/static/src/js/mail.js
@@ -748,7 +748,13 @@ openerp.mail = function (session) {
this.ds_notification.call('set_message_read', [ [this.id].concat( this.get_child_ids() ) , this.to_read, this.context]).then(function () {
self.$el.removeClass(self.to_read ? 'oe_msg_unread':'oe_msg_read').addClass(self.to_read ? 'oe_msg_read':'oe_msg_unread');
self.to_read = !self.to_read;
+ // CHM note: put this function inside a check of display message after star/read...
+ // we can make a function for manualy set the counter (menu.needaction_counter) and don't reload all the widget menu
+ if( self.options._parents[0].__parentedParent.__parentedParent.get_menu_emails ) {
+ self.options._parents[0].__parentedParent.__parentedParent.get_menu_emails().widget.do_reload();
+ }
});
+
return false;
},
@@ -1556,10 +1562,10 @@ openerp.mail = function (session) {
*/
init: function (parent, action) {
this._super(parent);
- var options = action.params || {};
- this.options = options;
- this.options.domain = options.domain || [];
- this.options.context = options.context || {};
+ this.action = action;
+ this.options = action.params;
+ this.options.domain = action.params.domain || [];
+ this.options.context = action.params.context || {};
this.search_results = {'domain': [], 'context': {}, 'groupby': {}}
this.ds_msg = new session.web.DataSetSearch(this, 'mail.message');
},
@@ -1573,6 +1579,28 @@ openerp.mail = function (session) {
return $.when(searchview_ready, thread_displayed);
},
+ /**
+ * crete an object "related_menu"
+ * contain the menu widget and the the sub menu related of this wall
+ */
+ get_menu_emails: function () {
+ var self = this;
+ if (!this.related_menu) {
+ var menu = this.__parentedParent.__parentedParent.menu;
+ var sub_menu = _.filter(menu.data.data.children, function (val) {return val.id == 100;})[0];
+
+ var menu_active = false;
+ _.find(sub_menu.children, function (sub_menu) {
+ return _.find(sub_menu.children, function (sub_sub_menu) {
+ menu_active = sub_sub_menu;
+ return sub_sub_menu.id == self.action.menu_id;
+ });
+ });
+ this.related_menu = {'widget': menu, 'menu': menu_active};
+ }
+ return this.related_menu;
+ },
+
/**
* Load the mail.message search view
* @param {Object} defaults ??
From c6557b4089b9f204a1e64150e307359df57aa020 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Thibault=20Delavall=C3=A9e?=
Date: Mon, 12 Nov 2012 17:23:00 +0100
Subject: [PATCH 11/97] [IMP] Demo data, by CHM, taken from old branch, to
clean history.
bzr revid: tde@openerp.com-20121112162300-3whtwa78qaskpey8
---
addons/mail/data/mail_demo.xml | 101 +++++++++++++++++----------------
1 file changed, 52 insertions(+), 49 deletions(-)
diff --git a/addons/mail/data/mail_demo.xml b/addons/mail/data/mail_demo.xml
index f189b10650c..6bef4edc2db 100644
--- a/addons/mail/data/mail_demo.xml
+++ b/addons/mail/data/mail_demo.xml
@@ -7,6 +7,38 @@
none
+
+
+ Hello Demo User! I was wondering whether you had some issues with our secret task about putting cats everywhere in OpenERP.
+ comment
+
+
+
+
+
+ No specific issues, I think everything is clear.
+
+ comment
+
+
+
+
+ Ow, just to be sure... we were talking about lolcats, right ?
+
+ comment
+
+
+
+
+ Absolutely!
+
+ comment
+
+
+
+
+
+
mail.group
@@ -51,39 +83,6 @@ This month you also get 250 EUR of eco-vouchers if you have been in the company
-
-
- Hello Demo User! I was wondering whether you had some issues with our secret task about putting cats everywhere in OpenERP.
- comment
-
-
-
-
-
- No specific issues, I think everything is clear.
-
- comment
-
-
-
-
-
- Ow, just to be sure... we were talking about lolcats, right ?
-
- comment
-
-
-
-
-
- Absolutely!
-
- comment
-
-
-
-
-
Plan to install OpenERP
@@ -96,8 +95,10 @@ This month you also get 250 EUR of eco-vouchers if you have been in the company
Sophie
email
+
+ 2012-11-12 9:13:32ir.attachment
@@ -117,9 +118,10 @@ This month you also get 250 EUR of eco-vouchers if you have been in the company
comment
-
+
-
+
+
@@ -199,6 +201,7 @@ This month you also get 250 EUR of eco-vouchers if you have been in the company
+ 2012-11-12 10:53:32mail.group
@@ -216,31 +219,31 @@ This month you also get 250 EUR of eco-vouchers if you have been in the company
- mail.group
+ res.partner
+ I changed the infrastructure of networks, if there are still changes to be made please do not hesitate to contact me.comment
+
+
+ 2012-11-12 9:49:32
+
+
+ Thank you, the networks is perfect now ! Could you add a IP phone for Jhon ?
+
+ comment
+
+ 2012-11-12 10:09:32
-
- mail.group
- Thank you, the networks is perfect now ! Could you add a IP phone for Jhon ?
+
+ It's right, his internal phone number is 0093comment
-
- mail.group
- It's right, his internal phone number is 0093
-
- comment
-
-
-
-
-
From ac05be9f5823c32b76354b80b6e43c7df3010f44 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Thibault=20Delavall=C3=A9e?=
Date: Mon, 12 Nov 2012 18:09:29 +0100
Subject: [PATCH 12/97] [IMP] mail: removed CSS on p, because of paragraphes
used in chatter messages leading to ugly chatter.
bzr revid: tde@openerp.com-20121112170929-36xtb03v8khvtnyx
---
addons/mail/static/src/css/mail.css | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/addons/mail/static/src/css/mail.css b/addons/mail/static/src/css/mail.css
index 1f90c75632f..1bef563d6ff 100644
--- a/addons/mail/static/src/css/mail.css
+++ b/addons/mail/static/src/css/mail.css
@@ -87,6 +87,10 @@
margin-bottom: 0px;
margin-top: 2px;
}
+.openerp .oe_mail .oe_msg .oe_msg_content .oe_msg_body p{
+ margin-top: 0px;
+ margin-bottom: 0px;
+}
/* a) Indented Messages */
From 206b015f8b8249e53da8c83ec62ed2503c56cb59 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Thibault=20Delavall=C3=A9e?=
Date: Mon, 12 Nov 2012 18:09:56 +0100
Subject: [PATCH 13/97] [IMP] [DEMO] mail: Wip about demo data. No time enough
today, will be continued asap.
bzr revid: tde@openerp.com-20121112170956-o31nqximygax6is6
---
addons/mail/__openerp__.py | 5 +-
addons/mail/data/mail_demo.xml | 55 ++++++++++----------
addons/mail/data/mail_group_data.xml | 17 +++----
addons/mail/data/mail_group_demo_data.xml | 62 +++++++++++++++++++++++
4 files changed, 99 insertions(+), 40 deletions(-)
create mode 100644 addons/mail/data/mail_group_demo_data.xml
diff --git a/addons/mail/__openerp__.py b/addons/mail/__openerp__.py
index 9ad3232d396..c535e3f7024 100644
--- a/addons/mail/__openerp__.py
+++ b/addons/mail/__openerp__.py
@@ -65,7 +65,10 @@ Main Features
'mail_alias_view.xml',
'res_users_view.xml',
],
- 'demo': ['data/mail_demo.xml'],
+ 'demo': [
+ 'data/mail_demo.xml',
+ 'data/mail_group_demo_data.xml',
+ ],
'installable': True,
'auto_install': False,
'application': True,
diff --git a/addons/mail/data/mail_demo.xml b/addons/mail/data/mail_demo.xml
index 6bef4edc2db..ef4487d3336 100644
--- a/addons/mail/data/mail_demo.xml
+++ b/addons/mail/data/mail_demo.xml
@@ -1,11 +1,15 @@
-
+
+
-
+
none
+
+ none
+
@@ -35,78 +39,75 @@
comment
-
- mail.group
- Your monthly meal vouchers arrived. You can get them at Christine's office.
-This month you also get 250 EUR of eco-vouchers if you have been in the company for more than a year.
+ Your monthly meal vouchers arrived. You can get them at Christine's office.]]>comment
+ mail.group
-
+ Oh, I had forgotten. This month you also get 250 EUR of eco-vouchers if you have been in the company for more than a year.]]>comment
+ mail.group
- Thanks, but where is Christine's office, if I may ask? (I'm new here)
+ Thanks! Could you please remind me where is Christine's office, if I may ask? I'm new here!]]>comment
+ mail.group
- Building B3, second floor on the right :-)
+ Building B3, second floor on the right :-).]]>comment
+ mail.group
- Great news, I need to buy a new fridge, I think I can pay it with the eco-vouchers!
+ Many thanks. Actually that's good news, next year I'll have to buy a new fridge, I think I will pay it with the eco-vouchers!]]>comment
+
-
-
+
+ Plan to install OpenERPmail.message
-
- <![CDATA[Email0 inquiry]]>
- <div><font size="2">Hello,</font></div><div><font size="2"><br></font></div>
- <div><font size="2">I am interested in your company's product and I plan to install OpenERP for my company and affordable price.</font></div><br/>
- <div><font size="2">Can you please send me services catalogue?</font></div><br/>
- Sophie
-
+ Hello
+I am interested in your company's product and I plan to install OpenERP for my company and affordable price.
+Can you please send me services catalogue?
+Sophie]]>email
-
+ virginie@agrolait.fr
- 2012-11-12 9:13:32
-
- ir.attachment
+ bWlncmF0aW9uIHRlc3Q=catalogue 2012.pdfcatalogue 2012.pdf
-
+ Re: Plan to install OpenERP
Dear Customer,<br/>
@@ -117,11 +118,9 @@ This month you also get 250 EUR of eco-vouchers if you have been in the company
comment
-
+
-
-
-
+
diff --git a/addons/mail/data/mail_group_data.xml b/addons/mail/data/mail_group_data.xml
index 11d0ee7d04b..8d002e1ec64 100644
--- a/addons/mail/data/mail_group_data.xml
+++ b/addons/mail/data/mail_group_data.xml
@@ -1,15 +1,12 @@
-
+
+
-
- Sales
- Discussion about best sales practices and deals.
- Whole Company
- Discussion about best sales practices and deals.
+ Discussion about the company.
@@ -18,11 +15,9 @@
notificationWelcome to OpenERP!
- Your homepage is a summary of messages you received and key information about documents you follow.
-
-The top menu bar contains all applications you installed. You can use this <i>Settings</i> menu to install more applications, activate others features or give access to new users.
-
-To setup your preferences (name, email signature, avatar), click on the top right corner.
+ Your homepage is a summary of messages you received and key information about documents you follow.
+
The top menu bar contains all applications you installed. You can use this <i>Settings</i> menu to install more applications, activate others features or give access to new users.
+
To setup your preferences (name, email signature, avatar), click on the top right corner.
]]>
diff --git a/addons/mail/data/mail_group_demo_data.xml b/addons/mail/data/mail_group_demo_data.xml
new file mode 100644
index 00000000000..c81df963d50
--- /dev/null
+++ b/addons/mail/data/mail_group_demo_data.xml
@@ -0,0 +1,62 @@
+
+
+
+
+
+
+ Best Sales Practices
+ Discussion about best sales practices and deals.
+
+
+
+ Board meetings
+ Board meetings and agenda
+
+
+
+ RD
+ Research and development discussion group
+
+
+
+ Leasing
+ Leasing, cars and fuel cards
+
+
+
+ Support
+ Support team
+
+
+
+ mail.group
+
+ MESSAGE UNREAD]]>
+ comment
+
+
+
+ mail.group
+
+ MESSAGE UNREAD]]>
+ comment
+
+
+
+ mail.group
+
+ MESSAGE UNREAD LIKED]]>
+ comment
+
+
+
+ mail.group
+
+ MESSAGE UNREAD LIKES]]>
+ comment
+
+
+
+
+
+
From cf4d660ce5e38063c2d1a08ebd457779c9805afb Mon Sep 17 00:00:00 2001
From: Christophe Matthieu
Date: Tue, 13 Nov 2012 11:58:50 +0100
Subject: [PATCH 14/97] [FIX] mail: do not destroy double message if there are
no message.id (for expandable message)
bzr revid: chm@openerp.com-20121113105850-ur1h9igelvk4uzcj
---
addons/mail/data/mail_demo.xml | 113 +++++++++++++++++-------------
addons/mail/static/src/js/mail.js | 2 +-
2 files changed, 64 insertions(+), 51 deletions(-)
diff --git a/addons/mail/data/mail_demo.xml b/addons/mail/data/mail_demo.xml
index ef4487d3336..b64b0356dbe 100644
--- a/addons/mail/data/mail_demo.xml
+++ b/addons/mail/data/mail_demo.xml
@@ -133,56 +133,69 @@ Sophie]]>
ir.attachment
- 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
- CAEAIAQAgP/Z
+ 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
+ kxzLdwM111ZhJXPm0ixn3/rQxvK6Vd4vn//Z
activity graph 2012.jpgactivity graph 2012
diff --git a/addons/mail/static/src/js/mail.js b/addons/mail/static/src/js/mail.js
index e214168cb25..a95ba1c14c8 100644
--- a/addons/mail/static/src/js/mail.js
+++ b/addons/mail/static/src/js/mail.js
@@ -1255,7 +1255,7 @@ openerp.mail = function (session) {
// check if the message is already create
for (var i in self.messages) {
- if (self.messages[i] && self.messages[i].id == message.id) {
+ if (message.id && self.messages[i] && self.messages[i].id == message.id) {
console.log('Reload message', message.id);
self.messages[i].destroy();
}
From 2414585a14ea749a96893d42b70f03a34dc38bf6 Mon Sep 17 00:00:00 2001
From: Christophe Matthieu
Date: Tue, 13 Nov 2012 12:16:42 +0100
Subject: [PATCH 15/97] [IMP] mail: demo data
bzr revid: chm@openerp.com-20121113111642-3ri3zbg07na1n3w9
---
addons/mail/data/mail_demo.xml | 44 ++++++++++++++++++----------------
1 file changed, 23 insertions(+), 21 deletions(-)
diff --git a/addons/mail/data/mail_demo.xml b/addons/mail/data/mail_demo.xml
index b64b0356dbe..dcacf4f9fc5 100644
--- a/addons/mail/data/mail_demo.xml
+++ b/addons/mail/data/mail_demo.xml
@@ -93,14 +93,15 @@
Plan to install OpenERPmail.message
- Hello
-I am interested in your company's product and I plan to install OpenERP for my company and affordable price.
-Can you please send me services catalogue?
-Sophie]]>
+ Hello,
+I am interested in your company's product and I plan to install OpenERP for my company and affordable price.
+Can you please send me services catalogue?
+Virginie]]>emailvirginie@agrolait.fr
+ bWlncmF0aW9uIHRlc3Q=
@@ -109,13 +110,13 @@ Sophie]]>
Re: Plan to install OpenERP
-
- Dear Customer,<br/>
- Thanks for showing interest in our products.<br/>
- We have attached the catalogue,<br/>
- We would like to know your interests, so let us know when we can call you for more details.<br/>
+
+ Thanks for showing interest in our products.
+ We have attached the catalogue,
+ We would like to know your interests, so let us know when we can call you for more details.
Regards
-
+ ]]>comment
@@ -202,30 +203,31 @@ Sophie]]>
mail.group
-
- Hi,<br/>
- The beta OpenERP 7 is scheduled for November 12.<br/>
- You will find attached the document for migration from version 6 to 7, and the activity graph for the current year. Good reading.<br/>
+
+ The beta OpenERP 7 is scheduled for November 12.
+ You will find attached the document for migration from version 6 to 7, and the activity graph for the current year. Good reading.
Sincerely
-
+ ]]>comment
-
+ 2012-11-12 10:53:32mail.group
-
- Thank you,<br/>
- Could you prepare and send us also the document for version 7.1 which will come soon?<br/>
+
+ Could you prepare and send us also the document for version 7.1 which will come soon?
Sincerely
-
+ ]]>comment
-
+
+
From b8f7e37715f4c72d968ad2196fc645aa7f5ae647 Mon Sep 17 00:00:00 2001
From: Christophe Matthieu
Date: Tue, 13 Nov 2012 13:56:51 +0100
Subject: [PATCH 16/97] [FIX] mail: openchatter reload message_ids for form
view
bzr revid: chm@openerp.com-20121113125651-cq67yb0g5n66ej55
---
addons/mail/static/src/js/mail.js | 9 ++++-----
1 file changed, 4 insertions(+), 5 deletions(-)
diff --git a/addons/mail/static/src/js/mail.js b/addons/mail/static/src/js/mail.js
index a95ba1c14c8..65f4a57473d 100644
--- a/addons/mail/static/src/js/mail.js
+++ b/addons/mail/static/src/js/mail.js
@@ -1530,7 +1530,6 @@ openerp.mail = function (session) {
'display_indented_thread': -1,
'show_reply_button': false,
'show_read_unread_button': false,
- 'show_compose_message': this.view.is_action_enabled('edit'),
'show_compact_message': 1,
}, this.node.params);
@@ -1556,9 +1555,10 @@ openerp.mail = function (session) {
return;
}
- this.node.params = _.extend({
- 'message_ids': this.getParent().fields.message_ids ? this.getParent().fields.message_ids.get_value() : undefined,
- }, this.node.params);
+ this.node.params = _.extend(this.node.params, {
+ 'message_ids': this.get_value(),
+ 'show_compose_message': this.view.is_action_enabled('edit'),
+ });
this.node.context = {
'default_res_id': this.view.datarecord.id || false,
'default_model': this.view.model || false,
@@ -1571,7 +1571,6 @@ openerp.mail = function (session) {
// create and render Thread widget
this.root = new mail.Widget(this, _.extend(this.node, {
'domain' : (this.domain || []).concat([['model', '=', this.view.model], ['res_id', '=', this.view.datarecord.id]]),
-
}));
return this.root.replace(this.$('.oe_mail-placeholder'));
From 0f3845bee6a7dfdac381c8e096d606a6f08f28bf Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Thibault=20Delavall=C3=A9e?=
Date: Tue, 13 Nov 2012 15:27:59 +0100
Subject: [PATCH 17/97] [FIX] [CLEAN] mail.js: removed references to
mail.thread. There shouldnot have been any of them left...
bzr revid: tde@openerp.com-20121113142759-wwhd3bssent1861a
---
addons/mail/static/src/js/mail.js | 7 ++-----
1 file changed, 2 insertions(+), 5 deletions(-)
diff --git a/addons/mail/static/src/js/mail.js b/addons/mail/static/src/js/mail.js
index f5d6941d96b..0d0cb9d0b31 100644
--- a/addons/mail/static/src/js/mail.js
+++ b/addons/mail/static/src/js/mail.js
@@ -1003,10 +1003,7 @@ openerp.mail = function (session) {
init: function (parent, datasets, options) {
this._super(parent, options);
this.domain = options.domain || [];
- this.context = _.extend({
- default_model: 'mail.thread',
- default_res_id: 0,
- default_parent_id: false }, options.context || {});
+ this.context = _.extend(options.context || {});
this.options = options.options;
this.options.root_thread = (options.options.root_thread != undefined ? options.options.root_thread : this);
@@ -1031,7 +1028,7 @@ openerp.mail = function (session) {
// object compose message
this.compose_message = false;
- this.ds_thread = new session.web.DataSetSearch(this, this.context.default_model || 'mail.thread');
+ this.ds_thread = new session.web.DataSetSearch(this, this.context.default_model);
this.ds_message = new session.web.DataSetSearch(this, 'mail.message');
},
From 0c16b8b4fa96e4c04be679babe71f2edca450cae Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20van=20der=20Essen?=
Date: Tue, 13 Nov 2012 15:29:20 +0100
Subject: [PATCH 18/97] [IMP] better image preview in attachments
bzr revid: fva@openerp.com-20121113142920-hojjecoz6x2vxuz4
---
addons/mail/static/src/css/mail.css | 17 ++++++++++-------
addons/mail/static/src/xml/mail.xml | 2 +-
2 files changed, 11 insertions(+), 8 deletions(-)
diff --git a/addons/mail/static/src/css/mail.css b/addons/mail/static/src/css/mail.css
index 48b194cf08b..db53eef51d2 100644
--- a/addons/mail/static/src/css/mail.css
+++ b/addons/mail/static/src/css/mail.css
@@ -218,8 +218,8 @@
.openerp .oe_mail .oe_msg_attachment_list{
display: none;
- margin-top: 12px;
- margin-bottom: 12px;
+ margin-top: 4px;
+ margin-bottom: 4px;
}
.openerp .oe_mail .oe_msg_composer .oe_msg_attachment_list{
display: block;
@@ -227,7 +227,7 @@
.openerp .oe_mail .oe_attachment{
display: inline-block;
width: 100px;
- margin: 2px;
+ margin: 4px 2px;
min-height: 80px;
position: relative;
border-radius: 3px;
@@ -240,7 +240,7 @@
padding: 1px 3px;
margin-top: 50px;
margin-bottom: 5px;
- background: rgba(124, 123, 173, 0.13);
+ background: #F4F5FA;
overflow: hidden;
color: #4c4c4c;
text-shadow: none;
@@ -296,12 +296,13 @@
.openerp .oe_mail .oe_attachment.oe_preview .oe_name{
position: absolute;
bottom: 0px;
- margin: 0px;
+ margin: 3px;
left: 0px;
right: 0px;
max-height: 64px;
background: rgba(0,0,0,0.8);
color: white;
+ border-radius: 1px;
border-top-left-radius: 0px;
border-top-right-radius: 0px;
opacity: 0;
@@ -330,9 +331,11 @@
position: relative;
margin:0px;
width: 100px;
- height: 100px;
- border-radius: 3px;
+ height: 80px;
+ border-radius: 1px;
+ border: solid 3px #FFF;
margin-left: -50px;
+ box-shadow: 0px 3px 10px rgba(0, 0, 0, 0.19);
}
.openerp .oe_mail .oe_attachment .oe_delete{
display: none;
diff --git a/addons/mail/static/src/xml/mail.xml b/addons/mail/static/src/xml/mail.xml
index 2ba1733043a..7e394c8ccbb 100644
--- a/addons/mail/static/src/xml/mail.xml
+++ b/addons/mail/static/src/xml/mail.xml
@@ -84,7 +84,7 @@
-
+
[
From b00a0ab7117f65fc59e66a7779441d60ceb9873c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20van=20der=20Essen?=
Date: Tue, 13 Nov 2012 15:54:53 +0100
Subject: [PATCH 19/97] [IMP] attachements are now always displayed
bzr revid: fva@openerp.com-20121113145453-35v399hqgz201ndj
---
addons/mail/static/src/css/mail.css | 1 -
addons/mail/static/src/js/mail.js | 15 +--------------
addons/mail/static/src/xml/mail.xml | 7 -------
3 files changed, 1 insertion(+), 22 deletions(-)
diff --git a/addons/mail/static/src/css/mail.css b/addons/mail/static/src/css/mail.css
index db53eef51d2..1056b54927c 100644
--- a/addons/mail/static/src/css/mail.css
+++ b/addons/mail/static/src/css/mail.css
@@ -217,7 +217,6 @@
/* --------------------- ATTACHMENTS --------------------- */
.openerp .oe_mail .oe_msg_attachment_list{
- display: none;
margin-top: 4px;
margin-bottom: 4px;
}
diff --git a/addons/mail/static/src/js/mail.js b/addons/mail/static/src/js/mail.js
index 0d0cb9d0b31..e06e5fec4de 100644
--- a/addons/mail/static/src/js/mail.js
+++ b/addons/mail/static/src/js/mail.js
@@ -737,7 +737,7 @@ openerp.mail = function (session) {
if(this.thread_level < this.options.display_indented_thread) {
this.create_thread();
}
- this.$('.oe_msg_attachments, .oe_msg_images').addClass("oe_hidden");
+ this.display_attachments();
this.ds_notification = new session.web.DataSetSearch(this, 'mail.notification');
this.ds_message = new session.web.DataSetSearch(this, 'mail.message');
@@ -755,8 +755,6 @@ openerp.mail = function (session) {
this.$('.oe_reply').on('click', this.on_message_reply);
this.$('.oe_star').on('click', this.on_star);
this.$('.oe_msg_vote').on('click', this.on_vote);
- this.$('.oe_view_attachments').on('click', this.on_view_attachments);
-
},
/* Call the on_compose_message on the thread of this message. */
@@ -815,17 +813,6 @@ openerp.mail = function (session) {
}
},
- /* Call the on_compose_message on the thread of this message. */
- on_view_attachments:function (event) {
- event.stopPropagation();
- var self = this;
- if (!this.toggle_attachment) {
- self.display_attachments();
- this.toggle_attachment = true;
- }
- this.$('.oe_msg_attachment_list').toggle(200);
- },
-
/**
* Wait a confirmation for delete the message on the DB.
* Make an animate destroy
diff --git a/addons/mail/static/src/xml/mail.xml b/addons/mail/static/src/xml/mail.xml
index 7e394c8ccbb..ab371dfd358 100644
--- a/addons/mail/static/src/xml/mail.xml
+++ b/addons/mail/static/src/xml/mail.xml
@@ -217,13 +217,6 @@
•
-
- •
-
- 1 Attachment
- Attachments
-
- •
From 62b376307b0607ca90674b1847ecdbfb658b59e4 Mon Sep 17 00:00:00 2001
From: Christophe Matthieu
Date: Wed, 14 Nov 2012 09:26:59 +0100
Subject: [PATCH 20/97] [IMP] mail: change the counter of the need action menu
when a message is read. Actually reload all the widget menu but we can
upgrade and change the number only (less request)
bzr revid: chm@openerp.com-20121114082659-31vxgq5synhdpobl
---
addons/mail/static/src/js/mail.js | 23 +++++++++++++----------
1 file changed, 13 insertions(+), 10 deletions(-)
diff --git a/addons/mail/static/src/js/mail.js b/addons/mail/static/src/js/mail.js
index e06e5fec4de..485b382d7c1 100644
--- a/addons/mail/static/src/js/mail.js
+++ b/addons/mail/static/src/js/mail.js
@@ -849,8 +849,8 @@ openerp.mail = function (session) {
msg.renderElement();
msg.start();
}
- if( self.options.root_thread.__parentedParent.__parentedParent.get_menu_emails ) {
- self.options.root_thread.__parentedParent.__parentedParent.get_menu_emails().do_reload();
+ if( self.options.root_thread.__parentedParent.__parentedParent.do_reload_menu_emails ) {
+ self.options.root_thread.__parentedParent.__parentedParent.do_reload_menu_emails();
}
});
@@ -1623,14 +1623,17 @@ openerp.mail = function (session) {
* crete an object "related_menu"
* contain the menu widget and the the sub menu related of this wall
*/
- get_menu_emails: function () {
- var self = this;
- if (!this.related_menu) {
- var menu = this.__parentedParent.__parentedParent.menu;
- var sub_menu = _.filter(menu.data.data.children, function (val) {return val.id == 100;})[0];
- this.related_menu = menu;
- }
- return this.related_menu;
+ do_reload_menu_emails: function () {
+ var menu = this.__parentedParent.__parentedParent.menu;
+ return this.rpc("/web/menu/load", {'menu_id': 100}).done(function(r) {
+ _.each(menu.data.data.children, function (val) {
+ if (val.id == 100) {
+ val.children = _.find(r.data.children, function (r_val) {return r_val.id == 100;}).children;
+ }
+ });
+ var r = menu.data;
+ menu.menu_loaded(r);
+ });
},
/**
From 4a91e273a8c0ead6ca39255724b74b06e730eade Mon Sep 17 00:00:00 2001
From: Christophe Matthieu
Date: Wed, 14 Nov 2012 11:47:17 +0100
Subject: [PATCH 21/97] [IMP] mail: unactivate reload menu
bzr revid: chm@openerp.com-20121114104717-zi5yl3knyhf7xgev
---
addons/mail/static/src/js/mail.js | 18 +++++++++---------
1 file changed, 9 insertions(+), 9 deletions(-)
diff --git a/addons/mail/static/src/js/mail.js b/addons/mail/static/src/js/mail.js
index 485b382d7c1..39d843b7e70 100644
--- a/addons/mail/static/src/js/mail.js
+++ b/addons/mail/static/src/js/mail.js
@@ -1625,15 +1625,15 @@ openerp.mail = function (session) {
*/
do_reload_menu_emails: function () {
var menu = this.__parentedParent.__parentedParent.menu;
- return this.rpc("/web/menu/load", {'menu_id': 100}).done(function(r) {
- _.each(menu.data.data.children, function (val) {
- if (val.id == 100) {
- val.children = _.find(r.data.children, function (r_val) {return r_val.id == 100;}).children;
- }
- });
- var r = menu.data;
- menu.menu_loaded(r);
- });
+ // return this.rpc("/web/menu/load", {'menu_id': 100}).done(function(r) {
+ // _.each(menu.data.data.children, function (val) {
+ // if (val.id == 100) {
+ // val.children = _.find(r.data.children, function (r_val) {return r_val.id == 100;}).children;
+ // }
+ // });
+ // var r = menu.data;
+ // menu.menu_loaded(r);
+ // });
},
/**
From 758115c1a56a83d804b71e583073403decdc4ee4 Mon Sep 17 00:00:00 2001
From: Christophe Matthieu
Date: Wed, 14 Nov 2012 11:47:21 +0100
Subject: [PATCH 22/97] [IMP] mail: add date on messages for the datademo
bzr revid: chm@openerp.com-20121114104721-8b5ajc21ii7cp8a2
---
addons/mail/data/mail_demo.xml | 55 ++++++++++++++++++++--------------
1 file changed, 33 insertions(+), 22 deletions(-)
diff --git a/addons/mail/data/mail_demo.xml b/addons/mail/data/mail_demo.xml
index dcacf4f9fc5..988c2cbdae1 100644
--- a/addons/mail/data/mail_demo.xml
+++ b/addons/mail/data/mail_demo.xml
@@ -49,6 +49,7 @@
comment
+ mail.group
@@ -58,6 +59,7 @@
comment
+ mail.group
@@ -67,6 +69,7 @@
comment
+
@@ -77,7 +80,8 @@
comment
-
+
+ mail.group
@@ -87,29 +91,31 @@
comment
+
- Plan to install OpenERP
+ Plan to install serversmail.messageHello,
-I am interested in your company's product and I plan to install OpenERP for my company and affordable price.
+I am interested in your company's product and I plan to install 2 servers for my company.
Can you please send me services catalogue?
Virginie]]>emailvirginie@agrolait.fr
-
+
+
-
+
-
+ ir.attachmentbWlncmF0aW9uIHRlc3Q=migration.docmigration.doc
-
+ ir.attachment
/9j/4AAQSkZJRgABAQEASABIAAD/2wBDAAUDBAQEAwUEBAQFBQUGBwwIBwcHBw8LCwkMEQ8SEhEP
@@ -201,38 +208,39 @@ Virginie]]>activity graph 2012.jpgactivity graph 2012
-
+ mail.group
- The beta OpenERP 7 is scheduled for November 12.
- You will find attached the document for migration from version 6 to 7, and the activity graph for the current year. Good reading.
+ The next version of catalogue price list is scheduled for this next month.
+ You will find attached the catalogue and the activity graph for the current year. Good reading.
Sincerely
]]>comment
-
+
- 2012-11-12 10:53:32
+
-
+ mail.group
- Could you prepare and send us also the document for version 7.1 which will come soon?
+ Could you add the price list of us services into this document ?
Sincerely
]]>comment
-
+
+
-
+ res.partnerI changed the infrastructure of networks, if there are still changes to be made please do not hesitate to contact me.
@@ -241,23 +249,26 @@ Virginie]]>
2012-11-12 9:49:32
+
-
+ Thank you, the networks is perfect now ! Could you add a IP phone for Jhon ?
-
+ comment2012-11-12 10:09:32
+
-
+ It's right, his internal phone number is 0093
-
+ comment
+
From a43662d1254dba1333cdc74bf01a3c7dcef76de7 Mon Sep 17 00:00:00 2001
From: Christophe Matthieu
Date: Wed, 14 Nov 2012 13:20:33 +0100
Subject: [PATCH 23/97] [IMP] mail: change the header title and description for
each mailbox and group discussion
bzr revid: chm@openerp.com-20121114122033-dl70fqty2kbd5gj1
---
addons/mail/data/mail_demo.xml | 3 +--
addons/mail/mail_group.py | 1 +
addons/mail/mail_group_view.xml | 11 +++++++++++
addons/mail/static/src/js/mail.js | 2 +-
addons/mail/static/src/xml/mail.xml | 8 +++++++-
5 files changed, 21 insertions(+), 4 deletions(-)
diff --git a/addons/mail/data/mail_demo.xml b/addons/mail/data/mail_demo.xml
index 988c2cbdae1..4866749cdae 100644
--- a/addons/mail/data/mail_demo.xml
+++ b/addons/mail/data/mail_demo.xml
@@ -80,7 +80,6 @@
comment
-
@@ -268,7 +267,7 @@ Virginie]]>
-
+
diff --git a/addons/mail/mail_group.py b/addons/mail/mail_group.py
index d4c9c565bf3..448d11230ba 100644
--- a/addons/mail/mail_group.py
+++ b/addons/mail/mail_group.py
@@ -133,6 +133,7 @@ class mail_group(osv.Model):
'context': {'default_model': 'mail.group', 'default_res_id': mail_group_id},
'res_model': 'mail.message',
'thread_level': 1,
+ 'header_description': vals['description'],
}
cobj = self.pool.get('ir.actions.client')
newref = cobj.copy(cr, SUPERUSER_ID, ref[1], default={'params': str(params), 'name': vals['name']}, context=context)
diff --git a/addons/mail/mail_group_view.xml b/addons/mail/mail_group_view.xml
index 214f6edf571..3f931327114 100644
--- a/addons/mail/mail_group_view.xml
+++ b/addons/mail/mail_group_view.xml
@@ -6,6 +6,17 @@
Discussion Groupmail.wallmail.message
+ {
+ 'search_default_message_unread': True
+ }
+ {
+ 'read_action': 'read'
+ }
+
+
From d282df466cec67563467c37155aaaa8effd18597 Mon Sep 17 00:00:00 2001
From: Christophe Matthieu
Date: Wed, 14 Nov 2012 14:25:17 +0100
Subject: [PATCH 24/97] [FIX] mail: do not display record_name when the user is
on a document
bzr revid: chm@openerp.com-20121114132517-6c5rfiikkuchcmxx
---
addons/crm/crm_lead_demo.xml | 4 +++-
addons/mail/data/mail_demo.xml | 3 +--
addons/mail/static/src/js/mail.js | 4 +++-
3 files changed, 7 insertions(+), 4 deletions(-)
diff --git a/addons/crm/crm_lead_demo.xml b/addons/crm/crm_lead_demo.xml
index 7849125282e..ad85636bb6d 100644
--- a/addons/crm/crm_lead_demo.xml
+++ b/addons/crm/crm_lead_demo.xml
@@ -547,7 +547,9 @@ Andrew
Plan to buy a Laptopcrm.lead
- <![CDATA[Email0 inquiry]]><div><font size="2">Hello,</font></div><div><font size="2"><br></font></div><div><font size="2">I am interested in your company's product and I plan to buy a new laptop having latest technologies and affordable price.</font></div><div><font size="2">Can you please send me product catalogue?</font></div>
+
+
Hello,
I am interested in your company's product and I plan to buy a new laptop having latest technologies and affordable price.
I am interested in your company's product and I plan to buy a new laptop having latest technologies and affordable price.
Can you please send me product catalogue?
-
+ Hello,
I am interested in your company's product and I plan to buy a new laptop having latest technologies and affordable price.
Can you please send me product catalogue?
+ ]]>
email
@@ -557,12 +557,11 @@ Andrew
crm.leadcomment
- Dear Customer,
-Thanks for showing interest in our products.
-We have attached the catalogue,
-We would like to know your interests, so let us know when we can call you for more details.
-
-Regards
+
+Thanks for showing interest in our products.
+We have attached the catalogue,
+We would like to know your interests, so let us know when we can call you for more details.
+Regards]]>
@@ -572,7 +571,7 @@ Regards
comment<div>Thanks for the information,</div><div>I will visit the store soon.</div>
-
+
@@ -581,7 +580,7 @@ Regards
comment<font color="#1f1f1f">Can you tell me if the store is open at 9:00 PM?</b></font>
-
+
@@ -590,7 +589,10 @@ Regards
Yes, its open till 10:00 PM, you are welcome!email
+
+
+ Inquiry
diff --git a/addons/mail/data/mail_demo.xml b/addons/mail/data/mail_demo.xml
index c7891efb51b..4ba223f6c45 100644
--- a/addons/mail/data/mail_demo.xml
+++ b/addons/mail/data/mail_demo.xml
@@ -70,7 +70,6 @@
-
mail.group
diff --git a/addons/mail/static/src/xml/mail.xml b/addons/mail/static/src/xml/mail.xml
index 2b9db8f195f..deab58eca00 100644
--- a/addons/mail/static/src/xml/mail.xml
+++ b/addons/mail/static/src/xml/mail.xml
@@ -206,13 +206,11 @@
I am interested in your company's product and I plan to buy a new laptop having latest technologies and affordable price.
Can you please send me product catalogue?
]]>
email
+ Re: Plan to buy a Laptop
@@ -563,7 +564,7 @@ We have attached the catalogue,
We would like to know your interests, so let us know when we can call you for more details.
Regards]]>
-
+ Re: Plan to buy a Laptop
@@ -572,7 +573,7 @@ Regards]]>
comment<div>Thanks for the information,</div><div>I will visit the store soon.</div>
-
+ Re: Plan to buy a Laptop
@@ -581,7 +582,7 @@ Regards]]>
comment<font color="#1f1f1f">Can you tell me if the store is open at 9:00 PM?</b></font>
-
+ Re: Plan to buy a Laptop
@@ -590,7 +591,7 @@ Regards]]>
Yes, its open till 10:00 PM, you are welcome!email
-
+
diff --git a/addons/mail/static/src/js/mail_followers.js b/addons/mail/static/src/js/mail_followers.js
index 7bb019cde4f..d299b9eb6f6 100644
--- a/addons/mail/static/src/js/mail_followers.js
+++ b/addons/mail/static/src/js/mail_followers.js
@@ -194,6 +194,7 @@ openerp_mail_followers = function(session, mail) {
display_subtypes:function (data) {
var self = this;
var subtype_list_ul = this.$('.oe_subtype_list');
+ subtype_list_ul.empty();
var records = data[this.view.datarecord.id || this.view.dataset.ids[0]].message_subtype_data;
_(records).each(function (record, record_name) {
record.name = record_name;
From 52349a7525af50f978691d389bd41d397bd69e53 Mon Sep 17 00:00:00 2001
From: Christophe Matthieu
Date: Wed, 14 Nov 2012 16:00:47 +0100
Subject: [PATCH 28/97] [IMP] mail and crm: demodata for search (has
attachment) and expandable
bzr revid: chm@openerp.com-20121114150047-f2d30euntwjurnt4
---
addons/mail/data/mail_demo.xml | 97 +++++++++++++++++++++--
addons/mail/data/mail_group_demo_data.xml | 29 -------
2 files changed, 91 insertions(+), 35 deletions(-)
diff --git a/addons/mail/data/mail_demo.xml b/addons/mail/data/mail_demo.xml
index 4ba223f6c45..08cf45bffd4 100644
--- a/addons/mail/data/mail_demo.xml
+++ b/addons/mail/data/mail_demo.xml
@@ -10,8 +10,86 @@
none
+
+
+ bWlncmF0aW9uIHRlc3Q=
+ my_attachment.xls
+ my_attachment.xls
+
+
+ mail.thread
+ Comment with attachment
+ Demo data with attachment and others messages
+ comment
+
+
+
+
+
+
+ mail.thread
+ MESSAGE
]]>
+ comment
+
+
+
+
+
+
+ mail.thread
+ MESSAGE]]>
+ comment
+
+
+
+
+
+
+ mail.thread
+ MESSAGE]]>
+ comment
+
+
+
+
+
+
+ mail.thread
+ MESSAGE]]>
+ comment
+
+
+
+
+
+
+ bWlncmF0aW9uIHRlc3Q=
+ my_other_attachment.ai
+ my_other_attachment.ai
+
+
+ mail.thread
+ MESSAGE]]>
+ comment
+
+
+
+
+
+
+
+ mail.thread
+ MESSAGE]]>
+ comment
+
+
+
+
+
+
+ mail.threadHello Demo User! I was wondering whether you had some issues with our secret task about putting cats everywhere in OpenERP.comment
@@ -19,6 +97,7 @@
+ mail.threadNo specific issues, I think everything is clear.comment
@@ -26,6 +105,7 @@
+ mail.threadOw, just to be sure... we were talking about lolcats, right ?comment
@@ -93,12 +173,13 @@
+ mail.threadPlan to install servers
- mail.messageHello,
-I am interested in your company's product and I plan to install 2 servers for my company.
-Can you please send me services catalogue?
-Virginie]]>
+ I am interested in your company's product and I plan to install 2 servers for my company.
+ Can you please send me services catalogue?
+ Virginie
+ ]]>
emailvirginie@agrolait.fr
@@ -106,10 +187,12 @@ Virginie]]>
+
+
From b581043859bc402e778d1426233154906584f834 Mon Sep 17 00:00:00 2001
From: Christophe Matthieu
Date: Wed, 14 Nov 2012 16:53:25 +0100
Subject: [PATCH 31/97] [FIX] mail: expandable insert after
bzr revid: chm@openerp.com-20121114155325-kuqyke9hcfmb0yyb
---
addons/mail/static/src/js/mail.js | 9 ++++-----
1 file changed, 4 insertions(+), 5 deletions(-)
diff --git a/addons/mail/static/src/js/mail.js b/addons/mail/static/src/js/mail.js
index fb0634a606d..006f9529272 100644
--- a/addons/mail/static/src/js/mail.js
+++ b/addons/mail/static/src/js/mail.js
@@ -599,10 +599,10 @@ openerp.mail = function (session) {
this.parent_thread.context
]).done(function (record) {
var thread = self.parent_thread;
- if (self.options.display_indented_thread < self.thread_level && thread.parent_message) {
- var hread = thread.parent_message.parent_thread;
- }
var root = thread == self.options.root_thread;
+ if (self.options.display_indented_thread < self.thread_level && thread.parent_message) {
+ var thread = thread.parent_message.parent_thread;
+ }
// create object and attach to the thread object
thread.message_fetch([['id', 'child_of', [self.id]]], false, [record], function (arg, data) {
var message = thread.create_message_object( data[0] );
@@ -1268,10 +1268,9 @@ openerp.mail = function (session) {
this.$('.oe_view_nocontent').remove();
-
if (dom_insert_after) {
message.insertAfter(dom_insert_after);
- }if (prepend) {
+ } else if (prepend) {
message.prependTo(self.$el);
} else {
message.appendTo(self.$el);
From 3c8f8915b227fc4f7e8fa519d7240941c4029f23 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Thibault=20Delavall=C3=A9e?=
Date: Wed, 14 Nov 2012 16:58:10 +0100
Subject: [PATCH 32/97] [FIX] mail: expandables: expandable was placed at a
wrong place in the message list.
bzr revid: tde@openerp.com-20121114155810-q284caaual2sk8ka
---
addons/mail/mail_message.py | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/addons/mail/mail_message.py b/addons/mail/mail_message.py
index 9fd476d9d7f..e7288a46853 100644
--- a/addons/mail/mail_message.py
+++ b/addons/mail/mail_message.py
@@ -377,7 +377,9 @@ class mail_message(osv.Model):
id_max = child_id
elif nb > 0:
exp_domain = [('id', '>=', id_min), ('id', '<=', id_max), ('id', 'child_of', message_id)]
- messages.append(_get_expandable(exp_domain, nb, message_id, False))
+ idx = [msg.get('id') for msg in messages].index(child_id) + 1
+ # messages.append(_get_expandable(exp_domain, nb, message_id, False))
+ messages.insert(idx, _get_expandable(exp_domain, nb, message_id, False))
id_min, id_max, nb = max(child_ids), 0, 0
else:
id_min, id_max, nb = max(child_ids), 0, 0
From b387836284c86d1e976487a7638d2a821459614e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Thibault=20Delavall=C3=A9e?=
Date: Wed, 14 Nov 2012 17:30:07 +0100
Subject: [PATCH 33/97] [IMP] mail.group: updating the descrpition, also update
the description in the params of the client action related to the mail group.
bzr revid: tde@openerp.com-20121114163007-91z50xmkepnc436l
---
addons/mail/mail_group.py | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/addons/mail/mail_group.py b/addons/mail/mail_group.py
index 73e808daac3..c589b54d4f9 100644
--- a/addons/mail/mail_group.py
+++ b/addons/mail/mail_group.py
@@ -114,7 +114,7 @@ class mail_group(osv.Model):
alias_id = mail_alias.create_unique_alias(cr, uid,
# Using '+' allows using subaddressing for those who don't
# have a catchall domain setup.
- {'alias_name': "group+"+vals['name']},
+ {'alias_name': "group+" + vals['name']},
model_name=self._name, context=context)
vals['alias_id'] = alias_id
@@ -161,6 +161,13 @@ class mail_group(osv.Model):
result = super(mail_group, self).write(cr, uid, ids, vals, context=context)
if vals.get('group_ids'):
self._subscribe_users(cr, uid, ids, context=context)
+ # if description is changed: update client action
+ if vals.get('description'):
+ cobj = self.pool.get('ir.actions.client')
+ for action in [group.action for group in self.browse(cr, SUPERUSER_ID, ids, context=context) if group.action]:
+ new_params = action.params
+ new_params['header_description'] = vals.get('description')
+ cobj.write(cr, SUPERUSER_ID, [action.id], {'params': str(new_params)}, context=context)
return result
def action_follow(self, cr, uid, ids, context=None):
From 3f655858d89b6910c24fa3dbc8a85adcc20a8046 Mon Sep 17 00:00:00 2001
From: Christophe Matthieu
Date: Thu, 15 Nov 2012 11:05:42 +0100
Subject: [PATCH 34/97] [IMP] mail: the placeholder of textarea on compose
message can be custom with an attribute placeholder on the field
bzr revid: chm@openerp.com-20121115100542-7gigxjnxjloqt8ue
---
addons/mail/static/src/js/mail.js | 7 ++++++-
addons/mail/static/src/xml/mail.xml | 13 ++++++++++---
2 files changed, 16 insertions(+), 4 deletions(-)
diff --git a/addons/mail/static/src/js/mail.js b/addons/mail/static/src/js/mail.js
index 006f9529272..7d874a8d1fe 100644
--- a/addons/mail/static/src/js/mail.js
+++ b/addons/mail/static/src/js/mail.js
@@ -1231,6 +1231,7 @@ openerp.mail = function (session) {
'default_parent_id': self.id,
}});
} else {
+ data.record_name= (data.record_name != '' && data.record_name) || (self.parent_message && self.parent_message.record_name);
var message = new mail.ThreadMessage(self, data, {'context':{
'default_model': data.model,
'default_res_id': data.res_id,
@@ -1447,6 +1448,7 @@ openerp.mail = function (session) {
'show_record_name' : false,
'show_compose_message' : false,
'show_compact_message' : false,
+ 'compose_placeholder': false,
'view_inbox': false,
'message_ids': undefined,
}, this.action.params);
@@ -1511,7 +1513,6 @@ openerp.mail = function (session) {
init: function (parent, node) {
this._super.apply(this, arguments);
this.node = _.clone(node);
-
this.node.params = _.extend({
'display_indented_thread': -1,
'show_reply_button': false,
@@ -1520,6 +1521,10 @@ openerp.mail = function (session) {
'show_compact_message': 1,
}, this.node.params);
+ if (this.node.attrs.placeholder) {
+ this.node.params.compose_placeholder = this.node.attrs.placeholder;
+ }
+
this.domain = this.node.params && this.node.params.domain || [];
},
diff --git a/addons/mail/static/src/xml/mail.xml b/addons/mail/static/src/xml/mail.xml
index deab58eca00..f4518dc6fa7 100644
--- a/addons/mail/static/src/xml/mail.xml
+++ b/addons/mail/static/src/xml/mail.xml
@@ -39,8 +39,9 @@
-
-
+
+
+
@@ -109,7 +110,13 @@
To:
- Followers
+
+
+ Followers of
+
+ this document
+
+ and
From f3bba6c77bee5121fb7721f1365caa4e3d53e20e Mon Sep 17 00:00:00 2001
From: Christophe Matthieu
Date: Thu, 15 Nov 2012 11:25:22 +0100
Subject: [PATCH 35/97] [FIX] mail: do not convert text on html when the user
post a message with the widget to message_post_api
bzr revid: chm@openerp.com-20121115102522-sicesckcupbh1nnc
---
addons/mail/static/src/js/mail.js | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/addons/mail/static/src/js/mail.js b/addons/mail/static/src/js/mail.js
index 7052f67f3e9..d1ae7060c1b 100644
--- a/addons/mail/static/src/js/mail.js
+++ b/addons/mail/static/src/js/mail.js
@@ -594,7 +594,7 @@ openerp.mail = function (session) {
//session.web.blockUI();
this.parent_thread.ds_thread.call('message_post_user_api', [
this.context.default_res_id,
- mail.ChatterUtils.get_text2html(body),
+ body,
false,
this.context.default_parent_id,
attachments,
From cd5490aec2a5bfe1090fc73a75615b8a423c411f Mon Sep 17 00:00:00 2001
From: Christophe Matthieu
Date: Thu, 15 Nov 2012 11:36:24 +0100
Subject: [PATCH 36/97] [IMP] mail: merge the sent menu and the archives menu
bzr revid: chm@openerp.com-20121115103624-ilkh0ys3w6a0t8f2
---
addons/mail/mail_thread_view.xml | 28 ++--------------------------
1 file changed, 2 insertions(+), 26 deletions(-)
diff --git a/addons/mail/mail_thread_view.xml b/addons/mail/mail_thread_view.xml
index cdeade04d84..4622a25bf98 100644
--- a/addons/mail/mail_thread_view.xml
+++ b/addons/mail/mail_thread_view.xml
@@ -84,29 +84,11 @@
'search_default_message_read': True
}
-
-
- No message sent yet.
+ No message found and no message sent yet.
Click on the top-right icon to compose a message. This
message will be sent by email if it's an internal contact.
@@ -150,11 +132,5 @@
-
- Sent
-
-
-
-
From 8539249bdbeedf764628cdf6449c03ab187bee74 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Thibault=20Delavall=C3=A9e?=
Date: Thu, 15 Nov 2012 19:26:41 +0100
Subject: [PATCH 37/97] [IMP] mail, crm: demo data largely updated.
bzr revid: tde@openerp.com-20121115182641-99ndilbr5m4x1oft
---
addons/crm/crm_lead_demo.xml | 132 ++++---
addons/mail/data/mail_demo.xml | 453 +++++++++++++++-------
addons/mail/data/mail_group_demo_data.xml | 102 ++++-
3 files changed, 509 insertions(+), 178 deletions(-)
diff --git a/addons/crm/crm_lead_demo.xml b/addons/crm/crm_lead_demo.xml
index 5dde8f2ce3d..7aa9df5f45b 100644
--- a/addons/crm/crm_lead_demo.xml
+++ b/addons/crm/crm_lead_demo.xml
@@ -1,6 +1,7 @@
-
+
+
@@ -327,9 +328,11 @@ Andrew
Plan to buy a Laptop
- 12 rue Albert Einstein
-
- Istanbul
+ 69 rue de Chimay
+
+ Wavre
+ virginie@agrolait.com
+ 1
@@ -337,7 +340,7 @@ Andrew
Call to ask system requirement
-
+
@@ -372,6 +375,8 @@ Andrew
Oliver Passot
+ olivier.passo@balmer.inc.sa
+ +32 469 12 45 78BalmerInc S.A.Rue des Palais 51, bte 33
@@ -391,14 +396,16 @@ Andrew
opportunity
- Student's training plan in your Organization
+ Trainee's training plan in your OrganizationLeland Martinez
- Toronto University
- 2488 Queens Bay
-
- Toronto
+ info@deltapc.com
+ Delta PC
+ Fremont
+ 3661 Station Street
+
+ 4
@@ -542,82 +549,119 @@ Andrew
+
+
+
+
+
+
+
+
+
+
-
+ Plan to buy a Laptopcrm.lead
- Hello,
I am interested in your company's product and I plan to buy a new laptop having latest technologies and affordable price.
Can you please send me product catalogue?
- ]]>
+
+
Hello,
+
I am interested in your company's products and I plan to buy a new laptop having latest technologies as well as an affordable price.
+
Could you please send me the product catalog?
]]>email
-
+
+ virginie@agrolait.fr
+
-
+ Re: Plan to buy a Laptopcrm.leadcomment
-
+
+ Dear Customer,
Thanks for showing interest in our products.
-We have attached the catalogue,
+We have attached the catalogue.
We would like to know your interests, so let us know when we can call you for more details.
-Regards]]>
-
+Best regards,]]>
+
-
+ Re: Plan to buy a Laptopcrm.lead
+ Thanks for the information! I will visit the store as soon as possible.]]>comment
- <div>Thanks for the information,</div><div>I will visit the store soon.</div>
-
+
+
-
+ Re: Plan to buy a Laptopcrm.lead
+ Could you please tell me if the store is open at 9:00 PM?]]>comment
- <font color="#1f1f1f">Can you tell me if the store is open at 9:00 PM?</b></font>
-
+
+
-
+ Re: Plan to buy a Laptopcrm.lead
- Yes, its open till 10:00 PM, you are welcome!
+ Yes, its open till 10:00 PM. You are welcome!]]>email
-
+
-
-
-
+ Inquirycrm.lead
- Hello,
-I am Jason from Le Club SARL.
-I am intertested to attend a training organized in your company.
-Can you send me the details ?
+ Hello,
+ I am Jason from Le Club SARL. I am interested to attend a training organized in your company.
+ Can you send me the details ?]]>email
-
+ Need Detailscrm.lead
- Want to know features and benifits to use the new software.
+ Want to know features and benefits to use the new software.comment
-
-
-
+
+ Inquiry
+ crm.lead
+
+ Hello!
+ I am Leland Martinez, from the Delta PC. Maybe you remember, we talked a bit last month at this international conference.
+ We would like to attend a training, but we are not quite sure about what we can ask. Maybe we should meet and talk about that?
+ Best regards,]]>
+ comment
+
+
+
+
+ crm.lead
+
+ It seems very interesting. As you say, first of all we will have to define precisely what the training will be about, and your precise needs.]]>
+ comment
+
+
+
+
+
+ Need Details
+ crm.lead
+
+ They just want pricing information about our services. I think sending our catalog should be sufficient.]]>
+ comment
+
+
+
diff --git a/addons/mail/data/mail_demo.xml b/addons/mail/data/mail_demo.xml
index bc771d6bdc6..20526f64cd9 100644
--- a/addons/mail/data/mail_demo.xml
+++ b/addons/mail/data/mail_demo.xml
@@ -1,14 +1,80 @@
-
+
-
+
none
+
+ none
+ none
+
+ none
+
+
+ none
+
+
+ none
+
+
+ none
+
+
+ none
+
+
+ none
+
+
+ none
+
+
+ none
+
+
+ none
+
+
+ none
+
+
+ none
+
+
+ none
+
+
+ none
+
+
+ none
+
+
+ none
+
+
+ none
+
+
+ none
+
+
+ none
+
+
+ none
+
+
+ none
+
+
+ none
+
@@ -87,72 +153,19 @@
-
-
- mail.group
-
- Your monthly meal vouchers arrived. You can get them at Christine's office.]]>
- comment
-
-
-
-
-
- mail.group
-
- Oh, I had forgotten. This month you also get 250 EUR of eco-vouchers if you have been in the company for more than a year.]]>
-
- comment
-
-
-
-
-
- mail.group
-
- Thanks! Could you please remind me where is Christine's office, if I may ask? I'm new here!]]>
-
- comment
-
-
-
-
-
- mail.group
-
- Building B3, second floor on the right :-).]]>
-
- comment
-
-
-
-
-
- mail.group
-
- Many thanks. Actually that's good news, next year I'll have to buy a new fridge, I think I will pay it with the eco-vouchers!]]>
-
- comment
-
-
-
-
-
-
-
- mail.thread
+
+ Plan to install serversHello,
- I am interested in your company's product and I plan to install 2 servers for my company.
- Can you please send me services catalogue?
- Virginie
+ I am interested in your company's product and I plan to install 2 servers for my company.
+ Can you please send me services catalog?
+ Best regards,
]]>emailvirginie@agrolait.fr
-
-
-
+
+
@@ -178,15 +191,17 @@
-
-
+
+ ir.attachmentbWlncmF0aW9uIHRlc3Q=
- migration.doc
- migration.doc
+ catalog.doc
+ catalog.doc
-
+ ir.attachment
+ activity_graph_2012.jpg
+ activity_graph_2012
/9j/4AAQSkZJRgABAQEASABIAAD/2wBDAAUDBAQEAwUEBAQFBQUGBwwIBwcHBw8LCwkMEQ8SEhEP
ERETFhwXExQaFRERGCEYGh0dHx8fExciJCIeJBweHx7/2wBDAQUFBQcGBw4ICA4eFBEUHh4eHh4e
@@ -252,105 +267,283 @@
O1WR63FN74OlZFz8JXMmTfQLGZAPDeJjOFmZyeKi5hnC3upfvguj2XpIuNcinL/TXLn9/vLUpDNw
kxzLdwM111ZhJXPm0ixn3/rQxvK6Vd4vn//Z
- activity graph 2012.jpg
- activity graph 2012
-
- mail.group
-
- The next version of catalogue price list is scheduled for this next month.
- You will find attached the catalogue and the activity graph for the current year. Good reading.
- Sincerely
- ]]>
+
+ Hi Demo, The next version of products and price list catalog is scheduled for this next month.
+You will find attached the catalog, as well as the activity graph for the current year. Have a nice reading!
+Sincerely,]]>comment
-
-
-
+
+
+
-
- mail.group
-
- Could you add the price list of us services into this document ?
- Sincerely
- ]]>
+
+ Thank you! Could you add the price list of us services into this document ? Sincerely,]]>
+ comment
-
+
-
-
-
+
+
-
-
- res.partner
-
- I changed the infrastructure of networks, if there are still changes to be made please do not hesitate to contact me.
+
+
+ Hello, As requested, I changed the infrastructure of networks. If there are still changes to be made, please feel free to contact me.]]>comment
-
- 2012-11-12 9:49:32
+
-
- res.partner
- Thank you, the networks is perfect now ! Could you add a IP phone for Jhon ?
-
+
+ Thank you very much!
+The network seems perfect now. Could you just add a IP phone for Jon, please ?]]>
+ comment
-
- 2012-11-12 10:09:32
+
-
- res.partner
- It's right, his internal phone number is 0093
-
+
+
+ comment
-
-
+
+
-
-
- Hello Demo User! I was wondering whether you had some issues with our secret task about putting cats everywhere in OpenERP.
+
+
+ Information meeting
+ Hello Administrator! In Epic Technologies, we are very interested by some of the services you offer. Could we meet each other as soon as possible to discuss about your offers ?]]>
+ comment
+
+
+
+
+
+
+ RE: Information meeting
+ Hello Of course, I am glad you are interested in our products. I propose to have a meeting tomorrow at 2 PM. Does it seem suitable for you ? Best regards,]]>
+ comment
-
+
+
-
- No specific issues, I think everything is clear.
-
+
+ RE: Information meeting
+ It is not possible for me to come at 2 PM. However it is ok at 3 PM.]]>
+ comment
-
+
+
-
- Ow, just to be sure... we were talking about lolcats, right ?
-
- comment
-
-
-
-
-
- Absolutely!
-
+
+ RE: Information meeting
+ Fine then. See you tomorrow at 3 PM! Best regards,]]>
+ comment
-
+
+
+
+
+ RE: Information meeting
+ Ok! See you tomorrow.]]>
+
+ comment
+
+
+
+
+
+
+
+
+ Feedback on our service
+ Hi Agrolait! I come to you about our On Site Assistance Service that you received last week. Are you satisfied with it ? At our company, we strongly believe that nothing is more important than our customer's satisfaction. Please feel free to speak! Best regards,]]>
+ comment
+
+
+
+
+
+
+ RE: Feedback on our service
+ Hello Glad to hearing from you! I have to say that here at Agrolait we are very happy with the service you offered to us. Be sure that we will contact your company again to fulfill our future needs!]]>
+
+ comment
+
+
+
+
+
+
+
+
+ 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
+gk//2Q==
+
+
+ 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
+kALR5oiAU7jnCuj0RFIHQbIiKAf/2Q==
diff --git a/addons/mail/data/mail_group_demo_data.xml b/addons/mail/data/mail_group_demo_data.xml
index 41514d18d6c..66c9d156a3b 100644
--- a/addons/mail/data/mail_group_demo_data.xml
+++ b/addons/mail/data/mail_group_demo_data.xml
@@ -3,30 +3,124 @@
+
Best Sales PracticesDiscussion about best sales practices and deals.
-
+
+
+ Board meetingsBoard meetings and agenda
-
+
+
+ RDResearch and development discussion group
-
+
+
+ LeasingLeasing, cars and fuel cards
-
SupportSupport team
+
+
+
+ mail.group
+
+ BEST SALE PRACTICE]]>
+ comment
+
+
+
+
+
+ mail.group
+
+ BEST SALE PRACTICE]]>
+ comment
+
+
+
+
+
+ mail.group
+
+ BEST SALE PRACTICE]]>
+ comment
+
+
+
+
+
+
+ mail.group
+
+ BEST SALE PRACTICE]]>
+ comment
+
+
+
+
+
+
+
+
+ mail.group
+
+ Your monthly meal vouchers arrived. You can get them at the HR's office.]]>
+ comment
+
+
+
+
+ mail.group
+
+ Oh, I had forgotten. This month you also get 250 EUR of eco-vouchers if you have been in the company for more than a year.]]>
+
+ comment
+
+
+
+
+ mail.group
+
+ Thanks! Could you please remind me where is Christine's office, if I may ask? I'm new here!]]>
+
+ comment
+
+
+
+
+ mail.group
+
+ Building B3, second floor on the right :-).]]>
+
+ comment
+
+
+
+
+ mail.group
+
+ Many thanks. Actually that's good news, next year I'll have to buy a new fridge, I think I will pay it with the eco-vouchers!]]>
+
+ comment
+
+
+
+
+
From f6ee56a0833fcfb6c9bf6b892954afdfe9d64630 Mon Sep 17 00:00:00 2001
From: Fabien Pinckaers
Date: Thu, 15 Nov 2012 20:48:17 +0100
Subject: [PATCH 38/97] [IMP] better demo data
bzr revid: fp@openerp.com-20121115194817-7c8sbmqymczovcra
---
addons/mail/data/mail_group_demo_data.xml | 33 +++++++++--------------
1 file changed, 12 insertions(+), 21 deletions(-)
diff --git a/addons/mail/data/mail_group_demo_data.xml b/addons/mail/data/mail_group_demo_data.xml
index 66c9d156a3b..b8b1520471d 100644
--- a/addons/mail/data/mail_group_demo_data.xml
+++ b/addons/mail/data/mail_group_demo_data.xml
@@ -19,15 +19,15 @@
- RD
+ R&DResearch and development discussion group
- Leasing
- Leasing, cars and fuel cards
+ HR Policies
+ Company cars, holidays and other advantagesSupport
@@ -38,7 +38,7 @@
mail.group
- BEST SALE PRACTICE]]>
+ Selling a training session and selling the products after the training session is more efficient than directly selling a pack with the training session and the products.]]>comment
@@ -47,7 +47,7 @@
mail.group
- BEST SALE PRACTICE]]>
+ I noted I can not manage efficiently my pipeline when I have more than 50 opportunities in the qualification stage.
Any advice on this? How do you organize your activities with more than 50 opportunities?
]]>comment
@@ -56,8 +56,9 @@
mail.group
- BEST SALE PRACTICE]]>
+ When I have too much opportunities in the pipe, I start communicating with prospects more by email than phonecalls.
I send an email to create a sense of emergency, like "can I call you this week about our quote?" and I call only those that answer this email.
You can use the email template feature of OpenERP to automate email composition.
]]>comment
+
@@ -66,7 +67,7 @@
mail.group
- BEST SALE PRACTICE]]>
+ When you sell a tablet PC, don't forget to propose a docking station with it. I offer 20% on the docking stating (not the tablet) and I have a 70% success rate with this combo.]]>comment
@@ -80,7 +81,7 @@
Your monthly meal vouchers arrived. You can get them at the HR's office.]]>comment
-
+
@@ -89,7 +90,7 @@
Oh, I had forgotten. This month you also get 250 EUR of eco-vouchers if you have been in the company for more than a year.]]>comment
-
+
@@ -98,7 +99,7 @@
Thanks! Could you please remind me where is Christine's office, if I may ask? I'm new here!]]>comment
-
+
@@ -107,18 +108,8 @@
Building B3, second floor on the right :-).]]>comment
-
-
-
-
- mail.group
-
- Many thanks. Actually that's good news, next year I'll have to buy a new fridge, I think I will pay it with the eco-vouchers!]]>
-
- comment
-
-
+
From 86be41b2508dc1a35223274a717cfa9e97f4f22b Mon Sep 17 00:00:00 2001
From: Fabien Pinckaers
Date: Thu, 15 Nov 2012 20:51:03 +0100
Subject: [PATCH 39/97] imp
bzr revid: fp@openerp.com-20121115195103-1b3v4quw0dllyyh1
---
addons/mail/data/mail_group_demo_data.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/addons/mail/data/mail_group_demo_data.xml b/addons/mail/data/mail_group_demo_data.xml
index b8b1520471d..eaad1028386 100644
--- a/addons/mail/data/mail_group_demo_data.xml
+++ b/addons/mail/data/mail_group_demo_data.xml
@@ -13,7 +13,7 @@
Board meetings
- Board meetings and agenda
+ Board meetings, budgets, strategic plans
From ae5f46af638e944be28414868982412874bc331e Mon Sep 17 00:00:00 2001
From: Fabien Pinckaers
Date: Thu, 15 Nov 2012 21:43:22 +0100
Subject: [PATCH 40/97] [IMP] dmeo data mail
bzr revid: fp@openerp.com-20121115204322-w4ry0ky4cna5t96c
---
addons/mail/data/mail_group_demo_data.xml | 88 +++++++++++++++++++++--
1 file changed, 84 insertions(+), 4 deletions(-)
diff --git a/addons/mail/data/mail_group_demo_data.xml b/addons/mail/data/mail_group_demo_data.xml
index eaad1028386..e4eed13ab81 100644
--- a/addons/mail/data/mail_group_demo_data.xml
+++ b/addons/mail/data/mail_group_demo_data.xml
@@ -78,7 +78,7 @@
mail.group
-
+ Your monthly meal vouchers arrived. You can get them at the HR's office.]]>comment
@@ -86,7 +86,7 @@
mail.group
-
+ Oh, I had forgotten. This month you also get 250 EUR of eco-vouchers if you have been in the company for more than a year.]]>comment
@@ -95,7 +95,7 @@
mail.group
-
+ Thanks! Could you please remind me where is Christine's office, if I may ask? I'm new here!]]>comment
@@ -104,7 +104,7 @@
mail.group
-
+ Building B3, second floor on the right :-).]]>comment
@@ -112,6 +112,86 @@
+
+ mail.group
+
+
+ Dear Board Members,
+
+
+ The main events of the month of october are:
+
+
+ Sales:
+
+
+
La prise de commande est de respectivement à 442K€ pour la Belgique (66% du budget) et 104K$ pour les US (75% du budget). Malgré, ces chiffres en dessous des prévisions initiales, La croissance sur le mois d’octobre a été de 51% par rapport à l’année dernière.
+
Le mois de septembre ayant été supérieur à nos prévisions, le résultat cumulé depuis le début de l’année toute entité confondue n’est que 20K€ en dessous de nos prévisions établies au board de début septembre.
+
La prévision de fin d’année toute entité confondue se monte à 6749K€ soit 76% de croissance et 87% du budget.
+
Le recrutement de nouveaux partenaires a été très actif surtout en Belgique avec 30 nouveaux partenaires recrutés de mois ci.
+
+
+ Finance :
+
+
+
Le compte de résultat a été pénalisé ce mois ci par des revenus en dessous et des coûts supérieurs au budget. Le dépassement des coûts s’explique principalement par le recalcul des provisions pour pécule de vacances 50K€.
+
Du fait du paiement des subsides, le niveau de cash a augmenté de 300K€ se portant à 963 K€ sans inclure le straight loan de 350 K€.
+
La balance âgée est restée au même niveau que le mois dernier avec une très légère dégradation du DSO. Nous avions dédié une personne au recouvrement des factures. Cette personne s’occupe notamment des relances téléphoniques à 30 jours et nous devrions avoir une amélioration du DSO en Novembre. Le montant des factures à très haut risque dans la balance âgée est d’environ 100K€.
+
+
+ Partenaire et clients:
+
+
+
Le nombre de partenaire est de 429 partenaires
+
Le nombre d’installation est remonté à 37K installations contre 33K au mois de septembre mais nous n’avons pas encore atteint les niveaux les plus haut de l’année (44K en mars et mai)
+
Nous avons passé la barre des 10000 clients en production avec 10271 clients à fin Octobre. Le taux de client payant est à 6,6% avec 471 clients sous la formule on-premise et 191 sur la formule ne ligne.
+
+
+ Lancement de la nouvelle version :
+
+
+ Nous sommes dans la phase active du lancement de la nouvelle release
+
+
+
Une release note sera publiée cette semaine
+
L’ensemble de l’équipe commerciale sera formée sur la nouvelle version ce vendredi
+
Nous faisons l'annonce officielle sur le lancement de la V7 auprès de nos partenaires le 21 novembre afin de leur présenter : les nouvelles fonctionnalités, la stratégie de distribution, le nouveau pricing, le plan de lancement et communication.
+
+
+
+Nicolas, can you setup a conf call for our meeting of friday ?
+
+
+ Regards.
+
+]]>
+ comment
+
+
+
+
+
+
+
+
+ mail.group
+
+
+ Great news.
+
+ Our company has received the Deloitte Fast 50 award. We are the fastest
+ growing company of the country, with a growth of 1549% over the past 5
+ years. You can get more information on our blog.
+
+]]>
+ comment
+
+
+
+
+
From 3a8353a3020176636a464791f1b2859fbb928f37 Mon Sep 17 00:00:00 2001
From: Fabien Pinckaers
Date: Thu, 15 Nov 2012 23:09:45 +0100
Subject: [PATCH 41/97] [IMP] demo data
bzr revid: fp@openerp.com-20121115220945-fws0ue11f9d05ttj
---
addons/mail/data/mail_demo.xml | 17 +++++------
addons/mail/data/mail_group_demo_data.xml | 36 +++++++++++------------
2 files changed, 26 insertions(+), 27 deletions(-)
diff --git a/addons/mail/data/mail_demo.xml b/addons/mail/data/mail_demo.xml
index 20526f64cd9..2842d93c9f7 100644
--- a/addons/mail/data/mail_demo.xml
+++ b/addons/mail/data/mail_demo.xml
@@ -157,8 +157,7 @@
Plan to install serversHello,
- I am interested in your company's product and I plan to install 2 servers for my company.
- Can you please send me services catalog?
+ I'd like to install two backup servers in my company. Do you have a simple solution to manage backups of Linux computers?
Best regards,
]]>email
@@ -269,7 +268,7 @@
- Hi Demo, The next version of products and price list catalog is scheduled for this next month.
+ Hi, The next version of products and price list catalog is scheduled for this next month.
You will find attached the catalog, as well as the activity graph for the current year. Have a nice reading!
Sincerely,]]>comment
@@ -280,7 +279,7 @@ Sincerely,]]>
- Thank you! Could you add the price list of us services into this document ? Sincerely,]]>
+ Thank you! Could you send me the updated pricelist as negociated beginning of this year? Sincerely,]]>comment
@@ -300,8 +299,8 @@ Sincerely,]]>
- Thank you very much!
-The network seems perfect now. Could you just add a IP phone for Jon, please ?]]>
+ Thank you.
+The network seems perfect now, we did not faced any issue since five days. Could you just add an IP phone for Jon, please ?]]>comment
@@ -322,7 +321,7 @@ The network seems perfect now. Could you just add a IP phone for Jon, please ?
Information meeting
- Hello Administrator! In Epic Technologies, we are very interested by some of the services you offer. Could we meet each other as soon as possible to discuss about your offers ?]]>
+ Hello,
Epic Technologies is a small company specialized in big data software.
I saw you have interesting solutions to manage our backups. Could we meet each other as soon as possible to discuss our need?]]>comment
@@ -373,7 +372,7 @@ The network seems perfect now. Could you just add a IP phone for Jon, please ?
Feedback on our service
- Hi Agrolait! I come to you about our On Site Assistance Service that you received last week. Are you satisfied with it ? At our company, we strongly believe that nothing is more important than our customer's satisfaction. Please feel free to speak! Best regards,]]>
+ Hi, I come to you about our On Site Assistance Service that we delivered to you last week. Do you have any feedback about our service? I noticed you requested new IP phones, is it for new employees or did you had any issue with the ones we sent you? Best regards,]]>comment
@@ -382,7 +381,7 @@ The network seems perfect now. Could you just add a IP phone for Jon, please ?
RE: Feedback on our service
- Hello Glad to hearing from you! I have to say that here at Agrolait we are very happy with the service you offered to us. Be sure that we will contact your company again to fulfill our future needs!]]>
+ Hello Glad to hearing from you! Everything is perfect, I ordered two phones for two new employees.]]>comment
diff --git a/addons/mail/data/mail_group_demo_data.xml b/addons/mail/data/mail_group_demo_data.xml
index e4eed13ab81..21e10e278df 100644
--- a/addons/mail/data/mail_group_demo_data.xml
+++ b/addons/mail/data/mail_group_demo_data.xml
@@ -123,44 +123,44 @@
The main events of the month of october are:
- Sales:
+ Sales:
-
La prise de commande est de respectivement à 442K€ pour la Belgique (66% du budget) et 104K$ pour les US (75% du budget). Malgré, ces chiffres en dessous des prévisions initiales, La croissance sur le mois d’octobre a été de 51% par rapport à l’année dernière.
-
Le mois de septembre ayant été supérieur à nos prévisions, le résultat cumulé depuis le début de l’année toute entité confondue n’est que 20K€ en dessous de nos prévisions établies au board de début septembre.
-
La prévision de fin d’année toute entité confondue se monte à 6749K€ soit 76% de croissance et 87% du budget.
-
Le recrutement de nouveaux partenaires a été très actif surtout en Belgique avec 30 nouveaux partenaires recrutés de mois ci.
+
Invoicing is respectively of 442k€ for our european company (66% of the budget) and $404k for the U.S. office (75% of the budget). Despite these numbers that are far bellow our initial expectations, the growth of the month of october is 51% compared to last year.
+
The month of september having been better than our initial forecasts, the consolidated yearly revenue is only of $20k bellow our forecast made during the board of september.
+
The consolidated forecast for the end of the year is $6.749k, which is a growth of 76% compared to last year and an achievement of 87% of the budget.
+
The recruitment of new resellers has been very good, especially in Europe, where we signed 30 new resellers this month.
Finance :
-
Le compte de résultat a été pénalisé ce mois ci par des revenus en dessous et des coûts supérieurs au budget. Le dépassement des coûts s’explique principalement par le recalcul des provisions pour pécule de vacances 50K€.
-
Du fait du paiement des subsides, le niveau de cash a augmenté de 300K€ se portant à 963 K€ sans inclure le straight loan de 350 K€.
-
La balance âgée est restée au même niveau que le mois dernier avec une très légère dégradation du DSO. Nous avions dédié une personne au recouvrement des factures. Cette personne s’occupe notamment des relances téléphoniques à 30 jours et nous devrions avoir une amélioration du DSO en Novembre. Le montant des factures à très haut risque dans la balance âgée est d’environ 100K€.
+
The profit and loss has been negatively impacted this month by revenues that are far beyond the budget and charges that are 15% above the budget. The main extra we had in our charges this month is due to the provisioning of the salaries for the holidays period, $50k.
+
We also got the payment of our long awaited subsidies, the cash level has increased of 300K€ which gives a current balance of 963 K€ without including the straight loan of 350 K€.
+
The aged customer balance has been similar to the one of the last month with a small decrease of the DSO. We have recruited a new accountant assistant for the credit collection. She is mostly doing phone calls for all invoices that are due since 30 days, so we should get improvements of the DSO in november. The sum of the invoicing on which we have a risk in the aged customer balance is 100K€.
- Partenaire et clients:
+ Resellers and Customers:
-
Le nombre de partenaire est de 429 partenaires
-
Le nombre d’installation est remonté à 37K installations contre 33K au mois de septembre mais nous n’avons pas encore atteint les niveaux les plus haut de l’année (44K en mars et mai)
-
Nous avons passé la barre des 10000 clients en production avec 10271 clients à fin Octobre. Le taux de client payant est à 6,6% avec 471 clients sous la formule on-premise et 191 sur la formule ne ligne.
+
The total number of resellers is 429, accross 87 countries.
+
The total number of installations of our software increased to 37K, against 33K for the month of september but we still did not reached the highest level we reached during this year (44K in march and may)
+
We have passed the 10000th customer in production with 10271 customers at the end of october. The paying customer ratio is 6,6%.
- Lancement de la nouvelle version :
+ Launch of the new release:
- Nous sommes dans la phase active du lancement de la nouvelle release
+ We are working actively on the new release which is scheduled for the end of november.
-
Une release note sera publiée cette semaine
-
L’ensemble de l’équipe commerciale sera formée sur la nouvelle version ce vendredi
-
Nous faisons l'annonce officielle sur le lancement de la V7 auprès de nos partenaires le 21 novembre afin de leur présenter : les nouvelles fonctionnalités, la stratégie de distribution, le nouveau pricing, le plan de lancement et communication.
+
We will publish the release note this week
+
The whole sales team will be trained on the new version this friday
+
We will do a public announce to our resellers the 21th of november. We plan to show them: a description of the new features, the new distribution strategy, the new pricing and the communication plan.
-Nicolas, can you setup a conf call for our meeting of friday ?
+ Nicolas, can you book a meeting room for our meeting of friday 2pm?
Regards.
From fa93a1d65e5848131e89b0a01974837163c83e0b Mon Sep 17 00:00:00 2001
From: Fabien Pinckaers
Date: Thu, 15 Nov 2012 23:27:51 +0100
Subject: [PATCH 42/97] [IMP] demo data
bzr revid: fp@openerp.com-20121115222751-y25pkf50caeajwg1
---
addons/mail/data/mail_demo.xml | 36 ++++++++++++++++++++++++----------
1 file changed, 26 insertions(+), 10 deletions(-)
diff --git a/addons/mail/data/mail_demo.xml b/addons/mail/data/mail_demo.xml
index 2842d93c9f7..144cc0ff002 100644
--- a/addons/mail/data/mail_demo.xml
+++ b/addons/mail/data/mail_demo.xml
@@ -156,9 +156,18 @@
Plan to install servers
- Hello,
- I'd like to install two backup servers in my company. Do you have a simple solution to manage backups of Linux computers?
- Best regards,
+ Hello,
+
We need to deploy new backup servers, with the following requirements:
+
+
Daily incremental backups, with an history of 15 days,
+
45 servers should be backuped between 1am and 3am when our offices are closed,
+
We need two redundant servers,
+
A total capacity of 200Gb.
+
+
+ Do you have a simple solution with servers running on Redhat Linux?
+
+
Best regards,
]]>email
@@ -268,8 +277,8 @@
- Hi, The next version of products and price list catalog is scheduled for this next month.
-You will find attached the catalog, as well as the activity graph for the current year. Have a nice reading!
+ Hi, The next version of products and price list catalog is scheduled for next month.
+You will find in attachment the catalog, as well as a comparative benchmark of the different solutions existing on the market. Have a nice reading!
Sincerely,]]>comment
@@ -291,7 +300,7 @@ Sincerely,]]>
- Hello, As requested, I changed the infrastructure of networks. If there are still changes to be made, please feel free to contact me.]]>
+ Hello,
I have a friend working at Epic Technologies. He told me they plan to upgrade their backup servers within the next 3 months.
I think that someone should contact them and check if there is an opportunity.
]]>comment
@@ -299,8 +308,8 @@ Sincerely,]]>
- Thank you.
-The network seems perfect now, we did not faced any issue since five days. Could you just add an IP phone for Jon, please ?]]>
+
+Ok, I'll contact them today. Thanks for the info.]]>comment
@@ -309,7 +318,7 @@ The network seems perfect now, we did not faced any issue since five days. Could
-
+ comment
@@ -321,7 +330,14 @@ The network seems perfect now, we did not faced any issue since five days. Could
Information meeting
- Hello,
Epic Technologies is a small company specialized in big data software.
I saw you have interesting solutions to manage our backups. Could we meet each other as soon as possible to discuss our need?]]>
+ Hello,
Epic Technologies is a small company specialized in big data software.
I saw you have interesting solutions to manage our backups. Could we meet each other as soon as possible to discuss our need:
+
+
25 backup servers, running on Redhat Linux
+
minimum 200Gb of storage per server
+
setup a VPN between all our servers in New York and Chicago
+
+
Thanks,
+ ]]>comment
From 2a61424ddbbd488839067864ed6743d5c3ce29c5 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Thibault=20Delavall=C3=A9e?=
Date: Fri, 16 Nov 2012 09:16:57 +0100
Subject: [PATCH 43/97] [FIX] mail, crm demo data: back to noupdate.
bzr revid: tde@openerp.com-20121116081657-kyua3pggy84awx4p
---
addons/crm/crm_lead_demo.xml | 3 +--
addons/mail/data/mail_demo.xml | 2 +-
addons/mail/data/mail_group_demo_data.xml | 3 +--
3 files changed, 3 insertions(+), 5 deletions(-)
diff --git a/addons/crm/crm_lead_demo.xml b/addons/crm/crm_lead_demo.xml
index 7aa9df5f45b..1a2dd26f691 100644
--- a/addons/crm/crm_lead_demo.xml
+++ b/addons/crm/crm_lead_demo.xml
@@ -1,7 +1,6 @@
-
-
+
diff --git a/addons/mail/data/mail_demo.xml b/addons/mail/data/mail_demo.xml
index 144cc0ff002..5ae2debbe7e 100644
--- a/addons/mail/data/mail_demo.xml
+++ b/addons/mail/data/mail_demo.xml
@@ -1,6 +1,6 @@
-
+
diff --git a/addons/mail/data/mail_group_demo_data.xml b/addons/mail/data/mail_group_demo_data.xml
index 21e10e278df..535948a2337 100644
--- a/addons/mail/data/mail_group_demo_data.xml
+++ b/addons/mail/data/mail_group_demo_data.xml
@@ -1,7 +1,6 @@
-
-
+
From f24d291e5147c824b355b4ece7ffc199fca12884 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Thibault=20Delavall=C3=A9e?=
Date: Fri, 16 Nov 2012 10:50:03 +0100
Subject: [PATCH 44/97] [FIX] mail_thread: fixed calculation of message_unread:
read field may be False or NULL.
bzr revid: tde@openerp.com-20121116095003-8bbfyyvlhzqehf6h
---
addons/mail/mail_thread.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/addons/mail/mail_thread.py b/addons/mail/mail_thread.py
index ee1a015396b..c5da22297f9 100644
--- a/addons/mail/mail_thread.py
+++ b/addons/mail/mail_thread.py
@@ -79,7 +79,7 @@ class mail_thread(osv.AbstractModel):
# search for unread messages, directly in SQL to improve performances
cr.execute(""" SELECT m.res_id FROM mail_message m
RIGHT JOIN mail_notification n
- ON (n.message_id = m.id AND n.partner_id = %s AND n.read = False)
+ ON (n.message_id = m.id AND n.partner_id = %s AND (n.read = False or n.read IS NULL))
WHERE m.model = %s AND m.res_id in %s""",
(user_pid, self._name, tuple(ids),))
msg_ids = [result[0] for result in cr.fetchall()]
From 101b1003b180f4134ed0f7287dc7360884574072 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Thibault=20Delavall=C3=A9e?=
Date: Fri, 16 Nov 2012 10:50:41 +0100
Subject: [PATCH 45/97] [IMP] crm: re-added message subtypes.
bzr revid: tde@openerp.com-20121116095041-3tu0mqhzrgsfjaei
---
addons/crm/crm_lead.py | 8 ++++----
addons/crm/crm_lead_data.xml | 16 ++++++++++++++++
2 files changed, 20 insertions(+), 4 deletions(-)
diff --git a/addons/crm/crm_lead.py b/addons/crm/crm_lead.py
index 547b25af27c..31026d2f01e 100644
--- a/addons/crm/crm_lead.py
+++ b/addons/crm/crm_lead.py
@@ -847,7 +847,7 @@ class crm_lead(base_stage, format_address, osv.osv):
def stage_set_send_note(self, cr, uid, ids, stage_id, context=None):
""" Override of the (void) default notification method. """
stage_name = self.pool.get('crm.case.stage').name_get(cr, uid, [stage_id], context=context)[0][1]
- return self.message_post(cr, uid, ids, body= _("Stage changed to %s.") % (stage_name), context=context)
+ return self.message_post(cr, uid, ids, body=_("Stage changed to %s.") % (stage_name), subtype="mt_crm_stage", context=context)
def case_get_note_msg_prefix(self, cr, uid, lead, context=None):
if isinstance(lead, (int, long)):
@@ -856,17 +856,17 @@ class crm_lead(base_stage, format_address, osv.osv):
def create_send_note(self, cr, uid, ids, context=None):
for id in ids:
- message = _("%s has been created.")% (self.case_get_note_msg_prefix(cr, uid, id, context=context))
+ message = _("%s has been created.") % (self.case_get_note_msg_prefix(cr, uid, id, context=context))
self.message_post(cr, uid, [id], body=message, context=context)
return True
def case_mark_lost_send_note(self, cr, uid, ids, context=None):
message = _("Opportunity has been lost.")
- return self.message_post(cr, uid, ids, body=message, context=context)
+ return self.message_post(cr, uid, ids, body=message, subtype="mt_crm_lost", context=context)
def case_mark_won_send_note(self, cr, uid, ids, context=None):
message = _("Opportunity has been won.")
- return self.message_post(cr, uid, ids, body=message, context=context)
+ return self.message_post(cr, uid, ids, body=message, subtype="mt_crm_won", context=context)
def schedule_phonecall_send_note(self, cr, uid, ids, phonecall_id, action, context=None):
phonecall = self.pool.get('crm.phonecall').browse(cr, uid, [phonecall_id], context=context)[0]
diff --git a/addons/crm/crm_lead_data.xml b/addons/crm/crm_lead_data.xml
index f734a839ff4..b7541b6daf0 100644
--- a/addons/crm/crm_lead_data.xml
+++ b/addons/crm/crm_lead_data.xml
@@ -154,5 +154,21 @@
+
+
+ Won
+ crm.lead
+
+
+ Lost
+ crm.lead
+
+
+
+ Stage Changed
+ crm.lead
+
+
+
From aeecd20324c4405ec2f79cb919e9d04e43a00db7 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Thibault=20Delavall=C3=A9e?=
Date: Fri, 16 Nov 2012 11:21:43 +0100
Subject: [PATCH 46/97] [FIX] mail: fixed a bug when replying to a private
message, leading to a non-existent thread dataset. Should be mail.thread by
default, only for the dataset, not anything else I think.
bzr revid: tde@openerp.com-20121116102143-jq2o0e5by76zv12w
---
addons/mail/static/src/js/mail.js | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/addons/mail/static/src/js/mail.js b/addons/mail/static/src/js/mail.js
index 94ac6b782f4..70cfe5a9dd0 100644
--- a/addons/mail/static/src/js/mail.js
+++ b/addons/mail/static/src/js/mail.js
@@ -1012,7 +1012,7 @@ openerp.mail = function (session) {
// object compose message
this.compose_message = false;
- this.ds_thread = new session.web.DataSetSearch(this, this.context.default_model);
+ this.ds_thread = new session.web.DataSetSearch(this, this.context.default_model || 'mail.thread');
this.ds_message = new session.web.DataSetSearch(this, 'mail.message');
},
@@ -1286,6 +1286,7 @@ openerp.mail = function (session) {
*/
switch_new_message: function (records, dom_insert_after) {
var self=this;
+ console.log(records);
_(records).each(function (record) {
var thread = self.browse_thread({
'id': record.parent_id,
From 1631811168a3eb2c42443f804cd5176be7836b8b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Thibault=20Delavall=C3=A9e?=
Date: Fri, 16 Nov 2012 12:27:12 +0100
Subject: [PATCH 47/97] [CLEAN] mail.js: removed some console.log
bzr revid: tde@openerp.com-20121116112712-wu63i6qq2x8g4huk
---
addons/mail/static/src/js/mail.js | 2 --
1 file changed, 2 deletions(-)
diff --git a/addons/mail/static/src/js/mail.js b/addons/mail/static/src/js/mail.js
index 70cfe5a9dd0..165a729a6ae 100644
--- a/addons/mail/static/src/js/mail.js
+++ b/addons/mail/static/src/js/mail.js
@@ -1241,7 +1241,6 @@ openerp.mail = function (session) {
// check if the message is already create
for (var i in self.messages) {
if (message.id && self.messages[i] && self.messages[i].id == message.id) {
- console.log('Reload message', message.id);
self.messages[i].destroy();
}
}
@@ -1286,7 +1285,6 @@ openerp.mail = function (session) {
*/
switch_new_message: function (records, dom_insert_after) {
var self=this;
- console.log(records);
_(records).each(function (record) {
var thread = self.browse_thread({
'id': record.parent_id,
From 8007db3bc1725333aa059f6445336bbd6b8e201f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Thibault=20Delavall=C3=A9e?=
Date: Fri, 16 Nov 2012 12:28:00 +0100
Subject: [PATCH 48/97] [FIX] mail_thread: when posting a messure using
mail_thread as model (typically, a private message without model, res_id), do
not try to set it on the attachments; this make the custom access rules check
of ir.attachment crash.
bzr revid: tde@openerp.com-20121116112800-8ur8yr8alcrlgg1z
---
addons/mail/mail_thread.py | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/addons/mail/mail_thread.py b/addons/mail/mail_thread.py
index c5da22297f9..f0216436679 100644
--- a/addons/mail/mail_thread.py
+++ b/addons/mail/mail_thread.py
@@ -767,13 +767,19 @@ class mail_thread(osv.AbstractModel):
# 3. Post-processing
# HACK TDE FIXME: Chatter: attachments linked to the document (not done JS-side), load the message
if attachment_ids:
+ # TDE FIXME (?): when posting a private message, we use mail.thread as a model
+ # However, attaching doc to mail.thread is not possible, mail.thread does not have any table
+ model = self._name
+ if model == 'mail.thread':
+ model = False
filtered_attachment_ids = ir_attachment.search(cr, SUPERUSER_ID, [
('res_model', '=', 'mail.compose.message'),
('res_id', '=', 0),
('create_uid', '=', uid),
('id', 'in', attachment_ids)], context=context)
if filtered_attachment_ids:
- ir_attachment.write(cr, SUPERUSER_ID, attachment_ids, {'res_model': self._name, 'res_id': thread_id}, context=context)
+ if thread_id and model:
+ ir_attachment.write(cr, SUPERUSER_ID, attachment_ids, {'res_model': model, 'res_id': thread_id}, context=context)
mail_message.write(cr, SUPERUSER_ID, [new_message_id], {'attachment_ids': [(6, 0, [pid for pid in attachment_ids])]}, context=context)
return new_message_id
From 979bf581a89028857ef43679493b4d87b1566855 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Thibault=20Delavall=C3=A9e?=
Date: Fri, 16 Nov 2012 16:31:01 +0100
Subject: [PATCH 49/97] [FIX] action_rule: fixed some filters to be with
user_id False, ot be available to every employee.
bzr revid: tde@openerp.com-20121116153101-ta18d6mzeg70avcd
---
addons/base_action_rule/base_action_rule_view.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/addons/base_action_rule/base_action_rule_view.xml b/addons/base_action_rule/base_action_rule_view.xml
index 0e855337d22..bb711be9928 100644
--- a/addons/base_action_rule/base_action_rule_view.xml
+++ b/addons/base_action_rule/base_action_rule_view.xml
@@ -16,7 +16,7 @@
-
+
From 3d2bfc898173815d520ac686382907c8b3c115ab Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Thibault=20Delavall=C3=A9e?=
Date: Fri, 16 Nov 2012 16:31:30 +0100
Subject: [PATCH 50/97] [FIX] crm: still fixing filters about base action rule.
bzr revid: tde@openerp.com-20121116153130-p064sro5923dhh3h
---
addons/crm/crm_action_rule_demo.xml | 2 ++
1 file changed, 2 insertions(+)
diff --git a/addons/crm/crm_action_rule_demo.xml b/addons/crm/crm_action_rule_demo.xml
index 85cb8de1ac9..83f5681f311 100644
--- a/addons/crm/crm_action_rule_demo.xml
+++ b/addons/crm/crm_action_rule_demo.xml
@@ -46,6 +46,7 @@ Thanks,
Filter on leads which are draft.crm.lead[('state','=','draft')]
+
@@ -64,6 +65,7 @@ Thanks,
Filter on leads which come from USA.crm.lead[('country_id','=','United States')]
+
From 61835e0080c50e08e8fc7513fa9747841096702f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Thibault=20Delavall=C3=A9e?=
Date: Fri, 16 Nov 2012 16:31:41 +0100
Subject: [PATCH 51/97] [IMP] mail, crm: improved demo data.
bzr revid: tde@openerp.com-20121116153141-n8nxkg6g8uypex1a
---
addons/crm/__openerp__.py | 4 +-
addons/crm/crm_lead_demo.xml | 127 ++++++------
addons/mail/__openerp__.py | 4 +-
addons/mail/data/mail_demo.xml | 240 +++++++++-------------
addons/mail/data/mail_group_demo_data.xml | 3 +-
5 files changed, 168 insertions(+), 210 deletions(-)
diff --git a/addons/crm/__openerp__.py b/addons/crm/__openerp__.py
index 03885f541d0..0b6391501e4 100644
--- a/addons/crm/__openerp__.py
+++ b/addons/crm/__openerp__.py
@@ -100,13 +100,13 @@ Dashboard for CRM will include:
'res_config_view.xml',
- ],
- 'demo': [
'crm_demo.xml',
'crm_lead_demo.xml',
'crm_phonecall_demo.xml',
'crm_action_rule_demo.xml',
],
+ 'demo': [
+ ],
'test': [
'test/process/communication_with_customer.yml',
'test/process/lead2opportunity2win.yml',
diff --git a/addons/crm/crm_lead_demo.xml b/addons/crm/crm_lead_demo.xml
index 1a2dd26f691..a1996b3f2c4 100644
--- a/addons/crm/crm_lead_demo.xml
+++ b/addons/crm/crm_lead_demo.xml
@@ -1,6 +1,7 @@
-
+
+
@@ -324,8 +325,8 @@ Andrew
opportunity
- Plan to buy a Laptop
-
+ Plan to buy RedHat servers
+ 69 rue de Chimay
@@ -412,7 +413,7 @@ Andrew
Call to define real needs about training
-
+
@@ -553,14 +554,19 @@ Andrew
-
+
-
+
+
+ bWlncmF0aW9uIHRlc3Q=
+ YourCompany2012.doc
+ YourCompany2012.doc
+
- Plan to buy a Laptop
+ Plan to buy RedHat serverscrm.lead
@@ -573,48 +579,81 @@ Andrew
- Re: Plan to buy a Laptop
+ Re: Plan to buy RedHat serverscrm.leadcomment
- Dear Customer,
-Thanks for showing interest in our products.
-We have attached the catalogue.
-We would like to know your interests, so let us know when we can call you for more details.
-Best regards,]]>
+ Dear customer,
+ Thanks for showing interest in our products! As requested, I send to you our products catalog.
+ To be able to finely tune the solution, we would like to know precise needs. This way we wil be able to help you choosing the right infrastructure according to your requirements.
+ Best regards,]]>
+
- Re: Plan to buy a Laptop
+ Re: Plan to buy RedHat serverscrm.lead
- Thanks for the information! I will visit the store as soon as possible.]]>
- comment
+ Thanks for the information! I asked a precise specification to our technical expert. Here is what we precisely need:
+
+
weekly backups, every Monday
+
backup time is not a blocking point for us, as we are closed all Monday, leaving time enough to perform the backup
+
reliability is very important; we need redundant servers and rollback capacity
+
a total capacity of about 2 TB
+
+
Best regards,
]]>
+ email
-
+ virginie@agrolait.fr
+
- Re: Plan to buy a Laptop
+ Re: Plan to buy RedHat serverscrm.lead
- Could you please tell me if the store is open at 9:00 PM?]]>
- comment
-
-
-
-
-
- Re: Plan to buy a Laptop
- crm.lead
-
- Yes, its open till 10:00 PM. You are welcome!]]>
+ Hello
+
After our phonecall and discussion with our technical experts, here is the offer of YourCompany. We believe it will meet every requirement you had in mind. Please feel free to contact me for any detail or technical detail that is not clear enough for you.
+
Notice that as agreed on phone, we offer you a 10% discount on the hardware!
+
Best regards,
]]>email
+
+ Catalog to send
+ crm.lead
+
+ They just want pricing information about our services. I think sending our catalog should be sufficient.]]>
+ comment
+
+
+
+
+ Inquiry
+ crm.lead
+
+ Hello!
+ I am Leland Martinez, from the Delta PC. Maybe you remember, we talked a bit last month at this international conference.
+ We would like to attend a training, but we are not quite sure about what we can ask. Maybe we should meet and talk about that?
+ Best regards,]]>
+ comment
+
+
+
+
+
+ crm.lead
+
+ It seems very interesting. As you say, first of all we will have to define precisely what the training will be about, and your precise needs.]]>
+ comment
+
+
+
+
+ Inquirycrm.lead
@@ -631,36 +670,6 @@ Best regards,]]>
Want to know features and benefits to use the new software.comment
-
- Inquiry
- crm.lead
-
- Hello!
- I am Leland Martinez, from the Delta PC. Maybe you remember, we talked a bit last month at this international conference.
- We would like to attend a training, but we are not quite sure about what we can ask. Maybe we should meet and talk about that?
- Best regards,]]>
- comment
-
-
-
-
- crm.lead
-
- It seems very interesting. As you say, first of all we will have to define precisely what the training will be about, and your precise needs.]]>
- comment
-
-
-
-
-
- Need Details
- crm.lead
-
- They just want pricing information about our services. I think sending our catalog should be sufficient.]]>
- comment
-
-
-
diff --git a/addons/mail/__openerp__.py b/addons/mail/__openerp__.py
index c535e3f7024..18d4500f2a4 100644
--- a/addons/mail/__openerp__.py
+++ b/addons/mail/__openerp__.py
@@ -64,11 +64,11 @@ Main Features
'security/ir.model.access.csv',
'mail_alias_view.xml',
'res_users_view.xml',
- ],
- 'demo': [
'data/mail_demo.xml',
'data/mail_group_demo_data.xml',
],
+ 'demo': [
+ ],
'installable': True,
'auto_install': False,
'application': True,
diff --git a/addons/mail/data/mail_demo.xml b/addons/mail/data/mail_demo.xml
index 5ae2debbe7e..ab21c488a4b 100644
--- a/addons/mail/data/mail_demo.xml
+++ b/addons/mail/data/mail_demo.xml
@@ -1,6 +1,7 @@
-
+
+
@@ -76,86 +77,53 @@
none
-
-
+
+ bWlncmF0aW9uIHRlc3Q=
- my_attachment.xls
- my_attachment.xls
+ RedHat_spec.doc
+ RedHat_spec.doc
-
- mail.thread
- Comment with attachment
- Demo data with attachment and others messages
- comment
-
-
-
-
-
-
- mail.thread
- MESSAGE]]>
- comment
-
-
-
-
-
-
- mail.thread
- MESSAGE]]>
- comment
-
-
-
-
-
-
- mail.thread
- MESSAGE]]>
- comment
-
-
-
-
-
-
- mail.thread
- MESSAGE]]>
- comment
-
-
-
-
-
-
+ bWlncmF0aW9uIHRlc3Q=
- my_other_attachment.ai
- my_other_attachment.ai
+ RedHat_spec_draft_v3.doc
+ RedHat_spec_draft_v3.doc
-
- mail.thread
- MESSAGE]]>
+
+ RedHat server updated spec
+ Hello Demo
+
We have a lot of inquiries about our now solution using RedHat servers. However I do not have the updated specification ready at hand.
+
Could you please send me the last version of the file asap?
+
Thanks,
]]>comment
-
-
-
+
+
-
- mail.thread
- MESSAGE]]>
+
+ Sure, here it is. Have a nice day!]]>comment
-
-
-
+
+
+
+
+
+
+
+ I just found a newer draft of the spec. Jon did some cleaning in the specifications. Could you merge the two documents to have an updated one?
When it's done, put it on the internal document management system.
Thanks,
]]>
+ comment
+
+
+
+
+
+
-
- Plan to install servers
+
+ Plan to install backup serversHello,
We need to deploy new backup servers, with the following requirements:
@@ -172,41 +140,19 @@
emailvirginie@agrolait.fr
+
-
-
-
-
+ ir.attachmentbWlncmF0aW9uIHRlc3Q=catalog.doccatalog.doc
-
+ ir.attachmentactivity_graph_2012.jpgactivity_graph_2012
@@ -276,10 +222,11 @@
kxzLdwM111ZhJXPm0ixn3/rQxvK6Vd4vn//Z
-
- Hi, The next version of products and price list catalog is scheduled for next month.
-You will find in attachment the catalog, as well as a comparative benchmark of the different solutions existing on the market. Have a nice reading!
-Sincerely,]]>
+
+ Hi Demo,
+
The next version of our products catalog is scheduled for next month. Our product team send me their updated info about the prices and costs, and I updated our catalog.
+
You will find it in attachment, as well as a comparative benchmark of the different solutions currently existing on the market. Have a nice reading!
+ Sincerely,
]]>comment
@@ -287,19 +234,18 @@ Sincerely,]]>
-
- Thank you! Could you send me the updated pricelist as negociated beginning of this year? Sincerely,]]>
-
+
+ Thank you! Could you send me the updated pricelists as negociated beginning of this year? Sincerely,]]>comment
-
+
-
-
+
+
-
+ Hello,
I have a friend working at Epic Technologies. He told me they plan to upgrade their backup servers within the next 3 months.
I think that someone should contact them and check if there is an opportunity.
]]>comment
@@ -307,19 +253,9 @@ Sincerely,]]>
-
-
-Ok, I'll contact them today. Thanks for the info.]]>
-
- comment
-
-
-
-
-
-
+
-
+ comment
@@ -327,12 +263,12 @@ Ok, I'll contact them today. Thanks for the info.]]>
-
-
+
+ Information meeting
- Hello,
Epic Technologies is a small company specialized in big data software.
I saw you have interesting solutions to manage our backups. Could we meet each other as soon as possible to discuss our need:
+ Hello,
Epic Technologies is a small company specialized in software managing huge volume of data. Having an efficient and reliable backup system is very important to us, and critical for our customers. I eared you have some interesting solutions to manage our backups. Could we meet each other as soon as possible to discuss our need? Here is a first list of requirements:
-
25 backup servers, running on Redhat Linux
+
about 25 backup servers, running on Redhat Linux
minimum 200Gb of storage per server
setup a VPN between all our servers in New York and Chicago
@@ -342,67 +278,79 @@ Ok, I'll contact them today. Thanks for the info.]]>
-
+
-
+ RE: Information meeting
- Hello Of course, I am glad you are interested in our products. I propose to have a meeting tomorrow at 2 PM. Does it seem suitable for you ? Best regards,]]>
-
+ Hello Epic!
+
I am glad you are interested in our products. Indeed, we are have several backup solutions that should meet your requirements. In order to prepare a detailed offer, we will have to discuss several technical points about your needs and the context of your data management.
+
I propose to have a meeting tomorrow at 2 PM. Does it seem suitable for you ? Best regards,
]]>
+ comment
-
+
-
+ RE: Information meeting
- It is not possible for me to come at 2 PM. However it is ok at 3 PM.]]>
-
+ It is not possible for me to come tomorrow at 2 PM. Maybe at 4 PM?]]>
+ comment
-
-
+
-
+ RE: Information meeting
- Fine then. See you tomorrow at 3 PM! Best regards,]]>
-
+ 4 PM is fine! See you tomorrow! Best regards,]]>
+ comment
-
+
-
+ RE: Information meetingOk! See you tomorrow.]]>
-
+ comment
-
+
-
-
- Feedback on our service
- Hi, I come to you about our On Site Assistance Service that we delivered to you last week. Do you have any feedback about our service? I noticed you requested new IP phones, is it for new employees or did you had any issue with the ones we sent you? Best regards,]]>
+
+
+ Feedback about our On Site Assistance
+ Hi Virginie, I writing to you about our On Site Assistance Service that we delivered to Agrolait last week. Do you have any feedback or remark about our service? I noticed you requested new IP phones. Will it be used for new employees, or did you have any issue with the ones we provided? Best regards,]]>comment
-
+
-
- RE: Feedback on our service
- Hello Glad to hearing from you! Everything is perfect, I ordered two phones for two new employees.]]>
-
+
+ RE: Feedback about our On Site Assistance
+ Hello Administrator, Glad to hearing from you! Everything is perfect, thanks for asking. Concerning the order of 2 IP phones, I ordered them for new employees. We are satisfied with the products of YourCompany, and we plan to fit out each new employee with one of your phone this year. Regards,]]>
+ comment
+
+
+
+
+
+ FWD: Meeting with Demo
+ Hello Administrator, A small email to inform you that we will have a meeting with Mr Demo next Tuesday. Everything is under control! Regards,]]>
+ comment
+
+
+
diff --git a/addons/mail/data/mail_group_demo_data.xml b/addons/mail/data/mail_group_demo_data.xml
index 535948a2337..21e10e278df 100644
--- a/addons/mail/data/mail_group_demo_data.xml
+++ b/addons/mail/data/mail_group_demo_data.xml
@@ -1,6 +1,7 @@
-
+
+
From 5747c6fddc1e78c53f021d9ddc6235f0ec36352d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Thibault=20Delavall=C3=A9e?=
Date: Fri, 16 Nov 2012 18:11:00 +0100
Subject: [PATCH 52/97] [HACK] Temp hack about reloading menus.
bzr revid: tde@openerp.com-20121116171100-h2to6ij4p5idcui9
---
addons/mail/static/src/js/mail.js | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/addons/mail/static/src/js/mail.js b/addons/mail/static/src/js/mail.js
index 165a729a6ae..72c40ea141b 100644
--- a/addons/mail/static/src/js/mail.js
+++ b/addons/mail/static/src/js/mail.js
@@ -1636,7 +1636,7 @@ openerp.mail = function (session) {
// }
// });
// var r = menu.data;
- // menu.menu_loaded(r);
+ window.setTimeout(function(){menu.do_reload();}, 0);
// });
},
From 618829ccd9912546c0b5f12a13aac0e35e34e6cf Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Thibault=20Delavall=C3=A9e?=
Date: Fri, 16 Nov 2012 18:15:41 +0100
Subject: [PATCH 53/97] [FIX] mail_demo: fixed attachment_ids.
bzr revid: tde@openerp.com-20121116171541-3rbe6kq04maa1z7e
---
addons/mail/data/mail_demo.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/addons/mail/data/mail_demo.xml b/addons/mail/data/mail_demo.xml
index ab21c488a4b..471063aead2 100644
--- a/addons/mail/data/mail_demo.xml
+++ b/addons/mail/data/mail_demo.xml
@@ -231,7 +231,7 @@
-
+
From 37209eb5e76a7b373a0f302e1f62be32fd2f37d2 Mon Sep 17 00:00:00 2001
From: Launchpad Translations on behalf of openerp <>
Date: Sun, 18 Nov 2012 04:47:30 +0000
Subject: [PATCH 54/97] Launchpad automatic translations update.
bzr revid: launchpad_translations_on_behalf_of_openerp-20121118044730-4j5223ylkxl9o332
---
addons/web_calendar/i18n/gu.po | 141 +++++++++++++++++++++++++++++++++
addons/web_diagram/i18n/gu.po | 74 +++++++++++++++++
addons/web_gantt/i18n/gu.po | 28 +++++++
addons/web_graph/i18n/gu.po | 98 +++++++++++++++++++++++
addons/web_kanban/i18n/gu.po | 66 +++++++++++++++
5 files changed, 407 insertions(+)
create mode 100644 addons/web_calendar/i18n/gu.po
create mode 100644 addons/web_diagram/i18n/gu.po
create mode 100644 addons/web_gantt/i18n/gu.po
create mode 100644 addons/web_graph/i18n/gu.po
create mode 100644 addons/web_kanban/i18n/gu.po
diff --git a/addons/web_calendar/i18n/gu.po b/addons/web_calendar/i18n/gu.po
new file mode 100644
index 00000000000..65e20902cf5
--- /dev/null
+++ b/addons/web_calendar/i18n/gu.po
@@ -0,0 +1,141 @@
+# Gujarati translation for openerp-web
+# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012
+# This file is distributed under the same license as the openerp-web package.
+# FIRST AUTHOR , 2012.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openerp-web\n"
+"Report-Msgid-Bugs-To: FULL NAME \n"
+"POT-Creation-Date: 2012-07-02 09:06+0200\n"
+"PO-Revision-Date: 2012-11-17 12:42+0000\n"
+"Last-Translator: FULL NAME \n"
+"Language-Team: Gujarati \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2012-11-18 04:47+0000\n"
+"X-Generator: Launchpad (build 16278)\n"
+
+#. openerp-web
+#: addons/web_calendar/static/src/js/calendar.js:11
+msgid "Calendar"
+msgstr "કૅલેન્ડર"
+
+#. openerp-web
+#: addons/web_calendar/static/src/js/calendar.js:70
+msgid "Filter"
+msgstr ""
+
+#. openerp-web
+#: addons/web_calendar/static/src/js/calendar.js:144
+msgid "Today"
+msgstr "આજે"
+
+#. openerp-web
+#: addons/web_calendar/static/src/js/calendar.js:145
+msgid "Day"
+msgstr "દિવસ"
+
+#. openerp-web
+#: addons/web_calendar/static/src/js/calendar.js:146
+msgid "Week"
+msgstr ""
+
+#. openerp-web
+#: addons/web_calendar/static/src/js/calendar.js:147
+msgid "Month"
+msgstr ""
+
+#. openerp-web
+#: addons/web_calendar/static/src/js/calendar.js:148
+msgid "New event"
+msgstr ""
+
+#. openerp-web
+#: addons/web_calendar/static/src/js/calendar.js:149
+msgid "Save"
+msgstr "સંગ્રહો"
+
+#. openerp-web
+#: addons/web_calendar/static/src/js/calendar.js:150
+msgid "Cancel"
+msgstr "રદ કરો"
+
+#. openerp-web
+#: addons/web_calendar/static/src/js/calendar.js:151
+msgid "Details"
+msgstr "વિગતો"
+
+#. openerp-web
+#: addons/web_calendar/static/src/js/calendar.js:152
+msgid "Edit"
+msgstr "ફેરફાર કરો"
+
+#. openerp-web
+#: addons/web_calendar/static/src/js/calendar.js:153
+msgid "Delete"
+msgstr "કાઢી નાંખો"
+
+#. openerp-web
+#: addons/web_calendar/static/src/js/calendar.js:155
+msgid "Event will be deleted permanently, are you sure?"
+msgstr ""
+
+#. openerp-web
+#: addons/web_calendar/static/src/js/calendar.js:156
+#: addons/web_calendar/static/src/js/calendar.js:169
+msgid "Description"
+msgstr "વર્ણન"
+
+#. openerp-web
+#: addons/web_calendar/static/src/js/calendar.js:157
+msgid "Time period"
+msgstr ""
+
+#. openerp-web
+#: addons/web_calendar/static/src/js/calendar.js:158
+msgid "Full day"
+msgstr ""
+
+#. openerp-web
+#: addons/web_calendar/static/src/js/calendar.js:161
+msgid "Do you want to edit the whole set of repeated events?"
+msgstr ""
+
+#. openerp-web
+#: addons/web_calendar/static/src/js/calendar.js:162
+msgid "Repeat event"
+msgstr ""
+
+#. openerp-web
+#: addons/web_calendar/static/src/js/calendar.js:163
+msgid "Disabled"
+msgstr ""
+
+#. openerp-web
+#: addons/web_calendar/static/src/js/calendar.js:164
+msgid "Enabled"
+msgstr ""
+
+#. openerp-web
+#: addons/web_calendar/static/src/js/calendar.js:167
+#: addons/web_calendar/static/src/js/calendar.js:175
+msgid "Agenda"
+msgstr ""
+
+#. openerp-web
+#: addons/web_calendar/static/src/js/calendar.js:168
+msgid "Date"
+msgstr "તારીખ"
+
+#. openerp-web
+#: addons/web_calendar/static/src/js/calendar.js:172
+msgid "Year"
+msgstr "વર્ષ"
+
+#. openerp-web
+#: addons/web_calendar/static/src/xml/web_calendar.xml:5
+#: addons/web_calendar/static/src/xml/web_calendar.xml:6
+msgid " "
+msgstr " "
diff --git a/addons/web_diagram/i18n/gu.po b/addons/web_diagram/i18n/gu.po
new file mode 100644
index 00000000000..dac8f061956
--- /dev/null
+++ b/addons/web_diagram/i18n/gu.po
@@ -0,0 +1,74 @@
+# Gujarati translation for openerp-web
+# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012
+# This file is distributed under the same license as the openerp-web package.
+# FIRST AUTHOR , 2012.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openerp-web\n"
+"Report-Msgid-Bugs-To: FULL NAME \n"
+"POT-Creation-Date: 2012-07-02 09:06+0200\n"
+"PO-Revision-Date: 2012-11-17 11:58+0000\n"
+"Last-Translator: FULL NAME \n"
+"Language-Team: Gujarati \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2012-11-18 04:47+0000\n"
+"X-Generator: Launchpad (build 16278)\n"
+
+#. openerp-web
+#: addons/web_diagram/static/src/js/diagram.js:11
+msgid "Diagram"
+msgstr ""
+
+#. openerp-web
+#: addons/web_diagram/static/src/js/diagram.js:165
+msgid "Are you sure?"
+msgstr ""
+
+#. openerp-web
+#: addons/web_diagram/static/src/js/diagram.js:195
+msgid ""
+"Deleting this node cannot be undone.\n"
+"It will also delete all connected transitions.\n"
+"\n"
+"Are you sure ?"
+msgstr ""
+
+#. openerp-web
+#: addons/web_diagram/static/src/js/diagram.js:213
+msgid ""
+"Deleting this transition cannot be undone.\n"
+"\n"
+"Are you sure ?"
+msgstr ""
+
+#. openerp-web
+#: addons/web_diagram/static/src/js/diagram.js:224
+#: addons/web_diagram/static/src/js/diagram.js:257
+msgid "Activity"
+msgstr "પ્રવૃત્તિ"
+
+#. openerp-web
+#: addons/web_diagram/static/src/js/diagram.js:232
+#: addons/web_diagram/static/src/js/diagram.js:296
+msgid "Open: "
+msgstr ""
+
+#. openerp-web
+#: addons/web_diagram/static/src/js/diagram.js:262
+#: addons/web_diagram/static/src/js/diagram.js:314
+msgid "Create:"
+msgstr ""
+
+#. openerp-web
+#: addons/web_diagram/static/src/js/diagram.js:289
+#: addons/web_diagram/static/src/js/diagram.js:308
+msgid "Transition"
+msgstr ""
+
+#. openerp-web
+#: addons/web_diagram/static/src/xml/base_diagram.xml:6
+msgid "New Node"
+msgstr ""
diff --git a/addons/web_gantt/i18n/gu.po b/addons/web_gantt/i18n/gu.po
new file mode 100644
index 00000000000..2c31432f767
--- /dev/null
+++ b/addons/web_gantt/i18n/gu.po
@@ -0,0 +1,28 @@
+# Gujarati translation for openerp-web
+# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012
+# This file is distributed under the same license as the openerp-web package.
+# FIRST AUTHOR , 2012.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openerp-web\n"
+"Report-Msgid-Bugs-To: FULL NAME \n"
+"POT-Creation-Date: 2012-07-02 09:06+0200\n"
+"PO-Revision-Date: 2012-11-17 10:36+0000\n"
+"Last-Translator: FULL NAME \n"
+"Language-Team: Gujarati \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2012-11-18 04:47+0000\n"
+"X-Generator: Launchpad (build 16278)\n"
+
+#. openerp-web
+#: addons/web_gantt/static/src/js/gantt.js:11
+msgid "Gantt"
+msgstr ""
+
+#. openerp-web
+#: addons/web_gantt/static/src/xml/web_gantt.xml:10
+msgid "Create"
+msgstr "બનાવો"
diff --git a/addons/web_graph/i18n/gu.po b/addons/web_graph/i18n/gu.po
new file mode 100644
index 00000000000..25b35828984
--- /dev/null
+++ b/addons/web_graph/i18n/gu.po
@@ -0,0 +1,98 @@
+# Gujarati translation for openerp-web
+# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012
+# This file is distributed under the same license as the openerp-web package.
+# FIRST AUTHOR , 2012.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openerp-web\n"
+"Report-Msgid-Bugs-To: FULL NAME \n"
+"POT-Creation-Date: 2012-07-02 09:06+0200\n"
+"PO-Revision-Date: 2012-11-17 10:34+0000\n"
+"Last-Translator: FULL NAME \n"
+"Language-Team: Gujarati \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2012-11-18 04:47+0000\n"
+"X-Generator: Launchpad (build 16278)\n"
+
+#. openerp-web
+#: addons/web_graph/static/src/js/graph.js:19
+msgid "Graph"
+msgstr "આલેખ"
+
+#. openerp-web
+#: addons/web_graph/static/src/xml/web_graph.xml:5
+msgid "Graph Options"
+msgstr ""
+
+#. openerp-web
+#: addons/web_graph/static/src/xml/web_graph.xml:7
+msgid "Graph Mode"
+msgstr ""
+
+#. openerp-web
+#: addons/web_graph/static/src/xml/web_graph.xml:11
+msgid "Pie"
+msgstr ""
+
+#. openerp-web
+#: addons/web_graph/static/src/xml/web_graph.xml:12
+msgid "Bars"
+msgstr ""
+
+#. openerp-web
+#: addons/web_graph/static/src/xml/web_graph.xml:14
+msgid "Lines"
+msgstr ""
+
+#. openerp-web
+#: addons/web_graph/static/src/xml/web_graph.xml:15
+msgid "Areas"
+msgstr ""
+
+#. openerp-web
+#: addons/web_graph/static/src/xml/web_graph.xml:18
+msgid "Radar"
+msgstr ""
+
+#. openerp-web
+#: addons/web_graph/static/src/xml/web_graph.xml:20
+msgid "Legend"
+msgstr ""
+
+#. openerp-web
+#: addons/web_graph/static/src/xml/web_graph.xml:24
+msgid "Hidden"
+msgstr ""
+
+#. openerp-web
+#: addons/web_graph/static/src/xml/web_graph.xml:25
+msgid "Inside"
+msgstr ""
+
+#. openerp-web
+#: addons/web_graph/static/src/xml/web_graph.xml:26
+msgid "Top"
+msgstr ""
+
+#. openerp-web
+#: addons/web_graph/static/src/xml/web_graph.xml:28
+msgid "Actions"
+msgstr ""
+
+#. openerp-web
+#: addons/web_graph/static/src/xml/web_graph.xml:32
+msgid "Switch Axis"
+msgstr ""
+
+#. openerp-web
+#: addons/web_graph/static/src/xml/web_graph.xml:33
+msgid "Show Data"
+msgstr ""
+
+#. openerp-web
+#: addons/web_graph/static/src/xml/web_graph.xml:34
+msgid "Download as PNG"
+msgstr ""
diff --git a/addons/web_kanban/i18n/gu.po b/addons/web_kanban/i18n/gu.po
new file mode 100644
index 00000000000..0e82f736171
--- /dev/null
+++ b/addons/web_kanban/i18n/gu.po
@@ -0,0 +1,66 @@
+# Gujarati translation for openerp-web
+# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012
+# This file is distributed under the same license as the openerp-web package.
+# FIRST AUTHOR , 2012.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openerp-web\n"
+"Report-Msgid-Bugs-To: FULL NAME \n"
+"POT-Creation-Date: 2012-07-02 09:06+0200\n"
+"PO-Revision-Date: 2012-11-17 11:38+0000\n"
+"Last-Translator: FULL NAME \n"
+"Language-Team: Gujarati \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2012-11-18 04:47+0000\n"
+"X-Generator: Launchpad (build 16278)\n"
+
+#. openerp-web
+#: addons/web_kanban/static/src/js/kanban.js:10
+msgid "Kanban"
+msgstr ""
+
+#. openerp-web
+#: addons/web_kanban/static/src/js/kanban.js:293
+msgid "Undefined"
+msgstr ""
+
+#. openerp-web
+#: addons/web_kanban/static/src/js/kanban.js:471
+msgid "Are you sure you want to delete this record ?"
+msgstr ""
+
+#. openerp-web
+#: addons/web_kanban/static/src/js/kanban.js:839
+msgid "Create: "
+msgstr ""
+
+#. openerp-web
+#: addons/web_kanban/static/src/xml/web_kanban.xml:41
+msgid "Show more... ("
+msgstr ""
+
+#. openerp-web
+#: addons/web_kanban/static/src/xml/web_kanban.xml:41
+msgid "remaining)"
+msgstr ""
+
+#. openerp-web
+#: addons/web_kanban/static/src/xml/web_kanban.xml:71
+msgid "Add"
+msgstr ""
+
+#. openerp-web
+#: addons/web_kanban/static/src/xml/web_kanban.xml:71
+msgid "or"
+msgstr ""
+
+#. openerp-web
+#: addons/web_kanban/static/src/xml/web_kanban.xml:72
+msgid "Cancel"
+msgstr ""
+
+#~ msgid "Create"
+#~ msgstr "બનાવો"
From caa54bb76f6be34848fb1d6eb789cce16767802e Mon Sep 17 00:00:00 2001
From: Launchpad Translations on behalf of openerp <>
Date: Mon, 19 Nov 2012 04:37:24 +0000
Subject: [PATCH 55/97] Launchpad automatic translations update.
bzr revid: launchpad_translations_on_behalf_of_openerp-20121119043724-mjkn4taco62obn62
---
openerp/addons/base/i18n/fa.po | 200 ++++++++++++++++-----------------
1 file changed, 100 insertions(+), 100 deletions(-)
diff --git a/openerp/addons/base/i18n/fa.po b/openerp/addons/base/i18n/fa.po
index 347abf02cbf..38baf159866 100644
--- a/openerp/addons/base/i18n/fa.po
+++ b/openerp/addons/base/i18n/fa.po
@@ -3,14 +3,14 @@ msgstr ""
"Project-Id-Version: OpenERP Server 5.0.0\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2012-02-08 00:44+0000\n"
-"PO-Revision-Date: 2012-11-13 02:22+0000\n"
+"PO-Revision-Date: 2012-11-18 22:57+0000\n"
"Last-Translator: fshahy \n"
"Language-Team: OpenERP Iran \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2012-11-14 04:40+0000\n"
-"X-Generator: Launchpad (build 16251)\n"
+"X-Launchpad-Export-Date: 2012-11-19 04:37+0000\n"
+"X-Generator: Launchpad (build 16278)\n"
"X-Poedit-Country: IRAN, ISLAMIC REPUBLIC OF\n"
"X-Poedit-Language: Persian\n"
@@ -27,7 +27,7 @@ msgstr "پیکربندی های دیگر"
#. module: base
#: selection:ir.property,type:0
msgid "DateTime"
-msgstr ""
+msgstr "تاریخ و ساعت"
#. module: base
#: model:ir.module.module,shortdesc:base.module_project_mailgate
@@ -973,7 +973,7 @@ msgstr ""
#: model:ir.actions.act_window,name:base.act_menu_create
#: view:wizard.ir.model.menu.create:0
msgid "Create Menu"
-msgstr "پدیدن منو"
+msgstr "ایجاد منو"
#. module: base
#: model:res.country,name:base.in
@@ -1144,7 +1144,7 @@ msgstr ""
#. module: base
#: selection:ir.property,type:0
msgid "Char"
-msgstr ""
+msgstr "کاراکتر"
#. module: base
#: selection:base.language.install,lang:0
@@ -1362,7 +1362,7 @@ msgstr "ir.exports"
#: code:addons/base/module/wizard/base_update_translations.py:38
#, python-format
msgid "No language with code \"%s\" exists"
-msgstr ""
+msgstr "هیچ زبانی با کد %s وجود ندارد"
#. module: base
#: model:ir.module.module,description:base.module_document
@@ -1809,7 +1809,7 @@ msgstr "همکاران"
#. module: base
#: field:res.partner.category,parent_left:0
msgid "Left parent"
-msgstr ""
+msgstr "گره پدر سمت چپ"
#. module: base
#: model:ir.module.module,shortdesc:base.module_project_mrp
@@ -2635,7 +2635,7 @@ msgstr ""
#: code:addons/base/res/res_company.py:155
#, python-format
msgid "Fax: "
-msgstr ""
+msgstr "فکس: "
#. module: base
#: model:res.country,name:base.si
@@ -2961,7 +2961,7 @@ msgstr ""
#. module: base
#: model:ir.module.module,shortdesc:base.module_wiki_quality_manual
msgid "Wiki: Quality Manual"
-msgstr ""
+msgstr "ویکی: راهنمای کیفیت"
#. module: base
#: selection:ir.actions.act_window.view,view_mode:0
@@ -2974,7 +2974,7 @@ msgstr "گاهشمار"
#. module: base
#: field:res.partner.address,partner_id:0
msgid "Partner Name"
-msgstr ""
+msgstr "نام همکار"
#. module: base
#: field:workflow.activity,signal_send:0
@@ -2989,7 +2989,7 @@ msgstr "بخش منابع انسانی"
#. module: base
#: model:ir.ui.menu,name:base.menu_dashboard_admin
msgid "Administration Dashboard"
-msgstr ""
+msgstr "داشبورد مدیر"
#. module: base
#: code:addons/orm.py:4408
@@ -3072,7 +3072,7 @@ msgstr ""
#. module: base
#: model:ir.module.module,shortdesc:base.module_hr_contract
msgid "Employee Contracts"
-msgstr ""
+msgstr "قرارداد کارمند"
#. module: base
#: model:ir.module.module,description:base.module_wiki_faq
@@ -3136,7 +3136,7 @@ msgstr ""
#. module: base
#: model:ir.module.module,shortdesc:base.module_survey
msgid "Survey"
-msgstr ""
+msgstr "نظرسنجی"
#. module: base
#: view:base.language.import:0
@@ -3258,7 +3258,7 @@ msgstr ""
#. module: base
#: selection:base.language.install,lang:0
msgid "Portugese / Português"
-msgstr ""
+msgstr "پرتغالی / Português"
#. module: base
#: model:res.partner.title,name:base.res_partner_title_sir
@@ -3365,7 +3365,7 @@ msgstr ""
#. module: base
#: selection:base.language.install,lang:0
msgid "Japanese / 日本語"
-msgstr ""
+msgstr "ژاپنی / 日本語"
#. module: base
#: field:ir.actions.report.xml,auto:0
@@ -3428,7 +3428,7 @@ msgstr ""
#: model:ir.module.category,name:base.module_category_generic_modules_accounting
#: view:res.company:0
msgid "Accounting"
-msgstr ""
+msgstr "حسابداری"
#. module: base
#: model:ir.module.module,description:base.module_account_payment
@@ -3497,7 +3497,7 @@ msgstr "res.partner.event"
#: model:ir.model,name:base.model_ir_filters
#: model:ir.ui.menu,name:base.menu_ir_filters
msgid "Filters"
-msgstr ""
+msgstr "فیلترها"
#. module: base
#: model:ir.actions.act_window,help:base.open_module_tree
@@ -3548,7 +3548,7 @@ msgstr ""
#. module: base
#: model:ir.module.module,shortdesc:base.module_point_of_sale
msgid "Point Of Sale"
-msgstr ""
+msgstr "نقطه فروش"
#. module: base
#: code:addons/base/module/module.py:302
@@ -3582,7 +3582,7 @@ msgstr ""
#. module: base
#: selection:ir.sequence,implementation:0
msgid "Standard"
-msgstr ""
+msgstr "استاندارد"
#. module: base
#: model:ir.model,name:base.model_maintenance_contract
@@ -3615,7 +3615,7 @@ msgstr ""
#. module: base
#: model:ir.module.category,name:base.module_category_human_resources
msgid "Human Resources"
-msgstr ""
+msgstr "منابع انسانی"
#. module: base
#: model:ir.actions.act_window,name:base.action_country
@@ -3675,7 +3675,7 @@ msgstr "مالیات بر ارزش افزوده"
#. module: base
#: field:res.users,new_password:0
msgid "Set password"
-msgstr ""
+msgstr "تنظیم کلمه عبور"
#. module: base
#: view:res.lang:0
@@ -3970,7 +3970,7 @@ msgstr ""
#. module: base
#: model:ir.module.module,shortdesc:base.module_l10n_it
msgid "Italy - Accounting"
-msgstr ""
+msgstr "ایتالیا - حسابداری"
#. module: base
#: field:ir.actions.act_window,help:0
@@ -4021,12 +4021,12 @@ msgstr "Xor"
#. module: base
#: model:ir.module.category,name:base.module_category_localization_account_charts
msgid "Account Charts"
-msgstr ""
+msgstr "نمودار حساب ها"
#. module: base
#: view:res.request:0
msgid "Request Date"
-msgstr ""
+msgstr "تاریخ درخواست"
#. module: base
#: code:addons/base/module/wizard/base_export_language.py:52
@@ -4175,7 +4175,7 @@ msgstr "چکیده"
#. module: base
#: model:ir.module.category,name:base.module_category_hidden_dependency
msgid "Dependency"
-msgstr ""
+msgstr "وابستگی"
#. module: base
#: field:multi_company.default,expression:0
@@ -4280,7 +4280,7 @@ msgstr ""
#: model:ir.module.module,shortdesc:base.module_marketing
#: model:ir.ui.menu,name:base.marketing_menu
msgid "Marketing"
-msgstr ""
+msgstr "بازاریابی"
#. module: base
#: view:res.partner.bank:0
@@ -4325,7 +4325,7 @@ msgstr ""
#. module: base
#: field:ir.attachment,url:0
msgid "Url"
-msgstr ""
+msgstr "آدرس وب"
#. module: base
#: selection:ir.translation,type:0
@@ -4455,7 +4455,7 @@ msgstr ""
#. module: base
#: selection:base.language.install,lang:0
msgid "Hebrew / עִבְרִי"
-msgstr ""
+msgstr "عبری / עִבְרִי"
#. module: base
#: model:res.country,name:base.bo
@@ -4494,7 +4494,7 @@ msgstr "قواعد"
#. module: base
#: field:ir.mail_server,smtp_host:0
msgid "SMTP Server"
-msgstr ""
+msgstr "سرور SMTP"
#. module: base
#: code:addons/base/module/module.py:256
@@ -4585,12 +4585,12 @@ msgstr "کنیا"
#: model:ir.actions.act_window,name:base.action_translation
#: model:ir.ui.menu,name:base.menu_action_translation
msgid "Translated Terms"
-msgstr ""
+msgstr "کلمات ترجمه شده"
#. module: base
#: view:res.partner.event:0
msgid "Event"
-msgstr ""
+msgstr "رخداد"
#. module: base
#: model:ir.ui.menu,name:base.menu_custom_reports
@@ -4779,7 +4779,7 @@ msgstr "موریتیوس"
#: view:ir.model.access:0
#: view:ir.rule:0
msgid "Full Access"
-msgstr ""
+msgstr "دسترسی کامل"
#. module: base
#: view:ir.actions.act_window:0
@@ -4816,7 +4816,7 @@ msgstr "برپاسازی شد"
#. module: base
#: selection:base.language.install,lang:0
msgid "Ukrainian / українська"
-msgstr ""
+msgstr "اکراینی / українська"
#. module: base
#: model:res.country,name:base.sn
@@ -4910,7 +4910,7 @@ msgstr ""
#. module: base
#: model:ir.module.category,name:base.module_category_localization
msgid "Localization"
-msgstr ""
+msgstr "بومی سازی"
#. module: base
#: model:ir.module.module,description:base.module_sale_mrp
@@ -4975,7 +4975,7 @@ msgstr "منوی مادر"
#. module: base
#: field:res.partner.bank,owner_name:0
msgid "Account Owner Name"
-msgstr ""
+msgstr "نام صاحب حساب"
#. module: base
#: field:ir.rule,perm_unlink:0
@@ -5003,7 +5003,7 @@ msgstr "جداساز شمارگانی"
#: view:ir.module.module:0
#, python-format
msgid "Install"
-msgstr ""
+msgstr "نصب"
#. module: base
#: model:ir.actions.act_window,help:base.action_res_groups
@@ -5019,7 +5019,7 @@ msgstr ""
#. module: base
#: field:ir.filters,name:0
msgid "Filter Name"
-msgstr ""
+msgstr "نام فیلتر"
#. module: base
#: view:res.partner:0
@@ -5126,7 +5126,7 @@ msgstr "فیلد"
#. module: base
#: model:ir.module.module,shortdesc:base.module_project_long_term
msgid "Long Term Projects"
-msgstr ""
+msgstr "پروژه های بلند مدت"
#. module: base
#: model:res.country,name:base.ve
@@ -5362,7 +5362,7 @@ msgstr "وب"
#. module: base
#: model:ir.module.module,shortdesc:base.module_lunch
msgid "Lunch Orders"
-msgstr ""
+msgstr "سفارش های نهار"
#. module: base
#: selection:base.language.install,lang:0
@@ -5515,7 +5515,7 @@ msgstr "جزایر اسوالبار و یان ماین"
#. module: base
#: model:ir.module.category,name:base.module_category_hidden_test
msgid "Test"
-msgstr ""
+msgstr "تست"
#. module: base
#: model:ir.module.module,shortdesc:base.module_web_kanban
@@ -5534,7 +5534,7 @@ msgstr "گروهبندی برمبنای"
#: view:res.config:0
#: view:res.config.installer:0
msgid "title"
-msgstr ""
+msgstr "عنوان"
#. module: base
#: field:base.language.install,state:0
@@ -5560,12 +5560,12 @@ msgstr ""
#. module: base
#: model:ir.model,name:base.model_base_language_install
msgid "Install Language"
-msgstr ""
+msgstr "نصب زبان"
#. module: base
#: view:ir.translation:0
msgid "Translation"
-msgstr ""
+msgstr "ترجمه"
#. module: base
#: selection:res.request,state:0
@@ -5605,7 +5605,7 @@ msgstr "ویژگی هنگام ستردن برای فیلدهای many2one"
#. module: base
#: model:ir.module.category,name:base.module_category_accounting_and_finance
msgid "Accounting & Finance"
-msgstr ""
+msgstr "حسابداری و مالی"
#. module: base
#: field:ir.actions.server,write_id:0
@@ -5615,7 +5615,7 @@ msgstr "شناسه نوشتن"
#. module: base
#: model:ir.ui.menu,name:base.menu_product
msgid "Products"
-msgstr ""
+msgstr "محصولات"
#. module: base
#: help:res.users,name:0
@@ -5846,7 +5846,7 @@ msgstr ""
#. module: base
#: view:ir.attachment:0
msgid "Month"
-msgstr ""
+msgstr "ماه"
#. module: base
#: model:res.country,name:base.my
@@ -5890,7 +5890,7 @@ msgstr ""
#. module: base
#: selection:ir.actions.todo,type:0
msgid "Launch Automatically"
-msgstr ""
+msgstr "بارگذاری خودکار"
#. module: base
#: model:ir.module.module,description:base.module_mail
@@ -6286,7 +6286,7 @@ msgstr "بانکها"
#. module: base
#: view:res.log:0
msgid "Unread"
-msgstr ""
+msgstr "خوانده نشده"
#. module: base
#: field:res.users,id:0
@@ -6492,7 +6492,7 @@ msgstr ""
#. module: base
#: model:ir.ui.menu,name:base.menu_main_pm
msgid "Project"
-msgstr ""
+msgstr "پروژه"
#. module: base
#: field:ir.ui.menu,web_icon_hover_data:0
@@ -6557,7 +6557,7 @@ msgstr "قرارداد نگهداری"
#: model:res.groups,name:base.group_user
#: field:res.partner,employee:0
msgid "Employee"
-msgstr ""
+msgstr "کارمند"
#. module: base
#: field:ir.model.access,perm_create:0
@@ -6591,7 +6591,7 @@ msgstr ""
#: view:res.partner:0
#: view:res.partner.address:0
msgid "Edit"
-msgstr ""
+msgstr "ویرایش"
#. module: base
#: field:ir.actions.client,params:0
@@ -6601,7 +6601,7 @@ msgstr ""
#. module: base
#: field:res.users,view:0
msgid "Interface"
-msgstr ""
+msgstr "رابط"
#. module: base
#: view:ir.actions.server:0
@@ -6771,12 +6771,12 @@ msgstr "روی چند سند"
#: view:res.partner:0
#: field:res.partner,user_id:0
msgid "Salesman"
-msgstr ""
+msgstr "مسول فروش"
#. module: base
#: model:ir.module.module,shortdesc:base.module_account_accountant
msgid "Accounting and Finance"
-msgstr ""
+msgstr "حسابداری و مالی"
#. module: base
#: code:addons/base/module/module.py:429
@@ -6818,7 +6818,7 @@ msgstr ""
#. module: base
#: view:res.widget.wizard:0
msgid "Add"
-msgstr ""
+msgstr "افزودن"
#. module: base
#: model:ir.module.module,shortdesc:base.module_l10n_ec
@@ -6892,7 +6892,7 @@ msgstr ""
#. module: base
#: selection:base.language.install,lang:0
msgid "Hindi / हिंदी"
-msgstr ""
+msgstr "هندی / हिंदी"
#. module: base
#: help:res.users,company_id:0
@@ -7058,7 +7058,7 @@ msgstr "کد ISO"
#: view:res.log:0
#: field:res.log,read:0
msgid "Read"
-msgstr ""
+msgstr "خواندن"
#. module: base
#: model:ir.module.module,shortdesc:base.module_association
@@ -7155,7 +7155,7 @@ msgstr "فیلدها"
#. module: base
#: model:ir.actions.act_window,name:base.action_partner_employee_form
msgid "Employees"
-msgstr ""
+msgstr "کارمندان"
#. module: base
#: field:ir.exports.line,name:0
@@ -7478,7 +7478,7 @@ msgstr ""
#. module: base
#: model:ir.module.category,name:base.module_category_knowledge_management
msgid "Knowledge Management"
-msgstr ""
+msgstr "مدیریت دانش"
#. module: base
#: model:ir.actions.act_window,name:base.bank_account_update
@@ -7542,7 +7542,7 @@ msgstr ""
#. module: base
#: model:res.partner.bank.type,name:base.bank_normal
msgid "Normal Bank Account"
-msgstr ""
+msgstr "حساب بانکی معمولی"
#. module: base
#: view:ir.actions.wizard:0
@@ -8182,7 +8182,7 @@ msgstr "اسلوونیایی / slovenščina"
#. module: base
#: model:ir.module.module,shortdesc:base.module_wiki
msgid "Wiki"
-msgstr ""
+msgstr "ویکی"
#. module: base
#: model:ir.module.module,description:base.module_l10n_de
@@ -8368,7 +8368,7 @@ msgstr "_بستن"
#. module: base
#: field:multi_company.default,company_dest_id:0
msgid "Default Company"
-msgstr ""
+msgstr "شرکت پیش فرض"
#. module: base
#: selection:base.language.install,lang:0
@@ -8490,7 +8490,7 @@ msgstr ""
#. module: base
#: field:ir.module.module,complexity:0
msgid "Complexity"
-msgstr ""
+msgstr "پیچیدگی"
#. module: base
#: selection:ir.actions.act_window,target:0
@@ -8507,7 +8507,7 @@ msgstr ""
#: code:addons/orm.py:4085
#, python-format
msgid "UserError"
-msgstr ""
+msgstr "خطای کاربر"
#. module: base
#: model:ir.module.module,description:base.module_account_analytic_default
@@ -8539,7 +8539,7 @@ msgstr ""
#. module: base
#: model:ir.ui.menu,name:base.menu_crm_case_job_req_main
msgid "Recruitment"
-msgstr ""
+msgstr "استخدام"
#. module: base
#: model:ir.module.module,description:base.module_l10n_gr
@@ -8583,12 +8583,12 @@ msgstr ""
#. module: base
#: model:ir.module.module,shortdesc:base.module_mrp_repair
msgid "Repairs Management"
-msgstr ""
+msgstr "مدیریت تعمیرات"
#. module: base
#: model:ir.module.module,shortdesc:base.module_account_asset
msgid "Assets Management"
-msgstr ""
+msgstr "مدیریت دارایی"
#. module: base
#: view:ir.model.access:0
@@ -8930,7 +8930,7 @@ msgstr ""
#. module: base
#: view:ir.actions.report.xml:0
msgid "Report"
-msgstr ""
+msgstr "گزارش"
#. module: base
#: code:addons/base/ir/ir_mail_server.py:218
@@ -8956,7 +8956,7 @@ msgstr "تارنما"
#. module: base
#: selection:ir.mail_server,smtp_encryption:0
msgid "None"
-msgstr ""
+msgstr "هیچکدام"
#. module: base
#: view:ir.module.category:0
@@ -8981,7 +8981,7 @@ msgstr ""
#. module: base
#: view:ir.ui.view:0
msgid "Architecture"
-msgstr ""
+msgstr "معماری"
#. module: base
#: model:res.country,name:base.ml
@@ -9177,7 +9177,7 @@ msgstr ""
#: model:ir.model,name:base.model_ir_model
#: model:ir.ui.menu,name:base.ir_model_model_menu
msgid "Models"
-msgstr ""
+msgstr "مدل ها"
#. module: base
#: code:addons/base/ir/ir_cron.py:292
@@ -9188,7 +9188,7 @@ msgstr ""
#. module: base
#: selection:ir.actions.todo,type:0
msgid "Launch Manually"
-msgstr ""
+msgstr "بارگذاری دستی"
#. module: base
#: model:res.country,name:base.be
@@ -9396,7 +9396,7 @@ msgstr ""
#. module: base
#: selection:publisher_warranty.contract.wizard,state:0
msgid "Finished"
-msgstr ""
+msgstr "تمام شده"
#. module: base
#: model:res.country,name:base.de
@@ -9627,7 +9627,7 @@ msgstr ""
#. module: base
#: selection:ir.module.module,complexity:0
msgid "Expert"
-msgstr ""
+msgstr "متخصص"
#. module: base
#: model:ir.module.module,shortdesc:base.module_hr_holidays
@@ -9647,7 +9647,7 @@ msgstr ""
#: view:res.partner.address:0
#: view:workflow.activity:0
msgid "Group By..."
-msgstr ""
+msgstr "گروه بتدی بر اساس ..."
#. module: base
#: view:ir.model.fields:0
@@ -9791,7 +9791,7 @@ msgstr "دقیقهها"
#. module: base
#: view:res.currency:0
msgid "Display"
-msgstr ""
+msgstr "نمایش"
#. module: base
#: selection:ir.translation,type:0
@@ -9812,7 +9812,7 @@ msgstr ""
#. module: base
#: model:ir.actions.report.xml,name:base.preview_report
msgid "Preview Report"
-msgstr ""
+msgstr "پیش نمایش گزارش"
#. module: base
#: model:ir.module.module,shortdesc:base.module_purchase_analytic_plans
@@ -9897,7 +9897,7 @@ msgstr "هفتهها"
#: code:addons/base/res/res_company.py:157
#, python-format
msgid "VAT: "
-msgstr ""
+msgstr "مالیات بر ارزش افزوده "
#. module: base
#: model:res.country,name:base.af
@@ -10922,7 +10922,7 @@ msgstr ""
#. module: base
#: view:ir.model.data:0
msgid "Updatable"
-msgstr ""
+msgstr "قابل به روز رسانی"
#. module: base
#: view:res.lang:0
@@ -10954,7 +10954,7 @@ msgstr "عربی / الْعَرَبيّة"
#. module: base
#: model:ir.module.module,shortdesc:base.module_web_hello
msgid "Hello"
-msgstr ""
+msgstr "سلام"
#. module: base
#: view:ir.actions.configuration.wizard:0
@@ -10969,7 +10969,7 @@ msgstr "توضیح"
#. module: base
#: model:res.groups,name:base.group_hr_manager
msgid "HR Manager"
-msgstr ""
+msgstr "مدیر منابع انسانی"
#. module: base
#: view:ir.filters:0
@@ -11161,7 +11161,7 @@ msgstr "باز کردن پنجره"
#. module: base
#: field:ir.actions.act_window,auto_search:0
msgid "Auto Search"
-msgstr ""
+msgstr "جستجوی خودکار"
#. module: base
#: field:ir.actions.act_window,filter:0
@@ -11260,7 +11260,7 @@ msgstr "مشتریان مهم"
#. module: base
#: view:res.lang:0
msgid "Update Terms"
-msgstr ""
+msgstr "به روز رسانی کلمات"
#. module: base
#: model:ir.module.module,description:base.module_project_messages
@@ -11277,7 +11277,7 @@ msgstr ""
#. module: base
#: model:ir.module.module,shortdesc:base.module_hr
msgid "Employee Directory"
-msgstr ""
+msgstr "دایرکتوری کارمندان"
#. module: base
#: view:ir.cron:0
@@ -11527,7 +11527,7 @@ msgstr ""
#. module: base
#: model:ir.module.module,shortdesc:base.module_mail
msgid "Emails Management"
-msgstr ""
+msgstr "مدیریت پست الکترونیک"
#. module: base
#: field:ir.actions.server,trigger_name:0
@@ -11597,7 +11597,7 @@ msgstr "مرجع جدول"
#: code:addons/base/ir/ir_mail_server.py:443
#, python-format
msgid "Mail delivery failed"
-msgstr ""
+msgstr "ارسال پست الکترونیک موفق نبود"
#. module: base
#: field:ir.actions.act_window,res_model:0
@@ -11909,7 +11909,7 @@ msgstr "منتظر"
#. module: base
#: field:ir.actions.report.xml,report_file:0
msgid "Report file"
-msgstr ""
+msgstr "فایل گزارش"
#. module: base
#: model:ir.model,name:base.model_workflow_triggers
@@ -11925,7 +11925,7 @@ msgstr ""
#. module: base
#: view:ir.mail_server:0
msgid "Connection Information"
-msgstr ""
+msgstr "اطلاعات تماس"
#. module: base
#: view:ir.attachment:0
@@ -12134,7 +12134,7 @@ msgstr "دستهبندی"
#: selection:ir.attachment,type:0
#: selection:ir.property,type:0
msgid "Binary"
-msgstr ""
+msgstr "باینری"
#. module: base
#: field:ir.actions.server,sms:0
@@ -12171,7 +12171,7 @@ msgstr ""
#. module: base
#: view:workflow.activity:0
msgid "Conditions"
-msgstr ""
+msgstr "شروط"
#. module: base
#: model:ir.actions.act_window,name:base.action_partner_other_form
@@ -12296,7 +12296,7 @@ msgstr "استونی"
#: model:ir.module.module,shortdesc:base.module_board
#: model:ir.ui.menu,name:base.menu_dashboard
msgid "Dashboards"
-msgstr ""
+msgstr "داشبوردها"
#. module: base
#: model:ir.module.module,shortdesc:base.module_procurement
@@ -12306,7 +12306,7 @@ msgstr ""
#. module: base
#: model:ir.module.module,shortdesc:base.module_hr_payroll_account
msgid "Payroll Accounting"
-msgstr ""
+msgstr "حسابداری حقوق و دستمزد"
#. module: base
#: help:ir.attachment,type:0
@@ -12433,7 +12433,7 @@ msgstr "تعداد تماسها"
#: code:addons/base/res/res_bank.py:189
#, python-format
msgid "BANK"
-msgstr ""
+msgstr "بانک"
#. module: base
#: view:base.module.upgrade:0
@@ -12867,7 +12867,7 @@ msgstr ""
#. module: base
#: view:ir.filters:0
msgid "Current User"
-msgstr ""
+msgstr "کاربر فعلی"
#. module: base
#: field:res.company,company_registry:0
@@ -13065,7 +13065,7 @@ msgstr ""
#: model:ir.actions.act_window,name:base.action_publisher_warranty_contract_form
#: model:ir.ui.menu,name:base.menu_publisher_warranty_contract
msgid "Contracts"
-msgstr ""
+msgstr "قراردادها"
#. module: base
#: field:base.language.export,state:0
@@ -13113,7 +13113,7 @@ msgstr ""
#. module: base
#: field:res.partner.bank,bank_name:0
msgid "Bank Name"
-msgstr ""
+msgstr "نام بانک"
#. module: base
#: model:res.country,name:base.ki
@@ -13192,7 +13192,7 @@ msgstr "فایل CSV"
#: code:addons/base/res/res_company.py:154
#, python-format
msgid "Phone: "
-msgstr ""
+msgstr "تلفن: "
#. module: base
#: field:res.company,account_no:0
@@ -13367,7 +13367,7 @@ msgstr ""
#. module: base
#: selection:ir.ui.view,type:0
msgid "Diagram"
-msgstr ""
+msgstr "دیاگرام"
#. module: base
#: model:ir.module.module,shortdesc:base.module_l10n_es
@@ -13970,7 +13970,7 @@ msgstr ""
#: model:ir.ui.menu,name:base.menu_config_address_book
#: model:ir.ui.menu,name:base.menu_procurement_management_supplier
msgid "Address Book"
-msgstr ""
+msgstr "دفترچه آدرس"
#. module: base
#: model:ir.module.module,description:base.module_l10n_ma
From 66afff1b52b7ab6ab8c340e18960fb6367cfb714 Mon Sep 17 00:00:00 2001
From: Launchpad Translations on behalf of openerp <>
Date: Mon, 19 Nov 2012 04:37:43 +0000
Subject: [PATCH 56/97] Launchpad automatic translations update.
bzr revid: launchpad_translations_on_behalf_of_openerp-20121117043708-z0u57016sd0wlp40
bzr revid: launchpad_translations_on_behalf_of_openerp-20121118043740-7rflvcr80m8nk6lf
bzr revid: launchpad_translations_on_behalf_of_openerp-20121119043743-wa4nnbhzv39ixzag
---
addons/account_check_writing/i18n/lt.po | 199 ++++++++++
addons/account_voucher/i18n/nl.po | 10 +-
addons/hr_timesheet/i18n/de.po | 62 ++--
addons/l10n_be_hr_payroll/i18n/de.po | 163 +++++++++
addons/l10n_multilang/i18n/ar.po | 172 +++++++++
addons/l10n_pe/i18n/ar.po | 47 +++
addons/mrp_jit/i18n/sl.po | 29 +-
addons/sale/i18n/lv.po | 460 +++++++++++++++++++-----
8 files changed, 1007 insertions(+), 135 deletions(-)
create mode 100644 addons/account_check_writing/i18n/lt.po
create mode 100644 addons/l10n_be_hr_payroll/i18n/de.po
create mode 100644 addons/l10n_multilang/i18n/ar.po
create mode 100644 addons/l10n_pe/i18n/ar.po
diff --git a/addons/account_check_writing/i18n/lt.po b/addons/account_check_writing/i18n/lt.po
new file mode 100644
index 00000000000..35e98d451ad
--- /dev/null
+++ b/addons/account_check_writing/i18n/lt.po
@@ -0,0 +1,199 @@
+# Lithuanian translation for openobject-addons
+# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012
+# This file is distributed under the same license as the openobject-addons package.
+# FIRST AUTHOR , 2012.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openobject-addons\n"
+"Report-Msgid-Bugs-To: FULL NAME \n"
+"POT-Creation-Date: 2012-02-08 00:35+0000\n"
+"PO-Revision-Date: 2012-11-16 06:33+0000\n"
+"Last-Translator: FULL NAME \n"
+"Language-Team: Lithuanian \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2012-11-17 04:37+0000\n"
+"X-Generator: Launchpad (build 16278)\n"
+
+#. module: account_check_writing
+#: selection:res.company,check_layout:0
+msgid "Check on Top"
+msgstr ""
+
+#. module: account_check_writing
+#: model:ir.actions.act_window,help:account_check_writing.action_write_check
+msgid ""
+"The check payment form allows you to track the payment you do to your "
+"suppliers specially by check. When you select a supplier, the payment method "
+"and an amount for the payment, OpenERP will propose to reconcile your "
+"payment with the open supplier invoices or bills.You can print the check"
+msgstr ""
+
+#. module: account_check_writing
+#: view:account.voucher:0
+#: model:ir.actions.report.xml,name:account_check_writing.account_print_check_bottom
+#: model:ir.actions.report.xml,name:account_check_writing.account_print_check_middle
+#: model:ir.actions.report.xml,name:account_check_writing.account_print_check_top
+msgid "Print Check"
+msgstr ""
+
+#. module: account_check_writing
+#: selection:res.company,check_layout:0
+msgid "Check in middle"
+msgstr ""
+
+#. module: account_check_writing
+#: help:res.company,check_layout:0
+msgid ""
+"Check on top is compatible with Quicken, QuickBooks and Microsoft Money. "
+"Check in middle is compatible with Peachtree, ACCPAC and DacEasy. Check on "
+"bottom is compatible with Peachtree, ACCPAC and DacEasy only"
+msgstr ""
+
+#. module: account_check_writing
+#: selection:res.company,check_layout:0
+msgid "Check on bottom"
+msgstr ""
+
+#. module: account_check_writing
+#: constraint:res.company:0
+msgid "Error! You can not create recursive companies."
+msgstr ""
+
+#. module: account_check_writing
+#: help:account.journal,allow_check_writing:0
+msgid "Check this if the journal is to be used for writing checks."
+msgstr ""
+
+#. module: account_check_writing
+#: field:account.journal,allow_check_writing:0
+msgid "Allow Check writing"
+msgstr ""
+
+#. module: account_check_writing
+#: report:account.print.check.bottom:0
+#: report:account.print.check.middle:0
+#: report:account.print.check.top:0
+msgid "Description"
+msgstr "Aprašas"
+
+#. module: account_check_writing
+#: model:ir.model,name:account_check_writing.model_account_journal
+msgid "Journal"
+msgstr "Žurnalas"
+
+#. module: account_check_writing
+#: model:ir.actions.act_window,name:account_check_writing.action_write_check
+#: model:ir.ui.menu,name:account_check_writing.menu_action_write_check
+msgid "Write Checks"
+msgstr ""
+
+#. module: account_check_writing
+#: report:account.print.check.bottom:0
+#: report:account.print.check.middle:0
+#: report:account.print.check.top:0
+msgid "Discount"
+msgstr ""
+
+#. module: account_check_writing
+#: report:account.print.check.bottom:0
+#: report:account.print.check.middle:0
+#: report:account.print.check.top:0
+msgid "Original Amount"
+msgstr ""
+
+#. module: account_check_writing
+#: view:res.company:0
+msgid "Configuration"
+msgstr ""
+
+#. module: account_check_writing
+#: field:account.voucher,allow_check:0
+msgid "Allow Check Writing"
+msgstr ""
+
+#. module: account_check_writing
+#: report:account.print.check.bottom:0
+#: report:account.print.check.middle:0
+#: report:account.print.check.top:0
+msgid "Payment"
+msgstr ""
+
+#. module: account_check_writing
+#: field:account.journal,use_preprint_check:0
+msgid "Use Preprinted Check"
+msgstr ""
+
+#. module: account_check_writing
+#: sql_constraint:res.company:0
+msgid "The company name must be unique !"
+msgstr ""
+
+#. module: account_check_writing
+#: report:account.print.check.bottom:0
+#: report:account.print.check.middle:0
+#: report:account.print.check.top:0
+msgid "Due Date"
+msgstr ""
+
+#. module: account_check_writing
+#: model:ir.model,name:account_check_writing.model_res_company
+msgid "Companies"
+msgstr ""
+
+#. module: account_check_writing
+#: view:res.company:0
+msgid "Default Check Layout"
+msgstr ""
+
+#. module: account_check_writing
+#: constraint:account.journal:0
+msgid ""
+"Configuration error! The currency chosen should be shared by the default "
+"accounts too."
+msgstr ""
+
+#. module: account_check_writing
+#: report:account.print.check.bottom:0
+#: report:account.print.check.middle:0
+msgid "Balance Due"
+msgstr ""
+
+#. module: account_check_writing
+#: report:account.print.check.bottom:0
+#: report:account.print.check.middle:0
+#: report:account.print.check.top:0
+msgid "Check Amount"
+msgstr ""
+
+#. module: account_check_writing
+#: model:ir.model,name:account_check_writing.model_account_voucher
+msgid "Accounting Voucher"
+msgstr ""
+
+#. module: account_check_writing
+#: sql_constraint:account.journal:0
+msgid "The name of the journal must be unique per company !"
+msgstr ""
+
+#. module: account_check_writing
+#: sql_constraint:account.journal:0
+msgid "The code of the journal must be unique per company !"
+msgstr ""
+
+#. module: account_check_writing
+#: field:account.voucher,amount_in_word:0
+msgid "Amount in Word"
+msgstr ""
+
+#. module: account_check_writing
+#: report:account.print.check.top:0
+msgid "Open Balance"
+msgstr ""
+
+#. module: account_check_writing
+#: field:res.company,check_layout:0
+msgid "Choose Check layout"
+msgstr ""
diff --git a/addons/account_voucher/i18n/nl.po b/addons/account_voucher/i18n/nl.po
index 87972b2d22c..84eb08244a6 100644
--- a/addons/account_voucher/i18n/nl.po
+++ b/addons/account_voucher/i18n/nl.po
@@ -7,14 +7,14 @@ msgstr ""
"Project-Id-Version: OpenERP Server 6.0dev\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2012-02-08 01:37+0100\n"
-"PO-Revision-Date: 2012-05-10 18:01+0000\n"
-"Last-Translator: Raphael Collet (OpenERP) \n"
+"PO-Revision-Date: 2012-11-17 09:57+0000\n"
+"Last-Translator: Stefan Rijnhart (Therp) \n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2012-10-30 05:19+0000\n"
-"X-Generator: Launchpad (build 16206)\n"
+"X-Launchpad-Export-Date: 2012-11-18 04:37+0000\n"
+"X-Generator: Launchpad (build 16278)\n"
#. module: account_voucher
#: view:sale.receipt.report:0
@@ -846,7 +846,7 @@ msgstr ""
#: view:account.voucher:0
#: model:ir.model,name:account_voucher.model_account_voucher
msgid "Accounting Voucher"
-msgstr "Betalingsintentie"
+msgstr "Journaalbon"
#. module: account_voucher
#: field:account.voucher,number:0
diff --git a/addons/hr_timesheet/i18n/de.po b/addons/hr_timesheet/i18n/de.po
index e60d95cb75f..a1ac73f5d7a 100644
--- a/addons/hr_timesheet/i18n/de.po
+++ b/addons/hr_timesheet/i18n/de.po
@@ -7,14 +7,14 @@ msgstr ""
"Project-Id-Version: OpenERP Server 6.0dev_rc3\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2012-02-08 00:36+0000\n"
-"PO-Revision-Date: 2012-05-10 17:22+0000\n"
-"Last-Translator: Ferdinand-camptocamp \n"
+"PO-Revision-Date: 2012-11-18 00:40+0000\n"
+"Last-Translator: Felix Schubert \n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2012-10-30 05:11+0000\n"
-"X-Generator: Launchpad (build 16206)\n"
+"X-Launchpad-Export-Date: 2012-11-19 04:37+0000\n"
+"X-Generator: Launchpad (build 16278)\n"
#. module: hr_timesheet
#: code:addons/hr_timesheet/report/user_timesheet.py:43
@@ -37,7 +37,7 @@ msgstr "Kein Mitarbeiter für diesen Benutzer definiert!"
#. module: hr_timesheet
#: view:hr.analytic.timesheet:0
msgid "Group By..."
-msgstr "Gruppierung..."
+msgstr "Gruppieren nach"
#. module: hr_timesheet
#: model:ir.actions.act_window,help:hr_timesheet.action_hr_timesheet_sign_in
@@ -66,7 +66,7 @@ msgstr "Analytisches Journal"
#. module: hr_timesheet
#: view:hr.sign.out.project:0
msgid "Stop Working"
-msgstr "Beende Arbeit"
+msgstr "Arbeitsende"
#. module: hr_timesheet
#: model:ir.actions.act_window,name:hr_timesheet.action_hr_timesheet_employee
@@ -172,13 +172,13 @@ msgstr "Warnung !"
#: code:addons/hr_timesheet/wizard/hr_timesheet_sign_in_out.py:132
#, python-format
msgid "UserError"
-msgstr "BenutzerFehler"
+msgstr "Benutzer Fehler"
#. module: hr_timesheet
#: code:addons/hr_timesheet/wizard/hr_timesheet_sign_in_out.py:77
#, python-format
msgid "No cost unit defined for this employee !"
-msgstr "Keine Kosten Einheit für diesen Mitarbeiter definiert!"
+msgstr "Kein Stundensatz für diesen Mitarbeiter definiert!"
#. module: hr_timesheet
#: code:addons/hr_timesheet/report/user_timesheet.py:43
@@ -254,7 +254,7 @@ msgstr "Juli"
#: field:hr.sign.in.project,date:0
#: field:hr.sign.out.project,date_start:0
msgid "Starting Date"
-msgstr "Anfangsdatum"
+msgstr "Start Datum"
#. module: hr_timesheet
#: view:hr.employee:0
@@ -271,8 +271,8 @@ msgstr ""
#: help:hr.employee,product_id:0
msgid "Specifies employee's designation as a product with type 'service'."
msgstr ""
-"Spezifiziere ein Produkt mit dem Typ 'Dienstleistungen' bei den "
-"Mitarbeitereinstellungen auf dem Aktenreiter 'Zeiterfassung'."
+"Definiert ein Produkt mit dem Typ \"Dienstleistung\" in den Einstellungen "
+"für den Mitarbeiter"
#. module: hr_timesheet
#: view:hr.analytic.timesheet:0
@@ -318,7 +318,7 @@ msgstr "Aufgabenbeschreibung"
#. module: hr_timesheet
#: view:account.analytic.account:0
msgid "Invoice Analysis"
-msgstr "Statistik Rechnungen"
+msgstr "Rechnungsanalyse"
#. module: hr_timesheet
#: model:ir.actions.report.xml,name:hr_timesheet.report_user_timesheet
@@ -334,7 +334,7 @@ msgstr "Anmelden / Abmelden bei Projekt"
#. module: hr_timesheet
#: model:ir.actions.act_window,name:hr_timesheet.action_define_analytic_structure
msgid "Define your Analytic Structure"
-msgstr "Definieren Sie die Strukture der Analysekonten"
+msgstr "Definiere die Struktur der Analytischen Konten"
#. module: hr_timesheet
#: view:hr.sign.in.project:0
@@ -348,14 +348,14 @@ msgid ""
"Analytic journal is not defined for employee %s \n"
"Define an employee for the selected user and assign an analytic journal!"
msgstr ""
-"Analytisches Journal ist für diesen Mitarbeiter nicht definiert: %s\n"
-"Definiere einen Mitarbeiter für den ausgewählten Benutzer und weise dann "
-"noch ein analytisches Konto zu!"
+"Es wurde kein Analytisches Journal für diesen Mitarbeiter definiert: %s\n"
+"Weise einen Mitarbeiter dem ausgewählten Benutzer und ein analytisches Konto "
+"zu!"
#. module: hr_timesheet
#: view:hr.sign.in.project:0
msgid "(Keep empty for current time)"
-msgstr "(Leer lassen für aktuelle Zeit)"
+msgstr "(Frei lassen für den aktuellen Zeitpunkt)"
#. module: hr_timesheet
#: view:hr.employee:0
@@ -369,9 +369,9 @@ msgid ""
"analyse costs and revenues. In OpenERP, analytic accounts are also used to "
"track customer contracts."
msgstr ""
-"Um Erlöse und Kosten zu analysiren, benötigen Sie einen strukturierte "
-"Analyse Kontenplan. In OpenERP wird damit auch die Entwicklung der "
-"Kundenkontrakte verfolgt."
+"Um Erlöse und Kosten zu analysieren, sollten Sie einen strukturierte "
+"analytischen Kontenplan erstellen. In OpenERP können damit auch "
+"Kundenverträge verfolgt werden."
#. module: hr_timesheet
#: field:hr.analytic.timesheet,line_id:0
@@ -424,7 +424,7 @@ msgstr ""
#. module: hr_timesheet
#: field:hr.sign.out.project,date:0
msgid "Closing Date"
-msgstr "Ende Datum"
+msgstr "Enddatum"
#. module: hr_timesheet
#: code:addons/hr_timesheet/report/user_timesheet.py:40
@@ -475,12 +475,12 @@ msgstr "Mitarbeiter Nr."
#. module: hr_timesheet
#: view:hr.sign.out.project:0
msgid "General Information"
-msgstr "Grundinformation"
+msgstr "Allgemeine Informationen"
#. module: hr_timesheet
#: model:ir.actions.act_window,name:hr_timesheet.action_hr_timesheet_my
msgid "My Current Timesheet"
-msgstr ""
+msgstr "Meine Zeiterfassung"
#. module: hr_timesheet
#: code:addons/hr_timesheet/report/user_timesheet.py:40
@@ -524,8 +524,8 @@ msgid ""
"Through this menu you can register and follow your workings hours by project "
"every day."
msgstr ""
-"Mit diesem Menüpunkt können Sie sich registrieren und die Arbeitsstunden je "
-"Projekt und Tage verfoglen."
+"Mit diesem Menüpunkt können Sie die Arbeitsstunden pro Projekt und Tage "
+"verfolgen."
#. module: hr_timesheet
#: field:hr.sign.in.project,server_date:0
@@ -561,12 +561,12 @@ msgstr "Mai"
#. module: hr_timesheet
#: view:hr.analytic.timesheet:0
msgid "Total time"
-msgstr "Gesamtzeit"
+msgstr "Gesamtdauer"
#. module: hr_timesheet
#: view:hr.sign.in.project:0
msgid "(local time on the server side)"
-msgstr "(Ortszeit auf dem Server)"
+msgstr "(Ortszeit auf Serverseite)"
#. module: hr_timesheet
#: model:ir.model,name:hr_timesheet.model_hr_sign_in_project
@@ -585,7 +585,7 @@ msgstr "Februar"
#. module: hr_timesheet
#: model:ir.model,name:hr_timesheet.model_hr_sign_out_project
msgid "Sign Out By Project"
-msgstr "Anmelden / Abmelden Projekte"
+msgstr "Anmelden / Abmelden Projekt"
#. module: hr_timesheet
#: view:hr.analytical.timesheet.users:0
@@ -617,7 +617,7 @@ msgid ""
"No analytic account defined on the project.\n"
"Please set one or we can not automatically fill the timesheet."
msgstr ""
-"Kein Analytisches Konto für Projekt definiert.\n"
+"Kein Analytisches Konto für das Projekt definiert.\n"
"Bitte definieren Sie ein Konto, damit wir automatisch die Zeiterfassung "
"buchen können."
@@ -630,12 +630,12 @@ msgstr "Benutzer"
#. module: hr_timesheet
#: view:hr.sign.in.project:0
msgid "Start Working"
-msgstr "Beginne Arbeit"
+msgstr "Arbeitsbeginn"
#. module: hr_timesheet
#: view:account.analytic.account:0
msgid "Stats by user"
-msgstr "Arbeitszeiten nach Mitarbeitern"
+msgstr "Auswertung nach Mitarbeiter"
#. module: hr_timesheet
#: code:addons/hr_timesheet/wizard/hr_timesheet_print_employee.py:42
diff --git a/addons/l10n_be_hr_payroll/i18n/de.po b/addons/l10n_be_hr_payroll/i18n/de.po
new file mode 100644
index 00000000000..6c95585909e
--- /dev/null
+++ b/addons/l10n_be_hr_payroll/i18n/de.po
@@ -0,0 +1,163 @@
+# German translation for openobject-addons
+# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012
+# This file is distributed under the same license as the openobject-addons package.
+# FIRST AUTHOR , 2012.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openobject-addons\n"
+"Report-Msgid-Bugs-To: FULL NAME \n"
+"POT-Creation-Date: 2012-02-08 00:36+0000\n"
+"PO-Revision-Date: 2012-11-18 21:44+0000\n"
+"Last-Translator: FULL NAME \n"
+"Language-Team: German \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2012-11-19 04:37+0000\n"
+"X-Generator: Launchpad (build 16278)\n"
+
+#. module: l10n_be_hr_payroll
+#: help:hr.employee,disabled_spouse_bool:0
+msgid "if recipient spouse is declared disabled by law"
+msgstr ""
+"Wenn Ehepartner des Empfängers gesetzlich als Behindert anerkannt wurde"
+
+#. module: l10n_be_hr_payroll
+#: help:hr.employee,disabled_children_bool:0
+msgid "if recipient children is/are declared disabled by law"
+msgstr ""
+"Wenn Kind(er) des Empfängers gesetzlich als behindert anerkannt ist (sind)"
+
+#. module: l10n_be_hr_payroll
+#: field:hr.contract,misc_onss_deduction:0
+msgid "Miscellaneous exempt ONSS "
+msgstr "Diverse Ausnahmen (ONSS) "
+
+#. module: l10n_be_hr_payroll
+#: model:ir.model,name:l10n_be_hr_payroll.model_hr_employee
+msgid "Employee"
+msgstr "Angestellte/r"
+
+#. module: l10n_be_hr_payroll
+#: field:hr.employee,disabled_spouse_bool:0
+msgid "Disabled Spouse"
+msgstr "Als Behindert anerkannter Ehepartner"
+
+#. module: l10n_be_hr_payroll
+#: field:hr.contract,retained_net_amount:0
+msgid "Net retained "
+msgstr "Einbehalten Netto "
+
+#. module: l10n_be_hr_payroll
+#: field:hr.employee,resident_bool:0
+msgid "Nonresident"
+msgstr "Im Ausland wohnhaft"
+
+#. module: l10n_be_hr_payroll
+#: help:hr.employee,resident_bool:0
+msgid "if recipient lives in a foreign country"
+msgstr "Wenn Empfänger in anderem Land wohnhaft ist"
+
+#. module: l10n_be_hr_payroll
+#: view:hr.employee:0
+msgid "if spouse has professionnel income or not"
+msgstr "Ob Ehepartner berufliches Einkommen hat oder nicht"
+
+#. module: l10n_be_hr_payroll
+#: view:hr.contract:0
+msgid "Miscellaneous"
+msgstr "Verschiedenes"
+
+#. module: l10n_be_hr_payroll
+#: field:hr.contract,insurance_employee_deduction:0
+msgid "Insurance Group - by worker "
+msgstr "Vericherungsgruppe nach Mitarbeiter "
+
+#. module: l10n_be_hr_payroll
+#: selection:hr.employee,spouse_fiscal_status:0
+msgid "With Income"
+msgstr "Mit Einkommen"
+
+#. module: l10n_be_hr_payroll
+#: selection:hr.employee,spouse_fiscal_status:0
+msgid "Without Income"
+msgstr "Ohne Einkommen"
+
+#. module: l10n_be_hr_payroll
+#: field:hr.employee,disabled_children_number:0
+msgid "Number of disabled children"
+msgstr "Anzahl behinderter Kinder"
+
+#. module: l10n_be_hr_payroll
+#: field:hr.contract,additional_net_amount:0
+msgid "Net supplements"
+msgstr "Netto-Zulagen"
+
+#. module: l10n_be_hr_payroll
+#: constraint:hr.employee:0
+msgid "Error ! You cannot create recursive Hierarchy of Employees."
+msgstr ""
+"Fehler ! Sie können keine rekursive Hierachie bei Mitarbeitern definieren."
+
+#. module: l10n_be_hr_payroll
+#: field:hr.contract,car_company_amount:0
+msgid "Company car employer"
+msgstr "Firmenfahrzeug des Arbeitgebers"
+
+#. module: l10n_be_hr_payroll
+#: field:hr.contract,misc_advantage_amount:0
+msgid "Benefits of various nature "
+msgstr "Geldwerte Vorteile verschiedener Art "
+
+#. module: l10n_be_hr_payroll
+#: field:hr.contract,car_employee_deduction:0
+msgid "Company Car Deduction for Worker"
+msgstr "Abzüge beim Mitarbeiter für Firmenfahrzeug"
+
+#. module: l10n_be_hr_payroll
+#: field:hr.employee,disabled_children_bool:0
+msgid "Disabled Children"
+msgstr "Behinderte Kinder"
+
+#. module: l10n_be_hr_payroll
+#: model:ir.model,name:l10n_be_hr_payroll.model_hr_contract
+msgid "Contract"
+msgstr "Vertrag"
+
+#. module: l10n_be_hr_payroll
+#: field:hr.contract,meal_voucher_amount:0
+msgid "Check Value Meal "
+msgstr "Verköstigungswert prüfen "
+
+#. module: l10n_be_hr_payroll
+#: field:hr.contract,travel_reimbursement_amount:0
+msgid "Reimbursement of travel expenses"
+msgstr "Erstattung von Reisespesen"
+
+#. module: l10n_be_hr_payroll
+#: constraint:hr.contract:0
+msgid "Error! contract start-date must be lower then contract end-date."
+msgstr ""
+"Fehler! Datum des Vertragsbeginns muss zeitlich vor dem Datum des "
+"Vertragsendes sein."
+
+#. module: l10n_be_hr_payroll
+#: field:hr.employee,spouse_fiscal_status:0
+msgid "Tax status for spouse"
+msgstr "Steuerklasse des Ehepartners"
+
+#. module: l10n_be_hr_payroll
+#: view:hr.contract:0
+msgid "by Worker"
+msgstr "nach Mitarbeiter"
+
+#. module: l10n_be_hr_payroll
+#: view:hr.employee:0
+msgid "number of dependent children declared as disabled"
+msgstr "Anzahl anhängiger, als behindert anerkannter Kinder"
+
+#. module: l10n_be_hr_payroll
+#: field:hr.contract,meal_voucher_employee_deduction:0
+msgid "Check Value Meal - by worker "
+msgstr "Verköstigungswerte - nach Mitarbeitern "
diff --git a/addons/l10n_multilang/i18n/ar.po b/addons/l10n_multilang/i18n/ar.po
new file mode 100644
index 00000000000..6ff075befb6
--- /dev/null
+++ b/addons/l10n_multilang/i18n/ar.po
@@ -0,0 +1,172 @@
+# Arabic translation for openobject-addons
+# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012
+# This file is distributed under the same license as the openobject-addons package.
+# FIRST AUTHOR , 2012.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openobject-addons\n"
+"Report-Msgid-Bugs-To: FULL NAME \n"
+"POT-Creation-Date: 2012-02-08 01:06+0000\n"
+"PO-Revision-Date: 2012-11-16 19:54+0000\n"
+"Last-Translator: FULL NAME \n"
+"Language-Team: Arabic \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2012-11-17 04:37+0000\n"
+"X-Generator: Launchpad (build 16278)\n"
+
+#. module: l10n_multilang
+#: model:ir.model,name:l10n_multilang.model_account_fiscal_position_template
+msgid "Template for Fiscal Position"
+msgstr "قوالب للمركز المالي"
+
+#. module: l10n_multilang
+#: sql_constraint:account.account:0
+msgid "The code of the account must be unique per company !"
+msgstr "يجب ان يكون كود الحساب فريداً لكل شركة !"
+
+#. module: l10n_multilang
+#: constraint:account.account.template:0
+msgid ""
+"Configuration Error!\n"
+"You can not define children to an account with internal type different of "
+"\"View\"! "
+msgstr ""
+"خطأ في الإعدادات!\n"
+" لاتستطيع تعريف أطفال لحساب من نوع داخلي مختلف ل\"العرض\"! "
+
+#. module: l10n_multilang
+#: model:ir.model,name:l10n_multilang.model_account_analytic_journal
+msgid "Analytic Journal"
+msgstr "يومية تحليلية"
+
+#. module: l10n_multilang
+#: constraint:account.account.template:0
+msgid "Error ! You can not create recursive account templates."
+msgstr "خطأ ! لا يمكنك انشاء قوالب الحاسب العودية."
+
+#. module: l10n_multilang
+#: model:ir.model,name:l10n_multilang.model_account_journal
+msgid "Journal"
+msgstr "يومية"
+
+#. module: l10n_multilang
+#: model:ir.model,name:l10n_multilang.model_account_chart_template
+msgid "Templates for Account Chart"
+msgstr "القوالب لجدول الحساب"
+
+#. module: l10n_multilang
+#: sql_constraint:account.tax:0
+msgid "The description must be unique per company!"
+msgstr "وصف لكل شركة يجب ان تكون فريد!"
+
+#. module: l10n_multilang
+#: constraint:account.tax.code.template:0
+msgid "Error ! You can not create recursive Tax Codes."
+msgstr "خطأ ! لايمكنك إنشاء اكواد ضريبية متداخلة."
+
+#. module: l10n_multilang
+#: model:ir.model,name:l10n_multilang.model_account_tax_template
+msgid "account.tax.template"
+msgstr "account.tax.template"
+
+#. module: l10n_multilang
+#: model:ir.model,name:l10n_multilang.model_account_tax
+msgid "account.tax"
+msgstr "account.tax"
+
+#. module: l10n_multilang
+#: model:ir.model,name:l10n_multilang.model_account_account
+msgid "Account"
+msgstr "حساب"
+
+#. module: l10n_multilang
+#: model:ir.model,name:l10n_multilang.model_wizard_multi_charts_accounts
+msgid "wizard.multi.charts.accounts"
+msgstr "wizard.multi.charts.accounts"
+
+#. module: l10n_multilang
+#: constraint:account.journal:0
+msgid ""
+"Configuration error! The currency chosen should be shared by the default "
+"accounts too."
+msgstr ""
+"خطأ في الإعدادات! يجب أن تكون العملة المختارة مشتركة للحسابات الإفتراضية "
+"أيضأً."
+
+#. module: l10n_multilang
+#: model:ir.model,name:l10n_multilang.model_account_account_template
+msgid "Templates for Accounts"
+msgstr "قوالب للحسابات"
+
+#. module: l10n_multilang
+#: help:account.chart.template,spoken_languages:0
+msgid ""
+"State here the languages for which the translations of templates could be "
+"loaded at the time of installation of this localization module and copied in "
+"the final object when generating them from templates. You must provide the "
+"language codes separated by ';'"
+msgstr ""
+
+#. module: l10n_multilang
+#: constraint:account.account:0
+msgid "Error ! You can not create recursive accounts."
+msgstr "خطأ ! لا يمكن إنشاء حسابات تكرارية."
+
+#. module: l10n_multilang
+#: constraint:account.account:0
+msgid ""
+"Configuration Error! \n"
+"You can not select an account type with a deferral method different of "
+"\"Unreconciled\" for accounts with internal type \"Payable/Receivable\"! "
+msgstr ""
+"التكوين الخطأ!\n"
+"لا يمكنك اختيار نوع الحساب باستخدام طريقة التأجيل المختلفه \"عدم "
+"المساواه\" للحسابات من النوع الداخلي \"الدفع / القبض\" "
+
+#. module: l10n_multilang
+#: sql_constraint:account.journal:0
+msgid "The name of the journal must be unique per company !"
+msgstr "يجب ان يكون الاسم لليومية فريد لكل شركة!"
+
+#. module: l10n_multilang
+#: model:ir.model,name:l10n_multilang.model_account_analytic_account
+msgid "Analytic Account"
+msgstr "حسابات تحليلية"
+
+#. module: l10n_multilang
+#: sql_constraint:account.journal:0
+msgid "The code of the journal must be unique per company !"
+msgstr "يجب ان يكون الكود لليومية فريد لكل شركة !"
+
+#. module: l10n_multilang
+#: model:ir.model,name:l10n_multilang.model_account_fiscal_position
+msgid "Fiscal Position"
+msgstr "الوضع المالي"
+
+#. module: l10n_multilang
+#: constraint:account.account:0
+msgid ""
+"Configuration Error! \n"
+"You can not define children to an account with internal type different of "
+"\"View\"! "
+msgstr ""
+"خطأ في الإعدادات!\n"
+"لا يمكنك تحديد فرع لحساب مع نوع داخلي مختلف من \"عرض\"! "
+
+#. module: l10n_multilang
+#: constraint:account.analytic.account:0
+msgid "Error! You can not create recursive analytic accounts."
+msgstr "خطأ! لا يمكنك إنشاء حسابات تحليلية متكررة."
+
+#. module: l10n_multilang
+#: model:ir.model,name:l10n_multilang.model_account_tax_code_template
+msgid "Tax Code Template"
+msgstr "قالب رمز الضريبة"
+
+#. module: l10n_multilang
+#: field:account.chart.template,spoken_languages:0
+msgid "Spoken Languages"
+msgstr "اللغات المنطوقة"
diff --git a/addons/l10n_pe/i18n/ar.po b/addons/l10n_pe/i18n/ar.po
new file mode 100644
index 00000000000..90dcc9a47f6
--- /dev/null
+++ b/addons/l10n_pe/i18n/ar.po
@@ -0,0 +1,47 @@
+# Arabic translation for openobject-addons
+# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012
+# This file is distributed under the same license as the openobject-addons package.
+# FIRST AUTHOR , 2012.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openobject-addons\n"
+"Report-Msgid-Bugs-To: FULL NAME \n"
+"POT-Creation-Date: 2011-01-11 11:15+0000\n"
+"PO-Revision-Date: 2012-11-16 18:58+0000\n"
+"Last-Translator: FULL NAME \n"
+"Language-Team: Arabic \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2012-11-17 04:37+0000\n"
+"X-Generator: Launchpad (build 16278)\n"
+
+#. module: l10n_pe
+#: model:ir.module.module,description:l10n_pe.module_meta_information
+msgid ""
+"\n"
+" Peruvian Accounting : chart of Account\n"
+" "
+msgstr ""
+
+#. module: l10n_pe
+#: model:ir.module.module,shortdesc:l10n_pe.module_meta_information
+msgid "Peruvian Chart of Account"
+msgstr ""
+
+#. module: l10n_pe
+#: model:ir.actions.todo,note:l10n_pe.config_call_account_template_in_minimal
+msgid ""
+"Generate Chart of Accounts from a Chart Template. You will be asked to pass "
+"the name of the company, the chart template to follow, the no. of digits to "
+"generate the code for your accounts and Bank account, currency to create "
+"Journals. Thus,the pure copy of chart Template is generated.\n"
+"\tThis is the same wizard that runs from Financial "
+"Management/Configuration/Financial Accounting/Financial Accounts/Generate "
+"Chart of Accounts from a Chart Template."
+msgstr ""
+"إعداد شجرة الحسابات من قالب. ستم سؤالك عن اسم المنشأة، القالب المتبع، و "
+"إعداد أكواد الحسابات و البنوك، بالإضافة إلي يوميات العملة. و لذلك سيكون هناك "
+"قالب جديد. \n"
+"\tهذه لإعداد الحسابات."
diff --git a/addons/mrp_jit/i18n/sl.po b/addons/mrp_jit/i18n/sl.po
index dfdea2fbcd0..8527b96e315 100644
--- a/addons/mrp_jit/i18n/sl.po
+++ b/addons/mrp_jit/i18n/sl.po
@@ -7,14 +7,14 @@ msgstr ""
"Project-Id-Version: OpenERP Server 6.0dev\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2011-01-11 11:15+0000\n"
-"PO-Revision-Date: 2010-11-27 05:28+0000\n"
-"Last-Translator: OpenERP Administrators \n"
+"PO-Revision-Date: 2012-11-18 21:54+0000\n"
+"Last-Translator: Dusan Laznik \n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2012-10-30 05:22+0000\n"
-"X-Generator: Launchpad (build 16206)\n"
+"X-Launchpad-Export-Date: 2012-11-19 04:37+0000\n"
+"X-Generator: Launchpad (build 16278)\n"
#. module: mrp_jit
#: model:ir.module.module,shortdesc:mrp_jit.module_meta_information
@@ -46,3 +46,24 @@ msgid ""
" \n"
" "
msgstr ""
+"\n"
+" This module allows Just In Time computation of procurement orders.\n"
+"\n"
+" If you install this module, you will not have to run the regular "
+"procurement \n"
+" scheduler anymore (but you still need to run the minimum order point "
+"rule \n"
+" scheduler, or for example let it run daily.)\n"
+" All procurement orders will be processed immediately, which could in "
+"some\n"
+" cases entail a small performance impact.\n"
+"\n"
+" It may also increase your stock size because products are reserved as "
+"soon\n"
+" as possible and the scheduler time range is not taken into account "
+"anymore. \n"
+" In that case, you can not use priorities any more on the different "
+"picking.\n"
+" \n"
+" \n"
+" "
diff --git a/addons/sale/i18n/lv.po b/addons/sale/i18n/lv.po
index 65d1f92d71c..a1b6b6a37c9 100644
--- a/addons/sale/i18n/lv.po
+++ b/addons/sale/i18n/lv.po
@@ -8,14 +8,14 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME \n"
"POT-Creation-Date: 2012-09-20 07:29+0000\n"
-"PO-Revision-Date: 2009-09-08 12:39+0000\n"
-"Last-Translator: Fabien (Open ERP) \n"
+"PO-Revision-Date: 2012-11-16 12:35+0000\n"
+"Last-Translator: Normunds (Alistek) \n"
"Language-Team: Latvian \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2012-10-30 05:08+0000\n"
-"X-Generator: Launchpad (build 16206)\n"
+"X-Launchpad-Export-Date: 2012-11-17 04:36+0000\n"
+"X-Generator: Launchpad (build 16278)\n"
#. module: sale
#: code:addons/sale/wizard/sale_make_invoice_advance.py:215
@@ -161,14 +161,14 @@ msgstr ""
#. module: sale
#: field:sale.order,date_confirm:0
msgid "Confirmation Date"
-msgstr ""
+msgstr "Apstiprināšanas Datums"
#. module: sale
#: view:sale.order:0
#: view:sale.order.line:0
#: view:sale.report:0
msgid "Group By..."
-msgstr ""
+msgstr "Grupēt Pēc..."
#. module: sale
#: view:sale.order.line:0
@@ -209,7 +209,7 @@ msgstr ""
#. module: sale
#: field:sale.report,state:0
msgid "Order State"
-msgstr "Pasūtījuma statuss"
+msgstr "Pasūtījuma Statuss"
#. module: sale
#: help:sale.config.settings,module_account_analytic_analysis:0
@@ -228,7 +228,7 @@ msgstr ""
#: view:sale.order:0
#: view:sale.order.line:0
msgid "To Invoice"
-msgstr ""
+msgstr "Piestādīt Rēķinu"
#. module: sale
#: view:sale.order.line:0
@@ -239,7 +239,7 @@ msgstr ""
#. module: sale
#: help:sale.order,date_confirm:0
msgid "Date on which sales order is confirmed."
-msgstr ""
+msgstr "Datums, kurā pasūtījums tika apstiprināts."
#. module: sale
#: model:ir.actions.act_window,name:sale.action_order_tree5
@@ -247,12 +247,12 @@ msgstr ""
#: view:sale.order:0
#: view:sale.report:0
msgid "Quotations"
-msgstr ""
+msgstr "Tāmējumi"
#. module: sale
#: selection:sale.report,month:0
msgid "March"
-msgstr ""
+msgstr "Marts"
#. module: sale
#: code:addons/sale/sale.py:558
@@ -277,12 +277,12 @@ msgstr ""
#: field:sale.report,company_id:0
#: field:sale.shop,company_id:0
msgid "Company"
-msgstr ""
+msgstr "Uzņēmums"
#. module: sale
#: field:sale.make.invoice,invoice_date:0
msgid "Invoice Date"
-msgstr ""
+msgstr "Rēķina Datums"
#. module: sale
#: model:ir.actions.act_window,name:sale.action_order_line_tree3
@@ -292,7 +292,7 @@ msgstr ""
#. module: sale
#: help:sale.advance.payment.inv,amount:0
msgid "The amount to be invoiced in advance."
-msgstr ""
+msgstr "Priekšapmaksas rēķina summa."
#. module: sale
#: selection:sale.order,state:0
@@ -321,7 +321,7 @@ msgstr ""
#. module: sale
#: help:sale.order,amount_total:0
msgid "The total amount."
-msgstr ""
+msgstr "Summa"
#. module: sale
#: view:sale.report:0
@@ -405,7 +405,7 @@ msgstr ""
#. module: sale
#: selection:sale.report,month:0
msgid "September"
-msgstr ""
+msgstr "Septembris"
#. module: sale
#: field:sale.order,amount_tax:0
@@ -437,7 +437,7 @@ msgstr ""
#. module: sale
#: report:sale.order:0
msgid "Net Total :"
-msgstr "Tīrais kopā:"
+msgstr "Neto Summa:"
#. module: sale
#: help:sale.config.settings,module_analytic_user_function:0
@@ -456,7 +456,7 @@ msgstr ""
#: selection:sale.order.line,state:0
#: selection:sale.report,state:0
msgid "Cancelled"
-msgstr ""
+msgstr "Atcelts"
#. module: sale
#: view:sale.order.line:0
@@ -490,7 +490,7 @@ msgstr "Veikals"
#. module: sale
#: model:ir.actions.act_window,name:sale.action_order_tree2
msgid "Sales in Exception"
-msgstr ""
+msgstr "Veiktas Izmaiņas"
#. module: sale
#: field:sale.order,partner_invoice_id:0
@@ -500,7 +500,7 @@ msgstr "Rēķina Adrese"
#. module: sale
#: help:sale.order,create_date:0
msgid "Date on which sales order is created."
-msgstr ""
+msgstr "Datums, kurā izveidots pasūtījums."
#. module: sale
#: view:res.partner:0
@@ -516,7 +516,7 @@ msgstr "Veidot Rēķinu"
#: view:sale.make.invoice:0
#: view:sale.order.line.make.invoice:0
msgid "Create Invoices"
-msgstr ""
+msgstr "Veidot Rēķinus"
#. module: sale
#: report:sale.order:0
@@ -537,13 +537,13 @@ msgstr ""
#. module: sale
#: field:sale.report,date_confirm:0
msgid "Date Confirm"
-msgstr ""
+msgstr "Apstiprināšanas Datums"
#. module: sale
#: view:sale.report:0
#: field:sale.report,nbr:0
msgid "# of Lines"
-msgstr ""
+msgstr "Rindu skaits"
#. module: sale
#: help:sale.order,message_summary:0
@@ -561,7 +561,7 @@ msgstr ""
#: view:sale.report:0
#: field:sale.report,product_uom_qty:0
msgid "# of Qty"
-msgstr ""
+msgstr "Daudz."
#. module: sale
#: report:sale.order:0
@@ -588,12 +588,12 @@ msgstr ""
#: view:sale.order:0
#, python-format
msgid "Sales Order"
-msgstr ""
+msgstr "Pasūtījums"
#. module: sale
#: field:sale.order.line,product_uos_qty:0
msgid "Quantity (UoS)"
-msgstr ""
+msgstr "Daudzums (Pārdošanas mērvienība)"
#. module: sale
#: view:sale.order.line:0
@@ -603,7 +603,7 @@ msgstr ""
#. module: sale
#: field:sale.advance.payment.inv,amount:0
msgid "Advance Amount"
-msgstr ""
+msgstr "Priekšapmaksas Summa"
#. module: sale
#: selection:sale.order.line,state:0
@@ -657,7 +657,7 @@ msgstr ""
#: view:sale.report:0
#: field:sale.report,year:0
msgid "Year"
-msgstr ""
+msgstr "Gads"
#. module: sale
#: field:sale.config.settings,group_uom:0
@@ -710,12 +710,12 @@ msgstr "Rēķina pozīcijas"
#: view:sale.report:0
#: field:sale.report,price_total:0
msgid "Total Price"
-msgstr ""
+msgstr "Cena Kopā"
#. module: sale
#: model:ir.actions.act_window,name:sale.action_order_tree
msgid "Old Quotations"
-msgstr ""
+msgstr "Vecie Tāmējumi"
#. module: sale
#: help:sale.config.settings,module_sale_journal:0
@@ -735,7 +735,7 @@ msgstr ""
#: model:ir.actions.act_window,name:sale.action_sale_order_make_invoice
#: model:ir.actions.act_window,name:sale.action_view_sale_order_line_make_invoice
msgid "Make Invoices"
-msgstr ""
+msgstr "Veidot Rēķinus"
#. module: sale
#: model:ir.actions.server,name:sale.actions_server_sale_order_read
@@ -766,7 +766,7 @@ msgstr ""
#. module: sale
#: field:sale.order,create_date:0
msgid "Creation Date"
-msgstr ""
+msgstr "Izveides Datums"
#. module: sale
#: selection:sale.order,state:0
@@ -777,7 +777,7 @@ msgstr ""
#. module: sale
#: help:sale.order,partner_invoice_id:0
msgid "Invoice address for current sales order."
-msgstr ""
+msgstr "Pasūtījuma rēķina adrese"
#. module: sale
#: selection:sale.order,invoice_quantity:0
@@ -814,24 +814,24 @@ msgstr "Kopā:"
#. module: sale
#: view:sale.report:0
msgid "My Sales"
-msgstr ""
+msgstr "Mana Pārdošana"
#. module: sale
#: code:addons/sale/sale.py:253
#: code:addons/sale/sale.py:822
#, python-format
msgid "Invalid action !"
-msgstr "Nepareiza darbība!"
+msgstr "Nederīga darbība!"
#. module: sale
#: field:sale.order,fiscal_position:0
msgid "Fiscal Position"
-msgstr "Fiskālā Pozīcija"
+msgstr "Nodokļu Profils"
#. module: sale
#: selection:sale.report,month:0
msgid "July"
-msgstr ""
+msgstr "Jūlijs"
#. module: sale
#: field:account.config.settings,module_sale_analytic_plans:0
@@ -903,12 +903,12 @@ msgstr ""
#. module: sale
#: report:sale.order:0
msgid "Quotation Date"
-msgstr ""
+msgstr "Tāmējuma Datums"
#. module: sale
#: view:sale.order:0
msgid "Order Date"
-msgstr ""
+msgstr "Pasūtījuma datums"
#. module: sale
#: help:sale.order,order_policy:0
@@ -946,7 +946,7 @@ msgstr ""
#: view:sale.report:0
#: field:sale.report,partner_id:0
msgid "Partner"
-msgstr ""
+msgstr "Partneris"
#. module: sale
#: view:sale.advance.payment.inv:0
@@ -976,7 +976,7 @@ msgstr ""
#. module: sale
#: model:ir.model,name:sale.model_sale_make_invoice
msgid "Sales Make Invoice"
-msgstr ""
+msgstr "Izrakstīt Rēķinu"
#. module: sale
#: model:ir.actions.act_window,help:sale.action_order_tree5
@@ -1040,7 +1040,7 @@ msgstr ""
#. module: sale
#: selection:sale.report,month:0
msgid "December"
-msgstr ""
+msgstr "Decembris"
#. module: sale
#: view:sale.config.settings:0
@@ -1050,13 +1050,13 @@ msgstr ""
#. module: sale
#: view:sale.order.line:0
msgid "Shipped"
-msgstr ""
+msgstr "Piegādāts"
#. module: sale
#: view:sale.report:0
#: field:sale.report,month:0
msgid "Month"
-msgstr ""
+msgstr "Mēnesis"
#. module: sale
#: model:email.template,subject:sale.email_template_edi_sale
@@ -1077,13 +1077,13 @@ msgstr ""
#. module: sale
#: view:sale.order.line:0
msgid "Uninvoiced"
-msgstr ""
+msgstr "Nav piestādīts rēķins"
#. module: sale
#: view:sale.report:0
#: field:sale.report,categ_id:0
msgid "Category of Product"
-msgstr ""
+msgstr "Produkta Kategorija"
#. module: sale
#: code:addons/sale/sale.py:557
@@ -1109,7 +1109,7 @@ msgstr ""
#. module: sale
#: field:sale.shop,name:0
msgid "Shop Name"
-msgstr ""
+msgstr "Tirdzniecības Punkta Nosaukums"
#. module: sale
#: code:addons/sale/sale.py:253
@@ -1121,7 +1121,7 @@ msgstr ""
#. module: sale
#: report:sale.order:0
msgid "Taxes :"
-msgstr "Nodokļi"
+msgstr "Nodokļi:"
#. module: sale
#: code:addons/sale/sale.py:658
@@ -1137,7 +1137,7 @@ msgstr ""
#. module: sale
#: model:ir.model,name:sale.model_sale_advance_payment_inv
msgid "Sales Advance Payment Invoice"
-msgstr ""
+msgstr "Priekšapmaksas Rēķins"
#. module: sale
#: model:ir.actions.client,name:sale.action_client_sale_menu
@@ -1147,13 +1147,13 @@ msgstr ""
#. module: sale
#: selection:sale.report,state:0
msgid "In Progress"
-msgstr ""
+msgstr "Apstrādē"
#. module: sale
#: code:addons/sale/sale.py:867
#, python-format
msgid "No Customer Defined !"
-msgstr ""
+msgstr "Klients nav Definēts!"
#. module: sale
#: view:sale.make.invoice:0
@@ -1226,7 +1226,7 @@ msgstr "Grupēt rēķinus"
#. module: sale
#: help:sale.order,amount_tax:0
msgid "The tax amount."
-msgstr ""
+msgstr "Nodokļa summa."
#. module: sale
#: view:sale.order:0
@@ -1245,7 +1245,7 @@ msgstr ""
#. module: sale
#: selection:sale.report,month:0
msgid "August"
-msgstr ""
+msgstr "Augusts"
#. module: sale
#: view:sale.order:0
@@ -1255,7 +1255,7 @@ msgstr ""
#. module: sale
#: model:process.node,note:sale.process_node_saleorder0
msgid "Drives procurement and invoicing"
-msgstr ""
+msgstr "Nodrošina iepirkumu un rēķinu piestādīšanas procesu"
#. module: sale
#: model:ir.actions.act_window,help:sale.action_order_form
@@ -1275,7 +1275,7 @@ msgstr ""
#. module: sale
#: selection:sale.report,month:0
msgid "June"
-msgstr ""
+msgstr "Jūnijs"
#. module: sale
#: model:ir.actions.act_window,name:sale.action_email_templates
@@ -1313,12 +1313,12 @@ msgstr ""
#: model:ir.model,name:sale.model_sale_shop
#: view:sale.shop:0
msgid "Sales Shop"
-msgstr ""
+msgstr "Tirdzniecības Kanāls"
#. module: sale
#: model:ir.model,name:sale.model_sale_report
msgid "Sales Orders Statistics"
-msgstr ""
+msgstr "Pasūtījumu Statistika"
#. module: sale
#: field:sale.order,date_order:0
@@ -1328,17 +1328,17 @@ msgstr ""
#. module: sale
#: model:ir.model,name:sale.model_sale_order_line
msgid "Sales Order Line"
-msgstr ""
+msgstr "Pasūtījuma Rinda"
#. module: sale
#: selection:sale.report,month:0
msgid "November"
-msgstr ""
+msgstr "Novembris"
#. module: sale
#: view:sale.report:0
msgid "Extended Filters..."
-msgstr ""
+msgstr "Paplašinātie filtri..."
#. module: sale
#: code:addons/sale/wizard/sale_line_invoice.py:111
@@ -1356,7 +1356,7 @@ msgstr ""
#. module: sale
#: field:sale.advance.payment.inv,product_id:0
msgid "Advance Product"
-msgstr ""
+msgstr "Priekšapmaksas Prece"
#. module: sale
#: selection:sale.order.line,state:0
@@ -1366,7 +1366,7 @@ msgstr "Kļūda"
#. module: sale
#: selection:sale.report,month:0
msgid "October"
-msgstr ""
+msgstr "Oktobris"
#. module: sale
#: model:process.transition,note:sale.process_transition_invoice0
@@ -1395,7 +1395,7 @@ msgstr ""
#. module: sale
#: selection:sale.report,month:0
msgid "January"
-msgstr ""
+msgstr "Janvāris"
#. module: sale
#: model:ir.actions.act_window,name:sale.action_order_tree4
@@ -1521,7 +1521,7 @@ msgstr ""
#. module: sale
#: model:process.node,note:sale.process_node_order0
msgid "Confirmed sales order to invoice."
-msgstr ""
+msgstr "Apstiprinātie pasūtījumi rēķina piestādīšanai."
#. module: sale
#: model:ir.actions.act_window,name:sale.action_order_line_product_tree
@@ -1552,7 +1552,7 @@ msgstr ""
#: view:sale.report:0
#: field:sale.report,day:0
msgid "Day"
-msgstr ""
+msgstr "Diena"
#. module: sale
#: view:sale.order:0
@@ -1616,12 +1616,12 @@ msgstr ""
#: model:process.node,name:sale.process_node_quotation0
#: selection:sale.report,state:0
msgid "Quotation"
-msgstr ""
+msgstr "Tāme"
#. module: sale
#: view:sale.order.line:0
msgid "Search Uninvoiced Lines"
-msgstr ""
+msgstr "Meklēt Rindas, par kurām nav piestādīti Rēķini"
#. module: sale
#: model:ir.model,name:sale.model_account_config_settings
@@ -1656,7 +1656,7 @@ msgstr ""
#. module: sale
#: view:sale.order.line:0
msgid "To Do"
-msgstr ""
+msgstr "Veicamais"
#. module: sale
#: report:sale.order:0
@@ -1694,7 +1694,7 @@ msgstr ""
#: model:ir.ui.menu,name:sale.menu_report_product_all
#: view:sale.report:0
msgid "Sales Analysis"
-msgstr ""
+msgstr "Pārdošanu Analīze"
#. module: sale
#: help:sale.order,pricelist_id:0
@@ -1714,7 +1714,7 @@ msgstr "Izveidot Rēķinu"
#. module: sale
#: help:sale.order,amount_untaxed:0
msgid "The amount without tax."
-msgstr ""
+msgstr "Summa bez nodokļiem."
#. module: sale
#: view:sale.order.line:0
@@ -1724,7 +1724,7 @@ msgstr ""
#. module: sale
#: help:sale.order,invoiced:0
msgid "It indicates that an invoice has been paid."
-msgstr ""
+msgstr "Norāda, ka rēķins ir apmaksāts."
#. module: sale
#: code:addons/sale/sale.py:822
@@ -1776,7 +1776,7 @@ msgstr ""
#. module: sale
#: selection:sale.report,month:0
msgid "May"
-msgstr ""
+msgstr "Maijs"
#. module: sale
#: code:addons/sale/sale.py:766
@@ -1823,7 +1823,7 @@ msgstr ""
#. module: sale
#: view:sale.order:0
msgid "Other Information"
-msgstr ""
+msgstr "Cita Informācija"
#. module: sale
#: view:res.partner:0
@@ -1838,7 +1838,7 @@ msgstr "Sk."
#. module: sale
#: model:process.node,note:sale.process_node_invoice0
msgid "To be reviewed by the accountant."
-msgstr ""
+msgstr "Pārbaudīt Grāmatvedim."
#. module: sale
#: view:sale.order:0
@@ -1853,7 +1853,7 @@ msgstr ""
#. module: sale
#: help:sale.order,partner_shipping_id:0
msgid "Shipping address for current sales order."
-msgstr ""
+msgstr "Piegādes adrese pasūtījumam."
#. module: sale
#: selection:sale.order,state:0
@@ -1880,17 +1880,17 @@ msgstr "Klients"
#. module: sale
#: model:product.template,name:sale.advance_product_0_product_template
msgid "Advance"
-msgstr ""
+msgstr "Priekšapmaksa"
#. module: sale
#: selection:sale.report,month:0
msgid "February"
-msgstr ""
+msgstr "Februāris"
#. module: sale
#: field:sale.order,invoice_quantity:0
msgid "Invoice on"
-msgstr ""
+msgstr "Rēķins pēc"
#. module: sale
#: selection:sale.advance.payment.inv,advance_payment_method:0
@@ -1911,7 +1911,7 @@ msgstr "Datums, kad tika pasūtīts"
#. module: sale
#: field:sale.order.line,product_uos:0
msgid "Product UoS"
-msgstr ""
+msgstr "Produkta pārdošanas mērvienība"
#. module: sale
#: help:account.config.settings,group_analytic_account_for_sales:0
@@ -1921,22 +1921,22 @@ msgstr ""
#. module: sale
#: model:process.node,note:sale.process_node_quotation0
msgid "Draft state of sales order"
-msgstr ""
+msgstr "Pasūtījuma melnraksta statuss"
#. module: sale
#: field:sale.order,origin:0
msgid "Source Document"
-msgstr ""
+msgstr "Pamatojuma Dokuments"
#. module: sale
#: selection:sale.report,month:0
msgid "April"
-msgstr ""
+msgstr "Aprīlis"
#. module: sale
#: selection:sale.report,state:0
msgid "Manual In Progress"
-msgstr ""
+msgstr "Manuāls Progresā"
#. module: sale
#: model:ir.actions.server,name:sale.actions_server_sale_order_unread
@@ -1978,7 +1978,7 @@ msgstr ""
#: view:sale.order:0
#: view:sale.order.line:0
msgid "Search Sales Order"
-msgstr ""
+msgstr "Meklēt Pasūtījumu"
#. module: sale
#: view:sale.config.settings:0
@@ -2005,12 +2005,12 @@ msgstr ""
#. module: sale
#: model:process.transition,name:sale.process_transition_saleinvoice0
msgid "From a sales order"
-msgstr ""
+msgstr "No pasūtījuma"
#. module: sale
#: view:sale.order:0
msgid "Ignore Exception"
-msgstr ""
+msgstr "Ignorēt Brīdinājumu"
#. module: sale
#: model:process.transition,note:sale.process_transition_saleinvoice0
@@ -2035,7 +2035,7 @@ msgstr ""
#. module: sale
#: help:sale.order,project_id:0
msgid "The analytic account related to a sales order."
-msgstr ""
+msgstr "Ar pasūtījumu saistītais analītiskais konts."
#. module: sale
#: report:sale.order:0
@@ -2086,7 +2086,7 @@ msgstr ""
#. module: sale
#: field:sale.order,client_order_ref:0
msgid "Customer Reference"
-msgstr ""
+msgstr "Klienta Kods"
#. module: sale
#: view:sale.report:0
@@ -2113,7 +2113,7 @@ msgstr ""
#. module: sale
#: view:sale.order:0
msgid "Total Tax Included"
-msgstr ""
+msgstr "Iekļauto Nodokļu Summa"
#. module: sale
#: field:sale.order,invoice_exists:0
@@ -2360,9 +2360,6 @@ msgstr ""
#~ msgid "Assign"
#~ msgstr "Piešķirt"
-#~ msgid "Delivery Order Only"
-#~ msgstr "Piegādes Pasūtījums Tikai"
-
#~ msgid "Sales order lines"
#~ msgstr "Tirdzniecības pasūtījuma pozīcijas"
@@ -2381,9 +2378,6 @@ msgstr ""
#~ msgid "Shipping & Manual Invoice"
#~ msgstr "Piegāde un Manuāls Rēķins"
-#~ msgid "UoM"
-#~ msgstr "mērv."
-
#~ msgid "Sale Invoice"
#~ msgstr "Rēķins"
@@ -2484,3 +2478,279 @@ msgstr ""
#~ msgid "Invoice Based on Deliveries"
#~ msgstr "Rēķins pēc Piegādes"
+
+#~ msgid "Sales by Salesman in last 90 days"
+#~ msgstr "Pārdošana pa Pārdevējiem pēdējās 90 dienās"
+
+#~ msgid "Configure Sales Order Logistics"
+#~ msgstr "Konfigurēt Pasūtījuma Loģistiku"
+
+#~ msgid "Allows you to compute delivery costs on your quotations."
+#~ msgstr "Ļauj aprēķināt piegādes izmaksas."
+
+#~ msgid ""
+#~ "If you don't have enough stock available to deliver all at once, do you "
+#~ "accept partial shipments or not?"
+#~ msgstr ""
+#~ "Vai piegādāt pasūtījumu pa daļām, ja noliktavā nav iespējams piegādāt visu "
+#~ "pasūtījumu vienlaicīgi?"
+
+#, python-format
+#~ msgid "The quotation '%s' has been converted to a sales order."
+#~ msgstr "Tāmējums \"%s\" tika pārveidots par pasūtījumu."
+
+#~ msgid "Dates"
+#~ msgstr "Datumi"
+
+#~ msgid "Sales by Salesman"
+#~ msgstr "Pārdošana pēc Pārdevējiem"
+
+#~ msgid "Conditions"
+#~ msgstr "Nosacījumi"
+
+#~ msgid "Sales Manager Dashboard"
+#~ msgstr "Pārdevēja Instrumentu Panelis"
+
+#~ msgid "Configure"
+#~ msgstr "Konfigurēt"
+
+#, python-format
+#~ msgid "Could not cancel this sales order !"
+#~ msgstr "Nevar atcelt pasūtījumu!"
+
+#~ msgid "Number Packages"
+#~ msgstr "Iepakojumu Skaits"
+
+#, python-format
+#~ msgid "(n/a)"
+#~ msgstr "(nav pieejams)"
+
+#~ msgid "Order Reference must be unique !"
+#~ msgstr "Pasūtījuma kodam ir jābūt unikālam!"
+
+#~ msgid "Lines to Invoice"
+#~ msgstr "Rindas, par kurām piestādīt Rēķinu."
+
+#~ msgid "Do you really want to create the invoice(s) ?"
+#~ msgstr "Vai tiešām vēlaties piestādīt rēķinu(-s)?"
+
+#~ msgid "All Quotations"
+#~ msgstr "Visi Tāmējumi"
+
+#, python-format
+#~ msgid "Could not cancel sales order line!"
+#~ msgstr "Nevar atcelt pasūtījuma rindu!"
+
+#~ msgid "Sales By Month"
+#~ msgstr "Pārdošana Pa Mēnešiem"
+
+#~ msgid "Procurement of sold material"
+#~ msgstr "Pārdoto preču piegāde"
+
+#~ msgid " Year "
+#~ msgstr " Gads "
+
+#~ msgid "Companies"
+#~ msgstr "Uzņēmumi"
+
+#~ msgid ""
+#~ "The name and address of the contact who requested the order or quotation."
+#~ msgstr "Pasūtītāja vārds un adrese."
+
+#~ msgid "Create Final Invoice"
+#~ msgstr "Veidot Gala Rēķinu"
+
+#~ msgid "Sales by Partner"
+#~ msgstr "Pārdošana pa Partneriem"
+
+#~ msgid "Sales Order Dates"
+#~ msgstr "Pasūtījumu Datumi"
+
+#~ msgid "Open Invoice"
+#~ msgstr "Atvērt Rēķinu"
+
+#~ msgid "on order"
+#~ msgstr "pie pasūtījuma"
+
+#~ msgid "Delivery Costs"
+#~ msgstr "Piegādes Izmaksas"
+
+#~ msgid "Deliveries to Invoice"
+#~ msgstr "Piegādes, par kurām piestādīt rēķinus"
+
+#~ msgid "Order date"
+#~ msgstr "Pasūtījuma datums"
+
+#~ msgid "Invoicing"
+#~ msgstr "Rēķinu izrakstīšana"
+
+#, python-format
+#~ msgid "The sales order '%s' has been cancelled."
+#~ msgstr "Pasūtījums \"%s\" ir atcelts."
+
+#~ msgid "Configuration Progress"
+#~ msgstr "Konfigurācijas Progress"
+
+#~ msgid "You invoice has been successfully created!"
+#~ msgstr "Rēķins ir veiksmīgi izveidots!"
+
+#~ msgid "Shipped Qty"
+#~ msgstr "Piegādātais Daudz."
+
+#~ msgid "Delivered"
+#~ msgstr "Piegādāts"
+
+#, python-format
+#~ msgid "The sales order '%s' has been set in draft state."
+#~ msgstr "Pasūtījums \"%s\" ir atzīmēts kā melnraksts."
+
+#, python-format
+#~ msgid "Warning !"
+#~ msgstr "Uzmanību!"
+
+#~ msgid "Procurement Order"
+#~ msgstr "Iepirkuma Pasūtījums"
+
+#~ msgid "UoM"
+#~ msgstr "Mērv."
+
+#, python-format
+#~ msgid "You must first cancel stock moves attached to this sales order line."
+#~ msgstr "Vispirms jāatceļ saistītie noliktavas grāmatojumi."
+
+#~ msgid "Sales Open Invoice"
+#~ msgstr "Atvērt Rēķinu"
+
+#~ msgid "Security Days"
+#~ msgstr "Rezerves Dienas"
+
+#, python-format
+#~ msgid "You cannot cancel a sales order line that has already been invoiced !"
+#~ msgstr "Nevar atcelt pasūtījuma rindu, par kuru jau ir piestādīts rēķins!"
+
+#~ msgid "Margins in Sales Orders"
+#~ msgstr "Uzcenojumi Pasūtījumiem"
+
+#~ msgid "Total Tax Excluded"
+#~ msgstr "Nodokļa Summa, kas nav Iekļauta"
+
+#~ msgid "Sales by Product Category"
+#~ msgstr "Pārdošana pa Produktu Kategorijām"
+
+#~ msgid "Procurement Method"
+#~ msgstr "Sagādes Veids"
+
+#~ msgid "Pick List"
+#~ msgstr "Komplektācijas Saraksts"
+
+#~ msgid "Sales per Customer in last 90 days"
+#~ msgstr "Pārdošana pa Klientiem pēdējās 90 dienās"
+
+#~ msgid "Invoice From The Picking"
+#~ msgstr "Veidot Rēķinu Pēc Komplektācijas"
+
+#, python-format
+#~ msgid "Picking Information !"
+#~ msgstr "Informācija par Komplektāciju"
+
+#, python-format
+#~ msgid "Could not cancel sales order !"
+#~ msgstr "Nevar atcelt pasūtījumu!"
+
+#~ msgid "Properties"
+#~ msgstr "Parametri"
+
+#~ msgid "Logistic"
+#~ msgstr "Loģistika"
+
+#~ msgid " Month "
+#~ msgstr " Mēnesis "
+
+#, python-format
+#~ msgid "Warning"
+#~ msgstr "Brīdinājums"
+
+#~ msgid "Sales by Month"
+#~ msgstr "Pārdošana pa Mēnešiem"
+
+#~ msgid "Delivery Lead Time"
+#~ msgstr "Piegādes laiks"
+
+#~ msgid "Image"
+#~ msgstr "Attēls"
+
+#~ msgid "Error! You can not create recursive companies."
+#~ msgstr "Kļūda! Jums nav tiesību veidot rekursīvus uzņēmumus."
+
+#~ msgid "Invoicing journals"
+#~ msgstr "Rēķinu žurnāli"
+
+#~ msgid "Ordered Date"
+#~ msgstr "Pasūtījuma Veikšanas Datums"
+
+#~ msgid "Configure Your Sales Management Application"
+#~ msgstr "Konfigurēt Tirdzniecības Vadības Moduli"
+
+#~ msgid "Sales Order Layout Improvement"
+#~ msgstr "Pasūtījuma Izkārtojuma Uzlabojums"
+
+#, python-format
+#~ msgid "You must first cancel all invoices attached to this sales order."
+#~ msgstr "Vispirms jāatceļ visi rēķini, kas saistīti ar pasūtījumu."
+
+#, python-format
+#~ msgid "Not enough stock !"
+#~ msgstr "Nav pietiekošs skaits noliktavā!"
+
+#~ msgid "Layout Sequence"
+#~ msgstr "Izkārtojuma Secība"
+
+#, python-format
+#~ msgid "Cannot delete Sales Order(s) which are already confirmed !"
+#~ msgstr "Nevar izdzēst jau apstiprināto(-s) Pasūtījumu(-s)!"
+
+#~ msgid "Accounting"
+#~ msgstr "Grāmatvedība"
+
+#~ msgid "You must assign a production lot for this product"
+#~ msgstr "Šim produktam ir jāpiesaista produkcijas lots"
+
+#~ msgid "State"
+#~ msgstr "Statuss"
+
+#~ msgid "Delivery Order Only"
+#~ msgstr "Veikt Tikai Piegādi"
+
+#~ msgid "Picking Default Policy"
+#~ msgstr "Komplektācijas Noteikumi"
+
+#~ msgid "References"
+#~ msgstr "Kodi"
+
+#~ msgid "Based on the shipped or on the ordered quantities."
+#~ msgstr "Balstīts uz piegādāto vai pasūtīto skaitu."
+
+#~ msgid "Related Picking"
+#~ msgstr "Saistītā Komplektēšana Noliktavā"
+
+#~ msgid "Create Pick List"
+#~ msgstr "Veidot Komplektēšanas Sarakstu"
+
+#~ msgid "Create Delivery Order"
+#~ msgstr "Veidot Piegādes Rīkojumu"
+
+#~ msgid "Create Procurement Order"
+#~ msgstr "Veidot Piegādes Pasūtījumu"
+
+#~ msgid "Picking List"
+#~ msgstr "Komplektēšanas Saraksts"
+
+#, python-format
+#~ msgid "You must first cancel all picking attached to this sales order."
+#~ msgstr "Vispirms jāatceļ visa komplektācija, kas saistīta ar pasūtījumu."
+
+#~ msgid "Picking Policy"
+#~ msgstr "Komplektācijas Noteikumi"
+
+#~ msgid "Picking List & Delivery Order"
+#~ msgstr "Komplektācijas Saraksts un Piegādes Pasūtījums"
From 28cbfd22b782198db100fd4eb40d95cf9c3a1fd0 Mon Sep 17 00:00:00 2001
From: Xavier Morel
Date: Mon, 19 Nov 2012 09:42:03 +0100
Subject: [PATCH 57/97] [FIX] editable listview: do not attempt to delete falsy
ids (from the dataset)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
During the creation of a new record (in an editable list), the
prospective new record has a ``false`` id. In a non-o2m, the row under
creation can be selected (checkbox) and deleted (More > Delete),
leading to the request to ``DELETE false`` being sent to the ORM…
which said ORM does not wish to entertain.
Before actually performing the delete request (more precisely
forwarding said request to the listview itself), remove all false-ish
ids from the array.
Also, don't send a request to delete nothing.
bzr revid: xmo@openerp.com-20121119084203-0vz4v9myfizxz88u
---
addons/web/static/src/js/view_list_editable.js | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/addons/web/static/src/js/view_list_editable.js b/addons/web/static/src/js/view_list_editable.js
index 1abe3caab39..c42f79d57f9 100644
--- a/addons/web/static/src/js/view_list_editable.js
+++ b/addons/web/static/src/js/view_list_editable.js
@@ -78,12 +78,16 @@ openerp.web.list_editable = function (instance) {
_.extend(this.dataset, dataset);
},
do_delete: function (ids) {
+ var nonfalse = _.compact(ids);
var _super = this._super.bind(this);
var next = this.editor.is_editing()
? this.cancel_edition(true)
: $.when();
return next.then(function () {
- return _super(ids);
+ if (_.isEmpty(nonfalse)) {
+ return $.when();
+ }
+ return _super(nonfalse);
});
},
editable: function () {
From e0ec6783e58940794712864d9b12262c652e7689 Mon Sep 17 00:00:00 2001
From: Xavier Morel
Date: Mon, 19 Nov 2012 09:45:33 +0100
Subject: [PATCH 58/97] [IMP] listview already checks non-empty ids array for
deletion, so check not useful
bzr revid: xmo@openerp.com-20121119084533-6qnktzmh19kfwtoo
---
addons/web/static/src/js/view_list_editable.js | 3 ---
1 file changed, 3 deletions(-)
diff --git a/addons/web/static/src/js/view_list_editable.js b/addons/web/static/src/js/view_list_editable.js
index c42f79d57f9..ec0bf2774fe 100644
--- a/addons/web/static/src/js/view_list_editable.js
+++ b/addons/web/static/src/js/view_list_editable.js
@@ -84,9 +84,6 @@ openerp.web.list_editable = function (instance) {
? this.cancel_edition(true)
: $.when();
return next.then(function () {
- if (_.isEmpty(nonfalse)) {
- return $.when();
- }
return _super(nonfalse);
});
},
From 79c275c0ca7c1425c0496ec877484c5237eaf366 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Thibault=20Delavall=C3=A9e?=
Date: Mon, 19 Nov 2012 10:24:57 +0100
Subject: [PATCH 59/97] [CLEAN] mail: cleaned demo data about files and
noupdate: fixed some typos.
bzr revid: tde@openerp.com-20121119092457-lgiijzl4c6c90nuk
---
addons/crm/__openerp__.py | 5 +--
addons/crm/crm_lead_demo.xml | 3 +-
addons/mail/__openerp__.py | 4 +-
addons/mail/data/mail_demo.xml | 3 +-
addons/mail/data/mail_group_data.xml | 9 ++---
addons/mail/data/mail_group_demo_data.xml | 49 +++++++++++------------
6 files changed, 34 insertions(+), 39 deletions(-)
diff --git a/addons/crm/__openerp__.py b/addons/crm/__openerp__.py
index 0b6391501e4..63d5d3da84b 100644
--- a/addons/crm/__openerp__.py
+++ b/addons/crm/__openerp__.py
@@ -99,14 +99,13 @@ Dashboard for CRM will include:
'board_crm_view.xml',
'res_config_view.xml',
-
+ ],
+ 'demo': [
'crm_demo.xml',
'crm_lead_demo.xml',
'crm_phonecall_demo.xml',
'crm_action_rule_demo.xml',
],
- 'demo': [
- ],
'test': [
'test/process/communication_with_customer.yml',
'test/process/lead2opportunity2win.yml',
diff --git a/addons/crm/crm_lead_demo.xml b/addons/crm/crm_lead_demo.xml
index a1996b3f2c4..913ce9fc612 100644
--- a/addons/crm/crm_lead_demo.xml
+++ b/addons/crm/crm_lead_demo.xml
@@ -1,7 +1,6 @@
-
-
+
diff --git a/addons/mail/__openerp__.py b/addons/mail/__openerp__.py
index 18d4500f2a4..c535e3f7024 100644
--- a/addons/mail/__openerp__.py
+++ b/addons/mail/__openerp__.py
@@ -64,10 +64,10 @@ Main Features
'security/ir.model.access.csv',
'mail_alias_view.xml',
'res_users_view.xml',
- 'data/mail_demo.xml',
- 'data/mail_group_demo_data.xml',
],
'demo': [
+ 'data/mail_demo.xml',
+ 'data/mail_group_demo_data.xml',
],
'installable': True,
'auto_install': False,
diff --git a/addons/mail/data/mail_demo.xml b/addons/mail/data/mail_demo.xml
index 471063aead2..8cc91bd4d65 100644
--- a/addons/mail/data/mail_demo.xml
+++ b/addons/mail/data/mail_demo.xml
@@ -1,7 +1,6 @@
-
-
+
diff --git a/addons/mail/data/mail_group_data.xml b/addons/mail/data/mail_group_data.xml
index bc3912329a5..84258d619ba 100644
--- a/addons/mail/data/mail_group_data.xml
+++ b/addons/mail/data/mail_group_data.xml
@@ -1,7 +1,6 @@
-
-
+
Whole Company
@@ -16,9 +15,9 @@
notificationWelcome to OpenERP!
- Your homepage is a summary of messages you received and key information about documents you follow.
-The top menu bar contains all applications you installed. You can use the Settings menu to install more applications, activate others features or give access to new users.
-To setup your preferences (name, email signature, avatar), click on the top right corner.
]]>
+ Your homepage is a summary of messages you received and key information about documents you follow.
+
The top menu bar contains all applications you installed. You can use the Settings menu to install more applications, activate others features or give access to new users.
+
To setup your preferences (name, email signature, avatar), click on the top right corner.
]]>
diff --git a/addons/mail/data/mail_group_demo_data.xml b/addons/mail/data/mail_group_demo_data.xml
index 21e10e278df..a6879c52a1a 100644
--- a/addons/mail/data/mail_group_demo_data.xml
+++ b/addons/mail/data/mail_group_demo_data.xml
@@ -1,7 +1,6 @@
-
-
+
@@ -22,13 +21,13 @@
R&DResearch and development discussion group
-
-
-
-
+ HR PoliciesCompany cars, holidays and other advantages
+
+
+ SupportSupport team
@@ -78,7 +77,7 @@
mail.group
-
+ Your monthly meal vouchers arrived. You can get them at the HR's office.]]>comment
@@ -86,7 +85,7 @@
mail.group
-
+ Oh, I had forgotten. This month you also get 250 EUR of eco-vouchers if you have been in the company for more than a year.]]>comment
@@ -95,7 +94,7 @@
mail.group
-
+ Thanks! Could you please remind me where is Christine's office, if I may ask? I'm new here!]]>comment
@@ -104,7 +103,7 @@
mail.group
-
+ Building B3, second floor on the right :-).]]>comment
@@ -112,7 +111,8 @@
-
+
+ mail.group
- The main events of the month of october are:
+ The main events of the month of October are:
Sales:
-
Invoicing is respectively of 442k€ for our european company (66% of the budget) and $404k for the U.S. office (75% of the budget). Despite these numbers that are far bellow our initial expectations, the growth of the month of october is 51% compared to last year.
-
The month of september having been better than our initial forecasts, the consolidated yearly revenue is only of $20k bellow our forecast made during the board of september.
+
Invoicing is respectively of 442k€ for our European company (66% of the budget) and $404k for the U.S. office (75% of the budget). Despite these numbers that are far bellow our initial expectations, the growth of the month of October is 51% compared to last year.
+
The month of September having been better than our initial forecasts, the consolidated yearly revenue is only of $20k bellow our forecast made during the board of September.
The consolidated forecast for the end of the year is $6.749k, which is a growth of 76% compared to last year and an achievement of 87% of the budget.
The recruitment of new resellers has been very good, especially in Europe, where we signed 30 new resellers this month.
@@ -137,30 +137,30 @@
The profit and loss has been negatively impacted this month by revenues that are far beyond the budget and charges that are 15% above the budget. The main extra we had in our charges this month is due to the provisioning of the salaries for the holidays period, $50k.
We also got the payment of our long awaited subsidies, the cash level has increased of 300K€ which gives a current balance of 963 K€ without including the straight loan of 350 K€.
-
The aged customer balance has been similar to the one of the last month with a small decrease of the DSO. We have recruited a new accountant assistant for the credit collection. She is mostly doing phone calls for all invoices that are due since 30 days, so we should get improvements of the DSO in november. The sum of the invoicing on which we have a risk in the aged customer balance is 100K€.
+
The aged customer balance has been similar to the one of the last month with a small decrease of the DSO. We have recruited a new accountant assistant for the credit collection. She is mostly doing phone calls for all invoices that are due since 30 days, so we should get improvements of the DSO in November. The sum of the invoicing on which we have a risk in the aged customer balance is 100K€.
Resellers and Customers:
-
The total number of resellers is 429, accross 87 countries.
-
The total number of installations of our software increased to 37K, against 33K for the month of september but we still did not reached the highest level we reached during this year (44K in march and may)
-
We have passed the 10000th customer in production with 10271 customers at the end of october. The paying customer ratio is 6,6%.
+
The total number of resellers is 429, across 87 countries.
+
The total number of installations of our software increased to 37K, against 33K for the month of September but we still did not reached the highest level we reached during this year (44K in march and may)
+
We have passed the 10000th customer in production with 10271 customers at the end of October. The paying customer ratio is 6,6%.
Launch of the new release:
- We are working actively on the new release which is scheduled for the end of november.
+ We are working actively on the new release which is scheduled for the end of November.
We will publish the release note this week
-
The whole sales team will be trained on the new version this friday
-
We will do a public announce to our resellers the 21th of november. We plan to show them: a description of the new features, the new distribution strategy, the new pricing and the communication plan.
+
The whole sales team will be trained on the new version this Friday
+
We will do a public announce to our resellers the 21th of November. We plan to show them: a description of the new features, the new distribution strategy, the new pricing and the communication plan.
- Nicolas, can you book a meeting room for our meeting of friday 2pm?
+ Nicolas, can you book a meeting room for our meeting of Friday 2pm?
Regards.
@@ -174,13 +174,13 @@
+
mail.group
- Great news.
-
+ Great news!
Our company has received the Deloitte Fast 50 award. We are the fastest
growing company of the country, with a growth of 1549% over the past 5
years. You can get more information on our blog.
@@ -191,7 +191,6 @@
-
From b444043aead516ceac1b9c0a834d1fb43d4b7fc1 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Thibault=20Delavall=C3=A9e?=
Date: Mon, 19 Nov 2012 10:37:05 +0100
Subject: [PATCH 60/97] [IMP] mail demo data: removed a few warnings.
bzr revid: tde@openerp.com-20121119093705-netx11bsa1gsmrei
---
addons/mail/data/mail_demo.xml | 2 --
1 file changed, 2 deletions(-)
diff --git a/addons/mail/data/mail_demo.xml b/addons/mail/data/mail_demo.xml
index 8cc91bd4d65..6997facba3b 100644
--- a/addons/mail/data/mail_demo.xml
+++ b/addons/mail/data/mail_demo.xml
@@ -146,13 +146,11 @@
- ir.attachmentbWlncmF0aW9uIHRlc3Q=catalog.doccatalog.doc
- ir.attachmentactivity_graph_2012.jpgactivity_graph_2012
From 4dcede9044328845e40a32db9672eaac82f31030 Mon Sep 17 00:00:00 2001
From: Raphael Collet
Date: Mon, 19 Nov 2012 11:07:34 +0100
Subject: [PATCH 61/97] [IMP] web: add 'widget: self' in rendering environment
of openerp.web.Client
bzr revid: rco@openerp.com-20121119100734-dtprbdm9bypid8bk
---
addons/web/static/src/js/chrome.js | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/addons/web/static/src/js/chrome.js b/addons/web/static/src/js/chrome.js
index b95550c74a0..07b0bf39f21 100644
--- a/addons/web/static/src/js/chrome.js
+++ b/addons/web/static/src/js/chrome.js
@@ -981,7 +981,7 @@ instance.web.Client = instance.web.Widget.extend({
start: function() {
var self = this;
return instance.session.session_bind(this.origin).then(function() {
- var $e = $(QWeb.render(self._template, {}));
+ var $e = $(QWeb.render(self._template, {widget: self}));
self.replaceElement($e);
$e.openerpClass();
self.bind_events();
From 5b327365970133e1704e9ac8e73d9ff367516603 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Thibault=20Delavall=C3=A9e?=
Date: Mon, 19 Nov 2012 11:19:53 +0100
Subject: [PATCH 62/97] [CLEAN] mail: cleaned a bit the demo data.
bzr revid: tde@openerp.com-20121119101953-np1gw8e7qhfhncgq
---
addons/mail/data/mail_demo.xml | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/addons/mail/data/mail_demo.xml b/addons/mail/data/mail_demo.xml
index 6997facba3b..b34c6ef7ea5 100644
--- a/addons/mail/data/mail_demo.xml
+++ b/addons/mail/data/mail_demo.xml
@@ -89,7 +89,7 @@
RedHat server updated spec
- Hello Demo
+ Hello Demo,
We have a lot of inquiries about our now solution using RedHat servers. However I do not have the updated specification ready at hand.
Could you please send me the last version of the file asap?
Thanks,
]]>
@@ -322,7 +322,7 @@
Feedback about our On Site Assistance
- Hi Virginie, I writing to you about our On Site Assistance Service that we delivered to Agrolait last week. Do you have any feedback or remark about our service? I noticed you requested new IP phones. Will it be used for new employees, or did you have any issue with the ones we provided? Best regards,]]>
+ Hi Virginie,
I writing to you about our On Site Assistance Service that we delivered to Agrolait last week. Do you have any feedback or remark about our service? I noticed you requested new IP phones. Will it be used for new employees, or did you have any issue with the ones we provided? Best regards,
]]>comment
@@ -331,7 +331,7 @@
RE: Feedback about our On Site Assistance
- Hello Administrator, Glad to hearing from you! Everything is perfect, thanks for asking. Concerning the order of 2 IP phones, I ordered them for new employees. We are satisfied with the products of YourCompany, and we plan to fit out each new employee with one of your phone this year. Regards,]]>
+ Hello Administrator,
Glad to hearing from you! Everything is perfect, thanks for asking. Concerning the order of 2 IP phones, I ordered them for new employees. We are satisfied with the products of YourCompany, and we plan to fit out each new employee with one of your phone this year. Regards,
]]>comment
@@ -343,7 +343,7 @@
FWD: Meeting with Demo
- Hello Administrator, A small email to inform you that we will have a meeting with Mr Demo next Tuesday. Everything is under control! Regards,]]>
+ Hello Administrator,
A small email to inform you that we will have a meeting with Mr Demo next Tuesday. Everything is under control! Regards,
]]>comment
From 248f81277f8952fe884b4bc793ad07be407190a0 Mon Sep 17 00:00:00 2001
From: Christophe Matthieu
Date: Mon, 19 Nov 2012 11:43:32 +0100
Subject: [PATCH 63/97] [FIX] fields.html: behave as fields.text for empty
values: store NULL
bzr revid: chm@openerp.com-20121119104332-bqm81nuik6pqsbf9
---
openerp/osv/fields.py | 2 ++
1 file changed, 2 insertions(+)
diff --git a/openerp/osv/fields.py b/openerp/osv/fields.py
index 0d12a9a8bc3..c8cf5909ecc 100644
--- a/openerp/osv/fields.py
+++ b/openerp/osv/fields.py
@@ -234,6 +234,8 @@ class html(text):
_type = 'html'
_symbol_c = '%s'
def _symbol_f(x):
+ if x is None or x == False:
+ return None
return html_sanitize(x)
_symbol_set = (_symbol_c, _symbol_f)
From 1ec9878370ef8605627a10c809297d46b8623c50 Mon Sep 17 00:00:00 2001
From: Christophe Matthieu
Date: Mon, 19 Nov 2012 12:01:58 +0100
Subject: [PATCH 64/97] [FIX] mail: do not display the body message false value
bzr revid: chm@openerp.com-20121119110158-iw2i7qt422fqatvm
---
addons/mail/static/src/js/mail.js | 26 +++++++++++++-------------
1 file changed, 13 insertions(+), 13 deletions(-)
diff --git a/addons/mail/static/src/js/mail.js b/addons/mail/static/src/js/mail.js
index 72c40ea141b..6646b7a289b 100644
--- a/addons/mail/static/src/js/mail.js
+++ b/addons/mail/static/src/js/mail.js
@@ -226,21 +226,21 @@ openerp.mail = function (session) {
default_parent_id: false }, options.context || {});
// data of this message
- this.id = datasets.id || false,
+ this.id = datasets.id || false,
this.last_id = this.id,
this.model = datasets.model || this.context.default_model || false,
- this.res_id = datasets.res_id || this.context.default_res_id || false,
- this.parent_id = datasets.parent_id || false,
- this.type = datasets.type || false,
- this.is_author = datasets.is_author || false,
- this.is_private = datasets.is_private || false,
- this.subject = datasets.subject || false,
- this.name = datasets.name || false,
- this.record_name = datasets.record_name || false,
- this.body = datasets.body || false,
+ this.res_id = datasets.res_id || this.context.default_res_id || false,
+ this.parent_id = datasets.parent_id || false,
+ this.type = datasets.type || false,
+ this.is_author = datasets.is_author || false,
+ this.is_private = datasets.is_private || false,
+ this.subject = datasets.subject || false,
+ this.name = datasets.name || false,
+ this.record_name = datasets.record_name || false,
+ this.body = datasets.body || '',
this.vote_nb = datasets.vote_nb || 0,
- this.has_voted = datasets.has_voted || false,
- this.is_favorite = datasets.is_favorite || false,
+ this.has_voted = datasets.has_voted || false,
+ this.is_favorite = datasets.is_favorite || false,
this.thread_level = datasets.thread_level || 0,
this.to_read = datasets.to_read || false,
this.author_id = datasets.author_id || false,
@@ -592,7 +592,7 @@ openerp.mail = function (session) {
this.parent_thread.ds_thread.call('message_post_user_api', [
this.context.default_res_id,
body,
- false,
+ false,
this.context.default_parent_id,
attachments,
this.parent_thread.context
From 6bbac26ffb6f2131cad62df48b5afa3849ee8276 Mon Sep 17 00:00:00 2001
From: Raphael Collet
Date: Mon, 19 Nov 2012 12:02:06 +0100
Subject: [PATCH 65/97] [IMP] ir_confir_parameter: add parameter 'force' in
method 'init' to reinitialize existing parameters This is useful when
creating a new database from a dump (reinitialize database.uuid, etc.)
bzr revid: rco@openerp.com-20121119110206-la2yaohf7wmi9yx2
---
openerp/addons/base/ir/ir_config_parameter.py | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/openerp/addons/base/ir/ir_config_parameter.py b/openerp/addons/base/ir/ir_config_parameter.py
index 120fcfca554..3c88a3fbc31 100644
--- a/openerp/addons/base/ir/ir_config_parameter.py
+++ b/openerp/addons/base/ir/ir_config_parameter.py
@@ -51,12 +51,14 @@ class ir_config_parameter(osv.osv):
('key_uniq', 'unique (key)', 'Key must be unique.')
]
- def init(self, cr):
+ def init(self, cr, force=False):
"""
Initializes the parameters listed in _default_parameters.
+ It overrides existing parameters if force is ``True``.
"""
for key, func in _default_parameters.iteritems():
- ids = self.search(cr, SUPERUSER_ID, [('key','=',key)])
+ # force=True skips search and always performs the 'if' body (because ids=False)
+ ids = not force and self.search(cr, SUPERUSER_ID, [('key','=',key)])
if not ids:
self.set_param(cr, SUPERUSER_ID, key, func())
From b7a5b07b3e4dc73c316a59dd3e2b0c7a2d884a2e Mon Sep 17 00:00:00 2001
From: Fabien Meghazi
Date: Mon, 19 Nov 2012 12:11:10 +0100
Subject: [PATCH 66/97] [IMP] Update jQuery to version 1.8.3
bzr revid: fme@openerp.com-20121119111110-rjznfpj6fllfbgqj
---
addons/web/__openerp__.py | 2 +-
.../{jquery-1.8.2.js => jquery-1.8.3.js} | 215 ++++++++++--------
2 files changed, 121 insertions(+), 96 deletions(-)
rename addons/web/static/lib/jquery/{jquery-1.8.2.js => jquery-1.8.3.js} (97%)
diff --git a/addons/web/__openerp__.py b/addons/web/__openerp__.py
index d83636de0f9..745df64a913 100644
--- a/addons/web/__openerp__.py
+++ b/addons/web/__openerp__.py
@@ -18,7 +18,7 @@ This module provides the core of the OpenERP Web Client.
"static/lib/datejs/parser.js",
"static/lib/datejs/sugarpak.js",
"static/lib/datejs/extras.js",
- "static/lib/jquery/jquery-1.8.2.js",
+ "static/lib/jquery/jquery-1.8.3.js",
"static/lib/jquery.MD5/jquery.md5.js",
"static/lib/jquery.form/jquery.form.js",
"static/lib/jquery.validate/jquery.validate.js",
diff --git a/addons/web/static/lib/jquery/jquery-1.8.2.js b/addons/web/static/lib/jquery/jquery-1.8.3.js
similarity index 97%
rename from addons/web/static/lib/jquery/jquery-1.8.2.js
rename to addons/web/static/lib/jquery/jquery-1.8.3.js
index 035ab38245b..a86bf797a8b 100644
--- a/addons/web/static/lib/jquery/jquery-1.8.2.js
+++ b/addons/web/static/lib/jquery/jquery-1.8.3.js
@@ -1,5 +1,5 @@
/*!
- * jQuery JavaScript Library v1.8.2
+ * jQuery JavaScript Library v1.8.3
* http://jquery.com/
*
* Includes Sizzle.js
@@ -9,7 +9,7 @@
* Released under the MIT license
* http://jquery.org/license
*
- * Date: Thu Sep 20 2012 21:13:05 GMT-0400 (Eastern Daylight Time)
+ * Date: Tue Nov 13 2012 08:20:33 GMT-0500 (Eastern Standard Time)
*/
(function( window, undefined ) {
var
@@ -186,7 +186,7 @@ jQuery.fn = jQuery.prototype = {
selector: "",
// The current version of jQuery being used
- jquery: "1.8.2",
+ jquery: "1.8.3",
// The default length of a jQuery object is 0
length: 0,
@@ -999,8 +999,10 @@ jQuery.Callbacks = function( options ) {
(function add( args ) {
jQuery.each( args, function( _, arg ) {
var type = jQuery.type( arg );
- if ( type === "function" && ( !options.unique || !self.has( arg ) ) ) {
- list.push( arg );
+ if ( type === "function" ) {
+ if ( !options.unique || !self.has( arg ) ) {
+ list.push( arg );
+ }
} else if ( arg && arg.length && type !== "string" ) {
// Inspect recursively
add( arg );
@@ -1149,14 +1151,7 @@ jQuery.extend({
deferred = {};
// Keep pipe for back-compat
- //promise.pipe = promise.then;
- promise.pipe = function() {
- if (window.console) {
- console.error && console.error("$.Deferred().pipe() is deprecated. Use .then() instead.");
- console.trace && console.trace();
- }
- return promise.then.apply(this, arguments);
- };
+ promise.pipe = promise.then;
// Add list-specific methods
jQuery.each( tuples, function( i, tuple ) {
@@ -1260,24 +1255,23 @@ jQuery.support = (function() {
clickFn,
div = document.createElement("div");
- // Preliminary tests
+ // Setup
div.setAttribute( "className", "t" );
div.innerHTML = "
a";
+ // Support tests won't run in some limited or non-browser environments
all = div.getElementsByTagName("*");
a = div.getElementsByTagName("a")[ 0 ];
- a.style.cssText = "top:1px;float:left;opacity:.5";
-
- // Can't get basic test support
- if ( !all || !all.length ) {
+ if ( !all || !a || !all.length ) {
return {};
}
- // First batch of supports tests
+ // First batch of tests
select = document.createElement("select");
opt = select.appendChild( document.createElement("option") );
input = div.getElementsByTagName("input")[ 0 ];
+ a.style.cssText = "top:1px;float:left;opacity:.5";
support = {
// IE strips leading whitespace when .innerHTML is used
leadingWhitespace: ( div.firstChild.nodeType === 3 ),
@@ -1319,7 +1313,7 @@ jQuery.support = (function() {
// Test setAttribute on camelCase class. If it works, we need attrFixes when doing get/setAttribute (ie6/7)
getSetAttribute: div.className !== "t",
- // Tests for enctype support on a form(#6743)
+ // Tests for enctype support on a form (#6743)
enctype: !!document.createElement("form").enctype,
// Makes sure cloning an html5 element does not cause problems
@@ -2224,26 +2218,25 @@ jQuery.extend({
},
select: {
get: function( elem ) {
- var value, i, max, option,
- index = elem.selectedIndex,
- values = [],
+ var value, option,
options = elem.options,
- one = elem.type === "select-one";
-
- // Nothing was selected
- if ( index < 0 ) {
- return null;
- }
+ index = elem.selectedIndex,
+ one = elem.type === "select-one" || index < 0,
+ values = one ? null : [],
+ max = one ? index + 1 : options.length,
+ i = index < 0 ?
+ max :
+ one ? index : 0;
// Loop through all the selected options
- i = one ? index : 0;
- max = one ? index + 1 : options.length;
for ( ; i < max; i++ ) {
option = options[ i ];
- // Don't return options that are disabled or in a disabled optgroup
- if ( option.selected && (jQuery.support.optDisabled ? !option.disabled : option.getAttribute("disabled") === null) &&
- (!option.parentNode.disabled || !jQuery.nodeName( option.parentNode, "optgroup" )) ) {
+ // oldIE doesn't update selected after form reset (#2551)
+ if ( ( option.selected || i === index ) &&
+ // Don't return options that are disabled or in a disabled optgroup
+ ( jQuery.support.optDisabled ? !option.disabled : option.getAttribute("disabled") === null ) &&
+ ( !option.parentNode.disabled || !jQuery.nodeName( option.parentNode, "optgroup" ) ) ) {
// Get the specific value for the option
value = jQuery( option ).val();
@@ -2258,11 +2251,6 @@ jQuery.extend({
}
}
- // Fixes Bug #2551 -- select.val() broken in IE after form.reset()
- if ( one && !values.length && options.length ) {
- return jQuery( options[ index ] ).val();
- }
-
return values;
},
@@ -3240,7 +3228,7 @@ jQuery.removeEvent = document.removeEventListener ?
if ( elem.detachEvent ) {
- // #8545, #7054, preventing memory leaks for custom events in IE6-8 –
+ // #8545, #7054, preventing memory leaks for custom events in IE6-8
// detachEvent needed property on element, by name of that event, to properly expose it to GC
if ( typeof elem[ name ] === "undefined" ) {
elem[ name ] = null;
@@ -3732,7 +3720,8 @@ var cachedruns,
delete cache[ keys.shift() ];
}
- return (cache[ key ] = value);
+ // Retrieve with (key + " ") to avoid collision with native Object.prototype properties (see Issue #157)
+ return (cache[ key + " " ] = value);
}, cache );
},
@@ -4266,13 +4255,13 @@ Expr = Sizzle.selectors = {
},
"CLASS": function( className ) {
- var pattern = classCache[ expando ][ className ];
- if ( !pattern ) {
- pattern = classCache( className, new RegExp("(^|" + whitespace + ")" + className + "(" + whitespace + "|$)") );
- }
- return function( elem ) {
- return pattern.test( elem.className || (typeof elem.getAttribute !== strundefined && elem.getAttribute("class")) || "" );
- };
+ var pattern = classCache[ expando ][ className + " " ];
+
+ return pattern ||
+ (pattern = new RegExp( "(^|" + whitespace + ")" + className + "(" + whitespace + "|$)" )) &&
+ classCache( className, function( elem ) {
+ return pattern.test( elem.className || (typeof elem.getAttribute !== strundefined && elem.getAttribute("class")) || "" );
+ });
},
"ATTR": function( name, operator, check ) {
@@ -4518,7 +4507,7 @@ Expr = Sizzle.selectors = {
"focus": function( elem ) {
var doc = elem.ownerDocument;
- return elem === doc.activeElement && (!doc.hasFocus || doc.hasFocus()) && !!(elem.type || elem.href);
+ return elem === doc.activeElement && (!doc.hasFocus || doc.hasFocus()) && !!(elem.type || elem.href || ~elem.tabIndex);
},
"active": function( elem ) {
@@ -4526,11 +4515,11 @@ Expr = Sizzle.selectors = {
},
// Positional types
- "first": createPositionalPseudo(function( matchIndexes, length, argument ) {
+ "first": createPositionalPseudo(function() {
return [ 0 ];
}),
- "last": createPositionalPseudo(function( matchIndexes, length, argument ) {
+ "last": createPositionalPseudo(function( matchIndexes, length ) {
return [ length - 1 ];
}),
@@ -4538,14 +4527,14 @@ Expr = Sizzle.selectors = {
return [ argument < 0 ? argument + length : argument ];
}),
- "even": createPositionalPseudo(function( matchIndexes, length, argument ) {
+ "even": createPositionalPseudo(function( matchIndexes, length ) {
for ( var i = 0; i < length; i += 2 ) {
matchIndexes.push( i );
}
return matchIndexes;
}),
- "odd": createPositionalPseudo(function( matchIndexes, length, argument ) {
+ "odd": createPositionalPseudo(function( matchIndexes, length ) {
for ( var i = 1; i < length; i += 2 ) {
matchIndexes.push( i );
}
@@ -4666,7 +4655,9 @@ baseHasDuplicate = !hasDuplicate;
// Document sorting and removing duplicates
Sizzle.uniqueSort = function( results ) {
var elem,
- i = 1;
+ duplicates = [],
+ i = 1,
+ j = 0;
hasDuplicate = baseHasDuplicate;
results.sort( sortOrder );
@@ -4674,9 +4665,12 @@ Sizzle.uniqueSort = function( results ) {
if ( hasDuplicate ) {
for ( ; (elem = results[i]); i++ ) {
if ( elem === results[ i - 1 ] ) {
- results.splice( i--, 1 );
+ j = duplicates.push( i );
}
}
+ while ( j-- ) {
+ results.splice( duplicates[ j ], 1 );
+ }
}
return results;
@@ -4687,8 +4681,9 @@ Sizzle.error = function( msg ) {
};
function tokenize( selector, parseOnly ) {
- var matched, match, tokens, type, soFar, groups, preFilters,
- cached = tokenCache[ expando ][ selector ];
+ var matched, match, tokens, type,
+ soFar, groups, preFilters,
+ cached = tokenCache[ expando ][ selector + " " ];
if ( cached ) {
return parseOnly ? 0 : cached.slice( 0 );
@@ -4703,7 +4698,8 @@ function tokenize( selector, parseOnly ) {
// Comma and first run
if ( !matched || (match = rcomma.exec( soFar )) ) {
if ( match ) {
- soFar = soFar.slice( match[0].length );
+ // Don't consume trailing commas as valid
+ soFar = soFar.slice( match[0].length ) || soFar;
}
groups.push( tokens = [] );
}
@@ -4722,8 +4718,7 @@ function tokenize( selector, parseOnly ) {
// Filters
for ( type in Expr.filter ) {
if ( (match = matchExpr[ type ].exec( soFar )) && (!preFilters[ type ] ||
- // The last two arguments here are (context, xml) for backCompat
- (match = preFilters[ type ]( match, document, true ))) ) {
+ (match = preFilters[ type ]( match ))) ) {
tokens.push( matched = new Token( match.shift() ) );
soFar = soFar.slice( matched.length );
@@ -4843,18 +4838,13 @@ function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postS
postFinder = setMatcher( postFinder, postSelector );
}
return markFunction(function( seed, results, context, xml ) {
- // Positional selectors apply to seed elements, so it is invalid to follow them with relative ones
- if ( seed && postFinder ) {
- return;
- }
-
- var i, elem, postFilterIn,
+ var temp, i, elem,
preMap = [],
postMap = [],
preexisting = results.length,
// Get initial elements from seed or context
- elems = seed || multipleContexts( selector || "*", context.nodeType ? [ context ] : context, [], seed ),
+ elems = seed || multipleContexts( selector || "*", context.nodeType ? [ context ] : context, [] ),
// Prefilter to get matcher input, preserving a map for seed-results synchronization
matcherIn = preFilter && ( seed || !selector ) ?
@@ -4879,27 +4869,45 @@ function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postS
// Apply postFilter
if ( postFilter ) {
- postFilterIn = condense( matcherOut, postMap );
- postFilter( postFilterIn, [], context, xml );
+ temp = condense( matcherOut, postMap );
+ postFilter( temp, [], context, xml );
// Un-match failing elements by moving them back to matcherIn
- i = postFilterIn.length;
+ i = temp.length;
while ( i-- ) {
- if ( (elem = postFilterIn[i]) ) {
+ if ( (elem = temp[i]) ) {
matcherOut[ postMap[i] ] = !(matcherIn[ postMap[i] ] = elem);
}
}
}
- // Keep seed and results synchronized
if ( seed ) {
- // Ignore postFinder because it can't coexist with seed
- i = preFilter && matcherOut.length;
- while ( i-- ) {
- if ( (elem = matcherOut[i]) ) {
- seed[ preMap[i] ] = !(results[ preMap[i] ] = elem);
+ if ( postFinder || preFilter ) {
+ if ( postFinder ) {
+ // Get the final matcherOut by condensing this intermediate into postFinder contexts
+ temp = [];
+ i = matcherOut.length;
+ while ( i-- ) {
+ if ( (elem = matcherOut[i]) ) {
+ // Restore matcherIn since elem is not yet a final match
+ temp.push( (matcherIn[i] = elem) );
+ }
+ }
+ postFinder( null, (matcherOut = []), temp, xml );
+ }
+
+ // Move matched elements from seed to results to keep them synchronized
+ i = matcherOut.length;
+ while ( i-- ) {
+ if ( (elem = matcherOut[i]) &&
+ (temp = postFinder ? indexOf.call( seed, elem ) : preMap[i]) > -1 ) {
+
+ seed[temp] = !(results[temp] = elem);
+ }
}
}
+
+ // Add elements to results, through postFinder if defined
} else {
matcherOut = condense(
matcherOut === results ?
@@ -4940,7 +4948,6 @@ function matcherFromTokens( tokens ) {
if ( (matcher = Expr.relative[ tokens[i].type ]) ) {
matchers = [ addCombinator( elementMatcher( matchers ), matcher ) ];
} else {
- // The concatenated values are (context, xml) for backCompat
matcher = Expr.filter[ tokens[i].type ].apply( null, tokens[i].matches );
// Return special upon seeing a positional matcher
@@ -5069,7 +5076,7 @@ compile = Sizzle.compile = function( selector, group /* Internal Use Only */ ) {
var i,
setMatchers = [],
elementMatchers = [],
- cached = compilerCache[ expando ][ selector ];
+ cached = compilerCache[ expando ][ selector + " " ];
if ( !cached ) {
// Generate a function of recursive functions that can be used to check each element
@@ -5092,11 +5099,11 @@ compile = Sizzle.compile = function( selector, group /* Internal Use Only */ ) {
return cached;
};
-function multipleContexts( selector, contexts, results, seed ) {
+function multipleContexts( selector, contexts, results ) {
var i = 0,
len = contexts.length;
for ( ; i < len; i++ ) {
- Sizzle( selector, contexts[i], results, seed );
+ Sizzle( selector, contexts[i], results );
}
return results;
}
@@ -5174,15 +5181,14 @@ if ( document.querySelectorAll ) {
rescape = /'|\\/g,
rattributeQuotes = /\=[\x20\t\r\n\f]*([^'"\]]*)[\x20\t\r\n\f]*\]/g,
- // qSa(:focus) reports false when true (Chrome 21),
+ // qSa(:focus) reports false when true (Chrome 21), no need to also add to buggyMatches since matches checks buggyQSA
// A support test would require too much code (would include document ready)
- rbuggyQSA = [":focus"],
+ rbuggyQSA = [ ":focus" ],
- // matchesSelector(:focus) reports false when true (Chrome 21),
// matchesSelector(:active) reports false when true (IE9/Opera 11.5)
// A support test would require too much code (would include document ready)
// just skip matchesSelector for :active
- rbuggyMatches = [ ":active", ":focus" ],
+ rbuggyMatches = [ ":active" ],
matches = docElem.matchesSelector ||
docElem.mozMatchesSelector ||
docElem.webkitMatchesSelector ||
@@ -5236,7 +5242,7 @@ if ( document.querySelectorAll ) {
// Only use querySelectorAll when not filtering,
// when this is not xml,
// and when no QSA bugs apply
- if ( !seed && !xml && (!rbuggyQSA || !rbuggyQSA.test( selector )) ) {
+ if ( !seed && !xml && !rbuggyQSA.test( selector ) ) {
var groups, i,
old = true,
nid = expando,
@@ -5305,7 +5311,7 @@ if ( document.querySelectorAll ) {
expr = expr.replace( rattributeQuotes, "='$1']" );
// rbuggyMatches always contains :active, so no need for an existence check
- if ( !isXML( elem ) && !rbuggyMatches.test( expr ) && (!rbuggyQSA || !rbuggyQSA.test( expr )) ) {
+ if ( !isXML( elem ) && !rbuggyMatches.test( expr ) && !rbuggyQSA.test( expr ) ) {
try {
var ret = matches.call( elem, expr );
@@ -6540,7 +6546,7 @@ var curCSS, iframe, iframeDoc,
rnumsplit = new RegExp( "^(" + core_pnum + ")(.*)$", "i" ),
rnumnonpx = new RegExp( "^(" + core_pnum + ")(?!px)[a-z%]+$", "i" ),
rrelNum = new RegExp( "^([-+])=(" + core_pnum + ")", "i" ),
- elemdisplay = {},
+ elemdisplay = { BODY: "block" },
cssShow = { position: "absolute", visibility: "hidden", display: "block" },
cssNormalTransform = {
@@ -6821,7 +6827,9 @@ if ( window.getComputedStyle ) {
if ( computed ) {
- ret = computed[ name ];
+ // getPropertyValue is only needed for .css('filter') in IE9, see #12537
+ ret = computed.getPropertyValue( name ) || computed[ name ];
+
if ( ret === "" && !jQuery.contains( elem.ownerDocument, elem ) ) {
ret = jQuery.style( elem, name );
}
@@ -7850,9 +7858,12 @@ jQuery.extend({
// A cross-domain request is in order when we have a protocol:host:port mismatch
if ( s.crossDomain == null ) {
- parts = rurl.exec( s.url.toLowerCase() ) || false;
- s.crossDomain = parts && ( parts.join(":") + ( parts[ 3 ] ? "" : parts[ 1 ] === "http:" ? 80 : 443 ) ) !==
- ( ajaxLocParts.join(":") + ( ajaxLocParts[ 3 ] ? "" : ajaxLocParts[ 1 ] === "http:" ? 80 : 443 ) );
+ parts = rurl.exec( s.url.toLowerCase() );
+ s.crossDomain = !!( parts &&
+ ( parts[ 1 ] !== ajaxLocParts[ 1 ] || parts[ 2 ] !== ajaxLocParts[ 2 ] ||
+ ( parts[ 3 ] || ( parts[ 1 ] === "http:" ? 80 : 443 ) ) !=
+ ( ajaxLocParts[ 3 ] || ( ajaxLocParts[ 1 ] === "http:" ? 80 : 443 ) ) )
+ );
}
// Convert data if not already a string
@@ -8471,7 +8482,7 @@ if ( jQuery.support.ajax ) {
// on any attempt to access responseText (#11426)
try {
responses.text = xhr.responseText;
- } catch( _ ) {
+ } catch( e ) {
}
// Firefox throws an exception when accessing
@@ -8624,7 +8635,9 @@ function Animation( elem, properties, options ) {
tick = function() {
var currentTime = fxNow || createFxNow(),
remaining = Math.max( 0, animation.startTime + animation.duration - currentTime ),
- percent = 1 - ( remaining / animation.duration || 0 ),
+ // archaic crash bug won't allow us to use 1 - ( 0.5 || 0 ) (#12497)
+ temp = remaining / animation.duration || 0,
+ percent = 1 - temp,
index = 0,
length = animation.tweens.length;
@@ -8776,7 +8789,7 @@ jQuery.Animation = jQuery.extend( Animation, {
});
function defaultPrefilter( elem, props, opts ) {
- var index, prop, value, length, dataShow, tween, hooks, oldfire,
+ var index, prop, value, length, dataShow, toggle, tween, hooks, oldfire,
anim = this,
style = elem.style,
orig = {},
@@ -8850,6 +8863,7 @@ function defaultPrefilter( elem, props, opts ) {
value = props[ index ];
if ( rfxtypes.exec( value ) ) {
delete props[ index ];
+ toggle = toggle || value === "toggle";
if ( value === ( hidden ? "hide" : "show" ) ) {
continue;
}
@@ -8860,6 +8874,14 @@ function defaultPrefilter( elem, props, opts ) {
length = handled.length;
if ( length ) {
dataShow = jQuery._data( elem, "fxshow" ) || jQuery._data( elem, "fxshow", {} );
+ if ( "hidden" in dataShow ) {
+ hidden = dataShow.hidden;
+ }
+
+ // store state if its toggle - enables .stop().toggle() to "reverse"
+ if ( toggle ) {
+ dataShow.hidden = !hidden;
+ }
if ( hidden ) {
jQuery( elem ).show();
} else {
@@ -9156,6 +9178,8 @@ jQuery.fx.tick = function() {
timers = jQuery.timers,
i = 0;
+ fxNow = jQuery.now();
+
for ( ; i < timers.length; i++ ) {
timer = timers[ i ];
// Checks the timer has not already been removed
@@ -9167,6 +9191,7 @@ jQuery.fx.tick = function() {
if ( !timers.length ) {
jQuery.fx.stop();
}
+ fxNow = undefined;
};
jQuery.fx.timer = function( timer ) {
From 09a2f24398ce8b933ae052a763196f2ab46bfa14 Mon Sep 17 00:00:00 2001
From: Fabien Meghazi
Date: Mon, 19 Nov 2012 12:11:30 +0100
Subject: [PATCH 67/97] [FIX] push_state() broken after closing a wizard
bzr revid: fme@openerp.com-20121119111130-7xubnqvvhp3q1jds
---
addons/web/static/src/js/views.js | 1 +
1 file changed, 1 insertion(+)
diff --git a/addons/web/static/src/js/views.js b/addons/web/static/src/js/views.js
index 641821152b2..6fbbd3199ad 100644
--- a/addons/web/static/src/js/views.js
+++ b/addons/web/static/src/js/views.js
@@ -26,6 +26,7 @@ instance.web.ActionManager = instance.web.Widget.extend({
if (this.dialog) {
this.dialog.destroy();
}
+ this.dialog = null;
},
/**
* Add a new item to the breadcrumb
From 4d79649b55332edefec1e445d4219e85fd95ab35 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Thibault=20Delavall=C3=A9e?=
Date: Mon, 19 Nov 2012 12:41:25 +0100
Subject: [PATCH 68/97] [REV] Removed fix, to be inserted in a specific branch.
bzr revid: tde@openerp.com-20121119114125-51fhctk8n79ptx65
---
addons/mail/static/src/js/mail.js | 26 +++++++++++++-------------
1 file changed, 13 insertions(+), 13 deletions(-)
diff --git a/addons/mail/static/src/js/mail.js b/addons/mail/static/src/js/mail.js
index 6646b7a289b..72c40ea141b 100644
--- a/addons/mail/static/src/js/mail.js
+++ b/addons/mail/static/src/js/mail.js
@@ -226,21 +226,21 @@ openerp.mail = function (session) {
default_parent_id: false }, options.context || {});
// data of this message
- this.id = datasets.id || false,
+ this.id = datasets.id || false,
this.last_id = this.id,
this.model = datasets.model || this.context.default_model || false,
- this.res_id = datasets.res_id || this.context.default_res_id || false,
- this.parent_id = datasets.parent_id || false,
- this.type = datasets.type || false,
- this.is_author = datasets.is_author || false,
- this.is_private = datasets.is_private || false,
- this.subject = datasets.subject || false,
- this.name = datasets.name || false,
- this.record_name = datasets.record_name || false,
- this.body = datasets.body || '',
+ this.res_id = datasets.res_id || this.context.default_res_id || false,
+ this.parent_id = datasets.parent_id || false,
+ this.type = datasets.type || false,
+ this.is_author = datasets.is_author || false,
+ this.is_private = datasets.is_private || false,
+ this.subject = datasets.subject || false,
+ this.name = datasets.name || false,
+ this.record_name = datasets.record_name || false,
+ this.body = datasets.body || false,
this.vote_nb = datasets.vote_nb || 0,
- this.has_voted = datasets.has_voted || false,
- this.is_favorite = datasets.is_favorite || false,
+ this.has_voted = datasets.has_voted || false,
+ this.is_favorite = datasets.is_favorite || false,
this.thread_level = datasets.thread_level || 0,
this.to_read = datasets.to_read || false,
this.author_id = datasets.author_id || false,
@@ -592,7 +592,7 @@ openerp.mail = function (session) {
this.parent_thread.ds_thread.call('message_post_user_api', [
this.context.default_res_id,
body,
- false,
+ false,
this.context.default_parent_id,
attachments,
this.parent_thread.context
From f35df2fdc8212edbc092c1a4e6044a13226ac1d2 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Thibault=20Delavall=C3=A9e?=
Date: Mon, 19 Nov 2012 14:21:41 +0100
Subject: [PATCH 69/97] [FIX] crm: fixed a call to command_re, now in
tools.mail.
bzr revid: tde@openerp.com-20121119132141-6zikqzuxlxap550f
---
addons/crm/crm_lead.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/addons/crm/crm_lead.py b/addons/crm/crm_lead.py
index 547b25af27c..569d69aa260 100644
--- a/addons/crm/crm_lead.py
+++ b/addons/crm/crm_lead.py
@@ -833,7 +833,7 @@ class crm_lead(base_stage, format_address, osv.osv):
}
for line in msg.get('body', '').split('\n'):
line = line.strip()
- res = tools.misc.command_re.match(line)
+ res = tools.command_re.match(line)
if res and maps.get(res.group(1).lower()):
key = maps.get(res.group(1).lower())
update_vals[key] = res.group(2).lower()
From 62af1f1883ff85fa542e0c7e6937ab12e0de1679 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Thibault=20Delavall=C3=A9e?=
Date: Mon, 19 Nov 2012 14:25:09 +0100
Subject: [PATCH 70/97] [FIX] addons: fixed calls to command_re.
bzr revid: tde@openerp.com-20121119132509-dyes929xalp0pgcj
---
addons/crm_claim/crm_claim.py | 2 +-
addons/crm_helpdesk/crm_helpdesk.py | 2 +-
addons/hr_recruitment/hr_recruitment.py | 2 +-
addons/project/project.py | 2 +-
4 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/addons/crm_claim/crm_claim.py b/addons/crm_claim/crm_claim.py
index 8308e5420d0..70dcc18baf7 100644
--- a/addons/crm_claim/crm_claim.py
+++ b/addons/crm_claim/crm_claim.py
@@ -224,7 +224,7 @@ class crm_claim(base_stage, osv.osv):
}
for line in msg['body'].split('\n'):
line = line.strip()
- res = tools.misc.command_re.match(line)
+ res = tools.command_re.match(line)
if res and maps.get(res.group(1).lower()):
key = maps.get(res.group(1).lower())
update_vals[key] = res.group(2).lower()
diff --git a/addons/crm_helpdesk/crm_helpdesk.py b/addons/crm_helpdesk/crm_helpdesk.py
index 276dd0b4b49..373cf53aed6 100644
--- a/addons/crm_helpdesk/crm_helpdesk.py
+++ b/addons/crm_helpdesk/crm_helpdesk.py
@@ -133,7 +133,7 @@ class crm_helpdesk(base_state, base_stage, osv.osv):
}
for line in msg['body'].split('\n'):
line = line.strip()
- res = tools.misc.command_re.match(line)
+ res = tools.command_re.match(line)
if res and maps.get(res.group(1).lower()):
key = maps.get(res.group(1).lower())
update_vals[key] = res.group(2).lower()
diff --git a/addons/hr_recruitment/hr_recruitment.py b/addons/hr_recruitment/hr_recruitment.py
index 155f20daf4d..4c0f0a2ddaf 100644
--- a/addons/hr_recruitment/hr_recruitment.py
+++ b/addons/hr_recruitment/hr_recruitment.py
@@ -373,7 +373,7 @@ class hr_applicant(base_stage, osv.Model):
}
for line in msg.get('body', '').split('\n'):
line = line.strip()
- res = tools.misc.command_re.match(line)
+ res = tools.command_re.match(line)
if res and maps.get(res.group(1).lower(), False):
key = maps.get(res.group(1).lower())
update_vals[key] = res.group(2).lower()
diff --git a/addons/project/project.py b/addons/project/project.py
index 9c28fadeab9..68122d1a614 100644
--- a/addons/project/project.py
+++ b/addons/project/project.py
@@ -1247,7 +1247,7 @@ class task(base_stage, osv.osv):
}
for line in msg['body'].split('\n'):
line = line.strip()
- res = tools.misc.command_re.match(line)
+ res = tools.command_re.match(line)
if res:
match = res.group(1).lower()
field = maps.get(match)
From 4820730cd6ab008e17c0bf18639f924ac061da53 Mon Sep 17 00:00:00 2001
From: Arnaud Pineux
Date: Mon, 19 Nov 2012 14:56:28 +0100
Subject: [PATCH 71/97] [IMP] demo data & groups
bzr revid: api@openerp.com-20121119135628-krq8rle10si51vkh
---
addons/lunch/lunch_demo.xml | 36 ++++++++++++++++++------
addons/lunch/security/lunch_security.xml | 12 ++++++--
2 files changed, 37 insertions(+), 11 deletions(-)
diff --git a/addons/lunch/lunch_demo.xml b/addons/lunch/lunch_demo.xml
index 9e92291b62d..7488208fd42 100644
--- a/addons/lunch/lunch_demo.xml
+++ b/addons/lunch/lunch_demo.xml
@@ -100,28 +100,28 @@
-
+ new
-
+ confirmed
-
+
- cancelled
+ partially
-
+ new
@@ -131,7 +131,7 @@
-
+ confirmed
@@ -141,7 +141,7 @@
-
+ cancelled
@@ -150,9 +150,18 @@
+
+
+
+
+ confirmed
+
+ +Salad +Tomatoes +Eggs
+
+
-
+ Pizza Italiana-7.40
@@ -161,7 +170,16 @@
-
+
+
+ Chicken curry
+ -2.60
+
+ order
+
+
+
+ Payment: 5 lunch tickets (6€)30
diff --git a/addons/lunch/security/lunch_security.xml b/addons/lunch/security/lunch_security.xml
index 75ab0836b12..af1f0317b4e 100644
--- a/addons/lunch/security/lunch_security.xml
+++ b/addons/lunch/security/lunch_security.xml
@@ -1,11 +1,19 @@
+
+ Lunch
+ Helps you handle your lunch needs, if you are a manager you will be able to create new products, cashmoves and to confirm or cancel orders.
+ 16
+
- Lunch / Manager
+ Manager
+
+
- Lunch / User
+ User
+
From 848679322a57e6a49c6082d0bbafb1211bbafdca Mon Sep 17 00:00:00 2001
From: Arnaud Pineux
Date: Mon, 19 Nov 2012 15:08:01 +0100
Subject: [PATCH 72/97] [IMP] demo data & groups -> refactor
bzr revid: api@openerp.com-20121119140801-yxj936dhu1eapicl
---
addons/lunch/security/lunch_security.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/addons/lunch/security/lunch_security.xml b/addons/lunch/security/lunch_security.xml
index af1f0317b4e..e06b32311cc 100644
--- a/addons/lunch/security/lunch_security.xml
+++ b/addons/lunch/security/lunch_security.xml
@@ -8,7 +8,7 @@
Manager
-
+
From 3bc9d36b774abd706add6515e6e04d93b0e5eda0 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Thibault=20Delavall=C3=A9e?=
Date: Mon, 19 Nov 2012 15:17:40 +0100
Subject: [PATCH 73/97] [FIX] message_route: when replying to a message, use
its model and res_id, never lost.
bzr revid: tde@openerp.com-20121119141740-tjlp1uy4mq4lrg48
---
addons/mail/mail_thread.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/addons/mail/mail_thread.py b/addons/mail/mail_thread.py
index ee1a015396b..a809f7e8e2e 100644
--- a/addons/mail/mail_thread.py
+++ b/addons/mail/mail_thread.py
@@ -341,7 +341,7 @@ class mail_thread(osv.AbstractModel):
message = self.pool.get('mail.message').browse(cr, uid, message_ids[0], context=context)
_logger.debug('Routing mail with Message-Id %s: direct reply to a private message: %s, custom_values: %s, uid: %s',
message_id, message.id, custom_values, uid)
- return [(False, 0, custom_values, uid)]
+ return [(message.model, message.res_id, custom_values, uid)]
# 2. Look for a matching mail.alias entry
# Delivered-To is a safe bet in most modern MTAs, but we have to fallback on To + Cc values
From 5c6976e2a3a95c898eb0d05e86693efe5f7f962c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Thibault=20Delavall=C3=A9e?=
Date: Mon, 19 Nov 2012 15:20:59 +0100
Subject: [PATCH 74/97] [FIX] hr_recruitment: fixed message_update, cleaned a
bit the code.
bzr revid: tde@openerp.com-20121119142059-l4cnkyhlrg2vt1b9
---
addons/hr_recruitment/hr_recruitment.py | 21 +++++++++++++--------
1 file changed, 13 insertions(+), 8 deletions(-)
diff --git a/addons/hr_recruitment/hr_recruitment.py b/addons/hr_recruitment/hr_recruitment.py
index 4c0f0a2ddaf..88a750bbabf 100644
--- a/addons/hr_recruitment/hr_recruitment.py
+++ b/addons/hr_recruitment/hr_recruitment.py
@@ -356,7 +356,8 @@ class hr_applicant(base_stage, osv.Model):
"""
if isinstance(ids, (str, int, long)):
ids = [ids]
- if update_vals is None: vals = {}
+ if update_vals is None:
+ update_vals = {}
update_vals.update({
'description': msg.get('body'),
@@ -378,7 +379,7 @@ class hr_applicant(base_stage, osv.Model):
key = maps.get(res.group(1).lower())
update_vals[key] = res.group(2).lower()
- return super(hr_applicant, self).message_update(cr, uids, ids, update_vals=update_vals, context=context)
+ return super(hr_applicant, self).message_update(cr, uid, ids, msg, update_vals=update_vals, context=context)
def create(self, cr, uid, vals, context=None):
obj_id = super(hr_applicant, self).create(cr, uid, vals, context=context)
@@ -420,7 +421,7 @@ class hr_applicant(base_stage, osv.Model):
self.write(cr, uid, [applicant.id], {'emp_id': emp_id}, context=context)
self.case_close(cr, uid, [applicant.id], context)
else:
- raise osv.except_osv(_('Warning!'),_('You must define Applied Job for this applicant.'))
+ raise osv.except_osv(_('Warning!'), _('You must define Applied Job for this applicant.'))
action_model, action_id = model_data.get_object_reference(cr, uid, 'hr', 'open_view_employee_list')
dict_act_window = act_window.read(cr, uid, action_id, [])
@@ -433,13 +434,13 @@ class hr_applicant(base_stage, osv.Model):
"""Overrides cancel for crm_case for setting probability
"""
res = super(hr_applicant, self).case_cancel(cr, uid, ids, context)
- self.write(cr, uid, ids, {'probability' : 0.0})
+ self.write(cr, uid, ids, {'probability': 0.0})
return res
def case_pending(self, cr, uid, ids, context=None):
"""Marks case as pending"""
res = super(hr_applicant, self).case_pending(cr, uid, ids, context)
- self.write(cr, uid, ids, {'probability' : 0.0})
+ self.write(cr, uid, ids, {'probability': 0.0})
return res
def case_reset(self, cr, uid, ids, context=None):
@@ -452,7 +453,7 @@ class hr_applicant(base_stage, osv.Model):
def set_priority(self, cr, uid, ids, priority, *args):
"""Set applicant priority
"""
- return self.write(cr, uid, ids, {'priority' : priority})
+ return self.write(cr, uid, ids, {'priority': priority})
def set_high_priority(self, cr, uid, ids, *args):
"""Set applicant priority to high
@@ -475,7 +476,7 @@ class hr_applicant(base_stage, osv.Model):
return self.message_post(cr, uid, ids, body=_("Stage changed to %s.") % (stage_name), context=context)
def case_get_note_msg_prefix(self, cr, uid, id, context=None):
- return 'Applicant'
+ return 'Applicant'
def case_open_send_note(self, cr, uid, ids, context=None):
message = _("Applicant has been set in progress.")
@@ -507,7 +508,11 @@ class hr_applicant(base_stage, osv.Model):
message = _("Applicant has been created.")
for applicant in self.browse(cr, uid, ids, context=context):
if applicant.job_id:
- self.pool.get('hr.job').message_post(cr, uid, [applicant.job_id.id], body=message, subtype="hr_recruitment.mt_applicant_new", context=context)
+ if applicant.partner_name:
+ job_message = _('Applicant %s created.') % applicant.partner_name
+ else:
+ job_message = message
+ self.pool.get('hr.job').message_post(cr, uid, [applicant.job_id.id], body=job_message, subtype="hr_recruitment.mt_applicant_new", context=context)
return self.message_post(cr, uid, ids, body=message, context=context)
class hr_job(osv.osv):
From a3a26dc75587ab1495d6dbb06d71d42b5884ef80 Mon Sep 17 00:00:00 2001
From: Arnaud Pineux
Date: Mon, 19 Nov 2012 15:21:46 +0100
Subject: [PATCH 75/97] [IMP] demo data & groups -> refactor
bzr revid: api@openerp.com-20121119142146-33aix5tk6bldizu9
---
addons/lunch/security/lunch_security.xml | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/addons/lunch/security/lunch_security.xml b/addons/lunch/security/lunch_security.xml
index e06b32311cc..654f844c876 100644
--- a/addons/lunch/security/lunch_security.xml
+++ b/addons/lunch/security/lunch_security.xml
@@ -6,14 +6,14 @@
Helps you handle your lunch needs, if you are a manager you will be able to create new products, cashmoves and to confirm or cancel orders.16
-
- Manager
-
-
- User
+
+ Manager
+
+
+
From 9180d9702b11fe0fd6d228037826ccbaa9a31fc5 Mon Sep 17 00:00:00 2001
From: Fabien Meghazi
Date: Mon, 19 Nov 2012 15:37:19 +0100
Subject: [PATCH 76/97] [FIX] Don't leave button@type=submit in IE
bzr revid: fme@openerp.com-20121119143719-1uu4s71jyudfi5u3
---
addons/web/static/src/js/view_form.js | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/addons/web/static/src/js/view_form.js b/addons/web/static/src/js/view_form.js
index dad622fb7f9..c784b169d12 100644
--- a/addons/web/static/src/js/view_form.js
+++ b/addons/web/static/src/js/view_form.js
@@ -1215,7 +1215,7 @@ instance.web.form.FormRenderingEngine = instance.web.form.FormRenderingEngineInt
var doc = $.parseXML('
' + xml + '
');
$('button', doc).each(function() {
- $(this).attr('data-button-type', $(this).attr('type'));
+ $(this).attr('data-button-type', $(this).attr('type')).attr('type', 'button');
});
xml = instance.web.xml_to_str(doc);
return $(xml);
From ad11004a328f045a84284be133eee680f63cc2f2 Mon Sep 17 00:00:00 2001
From: Xavier Morel
Date: Mon, 19 Nov 2012 15:39:12 +0100
Subject: [PATCH 77/97] [ADD] refs to server doc, intersphinx doesn't allow
linking documents across docs
bzr revid: xmo@openerp.com-20121119143912-z3152u20zxjizzto
---
doc/03_module_dev.rst | 2 ++
doc/03_module_dev_01.rst | 2 ++
doc/03_module_dev_02.rst | 2 ++
doc/03_module_dev_03.rst | 2 ++
doc/03_module_dev_04.rst | 2 ++
doc/03_module_dev_05.rst | 1 +
doc/03_module_dev_06.rst | 1 +
doc/04_security.rst | 2 ++
8 files changed, 14 insertions(+)
diff --git a/doc/03_module_dev.rst b/doc/03_module_dev.rst
index 033ba4b9267..72f035be4d0 100644
--- a/doc/03_module_dev.rst
+++ b/doc/03_module_dev.rst
@@ -1,3 +1,5 @@
+.. _module-dev:
+
=======
Modules
=======
diff --git a/doc/03_module_dev_01.rst b/doc/03_module_dev_01.rst
index 4750a947da3..0fbca9d14b4 100644
--- a/doc/03_module_dev_01.rst
+++ b/doc/03_module_dev_01.rst
@@ -1,3 +1,5 @@
+.. _module-dev-structure:
+
Module structure
================
diff --git a/doc/03_module_dev_02.rst b/doc/03_module_dev_02.rst
index c7075a8f7ae..9c00df6223e 100644
--- a/doc/03_module_dev_02.rst
+++ b/doc/03_module_dev_02.rst
@@ -1,3 +1,5 @@
+.. _module-dev-api:
+
Objects, Fields and Methods
===========================
diff --git a/doc/03_module_dev_03.rst b/doc/03_module_dev_03.rst
index d2a1875b70c..40921eebcb5 100644
--- a/doc/03_module_dev_03.rst
+++ b/doc/03_module_dev_03.rst
@@ -1,3 +1,5 @@
+.. _module-dev-views:
+
Views and Events
================
diff --git a/doc/03_module_dev_04.rst b/doc/03_module_dev_04.rst
index 90442de84ba..497830ca0e2 100644
--- a/doc/03_module_dev_04.rst
+++ b/doc/03_module_dev_04.rst
@@ -1,3 +1,5 @@
+.. _module-dev-actions:
+
=================
Menus and Actions
=================
diff --git a/doc/03_module_dev_05.rst b/doc/03_module_dev_05.rst
index 686fb6fe099..3bddecf9140 100644
--- a/doc/03_module_dev_05.rst
+++ b/doc/03_module_dev_05.rst
@@ -1,3 +1,4 @@
+.. _module-dev-example:
==========================
Example of module creation
diff --git a/doc/03_module_dev_06.rst b/doc/03_module_dev_06.rst
index ebb97ea9010..f6771bbabed 100644
--- a/doc/03_module_dev_06.rst
+++ b/doc/03_module_dev_06.rst
@@ -1,3 +1,4 @@
+.. _module-dev-versioning:
.. _module_versioning:
=================
diff --git a/doc/04_security.rst b/doc/04_security.rst
index b1f9f565384..99d7fd3d17f 100644
--- a/doc/04_security.rst
+++ b/doc/04_security.rst
@@ -1,3 +1,5 @@
+.. _security:
+
==================================
Security in OpenERP: users, groups
==================================
From 475e74734af78291b3912e265d86a7c03add32b9 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Thibault=20Delavall=C3=A9e?=
Date: Mon, 19 Nov 2012 15:42:36 +0100
Subject: [PATCH 78/97] [REV] hr_recruitment: reverted improvement of message,
not the purpose of this branch.
bzr revid: tde@openerp.com-20121119144236-he70h0bptnd2pbdo
---
addons/hr_recruitment/hr_recruitment.py | 6 +-----
1 file changed, 1 insertion(+), 5 deletions(-)
diff --git a/addons/hr_recruitment/hr_recruitment.py b/addons/hr_recruitment/hr_recruitment.py
index 88a750bbabf..de1539da55a 100644
--- a/addons/hr_recruitment/hr_recruitment.py
+++ b/addons/hr_recruitment/hr_recruitment.py
@@ -508,11 +508,7 @@ class hr_applicant(base_stage, osv.Model):
message = _("Applicant has been created.")
for applicant in self.browse(cr, uid, ids, context=context):
if applicant.job_id:
- if applicant.partner_name:
- job_message = _('Applicant %s created.') % applicant.partner_name
- else:
- job_message = message
- self.pool.get('hr.job').message_post(cr, uid, [applicant.job_id.id], body=job_message, subtype="hr_recruitment.mt_applicant_new", context=context)
+ self.pool.get('hr.job').message_post(cr, uid, [applicant.job_id.id], body=message, subtype="hr_recruitment.mt_applicant_new", context=context)
return self.message_post(cr, uid, ids, body=message, context=context)
class hr_job(osv.osv):
From 1a8acb73b39494b726f04fc559e45f27d851d5b6 Mon Sep 17 00:00:00 2001
From: Olivier Dony
Date: Mon, 19 Nov 2012 18:00:42 +0100
Subject: [PATCH 79/97] [IMP] monodb bootstrap: support @db query string param
to force monodb mode
Allows a.o. to let auth_signup URLs works even if multiple DBs
exist
bzr revid: odo@openerp.com-20121119170042-iprc0u159qpf8ll2
---
addons/web/controllers/main.py | 45 +++++++++++++++---------------
addons/web/static/src/js/chrome.js | 18 ++++++++----
2 files changed, 35 insertions(+), 28 deletions(-)
diff --git a/addons/web/controllers/main.py b/addons/web/controllers/main.py
index fb7b45a4056..8b043dc2cb0 100644
--- a/addons/web/controllers/main.py
+++ b/addons/web/controllers/main.py
@@ -82,7 +82,6 @@ def rjsmin(script):
return result
def db_list(req):
- dbs = []
proxy = req.session.proxy("db")
dbs = proxy.list()
h = req.httprequest.environ['HTTP_HOST'].split(':')[0]
@@ -92,7 +91,7 @@ def db_list(req):
return dbs
def db_monodb(req):
- # if only one db is listed returns it else return False
+ # if only one db exists, return it else return False
try:
dbs = db_list(req)
if len(dbs) == 1:
@@ -189,14 +188,14 @@ def module_installed_bypass_session(dbname):
sorted_modules = module_topological_sort(modules)
return sorted_modules
-def module_boot(req):
+def module_boot(req, db=None):
server_wide_modules = openerp.conf.server_wide_modules or ['web']
serverside = []
dbside = []
for i in server_wide_modules:
if i in openerpweb.addons_manifest:
serverside.append(i)
- monodb = db_monodb(req)
+ monodb = db or db_monodb(req)
if monodb:
dbside = module_installed_bypass_session(monodb)
dbside = [i for i in dbside if i not in serverside]
@@ -273,9 +272,9 @@ def fs2web(path):
"""convert FS path into web path"""
return '/'.join(path.split(os.path.sep))
-def manifest_glob(req, addons, key):
+def manifest_glob(req, extension, addons=None, db=None):
if addons is None:
- addons = module_boot(req)
+ addons = module_boot(req, db=db)
else:
addons = addons.split(',')
r = []
@@ -285,19 +284,21 @@ def manifest_glob(req, addons, key):
continue
# ensure does not ends with /
addons_path = os.path.join(manifest['addons_path'], '')[:-1]
- globlist = manifest.get(key, [])
+ globlist = manifest.get(extension, [])
for pattern in globlist:
for path in glob.glob(os.path.normpath(os.path.join(addons_path, addon, pattern))):
r.append((path, fs2web(path[len(addons_path):])))
return r
-def manifest_list(req, mods, extension):
+def manifest_list(req, extension, mods=None, db=None):
if not req.debug:
path = '/web/webclient/' + extension
if mods is not None:
path += '?mods=' + mods
+ elif db:
+ path += '?db=' + db
return [path]
- files = manifest_glob(req, mods, extension)
+ files = manifest_glob(req, extension, addons=mods, db=db)
i_am_diabetic = req.httprequest.environ["QUERY_STRING"].count("no_sugar") >= 1 or \
req.httprequest.environ.get('HTTP_REFERER', '').count("no_sugar") >= 1
if i_am_diabetic:
@@ -598,14 +599,14 @@ class Home(openerpweb.Controller):
_cp_path = '/'
@openerpweb.httprequest
- def index(self, req, s_action=None, **kw):
- js = "\n ".join('' % i for i in manifest_list(req, None, 'js'))
- css = "\n ".join('' % i for i in manifest_list(req, None, 'css'))
+ def index(self, req, s_action=None, db=None, **kw):
+ js = "\n ".join('' % i for i in manifest_list(req, 'js', db=db))
+ css = "\n ".join('' % i for i in manifest_list(req, 'css', db=db))
r = html_template % {
'js': js,
'css': css,
- 'modules': simplejson.dumps(module_boot(req)),
+ 'modules': simplejson.dumps(module_boot(req, db=db)),
'init': 'var wc = new s.web.WebClient();wc.appendTo($(document.body));'
}
return r
@@ -619,19 +620,19 @@ class WebClient(openerpweb.Controller):
@openerpweb.jsonrequest
def csslist(self, req, mods=None):
- return manifest_list(req, mods, 'css')
+ return manifest_list(req, 'css', mods=mods)
@openerpweb.jsonrequest
def jslist(self, req, mods=None):
- return manifest_list(req, mods, 'js')
+ return manifest_list(req, 'js', mods=mods)
@openerpweb.jsonrequest
def qweblist(self, req, mods=None):
- return manifest_list(req, mods, 'qweb')
+ return manifest_list(req, 'qweb', mods=mods)
@openerpweb.httprequest
- def css(self, req, mods=None):
- files = list(manifest_glob(req, mods, 'css'))
+ def css(self, req, mods=None, db=None):
+ files = list(manifest_glob(req, 'css', addons=mods, db=db))
last_modified = get_last_modified(f[0] for f in files)
if req.httprequest.if_modified_since and req.httprequest.if_modified_since >= last_modified:
return werkzeug.wrappers.Response(status=304)
@@ -669,8 +670,8 @@ class WebClient(openerpweb.Controller):
last_modified, checksum)
@openerpweb.httprequest
- def js(self, req, mods=None):
- files = [f[0] for f in manifest_glob(req, mods, 'js')]
+ def js(self, req, mods=None, db=None):
+ files = [f[0] for f in manifest_glob(req, 'js', addons=mods, db=db)]
last_modified = get_last_modified(files)
if req.httprequest.if_modified_since and req.httprequest.if_modified_since >= last_modified:
return werkzeug.wrappers.Response(status=304)
@@ -682,8 +683,8 @@ class WebClient(openerpweb.Controller):
last_modified, checksum)
@openerpweb.httprequest
- def qweb(self, req, mods=None):
- files = [f[0] for f in manifest_glob(req, mods, 'qweb')]
+ def qweb(self, req, mods=None, db=None):
+ files = [f[0] for f in manifest_glob(req, 'qweb', addons=mods, db=db)]
last_modified = get_last_modified(files)
if req.httprequest.if_modified_since and req.httprequest.if_modified_since >= last_modified:
return werkzeug.wrappers.Response(status=304)
diff --git a/addons/web/static/src/js/chrome.js b/addons/web/static/src/js/chrome.js
index 07b0bf39f21..2cca57f0b56 100644
--- a/addons/web/static/src/js/chrome.js
+++ b/addons/web/static/src/js/chrome.js
@@ -565,13 +565,19 @@ instance.web.Login = instance.web.Widget.extend({
self.$el.find('.oe_login_manage_db').click(function() {
self.do_action("database_manager");
});
- var d;
- if (self.params.db) {
- if (self.params.login && self.params.password) {
- d = self.do_login(self.params.db, self.params.login, self.params.password);
- }
+ var d = $.when();
+ if ($.deparam.querystring().db) {
+ self.params.db = $.deparam.querystring().db;
+ }
+ // used by dbmanager.do_create via internal client action
+ if (self.params.db && self.params.login && self.params.password) {
+ d = self.do_login(self.params.db, self.params.login, self.params.password);
} else {
- d = self.rpc("/web/database/get_list", {}).done(self.on_db_loaded).fail(self.on_db_failed);
+ if (self.params.db) {
+ self.on_db_loaded([self.params.db])
+ } else {
+ d = self.rpc("/web/database/get_list", {}).done(self.on_db_loaded).fail(self.on_db_failed);
+ }
}
return d;
},
From a792b030644e6a40162ce2e065ace56409e95e6b Mon Sep 17 00:00:00 2001
From: Launchpad Translations on behalf of openerp <>
Date: Tue, 20 Nov 2012 04:51:20 +0000
Subject: [PATCH 80/97] Launchpad automatic translations update.
bzr revid: launchpad_translations_on_behalf_of_openerp-20121120045120-19bxfsgj0kx6nbld
---
openerp/addons/base/i18n/fa.po | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/openerp/addons/base/i18n/fa.po b/openerp/addons/base/i18n/fa.po
index 38baf159866..e46f8e266da 100644
--- a/openerp/addons/base/i18n/fa.po
+++ b/openerp/addons/base/i18n/fa.po
@@ -9,8 +9,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2012-11-19 04:37+0000\n"
-"X-Generator: Launchpad (build 16278)\n"
+"X-Launchpad-Export-Date: 2012-11-20 04:51+0000\n"
+"X-Generator: Launchpad (build 16286)\n"
"X-Poedit-Country: IRAN, ISLAMIC REPUBLIC OF\n"
"X-Poedit-Language: Persian\n"
From 3001a4dd498c0614afb6ba6c790d46d89347ad6b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Thibault=20Delavall=C3=A9e?=
Date: Tue, 20 Nov 2012 10:06:02 +0100
Subject: [PATCH 81/97] [REV] Chatter: reverted hack about reloading menus.
bzr revid: tde@openerp.com-20121120090602-un5239e4yl3xcob6
---
addons/mail/static/src/js/mail.js | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/addons/mail/static/src/js/mail.js b/addons/mail/static/src/js/mail.js
index 72c40ea141b..040b83e8f33 100644
--- a/addons/mail/static/src/js/mail.js
+++ b/addons/mail/static/src/js/mail.js
@@ -1636,7 +1636,7 @@ openerp.mail = function (session) {
// }
// });
// var r = menu.data;
- window.setTimeout(function(){menu.do_reload();}, 0);
+ // window.setTimeout(function(){menu.do_reload();}, 0);
// });
},
From 8520f4531518a757b590b051dc574849609143a4 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Thibault=20Delavall=C3=A9e?=
Date: Tue, 20 Nov 2012 10:18:31 +0100
Subject: [PATCH 82/97] [MOV] admin and demo avatars: moved from mail to
server.
bzr revid: tde@openerp.com-20121120091831-ja4zv52q1l8burs7
---
openerp/addons/base/base_demo.xml | 150 ++++++++++++++++++++++++++++++
1 file changed, 150 insertions(+)
diff --git a/openerp/addons/base/base_demo.xml b/openerp/addons/base/base_demo.xml
index 89176d1811b..71a5641a540 100644
--- a/openerp/addons/base/base_demo.xml
+++ b/openerp/addons/base/base_demo.xml
@@ -15,10 +15,159 @@
Mr Demo
+ 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
+gk//2Q==admin@example.com
+ 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
+kALR5oiAU7jnCuj0RFIHQbIiKAf/2Q==
@@ -27,5 +176,6 @@ Mr Demo
+
From d6639ba1e63cc187031e35c8436632a57e264209 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Thibault=20Delavall=C3=A9e?=
Date: Tue, 20 Nov 2012 10:18:54 +0100
Subject: [PATCH 83/97] [MOV] admin and demo avatar: moved from mail to server.
bzr revid: tde@openerp.com-20121120091854-ksun8xc0ya79olil
---
addons/mail/data/mail_demo.xml | 154 ---------------------------------
1 file changed, 154 deletions(-)
diff --git a/addons/mail/data/mail_demo.xml b/addons/mail/data/mail_demo.xml
index b34c6ef7ea5..71f2b75a9bb 100644
--- a/addons/mail/data/mail_demo.xml
+++ b/addons/mail/data/mail_demo.xml
@@ -351,159 +351,5 @@
-
-
- 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
-gk//2Q==
-
-
- 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
-kALR5oiAU7jnCuj0RFIHQbIiKAf/2Q==
-
From ceae7544cac93308745dacc0c302ccac767ba865 Mon Sep 17 00:00:00 2001
From: Fabien Meghazi
Date: Tue, 20 Nov 2012 10:50:42 +0100
Subject: [PATCH 84/97] [FIX] Fixed Export dialog buttons. Cleanup
openerp.web.Dialog
bzr revid: fme@openerp.com-20121120095042-6f4tyiap3t6cxk9e
---
addons/web/static/src/js/chrome.js | 83 +++++++++++++------------
addons/web/static/src/js/data_export.js | 1 -
2 files changed, 43 insertions(+), 41 deletions(-)
diff --git a/addons/web/static/src/js/chrome.js b/addons/web/static/src/js/chrome.js
index 2cca57f0b56..798a84b53da 100644
--- a/addons/web/static/src/js/chrome.js
+++ b/addons/web/static/src/js/chrome.js
@@ -66,50 +66,48 @@ instance.web.Dialog = instance.web.Widget.extend({
max_width: '95%',
height: 'auto',
min_height: 0,
- max_height: this.get_height('100%') - 200,
+ max_height: $(window.top).height() - 200,
autoOpen: false,
position: [false, 40],
- buttons: {},
+ buttons: null,
beforeClose: function () {
self.trigger("closing");
},
- resizeStop: this.on_resized
+ resizeStop: function() {
+ self.trigger("resized");
+ },
};
- for (var f in this) {
- if (f.substr(0, 10) == 'on_button_') {
- this.dialog_options.buttons[f.substr(10)] = this[f];
- }
- }
if (options) {
_.extend(this.dialog_options, options);
}
this.on("closing", this, this._closing);
},
- get_options: function(options) {
- var self = this,
- o = _.extend({}, this.dialog_options, options || {});
- _.each(['width', 'height'], function(unit) {
- o[unit] = self['get_' + unit](o[unit]);
- o['min_' + unit] = self['get_' + unit](o['min_' + unit] || 0);
- o['max_' + unit] = self['get_' + unit](o['max_' + unit] || 0);
- if (o[unit] !== 'auto' && o['min_' + unit] && o[unit] < o['min_' + unit]) o[unit] = o['min_' + unit];
- if (o[unit] !== 'auto' && o['max_' + unit] && o[unit] > o['max_' + unit]) o[unit] = o['max_' + unit];
+ _get_options: function(options) {
+ var self = this;
+ var o = _.extend({}, this.dialog_options, options || {});
+ var sizes = {
+ width: $(window.top).width(),
+ height: $(window.top).height(),
+ };
+ _.each(sizes, function(available_size, unit) {
+ o[unit] = self._get_size(o[unit]);
+ o['min_' + unit] = self._get_size(o['min_' + unit] || 0, available_size);
+ o['max_' + unit] = self._get_size(o['max_' + unit] || 0, available_size);
+ if (o[unit] !== 'auto' && o['min_' + unit] && o[unit] < o['min_' + unit]) {
+ o[unit] = o['min_' + unit];
+ }
+ if (o[unit] !== 'auto' && o['max_' + unit] && o[unit] > o['max_' + unit]) {
+ o[unit] = o['max_' + unit];
+ }
});
- if (!o.title && this.dialog_title) {
- o.title = this.dialog_title;
- }
+ o.title = o.title || this.dialog_title;
return o;
},
- get_width: function(val) {
- return this.get_size(val.toString(), $(window.top).width());
- },
- get_height: function(val) {
- return this.get_size(val.toString(), $(window.top).height());
- },
- get_size: function(val, available_size) {
+ _get_size: function(val, available_size) {
+ val = val.toString();
if (val === 'auto') {
return val;
- } else if (val.slice(-1) == "%") {
+ } else if (val.slice(-1) === "%") {
return Math.round(available_size / 100 * parseInt(val.slice(0, -1), 10));
} else {
return parseInt(val, 10);
@@ -123,11 +121,14 @@ instance.web.Dialog = instance.web.Widget.extend({
}
},
open: function(options) {
- if (! this.dialog_inited)
- this.init_dialog();
- var o = this.get_options(options);
- this.add_buttons(o.buttons);
- delete(o.buttons);
+ var o = this._get_options(options);
+ if (!this.dialog_inited) {
+ this.init_dialog(o);
+ }
+ if (o.buttons) {
+ this._add_buttons(o.buttons);
+ delete(o.buttons);
+ }
this.$buttons.appendTo($("body"));
instance.web.dialog(this.$el, o).dialog('open');
this.$el.dialog("widget").find(".ui-dialog-buttonpane").remove();
@@ -137,10 +138,15 @@ instance.web.Dialog = instance.web.Widget.extend({
}
return this;
},
- add_buttons: function(buttons) {
+ _add_buttons: function(buttons) {
var self = this;
- _.each(buttons, function(fn, but) {
- var $but = $(QWeb.render('WidgetButton', { widget : { string: but, node: { attrs: {} }}}));
+ _.each(buttons, function(fn, text) {
+ // buttons can be object or array
+ if (!_.isFunction(fn)) {
+ text = fn.text;
+ fn = fn.click;
+ }
+ var $but = $(QWeb.render('WidgetButton', { widget : { string: text, node: { attrs: {} }}}));
self.$buttons.append($but);
$but.on('click', function(ev) {
fn.call(self.$el, ev);
@@ -149,8 +155,7 @@ instance.web.Dialog = instance.web.Widget.extend({
},
init_dialog: function(options) {
this.renderElement();
- var o = this.get_options(options);
- instance.web.dialog(this.$el, o);
+ instance.web.dialog(this.$el, options);
this.$buttons = $('');
this.$el.dialog("widget").append(this.$buttons);
this.dialog_inited = true;
@@ -171,8 +176,6 @@ instance.web.Dialog = instance.web.Widget.extend({
this.__tmp_dialog_closing = undefined;
}
},
- on_resized: function() {
- },
destroy: function () {
_.each(this.getChildren(), function(el) {
el.destroy();
diff --git a/addons/web/static/src/js/data_export.js b/addons/web/static/src/js/data_export.js
index 477d89c99b3..e38d21d1cd2 100644
--- a/addons/web/static/src/js/data_export.js
+++ b/addons/web/static/src/js/data_export.js
@@ -22,7 +22,6 @@ instance.web.DataExport = instance.web.Dialog.extend({
start: function() {
var self = this;
this._super.apply(this, arguments);
- this.open();
self.$el.removeClass('ui-dialog-content ui-widget-content');
self.$el.find('#add_field').click(function() {
if ($('#field-tree-structure tr.ui-selected')) {
From 0e3d3328ccac69ce246b995146fb676c1d6146d3 Mon Sep 17 00:00:00 2001
From: Cedric Snauwaert
Date: Tue, 20 Nov 2012 11:02:52 +0100
Subject: [PATCH 85/97] [FIX]fix constraint to an SQL constraint
bzr revid: csn@openerp.com-20121120100252-ieznyh43zanv2w7q
---
addons/membership/membership.py | 10 ++--------
1 file changed, 2 insertions(+), 8 deletions(-)
diff --git a/addons/membership/membership.py b/addons/membership/membership.py
index 8851747d77f..a61afa407c8 100644
--- a/addons/membership/membership.py
+++ b/addons/membership/membership.py
@@ -470,14 +470,8 @@ class Product(osv.osv):
'membership_date_from': fields.date('Date from', help='Date from which membership becomes active.'),
'membership_date_to': fields.date('Date to', help='Date until which membership remains active.'),
}
- def _check_end_date(self, cr, uid, ids, context=None):
- for membership in self.browse(cr, uid, ids, context=context):
- if membership.membership_date_to < membership.membership_date_from:
- return False
- return True
- _constraints = [
- (_check_end_date, 'Error ! Ending Date cannot be set before Beginning Date.', ['membership_date_to']),
- ]
+
+ _sql_constraints = [('date_greater','check(membership_date_to >= membership_date_from)','Error ! Ending Date cannot be set before Beginning Date.')]
_defaults = {
'membership': False,
}
From 999c0b2cabb08496ffd60a56791151c76e4203fd Mon Sep 17 00:00:00 2001
From: niv-openerp
Date: Tue, 20 Nov 2012 11:06:20 +0100
Subject: [PATCH 86/97] [FIX] Modified behavior when we click on an action in
the 'More' menu.
Since revision 1517, when using the sidebar from a form view, it merged all the fields of the form view in the context of the action.
It was modified to avoid that context pollution, now it only uses those fields to evaluate the context of that action. So it allows
specifying contexts like "{'invoice_id': invoice_id}", but invoice_id will not be propagated any more to the new action context if not
explicitely specified.
bzr revid: nicolas.vanhoren@openerp.com-20121120100620-ig4e02uctysk7oj8
---
addons/web/static/src/js/view_form.js | 4 ++--
addons/web/static/src/js/views.js | 14 +++++++-------
2 files changed, 9 insertions(+), 9 deletions(-)
diff --git a/addons/web/static/src/js/view_form.js b/addons/web/static/src/js/view_form.js
index c784b169d12..81987dc9e15 100644
--- a/addons/web/static/src/js/view_form.js
+++ b/addons/web/static/src/js/view_form.js
@@ -1009,8 +1009,8 @@ instance.web.FormView = instance.web.View.extend(instance.web.form.FieldManagerM
}
return true;
},
- sidebar_context: function () {
- return this.save().then(_.bind(function() {return this.get_fields_values();}, this));
+ sidebar_eval_context: function () {
+ return $.when(this.build_eval_context());
},
open_defaults_dialog: function () {
var self = this;
diff --git a/addons/web/static/src/js/views.js b/addons/web/static/src/js/views.js
index 6fbbd3199ad..0478ba6abb0 100644
--- a/addons/web/static/src/js/views.js
+++ b/addons/web/static/src/js/views.js
@@ -1061,23 +1061,23 @@ instance.web.Sidebar = instance.web.Widget.extend({
},
on_item_action_clicked: function(item) {
var self = this;
- self.getParent().sidebar_context().done(function (context) {
+ self.getParent().sidebar_eval_context().done(function (sidebar_eval_context) {
var ids = self.getParent().get_selected_ids();
if (ids.length == 0) {
instance.web.dialog($("").text(_t("You must choose at least one record.")), { title: _t("Warning"), modal: true });
return false;
}
- var additional_context = _.extend({
+ var active_ids_context = {
active_id: ids[0],
active_ids: ids,
active_model: self.getParent().dataset.model
- }, context);
+ };
self.rpc("/web/action/load", {
action_id: item.action.id,
- context: additional_context
+ context: new instance.web.CompoundContext(sidebar_eval_context, active_ids_context),
}).done(function(result) {
- result.context = _.extend(result.context || {},
- additional_context);
+ console.log(result.context);
+ result.context = new instance.web.CompoundContext(result.context || {}, active_ids_context);
result.flags = result.flags || {};
result.flags.new_window = true;
self.do_action(result, {
@@ -1330,7 +1330,7 @@ instance.web.View = instance.web.Widget.extend({
on_sidebar_export: function() {
new instance.web.DataExport(this, this.dataset).open();
},
- sidebar_context: function () {
+ sidebar_eval_context: function () {
return $.when();
},
/**
From 99a3ef886079d2308a7858dca95e0b15014333ea Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Thibault=20Delavall=C3=A9e?=
Date: Tue, 20 Nov 2012 11:23:25 +0100
Subject: [PATCH 87/97] [CLEAN] Demo data: fixed some typos, cleaned a bit
before merging.
bzr revid: tde@openerp.com-20121120102325-5xts5n801p9islgy
---
addons/mail/data/mail_demo.xml | 33 +++++++++++++++++----------------
addons/portal/portal_demo.xml | 2 +-
2 files changed, 18 insertions(+), 17 deletions(-)
diff --git a/addons/mail/data/mail_demo.xml b/addons/mail/data/mail_demo.xml
index 71f2b75a9bb..fc11f31670a 100644
--- a/addons/mail/data/mail_demo.xml
+++ b/addons/mail/data/mail_demo.xml
@@ -90,7 +90,7 @@
RedHat server updated specHello Demo,
-
We have a lot of inquiries about our now solution using RedHat servers. However I do not have the updated specification ready at hand.
+
We have a lot of inquiries about our now solution based on RedHat servers. However I do not have the updated specification ready at hand.
Could you please send me the last version of the file asap?
Thanks,
]]>comment
@@ -110,7 +110,7 @@
- I just found a newer draft of the spec. Jon did some cleaning in the specifications. Could you merge the two documents to have an updated one?
When it's done, put it on the internal document management system.
Thanks,
]]>
+ I just found a more recent draft of the spec. Jon did some cleaning in the specifications. Could you merge the two documents to have an updated one?
When it's done, put it on the internal document management system.
Thanks,
]]>comment
@@ -124,17 +124,17 @@
Plan to install backup serversHello,
-
We need to deploy new backup servers, with the following requirements:
-
-
Daily incremental backups, with an history of 15 days,
-
45 servers should be backuped between 1am and 3am when our offices are closed,
-
We need two redundant servers,
-
A total capacity of 200Gb.
-
-
- Do you have a simple solution with servers running on Redhat Linux?
-
-
Best regards,
+
We need to deploy new backup servers, with the following requirements:
+
+
daily incremental backups, with an history of 15 days,
+
45 servers should be backuped between 1am and 3am when our offices are closed,
+
two redundant servers,
+
total capacity of 200Gb.
+
+
+ Do you have a simple solution with servers running on Redhat Linux?
+
+
Best regards,
]]>email
@@ -221,7 +221,7 @@
Hi Demo,
-
The next version of our products catalog is scheduled for next month. Our product team send me their updated info about the prices and costs, and I updated our catalog.
+
The next version of our products catalog is scheduled for next month. Our product team send me their updated document holding the prices and costs, and I updated our catalog.
You will find it in attachment, as well as a comparative benchmark of the different solutions currently existing on the market. Have a nice reading!
Sincerely,
]]>comment
@@ -232,7 +232,8 @@
- Thank you! Could you send me the updated pricelists as negociated beginning of this year? Sincerely,]]>
+ Thank you! Could you send me the updated pricelists as negotiated at the beginning of this year?
+
Sincerely,
]]>comment
@@ -263,7 +264,7 @@
Information meeting
- Hello,
Epic Technologies is a small company specialized in software managing huge volume of data. Having an efficient and reliable backup system is very important to us, and critical for our customers. I eared you have some interesting solutions to manage our backups. Could we meet each other as soon as possible to discuss our need? Here is a first list of requirements:
+ Hello,
Epic Technologies is a small company specialized in software managing huge volume of data. Having an efficient and reliable backup system is very important for us, and critical for our customers. I eared you have some interesting solutions to manage our backups. Could we meet each other as soon as possible to discuss our need? Here is a first list of requirements: