Ejemplo n.º 1
0
 def get_author_detail(self, obj):
     return UserSerializer(obj.author).data
Ejemplo n.º 2
0
class UserScoreSerializer(serializers.ModelSerializer):
    voter_user = UserSerializer()

    class Meta:
        model = UserScore
Ejemplo n.º 3
0
 def get(self, request):
     Pimgs = User.objects.all().select_related()
     Pimg = UserSerializer(Pimgs, many=True)
     return Response(data=Pimg.data)
Ejemplo n.º 4
0
class LikeSerializer(serializers.ModelSerializer):
    owner = UserSerializer(read_only=True)

    class Meta:
        model = Like
        fields = '__all__'
Ejemplo n.º 5
0
class CommentSerializer(serializers.ModelSerializer):
    comment_user = UserSerializer(allow_null=True)

    class Meta:
        model = Comment
Ejemplo n.º 6
0
class HostSerializer(serializers.ModelSerializer):
    # RGmapId = serializers.IntegerField(source='id')
    host = UserSerializer(source='host')
    class Meta:
        model = Invitation
        fields = ('host')
Ejemplo n.º 7
0
class ArticleSerializer(serializers.ModelSerializer):
    user = UserSerializer(required=False)
    class Meta:
        model = Article
        fields = '__all__'
Ejemplo n.º 8
0
 def get_user_detail(self, obj):
     return UserSerializer(obj.user).data
Ejemplo n.º 9
0
 def get_user_detail(self, obj):
     user_obj = obj.user
     user = UserSerializer(user_obj).data
     return user
Ejemplo n.º 10
0
class BillingProfileSerializer(serializers.ModelSerializer):
    user = UserSerializer()

    class Meta:
        model = BillingProfile
        fields = ['id', 'user', 'email']
Ejemplo n.º 11
0
 def get(self, request, format=None):
     users = User.objects.all()
     serializer = UserSerializer(users, many=True)
     return Response(serializer.data)
Ejemplo n.º 12
0
class HotelDetailSerializer(ModelSerializer):
    url = hotel_detail_url
    user = UserSerializer(read_only=True)

    image1 = SerializerMethodField()
    image2 = SerializerMethodField()
    image3 = SerializerMethodField()
    image4 = SerializerMethodField()

    comments = SerializerMethodField()

    class Meta:
        model = Hotel
        fields = [
            'url',
            'id',
            'slug',
            'user',
            'title',
            'lat',
            'lng',
            'content',
            'price',
            'address',
            'city',
            'state',
            'publish',
            'image1',
            'image2',
            'image3',
            'image4',
            'comments',
        ]

    def get_html(self, obj):
        return obj.get_markdown()

    def get_image1(self, obj):
        try:
            image1 = obj.image1.url
        except:
            image1 = None
        return image1

    def get_image2(self, obj):
        try:
            image2 = obj.image2.url
        except:
            image2 = None
        return image2

    def get_image3(self, obj):
        try:
            image3 = obj.image3.url
        except:
            image3 = None
        return image3

    def get_image4(self, obj):
        try:
            image4 = obj.image4.url
        except:
            image4 = None
        return image4

    def get_comments(self, obj):
        c_qs = Comment.objects.filter_by_instance(obj)
        comments = CommentSerializer(c_qs, many=True).data
        return comments
Ejemplo n.º 13
0
class ProjectSerializer(DetailSerializer, serializers.ModelSerializer):
    users = UserSerializer(many=True, read_only=True)
    organization = OrganizationSerializer(hide_detail=True, read_only=True)
    country = CountryField(required=False)

    def validate_name(self, value):

        # Check that name is not restricted
        invalid_names = settings.CADASTA_INVALID_ENTITY_NAMES
        if slugify(value, allow_unicode=True) in invalid_names:
            raise serializers.ValidationError(
                _("Project name cannot be “Add” or “New”."))

        # Check that name is unique org-wide
        # (Explicit validation: see comment in the Meta class)
        is_create = not self.instance
        if is_create:
            org_slug = self.context['organization'].slug
        else:
            org_slug = self.instance.organization.slug
        queryset = Project.objects.filter(
            organization__slug=org_slug,
            name=value,
        )
        if is_create:
            not_unique = queryset.exists()
        else:
            not_unique = queryset.exclude(id=self.instance.id).exists()
        if not_unique:
            raise serializers.ValidationError(
                _("Project with this name already exists "
                  "in this organization."))

        return value

    class Meta:
        model = Project
        fields = (
            'id',
            'organization',
            'country',
            'name',
            'description',
            'archived',
            'urls',
            'contacts',
            'users',
            'access',
            'slug',
            'extent',
        )
        read_only_fields = ('id', 'country', 'slug')
        detail_only_fields = ('users', )

        # Suppress automatic model-derived UniqueTogetherValidator because
        # organization is a read-only field in the serializer.
        # Instead, perform this validation explicitly in validate_name()
        validators = []

    def create(self, validated_data):
        organization = self.context['organization']
        return Project.objects.create(organization_id=organization.id,
                                      **validated_data)
Ejemplo n.º 14
0
 def to_representation(self, instance):
     data = super().to_representation(instance)
     s_data = UserSerializer(instance.inspector).data
     data['inspector'] = s_data
     data['solution']
     return data
Ejemplo n.º 15
0
def register_user(request, *args, **kwargs):
    serializer = UserSerializer(data=request.data)
    if serializer.is_valid(raise_exception=True):
        serializer.save()
        return Response(serializer.data, status=201)
Ejemplo n.º 16
0
class CustomProfileSerializer(serializers.ModelSerializer):
    user = UserSerializer()

    class Meta:
        model = Profile
        fields = ['user']
