{% extends 'base.html' %} {% block title %}Storekeeper Dashboard{% endblock %} {% block content %}

Storekeeper Dashboard

Daily stock tasks and alerts only.

Store: {{ assigned_location.name|default:'Unassigned (showing all stores)' }}

Items In Store
{{ items_in_store|length }}
Today Received
{{ today_goods_received|length }}
Today Issued
{{ today_issued_items|length }}
Pending Requests
{{ pending_issue_requests|length }}

Today Flow (Visual)

Low Stock Severity

Items In Assigned Store

{% for row in items_in_store %} {% empty %}{% endfor %}
ProductLocationQtyStatus
{{ row.product.name }} {{ row.location.name }} {{ row.quantity|floatformat:0 }} {{ row.product.unit }} {% if row.quantity <= row.product.low_stock_alert %} Critical {% elif row.quantity <= row.product.low_stock_alert|add:5 %} Warning {% else %} Healthy {% endif %}
No stocked items.

Low Stock Alerts

    {% for row in low_stock_alerts %}
  • {{ row.product.name }} — {{ row.quantity|floatformat:0 }} {{ row.product.unit }}
  • {% empty %}
  • No low stock alerts.
  • {% endfor %}

Pending Issue/Transfer Requests

    {% for r in pending_issue_requests %}
  • {{ r.reference }} — {{ r.from_location }} → {{ r.to_location }}
  • {% empty %}
  • No pending requests.
  • {% endfor %}

Recent Activity

    {% for m in recent_activities %}
  • {{ m.created_at|date:'Y-m-d H:i' }} — {{ m.product.name }} {{ m.get_movement_type_display }} ({{ m.quantity }})
  • {% empty %}
  • No recent activity.
  • {% endfor %}
{% endblock %} {% block extra_js %} {% endblock %}