[UPDT] HORILLA_AUTH: Restructure horilla_auth app code

This commit is contained in:
Horilla
2025-11-11 13:03:40 +05:30
parent e3e3071f0f
commit a6d1c0a550
5 changed files with 28 additions and 21 deletions

View File

@@ -1,4 +1,6 @@
from django.contrib import admin
from horilla_auth.models import HorillaUser
# Register your models here.
admin.site.register(HorillaUser)
admin.site.register(HorillaUser)

View File

@@ -1,7 +1,8 @@
from django.apps import AppConfig
from django.utils.translation import gettext_lazy as _
class HorillaAuthConfig(AppConfig):
default_auto_field = 'django.db.models.BigAutoField'
name = 'horilla_auth'
default_auto_field = "django.db.models.BigAutoField"
name = "horilla_auth"
verbose_name = _("Horilla Auth")

View File

@@ -1,8 +1,10 @@
from django.core.management.base import BaseCommand
from django.db import transaction
from django.utils import timezone
from horilla_auth.models import HorillaUser, LegacyUser
class Command(BaseCommand):
help = "Migrate users from LegacyUser (auth_user) to HorillaUser, including groups and permissions."
@@ -46,6 +48,8 @@ class Command(BaseCommand):
created_count += 1
self.stdout.write(self.style.SUCCESS(
f"✅ Migration complete: {created_count} users migrated, {skipped_count} skipped (with groups & permissions)."
))
self.stdout.write(
self.style.SUCCESS(
f"✅ Migration complete: {created_count} users migrated, {skipped_count} skipped (with groups & permissions)."
)
)

View File

View File

@@ -1,8 +1,8 @@
from django.contrib.auth.models import AbstractUser, Group, Permission
from django.db import models
from django.contrib.auth.models import AbstractUser
from django.contrib.auth.models import Group, Permission
from django.utils.translation import gettext_lazy as _
class HorillaUser(AbstractUser):
is_new_employee = models.BooleanField(default=False)
@@ -11,6 +11,7 @@ class HorillaUser(AbstractUser):
verbose_name = _("User")
verbose_name_plural = _("Users")
class LegacyUser(models.Model):
id = models.BigAutoField(primary_key=True)
username = models.CharField(max_length=150)
@@ -26,33 +27,32 @@ class LegacyUser(models.Model):
# Map Many-to-Many through existing join tables
groups = models.ManyToManyField(
Group,
through='AuthUserGroups',
related_name='legacy_users'
Group, through="AuthUserGroups", related_name="legacy_users"
)
user_permissions = models.ManyToManyField(
Permission,
through='AuthUserUserPermissions',
related_name='legacy_users'
Permission, through="AuthUserUserPermissions", related_name="legacy_users"
)
class Meta:
db_table = 'auth_user'
db_table = "auth_user"
managed = False
class AuthUserGroups(models.Model):
user = models.ForeignKey(LegacyUser, db_column='user_id', on_delete=models.CASCADE)
group = models.ForeignKey(Group, db_column='group_id', on_delete=models.CASCADE)
user = models.ForeignKey(LegacyUser, db_column="user_id", on_delete=models.CASCADE)
group = models.ForeignKey(Group, db_column="group_id", on_delete=models.CASCADE)
class Meta:
db_table = 'auth_user_groups'
db_table = "auth_user_groups"
managed = False
class AuthUserUserPermissions(models.Model):
user = models.ForeignKey(LegacyUser, db_column='user_id', on_delete=models.CASCADE)
permission = models.ForeignKey(Permission, db_column='permission_id', on_delete=models.CASCADE)
user = models.ForeignKey(LegacyUser, db_column="user_id", on_delete=models.CASCADE)
permission = models.ForeignKey(
Permission, db_column="permission_id", on_delete=models.CASCADE
)
class Meta:
db_table = 'auth_user_user_permissions'
db_table = "auth_user_user_permissions"
managed = False