Skip to content

Commit 455efc6

Browse files
authored
Dont prepare serialized rows if there is no trigger associated with the table (baserow#4284)
1 parent 8e9a0de commit 455efc6

File tree

3 files changed

+27
-11
lines changed

3 files changed

+27
-11
lines changed

backend/src/baserow/contrib/automation/nodes/node_types.py

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
from typing import Any, Dict, List, Optional
1+
from typing import Any, Callable, Dict, List, Optional
22

33
from django.contrib.auth.models import AbstractUser
44
from django.db import router
@@ -341,14 +341,14 @@ def before_move(
341341
def on_event(
342342
self,
343343
services: QuerySet[Service],
344-
event_payload: Optional[List[Dict]] = None,
344+
event_payload: List[Dict] | None | Callable = None,
345345
user: Optional[AbstractUser] = None,
346346
):
347347
from baserow.contrib.automation.workflows.handler import (
348348
AutomationWorkflowHandler,
349349
)
350350

351-
triggers = (
351+
triggers = list(
352352
self.model_class.objects.filter(
353353
service__in=services,
354354
)
@@ -363,6 +363,9 @@ def on_event(
363363
.select_related("workflow__automation__workspace")
364364
)
365365

366+
if triggers and callable(event_payload):
367+
event_payload = event_payload()
368+
366369
for trigger in triggers:
367370
workflow = trigger.workflow
368371

backend/src/baserow/contrib/integrations/local_baserow/service_types.py

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2283,18 +2283,22 @@ def _handle_signal(
22832283
model: "GeneratedTableModel",
22842284
**kwargs,
22852285
):
2286-
serializer = get_row_serializer_class(
2287-
model, RowSerializer, is_response=True, user_field_names=True
2288-
)
2286+
def get_data():
2287+
# Make sure we have an up to date model
2288+
local_model = model.baserow_table.get_model()
22892289

2290-
data_to_process = {
2291-
"results": serializer(rows, many=True).data,
2292-
"has_next_page": False,
2293-
}
2290+
serializer = get_row_serializer_class(
2291+
local_model, RowSerializer, is_response=True, user_field_names=True
2292+
)
2293+
2294+
return {
2295+
"results": serializer(rows, many=True).data,
2296+
"has_next_page": False,
2297+
}
22942298

22952299
self._process_event(
22962300
self.model_class.objects.filter(table=table),
2297-
data_to_process,
2301+
get_data,
22982302
user=user,
22992303
)
23002304

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
{
2+
"type": "bug",
3+
"message": "Save data preparation for table that don't have trigger associated to it",
4+
"issue_origin": "github",
5+
"issue_number": null,
6+
"domain": "automation",
7+
"bullet_points": [],
8+
"created_at": "2025-11-18"
9+
}

0 commit comments

Comments
 (0)