Skip to content

Commit

Permalink
Add soft delete ability to User.
Browse files Browse the repository at this point in the history
Fixes #23
  • Loading branch information
mblayman committed Aug 3, 2023
1 parent 5e3f4c5 commit 3e3fc3f
Show file tree
Hide file tree
Showing 3 changed files with 49 additions and 3 deletions.
12 changes: 10 additions & 2 deletions journal/accounts/admin.py
Original file line number Diff line number Diff line change
@@ -1,10 +1,18 @@
from django.contrib import admin
from django.contrib.auth.admin import UserAdmin
from django.contrib.auth.admin import UserAdmin as BaseUserAdmin
from simple_history.admin import SimpleHistoryAdmin

from .models import Account, User

admin.site.register(User, UserAdmin)

@admin.register(User)
class UserAdmin(BaseUserAdmin):
fieldsets = BaseUserAdmin.fieldsets + (
(
"Extra",
{"fields": ("status", "activate_date", "deactivate_date")},
),
)


@admin.register(Account)
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
# Generated by Django 4.2.1 on 2023-08-03 02:09

from django.db import migrations, models


class Migration(migrations.Migration):
dependencies = [
("accounts", "0003_historicalaccount"),
]

operations = [
migrations.AddField(
model_name="user",
name="activate_date",
field=models.DateTimeField(
blank=True,
help_text="keep empty for an immediate activation",
null=True,
),
),
migrations.AddField(
model_name="user",
name="deactivate_date",
field=models.DateTimeField(
blank=True, help_text="keep empty for indefinite activation", null=True
),
),
migrations.AddField(
model_name="user",
name="status",
field=models.IntegerField(
choices=[(0, "Inactive"), (1, "Active")],
default=1,
verbose_name="status",
),
),
]
3 changes: 2 additions & 1 deletion journal/accounts/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
from django.db import models
from django.db.models.signals import post_save
from django.dispatch import receiver
from django_extensions.db.models import ActivatorModel
from simple_history.models import HistoricalRecords


Expand Down Expand Up @@ -38,7 +39,7 @@ class Status(models.IntegerChoices):
history = HistoricalRecords()


class User(AbstractUser):
class User(AbstractUser, ActivatorModel):
pass


Expand Down

0 comments on commit 3e3fc3f

Please sign in to comment.