Reviewers: ,

Description:
[trytond] Fix records built as argument by trigger_action

Please review this at http://codereview.tryton.org/690002/

Affected files:
  M trytond/ir/trigger.py
  M trytond/test/__init__.py
  M trytond/test/trigger.py
  M trytond/tests/test_trigger.py


Index: trytond/ir/trigger.py
===================================================================
--- a/trytond/ir/trigger.py
+++ b/trytond/ir/trigger.py
@@ -161,7 +161,8 @@
         """
         pool = Pool()
         TriggerLog = pool.get('ir.trigger.log')
-        Model = pool.get(trigger.action_model.model)
+        Model = pool.get(trigger.model.model)
+        ActionModel = pool.get(trigger.action_model.model)
         cursor = Transaction().cursor
         ids = map(int, records)

@@ -221,7 +222,7 @@

         records = Model.browse(ids)
         if records:
-            getattr(Model, trigger.action_function)(records, trigger)
+            getattr(ActionModel, trigger.action_function)(records, trigger)
         if trigger.limit_number or trigger.minimum_delay:
             for record in records:
                 TriggerLog.create({
Index: trytond/test/__init__.py
===================================================================
--- a/trytond/test/__init__.py
+++ b/trytond/test/__init__.py
@@ -115,6 +115,7 @@
         ExportDataTarget2,
         ExportDataRelation,
         Triggered,
+        TriggerAction,
         TestAccess,
         TestWizardStart,
         WorkflowedModel,
Index: trytond/test/trigger.py
===================================================================
--- a/trytond/test/trigger.py
+++ b/trytond/test/trigger.py
@@ -3,7 +3,7 @@
 from trytond.model import ModelSQL, fields

 __all__ = [
-    'Triggered',
+    'Triggered', 'TriggerAction',
     ]

 TRIGGER_LOGS = []
@@ -14,6 +14,11 @@
     __name__ = 'test.triggered'
     name = fields.Char('Name')

+
+class TriggerAction(ModelSQL):
+    'Trigger Action Model'
+    __name__ = 'test.trigger_action'
+
     @staticmethod
     def trigger(records, trigger):
         '''
Index: trytond/tests/test_trigger.py
===================================================================
--- a/trytond/tests/test_trigger.py
+++ b/trytond/tests/test_trigger.py
@@ -52,13 +52,16 @@
             model, = self.model.search([
                     ('model', '=', 'test.triggered'),
                     ])
+            action_model, = self.model.search([
+                    ('model', '=', 'test.trigger_action'),
+                    ])

             values = {
                 'name': 'Test',
                 'model': model.id,
                 'on_time': True,
                 'condition': 'True',
-                'action_model': model.id,
+                'action_model': action_model.id,
                 'action_function': 'test',
                 }
             self.assert_(self.trigger.create(values))
@@ -92,13 +95,17 @@
             model, = self.model.search([
                     ('model', '=', 'test.triggered'),
                     ])
+            action_model, = self.model.search([
+                    ('model', '=', 'test.trigger_action'),
+                    ])
+

             trigger = self.trigger.create({
                     'name': 'Test',
                     'model': model.id,
                     'on_create': True,
                     'condition': 'True',
-                    'action_model': model.id,
+                    'action_model': action_model.id,
                     'action_function': 'trigger',
                     })

@@ -162,13 +169,16 @@
             model, = self.model.search([
                     ('model', '=', 'test.triggered'),
                     ])
+            action_model, = self.model.search([
+                    ('model', '=', 'test.trigger_action'),
+                    ])

             trigger = self.trigger.create({
                     'name': 'Test',
                     'model': model.id,
                     'on_write': True,
                     'condition': 'True',
-                    'action_model': model.id,
+                    'action_model': action_model.id,
                     'action_function': 'trigger',
                     })

@@ -272,6 +282,9 @@
             model, = self.model.search([
                     ('model', '=', 'test.triggered'),
                     ])
+            action_model, = self.model.search([
+                    ('model', '=', 'test.trigger_action'),
+                    ])

             triggered = self.triggered.create({
                     'name': 'Test',
@@ -282,7 +295,7 @@
                     'model': model.id,
                     'on_delete': True,
                     'condition': 'True',
-                    'action_model': model.id,
+                    'action_model': action_model.id,
                     'action_function': 'trigger',
                     })

@@ -360,13 +373,16 @@
             model, = self.model.search([
                     ('model', '=', 'test.triggered'),
                     ])
+            action_model, = self.model.search([
+                    ('model', '=', 'test.trigger_action'),
+                    ])

             trigger = self.trigger.create({
                     'name': 'Test',
                     'model': model.id,
                     'on_time': True,
                     'condition': 'True',
-                    'action_model': model.id,
+                    'action_model': action_model.id,
                     'action_function': 'trigger',
                     })



--
--
[email protected] mailing list

--- You received this message because you are subscribed to the Google Groups "tryton-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to