Skip to content

Commit 6cfb2af

Browse files
committed
Merge branch 'dev' of https://github.com/FOSSASystems/InvenTree into dev
2 parents ae9f470 + e146d27 commit 6cfb2af

5 files changed

Lines changed: 47 additions & 7 deletions

File tree

src/backend/InvenTree/stock/serializers.py

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -342,6 +342,7 @@ class Meta:
342342
'belongs_to',
343343
'build',
344344
'consumed_by',
345+
'consumed_by_reference',
345346
'customer',
346347
'delete_on_deplete',
347348
'expiry_date',
@@ -652,6 +653,10 @@ def annotate_queryset(queryset):
652653
source='purchase_order.reference', read_only=True, allow_null=True
653654
)
654655

656+
consumed_by_reference = serializers.CharField(
657+
source='consumed_by.reference', read_only=True, allow_null=True
658+
)
659+
655660
sales_order_reference = serializers.CharField(
656661
source='sales_order.reference', read_only=True, allow_null=True
657662
)
@@ -1660,8 +1665,8 @@ class Meta:
16601665
test = serializers.CharField(
16611666
required=False,
16621667
allow_blank=True,
1663-
label=_('Test'),
1664-
help_text=_('Test information'),
1668+
label=_('Count'),
1669+
help_text=_('Count based on FIFO order'),
16651670
)
16661671

16671672
def validate(self, data):

src/frontend/src/forms/StockForms.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -989,7 +989,7 @@ function stockCountFields(items: any[]): ApiFormFieldSet {
989989
]
990990
},
991991
notes: {},
992-
test: {}
992+
test: {}
993993
};
994994

995995
return fields;

src/frontend/src/locales/en/messages.po

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -318,6 +318,9 @@ msgstr "Companies"
318318
msgid "Project Code"
319319
msgstr "Project Code"
320320

321+
msgid "Project"
322+
msgstr "Project"
323+
321324
#: lib/enums/ModelInformation.tsx:153
322325
#: src/pages/Index/Settings/AdminCenter/Index.tsx:172
323326
msgid "Project Codes"

src/frontend/src/tables/Filter.tsx

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -354,6 +354,18 @@ export function ManufacturerFilter(): TableFilter {
354354
};
355355
}
356356

357+
export function ConsumedFilter(): TableFilter {
358+
return {
359+
name: 'consumed_by',
360+
label: t`Project`,
361+
description: t`Filter by project who consumed the item`,
362+
type: 'api',
363+
apiUrl: apiUrl(ApiEndpoints.build_order_list),
364+
model: ModelType.build,
365+
modelRenderer: (instance: any) => instance.name,
366+
};
367+
}
368+
357369
export function SupplierFilter(): TableFilter {
358370
return {
359371
name: 'supplier',

src/frontend/src/tables/stock/StockItemTable.tsx

Lines changed: 24 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ import {
3636
IncludeVariantsFilter,
3737
IsSerializedFilter,
3838
ManufacturerFilter,
39+
ConsumedFilter,
3940
SerialFilter,
4041
SerialGTEFilter,
4142
SerialLTEFilter,
@@ -99,8 +100,11 @@ function stockItemTableColumns({
99100
},
100101
{
101102
accessor: 'consumed_by',
102-
title: t`Consumed by`,
103-
defaultVisible: false
103+
title: t`Project`,
104+
defaultVisible: false,
105+
render: (record: any) => {
106+
return record.consumed_by_reference;
107+
}
104108
},
105109
{
106110
accessor: 'SKU',
@@ -222,6 +226,7 @@ function stockItemTableFilters({
222226
IncludeVariantsFilter(),
223227
SupplierFilter(),
224228
ManufacturerFilter(),
229+
ConsumedFilter(),
225230
{
226231
name: 'consumed',
227232
label: t`Consumed`,
@@ -410,6 +415,20 @@ export function StockItemTable({
410415
return: allowReturn
411416
});
412417

418+
const totalStockValue = useMemo(() => {
419+
let total = 0;
420+
421+
for (const record of table.records) {
422+
const price = record.purchase_price ?? 0;
423+
const quantity = record.quantity ?? 0;
424+
425+
total += price * quantity;
426+
}
427+
428+
return total;
429+
}, [table.records]);
430+
431+
413432
const tableActions = useMemo(() => {
414433
return [
415434
stockAdjustActions.dropdown,
@@ -431,14 +450,15 @@ export function StockItemTable({
431450
hidden={!allowAdd || !user.hasAddRole(UserRoles.stock)}
432451
tooltip={t`Add Stock Item`}
433452
onClick={() => newStockItem.open()}
434-
/>
453+
/>,
454+
<p><b>Total Stock Value: { totalStockValue }</b></p>,
435455
];
436456
}, [
437457
user,
438458
allowAdd,
439459
table.hasSelectedRecords,
440460
table.selectedRecords,
441-
stockAdjustActions.dropdown
461+
table.records,
442462
]);
443463

444464
return (

0 commit comments

Comments
 (0)