Beispiel #1
0
    def post(self):
        image_file = self.request.POST.get("pic", None)
        file_obj = self.request.get("pic", None)
        if not isinstance(image_file, cgi.FieldStorage):
            return json_response(self.response, {}, ERROR, 'Select image file')

        key = self.request.get('key')
        e = ndb.Key(urlsafe=key).get()

        file_name = image_file.filename
        bucket_path = '/designer_frames/%s' % (file_name)
        bucket_path = bucket_path.lower()
        serving_url = ''
        upload_file(file_obj, bucket_path)
        try:
            logging.info('create_gs_key')
            bucket_key = blobstore.create_gs_key('/gs' + bucket_path)
            logging.info(bucket_key)
            logging.info('serving_url')
            if self.DEV:
                serving_url = images.get_serving_url(bucket_key)
            else:
                file_name = file_name.replace(' ', '%20').lower()
                serving_url = 'https://storage.googleapis.com/designer_frames/%s' % (
                    file_name)
            logging.info(serving_url)
        except Exception, msg:
            logging.error(msg)
            return json_response(self.response, {}, WARNING, 'Try again')
Beispiel #2
0
    def post(self):
        product = ndb.Key(urlsafe=self.request.get('product_key')).get()
        url = self.request.get('url')
        if not url:
            return json_response(self.response, {}, ERROR, 'Prev Url missing')

        category = self.request.get('category')
        template_name = self.request.get('template_name')
        source_code = self.request.get_all('source_code')
        logging.info(source_code.__len__())
        l = []
        for sc in source_code:
            if sc:
                l.append(sc)

        if not l:
            return json_response(self.response, {}, ERROR,
                                 'Ready design missing')

        e = ReadyDesignTemplate()
        e.design_prev_url = url
        e.category = category
        e.name = product.name
        e.product = product.key
        e.product_code = product.code
        e.template_source = l
        e.template_name = template_name
        e.put()

        return json_response(self.response, {}, SUCCESS, 'OK')
Beispiel #3
0
    def get(self):
        if not self.request.get('k'):
            return json_response(self.response, {}, ERROR, '')

        p = ndb.Key(urlsafe=self.request.get('k')).get()
        d = {
            'k': self.request.get('k'),
            'promo_img': p.promo_img,
            'promo_buckt_key': p.promo_buckt_key,
            'promo_product_bg_img': p.promo_product_bg_img,
            'promo_product_bg_key': p.promo_product_bg_key,
            'promo_text': p.promo_text,
            'promo_sequence': p.promo_sequence
        }
        return json_response(self.response, d, SUCCESS, '')
Beispiel #4
0
class UploadBGImage(ActionSupport):
    def post(self):
        image_file = self.request.POST.get("pic", None)
        file_obj = self.request.get("pic", None)
        if not isinstance(image_file, cgi.FieldStorage):
            return json_response(self.response, {}, ERROR, 'Select image file')

        key = self.request.get('key')
        e = ndb.Key(urlsafe=key).get()

        file_name = image_file.filename
        bucket_path = '/designer_backgrounds/%s' % (file_name)
        bucket_path = bucket_path.lower()
        serving_url = ''
        upload_file(file_obj, bucket_path)
        try:
            bucket_key = blobstore.create_gs_key('/gs' + bucket_path)
            serving_url = images.get_serving_url(bucket_key)
        except Exception, msg:
            logging.error(msg)
            return json_response(self.response, {}, WARNING, 'Try again')

        key = self.request.get('key')
        e = ndb.Key(urlsafe=key).get()
        e.img_url.append(serving_url)
        e.bucket_key.append(bucket_key)
        e.bucket_path.append(bucket_path)
        e.img_title.append(self.request.get('title'))
        e.put()
        return json_response(self.response, {'serving_url': serving_url},
                             SUCCESS, 'Success')
Beispiel #5
0
class UploadTextPattern(ActionSupport):
    def get(self):
        img_url_list = TextPatterns.get_img_url_list()
        d = {'img_url_list': img_url_list}
        template = self.get_jinja2_env.get_template('super/text-pattern.html')
        self.response.out.write(template.render(d))

    def post(self):
        image_file = self.request.POST.get("pic", None)
        file_obj = self.request.get("pic", None)
        logging.info(type(file_obj))
        if not isinstance(image_file, cgi.FieldStorage):
            return json_response(self.response, {}, ERROR, 'Select image file')

        file_name = image_file.filename
        bucket_path = '/designer_textptrn/%s' % (file_name)
        bucket_path = bucket_path.lower()
        serving_url = ''
        upload_file(file_obj, bucket_path)
        try:
            bucket_key = blobstore.create_gs_key('/gs' + bucket_path)
            serving_url = images.get_serving_url(bucket_key)
        except Exception, msg:
            logging.error(msg)
            return json_response(self.response, {}, WARNING, 'Try again')

        e = TextPatterns.get_obj()
        e.img_url.append(serving_url)
        e.bucket_key.append(bucket_key)
        e.bucket_path.append(bucket_path)
        e.put()
        return json_response(self.response, {'serving_url': serving_url},
                             SUCCESS, 'Success')
