diff --git a/pyproject.toml b/pyproject.toml
index d951e9e..ff4a4bc 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -38,8 +38,7 @@ dependencies = [
[project.optional-dependencies]
postgres = ["psycopg2"]
mysql = ["mysql-connector-python"]
-# TODO: remove sphinx version cap after new sphinx-toolbox release?
-docs = ["Sphinx<8.2", "furo", "sphinxcontrib-programoutput", "enum-tools[sphinx]"]
+docs = ["Sphinx", "furo", "sphinxcontrib-programoutput", "enum-tools[sphinx]"]
tests = ["pytest-cov", "tox"]
diff --git a/src/sideshow/batch/neworder.py b/src/sideshow/batch/neworder.py
index 1c10a4e..28e2627 100644
--- a/src/sideshow/batch/neworder.py
+++ b/src/sideshow/batch/neworder.py
@@ -938,8 +938,6 @@ class NewOrderBatchHandler(BatchHandler):
row.department_id = product.department_id
row.department_name = product.department_name
row.special_order = product.special_order
- row.vendor_name = product.vendor_name
- row.vendor_item_code = product.vendor_item_code
row.case_size = product.case_size
row.unit_cost = product.unit_cost
row.unit_price_reg = product.unit_price_reg
@@ -961,8 +959,6 @@ class NewOrderBatchHandler(BatchHandler):
row.department_id = product.department_id
row.department_name = product.department_name
row.special_order = product.special_order
- row.vendor_name = product.vendor_name
- row.vendor_item_code = product.vendor_item_code
row.case_size = product.case_size
row.unit_cost = product.unit_cost
row.unit_price_reg = product.unit_price_reg
@@ -1021,14 +1017,8 @@ class NewOrderBatchHandler(BatchHandler):
def why_not_execute(self, batch, **kwargs):
"""
By default this checks to ensure the batch has a customer with
- phone number, and at least one item. It also may check to
- ensure the store is assigned, if applicable.
+ phone number, and at least one item.
"""
- if not batch.store_id:
- order_handler = self.app.get_order_handler()
- if order_handler.expose_store_id():
- return "Must assign the store"
-
if not batch.customer_name:
return "Must assign the customer"
@@ -1200,8 +1190,6 @@ class NewOrderBatchHandler(BatchHandler):
'product_weighed',
'department_id',
'department_name',
- 'vendor_name',
- 'vendor_item_code',
'case_size',
'order_qty',
'order_uom',
diff --git a/src/sideshow/db/alembic/versions/13af2ffbc0e0_add_order_item_vendor.py b/src/sideshow/db/alembic/versions/13af2ffbc0e0_add_order_item_vendor.py
deleted file mode 100644
index 52fe552..0000000
--- a/src/sideshow/db/alembic/versions/13af2ffbc0e0_add_order_item_vendor.py
+++ /dev/null
@@ -1,41 +0,0 @@
-"""add order_item.vendor*
-
-Revision ID: 13af2ffbc0e0
-Revises: a4273360d379
-Create Date: 2025-02-19 19:36:30.308840
-
-"""
-from typing import Sequence, Union
-
-from alembic import op
-import sqlalchemy as sa
-import wuttjamaican.db.util
-
-
-# revision identifiers, used by Alembic.
-revision: str = '13af2ffbc0e0'
-down_revision: Union[str, None] = 'a4273360d379'
-branch_labels: Union[str, Sequence[str], None] = None
-depends_on: Union[str, Sequence[str], None] = None
-
-
-def upgrade() -> None:
-
- # sideshow_batch_neworder_row
- op.add_column('sideshow_batch_neworder_row', sa.Column('vendor_name', sa.String(length=50), nullable=True))
- op.add_column('sideshow_batch_neworder_row', sa.Column('vendor_item_code', sa.String(length=20), nullable=True))
-
- # sideshow_order_item
- op.add_column('sideshow_order_item', sa.Column('vendor_name', sa.String(length=50), nullable=True))
- op.add_column('sideshow_order_item', sa.Column('vendor_item_code', sa.String(length=20), nullable=True))
-
-
-def downgrade() -> None:
-
- # sideshow_order_item
- op.drop_column('sideshow_order_item', 'vendor_item_code')
- op.drop_column('sideshow_order_item', 'vendor_name')
-
- # sideshow_batch_neworder_row
- op.drop_column('sideshow_batch_neworder_row', 'vendor_item_code')
- op.drop_column('sideshow_batch_neworder_row', 'vendor_name')
diff --git a/src/sideshow/db/model/batch/neworder.py b/src/sideshow/db/model/batch/neworder.py
index 6a64372..9121dc6 100644
--- a/src/sideshow/db/model/batch/neworder.py
+++ b/src/sideshow/db/model/batch/neworder.py
@@ -252,16 +252,6 @@ class NewOrderBatchRow(model.BatchRowMixin, model.Base):
normally carried by the store. Default is null.
""")
- vendor_name = sa.Column(sa.String(length=50), nullable=True, doc="""
- Name of vendor from which product may be purchased, if known. See
- also :attr:`vendor_item_code`.
- """)
-
- vendor_item_code = sa.Column(sa.String(length=20), nullable=True, doc="""
- Item code (SKU) to use when ordering this product from the vendor
- identified by :attr:`vendor_name`, if known.
- """)
-
case_size = sa.Column(sa.Numeric(precision=10, scale=4), nullable=True, doc="""
Case pack count for the product, if known.
diff --git a/src/sideshow/db/model/orders.py b/src/sideshow/db/model/orders.py
index 8d01d27..5455d01 100644
--- a/src/sideshow/db/model/orders.py
+++ b/src/sideshow/db/model/orders.py
@@ -253,16 +253,6 @@ class OrderItem(model.Base):
normally carried by the store. Default is null.
""")
- vendor_name = sa.Column(sa.String(length=50), nullable=True, doc="""
- Name of vendor from which product may be purchased, if known. See
- also :attr:`vendor_item_code`.
- """)
-
- vendor_item_code = sa.Column(sa.String(length=20), nullable=True, doc="""
- Item code (SKU) to use when ordering this product from the vendor
- identified by :attr:`vendor_name`, if known.
- """)
-
case_size = sa.Column(sa.Numeric(precision=10, scale=4), nullable=True, doc="""
Case pack count for the product, if known.
""")
diff --git a/src/sideshow/web/templates/order-items/view.mako b/src/sideshow/web/templates/order-items/view.mako
index e7d85ce..cb86977 100644
--- a/src/sideshow/web/templates/order-items/view.mako
+++ b/src/sideshow/web/templates/order-items/view.mako
@@ -243,12 +243,6 @@
${app.render_boolean(item.special_order)}
-
- ${item.vendor_name}
-
-
- ${item.vendor_item_code}
-
diff --git a/src/sideshow/web/views/orders.py b/src/sideshow/web/views/orders.py
index 76399ff..8aa7534 100644
--- a/src/sideshow/web/views/orders.py
+++ b/src/sideshow/web/views/orders.py
@@ -1239,9 +1239,6 @@ class OrderItemView(MasterView):
# customer_name
g.set_label('customer_name', "Customer", column_only=True)
- g.set_renderer('customer_name', self.render_order_attr)
- g.set_sorter('customer_name', model.Order.customer_name)
- g.set_filter('customer_name', model.Order.customer_name)
# # sequence
# g.set_label('sequence', "Seq.", column_only=True)
@@ -1565,26 +1562,6 @@ class PlacementView(OrderItemView):
route_prefix = 'order_items_placement'
url_prefix = '/placement'
- grid_columns = [
- 'order_id',
- 'store_id',
- 'customer_name',
- 'product_brand',
- 'product_description',
- 'product_size',
- 'department_name',
- 'special_order',
- 'vendor_name',
- 'vendor_item_code',
- 'order_qty',
- 'order_uom',
- 'total_price',
- ]
-
- filter_defaults = {
- 'vendor_name': {'active': True},
- }
-
def get_query(self, session=None):
""" """
query = super().get_query(session=session)
@@ -1687,26 +1664,6 @@ class ReceivingView(OrderItemView):
route_prefix = 'order_items_receiving'
url_prefix = '/receiving'
- grid_columns = [
- 'order_id',
- 'store_id',
- 'customer_name',
- 'product_brand',
- 'product_description',
- 'product_size',
- 'department_name',
- 'special_order',
- 'vendor_name',
- 'vendor_item_code',
- 'order_qty',
- 'order_uom',
- 'total_price',
- ]
-
- filter_defaults = {
- 'vendor_name': {'active': True},
- }
-
def get_query(self, session=None):
""" """
query = super().get_query(session=session)
diff --git a/tests/batch/test_neworder.py b/tests/batch/test_neworder.py
index c6dca19..ed2179a 100644
--- a/tests/batch/test_neworder.py
+++ b/tests/batch/test_neworder.py
@@ -818,8 +818,6 @@ class TestNewOrderBatchHandler(DataTestCase):
brand_name='Bragg',
description='Vinegar',
size='32oz',
- vendor_name='Acme Distributors',
- vendor_item_code='1234',
created_by=user,
status=enum.PendingProductStatus.PENDING)
row = handler.make_row(pending_product=product, order_qty=1, order_uom=enum.ORDER_UOM_UNIT)
@@ -832,8 +830,6 @@ class TestNewOrderBatchHandler(DataTestCase):
self.assertEqual(row.product_brand, 'Bragg')
self.assertEqual(row.product_description, 'Vinegar')
self.assertEqual(row.product_size, '32oz')
- self.assertEqual(row.vendor_name, 'Acme Distributors')
- self.assertEqual(row.vendor_item_code, '1234')
self.assertIsNone(row.case_size)
self.assertIsNone(row.unit_cost)
self.assertIsNone(row.unit_price_reg)
@@ -1118,15 +1114,9 @@ class TestNewOrderBatchHandler(DataTestCase):
self.session.add(row)
self.session.flush()
- # batch is okay to execute..
reason = handler.why_not_execute(batch)
self.assertIsNone(reason)
- # unless we also require store
- self.config.setdefault('sideshow.orders.expose_store_id', 'true')
- reason = handler.why_not_execute(batch)
- self.assertEqual(reason, "Must assign the store")
-
def test_make_local_customer(self):
model = self.app.model
enum = self.app.enum