Ejemplo n.º 1
0
    def create_instance(self, start_date=None):
        if not start_date:
            start_date = timezone.now()

        provider_alias = str(uuid.uuid4())

        identity = Identity.objects.filter(created_by=self.user).last()
        if not identity:
            identity = Identity(created_by=self.user, provider=self.provider)
            identity.save()

        instance_source = InstanceSource(provider=self.provider,
                                         identifier=str(uuid.uuid4()),
                                         created_by=self.user,
                                         created_by_identity=identity)
        instance_source.save()

        instance = Instance(source=instance_source,
                            provider_alias=provider_alias,
                            created_by=self.user,
                            start_date=start_date)
        instance.save()

        self.create_instance_status_history(instance,
                                            start_date=start_date,
                                            status='active')

        return instance