Added Cambios Permisos y Modulos

This commit is contained in:
fjrodriguez
2023-11-13 11:45:10 -06:00
parent ac80bf6a45
commit 61cf354a79
13 changed files with 772 additions and 49 deletions

View File

@@ -1,10 +1,22 @@
from rest_framework import serializers
from django.contrib.auth import get_user_model
from allauth.account.models import EmailAddress
from django.contrib.auth.models import Permission
from Sistemas.models import Sistema
from .models import ClientesA24, Sistemas_por_cliente_A24, DeviceA24
from .models import ClientesA24, Sistemas_por_cliente_A24, DeviceA24,Modulo
class CustomPermissionSerializer(serializers.ModelSerializer):
activo = serializers.BooleanField(read_only=True)
class Meta:
model = Permission
fields = '__all__'
class ModulosSerializer(serializers.ModelSerializer):
class Meta:
model=Modulo
fields = '__all__'
depth =1
class Sistema_A24_PKRF(serializers.PrimaryKeyRelatedField):
def to_internal_value(self,data):
@@ -12,7 +24,7 @@ class Sistema_A24_PKRF(serializers.PrimaryKeyRelatedField):
return Sistema.objects.get(nombre_sistema=data)
except Sistema.DoesNotExist:
raise serializers.ValidationError("Sistema no existe")
class ClientA24_PKRF(serializers.PrimaryKeyRelatedField):
def to_internal_value(self,data):
try:
@@ -39,17 +51,29 @@ class ClientesA24Serailizer(serializers.ModelSerializer):
model =ClientesA24
fields = ('pk','RFC', 'Nombre','Activo','fecha_baja',)
class DeviceA24_admin_Serialiazer(serializers.ModelSerializer):
clienteA24 = serializers.SerializerMethodField()
sistema = serializers.SerializerMethodField()
class Meta:
model = DeviceA24
fields = '__all__'
def get_clienteA24(self, obj):
return obj.clienteA24.RFC if obj.clienteA24.RFC else ""
def get_sistema(self,obj):
return obj.sistema.nombre_sistema if obj.sistema.nombre_sistema else ""
class SerialiazerA24(serializers.ModelSerializer):
clienteA24 = ClientA24_PKRF(queryset=ClientesA24.objects.all())
sistema = Sistema_A24_PKRF(queryset=Sistema.objects.all())
token = serializers.CharField(read_only=True)
token = serializers.CharField(read_only=True)
class Meta:
model = DeviceA24
fields= ('clienteA24', 'deviceName', 'deviceOS', 'deviceIP', 'token', 'sistema', 'MAC', 'dataBase',)
def create(self, validated_data):
# Extraer los datos obligatorios de la solicitud
clienteA24 = validated_data['clienteA24']