def post(self, request, *args, **kwargs): user_pk = self.request.data.get('user', None) user = get_user(user_pk) contents_pk = self.request.data.get('contents', None) contents = get_contents(contents_pk) if user != contents.user: raise CustomValidation('-20', '컨텐츠를 등록한 사용자가 아닙니다.') serializer = ContentsPasswordSerializer(data=request.data) if serializer.is_valid(): serializer.save() data = {'result': 1, 'error': 'null', 'data': '비밀번호가 설정되었습니다.'} return Response(data, status=status.HTTP_201_CREATED) else: dict = serializer.errors if 'contents' in dict and 'unique' in dict['contents'][0]: raise CustomValidation('-24', '비밀번호가 이미 설정되었습니다.') elif 'password' in dict: if 'blank' in dict['password'][0]: raise CustomValidation('-21', '비밀번호를 입력하세요.') elif '4' in dict['password'][0]: raise CustomValidation('-22', '비밀번호는 4자리입니다.') raise CustomValidation('0', dict)
def post(self, request, pk=None): #로그인 체크 user_pk = self.request.data.get('user', None) user = get_user(user_pk) # 컨텐츠 여부 체크 contents_pk = self.request.data.get('contents', None) contents = get_contents(contents_pk) if user != contents.user: raise CustomValidation('-20', '컨텐츠를 등록한 사용자가 아닙니다.') try: contents_password = ContentsPassword.objects.get(contents=contents) contents_password.delete() data = { "result": 1, "error": "null", "data": "컨텐츠 비밀번호가 삭제되었습니다." } return Response(data, status=status.HTTP_200_OK) except ContentsPassword.DoesNotExist: raise CustomValidation('-25', '등록된 비밀번호가 없습니다.')
def post(self, request, *args, **kwargs): user_pk = self.request.data.get('user', None) user = get_user(user_pk) contents_pk = self.request.data.get('contents', None) contents = get_contents(contents_pk) if user != contents.user: raise CustomValidation('-20', '컨텐츠를 등록한 사용자가 아닙니다.') try: queryset = ContentsPassword.objects.get(contents=contents) except ContentsPassword.DoesNotExist: raise CustomValidation('-25', '등록된 비밀번호가 없습니다.') serializer = ContentsPasswordSerializer(queryset, data=request.data, partial=True) if serializer.is_valid(): serializer.save() data = {'result': 1, 'error': 'null', 'data': '비밀번호가 수정되었습니다.'} return Response(data, status=status.HTTP_201_CREATED) else: dict = serializer.errors if 'password' in dict: if 'blank' in dict['password'][0]: raise CustomValidation('-21', '비밀번호를 입력하세요.') elif '4' in dict['password'][0]: raise CustomValidation('-22', "비밀번호는 4자리입니다.") raise CustomValidation('0', dict)
def post(self, request, *args, **kwargs): user = get_user(request.data['user']) contentsfiles_serializer = self.serializer_class(data=request.data) if contentsfiles_serializer.is_valid(): contentsfiles_serializer.save() return Response(contentsfiles_serializer.data, status=status.HTTP_201_CREATED) else: data = {"contents_files": contentsfiles_serializer.errors} raise serializers.ValidationError(data)
def post(self, request, *args, **kwargs): """ 컨텐츠 작성 --- # /contents/ """ get_user(request.data['user']) qr_data = request.data['qr_data'] activation_code = request.data['activation_code'] try: qrdats = QRDatas.objects.get(qr_data=qr_data) if activation_code: if str(qrdats.activation_code) != activation_code: raise CustomValidation('-14', "등록된 시리얼 번호가 없습니다.") else: raise CustomValidation('-14', "등록된 시리얼 번호가 없습니다.") if qrdats.is_active == 1: raise CustomValidation('-15', "컨텐츠가 등록된 QR코드 입니다.") except QRDatas.DoesNotExist: raise CustomValidation('-16', "등록된 QR코드가 없습니다.") try: Contents.objects.get(qr_data__qr_data=qr_data) raise CustomValidation('-15', "컨텐츠가 등록된 QR코드 입니다.") except Contents.DoesNotExist: contents_serializer = ContentsSerializer(data=request.data) if contents_serializer.is_valid(): contents_serializer.save() data = {'result': 0, 'error': 'null', 'data': contents_serializer.data} return Response(data, status=status.HTTP_201_CREATED) else: raise CustomValidation('0', contents_serializer.errors)
def post(self, request, *args, **kwargs): like_type = self.request.data.get('like_type', None) user_pk = self.request.data.get('user', None) user = get_user(user_pk) contents_pk = self.request.data.get('contents', None) contents = get_contents(contents_pk) if like_type is None: data = {'result': 0, 'error': 'like_type을 입력하세요.', 'data': ''} return Response(data, status=status.HTTP_200_OK) if like_type == '0': try: contents_like = contents.like_set.get(user=user) contents_like.delete() except: pass try: contents_unlike = contents.unlike_set.get(user=user) contents_unlike.delete() except: pass data = {'result': 1, 'error': 'null', 'data': '0'} return Response(data, status=status.HTTP_200_OK) elif like_type == '1': try: contents_unlike = contents.unlike_set.get(user=user) contents_unlike.delete() except: pass contents.like_set.get_or_create(user=user) data = {'result': 1, 'error': 'null', 'data': '1'} return Response(data, status=status.HTTP_200_OK) elif like_type == '2': try: contents_like = contents.like_set.get(user=user) contents_like.delete() except: pass contents.unlike_set.get_or_create(user=user) data = {'result': 1, 'error': 'null', 'data': '2'} return Response(data, status=status.HTTP_200_OK) else: data = {'result': 0, 'error': 'like_type이 바르지않습니다.', 'data': ''} return Response(data, status=status.HTTP_200_OK)
def get_user_page(request): if request.method == 'POST': json_data = json.loads(request.body.decode('utf-8')) try: user_id = json_data['userid'] user = User.objects.get(id=user_id) except: return HttpResponseBadRequest("The user doesn't exists.") elif request.method == 'GET': user = request.user try: products = [x['product'] for x in Reviewing.objects.filter(user=user).values("product")] all_products = get_products() reviewed_products = [p for p in all_products if p['id'] in products] for p in reviewed_products: p['iswish'] = is_wish(request.user.pk, p['id']) p['review'] = utils.get_review_data(user.id, p['id']) except: pass friends = get_friends(user) friends_res = [] for f in friends: friends_res.append(get_user(f)) response = dict( user=get_user(user.id), friends=friends_res, products=reviewed_products ) return JsonResponse(response)
def get(self, request, *args, **kwargs): user_pk = self.request.GET.get('user', None) user = get_user(user_pk) contents_pk = self.request.GET.get('contents', None) contents = get_contents(contents_pk) try: UnLike.objects.get(contents=contents, user=user) data = {'result': 1, 'error': 'null', 'data': '싫어요를 클릭했습니다.'} except UnLike.DoesNotExist: data = {'result': 0, 'error': 'null', 'data': '싫어요를 클릭하지 않았습니다.'} return Response(data, status=status.HTTP_200_OK)
def get_serializer_class(self): user_pk = self.request.data.get('user', None) user = get_user(user_pk) contents_pk = self.request.data.get('contents', None) get_contents(contents_pk) comment_content = self.request.data.get('comment_content', None) if comment_content is None: raise CustomValidation('-31', "댓글을 입력해주세요.") else: if len(comment_content) < 1: raise CustomValidation('-31', "댓글을 입력해주세요.") return create_comment_serializer(parent_id=self.request.GET.get("parent_id", None), user=user)
def create(self, validated_data): user = self._kwargs['data']['user'] qr_data = self._kwargs['data']['qr_data'] user = get_user(user) qr_data = QRDatas.objects.get(qr_data=qr_data) contents = Contents.objects.create(user=user, qr_data=qr_data, **validated_data) QRDatas.objects.filter(pk=contents.qr_data.pk).update(is_active=1) contents_files = self.initial_data.getlist('contents_files') if len(contents_files) > 0: files_type = self.initial_data.getlist('contents_files_type') files_type_list = files_type[0].split(',') for file_item, file_type in zip(contents_files, files_type_list): c = ContentsFiles(file=file_item, file_type=file_type, contents=contents, user=contents.user) c.save() return contents
def post(self, request, pk=None, user=None): user = get_user(user) contents = get_contents(pk) if user.pk != contents.user.pk: raise CustomValidation('-18', '작성자만 수정 가능합니다.') serializer = ContentsUpdateSerializer(contents, data=request.data, partial=True) if serializer.is_valid(): serializer.save() data = {'result': 0, 'error': 'null', 'data': serializer.data} return Response(data, status=status.HTTP_200_OK) else: raise CustomValidation('0', serializer.errors)
def post(self, request, *args, **kwargs): user_pk = self.request.data.get('user', None) user = get_user(user_pk) contents_pk = self.request.data.get('contents', None) contents = get_contents(contents_pk) contents_unlike, contents_unlike_created = contents.unlike_set.get_or_create(user=user) if contents_unlike_created: data = {'result': 1, 'error': 'null', 'data': '싫어요'} else: contents_unlike.delete() data = {'result': 0, 'error': 'null', 'data': '싫어요 취소'} return Response(data, status=status.HTTP_200_OK)
def post(self, request, pk=None): user_pk = self.request.data.get('user', None) user= get_user(user_pk) comment = self.get_object(pk) if user.pk != comment.user.pk: raise CustomValidation('-27', '작성자만 삭제 가능합니다.') comment.delete() data = { "result": 1, "error": "null", "data": "댓글이 삭제되었습니다." } return Response(data, status=status.HTTP_200_OK)
def post(self, request, *args, **kwargs): #로그인 체크 user_pk = self.request.data.get('user', None) user = get_user(user_pk) # 컨텐츠 여부 체크 contents_pk = self.request.data.get('contents', None) contents = get_contents(contents_pk) # 패스워드 체크 contents_password = self.request.data.get('password', None) if contents_password == contents.contentspassword.password: data = {'result': 1, 'error': 'null', 'data': '비밀번호가 일치합니다.'} return Response(data, status=status.HTTP_200_OK) else: raise CustomValidation('-26', "비밀번호가 다릅니다.")
def post(self, request, *args, **kwargs): user = request.data.get("user") serializer = self.get_serializer(data=request.data) if not serializer.is_valid(): dict = serializer.errors if 'user' in dict: if 'integer' in dict['user'][0]: raise CustomValidation('-9', "user에 " + dict['user'][0]) else: raise CustomValidation('0', dict['user'][0]) elif 'current_password' in dict: if 'blank' in dict['current_password'][0]: raise CustomValidation('-10', "기존 비밀번호를 입력하세요.") else: raise CustomValidation('0', dict['current_password'][0]) elif 'new_password' in dict: if 'blank' in dict['new_password'][0]: raise CustomValidation('-12', "변경할 비밀번호를 입력하세요.") else: raise CustomValidation('-13', "변경할 " + dict['new_password'][0]) else: raise CustomValidation('0', dict) user = get_user(user) if not user.check_password( serializer.validated_data['current_password']): raise CustomValidation('-11', '기존 비밀번호가 다릅니다.') user.set_password(serializer.validated_data['new_password']) user.save() return Response({ "result": 1, "error": 'null', "data": '비밀번호가 변경되었습니다.' })
def get(self, request, *args, **kwargs): user_pk = self.request.GET.get('user', None) user = get_user(user_pk) contents_pk = self.request.GET.get('contents', None) contents = get_contents(contents_pk) like_type = 0 try: contents.like_set.get(user=user) like_type = 1 except: pass try: contents.unlike_set.get(user=user) like_type = 2 except: pass data = {'result': 1, 'error': 'null', 'data': like_type} return Response(data, status=status.HTTP_200_OK)
def get_user_info(request): """We get the username and information for the current user""" return JsonResponse(get_user(request.user.id))
def get(self, request, user=None): user = get_user(user) serializer = self.serializer_class(user) data = {'result': 0, 'error': 'null', 'data': serializer.data} return Response(data)