Skip to content
Merged
Show file tree
Hide file tree
Changes from 108 commits
Commits
Show all changes
109 commits
Select commit Hold shift + click to select a range
07c1ce3
36989 feat(API by-template-task): switch from template_task_id to tem…
Maria-Lordwill Oct 27, 2025
922c427
36988 refactor(processes): remove deprecated template_task_id referen…
EBirkenfeld Oct 31, 2025
01f6d34
36988 refactor(reports): update TaskForTasksDigest and related querie…
EBirkenfeld Oct 31, 2025
8db9d10
36989 feat(templateTaskId): prepare for changing templateTaskId param…
Maria-Lordwill Nov 4, 2025
d7f57d6
Merge branch 'master' of github.com:pneumaticapp/pneumaticworkflow in…
Maria-Lordwill Nov 5, 2025
2d9de91
Merge remote-tracking branch 'origin/master' into backend/template/36…
EBirkenfeld Nov 5, 2025
e1f4a2e
36989 feat(API): for /ws/workflows/new-task and GET /v3/tasks/ switch…
Maria-Lordwill Nov 7, 2025
b4a9bd6
43469 feat(filters): change tab buttons
Maria-Lordwill Nov 11, 2025
579badc
43469 feat(filters): add filters into grid viev; add placeholder into…
Maria-Lordwill Nov 11, 2025
a501da4
43469 feat(filters): add multiple choise for template filter
Maria-Lordwill Nov 12, 2025
12c2b1d
43469 feat(filters): add numbers to template filter option
Maria-Lordwill Nov 13, 2025
78e8c07
43469 feat(filters): add checkbox to 'All options'
Maria-Lordwill Nov 13, 2025
c1e0970
43469 feat(filters): add starter filter to top
Maria-Lordwill Nov 13, 2025
3bd71d2
43469 refactor(filters): extract StarterFilterSelect into a separate …
Maria-Lordwill Nov 13, 2025
d6d2287
43589 feat(templates): Split GET /templates/titles API into two separ…
pneumojoseph Nov 13, 2025
47c6e68
43469 refactor(filters): extract TemplateFilterSelect into a separate…
Maria-Lordwill Nov 14, 2025
a53951c
43469 feat(filters) replace the header in the 'starters' column in th…
Maria-Lordwill Nov 14, 2025
7b2def1
Merge branch 'backend/tasks/43589__add_titles_api' of github.com:pneu…
Maria-Lordwill Nov 14, 2025
b6f47f9
43469 feat(API): for the Tasks page, change GET /templates/titles to …
Maria-Lordwill Nov 14, 2025
e8bff1d
43469 feat(API): for the Highlights page, in the response rename the …
Maria-Lordwill Nov 14, 2025
9b6fb3f
43469(API): for the Workflows page, change GET /templates/titles to G…
Maria-Lordwill Nov 17, 2025
a2813ec
43469 feat(status filter): add icon
Maria-Lordwill Nov 17, 2025
da77273
43469 feat(filters): add radio sign to statusFilter & sortingTitles
Maria-Lordwill Nov 17, 2025
115af17
43469 feat(filters): add performer filter
Maria-Lordwill Nov 17, 2025
21b4c0b
43469 feat(filters, performer filter):
Maria-Lordwill Nov 18, 2025
4185e41
43469 feat(task filter): add the task filter at the top (in progress)
Maria-Lordwill Nov 18, 2025
bf5d148
43469 feat(task filter): add a new prop groupedOptions
Maria-Lordwill Nov 20, 2025
851bbf3
43469 feat(tasks filter, filters): change loadTemplateSteps logic fro…
Maria-Lordwill Nov 20, 2025
21f6bd6
43469 feat(task filter): add handling of previously selected template…
Maria-Lordwill Nov 21, 2025
6285995
43469 feat(task filter): add / update props: renderPlaceholder, isDis…
Maria-Lordwill Nov 21, 2025
8470a6c
43469 feat(task filter): add logic for working with GroupedOptions pr…
Maria-Lordwill Nov 24, 2025
e60b828
43469 fix(task filter): - move saving of prevTemplatesIds to the mome…
Maria-Lordwill Nov 25, 2025
25e751e
43469 feat(task filter, filters): add the flatGroupedOptions paramete…
Maria-Lordwill Nov 25, 2025
a5f9cec
43469 feat(task filter): add styles for template name in task filter;…
Maria-Lordwill Nov 25, 2025
ba658b3
43469 feat(task filter, status filter): when selecting a template, ta…
Maria-Lordwill Nov 26, 2025
b50a2b0
43469 fix(requests): remove double requests for GET accounts/user/cou…
Maria-Lordwill Nov 26, 2025
f2afa4a
43469 feat(grid page): according to the mockup, updated widths, paddi…
Maria-Lordwill Nov 27, 2025
bce0a14
43469 feat(grid mobile): bring the mobile grid view in line with the …
Maria-Lordwill Nov 27, 2025
b89085a
43469 feat(grid page): update the run workflow buttons according to t…
Maria-Lordwill Nov 28, 2025
b3f7a2a
43469 feat(grid page): replaced the colors on the cards for the task …
Maria-Lordwill Nov 28, 2025
e1c6b96
43469 feat(grid page): add a smooth transition between table and grid…
Maria-Lordwill Nov 28, 2025
c2aef32
43469 feat(filters): on desktop, move filters to the next line if the…
Maria-Lordwill Dec 1, 2025
f41018f
43469 feat(workflow table): UI changes
Maria-Lordwill Dec 1, 2025
431cfd9
43469 fix(workflow table): fix bugs
Maria-Lordwill Dec 1, 2025
3fff736
43469 feat(requests): remove double request to GET templates/titles-b…
Maria-Lordwill Dec 2, 2025
d1d9edb
43469 feat(requests): remove double request to GET workflows/count/by…
Maria-Lordwill Dec 2, 2025
7673303
43469 fix(requests): correct checkFilterDependenciesChanged function
Maria-Lordwill Dec 3, 2025
3cc7a25
43469 feat(requests): move refs update into useLayoutEffect so that a…
Maria-Lordwill Dec 4, 2025
13067a0
43469 feat(requests): remove the GET /templates/titles-by-workflows r…
Maria-Lordwill Dec 5, 2025
8b66be7
refactor(workflows redux): migrate to RTK - create slice.ts
Maria-Lordwill Dec 5, 2025
88f5d23
43469 refactor(workflows redux): migrate to RTK - change imports part 1
Maria-Lordwill Dec 8, 2025
eaf976f
43469 refactor(workflows redux): migrate to RTK - change imports part 2
Maria-Lordwill Dec 8, 2025
0979767
43469 refactor(workflows redux): migrate to RTK - change imports part 3
Maria-Lordwill Dec 9, 2025
8a6494a
43469 refactor(workflows redux): migrate to RTK - remove reduser.ts
Maria-Lordwill Dec 9, 2025
6a6bbb5
43469 refactor(workflows redux): migrate to RTK - add async actions
Maria-Lordwill Dec 9, 2025
c300089
43469 refactor(workflows redux): migrate to RTK - async actions part 2
Maria-Lordwill Dec 9, 2025
994aa14
43469 refactor(workflows redux): migrate to RTK - async actions part …
Maria-Lordwill Dec 10, 2025
048a0ee
Merge branch 'master' of github.com:pneumaticapp/pneumaticworkflow in…
Maria-Lordwill Dec 10, 2025
9030429
43180 feat(workflow table): enable filter activation on click of the …
Maria-Lordwill Dec 10, 2025
2ad3b23
43469 fix(task counters): correct dependencies
Maria-Lordwill Dec 11, 2025
98be2c0
Merge branch 'frontend/workflows/43469__move_filters_to_header' of gi…
Maria-Lordwill Dec 11, 2025
af7f995
43469 refactor(styles): clean up CSS files
Maria-Lordwill Dec 12, 2025
f9681f7
43469 refactor(selectors): get selectors in a separate file
Maria-Lordwill Dec 12, 2025
56e45de
43469 refactor(selectors): get selectors into a separate file (part 2…
Maria-Lordwill Dec 15, 2025
59095af
43469 refactor(multiple files): clean up code (part 2)
Maria-Lordwill Dec 15, 2025
358a45c
Merge branch 'master' of github.com:pneumaticapp/pneumaticworkflow in…
Maria-Lordwill Dec 16, 2025
b26dfcb
Merge branch 'frontend/workflows/43469__move_filters_to_header' of gi…
Maria-Lordwill Dec 16, 2025
81f4d6a
Merge branch 'master' into backend/template/36988__delete_template_ta…
EBirkenfeld Dec 16, 2025
5102b73
43180 feat(workflow table): enable filter activation on click of the …
Maria-Lordwill Dec 16, 2025
00bb612
Merge branch 'master' into backend/template/36988__delete_template_ta…
EBirkenfeld Dec 16, 2025
ec615ed
43469 fix(filters): correct performers counters on page reload and wo…
Maria-Lordwill Dec 17, 2025
5c81779
Merge branch 'backend/template/36988__delete_template_task_id' of git…
Maria-Lordwill Dec 17, 2025
4010609
43180 merge(table context - links): resolve conflicts and merge 36989…
Maria-Lordwill Dec 17, 2025
e9d8743
Merge branch 'frontend/workflows/43469__move_filters_to_header' into …
Maria-Lordwill Dec 17, 2025
08c2ad2
43180 feat(API): switch workflows endpoint to template_task_api_names
Maria-Lordwill Dec 26, 2025
20bec16
43180 refactor(workflow filters): remove unused components
Maria-Lordwill Dec 26, 2025
4f4d970
43180 feat(workflow table): enable filter activation on click of the …
Maria-Lordwill Dec 26, 2025
8d8d37b
43180 refactor(table view): clean up code
Maria-Lordwill Dec 29, 2025
38188b8
43180 refactor(tasks redux): migrate to RTK - move sync reducers into…
Maria-Lordwill Dec 29, 2025
531b5e5
43180 refactor(tasks redux): migrate to RTK - move async reducers int…
Maria-Lordwill Dec 30, 2025
87de61f
43180 refactor(table view): clean up code part 2
Maria-Lordwill Dec 30, 2025
7e9cd01
43180 fix(tasks filter): when selecting a task, add a choice of its t…
Maria-Lordwill Dec 30, 2025
4e61192
42381 fix(filters): preserve latest actual filter selection for filte…
Maria-Lordwill Jan 13, 2026
d96b672
42381 fix(filters): сancel active requests when clearing template fil…
Maria-Lordwill Jan 13, 2026
09a6a0d
42381 fix(filters): correct error handling
Maria-Lordwill Jan 14, 2026
a9b6abb
42381 fix(filters): cancel previous requests (by-current-performer, b…
Maria-Lordwill Jan 14, 2026
041426b
42381 fix(filters): add separate action to cancel requests when clear…
Maria-Lordwill Jan 15, 2026
da61a38
42381 fix(filters): сancel previous requests on clearFilters button
Maria-Lordwill Jan 15, 2026
b4f4329
43469 feat(mobile filters): add horizontal scroll to mobile filters
Maria-Lordwill Jan 15, 2026
37cfc9d
43469 fix(filters): сorrect dropdown clipping in scrollable filters c…
Maria-Lordwill Jan 16, 2026
f836afa
42381 refactor(performer filter): transition to the use of selectors
Maria-Lordwill Jan 16, 2026
5c8ffc1
43469 test(select menu): update snapshot for positionFixed prop
Maria-Lordwill Jan 16, 2026
f14ca3a
Merge branch 'frontend/workflows/43469__move_filters_to_header' into …
Maria-Lordwill Jan 16, 2026
c7f60a2
42381 merge(mobile filters): resolve conflicts and merge 43469 into 4…
Maria-Lordwill Jan 16, 2026
3b0de56
43469 fix(filters): correct infinite render loop in TuneViewModal
Maria-Lordwill Jan 20, 2026
dded26d
43469 fix(filters): remove only deleted templates' steps from stepsId…
Maria-Lordwill Jan 20, 2026
8200f9f
43469 fix(filters): write 'Unknown starter' when starterId is wrong
Maria-Lordwill Jan 20, 2026
a1cea56
43469 fix(filters): remove clearing of stepsIdsFilter on empty list
Maria-Lordwill Jan 21, 2026
1b0f6f7
43469 fix(filters) align counters in filters
Maria-Lordwill Jan 21, 2026
76c5192
43469 fix(filters): remove 'all options' item from filters
Maria-Lordwill Jan 21, 2026
78f7892
43180 merge(filters): resolve conflicts and merge 43469 into 443180
Maria-Lordwill Jan 21, 2026
41686f8
Merge branch 'frontend/workflows/43180__add_a_transition_to_the_corre…
Maria-Lordwill Jan 21, 2026
565bb13
42381 refactor(requests): use race/take pattern for cancelTemplateFil…
Maria-Lordwill Jan 22, 2026
e09320d
42381 refactor(requests): use race/take pattern for cancelCurrentPerf…
Maria-Lordwill Jan 22, 2026
a9b6002
42381 refactor(redux): remove unnecessary checks
Maria-Lordwill Jan 26, 2026
fa31c96
43469 fix(performer filter): display 'unknown performer' when the 'pr…
Maria-Lordwill Jan 26, 2026
8929568
42381 refactor(filterSelect): update select-all checkbox when manuall…
Maria-Lordwill Jan 26, 2026
ecb1efa
Merge branch 'frontend/workflows/43469__move_filters_to_header' into …
Maria-Lordwill Jan 26, 2026
8c9a0fa
42381 fix(statusFIlter): use takeLatest for list to avoid dropping re…
Maria-Lordwill Feb 10, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions backend/src/processes/enums.py
Original file line number Diff line number Diff line change
Expand Up @@ -411,6 +411,14 @@ class TaskStatus:
(SKIPPED, SKIPPED),
)

LITERALS = Literal[
PENDING,
ACTIVE,
COMPLETED,
DELAYED,
SKIPPED,
]


class TemplateIntegrationType:

Expand Down
4 changes: 0 additions & 4 deletions backend/src/processes/models/workflows/task.py
Original file line number Diff line number Diff line change
Expand Up @@ -580,8 +580,6 @@ def get_data_for_list(self):
if self.due_date else None
),
workflow_name=self.workflow.name,
# TODO Remove in https://my.pneumatic.app/workflows/36988/
template_task_id=self.workflow.template_id,
template_task_api_name=self.api_name,
template_id=self.workflow.template_id,
is_urgent=self.is_urgent,
Expand Down Expand Up @@ -634,8 +632,6 @@ class Meta:
date_completed = models.DateTimeField(null=True)
date_completed_tsp = models.FloatField(null=True)
template_id = models.IntegerField(null=True)
# TODO Remove in https://my.pneumatic.app/workflows/36988/
template_task_id = models.IntegerField(null=True)
template_task_api_name = models.CharField(max_length=100, null=True)
is_urgent = models.BooleanField()
due_date = models.DateTimeField(null=True)
Expand Down
126 changes: 91 additions & 35 deletions backend/src/processes/queries.py
Original file line number Diff line number Diff line change
Expand Up @@ -881,7 +881,6 @@ def _get_inner_sql(self):
)

