diff --git a/ang/civicase/case/search/directives/search.directive.js b/ang/civicase/case/search/directives/search.directive.js index c7adf5e99..369a1b710 100644 --- a/ang/civicase/case/search/directives/search.directive.js +++ b/ang/civicase/case/search/directives/search.directive.js @@ -180,8 +180,10 @@ * @returns {boolean} if the current logged in user is a case manager */ function caseManagerIsMe () { + var userIdFromConfig = CRM.config.user_contact_id ? CRM.config.user_contact_id : CRM.config.cid; + return !!$scope.filters.case_manager && $scope.filters.case_manager.length === 1 && - parseInt($scope.filters.case_manager[0], 10) === CRM.config.user_contact_id; + parseInt($scope.filters.case_manager[0], 10) === userIdFromConfig; } /** @@ -371,7 +373,8 @@ function isFilterEqualToLoggedInUser (filterName) { var filterValue = $scope.filters[filterName]; var isEqualToUserContactId = filterValue === 'user_contact_id'; - var isSelectingLoggedInUser = _.isEqual(filterValue, [CRM.config.user_contact_id]); + var userIdFromConfig = CRM.config.user_contact_id ? CRM.config.user_contact_id : CRM.config.cid; + var isSelectingLoggedInUser = _.isEqual(filterValue, [userIdFromConfig]); return isEqualToUserContactId || isSelectingLoggedInUser; } @@ -396,13 +399,15 @@ * Watcher for relationshipType filter */ function relationshipTypeWatcher () { + var userIdFromConfig = CRM.config.user_contact_id ? CRM.config.user_contact_id : CRM.config.cid; + if ($scope.relationshipType) { $scope.relationshipType[0] === 'is_case_manager' - ? $scope.filters.case_manager = [CRM.config.user_contact_id] + ? $scope.filters.case_manager = [userIdFromConfig] : delete ($scope.filters.case_manager); if ($scope.relationshipType[0] === 'is_involved') { - $scope.filters.contact_involved = [CRM.config.user_contact_id]; + $scope.filters.contact_involved = [userIdFromConfig]; $scope.filters.has_activities_for_involved_contact = includeActivitiesForInvolvedContact ? 1 : 0; } else { diff --git a/ang/civicase/dashboard/directives/dashboard.directive.js b/ang/civicase/dashboard/directives/dashboard.directive.js index 7c1204b0b..2e5f7b9a0 100644 --- a/ang/civicase/dashboard/directives/dashboard.directive.js +++ b/ang/civicase/dashboard/directives/dashboard.directive.js @@ -53,7 +53,7 @@ */ $scope.linkToManageCase = function (type, status) { var cf = { case_type_category: $scope.currentCaseCategory }; - var userContactId = [CRM.config.user_contact_id]; + var userContactId = [CRM.config.user_contact_id ? CRM.config.user_contact_id : CRM.config.cid]; if (type) { cf.case_type_id = [type]; @@ -106,12 +106,14 @@ * @param {string} newValue the new relationship value. */ function caseRelationshipTypeWatcher (newValue) { + var userIdFromConfig = CRM.config.user_contact_id ? CRM.config.user_contact_id : CRM.config.cid; + newValue === 'is_case_manager' - ? $scope.activityFilters.case_filter.case_manager = CRM.config.user_contact_id + ? $scope.activityFilters.case_filter.case_manager = userIdFromConfig : delete ($scope.activityFilters.case_filter.case_manager); if (newValue === 'is_involved') { - $scope.activityFilters.case_filter.contact_involved = { IN: [CRM.config.user_contact_id] }; + $scope.activityFilters.case_filter.contact_involved = { IN: [userIdFromConfig] }; $scope.activityFilters.case_filter.has_activities_for_involved_contact = includeActivitiesForInvolvedContact ? 1 : 0; } else { diff --git a/ang/test/civicase/case/search/directives/search.directive.spec.js b/ang/test/civicase/case/search/directives/search.directive.spec.js index 21045f97d..74f15c11d 100644 --- a/ang/test/civicase/case/search/directives/search.directive.spec.js +++ b/ang/test/civicase/case/search/directives/search.directive.spec.js @@ -162,7 +162,7 @@ }); it('sets the case manager filter equal to my id', () => { - expect($scope.filters.case_manager).toEqual([CRM.config.user_contact_id]); + expect($scope.filters.case_manager).toEqual([CRM.config.user_contact_id ? CRM.config.user_contact_id : CRM.config.cid]); }); }); @@ -173,7 +173,7 @@ }); it('sets the contact id filter equal to my id', function () { - expect($scope.filters.contact_involved).toEqual([CRM.config.user_contact_id]); + expect($scope.filters.contact_involved).toEqual([CRM.config.user_contact_id ? CRM.config.user_contact_id : CRM.config.cid]); }); it('filters by case activities related to the involved contact', () => { @@ -304,7 +304,7 @@ }); it('sets the case manager filter equal to the current logged in user id', () => { - expect($scope.filters.case_manager).toEqual([CRM.config.user_contact_id]); + expect($scope.filters.case_manager).toEqual([CRM.config.user_contact_id ? CRM.config.user_contact_id : CRM.config.cid]); }); }); @@ -324,7 +324,7 @@ }); it('sets the contact involved filter equal to the current logged in user id', () => { - expect($scope.filters.contact_involved).toEqual([CRM.config.user_contact_id]); + expect($scope.filters.contact_involved).toEqual([CRM.config.user_contact_id ? CRM.config.user_contact_id : CRM.config.cid]); }); }); }); diff --git a/ang/test/civicase/dashboard/directives/dashboard.directive.spec.js b/ang/test/civicase/dashboard/directives/dashboard.directive.spec.js index 7766cfd0a..646358924 100644 --- a/ang/test/civicase/dashboard/directives/dashboard.directive.spec.js +++ b/ang/test/civicase/dashboard/directives/dashboard.directive.spec.js @@ -64,7 +64,7 @@ it('filters the cases and activties where the user is the manager', function () { expect($scope.activityFilters.case_filter).toEqual(jasmine.objectContaining({ - case_manager: CRM.config.user_contact_id + case_manager: CRM.config.user_contact_id ? CRM.config.user_contact_id : CRM.config.cid })); }); }); @@ -78,7 +78,7 @@ it('filters the cases and activties where the user is involved', function () { expect($scope.activityFilters.case_filter).toEqual(jasmine.objectContaining({ - contact_involved: { IN: [CRM.config.user_contact_id] } + contact_involved: { IN: [CRM.config.user_contact_id ? CRM.config.user_contact_id : CRM.config.cid] } })); }); @@ -129,7 +129,7 @@ case_type_category: '1', case_type_id: ['type'], status_id: ['status'], - case_manager: [CRM.config.user_contact_id] + case_manager: [CRM.config.user_contact_id ? CRM.config.user_contact_id : CRM.config.cid] }) })); }); @@ -150,7 +150,7 @@ case_type_category: '1', case_type_id: ['type'], status_id: ['status'], - contact_involved: [CRM.config.user_contact_id] + contact_involved: [CRM.config.user_contact_id ? CRM.config.user_contact_id : CRM.config.cid] }) })); });