Beispiel #6
0
class UploadReadyDesignImage(ActionSupport):
    def post(self):
        image_file = self.request.POST.get("pic", None)
        file_obj = self.request.get("pic", None)
        if not isinstance(image_file, cgi.FieldStorage):
            return json_response(self.response, {}, ERROR, 'Select image file')

        file_name = image_file.filename
        bucket_path = '/designer_textptrn/ready_design/%s' % (file_name)
        bucket_path = bucket_path.lower()
        upload_file(file_obj, bucket_path)
        serving_url = ''
        try:
            bucket_key = blobstore.create_gs_key('/gs' + bucket_path)
            serving_url = images.get_serving_url(bucket_key)
            e = ReadyDesignStaticImage.get_obj()
            e.img_url.append(serving_url)
            e.img_key.append(bucket_key)
            e.put()
        except Exception, msg:
            logging.error(msg)

        return json_response(self.response, {
            'serving_url': serving_url,
        }, SUCCESS, 'Product background uploaded')
Beispiel #7
0
class UploadProductPreview(ActionSupport):
    def post(self):
        image_file = self.request.POST.get("pic", None)
        file_obj = self.request.get("pic", None)
        if not isinstance(image_file, cgi.FieldStorage):
            return json_response(self.response, {}, ERROR, 'Select image file')
        product_key = ndb.Key(urlsafe=self.request.get('p'))
        preview_top = self.request.get('preview_top')
        preview_left = self.request.get('preview_left')
        preview_width = self.request.get('preview_width')
        file_name = image_file.filename
        bucket_path = '/designer_preview/%s' % (file_name)
        bucket_path = bucket_path.lower()
        serving_url = ''
        upload_file(file_obj, bucket_path)
        try:
            bucket_key = blobstore.create_gs_key('/gs' + bucket_path)
            serving_url = images.get_serving_url(bucket_key)
        except Exception, msg:
            logging.error(msg)
            return json_response(self.response, {}, WARNING, 'Try again')

        e = ProductCanvas.get_obj(product_key)
        if not e:
            p = product_key.get()
            e = ProductCanvas(product=product_key, code=p.code, name=p.name)

        e.preview_key = bucket_key
        e.preview_url = serving_url
        e.preview_left = preview_left
        e.preview_top = preview_top
        e.preview_width = preview_width
        e.put()
        return json_response(self.response, {'preview_url': serving_url},
                             SUCCESS, 'Success')
Beispiel #8
0
    def get(self):
        prod = ndb.Key(urlsafe=self.request.get('key')).get()
        prod.retail_price = float(self.request.get('retailPrice'))
        prod.put()

        return json_response(self.response, {'key': self.request.get('key')},
                             SUCCESS, 'Retail price updated')
Beispiel #9
0
    def get(self):
        mapping_list = []
        code = self.request.get('cat')
        for e in FrameCategory.get_product_mapping_list(code):
            mapping_list.append(e.entityKey)

        return json_response(self.response, {'mapping_list': mapping_list},
                             SUCCESS, 'Success')
Beispiel #10
0
 def post(self):
     category = self.request.get('category').strip()
     ReadyDesignCategory.update_obj(category)
     data_dict = {
         'name': category,
     }
     return json_response(self.response, data_dict, SUCCESS,
                          'Category %s saved' % (category))
Beispiel #11
0
    def get(self):
        product_key = ndb.Key(urlsafe=self.request.get('product_key'))
        e = ProductCanvas.get_obj(product_key)
        data_dict = {'designer_module': []}
        if e and e.designer_module:
            data_dict['designer_module'] = e.designer_module

        return json_response(self.response, data_dict, SUCCESS, '')
Beispiel #12
0
 def get(self):
     mapping_list = []
     #category = ndb.Key(urlsafe=self.request.get('cat'))
     code = self.request.get('cat')
     for e in DesignCategory.get_product_mapping_list(code):
         mapping_list.append(e.entityKey)
     return json_response(self.response, {'mapping_list': mapping_list},
                          SUCCESS, 'Success')
Beispiel #13
0
 def post(self):
     title = self.request.get('title')
     e = FrameCategory()
     e.title = title
     e = e.put().get()
     data_dict = {'title': title, 'key': e.entityKey}
     return json_response(self.response, data_dict, SUCCESS,
                          'Category created')
