mirror of
https://github.com/i701/sarlink-portal-api.git
synced 2025-04-30 13:55:41 +00:00
Some checks failed
Build and Push Docker Images / Build and Push Docker Images (push) Failing after 4m12s
- Updated the `reverse_dhivehi_string` function to correct the range for combining characters. - Added new device handling in the health check view and integrated the `add_new_devices_to_omada` task. - Improved date handling in `CreateTemporaryUserView` to ensure proper string conversion. - Enhanced OTP sending by converting mobile numbers to strings. - Implemented MAC address validation in the `Device` model using a custom validator. - Removed unnecessary fields from the `CreateDeviceSerializer`. - Normalized MAC address format in the `DeviceListCreateAPIView`. - Updated the `djangopasswordlessknox` package to improve code consistency and readability. - Added migration to enforce MAC address validation in the database.
35 lines
1.1 KiB
Python
35 lines
1.1 KiB
Python
from rest_framework import permissions
|
|
|
|
|
|
class IsStaffEditorPermission(permissions.DjangoModelPermissions):
|
|
perms_map = {
|
|
"GET": ["%(app_label)s.view_%(model_name)s"],
|
|
"OPTIONS": [],
|
|
"HEAD": [],
|
|
"POST": ["%(app_label)s.add_%(model_name)s"],
|
|
"PUT": ["%(app_label)s.change_%(model_name)s"],
|
|
"PATCH": ["%(app_label)s.change_%(model_name)s"],
|
|
"DELETE": ["%(app_label)s.delete_%(model_name)s"],
|
|
}
|
|
|
|
message = {
|
|
"message": "You do not have permission to perform this action.",
|
|
}
|
|
|
|
def has_permission(self, request, view):
|
|
# Ensure the user is authenticated
|
|
if not request.user.is_authenticated:
|
|
return False
|
|
|
|
# Get the model name from the view
|
|
model_name = view.queryset.model._meta.model_name
|
|
app_label = view.queryset.model._meta.app_label
|
|
|
|
# Check permissions based on the request method
|
|
perms = self.perms_map.get(request.method, [])
|
|
perms = [
|
|
perm % {"app_label": app_label, "model_name": model_name} for perm in perms
|
|
]
|
|
|
|
return request.user.has_perms(perms)
|