Example #1
0
    def update(self, request, pk=None):
        # 필드들의 변경은 가능

        first_name = request.DATA.get('first_name', None)
        if first_name is not None:
            first_name = sanitize(first_name)
        last_name = request.DATA.get('last_name', None)
        if last_name is not None:
            last_name = sanitize(last_name)
        gender = request.DATA.get('gender', None)
        birthdate = request.DATA.get('birthdate', None)
        first_date = request.DATA.get('first_date', None)

        image = request.FILES.get('image', None)

        error_dic = self.__validate__(
            gender, birthdate, first_date)

        if error_dic:
            print error_dic
            error_type = error_dic['type']
            message = error_dic['message']
            return Response({'success': False, 'type': error_dic['type'], 'message': error_dic['message']}, status=status.HTTP_400_BAD_REQUEST)

        user = request.user
        userprofile = user.userprofile
        couple = CoupleController.get_couple(user)

        if first_name is not None:
            user.first_name = sanitize(first_name)

        if last_name is not None:
            user.last_name = sanitize(last_name)

        if gender is not None:
            userprofile.gender = gender

        if birthdate is not None:
            userprofile.birthdate = parser.parse(birthdate).date()

        if first_date is not None and couple:
            couple.first_date = parser.parse(first_date).date()

        if image is not None:
            userprofile.image = image

        user.save()
        userprofile.save()
        if couple:
            couple.save()

        return Response({'success': True}, status=status.HTTP_200_OK)
Example #2
0
    def create(self, request, *args, **kwargs):
        user = request.user
        couple = CoupleController.get_couple(request.user)

        try:
            album_pk = request.DATA.get('album')
            album = PhotoAlbum.objects.get(pk=album_pk)
        except:
            album = None

        image = request.FILES.get('image')

        if image is None:
            return Response({'success': False, 'message': _(u'사진 업로드 실패')}, status=status.HTTP_400_BAD_REQUEST)

        try:
            description = request.DATA.get('description')
            description = sanitize(description)
        except:
            description = None

        photo = Photo.objects.create(
            user=user, couple=couple, album=album, image=image, description=description)

        mission_handler = MissionHandler(user)
        mission_handler.new_cleared_missions()

        return Response({'success': True, 'data': {'photo_pk': photo.pk}}, status=status.HTTP_201_CREATED)
Example #3
0
    def create(self, request):
        couple = CoupleController.get_couple(request.user)

        title = request.DATA.get('title')
        title = sanitize(title)

        photo_album = PhotoAlbum.objects.create(couple=couple, title=title)

        return Response({'success': True, 'data': {'photo_album_pk': photo_album.pk}}, status=status.HTTP_201_CREATED)
Example #4
0
    def comment(self, request, pk=None):
        user = request.user
        photo = Photo.objects.get(pk=pk)
        content = request.DATA.get('content')
        content = sanitize(content)

        comment = Comment.objects.create(
            comment_manager=photo.comment_manager, user=user, content=content)

        return Response({'success': True, 'data': {'comment_pk': comment.pk}}, status=status.HTTP_201_CREATED)
Example #5
0
    def create(self, request, *args, **kwargs):
        couple = CoupleController.get_couple(request.user)
        request.DATA['couple'] = couple.pk
        request.DATA['title'] = sanitize(request.DATA['title'])

        serializer = self.get_serializer(data=request.DATA)

        if serializer.is_valid():
            self.pre_save(serializer.object)
            self.object = serializer.save(force_insert=True)
            self.post_save(self.object, created=True)
            headers = self.get_success_headers(serializer.data)
            return Response({'success': True, 'data': serializer.data}, status=status.HTTP_201_CREATED, headers=headers)

        return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
Example #6
0
    def create(self, request, *args, **kwargs):
        user = request.user
        couple = CoupleController.get_couple(user)
        receiver = CoupleController.get_partner(couple, user)
        content = request.DATA.get('content')
        content = sanitize(content)
        paper_type = request.DATA.get('paper_type')
        if not paper_type:
            paper_type = Letter.PLAIN
        else:
            try:
                paper_type = int(paper_type)
            except:
                message = _(u'편지지 타입이 올바르지 않습니다.')
                return Response({'success': False, 'message': message}, status=status.HTTP_400_BAD_REQUEST)

        letter = Letter.objects.create(
            user=user, couple=couple, receiver=receiver, content=content, paper_type=paper_type)

        mission_handler = MissionHandler(user)
        mission_handler.new_cleared_missions()

        return Response({'success': True, 'data': {'letter_pk': letter.pk}}, status=status.HTTP_201_CREATED)