Beispiel #14
0
    def post(self):
        image_file = self.request.POST.get("pic", None)
        file_obj = self.request.get("pic", None)
        if not isinstance(image_file, cgi.FieldStorage):
            return json_response(self.response, {}, ERROR, 'Select image file')

        product_key = ndb.Key(urlsafe=self.request.get('p'))
        file_name = image_file.filename
        bucket_path = '/designer_canvas/%s' % (file_name)
        bucket_path = bucket_path.lower()
        serving_url = ''
        upload_file(file_obj, bucket_path)
        try:
            bucket_key = blobstore.create_gs_key('/gs' + bucket_path)
            serving_url = images.get_serving_url(bucket_key)
        except Exception, msg:
            logging.error(msg)
            return json_response(self.response, {}, WARNING, 'Try again')
Beispiel #15
0
    def post(self):
        k = self.request.get('k')
        name = self.request.get('name')
        e = ndb.Key(urlsafe=k).get()
        e.title = name
        e.put()

        data_dict = {'name': name, 'k': k}
        return json_response(self.response, data_dict, SUCCESS, 'Rename Done')
Beispiel #16
0
    def get(self):
        e = AllowDesignerOffLogin.get_obj()
        if self.request.get('allow'):
            e.allow = True
        else:
            e.allow = False
        e.put()

        return json_response(self.response, {}, SUCCESS, 'Settings updated')
Beispiel #17
0
 def post(self):
     canvas = ndb.Key(urlsafe=self.request.get('key')).get()
     top = self.request.get('top')
     left = self.request.get('left')
     width = self.request.get('width')
     canvas.preview_top = top
     canvas.preview_left = left
     canvas.preview_width = width
     canvas.put()
     return json_response(self.response, {}, SUCCESS, 'Success')
Beispiel #18
0
 def get(self):
     k = self.request.get('k')
     e = ndb.Key(urlsafe=k).get()
     d = {
         'k': k,
         'img_url': e.img_url,
         'bucket_key': e.bucket_key,
         'bucket_path': e.bucket_path
     }
     return json_response(self.response, d, SUCCESS, '')
Beispiel #19
0
 def post(self):
     category = self.request.get('category')
     e = ndb.Key(urlsafe=self.request.get('key')).get()
     e.category = category
     e.put()
     data_dict = {
         'k': self.request.get('key'),
         'name': category,
     }
     return json_response(self.response, data_dict, SUCCESS,
                          'Category %s Updated' % (category))
Beispiel #20
0
 def post(self):
     canvas = ndb.Key(urlsafe=self.request.get('key')).get()
     top = self.request.get('top')
     left = self.request.get('left')
     stage_height = self.request.get('stage_height')
     stage_width = self.request.get('stage_width')
     canvas.top = top
     canvas.left = left
     canvas.stage_height = stage_height
     canvas.stage_width = stage_width
     canvas.put()
     return json_response(self.response, {}, SUCCESS, 'Success')
Beispiel #21
0
    def post(self):
        start = get_date_from_str(self.request.get('start'))
        end = get_date_from_str(self.request.get('end'))
        order_list = SellerOrder.get_order_filetered(start, end,
                                                     [self.seller.key])
        data = {'order_list': order_list}
        template = self.get_jinja2_env.get_template(
            'franchisor/ordersearch.html')
        html = template.render(data)

        return json_response(self.response, {'html': html}, SUCCESS,
                             'Order search result')
Beispiel #22
0
    def get(self):
        self.status = ERROR
        self.msg = 'Remove all mapping from product first'
        k = self.request.get('k')
        k_type = self.request.get('entity')
        self.key = ndb.Key(urlsafe=k)
        if k_type == PRODUCT_CATEGORY:
            self.delete_product_category()
        elif k_type == PRODUCT_UOM:
            self.delete_product_uom()

        return json_response(self.response, {'k': k}, self.status, self.msg)
Beispiel #23
0
    def post(self):
        self.status = ERROR
        self.msg = 'Delete all categories and uploaded images'
        k = self.request.get('k')
        self.e = ndb.Key(urlsafe=k).get()
        if self.e.img_url:
            self.msg = 'Delete uploaded images first'
        else:
            self.e.key.delete()
            self.status = SUCCESS
            self.msg = 'Deletion completed'

        return json_response(self.response, {'k': k}, self.status, self.msg)
Beispiel #24
0
    def post(self):
        self.status = ERROR
        self.msg = 'Delete all categories and uploaded images'
        k = self.request.get('k')
        k_type = self.request.get('entity')
        self.e = ndb.Key(urlsafe=k).get()
        if k_type == CLIP_ART:
            self.clipart_deletion()
        elif k_type == FRAMES:
            self.frame_deletion()
        elif k_type == BACKGROUNDS:
            self.backgound_deletion()

        return json_response(self.response, {'k': k}, self.status, self.msg)
