Filter tasks on time sheet portal group task tab.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
ā01-23-2022 12:16 AM
I want to see only particular task type in a particular state to be showing up on time sheet portal Group Tasks Tab.
I found that there is a script include "TimeCardGroupTaskSelector" called in the task selector widget. I tried adding code to the encoded query like ^stateNOT IN3,4 but it didn't work. For example: I only want to see projects which are not in closed state to be showing up here.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
ā01-23-2022 04:29 AM
Hi
if I understand the code of the Script Include right, then at least two types of task are handled there: pm_project & pm_project_task.
In case you are only interested in project tasks where the corresponding project (field top_task) is not in state 3 or 4 then your additional encoded query should look like this
^sys_class_name=pm_project_task^top_task.stateNOT IN3,4
I hope that helps.
Kind regards
Maik
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
ā01-23-2022 04:38 AM
Hi Mike, let me try your suggestion.
Thank you for your response. I'll keep you posted.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
ā01-23-2022 05:25 AM
Hi Mike,
I tried the encoded code like below but it didn't work.
var encodedQueryForGrpTsks = actualDatesQueryForGrpTsks + plannedDatesQueryForGrpTsks + '^sys_class_name=pm_project^stateNOT IN70,67,58,49,70';
Here I am trying to get the projects which are not in one of these states. It didn't work for me.
But I would like to include demand tasks as well. So I want projects and demand tasks which are not in some particular states. Here project has custom states on pm_project table and demand task has the state value coming from task so no custom state.
Any suggestions please.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
ā01-25-2022 01:10 AM
//if(groupTasks.instanceOf('pm_project') || groupTasks.instanceOf('pm_project_task')){
if(groupTasks.instanceOf('pm_project')){
var actualDatesQueryForGrpTsks = 'work_startISNOTEMPTY^work_start<=' + weekEndsOnDateTime + '^work_endISEMPTY^ORwork_end>=' + weekStartsOnDateTime + '^assignment_groupIN' + groups.join(',');
var plannedDatesQueryForGrpTsks = '^NQwork_startISEMPTY^start_date<=' + weekEndsOnDateTime + '^end_date>=' + weekStartsOnDateTime + '^assignment_groupIN' + groups.join(',');
var encodedQueryForGrpTsks = actualDatesQueryForGrpTsks + plannedDatesQueryForGrpTsks + '^sys_class_name=pm_project^stateNOT IN59,83,23,36,37';
groupTasks.addEncodedQuery(encodedQueryForGrpTsks);
}
else
groupTasks.addEncodedQuery('assignment_groupIN' + groups.join(',')+ '^sys_created_on<='+ weekEndsOnDateTime +'^active=true^ORclosed_atBETWEEN'+ weekStartsOnDateTime +'@'+ weekEndsOnDateTime + '^sys_class_name=dmn_demand_task^stateNOT IN3,4');
groupTasks.query();
return groupTasks;
},
type: 'TimeCardGroupTaskSelector'
};
This is how my code looks like. It works for demand tasks (added the condition in else) but it is not applying filters for Projects.
I am not sure what's missing.