コード例 #1
0
ファイル: root.py プロジェクト: eteamin/onlineluxe
 def add_to_basket(self, p_id):
     user = User.current()
     basket = DBSession. \
         query(Purchase). \
         filter(Purchase.user_id == user.user_id). \
         order_by(Purchase.id.desc()). \
         first()
     product = DBSession.query(Product).filter(Product.id == p_id).one_or_none()
     if product.quantity < 1:
         return dict(ok=False)
     if basket and basket.status == 'Selection':
         if product in basket.product:
             return dict(ok=True)
         elif product not in basket.product:
             basket.product.append(product)
             tmp = basket.items
             tmp[product.id] = 1
             basket.items = tmp
             DBSession.flush()
         return dict(ok=True)
     if not basket or basket.status != 'Selection':
         basket = Purchase(
             user_id=user.user_id,
             items={}
         )
         basket.set_uid()
         basket.product.append(product)
         tmp = basket.items
         tmp[product.id] = 1
         basket.items = tmp
         DBSession.add(basket)
         DBSession.flush()
         return dict(ok=True)
コード例 #2
0
ファイル: root.py プロジェクト: eteamin/onlineluxe
 def comment(self, **kwargs):
     text = kwargs.get('text')
     product_id = kwargs.get('product_id')
     product_title = kwargs.get('product_title')
     c = Comment(text=text, product_id=product_id, user_id=User.current().user_id)
     DBSession.add(c)
     DBSession.flush()
     redirect('/p/{}/{}'.format(product_id, product_title))
コード例 #3
0
ファイル: admin.py プロジェクト: eteamin/onlineluxe
 def submit_article(self, **kw):
     image = StorageManager().store(kw.get('image'))
     del kw['image']
     a = Article()
     a.image = image
     for k, v in kw.items():
         a.__setattr__(k, v)
     DBSession.add(a)
     DBSession.flush()
     redirect('/area51')
コード例 #4
0
ファイル: admin.py プロジェクト: eteamin/onlineluxe
 def submit_product(self, **kw):
     images = ','.join([StorageManager().store(i) for i in kw.get('form-images')])
     del kw['form-images']
     p = Product()
     p.images = images
     for k, v in kw.items():
         p.__setattr__(k, v)
     DBSession.add(p)
     DBSession.flush()
     redirect('/area51')
コード例 #5
0
ファイル: root.py プロジェクト: eteamin/onlineluxe
 def register_handler(self, **kwargs):
     username = kwargs.get('username')
     password = kwargs.get('password')
     DBSession.add(User(
         user_name=username,
         password=password
     ))
     try:
         DBSession.flush()
         return dict(ok=True)
     except IntegrityError:
         return dict(ok=False)
コード例 #6
0
ファイル: __init__.py プロジェクト: eteamin/onlineluxe
 def setUp(self):
     """Setup test fixture for each model test method."""
     try:
         new_attrs = {}
         new_attrs.update(self.attrs)
         new_attrs.update(self.do_get_dependencies())
         self.obj = self.klass(**new_attrs)
         DBSession.add(self.obj)
         DBSession.flush()
         return self.obj
     except:
         DBSession.rollback()
         raise