def get(self, request, id): try: return JsonResponse( data=BookRoomSerializer(BookRoom.objects.get(pk=id)).data) except BookRoom.DoesNotExist: return JsonResponse(status=status.HTTP_404_NOT_FOUND, message='wrong id - book-room does not exist')
def delete(self, request, id): try: BookRoom.objects.get(pk=id).delete() return JsonResponse(message='delete successful') except BookRoom.DoesNotExist: return JsonResponse(status=status.HTTP_404_NOT_FOUND, message='wrong id - book-room does not exist')
def get(self, request): try: return JsonResponse( WorkShiftSerializer(WorkShift.objects.first()).data) except Exception as e: logger.error(f'msg:{str(e)}, lo:{e.__traceback__.tb_lineno}') return JsonResponse(status=500)
def delete(self, request, id): try: Comment.objects.get(pk=id).delete() return JsonResponse(message='Comment deleted') except Comment.DoesNotExist: return JsonResponse(status=status.HTTP_404_NOT_FOUND, message="wrong id - comment not found")
def get(self, request, id): try: return JsonResponse( data=CommentSerializer(Comment.objects.get(pk=id)).data) except Comment.DoesNotExist: return JsonResponse(status=status.HTTP_404_NOT_FOUND, message="wrong id - Comment not found")
def post(self, request): try: req = request.data user = User.objects.get_or_create(username=req['phone_number'], defaults={ "first_name": req['first_name'], "last_name": req['last_name'], "phone_number": req['phone_number'], "gender": req['gender'] }) if user[1]: user[0].set_password(req['password']) user[0].save() barber = Barber.objects.get_or_create(user=user[0]) if barber[1]: return JsonResponse(message='ارایش گر مورد نظر ساخته شد') return JsonResponse(status=201, message='ارایش گر مورد نظر موجود است') except ValidationError as e: return JsonResponse(message=str(e), status=status.HTTP_409_CONFLICT) except Exception as e: logger.error(f'msg:{str(e)}, lo:{e.__traceback__.tb_lineno}') return JsonResponse(status=500)
def auto_handle(self, handler): if handler.is_valid() and handler.parse(): file_name = self.get_filename() if file_name: if len(handler.parsed) > 1: filenames = [str_crc32(file_name + str(i)) for i in range(len(handler.parsed))] else: filenames = [str_crc32(file_name)] else: filenames = [] ppics = handler.save(filenames=filenames, save_origin=self.save_origin, save_dims=self.save_dims) if not ppics: set_log('error', handler.sys_error) return JsonResponse(status=0, msg=u'发生错误,请重试', content_type='text/html') if hasattr(self, 'after_saving'): self.after_saving(ppics) return JsonResponse(status=1, data={'images': ppics}, content_type='text/html') if handler.sys_error: set_log('error', handler.sys_error) return JsonResponse(status=0, msg=handler.error, content_type='text/html')
def delete(self, request, id): try: Room.objects.get(pk=id).delete() return JsonResponse(message='delete successful') except Room.DoesNotExist: return JsonResponse(status=status.HTTP_404_NOT_FOUND, message='wrong id - room does not exists') except Exception as e: return JsonResponse(status=status.HTTP_500_INTERNAL_SERVER_ERROR, message=str(e))
def post(self, request): try: Token.objects.get(user=request.user).delete() request.user.last_login = datetime.now() request.user.save() return JsonResponse(message='با موفقیت خارج شدید') except Exception as e: logger.error(f'msg:{str(e)} lg:{e.__traceback__.tb_lineno}') return JsonResponse(status=500)
def post(self, request): try: password = unidecode(str(request.data['password'])) request.user.set_password(password) request.user.save() return JsonResponse(message='با موفقیت پسورد شما عوض شد') except Exception as e: logger.error(f'msg:{str(e)} lg:{e.__traceback__.tb_lineno}') return JsonResponse(status=500)
def delete(self, request, service_id): try: Service.objects.get(pk=service_id).delete() return JsonResponse(message='سرویس مورد نظر حذف شد') except Service.DoesNotExist: return JsonResponse(message='سرویس مورد نظر موجود نیست', status=404) except Exception as e: logger.error(f'msg:{str(e)}, lo:{e.__traceback__.tb_lineno}') return JsonResponse(status=500)
def get(self, request, barber_id=None): try: if barber_id: services = Service.objects.filter(barber_id=barber_id) else: services = Service.objects.all() return JsonResponse(ServicesSerializer(services, many=True).data) except Exception as e: logger.error(f'msg:{str(e)}, lo:{e.__traceback__.tb_lineno}') return JsonResponse(status=500)
def post(self, request): try: service = Service.objects.get_or_create( name=request.data['name'], price_per_15_min=request.data['price_per_15_min']) if not service[1]: return JsonResponse(message='سرویس مورد موجود است') return JsonResponse(status=201, message='سرویس مورد نظر اضافه شد') except Exception as e: logger.error(f'msg:{str(e)}, lo:{e.__traceback__.tb_lineno}') return JsonResponse(status=500)
def get(self, request, barber_id=None): try: if barber_id: return JsonResponse( BarberSerializer(Barber.objects.get(pk=barber_id)).data) return JsonResponse( BarberSerializer(Barber.objects.all(), many=True).data) except Barber.DoesNotExist: return JsonResponse(status=404, message='ارایشگر یافت نشد') except Exception as e: logger.error(f'msg:{str(e)}, lo:{e.__traceback__.tb_lineno}') return JsonResponse(status=500)
def delete(self, request): try: req = request.data barber = Barber.objects.get(pk=req['barber_id']) services = Service.objects.filter(pk__in=req['service_ids']) for service in services: barber.services.remove(service) return JsonResponse(message='سرویس مورد نظر از ارایشگر حذف شد') except Barber.DoesNotExist: return JsonResponse(status=404, message='ارایشگر یافت نشد') except Exception as e: logger.error(f'msg:{str(e)}, lo:{e.__traceback__.tb_lineno}') return JsonResponse(status=500)
def put(self, request, id): try: comment = Comment.objects.get(pk=id) data = dict(request.data) ser = CommentSerializer(comment, data, partial=True) if ser.is_valid(): ser.save() return JsonResponse(message='Comment Updated') return JsonResponse(message=ser.errors, status=status.HTTP_400_BAD_REQUEST) except Comment.DoesNotExist: return JsonResponse(status=status.HTTP_404_NOT_FOUND, message="wrong id - comment not found")
def get(self, request, barber_id): try: barber = Barber.objects.get(pk=barber_id) date = datetime.datetime.now().astimezone( pytz.timezone('Asia/Tehran')).replace( tzinfo=datetime.timezone.utc) shifts = Shift.objects.filter(end_at__gte=date, barber=barber) if request.query_params.get('date'): date = jdatetime.datetime.strptime( fix_date(request.query_params['date']), '%Y/%m/%d') shifts = shifts.filter(end_at__lte=date.togregorian() + datetime.timedelta(days=1)) all_shift_times = shift_from(date) else: all_shift_times = shift_from() for i in shifts: start = i.start_at end = i.end_at delta = (end - start).seconds // 60 // 15 if delta != 1: times = [ start + datetime.timedelta(minutes=z * 15) for z in range(0, delta) ] else: times = [start] for time in times: print(all_shift_times[0], times) all_shift_times.remove(time) work_shifts = [] for i in all_shift_times: work_shifts.append({ 'start_at': jalali_datetime(i), 'end_at': jalali_datetime(i + datetime.timedelta(minutes=15)) }) return JsonResponse(**paginate(data=work_shifts, limit=50, page=request.query_params.get( 'page', 1)), extra={ "barber": BarberSerializer(barber, exclude=('created_at', 'updated_at', 'services')).data }) except Exception as e: logger.error(f'msg:{str(e)}, lo:{e.__traceback__.tb_lineno}') return JsonResponse(status=500)
def post(self, request, *args, **kwargs): xy = self.get_crop_location(request) if not xy: return JsonResponse(status=0, msg=u'还没有选择剪裁范围') try: image_names = json.loads(request.POST.get('images', '')) if not image_names: raise Exception() except: return JsonResponse(status=0, msg=u'不存在可解析的图片') return self.auto_handle(self.image_handler(image_names, xy, self.image_conf))
def put(self, request, service_id): try: service = Service.objects.get(pk=service_id) service.name = request.data['name'] if request.data.get( 'name') else service.name service.price_per_15_min = request.data[ 'price_per_15_min'] if request.data.get( 'price_per_15_min') else service.price_per_15_min service.save() return JsonResponse(message='سرویس مورد نظر بروز شد') except Service.DoesNotExist: return JsonResponse(status=404, message='سرویس مورد نظر یافت نشد') except Exception as e: logger.error(f'msg:{str(e)}, lo:{e.__traceback__.tb_lineno}') return JsonResponse(status=500)
def post(self, request, *args, **kwargs): pics = dict(request.FILES).get(self.files_rev_key, []) if not pics: return JsonResponse(status=0, msg=u'请选择需要上传的图片', content_type='text/html') return self.auto_handle(self.image_handler(pics, self.image_conf))
def get(self, request): shares = Share.objects.filter(is_published=True) paginator = Paginator(self.get_loader(shares), self.page_size, self.section_size, shares.count()) page_instance = paginator.page(request, self.get_session_key()) context = { 'page_instance': page_instance, } if request.is_ajax(): html = self.render_to_response(context) html.render() data = { 'html': html.content, 'has_next': page_instance.has_next() } return JsonResponse(status=1, data=data) cates = ShareCategory.objects.all() context.update({ 'cates': cates, 'cate_color_box_width': 79 * cates.count(), }) return self.render_to_response(context)
def get(self, request, user_id=None): try: if user_id: user = User.objects.get(pk=user_id) return JsonResponse(UserSerializer(user).data) else: user = User.objects.filter(barber__isnull=True) return JsonResponse(**paginate(user, serializer=UserSerializer, page=request.query_params.get('page'), limit=request.query_params.get('limit'))) except User.DoesNotExist: return JsonResponse(status=404, message='مشتری یافت نشد') except Exception as e: logger.error(f'msg:{str(e)}, lo:{e.__traceback__.tb_lineno}') return JsonResponse(status=500)
def get(self, request, barber_id): try: barber = Barber.objects.get(pk=barber_id) date = datetime.datetime.now().astimezone( pytz.timezone('Asia/Tehran')).replace( tzinfo=datetime.timezone.utc) shifts = Shift.objects.filter(start_at__gte=date, barber=barber) return JsonResponse( ShiftSerializer(shifts, many=True, exclude=('created_at', 'updated_at')).data) except Barber.DoesNotExist: return JsonResponse(status=404, message='ارایشگر یافت نشد') except Exception as e: logger.error(f'msg:{str(e)}, lo:{e.__traceback__.tb_lineno}') return JsonResponse(status=500)
def get(self, request): """ get all non booked room""" try: date_format = '%Y-%m-%d' start_at = datetime.datetime.strptime( request.query_params['start_at'], date_format) end_at = datetime.datetime.strptime(request.query_params['end_at'], date_format) book_room = BookRoom.objects.filter(booked_room__isnull=True, start_at__date__gte=start_at, end_at__date__lte=end_at) data = BookRoomSerializer(book_room, many=True).data return JsonResponse(data=data) except Exception as e: return JsonResponse(status=status.HTTP_400_BAD_REQUEST, message=str(e))
def form_invalid(self, form): # Refresh captcha key = CaptchaStore.generate_key() url = captcha_image_url(key) return JsonResponse(status=0, msg=form.errors.popitem()[1], data={'captcha': [key, url]})
def post(self, request): try: data = request.data room = Room() room.bed_count = data.get('bed_count') room.size = data.get('size') room.is_vip = data.get('is_vip') room.has_good_view = data.get('has_good_view') room.room_number = data.get('room_number') room.description = data.get('description') room.listing = Listing.objects.get(pk=data['listing_id']) room.save() return JsonResponse(status=status.HTTP_201_CREATED, message='create successful') except Listing.DoesNotExist: return JsonResponse(message='wrong id - listing not found', status=status.HTTP_404_NOT_FOUND) except Exception as e: return JsonResponse(message=str(e), status=status.HTTP_400_BAD_REQUEST)
def post(self, request): try: req = request.data user = User.objects.get_or_create(username=req['phone_number'], defaults={ "gender": req['gender'] if req.get('gender') else False, "phone_number": req['phone_number'], "username": req['phone_number'], 'first_name': req['first_name'], 'last_name': req['last_name'], })[0] user.set_password(req['password']) user.save() return JsonResponse(message='مشتری با موفقیت ساخته شد') except ValidationError as e: return JsonResponse(status=400, message=str(e)) except Exception as e: logger.error(f'msg:{str(e)}, lo:{e.__traceback__.tb_lineno}') return JsonResponse(status=500)
def put(self, request, user_id): try: req = request.data user = User.objects.get(pk=user_id) user.phone_number = req['phone_number'] user.username = req['phone_number'] user.first_name = req['first_name'] user.last_name = req['last_name'] user.gender = req['gender'] user.save() return JsonResponse(message='مشتری با موفقیت بروز رسانی شد') except ValidationError as e: return JsonResponse(message=str(e), status=status.HTTP_409_CONFLICT) except User.DoesNotExist: return JsonResponse(message='مشتری یافت نشد', status=404) except Exception as e: logger.error(f'msg:{str(e)}, lo:{e.__traceback__.tb_lineno}') return JsonResponse(status=500)
def post(self, request): try: data = request.data booked_room = BookedRoom() booked_room.user = User.objects.get(pk=data['user_id']) booked_room.book_room = BookRoom.objects.get( pk=data['book_room_id']) booked_room.save() return JsonResponse(status=status.HTTP_201_CREATED, message='create successful') except User.DoesNotExist: return JsonResponse(status=status.HTTP_404_NOT_FOUND, message='wrong id - user not found') except BookRoom.DoesNotExist: return JsonResponse(status=status.HTTP_404_NOT_FOUND, message='wrong id - bookroom not found') except ValueError as e: return JsonResponse(status=status.HTTP_400_BAD_REQUEST, message=str(e))
def post(self, request): try: username = unidecode(str(request.data['username'])) password = unidecode(str(request.data['password'])) user = User.objects.get(username=username) if not user.password: user.set_password(str(user.mobile_number)) user.save() if user.check_password(password): user.last_login = datetime.now() user.save() return JsonResponse(data=UserSerializer(user).data) raise User.DoesNotExist except User.DoesNotExist: return JsonResponse(message='نام کاربری یا رمزعبور اشتباه است', status=404) except Exception as e: logger.error(f'msg:{str(e)} lg:{e.__traceback__.tb_lineno}') return JsonResponse(status=500)