15
15
# along with this program. If not, see <http://www.gnu.org/licenses/>.
16
16
17
17
from django .db .models import signals
18
+ from django .db import connection
19
+
18
20
from django .dispatch import receiver
19
21
20
22
from taiga .base .utils .db import get_typename_for_model_instance
@@ -33,10 +35,12 @@ def on_save_any_model(sender, instance, created, **kwargs):
33
35
34
36
sesionid = mw .get_current_session_id ()
35
37
38
+ type = "change"
36
39
if created :
37
- events .emit_event_for_model (instance , sessionid = sesionid , type = "create" )
38
- else :
39
- events .emit_event_for_model (instance , sessionid = sesionid , type = "change" )
40
+ type = "created"
41
+
42
+ emit_event = lambda : events .emit_event_for_model (instance , sessionid = sesionid , type = type )
43
+ connection .on_commit (emit_event )
40
44
41
45
42
46
def on_delete_any_model (sender , instance , ** kwargs ):
@@ -48,4 +52,5 @@ def on_delete_any_model(sender, instance, **kwargs):
48
52
return
49
53
50
54
sesionid = mw .get_current_session_id ()
51
- events .emit_event_for_model (instance , sessionid = sesionid , type = "delete" )
55
+ emit_event = lambda : events .emit_event_for_model (instance , sessionid = sesionid , type = "delete" )
56
+ connection .on_commit (emit_event )
0 commit comments