mirror of
https://github.com/i701/sarlink-portal-api.git
synced 2025-06-13 13:36:20 +00:00
Add is_admin field to User model and update related serializers and views
All checks were successful
Build and Push Docker Images / Build and Push Docker Images (push) Successful in 3m37s
All checks were successful
Build and Push Docker Images / Build and Push Docker Images (push) Successful in 3m37s
This commit is contained in:
parent
7e2f6699b1
commit
69ab87f502
@ -13,6 +13,7 @@ class UserAdmin(BaseUserAdmin):
|
|||||||
"verified",
|
"verified",
|
||||||
"is_active",
|
"is_active",
|
||||||
"is_staff",
|
"is_staff",
|
||||||
|
"is_admin",
|
||||||
"mobile",
|
"mobile",
|
||||||
"address",
|
"address",
|
||||||
"wallet_balance",
|
"wallet_balance",
|
||||||
@ -40,6 +41,7 @@ class UserAdmin(BaseUserAdmin):
|
|||||||
"wallet_balance",
|
"wallet_balance",
|
||||||
"acc_no",
|
"acc_no",
|
||||||
"id_card",
|
"id_card",
|
||||||
|
"is_admin",
|
||||||
"dob",
|
"dob",
|
||||||
"atoll",
|
"atoll",
|
||||||
"island",
|
"island",
|
||||||
|
17
api/migrations/0016_user_is_admin.py
Normal file
17
api/migrations/0016_user_is_admin.py
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
# Generated by Django 5.2 on 2025-06-09 06:47
|
||||||
|
|
||||||
|
from django.db import migrations, models
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
dependencies = [
|
||||||
|
("api", "0015_user_created_at_user_updated_at_temporaryuser"),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.AddField(
|
||||||
|
model_name="user",
|
||||||
|
name="is_admin",
|
||||||
|
field=models.BooleanField(default=False),
|
||||||
|
),
|
||||||
|
]
|
@ -18,6 +18,7 @@ class User(AbstractUser):
|
|||||||
acc_no = models.CharField(max_length=255, blank=True)
|
acc_no = models.CharField(max_length=255, blank=True)
|
||||||
id_card = models.CharField(max_length=255, blank=True, unique=True, null=True)
|
id_card = models.CharField(max_length=255, blank=True, unique=True, null=True)
|
||||||
verified = models.BooleanField(default=False)
|
verified = models.BooleanField(default=False)
|
||||||
|
is_admin = models.BooleanField(default=False)
|
||||||
dob = models.DateField(blank=True, null=True)
|
dob = models.DateField(blank=True, null=True)
|
||||||
terms_accepted = models.BooleanField(default=False)
|
terms_accepted = models.BooleanField(default=False)
|
||||||
policy_accepted = models.BooleanField(default=False)
|
policy_accepted = models.BooleanField(default=False)
|
||||||
|
@ -38,6 +38,7 @@ class CustomUserSerializer(serializers.ModelSerializer):
|
|||||||
"wallet_balance",
|
"wallet_balance",
|
||||||
"mobile",
|
"mobile",
|
||||||
"first_name",
|
"first_name",
|
||||||
|
"is_admin",
|
||||||
"last_name",
|
"last_name",
|
||||||
"email",
|
"email",
|
||||||
"last_login",
|
"last_login",
|
||||||
|
@ -338,7 +338,6 @@ class KnoxTokenListApiView(
|
|||||||
|
|
||||||
|
|
||||||
class ListUserView(StaffEditorPermissionMixin, generics.ListAPIView):
|
class ListUserView(StaffEditorPermissionMixin, generics.ListAPIView):
|
||||||
# Create user API view
|
|
||||||
serializer_class = CustomReadOnlyUserSerializer
|
serializer_class = CustomReadOnlyUserSerializer
|
||||||
filter_backends = [DjangoFilterBackend]
|
filter_backends = [DjangoFilterBackend]
|
||||||
filterset_fields = "__all__"
|
filterset_fields = "__all__"
|
||||||
|
@ -30,7 +30,9 @@ class DeviceListCreateAPIView(
|
|||||||
def list(self, request, *args, **kwargs):
|
def list(self, request, *args, **kwargs):
|
||||||
queryset = self.filter_queryset(self.get_queryset())
|
queryset = self.filter_queryset(self.get_queryset())
|
||||||
|
|
||||||
if not request.user.is_superuser:
|
if request.user.is_authenticated and not getattr(
|
||||||
|
request.user, "is_admin", False
|
||||||
|
):
|
||||||
queryset = queryset.filter(user=request.user)
|
queryset = queryset.filter(user=request.user)
|
||||||
|
|
||||||
page = self.paginate_queryset(queryset)
|
page = self.paginate_queryset(queryset)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user