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)
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)
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)
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)
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)
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)