diff --git a/addons/website_crm_partner_assign/controllers/main.py b/addons/website_crm_partner_assign/controllers/main.py index 6f24f911257..301e5f3b29a 100644 --- a/addons/website_crm_partner_assign/controllers/main.py +++ b/addons/website_crm_partner_assign/controllers/main.py @@ -39,18 +39,21 @@ class WebsiteAccount(website_account): return response @http.route(['/my/leads', '/my/leads/page/'], type='http', auth="user", website=True) - def portal_my_leads(self, page=1, date_begin=None, date_end=None, lead=None, sortby=None, **kw): + def portal_my_leads(self, page=1, date_begin=None, date_end=None, sortby=None, **kw): values = self._prepare_portal_layout_values() CrmLead = request.env['crm.lead'] domain = self.get_domain_my_lead(request.env.user) - sortings = { + searchbar_sortings = { 'date': {'label': _('Newest'), 'order': 'create_date desc'}, 'name': {'label': _('Name'), 'order': 'name'}, 'contact_name': {'label': _('Contact Name'), 'order': 'contact_name'}, } - order = sortings.get(sortby, sortings['date'])['order'] + # default sort by value + if not sortby: + sortby = 'date' + order = searchbar_sortings[sortby]['order'] # archive groups - Default Group By 'create_date' archive_groups = self._get_archive_groups('crm.lead', domain) @@ -60,7 +63,7 @@ class WebsiteAccount(website_account): lead_count = CrmLead.search_count(domain) pager = request.website.pager( url="/my/leads", - url_args={'date_begin': date_begin, 'date_end': date_end, 'sortby': sortby, 'lead': lead}, + url_args={'date_begin': date_begin, 'date_end': date_end, 'sortby': sortby}, total=lead_count, page=page, step=self._items_per_page @@ -72,17 +75,16 @@ class WebsiteAccount(website_account): 'date': date_begin, 'leads': leads, 'page_name': 'lead', - 'lead': lead, - 'sortings': sortings, - 'sortby': sortby, 'archive_groups': archive_groups, 'default_url': '/my/leads', - 'pager': pager + 'pager': pager, + 'searchbar_sortings': searchbar_sortings, + 'sortby': sortby, }) return request.render("website_crm_partner_assign.portal_my_leads", values) @http.route(['/my/opportunities', '/my/opportunities/page/'], type='http', auth="user", website=True) - def portal_my_opportunities(self, page=1, date_begin=None, date_end=None, opportunity=None, sortby=None, **kw): + def portal_my_opportunities(self, page=1, date_begin=None, date_end=None, sortby=None, filterby=None, **kw): values = self._prepare_portal_layout_values() CrmLead = request.env['crm.lead'] domain = self.get_domain_my_opp(request.env.user) @@ -90,7 +92,7 @@ class WebsiteAccount(website_account): today = fields.Date.today() this_week_end_date = fields.Date.to_string(fields.Date.from_string(today) + datetime.timedelta(days=7)) - filters = { + searchbar_filters = { 'all': {'label': _('All'), 'domain': []}, 'today': {'label': _('Today Activities'), 'domain': [('date_action', '=', today)]}, 'week': {'label': _('This Week Activities'), @@ -99,8 +101,7 @@ class WebsiteAccount(website_account): 'won': {'label': _('Won'), 'domain': [('stage_id.probability', '=', 100), ('stage_id.fold', '=', True)]}, 'lost': {'label': _('Lost'), 'domain': [('active', '=', False)]}, } - - sortings = { + searchbar_sortings = { 'date': {'label': _('Newest'), 'order': 'create_date desc'}, 'name': {'label': _('Name'), 'order': 'name'}, 'contact_name': {'label': _('Contact Name'), 'order': 'contact_name'}, @@ -109,8 +110,14 @@ class WebsiteAccount(website_account): 'stage': {'label': _('Stage'), 'order': 'stage_id'}, } - domain += filters.get(opportunity, filters['all'])['domain'] - order = sortings.get(sortby, sortings['date'])['order'] + # default sort by value + if not sortby: + sortby = 'date' + order = searchbar_sortings[sortby]['order'] + # default filter by value + if not filterby: + filterby = 'all' + domain += searchbar_filters[filterby]['domain'] # archive groups - Default Group By 'create_date' archive_groups = self._get_archive_groups('crm.lead', domain) @@ -120,7 +127,7 @@ class WebsiteAccount(website_account): opp_count = CrmLead.search_count(domain) pager = request.website.pager( url="/my/opportunities", - url_args={'date_begin': date_begin, 'date_end': date_end, 'sortby': sortby, 'opportunity': opportunity}, + url_args={'date_begin': date_begin, 'date_end': date_end, 'sortby': sortby, 'filterby': filterby}, total=opp_count, page=page, step=self._items_per_page @@ -132,13 +139,13 @@ class WebsiteAccount(website_account): 'date': date_begin, 'opportunities': opportunities, 'page_name': 'opportunity', - 'filters': OrderedDict(sorted(filters.items())), - 'opportunity': opportunity, - 'sortings': sortings, - 'sortby': sortby, 'archive_groups': archive_groups, 'default_url': '/my/opportunities', - 'pager': pager + 'pager': pager, + 'searchbar_sortings': searchbar_sortings, + 'sortby': sortby, + 'searchbar_filters': OrderedDict(sorted(searchbar_filters.items())), + 'filterby': filterby, }) return request.render("website_crm_partner_assign.portal_my_opportunities", values) diff --git a/addons/website_crm_partner_assign/views/website_crm_partner_assign_templates.xml b/addons/website_crm_partner_assign/views/website_crm_partner_assign_templates.xml index 217b7c40c49..6fdc02eba2f 100644 --- a/addons/website_crm_partner_assign/views/website_crm_partner_assign_templates.xml +++ b/addons/website_crm_partner_assign/views/website_crm_partner_assign_templates.xml @@ -240,17 +240,7 @@