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()