From 7111a3fe13b7dce43cab863a833a5108b8af77cf Mon Sep 17 00:00:00 2001 From: Julien Thewys Date: Mon, 27 Sep 2010 16:06:43 +0200 Subject: [PATCH 01/10] [FIX] default expression value may now contains single quotes (but not 3 consecutive ones) bzr revid: jth@openerp.com-20100927140643-a2qm2mlsc0f42z94 --- addons/email_template/email_template.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/addons/email_template/email_template.py b/addons/email_template/email_template.py index f87c4bf750e..cbedc57d6e2 100644 --- a/addons/email_template/email_template.py +++ b/addons/email_template/email_template.py @@ -351,7 +351,7 @@ This is useful for CRM leads for example"), if sub_model_object_field: copy_val += "." + sub_model_object_field if null_value: - copy_val += " or '" + null_value + "'" + copy_val += " or '''%s'''" % null_value if model_object_field: copy_val += "}" elif template_language == 'django': @@ -360,7 +360,7 @@ This is useful for CRM leads for example"), if sub_model_object_field: copy_val += "." + sub_model_object_field if null_value: - copy_val = copy_val + '|default:"' + null_value + '"' + copy_val = copy_val + "|default:'''%s'''" % null_value copy_val = copy_val + "}}" return copy_val From 7bf6844f10fc9278901f8e2a61e83df166f8241c Mon Sep 17 00:00:00 2001 From: Julien Thewys Date: Mon, 27 Sep 2010 16:11:16 +0200 Subject: [PATCH 02/10] [FIX] Fixed wrong indentation. bzr revid: jth@openerp.com-20100927141116-wu6vznh4dqzu9i5j --- addons/email_template/email_template.py | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/addons/email_template/email_template.py b/addons/email_template/email_template.py index cbedc57d6e2..d6b73a0ece1 100644 --- a/addons/email_template/email_template.py +++ b/addons/email_template/email_template.py @@ -348,20 +348,19 @@ This is useful for CRM leads for example"), if template_language == 'mako': if model_object_field: copy_val = "${object." + model_object_field - if sub_model_object_field: - copy_val += "." + sub_model_object_field - if null_value: - copy_val += " or '''%s'''" % null_value - if model_object_field: + if sub_model_object_field: + copy_val += "." + sub_model_object_field + if null_value: + copy_val += " or '''%s'''" % null_value copy_val += "}" elif template_language == 'django': if model_object_field: copy_val = "{{object." + model_object_field - if sub_model_object_field: - copy_val += "." + sub_model_object_field - if null_value: - copy_val = copy_val + "|default:'''%s'''" % null_value - copy_val = copy_val + "}}" + if sub_model_object_field: + copy_val += "." + sub_model_object_field + if null_value: + copy_val = copy_val + "|default:'''%s'''" % null_value + copy_val = copy_val + "}}" return copy_val def onchange_model_object_field(self, cr, uid, ids, model_object_field, template_language, context=None): From ab55bfd6afbddc0583830dd76da24b02fc8b27bc Mon Sep 17 00:00:00 2001 From: Julien Thewys Date: Mon, 27 Sep 2010 16:17:58 +0200 Subject: [PATCH 03/10] [REF] Renamed variable to match conventions. bzr revid: jth@openerp.com-20100927141758-i5dpu1l7ctk39j1e --- addons/email_template/email_template.py | 45 ++++++++++++------------- 1 file changed, 21 insertions(+), 24 deletions(-) diff --git a/addons/email_template/email_template.py b/addons/email_template/email_template.py index d6b73a0ece1..49e99de5bf5 100644 --- a/addons/email_template/email_template.py +++ b/addons/email_template/email_template.py @@ -331,37 +331,34 @@ This is useful for CRM leads for example"), default.update({'name':new_name}) return super(email_template, self).copy(cr, uid, id, default, context) - def compute_pl(self, - model_object_field, - sub_model_object_field, - null_value, template_language='mako'): + def compute_pl(self, field_name, sub_field_name, null_value, template_language='mako'): """ - Returns the expression based on data provided - @param model_object_field: First level field - @param sub_model_object_field: Second level drilled down field (M2O) - @param null_value: What has to be returned if the value is empty - @param template_language: The language used for templating + Returns a template expression based on data provided + @param field_name: field name + @param sub_field_name: sub field name (M2O) + @param null_value: default value if the target value is empty + @param template_language: name of template engine @return: computed expression """ - #Configure for MAKO - copy_val = '' + + expression = '' if template_language == 'mako': - if model_object_field: - copy_val = "${object." + model_object_field - if sub_model_object_field: - copy_val += "." + sub_model_object_field + if field_name: + expression = "${object." + field_name + if sub_field_name: + expression += "." + sub_field_name if null_value: - copy_val += " or '''%s'''" % null_value - copy_val += "}" + expression += " or '''%s'''" % null_value + expression += "}" elif template_language == 'django': - if model_object_field: - copy_val = "{{object." + model_object_field - if sub_model_object_field: - copy_val += "." + sub_model_object_field + if field_name: + expression = "{{object." + field_name + if sub_field_name: + expression += "." + sub_field_name if null_value: - copy_val = copy_val + "|default:'''%s'''" % null_value - copy_val = copy_val + "}}" - return copy_val + expression += "|default: '''%s'''" % null_value + expression += "}}" + return expression def onchange_model_object_field(self, cr, uid, ids, model_object_field, template_language, context=None): if not model_object_field: From 8b241bb07b78daeba54b6e7473531fa3cbe8ab94 Mon Sep 17 00:00:00 2001 From: Julien Thewys Date: Mon, 27 Sep 2010 16:22:54 +0200 Subject: [PATCH 04/10] [REF] Renamed method to match conventions. bzr revid: jth@openerp.com-20100927142254-aru8l7933o3x8cfr --- addons/email_template/email_template.py | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/addons/email_template/email_template.py b/addons/email_template/email_template.py index 49e99de5bf5..ee82c917351 100644 --- a/addons/email_template/email_template.py +++ b/addons/email_template/email_template.py @@ -331,7 +331,7 @@ This is useful for CRM leads for example"), default.update({'name':new_name}) return super(email_template, self).copy(cr, uid, id, default, context) - def compute_pl(self, field_name, sub_field_name, null_value, template_language='mako'): + def build_expression(self, field_name, sub_field_name, null_value, template_language='mako'): """ Returns a template expression based on data provided @param field_name: field name @@ -370,7 +370,7 @@ This is useful for CRM leads for example"), res_ids = self.pool.get('ir.model').search(cr, uid, [('model', '=', field_obj.relation)], context=context) if res_ids: result['sub_object'] = res_ids[0] - result['copyvalue'] = self.compute_pl(False, + result['copyvalue'] = self.build_expression(False, False, False, template_language) @@ -379,7 +379,7 @@ This is useful for CRM leads for example"), else: #Its a simple field... just compute placeholder result['sub_object'] = False - result['copyvalue'] = self.compute_pl(field_obj.name, + result['copyvalue'] = self.build_expression(field_obj.name, False, False, template_language @@ -398,7 +398,7 @@ This is useful for CRM leads for example"), sub_field_obj = self.pool.get('ir.model.fields').browse(cr, uid, sub_model_object_field, context) if res_ids: result['sub_object'] = res_ids[0] - result['copyvalue'] = self.compute_pl(field_obj.name, + result['copyvalue'] = self.build_expression(field_obj.name, sub_field_obj.name, False, template_language @@ -408,7 +408,7 @@ This is useful for CRM leads for example"), else: #Its a simple field... just compute placeholder result['sub_object'] = False - result['copyvalue'] = self.compute_pl(field_obj.name, + result['copyvalue'] = self.build_expression(field_obj.name, False, False, template_language @@ -427,7 +427,7 @@ This is useful for CRM leads for example"), sub_field_obj = self.pool.get('ir.model.fields').browse(cr, uid, sub_model_object_field, context) if res_ids: result['sub_object'] = res_ids[0] - result['copyvalue'] = self.compute_pl(field_obj.name, + result['copyvalue'] = self.build_expression(field_obj.name, sub_field_obj.name, null_value, template_language @@ -437,7 +437,7 @@ This is useful for CRM leads for example"), else: #Its a simple field... just compute placeholder result['sub_object'] = False - result['copyvalue'] = self.compute_pl(field_obj.name, + result['copyvalue'] = self.build_expression(field_obj.name, False, null_value, template_language From f8309947a439362dc42672f78c852bbbd5a6b1a1 Mon Sep 17 00:00:00 2001 From: Yogesh Sakhreliya Date: Tue, 5 Oct 2010 15:46:39 +0530 Subject: [PATCH 05/10] [REM] remove role_ids field in process xml file. bzr revid: ysa@tinyerp.com-20101005101639-wnw7ho4fpoigqivt --- .../process/customer_invoice_process.xml | 8 --- addons/account/process/statement_process.xml | 3 - .../process/supplier_invoice_process.xml | 55 ++++++++---------- .../process/base_contact_process.xml | 3 - .../crm/process/crm_configuration_process.xml | 3 - addons/hr/process/hr_process.xml | 2 - .../hr_expense/process/hr_expense_process.xml | 52 ++++++++--------- .../process/hr_holidays_process.xml | 56 +++++++++---------- .../membership/process/membership_process.xml | 39 ++++++------- addons/mrp/process/procurement_process.xml | 20 ++----- .../mrp/process/service_product_process.xml | 1 - .../mrp/process/stockable_product_process.xml | 2 - .../process/mrp_operation_process.xml | 4 -- addons/process/process_view.xml | 3 - addons/product/process/product_process.xml | 1 - addons/project/process/task_process.xml | 47 ++++++++-------- .../process/project_scrum_process.xml | 1 - .../process/project_timesheet_process.xml | 3 - addons/sale_crm/process/sale_crm_process.xml | 4 -- 19 files changed, 115 insertions(+), 192 deletions(-) diff --git a/addons/account/process/customer_invoice_process.xml b/addons/account/process/customer_invoice_process.xml index 51e8254d20e..b34dca0dbb9 100644 --- a/addons/account/process/customer_invoice_process.xml +++ b/addons/account/process/customer_invoice_process.xml @@ -122,7 +122,6 @@ --> - @@ -131,7 +130,6 @@ - @@ -140,7 +138,6 @@ - @@ -150,7 +147,6 @@ - @@ -159,7 +155,6 @@ - @@ -168,7 +163,6 @@ - @@ -177,7 +171,6 @@ - @@ -186,7 +179,6 @@ - diff --git a/addons/account/process/statement_process.xml b/addons/account/process/statement_process.xml index 704f9f47025..01fd4bc1bfe 100644 --- a/addons/account/process/statement_process.xml +++ b/addons/account/process/statement_process.xml @@ -65,7 +65,6 @@ --> - @@ -74,7 +73,6 @@ - @@ -84,7 +82,6 @@ - diff --git a/addons/account/process/supplier_invoice_process.xml b/addons/account/process/supplier_invoice_process.xml index e24431c48b4..8635b083d72 100644 --- a/addons/account/process/supplier_invoice_process.xml +++ b/addons/account/process/supplier_invoice_process.xml @@ -1,21 +1,21 @@ - - - + - - - + @@ -26,7 +26,7 @@ - + @@ -37,7 +37,7 @@ - + @@ -48,7 +48,7 @@ - + @@ -60,7 +60,7 @@ - + @@ -70,7 +70,7 @@ - + @@ -81,7 +81,7 @@ - + @@ -92,7 +92,7 @@ - + @@ -103,22 +103,20 @@ - - - + - - + - @@ -126,51 +124,46 @@ - + - - + - - + - - + - - + - - + diff --git a/addons/base_contact/process/base_contact_process.xml b/addons/base_contact/process/base_contact_process.xml index 876905c1812..f5b754e7ad9 100644 --- a/addons/base_contact/process/base_contact_process.xml +++ b/addons/base_contact/process/base_contact_process.xml @@ -60,7 +60,6 @@ --> - @@ -69,7 +68,6 @@ - @@ -78,7 +76,6 @@ - diff --git a/addons/crm/process/crm_configuration_process.xml b/addons/crm/process/crm_configuration_process.xml index 362c8982b96..790aad82fc8 100644 --- a/addons/crm/process/crm_configuration_process.xml +++ b/addons/crm/process/crm_configuration_process.xml @@ -57,7 +57,6 @@ --> - @@ -66,7 +65,6 @@ - @@ -75,7 +73,6 @@ - diff --git a/addons/hr/process/hr_process.xml b/addons/hr/process/hr_process.xml index 5376936afe3..1471fbe5352 100644 --- a/addons/hr/process/hr_process.xml +++ b/addons/hr/process/hr_process.xml @@ -51,7 +51,6 @@ --> - @@ -60,7 +59,6 @@ - diff --git a/addons/hr_expense/process/hr_expense_process.xml b/addons/hr_expense/process/hr_expense_process.xml index 20d8a60ca1a..bcb9649be4c 100644 --- a/addons/hr_expense/process/hr_expense_process.xml +++ b/addons/hr_expense/process/hr_expense_process.xml @@ -1,21 +1,21 @@ - + - + - + - + @@ -26,7 +26,7 @@ - + @@ -37,7 +37,7 @@ - + @@ -48,7 +48,7 @@ - + @@ -59,7 +59,7 @@ - + @@ -70,7 +70,7 @@ - + @@ -81,7 +81,7 @@ - + @@ -92,96 +92,90 @@ - + - + - - + - - + - - + - - + - - + - - + - + - + - + - + - + \ No newline at end of file diff --git a/addons/hr_holidays/process/hr_holidays_process.xml b/addons/hr_holidays/process/hr_holidays_process.xml index 2026902dd5c..82285ff1209 100644 --- a/addons/hr_holidays/process/hr_holidays_process.xml +++ b/addons/hr_holidays/process/hr_holidays_process.xml @@ -1,21 +1,21 @@ - - + + - + - + - + @@ -25,7 +25,7 @@ - + @@ -36,7 +36,7 @@ - + @@ -47,7 +47,7 @@ - + @@ -58,7 +58,7 @@ - + @@ -69,7 +69,7 @@ - + @@ -80,7 +80,7 @@ - + @@ -89,91 +89,85 @@ - - + + - - + + - - + - - + - - + - - + - - + - - + - + - + - + - + \ No newline at end of file diff --git a/addons/membership/process/membership_process.xml b/addons/membership/process/membership_process.xml index 4a6df4c0e03..730f01bd36b 100644 --- a/addons/membership/process/membership_process.xml +++ b/addons/membership/process/membership_process.xml @@ -1,21 +1,21 @@ - + - + - + - + @@ -25,7 +25,7 @@ - + @@ -35,7 +35,7 @@ - + @@ -45,7 +45,7 @@ - + @@ -56,7 +56,7 @@ - + @@ -67,7 +67,7 @@ - + @@ -78,62 +78,57 @@ - + - + - - + - - + - + - - + - - + - - + \ No newline at end of file diff --git a/addons/mrp/process/procurement_process.xml b/addons/mrp/process/procurement_process.xml index ca08481d4e4..5b9c8d8f661 100644 --- a/addons/mrp/process/procurement_process.xml +++ b/addons/mrp/process/procurement_process.xml @@ -1,7 +1,7 @@ - + @@ -14,7 +14,7 @@ - + @@ -36,7 +36,7 @@ - + @@ -60,7 +60,7 @@ - + @@ -128,7 +128,6 @@ - @@ -137,7 +136,6 @@ - @@ -146,7 +144,6 @@ - @@ -155,7 +152,6 @@ - @@ -164,7 +160,6 @@ - @@ -173,7 +168,6 @@ - @@ -182,7 +176,6 @@ - @@ -191,7 +184,6 @@ - @@ -200,7 +192,6 @@ - @@ -209,7 +200,6 @@ - @@ -218,7 +208,6 @@ - @@ -227,7 +216,6 @@ - diff --git a/addons/mrp/process/service_product_process.xml b/addons/mrp/process/service_product_process.xml index c23ed6e7a65..74353d02e8c 100644 --- a/addons/mrp/process/service_product_process.xml +++ b/addons/mrp/process/service_product_process.xml @@ -36,7 +36,6 @@ --> - diff --git a/addons/mrp/process/stockable_product_process.xml b/addons/mrp/process/stockable_product_process.xml index 9dc45f0515f..c845801194b 100644 --- a/addons/mrp/process/stockable_product_process.xml +++ b/addons/mrp/process/stockable_product_process.xml @@ -66,7 +66,6 @@ --> - @@ -75,7 +74,6 @@ - diff --git a/addons/mrp_operations/process/mrp_operation_process.xml b/addons/mrp_operations/process/mrp_operation_process.xml index 2b59b87cfaf..686f59fe27f 100644 --- a/addons/mrp_operations/process/mrp_operation_process.xml +++ b/addons/mrp_operations/process/mrp_operation_process.xml @@ -72,7 +72,6 @@ --> - @@ -81,7 +80,6 @@ - @@ -90,7 +88,6 @@ - @@ -99,7 +96,6 @@ - diff --git a/addons/process/process_view.xml b/addons/process/process_view.xml index 72cb18499e2..1a5714437b8 100644 --- a/addons/process/process_view.xml +++ b/addons/process/process_view.xml @@ -282,9 +282,6 @@ - - - diff --git a/addons/product/process/product_process.xml b/addons/product/process/product_process.xml index c8f72be4df7..03ce904abad 100644 --- a/addons/product/process/product_process.xml +++ b/addons/product/process/product_process.xml @@ -40,7 +40,6 @@ --> - diff --git a/addons/project/process/task_process.xml b/addons/project/process/task_process.xml index b3490ce4cf1..1c5fba12596 100644 --- a/addons/project/process/task_process.xml +++ b/addons/project/process/task_process.xml @@ -2,20 +2,20 @@ - - + - - - + @@ -26,7 +26,7 @@ - + @@ -37,7 +37,7 @@ - + @@ -48,7 +48,7 @@ - + @@ -59,77 +59,74 @@ - - - + - - + - - + - - - - - + - + - + - + - + - + diff --git a/addons/project_scrum/process/project_scrum_process.xml b/addons/project_scrum/process/project_scrum_process.xml index 9700677c100..b5503f0127c 100644 --- a/addons/project_scrum/process/project_scrum_process.xml +++ b/addons/project_scrum/process/project_scrum_process.xml @@ -22,7 +22,6 @@ --> - diff --git a/addons/project_timesheet/process/project_timesheet_process.xml b/addons/project_timesheet/process/project_timesheet_process.xml index 4bb6a6de381..aea15d814c1 100644 --- a/addons/project_timesheet/process/project_timesheet_process.xml +++ b/addons/project_timesheet/process/project_timesheet_process.xml @@ -43,7 +43,6 @@ --> - @@ -52,7 +51,6 @@ - @@ -61,7 +59,6 @@ - diff --git a/addons/sale_crm/process/sale_crm_process.xml b/addons/sale_crm/process/sale_crm_process.xml index 44f78fcdd55..721508a2ba5 100644 --- a/addons/sale_crm/process/sale_crm_process.xml +++ b/addons/sale_crm/process/sale_crm_process.xml @@ -39,7 +39,6 @@ - @@ -49,7 +48,6 @@ - @@ -58,7 +56,6 @@ - @@ -67,7 +64,6 @@ - From 5d8831174421c3965f5427e7dddbb86c04b26193 Mon Sep 17 00:00:00 2001 From: Yogesh Sakhreliya Date: Tue, 5 Oct 2010 16:58:43 +0530 Subject: [PATCH 06/10] remove role_ids field in process xml files. bzr revid: ysa@tinyerp.com-20101005112843-gnz66tqm1kjw2udx --- .../process/hr_timesheet_sheet_process.xml | 6 ------ addons/sale/process/sale_process.xml | 2 -- 2 files changed, 8 deletions(-) diff --git a/addons/hr_timesheet_sheet/process/hr_timesheet_sheet_process.xml b/addons/hr_timesheet_sheet/process/hr_timesheet_sheet_process.xml index 22453dccfa4..7c259016fca 100644 --- a/addons/hr_timesheet_sheet/process/hr_timesheet_sheet_process.xml +++ b/addons/hr_timesheet_sheet/process/hr_timesheet_sheet_process.xml @@ -101,7 +101,6 @@ - @@ -110,7 +109,6 @@ - @@ -119,7 +117,6 @@ - @@ -129,7 +126,6 @@ - @@ -138,7 +134,6 @@ - @@ -147,7 +142,6 @@ - diff --git a/addons/sale/process/sale_process.xml b/addons/sale/process/sale_process.xml index 4d6ca31d973..2c61e55c4e4 100644 --- a/addons/sale/process/sale_process.xml +++ b/addons/sale/process/sale_process.xml @@ -189,7 +189,6 @@ - @@ -198,7 +197,6 @@ - From 3cb1f0aad6628fa211dcd7e4703f0dceb1c935fe Mon Sep 17 00:00:00 2001 From: "qdp-launchpad@tinyerp.com" <> Date: Tue, 5 Oct 2010 15:06:14 +0200 Subject: [PATCH 07/10] [IMP] event: usability improvements bzr revid: qdp-launchpad@tinyerp.com-20101005130614-abozhag180chadyo --- addons/event/event.py | 2 +- addons/event/event_view.xml | 51 ++++++++++++++++++------------------- 2 files changed, 26 insertions(+), 27 deletions(-) diff --git a/addons/event/event.py b/addons/event/event.py index ea4a9cf9b8b..88910f01914 100644 --- a/addons/event/event.py +++ b/addons/event/event.py @@ -303,7 +303,7 @@ class event_registration(osv.osv): 'name': fields.char('Summary', size=124, readonly=True, states={'draft': [('readonly', False)]}), 'email_cc': fields.text('CC', size=252 , readonly=False, states={'done': [('readonly', True)]}, help="These email addresses will be added to the CC field of all inbound and outbound emails for this record before being sent. Separate multiple email addresses with a comma"), 'nb_register': fields.integer('Quantity', required=True, readonly=True, states={'draft': [('readonly', False)]}, help="Number of Registrations or Tickets"), - 'event_id': fields.many2one('event.event', 'Event Related', required=True, readonly=True, states={'draft': [('readonly', False)]}), + 'event_id': fields.many2one('event.event', 'Event', required=True, readonly=True, states={'draft': [('readonly', False)]}), 'partner_id': fields.many2one('res.partner', 'Partner', states={'done': [('readonly', True)]}), "partner_invoice_id": fields.many2one('res.partner', 'Partner Invoiced', readonly=True, states={'draft': [('readonly', False)]}), "contact_id": fields.many2one('res.partner.contact', 'Partner Contact', readonly=False, states={'done': [('readonly', True)]}), #TODO: filter only the contacts that have a function into the selected partner_id diff --git a/addons/event/event_view.xml b/addons/event/event_view.xml index f58a948fad2..27874237332 100644 --- a/addons/event/event_view.xml +++ b/addons/event/event_view.xml @@ -219,27 +219,27 @@ - - + + - - + - + + + + - - - @@ -287,11 +287,11 @@ tree - - + - + +