Example #1
0
 def delete(self, **kwargs):
     # delete the object
     log.delete(self.person, 'Account %s: Deleted' % self)
     super(Account, self).delete(**kwargs)
     if self.date_deleted is None:
         # delete the datastore
         from karaage.datastores import delete_account
         delete_account(self)
Example #2
0
 def delete(self):
     # delete the object
     super(Account, self).delete()
     if self.date_deleted is None:
         # delete the datastore
         from karaage.datastores import delete_account
         delete_account(self)
         log(None, self.machine_category, 2,
             'Deleted account %s' % self)
Example #3
0
    def delete_user(self, person):
        """ Sets Person not active and deletes all UserAccounts"""
        person.user.is_active = False
        person.expires = None
        person.user.save()
    
        deletor = get_current_user()
    
        person.date_deleted = datetime.datetime.today()
        person.deleted_by = deletor.get_profile()
        person.save(update_datastore=False)

        from karaage.datastores import delete_account

        for ua in person.useraccount_set.filter(date_deleted__isnull=True):
            delete_account(ua)

        log(deletor, person, 3, 'Deleted')
Example #4
0
    def save(self, *args, **kwargs):
        # save the object
        super(Account, self).save(*args, **kwargs)

        # check if machine_category changed
        moved = False
        old_machine_category = self._machine_category
        new_machine_category = self.machine_category
        if old_machine_category != new_machine_category:
            from karaage.datastores import delete_account
            self.machine_category = old_machine_category
            delete_account(self)
            log(None, self.machine_category, 2,
                'Removed account %s from machine_category' % self)

            self.machine_category = new_machine_category
            moved = True
            log(None, self.machine_category, 2,
                'Added account %s to machine_category' % self)
            log(None, self.person, 2,
                'Changed machine_category of %s' % self)

        # check if it was renamed
        old_username = self._username
        new_username = self.username
        if old_username != new_username:
            if self.date_deleted is None and not moved:
                from karaage.datastores import set_account_username
                set_account_username(self, old_username, new_username)
            log(None, self.machine_category, 2,
                'Changed username of account %s from %s to %s' %
                (self, old_username, new_username))
            log(None, self.person, 2,
                'Changed username of %s from %s to %s' %
                (self, old_username, new_username))

        # check if deleted status changed
        old_date_deleted = self._date_deleted
        new_date_deleted = self.date_deleted
        if old_date_deleted != new_date_deleted:
            if new_date_deleted is not None:
                # account is deactivated
                from karaage.datastores import delete_account
                delete_account(self)
                log(None, self.machine_category, 3,
                    'Deactivated account of %s' % self)
                log(None, self.person, 3,
                    'Deactivated account of %s' % self)
                # deleted
            else:
                # account is reactivated
                log(None, self.machine_category, 3,
                    'Reactivated account of %s' % self)
                log(None, self.person, 3,
                    'Reactivated account of %s' % self)

        # has locked status changed?
        old_login_enabled = self._login_enabled
        new_login_enabled = self.login_enabled
        if old_login_enabled != new_login_enabled:
            if self.login_enabled:
                log(None, self.machine_category, 2,
                    'Unlocked account %s' % self)
                log(None, self.person, 2,
                    'Unlocked account %s' % self)
            else:
                log(None, self.machine_category, 2,
                    'Locked account %s' % self)
                log(None, self.person, 2,
                    'Locked account %s' % self)

        # makes sense to lock non-existant account
        if new_date_deleted is not None:
            self.login_enabled = False

        # update the datastore
        if self.date_deleted is None:
            from karaage.datastores import save_account
            save_account(self)

        # log message
        log(None, self.machine_category, 2,
            'Saved account %s' % self)
        log(None, self.person, 2,
            'Saved account %s' % self)

        # save current state
        self._username = self.username
        self._machine_category = self.machine_category
        self._date_deleted = self.date_deleted
        self._login_enabled = self.login_enabled
Example #5
0
 def deactivate(self):
     from karaage.datastores import delete_account
     delete_account(self)
Example #6
0
    def save(self, *args, **kwargs):
        created = self.pk is None

        # save the object
        super(Account, self).save(*args, **kwargs)

        if created:
            log.add(
                self.person,
                'Account %s: Created' % self)
        for field in self._tracker.changed():
            if field != "password":
                log.change(
                    self.person,
                    'Account %s: Changed %s to %s'
                    % (self, field, getattr(self, field)))

        # check if it was renamed
        if self._tracker.has_changed('username'):
            old_username = self._tracker.previous('username')
            if old_username is not None:
                new_username = self.username
                if self.date_deleted is None:
                    from karaage.datastores import set_account_username
                    set_account_username(self, old_username, new_username)
                log.change(
                    self.person,
                    'Account %s: Changed username from %s to %s' %
                    (self, old_username, new_username))

        # check if deleted status changed
        if self._tracker.has_changed('date_deleted'):
            if self.date_deleted is not None:
                # account is deactivated
                from karaage.datastores import delete_account
                delete_account(self)
                log.delete(
                    self.person,
                    'Account %s: Deactivated account' % self)
                # deleted
            else:
                # account is reactivated
                log.add(
                    self.person,
                    'Account %s: Activated' % self)

        # makes sense to lock non-existant account
        if self.date_deleted is not None:
            self.login_enabled = False

        # update the datastore
        if self.date_deleted is None:
            from karaage.datastores import save_account
            save_account(self)

            if self._password is not None:
                from karaage.datastores import set_account_password
                set_account_password(self, self._password)
                log.change(
                    self.person,
                    'Account %s: Changed Password' % self)
                self._password = None