SELECT
tt.id AS template_task_id,
tt.api_name AS template_task_api_name,
COALESCE(result.workflows_count, 0) AS workflows_count
FROM template_tasks tt
Expand Down Expand Up @@ -1030,7 +1029,6 @@ def _get_tables(self):
return result

def _get_inner_sql(self):
# TODO Remove in https://my.pneumatic.app/workflows/36988/
return f"""
SELECT DISTINCT ON (pt.id) pt.id,
pt.name,
Expand All @@ -1048,7 +1046,6 @@ def _get_inner_sql(self):
EPOCH FROM pt.date_completed AT TIME ZONE 'UTC'
) AS date_completed_tsp,
pw.template_id as template_id,
pt.id as template_task_id,
pt.api_name as template_task_api_name,
pt.api_name,
pt.is_urgent,
Expand Down Expand Up @@ -1648,7 +1645,7 @@ def get_sql(self) -> Tuple[str, dict]:
return query, self.params


class TemplateTitlesEventsQuery(SqlQueryObject):
class TemplateTitlesByEventsQuery(SqlQueryObject):
event_types = [
WorkflowEventType.COMMENT,
WorkflowEventType.TASK_COMPLETE,
Expand Down Expand Up @@ -1707,7 +1704,7 @@ def get_sql(self):
SELECT
t.id,
t.name,
COUNT(DISTINCT pw.id) FILTER (WHERE pw.status = 0) AS workflows_count
COUNT(DISTINCT pw.id) FILTER (WHERE pw.status = 0) AS count
FROM processes_template AS t
INNER JOIN processes_workflow AS pw ON (
t.id = pw.template_id AND pw.is_deleted = False
Expand All @@ -1723,46 +1720,96 @@ def get_sql(self):
AND t.account_id = %(account_id)s
AND NOT (t.type IN {template_types})
GROUP BY t.id, t.name
ORDER BY workflows_count DESC, t.name ASC """
ORDER BY count DESC, t.name ASC """
return sql, self.params


class TemplateTitlesQuery(SqlQueryObject, DereferencedPerformersMixin):
class TemplateTitlesByWorkflowsQuery(
SqlQueryObject,
DereferencedPerformersMixin,
DereferencedOwnersMixin,
):

def __init__(
self,
user: User,
with_tasks_in_progress: Optional[bool] = None,
workflows_status: Optional[WorkflowStatus] = None,
status: Optional[WorkflowStatus] = None,
):
self.params = {
'account_id': user.account.id,
'user_id': user.id,
}
self.with_tasks_in_progress = with_tasks_in_progress
if workflows_status:
self.status = WorkflowApiStatus.MAP[workflows_status]
if status:
self.status = WorkflowApiStatus.MAP[status]
self.params['status'] = self.status
else:
self.status = None

def _get_from(self):
def _get_filter_by_type(self):
result, params = self._to_sql_list(
values=TemplateType.TYPES_ONBOARDING,
prefix='template_type',
)
self.params.update(params)
return f"t.type NOT IN {result}"

def _get_workflows_count(self):
result = """
FROM processes_template AS t
INNER JOIN processes_workflow pw
ON t.id = pw.template_id """
if self.with_tasks_in_progress is None:
result += """
INNER JOIN processes_workflow_owners pto
ON pw.id = pto.workflow_id AND pto.user_id = %(user_id)s"""
else:
result += f"""
INNER JOIN processes_task pt
ON pw.id = pt.workflow_id
JOIN ({self.dereferenced_performers()}) dereferenced_performers
ON pt.id = dereferenced_performers.task_id"""
SELECT template_id, COUNT(id) AS count
FROM processes_workflow
WHERE is_deleted IS FALSE
AND account_id = %(account_id)s
"""
if self.status is not None:
result += "AND status = %(status)s"
result += """
GROUP BY template_id
"""
return result

