Esempio n. 1
0
 def get(self, req, *args, **kwargs):
     authorizaion = req.META['HTTP_AUTHORIZATION']
     token = authorizaion.replace("Bearer ", "")
     data = get_data_from_token(token)
     if data:
         uid = int(kwargs.get('id')) if kwargs.get('id') else None
         if uid:
             user = get_user_model().objects.get(id=uid)
             if user is not None:
                 obj = {
                     'id': uid,
                     'username': user.username,
                     'email': user.email,
                     'type': user.type,
                     'password': user.password,
                     'first_name': '',
                     'last_name': '',
                     'portrait': ''
                 }
                 token = create_jwt_token(obj)
                 return JsonResponse({'token': token, 'data': obj})
             else:
                 return JsonResponse({'token': '', 'data': ''})
         else:
             return self.getList(req)
     else:
         return JsonResponse({'data': ''})
Esempio n. 2
0
    def post(self, req, *args, **kwargs):
        params = req.POST
        authorizaion = req.META['HTTP_AUTHORIZATION']
        token = authorizaion.replace("Bearer ", "")
        data = get_data_from_token(token)
        if data and data['username']=='admin' or data['utype']=='business':
            item = saveProduct(params)
            item.categories.clear()
            
            categories = params.get('categories').split(',')
            for cat_id in categories:
                try:
                    category = Category.objects.get(id=cat_id)
                except:
                    category = None
                item.categories.add(category)
            
            n_pics = int(params.get('n_pictures'))
            pictures = []
            for i in range(n_pics):
                name = params.get('name%s'%i)
                status = params.get('image_status%s'%i)
                image = req.FILES.get('image%s'%i)
                pictures.append({'index':i,'name':name, 'status':status, 'image':image})
                 
            processPictures(item, pictures)
             
            # select default picture
            pics = Picture.objects.filter(product_id=item.id)
            item.fpath = getDefaultPicture(pics)
            item.save()

            return JsonResponse({'tokenValid': True,'data':to_json(item)})
        return JsonResponse({'tokenValid':False, 'data':''})
Esempio n. 3
0
 def post(self, req, *args, **kwargs):
     authorizaion = req.META['HTTP_AUTHORIZATION']
     token = authorizaion.replace("Bearer ", "")
     data = get_data_from_token(token)
     if data:
         return JsonResponse({'data': data})
     else:
         return JsonResponse({'data': ''})
Esempio n. 4
0
    def get(self, req, *args, **kwargs):
        if get_data_from_token(req):
            _id = int(kwargs.get('id'))
            user = None
            try:
                if _id:
                    user = get_user_model().objects.get(id=_id)
            except Exception as e:
                logger.error('%s UserFormView get exception:%s' %
                             (datetime.now(), e))

            if user:
                return JsonResponse({'data': to_json(user)})
        return JsonResponse({'data': ''})
Esempio n. 5
0
 def post(self, req, *args, **kwargs):
     authorizaion = req.META['HTTP_AUTHORIZATION']
     token = authorizaion.replace("Bearer ", "")
     data = get_data_from_token(token)
     if data:
         uid = data['id']
         ubody = req.body.decode('utf-8')
         d = json.loads(ubody)
         # dict: {'orders': [{'restaurant_id': 2, 'items': [{'pid': 1, 'name': '土豆排骨', 'price': '12.000', 'restaurant_id': 
         #2, 'quantity': 4}, {'pid': 2, 'name': '泡椒豆腐', 'price': '12.000', 'restaurant_id': 2, 'quantity': 2}]}], 
         #'user_id': 7}
         orders = d.get("orders")
         for data in orders:
             rid = data['restaurant_id']
             items = data['items']
             order = Order()
             try:
                 restaurant = Restaurant.objects.get(id=rid)
                 user = get_user_model().objects.get(id=uid)
                 order.restaurant = restaurant
                 order.user = user
                 order.save()
             except Exception as e:
                 print(e)
             
             if order.id:
                 for item in items:
                     orderItem = OrderItem()
                     orderItem.order = order
                     orderItem.product = Product.objects.get(id=item['pid'])
                     orderItem.quantity = item['quantity']
                     orderItem.product_name = orderItem.product.name
                     orderItem.price = orderItem.product.price
                     orderItem.save()
             return JsonResponse({'success': True})
     return JsonResponse({'success':False})
Esempio n. 6
0
 def post(self, req, *args, **kwargs):
     authorizaion = req.META['HTTP_AUTHORIZATION']
     token = authorizaion.replace("Bearer ", "")
     data = get_data_from_token(token)
     
     for key in req.POST:
         params = json.loads(req.POST[key])
         index = int(key.replace('info_', ''))
         product = saveProduct(params)
         image_status = params.get('image_status')
         if image_status == 'unchange':
             pass
         elif image_status == 'changed' or image_status == 'add':
             pictures = []
             image = req.FILES.get('image%s'%index)
             pictures.append({'index':0,'name':'', 'status':image_status, 'image':image})
             processPictures(product, pictures)
             
             # select default picture
             pics = Picture.objects.filter(product_id=product.id)
             product.fpath = getDefaultPicture(pics)
             product.save()
             
     return JsonResponse({'data':[]})
Esempio n. 7
0
    def post(self, req, *args, **kwargs):
        params = req.POST
        authorizaion = req.META['HTTP_AUTHORIZATION']
        token = authorizaion.replace("Bearer ", "")
        data = get_data_from_token(token)
#         if data and data['username']=='admin':
        _id = params.get('id')
        if _id:
            item = Restaurant.objects.get(id=_id)
        else:                    
            item = Restaurant()
            
        item.name = params.get('name')
        item.description = params.get('description')
        item.lat = float(params.get('lat'))
        item.lng = float(params.get('lng'))
        item.created = item.created if item.created else datetime.now()
        addr_id = params.get('address_id')
        if(addr_id):
            addr = Address.objects.get(id=addr_id)
            self.saveAddress(addr, params)
            item.address = addr
        else:
            addr = Address()
            self.saveAddress(addr, params)
            item.address = addr
        item.save()
    
        image_status = params.get('image_status')
        if image_status == 'changed':
            self.rmPicture(item)
            image  = req.FILES.get("image")
            item.image.save(image.name, image.file, True)
            item.save()
        
        return JsonResponse({'data':to_json(item)})