diff --git a/app/assets/javascripts/app/controllers/agent_ticket_create/sidebar_customer.coffee b/app/assets/javascripts/app/controllers/agent_ticket_create/sidebar_customer.coffee index b4b80bdeb..1dbecf1fb 100644 --- a/app/assets/javascripts/app/controllers/agent_ticket_create/sidebar_customer.coffee +++ b/app/assets/javascripts/app/controllers/agent_ticket_create/sidebar_customer.coffee @@ -2,10 +2,16 @@ class SidebarCustomer extends App.Controller sidebarItem: => return if !@permissionCheck('ticket.agent') return if _.isEmpty(@params.customer_id) + counter = '' + if App.User.exists(@params.customer_id) + user = App.User.find(@params.customer_id) + counter = @sidebarItemCounter(user) { head: 'Customer' name: 'customer' icon: 'person' + counter: counter + counterPossible: true actions: [ { title: 'Edit Customer' @@ -16,12 +22,28 @@ class SidebarCustomer extends App.Controller callback: @showCustomer } + sidebarItemCounter: (user) -> + counter = '' + if user && user.preferences && user.preferences.tickets_open + counter = user.preferences.tickets_open + counter + + sidebarItemUpdate: (user) => + counter = @sidebarItemCounter(user) + element = @el.closest('.tabsSidebar-holder').find('.tabsSidebar .tabsSidebar-tabs .tabsSidebar-tab[data-tab=customer] .js-tabCounter') + if !counter || counter is 0 + element.addClass('hide') + else + element.removeClass('hide') + element.text(counter) + showCustomer: (el) => @el = el return if _.isEmpty(@params.customer_id) new App.WidgetUser( el: @el user_id: @params.customer_id + callback: @sidebarItemUpdate ) editCustomer: => diff --git a/app/assets/javascripts/app/controllers/ticket_zoom/sidebar_customer.coffee b/app/assets/javascripts/app/controllers/ticket_zoom/sidebar_customer.coffee index 92bfd8c65..01c4751be 100644 --- a/app/assets/javascripts/app/controllers/ticket_zoom/sidebar_customer.coffee +++ b/app/assets/javascripts/app/controllers/ticket_zoom/sidebar_customer.coffee @@ -1,10 +1,16 @@ class SidebarCustomer extends App.Controller sidebarItem: => return if !@permissionCheck('ticket.agent') + counter = '' + if App.User.exists(@ticket.customer_id) + user = App.User.find(@ticket.customer_id) + counter = @sidebarItemCounter(user) items = { head: 'Customer' name: 'customer' icon: 'person' + counter: counter + counterPossible: true actions: [ { title: 'Change Customer' @@ -22,11 +28,27 @@ class SidebarCustomer extends App.Controller } items + sidebarItemCounter: (user) -> + counter = '' + if user && user.preferences && user.preferences.tickets_open + counter = user.preferences.tickets_open + counter + + sidebarItemUpdate: (user) => + counter = @sidebarItemCounter(user) + element = @el.closest('.tabsSidebar-holder').find('.tabsSidebar .tabsSidebar-tabs .tabsSidebar-tab[data-tab=customer] .js-tabCounter') + if !counter || counter is 0 + element.addClass('hide') + else + element.removeClass('hide') + element.text(counter) + showCustomer: (el) => @el = el new App.WidgetUser( el: @el user_id: @ticket.customer_id + callback: @sidebarItemUpdate ) editCustomer: => diff --git a/app/assets/javascripts/app/models/ticket.coffee b/app/assets/javascripts/app/models/ticket.coffee index fb8b879b1..46d087d2d 100644 --- a/app/assets/javascripts/app/models/ticket.coffee +++ b/app/assets/javascripts/app/models/ticket.coffee @@ -251,7 +251,7 @@ class App.Ticket extends App.Model group_ids = App.Session.get('group_ids') if _.isEmpty(group_ids[@group_id]) return false - else if group_ids[@group_id] && !_.include(group_ids[@group_id], 'edit') && !_.include(group_ids[@group_id], 'full') + else if group_ids[@group_id] && !_.include(group_ids[@group_id], 'change') && !_.include(group_ids[@group_id], 'full') return false true diff --git a/app/assets/javascripts/app/views/generic/sidebar_tabs.jst.eco b/app/assets/javascripts/app/views/generic/sidebar_tabs.jst.eco index d1bd32527..30366fd86 100644 --- a/app/assets/javascripts/app/views/generic/sidebar_tabs.jst.eco +++ b/app/assets/javascripts/app/views/generic/sidebar_tabs.jst.eco @@ -14,6 +14,9 @@