def get_sql(self) -> Tuple[str, dict]:
return f"""
SELECT *
FROM (
SELECT
t.id,
t.name,
COALESCE(pw.count, 0) AS count
FROM (
{self.dereferenced_owners()}
) pto
INNER JOIN processes_template t
ON t.id = pto.template_id
LEFT JOIN (
{self._get_workflows_count()}
) pw
ON t.id = pw.template_id
WHERE
t.is_deleted IS FALSE
AND t.account_id = %(account_id)s
AND {self._get_filter_by_type()}
GROUP BY t.id, pw.count
) result
ORDER BY count DESC, name ASC
""", self.params


class TemplateTitlesByTasksQuery(
SqlQueryObject,
DereferencedPerformersMixin,
):

def __init__(
self,
user: User,
status: TaskStatus.LITERALS = TaskStatus.ACTIVE,
):
self.params = {
'account_id': user.account.id,
'user_id': user.id,
}
self.status = status

def _get_filter_by_type(self):
result, params = self._to_sql_list(
values=TemplateType.TYPES_ONBOARDING,
Expand All @@ -1776,31 +1823,40 @@ def _get_where(self):
WHERE t.is_deleted IS FALSE
AND t.account_id = %(account_id)s
AND pw.is_deleted IS FALSE
AND pt.is_deleted IS FALSE
AND {self._get_filter_by_type()}"""
if self.with_tasks_in_progress is True:

if self.status == TaskStatus.ACTIVE:
result += f"""
AND pt.is_deleted IS FALSE
AND dereferenced_performers.is_completed IS FALSE
AND pt.status = '{TaskStatus.ACTIVE}'
AND pw.status = {WorkflowStatus.RUNNING}"""
elif self.with_tasks_in_progress is False:
elif self.status == TaskStatus.DELAYED:
result += f"""
AND dereferenced_performers.is_completed IS FALSE
AND pt.status = '{TaskStatus.DELAYED}'
AND pw.status = {WorkflowStatus.RUNNING}"""
else:
result += """
AND pt.is_deleted IS FALSE
AND dereferenced_performers.is_completed IS TRUE"""
elif self.status is not None:
result += "AND pw.status = %(status)s"
return result

def get_sql(self) -> Tuple[str, dict]:
return f"""
SELECT
t.id,
t.name,
COUNT(DISTINCT pw.id) AS workflows_count
{self._get_from()}
COUNT(DISTINCT pt.id) AS count
FROM processes_template AS t
INNER JOIN processes_workflow pw
ON t.id = pw.template_id
INNER JOIN processes_task pt
ON pw.id = pt.workflow_id
JOIN ({self.dereferenced_performers()}) dereferenced_performers
ON pt.id = dereferenced_performers.task_id
{self._get_where()}
GROUP BY t.id
ORDER BY workflows_count DESC, t.name ASC
ORDER BY count DESC, t.name ASC
""", self.params


Expand Down
34 changes: 16 additions & 18 deletions backend/src/processes/serializers/templates/template.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@
ModelSerializer,
Serializer,
SerializerMethodField,
ValidationError,
)

from src.generics.exceptions import BaseServiceException
Expand All @@ -35,7 +34,7 @@
PerformerType,
TemplateOrdering,
TemplateType,
WorkflowApiStatus,
WorkflowApiStatus, TaskStatus,
)
from src.processes.messages import template as messages
from src.processes.models.templates.kickoff import Kickoff
Expand Down Expand Up @@ -800,32 +799,31 @@ def get_response_data(self) -> Dict[str, Any]:
return self.instance.get_draft()


class TemplateTitlesRequestSerializer(
class TemplateTitlesByWorkflowsSerializer(
CustomValidationErrorMixin,
Serializer,
):

with_tasks_in_progress = BooleanField(
required=False,
allow_null=True,
default=None,
)
workflows_status = ChoiceField(
status = ChoiceField(
choices=WorkflowApiStatus.CHOICES,
required=False,
allow_null=False,
)

def validate(self, attrs):
if (
attrs.get('workflows_status') is not None
and attrs.get('with_tasks_in_progress') is not None
):
raise ValidationError(messages.MSG_PT_0022)
return attrs

class TemplateTitlesByTasksSerializer(
CustomValidationErrorMixin,
Serializer,
):

class TemplateTitlesEventsRequestSerializer(
status = ChoiceField(
choices=TaskStatus.CHOICES,
required=False,
allow_null=False,
)


class TemplateTitlesByEventsSerializer(
CustomValidationErrorMixin,
Serializer,
):
Expand Down Expand Up @@ -956,4 +954,4 @@ class TemplateTitlesSerializer(Serializer):

id = IntegerField(read_only=True)
name = CharField(read_only=True)
workflows_count = IntegerField(read_only=True)
count = IntegerField(read_only=True)
13 changes: 0 additions & 13 deletions backend/src/processes/serializers/workflows/task.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,6 @@
MSG_PW_0057,
MSG_PW_0083,
)
from src.processes.models.templates.task import TaskTemplate
from src.processes.models.workflows.task import (
Task,
TaskForList,
Expand Down Expand Up @@ -191,8 +190,6 @@ class Meta:
'date_started_tsp',
'date_completed_tsp',
'template_id',
# TODO Remove in https://my.pneumatic.app/workflows/36988/
'template_task_id',
'template_task_api_name',
'is_urgent',
'status',
Expand All @@ -213,19 +210,9 @@ class TaskListFilterSerializer(
search = serializers.CharField(required=False)
template_id = serializers.IntegerField(required=False)
template_task_api_name = serializers.CharField(required=False)
# TODO Remove in https://my.pneumatic.app/workflows/36988/
template_task_id = serializers.IntegerField(required=False)
limit = serializers.IntegerField(required=False)
offset = serializers.IntegerField(required=False)

# TODO Remove in https://my.pneumatic.app/workflows/36988/
def validate(self, attrs):
if attrs.get('template_task_id') is not None:
task = TaskTemplate.objects.get(id=attrs['template_task_id'])
attrs['template_task_api_name'] = task.api_name
attrs.pop('template_task_id', None)
return attrs

def validate_search(self, value: str) -> Optional[str]:
removed_chars_regex = r'\s\s+'
clear_text = re.sub(removed_chars_regex, '', value).strip()
Expand Down
16 changes: 0 additions & 16 deletions backend/src/processes/serializers/workflows/workflow.py
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,6 @@
WorkflowStatus,
)
from src.processes.messages import workflow as messages
from src.processes.models.templates.task import TaskTemplate
from src.processes.models.workflows.task import Task
from src.processes.models.workflows.workflow import Workflow
from src.processes.paginations import WorkflowListPagination
Expand Down Expand Up @@ -429,8 +428,6 @@ class WorkflowListFilterSerializer(
template_id = serializers.CharField(required=False)
template_task_api_name = serializers.CharField(required=False)
fields = serializers.CharField(required=False)
# TODO Remove in https://my.pneumatic.app/workflows/36988/
template_task_id = serializers.CharField(required=False)
current_performer = serializers.CharField(required=False)
current_performer_group_ids = serializers.CharField(required=False)
workflow_starter = serializers.CharField(required=False)
Expand Down Expand Up @@ -464,10 +461,6 @@ def validate_template_task_api_name(self, value):
def validate_fields(self, value):
return self.get_valid_list_strings(value)

# TODO Remove in https://my.pneumatic.app/workflows/36988/
def validate_template_task_id(self, value):
return self.get_valid_list_integers(value)

def validate_current_performer(self, value):
return self.get_valid_list_integers(value)

Expand All @@ -483,15 +476,6 @@ def validate_search(self, value: str) -> str:
return clear_text if clear_text else None

def validate(self, data):
# TODO Remove in https://my.pneumatic.app/workflows/36988/
template_task_ids = data.get('template_task_id')
if template_task_ids:
data['template_task_api_name'] = (
TaskTemplate.objects
.filter(id__in=template_task_ids)
.values_list('api_name', flat=True)
)
data.pop('template_task_id', None)
status = data.get('status')
current_performer = data.get('current_performer')
current_performer_group_ids = data.get('current_performer_group_ids')
Expand Down
Loading