Ejemplo n.º 17
0
class CommentSerializer(serializers.ModelSerializer):
    user = UserSerializer()

    class Meta:
        model = Comment
        fields = '__all__'
Ejemplo n.º 18
0
 def to_representation(self, instance):
     if isinstance(instance, User):
         rep = UserSerializer(instance).data
         rep[self.Meta.role_key] = self.get_role_json(instance)
         return rep
Ejemplo n.º 19
0
 def get(self, request):
     users = get_user_model().objects.all()
     serializer = UserSerializer(users, many=True)
     return Response(serializer.data)
Ejemplo n.º 20
0
def jwt_response_payload_handler(token, user=None, request=None):
    return {
        'token': token,
        'user': UserSerializer(user, context={'request': request}).data
    }
Ejemplo n.º 21
0
 def status(self, request):
     ready = request.data.get('ready', False)
     user = request.user
     user.ready = ready
     user.save()
     return JsonResponse(UserSerializer(request.user).data)
Ejemplo n.º 22
0
def users(request):
    users = User.objects.all()
    serializer = UserSerializer(users, many=True)
    return Response(serializer.data)
Ejemplo n.º 23
0
class ReviewSerializer(serializers.ModelSerializer):
    user = UserSerializer(required=False)
    class Meta:
        model = Review
        fields = ['id','title','content','user','rank','created_at','updated_at']
        read_only_fields = ['user','id']
Ejemplo n.º 24
0
def getuserdetail(request, user_name):
    selected_user = get_object_or_404(User, username=user_name)
    serializer = UserSerializer(selected_user)
    return Response(serializer.data)
Ejemplo n.º 25
0
class AnswerSerializer(serializers.ModelSerializer):
    comment = CommentSerializer(many=True)
    reply_user = UserSerializer()

    class Meta:
        model = Answer
Ejemplo n.º 26
0
    def post(self, request, format=None):
        member_data = request.data.copy()
        # try:
        username = member_data.pop('username', None)
        first_name = member_data.pop('first_name', None)
        last_name = member_data.pop('last_name', None)
        email = member_data.pop('email', None)
        password = member_data.pop('password', None)

        user_data_dict = {
            'username': username[0],
            'first_name': first_name[0],
            'last_name': last_name[0],
            'email': email[0],
            'password': password[0],
        }

        #recreating the query dict
        user_data_query_dict = QueryDict('', mutable=True)
        user_data_query_dict.update(user_data_dict)

        #add query dict to user serializer
        member_serializer = GroupMemberSerializer(data=member_data)
        if member_serializer.is_valid():
            user_account_serializer = UserSerializer(data=user_data_query_dict)
            user_account_serializer.is_valid(raise_exception=True)
            user_account_serializer.save()

            user = User.objects.get(pk=user_account_serializer.data['id'])

            member_serializer.save(user_id=user)
            #create savings and shares accounts
            savings_account_number = generate_account_number(
                member_serializer.data['id'], "savings")
            savings_account = {
                'group_member_related': member_serializer.data['id'],
                'account_number': savings_account_number
                #'account_balance':member_serializer.data[''],
                #'running_balance':0,
                #'interest_accrued':0
            }
            savings_account_creation = SavingsAccountSerializer(
                data=savings_account)
            savings_account_creation.is_valid(raise_exception=True)
            savings_account_creation.save()

            #create shares account
            shares_account_number = generate_account_number(
                member_serializer.data['id'], 'shares')
            shares_account = {
                'group_member_related': member_serializer.data['id'],
                'account_number': shares_account_number,
                'account_balance': member_serializer.data['shares_fee'],
                'running_balance': member_serializer.data['shares_fee'],
                #'interest_accrued':0
            }
            shares_account_creation = SharesAccountSerializer(
                data=shares_account)
            shares_account_creation.is_valid(raise_exception=True)
            shares_account_creation.save()

            #send twilio sms with registration details
            phone_number = "{}{}".format(
                member_serializer.data['phone_dialing_code'],
                member_serializer.data['phone_number'])
            message = "Welcome to MFI, Savings account Number is {} with balance of {}, Shares Account Number is {} with balance of {} shs".format(
                savings_account_number, 0, shares_account_number, 0)
            try:
                send_sms(phone_number, message)
            except:
                print("Message Not sending")
            data_dict = {
                "status": 201,
                "data": member_serializer.data,
                "savings_account": savings_account,
                "shares_account": shares_account
            }
            return Response(data_dict, status=status.HTTP_201_CREATED)
            # except:
            #     print("Failed")
            #     # return Response(member_serializer.errors, status=status.HTTP_400_BAD_REQUEST)
        return Response(member_serializer.errors,
                        status=status.HTTP_400_BAD_REQUEST)
Ejemplo n.º 27
0
    def list(self, request, *args, **kwargs):
        print(self.request.user)
        data = UserSerializer(self.request.user).data

        return Response(data=data, status=status.HTTP_200_OK)
Ejemplo n.º 28
0
 def get(self, request, format=None):
     users = User.objects.all()
     serializer = UserSerializer(users, many=True)
     data_dict = {"status": 200, "data": serializer.data}
     return Response(data_dict, status=status.HTTP_200_OK)
Ejemplo n.º 29
0
class ChatSerializer(serializers.ModelSerializer):
    participants = UserSerializer(many=True)

    class Meta:
        model = Chat
        fields = ('id', 'participants')
Ejemplo n.º 30
0
    def post(self, request):
        serializer = UserSerializer(data=request.data)
        serializer.is_valid(raise_exception=True)
        serializer.save()

        return Response(serializer.data, status=status.HTTP_201_CREATED)