This commit is contained in:
Mohamed Nouffer
2022-04-27 15:47:37 +05:30
parent 4bc68e947e
commit 11037587df
7 changed files with 202 additions and 77 deletions

View File

@ -4,6 +4,15 @@ from sqlalchemy.sql.functions import mode
from .models import Location, Location_line, Location_polygon, JpnAdminMainPerf, JpnAdminPerf, JpnSubPerf
from drf_extra_fields.fields import Base64ImageField
from django.contrib.auth.models import User
from django.contrib.auth import authenticate
class LocationCatSerializer(serializers.ModelSerializer):
class Meta:
model=Location
fields=['category',]
class LocationSerializer(GeoFeatureModelSerializer):
class Meta:
@ -40,3 +49,33 @@ class JPN_perfSerializer(serializers.ModelSerializer):
class Meta:
model=JpnAdminPerf
fields=['id','et_id', 'et_right', 'et_left', 'adm2_l', 'adm1_l', 'adm0_l', 'adm0_r', 'adm1_r', 'adm2_r', 'admlevel']
class CreateUserSerializer(serializers.ModelSerializer):
class Meta:
model = User
fields = ('id', 'username', 'password')
extra_kwargs = {'password': {'write_only': True}}
def create(self, validated_data):
user = User.objects.create_user(validated_data['username'],
None,
validated_data['password'])
return user
class UserSerializer(serializers.ModelSerializer):
class Meta:
model = User
fields = ('id', 'username')
class LoginUserSerializer(serializers.Serializer):
username = serializers.CharField()
password = serializers.CharField()
def validate(self, data):
user = authenticate(**data)
if user and user.is_active:
return user
raise serializers.ValidationError("Invalid Details.")