Beispiel #25
0
    def post(self):
        e = ndb.Key(urlsafe=self.request.get('k')).get()
        img = ReadyDesignStaticImage.get_obj()

        try:
            i = img.img_url.index(e.design_prev_url)
            bucket_key = img.img_key[i]
            if delete_bucket_file(bucket_key):
                img.img_key.remove(bucket_key)
                img.img_url.remove(e.design_prev_url)
                img.put()
        except:
            pass
        e.key.delete()
        return json_response(self.response, {}, SUCCESS, 'Deleted ReadyDesign')
Beispiel #26
0
    def post(self):
        product_code = self.request.get('category')
        key_list = json.loads(self.request.get('data'))
        design_key = [ndb.Key(urlsafe=k) for k in key_list]
        logging.info(design_key)
        ndb_list = []
        for e in FrameCategory.get_list():
            if e.key in design_key:
                if product_code not in e.product_code_list:
                    e.product_code_list.append(product_code)
                    ndb_list.append(e)
            elif product_code in e.product_code_list:
                e.product_code_list.remove(product_code)
                ndb_list.append(e)

        if ndb_list:
            ndb.put_multi(ndb_list)
        return json_response(self.response, {}, SUCCESS, 'Success')
Beispiel #27
0
 def post(self):
     title = self.request.get('title')
     category = self.request.get('category')
     cat = ndb.Key(urlsafe=category).get()
     e = FrameSubCategory()
     e.category = cat.key
     e.category_name = cat.title
     e.category_urlsafe = category
     e.title = title
     e = e.put().get()
     data_dict = {
         'title': title,
         'category': cat.title,
         'category_key': category,
         'key': e.entityKey
     }
     return json_response(self.response, data_dict, SUCCESS,
                          'Sub-Category created')
Beispiel #28
0
    def post(self):
        e_list = []
        prod_keys = [
            ndb.Key(urlsafe=k) for k in json.loads(self.request.get('data'))
        ]
        logging.info(prod_keys)
        for p in Product.get_selling_product_list():
            if p.key in prod_keys:
                p.endclient_selection = True
            else:
                p.endclient_selection = False
            e_list.append(p)
        logging.info(e_list)
        if e_list:
            ndb.put_multi(e_list)

        return json_response(self.response, {}, SUCCESS,
                             'Product live setting updated')
Beispiel #29
0
 def get(self):
     key = self.request.get('k')
     product_key = ndb.Key(urlsafe=key)
     e = ProductCanvas.get_obj(product_key)
     d = {'img_url': '', 'preview_url': ''}
     if e:
         d = {
             'img_url': e.img_url,
             'bucket_key': e.bucket_key,
             'k': e.entityKey,
             'top': e.top,
             'left': e.left,
             'stage_width': e.stage_width,
             'stage_height': e.stage_height,
             'preview_left': e.preview_left,
             'preview_top': e.preview_top,
             'preview_key': e.preview_key,
             'preview_width': e.preview_width,
             'preview_url': e.preview_url
         }
     return json_response(self.response, d, SUCCESS, 'Success')
Beispiel #30
0
class UploadMasks(ActionSupport):
    def get(self):
        img_url_list = Masks.get_img_url_list()
        d = {'img_url_list': img_url_list}
        template = self.get_jinja2_env.get_template('super/masks.html')
        self.response.out.write(template.render(d))

    def post(self):
        image_file = self.request.POST.get("pic", None)
        file_obj = self.request.get("pic", None)
        if not isinstance(image_file, cgi.FieldStorage):
            return json_response(self.response, {}, ERROR, 'Select image file')

        file_name = image_file.filename
        bucket_path = '/designer_masks/%s' % (file_name)
        bucket_path = bucket_path.lower()
        serving_url = ''
        upload_file(file_obj, bucket_path)
        try:
            bucket_key = blobstore.create_gs_key('/gs' + bucket_path)
            if self.DEV:
                serving_url = images.get_serving_url(bucket_key)
            else:
                file_name = file_name.replace(' ', '%20').lower()
                serving_url = 'https://storage.googleapis.com/designer_masks/%s' % (
                    file_name)
        except Exception, msg:
            logging.error(msg)
            return json_response(self.response, {}, WARNING, 'Try again')

        e = Masks.get_obj()
        e.img_url.append(serving_url)
        e.bucket_key.append(bucket_key)
        e.bucket_path.append(bucket_path)
        e.put()
        return json_response(self.response, {'serving_url': serving_url},
                             SUCCESS, 'Success')