def build_tree(apps, schema_editor): # We can't import the Person model directly as it may be a newer # version than this migration expects. We use the historical version. ProceedingMeta = apps.get_model("river", "ProceedingMeta") for pm in ProceedingMeta.objects.all(): ProceedingMetaService.build_tree(pm)
def test_apply_new_proceed_definition(self): from river.models.factories import ProceedingMetaObjectFactory, TransitionObjectFactory ct = self.proceeding_meta.content_type # self.assertEqual(0, Proceeding.objects.filter(workflow_object=self.object).count()) # ObjectService.register_object(self.object, self.field) self.assertEqual( 1, Proceeding.objects.filter(workflow_object=self.object).count()) transition = TransitionObjectFactory(source_state=self.state2, destination_state=self.state3) m2m_changed.disconnect(post_group_change, ProceedingMeta.groups.through) m2m_changed.disconnect(post_permissions_change, ProceedingMeta.permissions.through) proceeding_meta = ProceedingMetaObjectFactory( content_type=ct, field=self.field, transition=transition, permissions__in=self.proceeding_meta.permissions.all()) self.assertEqual( 1, Proceeding.objects.filter(workflow_object=self.object, field=self.field).count()) ProceedingMetaService.apply_new_proceeding_meta(proceeding_meta) self.assertEqual( 2, Proceeding.objects.filter(workflow_object=self.object, field=self.field).count()) proceeding_meta.save() self.assertEqual( 2, Proceeding.objects.filter(workflow_object=self.object, field=self.field).count())
def test_apply_new_proceed_definition(self): from river.models.factories import ProceedingMetaObjectFactory, TransitionObjectFactory ct = self.proceeding_meta.content_type # self.assertEqual(0, Proceeding.objects.filter(workflow_object=self.object).count()) # ObjectService.register_object(self.object, self.field) self.assertEqual(1, Proceeding.objects.filter(workflow_object=self.object).count()) transition = TransitionObjectFactory(source_state=self.state2, destination_state=self.state3) m2m_changed.disconnect(post_group_change, ProceedingMeta.groups.through) m2m_changed.disconnect(post_permissions_change, ProceedingMeta.permissions.through) proceeding_meta = ProceedingMetaObjectFactory(content_type=ct, field=self.field, transition=transition, permissions__in=self.proceeding_meta.permissions.all()) self.assertEqual(1, Proceeding.objects.filter(workflow_object=self.object, field=self.field).count()) ProceedingMetaService.apply_new_proceeding_meta(proceeding_meta) self.assertEqual(2, Proceeding.objects.filter(workflow_object=self.object, field=self.field).count()) proceeding_meta.save() self.assertEqual(2, Proceeding.objects.filter(workflow_object=self.object, field=self.field).count())
def post_save_model(sender, instance, *args, **kwargs): from river.services.proceeding_meta import ProceedingMetaService ProceedingMetaService.build_tree(instance)