first commit
This commit is contained in:
commit
3e4574dcdd
163 files changed
+3559
No files matched your search
@@ -0,0 +1,111 @@
|
||||
from rest_framework import serializers
|
||||
from apps.project.models import Project as ProjectModel, ProjectImage as ProjectImageModel
|
||||
from apps.emtiyazat.models import Emtiyazat as EmtiyazatModel
|
||||
from apps.cuser.models import CUser as CUserModel
|
||||
from apps.op_panel.selector import get_project_by_id
|
||||
from rest_framework.views import APIView
|
||||
from rest_framework.response import Response
|
||||
from rest_framework.permissions import IsAuthenticated
|
||||
from utils.tools.inline_serializer import inline_serializer
|
||||
from apps.emtiyazat.services import add_project_emtiyaz
|
||||
from apps.op_panel.services import update_mojri_status
|
||||
from rest_framework import status
|
||||
|
||||
class UpdateMojriStatusApiview(APIView):
|
||||
permission_classes = (IsAuthenticated,)
|
||||
|
||||
class InputSerializer(serializers.Serializer):
|
||||
mojri_status = serializers.CharField()
|
||||
|
||||
def patch(self, request, id: int):
|
||||
serializer = self.InputSerializer(data=request.data)
|
||||
serializer.is_valid(raise_exception=True)
|
||||
|
||||
mojri_status = serializer.validated_data['mojri_status']
|
||||
|
||||
update_mojri_status(id, mojri_status)
|
||||
|
||||
return Response({'id': id}, status=status.HTTP_200_OK)
|
||||
|
||||
class RetrieveProjectApiview(APIView):
|
||||
permission_classes = (IsAuthenticated, )
|
||||
|
||||
def get(self, request, id: int):
|
||||
|
||||
class OutputSerializer(serializers.ModelSerializer):
|
||||
|
||||
cuser = inline_serializer(many=False, fields={
|
||||
'id': serializers.IntegerField(),
|
||||
'name_family': serializers.CharField(),
|
||||
'mobile': serializers.IntegerField()
|
||||
})
|
||||
|
||||
project_image = inline_serializer(many=True, fields={
|
||||
'id': serializers.IntegerField(),
|
||||
'image': serializers.ImageField(),
|
||||
})
|
||||
|
||||
class Meta:
|
||||
model = ProjectModel
|
||||
fields = '__all__'
|
||||
|
||||
project = get_project_by_id(id)
|
||||
|
||||
output = OutputSerializer(project)
|
||||
|
||||
return Response(output.data, status=status.HTTP_200_OK)
|
||||
|
||||
|
||||
class RetrieveMojri(APIView):
|
||||
permission_classes = (IsAuthenticated,)
|
||||
|
||||
def get(self, request, id: int):
|
||||
|
||||
class OutputSerializer(serializers.ModelSerializer):
|
||||
|
||||
user_profile = inline_serializer(many=False, fields={
|
||||
'codemeli': serializers.IntegerField(),
|
||||
'city': inline_serializer(many=False, fields={
|
||||
'id': serializers.IntegerField(),
|
||||
'name': serializers.CharField(),
|
||||
'ostan': inline_serializer(many=False, fields={
|
||||
'id': serializers.IntegerField(),
|
||||
'name': serializers.CharField(),
|
||||
})
|
||||
}),
|
||||
'address': serializers.CharField(),
|
||||
'codeposti': serializers.IntegerField(),
|
||||
'ax_mojri': serializers.CharField(),
|
||||
'ax_meli': serializers.CharField(),
|
||||
'ax_fani': serializers.CharField(),
|
||||
'ax_sayer': serializers.CharField(),
|
||||
|
||||
})
|
||||
|
||||
class Meta:
|
||||
model = CUserModel
|
||||
fields = ('id', 'mojri_status', 'name_family', 'mobile', 'uuid', 'user_profile')
|
||||
|
||||
mojri = CUserModel.objects.get(id=id)
|
||||
|
||||
output = OutputSerializer(mojri)
|
||||
|
||||
return Response(output.data, status=status.HTTP_200_OK)
|
||||
|
||||
|
||||
class AddEmtiyazProjectApiview(APIView):
|
||||
permission_classes = (IsAuthenticated,)
|
||||
|
||||
class InputSerializer(serializers.Serializer):
|
||||
credit = serializers.IntegerField(required=True)
|
||||
|
||||
def post(self, request, id: int):
|
||||
serializer = self.InputSerializer(data=request.data)
|
||||
serializer.is_valid(raise_exception=True)
|
||||
|
||||
op_user = request.user
|
||||
|
||||
emtiyaz = add_project_emtiyaz(**serializer.validated_data, project_id=id, op_user=op_user)
|
||||
|
||||
return Response({'success': emtiyaz.credit}, status=status.HTTP_201_CREATED)
|
||||
|
||||
Reference in new issue
Block a user