From 436a15ae25ccd5d308d50bf990d0936ec7096d03 Mon Sep 17 00:00:00 2001 From: Olivier Dony Date: Tue, 29 Jun 2010 10:53:09 +0200 Subject: [PATCH 01/29] [IMP] wiki: consistent naming for top-level menu - cfr document module bzr revid: odo@openerp.com-20100629085309-bze2jar4g42lrk2s --- addons/wiki/wiki_view.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/wiki/wiki_view.xml b/addons/wiki/wiki_view.xml index 189122ea617..1e117cb6a70 100644 --- a/addons/wiki/wiki_view.xml +++ b/addons/wiki/wiki_view.xml @@ -1,7 +1,7 @@ - Date: Tue, 29 Jun 2010 11:08:34 +0200 Subject: [PATCH 02/29] [IMP] crm/report: simplify and fix reporting views + cleanup bzr revid: odo@openerp.com-20100629090834-e2c9p4yzxed8enjm --- addons/crm/crm.py | 4 -- addons/crm/report/crm_lead_report.py | 47 +++++++---------------- addons/crm/report/crm_phonecall_report.py | 28 +++----------- 3 files changed, 18 insertions(+), 61 deletions(-) diff --git a/addons/crm/crm.py b/addons/crm/crm.py index c46519cdb97..8d63bc2933e 100644 --- a/addons/crm/crm.py +++ b/addons/crm/crm.py @@ -387,10 +387,6 @@ class crm_case(object): attach=attach_to_send ) self._history(cr, uid, [case], _('Send'), history=True, email=dest, details=body, email_from=src) - #if flag: - # raise osv.except_osv(_('Email!'),("Email Successfully Sent")) - #else: - # raise osv.except_osv(_('Email Fail!'),("Email is not sent successfully")) return True def _check(self, cr, uid, ids=False, context={}): diff --git a/addons/crm/report/crm_lead_report.py b/addons/crm/report/crm_lead_report.py index f9c39c92403..ae3302e1877 100644 --- a/addons/crm/report/crm_lead_report.py +++ b/addons/crm/report/crm_lead_report.py @@ -51,7 +51,7 @@ class crm_lead_report(osv.osv): for case in self.browse(cr, uid, ids, context): if field_name != 'avg_answers': state = field_name[5:] - cr.execute("select count(*) from crm_opportunity where \ + cr.execute("select count(id) from crm_opportunity where \ section_id =%s and state='%s'"%(case.section_id.id, state)) state_cases = cr.fetchone()[0] perc_state = (state_cases / float(case.nbr)) * 100 @@ -64,7 +64,7 @@ class crm_lead_report(osv.osv): else: model_name = model_name[1] - cr.execute("select count(*) from crm_case_log l, ir_model m \ + cr.execute("select count(id) from crm_case_log l, ir_model m \ where l.model_id=m.id and m.model = '%s'" , model_name) logs = cr.fetchone()[0] @@ -120,60 +120,39 @@ class crm_lead_report(osv.osv): CRM Lead Report @param cr: the current row, from the database cursor """ - tools.drop_view_if_exists(cr, 'crm_lead_report') cr.execute(""" - create or replace view crm_lead_report as ( - select - min(c.id) as id, + CREATE OR REPLACE VIEW crm_lead_report AS ( + SELECT + id, to_char(c.create_date, 'YYYY') as name, to_char(c.create_date, 'MM') as month, to_char(c.create_date, 'YYYY-MM-DD') as day, to_char(c.create_date, 'YYYY-MM-DD') as creation_date, to_char(c.date_open, 'YYYY-MM-DD') as opening_date, to_char(c.date_closed, 'YYYY-mm-dd') as date_closed, - c.state as state, + c.state, c.user_id, c.probability, c.stage_id, - c.type as type, + c.type, c.company_id, c.priority, c.section_id, c.categ_id, c.partner_id, c.planned_revenue, - (select 1) as nbr, + 1 as nbr, 0 as avg_answers, 0.0 as perc_done, 0.0 as perc_cancel, - (select count(id) from mailgate_message where res_id=c.id and model='crm.lead') as email, + (SELECT count(id) FROM mailgate_message WHERE model='crm.lead' AND res_id=c.id) AS email, date_trunc('day',c.create_date) as create_date, - avg(extract('epoch' from (c.date_closed-c.create_date)))/(3600*24) as delay_close, - avg(extract('epoch' from (c.date_deadline - c.date_closed)))/(3600*24) as delay_expected, - avg(extract('epoch' from (c.date_open-c.create_date)))/(3600*24) as delay_open - from + extract('epoch' from (c.date_closed-c.create_date))/(3600*24) as delay_close, + extract('epoch' from (c.date_deadline - c.date_closed))/(3600*24) as delay_expected, + extract('epoch' from (c.date_open-c.create_date))/(3600*24) as delay_open + FROM crm_lead c - group by - to_char(c.create_date, 'YYYY'), - to_char(c.date_open, 'YYYY-MM-DD'), - to_char(c.date_closed, 'YYYY-mm-dd'), - to_char(c.create_date, 'MM'), - c.state, - c.user_id, - c.id, - c.section_id, - c.stage_id, - c.probability, - c.categ_id, - c.partner_id, - c.planned_revenue, - c.company_id, - c.priority, - c.type, - c.create_date, - to_char(c.create_date, 'YYYY-MM-DD') - )""") crm_lead_report() diff --git a/addons/crm/report/crm_phonecall_report.py b/addons/crm/report/crm_phonecall_report.py index c0e666e4eaa..25e62fb2342 100644 --- a/addons/crm/report/crm_phonecall_report.py +++ b/addons/crm/report/crm_phonecall_report.py @@ -114,12 +114,11 @@ class crm_phonecall_report(osv.osv): """ Phone Calls By User And Section @param cr: the current row, from the database cursor, """ - tools.drop_view_if_exists(cr, 'crm_phonecall_report') cr.execute(""" create or replace view crm_phonecall_report as ( select - min(c.id) as id, + id, to_char(c.create_date, 'YYYY') as name, to_char(c.create_date, 'MM') as month, to_char(c.create_date, 'YYYY-MM-DD') as day, @@ -135,33 +134,16 @@ class crm_phonecall_report(osv.osv): c.duration, c.company_id, c.priority, - (select 1) as nbr, + 1 as nbr, 0 as avg_answers, 0.0 as perc_done, 0.0 as perc_cancel, date_trunc('day',c.create_date) as create_date, - avg(extract('epoch' from (c.date_closed-c.create_date)))/(3600*24) as delay_close, - avg(extract('epoch' from (c.date_open-c.create_date)))/(3600*24) as delay_open - + extract('epoch' from (c.date_closed-c.create_date))/(3600*24) as delay_close, + extract('epoch' from (c.date_open-c.create_date))/(3600*24) as delay_open from crm_phonecall c - where c.categ_id in (select res_id from ir_model_data where (name = 'categ_phone1' or name ='categ_phone2')) - group by - to_char(c.create_date, 'YYYY'), - to_char(c.create_date, 'MM'),\ - c.state, - c.user_id, - c.section_id, - c.categ_id, - c.partner_id, - c.company_id, - c.duration, - c.priority, - to_char(c.date_open, 'YYYY-MM-DD'), - to_char(c.date_closed, 'YYYY-mm-dd'), - c.stage_id, - to_char(c.create_date, 'YYYY-MM-DD'), - c.create_date + where c.categ_id in (select res_id from ir_model_data where (name = 'categ_phone1' or name ='categ_phone2') and model = 'crm.case.categ') )""") crm_phonecall_report() From 25f3c114cde830404ca9430e1cd75cadc8bfd6fd Mon Sep 17 00:00:00 2001 From: Olivier Dony Date: Tue, 29 Jun 2010 11:10:06 +0200 Subject: [PATCH 03/29] [IMP] mail_gateway: add critical index on mailgate_message + fix attachments + cleanup bzr revid: odo@openerp.com-20100629091006-80o6r28u8m6e0g9d --- addons/mail_gateway/mail_gateway.py | 50 +++++++++++++++++------------ 1 file changed, 29 insertions(+), 21 deletions(-) diff --git a/addons/mail_gateway/mail_gateway.py b/addons/mail_gateway/mail_gateway.py index 15744987ec8..21159a308d2 100644 --- a/addons/mail_gateway/mail_gateway.py +++ b/addons/mail_gateway/mail_gateway.py @@ -127,7 +127,7 @@ class mailgate_thread(osv.osv): 'message_id': message_id, 'attachment_ids': [(6, 0, attachments)] } - res = obj.create(cr, uid, data, context) + obj.create(cr, uid, data, context) return True mailgate_thread() @@ -139,25 +139,33 @@ class mailgate_message(osv.osv): _description = 'Mailgateway Message' _order = 'id desc' _columns = { - 'name':fields.char('Subject', size=128), - 'model': fields.char('Object Name', size=128), - 'res_id': fields.integer('Resource ID'), + 'name':fields.char('Subject', size=128), + 'model': fields.char('Object Name', size=128, select=1), + 'res_id': fields.integer('Resource ID', select=1), 'ref_id': fields.char('Reference Id', size=256, readonly=True, help="Message Id in Email Server.", select=True), - 'date': fields.datetime('Date'), + 'date': fields.datetime('Date'), 'history': fields.boolean('Is History?'), - 'user_id': fields.many2one('res.users', 'User Responsible', readonly=True), - 'message': fields.text('Description'), - 'email_from': fields.char('Email From', size=84), - 'email_to': fields.char('Email To', size=84), - 'email_cc': fields.char('Email CC', size=84), - 'email_bcc': fields.char('Email BCC', size=84), + 'user_id': fields.many2one('res.users', 'User Responsible', readonly=True), + 'message': fields.text('Description'), + 'email_from': fields.char('Email From', size=84), + 'email_to': fields.char('Email To', size=84), + 'email_cc': fields.char('Email CC', size=84), + 'email_bcc': fields.char('Email BCC', size=84), 'message_id': fields.char('Message Id', size=1024, readonly=True, help="Message Id on Email.", select=True), 'references': fields.text('References', readonly=True, help="Referencess emails."), - 'description': fields.text('Description'), - 'partner_id': fields.many2one('res.partner', 'Partner', required=False), - 'attachment_ids': fields.many2many('ir.attachment', 'message_attachment_rel', 'message_id', 'attachment_id', 'Attachments'), + 'description': fields.text('Description'), + 'partner_id': fields.many2one('res.partner', 'Partner', required=False), + 'attachment_ids': fields.many2many('ir.attachment', 'message_attachment_rel', 'message_id', 'attachment_id', 'Attachments'), } + def init(self, cr): + cr.execute("""SELECT indexname + FROM pg_indexes + WHERE indexname = 'mailgate_message_res_id_model_idx'""") + if not cr.fetchone(): + cr.execute("""CREATE INDEX mailgate_message_res_id_model_idx + ON mailgate_message (model, res_id)""") + mailgate_message() class mailgate_tool(osv.osv_memory): @@ -214,7 +222,7 @@ class mailgate_tool(osv.osv_memory): 'user_id': uid, 'attachment_ids': [(6, 0, attach)] } - msg_id = msg_pool.create(cr, uid, msg_data, context=context) + msg_pool.create(cr, uid, msg_data, context=context) return True def email_forward(self, cr, uid, model, res_ids, msg, email_error=False, context=None): @@ -289,7 +297,7 @@ class mailgate_tool(osv.osv_memory): } att_ids.append(self.pool.get('ir.attachment').create(cr, uid, data_attach)) - return res_id + return res_id, att_ids # Warning: message_from_string doesn't always work correctly on unicode, # we must use utf-8 strings here :-( @@ -346,7 +354,6 @@ class mailgate_tool(osv.osv_memory): attachments = {} if msg_txt.is_multipart() or 'multipart/alternative' in msg.get('content-type', ''): body = "" - counter = 1 for part in msg_txt.walk(): if part.get_content_maintype() == 'multipart': continue @@ -365,7 +372,7 @@ class mailgate_tool(osv.osv_memory): body = tools.html2plaintext(content) elif part.get_content_subtype() == 'plain': body = content - elif part.get_content_maintype()=='application' or part.get_content_maintype()=='image' or part.get_content_maintype()=='text': + elif part.get_content_maintype() in ('application', 'image', 'text'): filename = part.get_filename(); if filename : attachments[filename] = part.get_payload(decode=True) @@ -378,6 +385,7 @@ class mailgate_tool(osv.osv_memory): msg['body'] = body msg['attachments'] = attachments res_ids = [] + attachment_ids = [] new_res_id = False if msg.get('references'): references = msg.get('references') @@ -404,7 +412,7 @@ class mailgate_tool(osv.osv_memory): model_pool.message_update(cr, uid, [res_id], vals, msg, context=context) if not len(res_ids): - new_res_id = create_record(msg) + new_res_id, attachment_ids = create_record(msg) res_ids = [new_res_id] # Store messages context.update({'model' : model}) @@ -416,10 +424,10 @@ class mailgate_tool(osv.osv_memory): email_from = msg.get('from'), message_id = msg.get('message-id'), references = msg.get('references', False), - attach = msg.get('attachments', {}).items(), + attach = attachments.items(), context = context) else: - self.history(cr, uid, model, res_ids, msg, att_ids, context=context) + self.history(cr, uid, model, res_ids, msg, attachment_ids, context=context) self.email_forward(cr, uid, model, res_ids, msg_txt) return new_res_id From 6bea3f8799c13c21b32e13b97bce1cbca3ac5e7e Mon Sep 17 00:00:00 2001 From: Olivier Dony Date: Tue, 29 Jun 2010 11:22:36 +0200 Subject: [PATCH 04/29] [IMP] project_issue: simplify reporting view + cleanup bzr revid: odo@openerp.com-20100629092236-g7lgj8jjq6e7md1b --- addons/project_issue/project_issue.py | 18 +++----- .../report/project_issue_report.py | 45 ++++--------------- 2 files changed, 14 insertions(+), 49 deletions(-) diff --git a/addons/project_issue/project_issue.py b/addons/project_issue/project_issue.py index b9d7baed6dd..aebb7356405 100644 --- a/addons/project_issue/project_issue.py +++ b/addons/project_issue/project_issue.py @@ -188,10 +188,10 @@ class project_issue(osv.osv, crm.crm_case): } def _get_project(self, cr, uid, context): - user = self.pool.get('res.users').browse(cr, uid, uid, context=context) - if user.context_project_id: - return user.context_project_id.id - return False + user = self.pool.get('res.users').browse(cr, uid, uid, context=context) + if user.context_project_id: + return user.context_project_id.id + return False _defaults = { 'active': lambda *a: 1, @@ -214,11 +214,6 @@ class project_issue(osv.osv, crm.crm_case): if context is None: context = {} -# for case in case_obj.browse(cr, uid, ids, context=context): -# if case.state != 'open': -# raise osv.except_osv(_('Warning !'), -# _('Issues or Feature Requests should be in \'Open\' state before converting into Task.')) - result = data_obj._get_id(cr, uid, 'project', 'view_task_search_form') res = data_obj.read(cr, uid, result, ['res_id']) id2 = data_obj._get_id(cr, uid, 'project', 'view_task_form2') @@ -240,11 +235,9 @@ class project_issue(osv.osv, crm.crm_case): 'planned_hours': 0.0, }) - new_task = task_obj.browse(cr, uid, new_task_id) - vals = { 'task_id': new_task_id, - } + } case_obj.write(cr, uid, [bug.id], vals) return { @@ -361,7 +354,6 @@ class project_issue(osv.osv, crm.crm_case): if isinstance(ids, (str, int, long)): ids = [ids] - msg_from = msg['from'] vals.update({ 'description': msg['body'] }) diff --git a/addons/project_issue/report/project_issue_report.py b/addons/project_issue/report/project_issue_report.py index 92f170eb556..6d249b85031 100644 --- a/addons/project_issue/report/project_issue_report.py +++ b/addons/project_issue/report/project_issue_report.py @@ -20,7 +20,6 @@ class project_issue_report(osv.osv): @param context: A standard dictionary for contextual values """ res = {} - state_perc = 0.0 avg_ans = 0.0 for case in self.browse(cr, uid, ids, context): @@ -91,9 +90,9 @@ class project_issue_report(osv.osv): def init(self, cr): tools.drop_view_if_exists(cr, 'project_issue_report') cr.execute(""" - create or replace view project_issue_report as ( - select - min(c.id) as id, + CREATE OR REPLACE VIEW project_issue_report AS ( + SELECT + c.id as id, to_char(c.create_date, 'YYYY') as name, to_char(c.create_date, 'MM') as month, to_char(c.create_date, 'YYYY-MM-DD') as day, @@ -111,44 +110,18 @@ class project_issue_report(osv.osv): c.priority as priority, c.project_id as project_id, c.type_id as type_id, - (select 1) as nbr, + 1 as nbr, c.assigned_to, c.partner_id, c.canal_id, c.task_id, date_trunc('day',c.create_date) as create_date, - avg(extract('epoch' from (c.date_open-c.create_date)))/(3600*24) as delay_open, - avg(extract('epoch' from (c.date_closed-c.create_date)))/(3600*24) as delay_close - from + extract('epoch' from (c.date_open-c.create_date))/(3600*24) as delay_open, + extract('epoch' from (c.date_closed-c.create_date))/(3600*24) as delay_close + FROM project_issue c - where c.categ_id in (select res_id from ir_model_data where name='bug_categ') - group by - to_char(c.create_date, 'YYYY'), - to_char(c.create_date, 'MM'), - to_char(c.create_date, 'YYYY-MM-DD'), - c.state, - to_char(c.date_open, 'YYYY-MM-DD'), - to_char(c.date_closed, 'YYYY-mm-dd'), - c.user_id, - c.section_id, - c.categ_id, - c.stage_id, - c.company_id, - c.priority, - c.working_hours_open, - c.working_hours_close, - c.project_id, - to_char(c.date_closed, 'YYYY-MM-DD'), - c.type_id, - c.working_hours_open, - c.working_hours_close, - date_trunc('day',c.create_date), - c.assigned_to, - c.partner_id, - c.canal_id, - c.task_id - )""") - + WHERE c.categ_id IN (select res_id from ir_model_data WHERE model = 'crm.case.categ' and name='bug_categ') + )""") project_issue_report() From 0589af4d6b85912c25bc86ce8a5cea8cdc6b3477 Mon Sep 17 00:00:00 2001 From: Fabien Pinckaers Date: Tue, 29 Jun 2010 11:57:47 +0200 Subject: [PATCH 05/29] merge bzr revid: fp@tinyerp.com-20100629095747-svyjt9e9qak74y3c --- addons/caldav/caldav_view.xml | 6 +++--- addons/document/__openerp__.py | 2 +- addons/document/document_view.xml | 9 ++------- addons/document/security/document_security.xml | 2 +- addons/document_email/document_email.xml | 8 +------- addons/knowledge/__openerp__.py | 1 + addons/wiki/__openerp__.py | 6 +++--- addons/wiki/wiki_view.xml | 12 +++++------- 8 files changed, 17 insertions(+), 29 deletions(-) diff --git a/addons/caldav/caldav_view.xml b/addons/caldav/caldav_view.xml index 4c1003023ae..d1cb79a0e4a 100644 --- a/addons/caldav/caldav_view.xml +++ b/addons/caldav/caldav_view.xml @@ -53,11 +53,11 @@ - - + parent="knowledge.menu_document_configuration"/> - - - - - + document.storage @@ -323,7 +318,7 @@ Document form - + Document / Manager - + diff --git a/addons/document_email/document_email.xml b/addons/document_email/document_email.xml index bfcde49816a..5509d6e8cfb 100644 --- a/addons/document_email/document_email.xml +++ b/addons/document_email/document_email.xml @@ -92,12 +92,6 @@ {} [] - - - - - - - + diff --git a/addons/knowledge/__openerp__.py b/addons/knowledge/__openerp__.py index f26f7ea2560..05b1119c4a4 100644 --- a/addons/knowledge/__openerp__.py +++ b/addons/knowledge/__openerp__.py @@ -32,6 +32,7 @@ 'update_xml': [ 'security/ir.model.access.csv', 'knowledge_installer.xml', + 'knowledge_view.xml', ], 'demo_xml': [], 'installable': True, diff --git a/addons/wiki/__openerp__.py b/addons/wiki/__openerp__.py index 8dd7779a290..074c44b0a87 100644 --- a/addons/wiki/__openerp__.py +++ b/addons/wiki/__openerp__.py @@ -24,13 +24,13 @@ 'version': '1.0', 'category': 'Generic Modules/Others', 'description': """ - The base module to manage documents(wiki) +The base module to manage documents(wiki) - keep track for the wiki groups, pages, and history +keep track for the wiki groups, pages, and history """, 'author': 'Tiny & Axelor', 'website': 'http://openerp.com', - 'depends': ['base'], + 'depends': ['knowledge'], 'init_xml': [], 'update_xml': [ 'wizard/wiki_wiki_page_open_view.xml', diff --git a/addons/wiki/wiki_view.xml b/addons/wiki/wiki_view.xml index 1e117cb6a70..c1baa5cda20 100644 --- a/addons/wiki/wiki_view.xml +++ b/addons/wiki/wiki_view.xml @@ -2,17 +2,15 @@ + id="knowledge.menu_document" sequence="19" /> + id="knowledge.menu_document_configuration" + parent="knowledge.menu_document" sequence="50" /> + parent="knowledge.menu_document_configuration" sequence="2" /> - @@ -190,7 +188,7 @@ - From 2611a3bc98b7922aca69cdd8ef00da99de56d4d9 Mon Sep 17 00:00:00 2001 From: Olivier Dony Date: Tue, 29 Jun 2010 11:59:26 +0200 Subject: [PATCH 06/29] [IMP] sale, crm: access rights fix bzr revid: odo@openerp.com-20100629095926-n72makcn7ed3tt4o --- addons/crm/crm_view.xml | 5 +---- addons/crm/security/crm_security.xml | 14 +++++++------- addons/sale/sale_view.xml | 1 - addons/sale/security/sale_security.xml | 4 ++++ 4 files changed, 12 insertions(+), 12 deletions(-) diff --git a/addons/crm/crm_view.xml b/addons/crm/crm_view.xml index ab9e5aa0162..e1544d640d1 100644 --- a/addons/crm/crm_view.xml +++ b/addons/crm/crm_view.xml @@ -1,10 +1,7 @@ - - - - + diff --git a/addons/crm/security/crm_security.xml b/addons/crm/security/crm_security.xml index 8799dc7aa2c..d72847c44e3 100644 --- a/addons/crm/security/crm_security.xml +++ b/addons/crm/security/crm_security.xml @@ -9,14 +9,14 @@ CRM / User - - - - - - - + + + + + + + diff --git a/addons/sale/sale_view.xml b/addons/sale/sale_view.xml index 4bb3d603ce7..8a618a173d3 100644 --- a/addons/sale/sale_view.xml +++ b/addons/sale/sale_view.xml @@ -1,7 +1,6 @@ - diff --git a/addons/sale/security/sale_security.xml b/addons/sale/security/sale_security.xml index 8e5c8360d07..6eb4315fcd2 100644 --- a/addons/sale/security/sale_security.xml +++ b/addons/sale/security/sale_security.xml @@ -12,6 +12,10 @@ + + + + Sale Order multi-company From 44518eaaf6f4db6896f0990be2d6fa5e284a98bb Mon Sep 17 00:00:00 2001 From: Fabien Pinckaers Date: Tue, 29 Jun 2010 12:03:41 +0200 Subject: [PATCH 07/29] modifs bzr revid: fp@tinyerp.com-20100629100341-xalq31qr2ttwfu0e --- addons/knowledge/knowledge_view.xml | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 addons/knowledge/knowledge_view.xml diff --git a/addons/knowledge/knowledge_view.xml b/addons/knowledge/knowledge_view.xml new file mode 100644 index 00000000000..9739450006f --- /dev/null +++ b/addons/knowledge/knowledge_view.xml @@ -0,0 +1,10 @@ + + + + + + + + + From ae0cee03bfb60812db21a6aa767d11ac9764d6a3 Mon Sep 17 00:00:00 2001 From: "rpa (Open ERP)" Date: Tue, 29 Jun 2010 16:22:26 +0530 Subject: [PATCH 09/29] [IMP]: crm: Changed order of email and history tab in claim, fundraising and helpdesk same as opportunity * Added group by state and sales team in opportunity bzr revid: rpa@tinyerp.com-20100629105226-y192fvmkhmxz04hg --- addons/crm/crm_opportunity_view.xml | 2 + addons/crm_claim/crm_claim_view.xml | 467 +++++++++--------- .../crm_fundraising/crm_fundraising_view.xml | 72 +-- addons/crm_helpdesk/crm_helpdesk_view.xml | 70 +-- 4 files changed, 306 insertions(+), 305 deletions(-) diff --git a/addons/crm/crm_opportunity_view.xml b/addons/crm/crm_opportunity_view.xml index 7e0042f8944..0eb2fbadf6e 100644 --- a/addons/crm/crm_opportunity_view.xml +++ b/addons/crm/crm_opportunity_view.xml @@ -360,6 +360,7 @@ + + diff --git a/addons/crm_claim/crm_claim_view.xml b/addons/crm_claim/crm_claim_view.xml index 48cc9055c58..75defcf3d88 100644 --- a/addons/crm_claim/crm_claim_view.xml +++ b/addons/crm_claim/crm_claim_view.xml @@ -2,266 +2,265 @@ - + - + - - Claim Categories - crm.case.categ - form - - [('object_id.model', '=', 'crm.claim')] - {'object_id':'crm.claim'} - + + Claim Categories + crm.case.categ + form + + [('object_id.model', '=', 'crm.claim')] + {'object_id':'crm.claim'} + - + - + - - Claim Stages - crm.case.stage - form - - [('object_id.model', '=', 'crm.claim')] - {'object_id':'crm.claim'} - + + Claim Stages + crm.case.stage + form + + [('object_id.model', '=', 'crm.claim')] + {'object_id':'crm.claim'} + - + - + - - Claim Resource Type - crm.case.resource.type - form - - [('object_id.model', '=', 'crm.claim')] - {'object_id':'crm.claim'} - + + Claim Resource Type + crm.case.resource.type + form + + [('object_id.model', '=', 'crm.claim')] + {'object_id':'crm.claim'} + - + - - CRM - Claims Tree - crm.claim - tree - - - - - - - - - - - - - -