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')
Esempio n. 3
0
 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)
Esempio n. 4
0
 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")
Esempio n. 5
0
 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")
Esempio n. 6
0
 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)
Esempio n. 7
0
    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')
Esempio n. 8
0
 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))
Esempio n. 9
0
 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)
Esempio n. 10
0
 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)
Esempio n. 11
0
 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)
Esempio n. 12
0
 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)
Esempio n. 13
0
 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)
Esempio n. 14
0
 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)
Esempio n. 15
0
 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)
Esempio n. 16
0
 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")
Esempio n. 17
0
 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)
Esempio n. 18
0
    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))
Esempio n. 19
0
 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)
Esempio n. 20
0
 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))
Esempio n. 21
0
    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)
Esempio n. 22
0
 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)
Esempio n. 23
0
 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))
Esempio n. 25
0
 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]})
Esempio n. 26
0
 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)
Esempio n. 27
0
 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)
Esempio n. 28
0
 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))
Esempio n. 30
0
 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)