Esempio n. 1
0
    def delete(self, *args, **kwargs):
        log.delete(
            self.project,
            'Quota %s: Deleted' % self.machine_category)

        from karaage.datastores import remove_accounts_from_project
        query = Account.objects.filter(person__groups=self.project.group)
        remove_accounts_from_project(query, self.project)

        super(ProjectQuota, self).delete(*args, **kwargs)

        from karaage.datastores import machine_category_delete_project
        machine_category_delete_project(self.project, self.machine_category)
Esempio n. 2
0
    def delete(self, *args, **kwargs):
        # ensure nothing connects to this project
        query = Account.objects.filter(default_project=self)
        query.update(default_project=None)

        # delete the object
        log.delete(self, 'Deleted')
        super(Project, self).delete(*args, **kwargs)

        # update datastore associations
        old_group_pk = self._tracker.previous("group_id")
        if old_group_pk is not None:
            old_group = Group.objects.get(pk=old_group_pk)
            from karaage.datastores import remove_accounts_from_project
            query = Account.objects.filter(person__groups=old_group)
            remove_accounts_from_project(query, self)

        # update the datastore
        from karaage.datastores import machine_category_delete_project
        machine_category_delete_project(self)