{% extends "base.html" %} {% from "components/ui.html" import page_header %} {% block content %} {% set breadcrumbs = [ {'text': 'Inventory', 'url': url_for('inventory.list_stock_items')}, {'text': 'Warehouses', 'url': url_for('inventory.list_warehouses')}, {'text': warehouse.name} ] %} {{ page_header( icon_class='fas fa-warehouse', title_text=warehouse.name, subtitle_text=warehouse.code, breadcrumbs=breadcrumbs, actions_html='Edit' if (current_user.is_admin or has_permission('manage_warehouses')) else None ) }}
{{ warehouse.code }}
{% if warehouse.is_active %} {{ _('Active') }} {% else %} {{ _('Inactive') }} {% endif %}
{{ warehouse.address }}
{{ warehouse.contact_person }}
{{ warehouse.notes }}
| {{ _('Item') }} | {{ _('SKU') }} | {{ _('On Hand') }} | {{ _('Reserved') }} | {{ _('Available') }} | {{ _('Location') }} |
|---|---|---|---|---|---|
| {{ stock.stock_item.name }} | {{ stock.stock_item.sku }} | {{ stock.quantity_on_hand }} | {{ stock.quantity_reserved }} | {{ stock.quantity_available }} {% if stock.stock_item.reorder_point and stock.quantity_on_hand < stock.stock_item.reorder_point %} {% endif %} | {{ stock.location or '—' }} |
{{ _('No stock items in this warehouse.') }}
| {{ _('Date') }} | {{ _('Item') }} | {{ _('Type') }} | {{ _('Quantity') }} | {{ _('Reason') }} |
|---|---|---|---|---|
| {{ movement.moved_at.strftime('%Y-%m-%d %H:%M') if movement.moved_at else '—' }} | {{ movement.stock_item.name }} | {{ movement.movement_type }} | {{ '+' if movement.quantity > 0 else '' }}{{ movement.quantity }} | {{ movement.reason or '—' }} |
{{ stock_levels|length }}
{{ stock_levels|sum(attribute='quantity_on_hand')|default(0) }}