Ejemplo n.º 1
0
    def test_get_available_sellables_query(self):
        # Sellable and query without supplier
        sellable = self.create_sellable()
        self.create_storable(product=sellable.product,
                             branch=self.create_branch())

        self.assertIn(
            sellable,
            self.store.find(Sellable,
                            Sellable.get_available_sellables_query(self.store)))

        sellable.close()
        self.assertNotIn(
            sellable,
            self.store.find(Sellable,
                            Sellable.get_available_sellables_query(self.store)))

        delivery_sellable = sysparam(self.store).DELIVERY_SERVICE.sellable
        delivery_sellable.status = Sellable.STATUS_AVAILABLE
        # Deliveries are treated differently, that's why they should
        # not be present here
        self.assertNotIn(
            sellable,
            self.store.find(Sellable,
                            Sellable.get_available_sellables_query(self.store)))
Ejemplo n.º 2
0
    def test_get_available_sellables_query(self):
        # Sellable and query without supplier
        sellable = self.create_sellable()
        self.create_storable(product=sellable.product,
                             branch=self.create_branch())

        self.assertIn(
            sellable,
            self.store.find(Sellable,
                            Sellable.get_available_sellables_query(self.store)))

        sellable.close()
        self.assertNotIn(
            sellable,
            self.store.find(Sellable,
                            Sellable.get_available_sellables_query(self.store)))

        delivery_sellable = sysparam(self.store).DELIVERY_SERVICE.sellable
        delivery_sellable.status = Sellable.STATUS_AVAILABLE
        # Deliveries are treated differently, that's why they should
        # not be present here
        self.assertNotIn(
            sellable,
            self.store.find(Sellable,
                            Sellable.get_available_sellables_query(self.store)))
Ejemplo n.º 3
0
 def get_sellable_view_query(self):
     branch = api.get_current_branch(self.store)
     branch_query = Or(Field('_stock_summary', 'branch_id') == branch.id,
                       Eq(Field('_stock_summary', 'branch_id'), None))
     query = And(branch_query,
                 Sellable.get_available_sellables_query(self.store))
     return self.sellable_view, query
Ejemplo n.º 4
0
 def get_sellable_view_query(self):
     # The stock quantity of consigned products can not be
     # decreased manually. See bug 5212.
     query = And(Eq(Product.consignment, False),
                 self.sellable_view.branch_id == self.model.branch_id,
                 Sellable.get_available_sellables_query(self.store))
     return self.sellable_view, query
Ejemplo n.º 5
0
 def get_sellable_view_query(self):
     # The stock quantity of consigned products can not be
     # decreased manually. See bug 5212.
     query = And(Eq(Product.consignment, False),
                 self.sellable_view.branch_id == self.model.branch_id,
                 Sellable.get_available_sellables_query(self.store))
     return self.sellable_view, query
Ejemplo n.º 6
0
 def get_sellable_view_query(self):
     branch = api.get_current_branch(self.store)
     branch_query = Or(ProductStockItem.branch_id == branch.id,
                       Eq(ProductStockItem.branch_id, None))
     query = And(branch_query,
                 Sellable.get_available_sellables_query(self.store))
     return self.sellable_view, query
Ejemplo n.º 7
0
 def get_sellable_view_query(self):
     branch = api.get_current_branch(self.store)
     branch_query = Or(ProductStockItem.branch_id == branch.id,
                       Eq(ProductStockItem.branch_id, None))
     query = And(branch_query,
                 Sellable.get_available_sellables_query(self.store))
     return self.sellable_view, query
Ejemplo n.º 8
0
 def get_sellable_view_query(self):
     branch = api.get_current_branch(self.store)
     branch_query = Or(Field('_stock_summary', 'branch_id') == branch.id,
                       Eq(Field('_stock_summary', 'branch_id'), None))
     query = And(branch_query,
                 Sellable.get_available_sellables_query(self.store))
     return self.sellable_view, query
Ejemplo n.º 9
0
 def get_sellable_view_query(self):
     return (
         self.sellable_view,
         # FIXME: How to do this using sellable_view.find_by_branch ?
         And(
             Or(ProductStockItem.branch_id == self.model.branch.id,
                Eq(ProductStockItem.branch_id, None)),
             Sellable.get_available_sellables_query(self.store)))
Ejemplo n.º 10
0
 def get_sellable_view_query(self):
     branch = self.model.branch
     branch_query = ProductStockItem.branch_id == branch.id
     # The stock quantity of consigned products can not be
     # decreased manually. See bug 5212.
     query = And(branch_query,
                 Product.consignment == False,
                 Sellable.get_available_sellables_query(self.store))
     return self.sellable_view, query
Ejemplo n.º 11
0
    def get_sellable_view_query(self):
        branch = self.model.branch
        # Also include products that are not storable
        branch_query = Or(self.sellable_view.branch_id == branch.id, Eq(self.sellable_view.branch_id, None))

        # The stock quantity of consigned products can not be
        # decreased manually. See bug 5212.
        query = And(branch_query, Sellable.get_available_sellables_query(self.store))
        return self.sellable_view, query
Ejemplo n.º 12
0
 def get_sellable_view_query(self):
     return (
         self.sellable_view,
         # FIXME: How to do this using sellable_view.find_by_branch ?
         And(
             Or(
                 Field('_stock_summary',
                       'branch_id') == self.model.branch.id,
                 Eq(Field('_stock_summary', 'branch_id'), None)),
             Sellable.get_available_sellables_query(self.store)))
Ejemplo n.º 13
0
    def get_sellable_view_query(self):
        branch = self.model.branch
        # Also include products that are not storable
        branch_query = Or(self.sellable_view.branch_id == branch.id,
                          Eq(self.sellable_view.branch_id, None))

        # The stock quantity of consigned products can not be
        # decreased manually. See bug 5212.
        query = And(branch_query,
                    Sellable.get_available_sellables_query(self.store))
        return self.sellable_view, query
Ejemplo n.º 14
0
 def get_sellable_view_query(self):
     return (self.sellable_view,
             # FIXME: How to do this using sellable_view.find_by_branch ?
             And(Or(ProductStockItem.branch_id == self.model.branch.id,
                    ProductStockItem.branch_id == None),
                 Sellable.get_available_sellables_query(self.store)))
Ejemplo n.º 15
0
 def get_sellable_view_query(self):
     return (self.sellable_view,
             # FIXME: How to do this using sellable_view.find_by_branch ?
             And(Or(Field('_stock_summary', 'branch_id') == self.model.branch.id,
                    Eq(Field('_stock_summary', 'branch_id'), None)),
                 Sellable.get_available_sellables_query(self.store)))