Skip to content

Commit

Permalink
COMCL-709: Fix case search on dashboard
Browse files Browse the repository at this point in the history
  • Loading branch information
Muhammad Shahrukh committed Aug 14, 2024
1 parent f3da082 commit ba11f06
Show file tree
Hide file tree
Showing 4 changed files with 22 additions and 15 deletions.
13 changes: 9 additions & 4 deletions ang/civicase/case/search/directives/search.directive.js
Original file line number Diff line number Diff line change
Expand Up @@ -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;
}

/**
Expand Down Expand Up @@ -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;
}
Expand All @@ -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 {
Expand Down
8 changes: 5 additions & 3 deletions ang/civicase/dashboard/directives/dashboard.directive.js
Original file line number Diff line number Diff line change
Expand Up @@ -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];
Expand Down Expand Up @@ -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 {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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]);
});
});

Expand All @@ -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', () => {
Expand Down Expand Up @@ -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]);
});
});

Expand All @@ -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]);
});
});
});
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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
}));
});
});
Expand All @@ -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] }
}));
});

Expand Down Expand Up @@ -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]
})
}));
});
Expand All @@ -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]
})
}));
});
Expand Down

0 comments on commit ba11f06

Please sign in to comment.