Skip to content

Commit bb3478b

Browse files
Merge pull request #381 from MySecondLanguage/admin-permission
Admin permissions
2 parents c588350 + 41f2485 commit bb3478b

File tree

4 files changed

+16
-5
lines changed

4 files changed

+16
-5
lines changed

nxtbn/core/admin_permissions.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,10 @@ class IsStoreAdmin(BasePermission):
3939
def has_permission(self, request, view):
4040
if not request.user.is_staff:
4141
return False
42+
43+
if request.user.is_superuser:
44+
return True
45+
4246
return request.user.is_store_admin
4347

4448
class IsStoreStaff(BasePermission):

nxtbn/order/api/dashboard/views.py

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -405,11 +405,17 @@ def check_permissions(self, request):
405405
)
406406

407407
class OrderCreateView(OrderProccessorAPIView):
408-
model = Order
409-
permission_classes = (GranularPermission, )
410408
required_perm = 'add_order'
411409
create_order = True # Eastimate and create order
412410

411+
def check_permissions(self, request):
412+
if not has_required_perm(request.user, 'add_order', Order):
413+
self.permission_denied(
414+
request,
415+
message=_("You do not have permission to perform this action."),
416+
code='permission_denied'
417+
)
418+
413419
class CreateCustomAPIView(generics.CreateAPIView):
414420
queryset = User.objects.all()
415421
serializer_class = CustomerCreateSerializer

nxtbn/users/admin.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99

1010
@admin.register(User)
1111
class UserAdmin(auth_admin.UserAdmin):
12-
fieldsets = (("User", {"fields": ('avatar', "role",)}),) + auth_admin.UserAdmin.fieldsets
13-
list_display = ["username", "first_name", "email", "is_superuser", "is_active", "is_staff", "role"]
12+
fieldsets = (("User", {"fields": ('avatar', "role", "is_store_admin", "is_store_staff",)}),) + auth_admin.UserAdmin.fieldsets
13+
list_display = ["username", "first_name", "email", "is_superuser", "is_active", "is_staff", "is_store_admin", "is_store_staff" ,"role"]
1414
search_fields = ["first_name", "email",]
1515

nxtbn/users/api/dashboard/serializers.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -139,7 +139,8 @@ def create(self, validated_data):
139139
]
140140
),
141141
is_superuser = False,
142-
is_staff = False,
142+
is_staff = True,
143+
is_active = True,
143144
**validated_data
144145
)
145146

0 commit comments

Comments
 (0)