Add common logic for xref buttons, links when viewing object

about dang time for this..probaby needs improvement but a good start
This commit is contained in:
Lance Edgar 2022-12-08 21:49:49 -06:00
parent 2278082a4d
commit 273fa7eb55
4 changed files with 60 additions and 22 deletions

View file

@ -187,27 +187,12 @@ class ProductView(MasterView):
self.handler = self.products_handler
def query(self, session):
user = self.request.user
if user and user not in session:
user = session.merge(user)
query = super(ProductView, self).query(session)
query = session.query(model.Product)
# TODO: was this old `has_permission()` call here for a reason..? hope not..
# if not auth.has_permission(session, user, 'products.view_deleted'):
if not self.request.has_perm('products.view_deleted'):
if not self.has_perm('view_deleted'):
query = query.filter(model.Product.deleted == False)
# TODO: This used to be a good idea I thought...but in dev it didn't
# seem to make much difference, except with a larger (50K) data set it
# totally bogged things down instead of helping...
# query = query\
# .options(orm.joinedload(model.Product.brand))\
# .options(orm.joinedload(model.Product.department))\
# .options(orm.joinedload(model.Product.subdepartment))\
# .options(orm.joinedload(model.Product.regular_price))\
# .options(orm.joinedload(model.Product.current_price))\
# .options(orm.joinedload(model.Product.vendor))
# TODO: surely this is not always needed
query = query.outerjoin(model.ProductInventory)
return query
@ -1190,6 +1175,7 @@ class ProductView(MasterView):
return jsdata
def template_kwargs_view(self, **kwargs):
kwargs = super(ProductView, self).template_kwargs_view(**kwargs)
product = kwargs['instance']
use_buefy = self.get_use_buefy()