mirror of
https://github.com/i701/sarlink-portal-api.git
synced 2025-06-12 12:56: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",
|
||||
"is_active",
|
||||
"is_staff",
|
||||
"is_admin",
|
||||
"mobile",
|
||||
"address",
|
||||
"wallet_balance",
|
||||
@ -40,6 +41,7 @@ class UserAdmin(BaseUserAdmin):
|
||||
"wallet_balance",
|
||||
"acc_no",
|
||||
"id_card",
|
||||
"is_admin",
|
||||
"dob",
|
||||
"atoll",
|
||||
"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)
|
||||
id_card = models.CharField(max_length=255, blank=True, unique=True, null=True)
|
||||
verified = models.BooleanField(default=False)
|
||||
is_admin = models.BooleanField(default=False)
|
||||
dob = models.DateField(blank=True, null=True)
|
||||
terms_accepted = models.BooleanField(default=False)
|
||||
policy_accepted = models.BooleanField(default=False)
|
||||
|
@ -38,6 +38,7 @@ class CustomUserSerializer(serializers.ModelSerializer):
|
||||
"wallet_balance",
|
||||
"mobile",
|
||||
"first_name",
|
||||
"is_admin",
|
||||
"last_name",
|
||||
"email",
|
||||
"last_login",
|
||||
|
@ -338,7 +338,6 @@ class KnoxTokenListApiView(
|
||||
|
||||
|
||||
class ListUserView(StaffEditorPermissionMixin, generics.ListAPIView):
|
||||
# Create user API view
|
||||
serializer_class = CustomReadOnlyUserSerializer
|
||||
filter_backends = [DjangoFilterBackend]
|
||||
filterset_fields = "__all__"
|
||||
|
@ -30,7 +30,9 @@ class DeviceListCreateAPIView(
|
||||
def list(self, request, *args, **kwargs):
|
||||
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)
|
||||
|
||||
page = self.paginate_queryset(queryset)
|
||||
|
Loading…
x
Reference in New Issue
Block a user