diff --git a/InvenTree/part/models.py b/InvenTree/part/models.py index 5a9c504414..b5693df6cd 100644 --- a/InvenTree/part/models.py +++ b/InvenTree/part/models.py @@ -2161,6 +2161,12 @@ class Part(InvenTreeBarcodeMixin, MetadataMixin, MPTTModel): return params + @property + def latest_stocktake(self): + """Return the latest PartStocktake object associated with this part (if one exists)""" + + return self.stocktakes.order_by('-pk').first() + @property def has_variants(self): """Check if this Part object has variants underneath it.""" diff --git a/InvenTree/part/templates/part/part_base.html b/InvenTree/part/templates/part/part_base.html index 1e005b1adb..d21f8c2ee5 100644 --- a/InvenTree/part/templates/part/part_base.html +++ b/InvenTree/part/templates/part/part_base.html @@ -338,6 +338,20 @@ </tr> {% endif %} {% endwith %} + {% with part.latest_stocktake as stocktake %} + {% if stocktake %} + <tr> + <td><span class='fas fa-clipboard-check'></span></td> + <td>{% trans "Last Stocktake" %}</td> + <td> + {% decimal stocktake.quantity %} <span class='fas fa-calendar-alt' title='{% render_date stocktake.date %}'></span> + <span class='badge bg-dark rounded-pill float-right'> + {{ stocktake.user.username }} + </span> + </td> + </tr> + {% endif %} + {% endwith %} {% with part.get_latest_serial_number as sn %} {% if part.trackable and sn %} <tr>