コード例 #1
0
def add_global_template_variables():
    return dict(today=JalaliDate.today().strftime('%A %d %B %Y'),
                session=session,
                base_url=config.get('base_url'),
                pictures=DBSession.query(Picture).all(),
                categories=DBSession.query(Category).options(
                    joinedload('subcategory')).all())
コード例 #2
0
ファイル: root.py プロジェクト: eteamin/onlineluxe
 def index(self):
     latest = DBSession.query(Product).order_by(Product.id.desc()).limit(16).all()
     articles = DBSession.query(Article).order_by(Article.id.desc()).limit(2).all()
     top = []
     return dict(
         latest=latest,
         articles=articles,
         top=top,
         title='آنلاین لوکس - خرید بدلیجات',
         description=u'خرید ست، نیم ست، دستبند، گوشواره'
     )
コード例 #3
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)
コード例 #4
0
ファイル: root.py プロジェクト: eteamin/onlineluxe
 def post_login(self, came_from=lurl('/')):
     if not request.identity:
         return 'False'
     user = DBSession.query(User).filter(User.user_name == request.remote_user).one_or_none()
     session['user_id'] = user.user_id
     session['user_name'] = user.user_name
     session['display_name'] = user.display_name
     session.save()
     return 'True'
コード例 #5
0
ファイル: root.py プロジェクト: eteamin/onlineluxe
 def magazine(self, **kwargs):
     page = kwargs.get('page')
     offset = (page - 1) * 9 if page else 0
     articles = DBSession.\
         query(Article).\
         order_by(Article.id.desc()).\
         offset(offset).\
         all()
     top = DBSession.query(Article).order_by(Article.views.desc()).limit(3).all()
     return dict(articles=articles, top=top, title=u'آنلاین لوکس - مجله')
コード例 #6
0
ファイル: root.py プロジェクト: eteamin/onlineluxe
 def remove_from_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 basket and basket.status == 'Selection':
         if product in basket.product:
             basket.product.remove(product)
             tmp = basket.items
             del tmp[str(product.id)]
             basket.items = tmp
             DBSession.flush()
         redirect('/basket')
コード例 #7
0
ファイル: root.py プロジェクト: eteamin/onlineluxe
 def a(self, a_id, a_title):
     article = DBSession.query(Article).filter(Article.id == a_id).one_or_none()
     if not article:
         abort(404)
     related = DBSession.\
         query(Article).\
         filter(Article.topic_id == article.topic_id).\
         order_by(Article.id.desc()).\
         limit(5).\
         all()
     article.views = Article.views + 1
     DBSession.flush()
     return dict(
         related=related,
         article=article,
         title=u'مجله آنلاین لوکس - {}'.format(dash_for_space(article.title))
     )
コード例 #8
0
ファイル: root.py プロジェクト: eteamin/onlineluxe
 def change_count(self, product_id, value):
     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 == product_id).one_or_none()
     tmp = basket.items
     if value == 'up':
         if int(basket.items.get(str(product.id))) >= int(product.quantity):
             return
         tmp[product_id] += 1
     elif value == 'down':
         if int(basket.items.get(str(product.id))) == 1:
             return
         tmp[product_id] += -1
     basket.items = tmp
     DBSession.flush()
     redirect('/basket')
コード例 #9
0
ファイル: root.py プロジェクト: eteamin/onlineluxe
 def purchases(self):
     purchases = DBSession.query(Purchase).filter(Purchase.user_id == User.current().user_id).all()
     return dict(purchases=purchases, title=u' آنلاین لوکس - سفارشات من')
コード例 #10
0
ファイル: auth.py プロジェクト: eteamin/onlineluxe
 def current(cls):
     if 'REMOTE_USER' not in request.environ:
         abort(401)
     return DBSession.query(User).filter(User.user_name == request.environ['REMOTE_USER']).one()
コード例 #11
0
ファイル: admin.py プロジェクト: eteamin/onlineluxe
 def index(self):
     subcategories = DBSession.query(SubCategory).all()
     topics = DBSession.query(Topic).all()
     return dict(subcategories=subcategories, topics=topics)
コード例 #12
0
ファイル: __init__.py プロジェクト: eteamin/onlineluxe
 def test_query_obj(self):
     """Model objects can be queried"""
     obj = DBSession.query(self.klass).one()
     for key, value in self.attrs.items():
         eq_(getattr(obj, key), value)