Skip to content

Commit 3540d6b

Browse files
authored
Merge pull request #18 from makombe/stock-expiry-date
(feat) O3-4548: Show expiry date on stock operation (openmrs#261)
2 parents 8789836 + fbdaff1 commit 3540d6b

File tree

2 files changed

+30
-1
lines changed

2 files changed

+30
-1
lines changed

src/stock-operations/add-stock-operation/stock-items-addition-row.component.tsx

+24
Original file line numberDiff line numberDiff line change
@@ -242,6 +242,30 @@ const StockItemsAdditionRow: React.FC<StockItemsAdditionRowProps> = ({
242242
/>
243243
</DatePicker>
244244
)}
245+
{requiresBatchUuid && !requiresActualBatchInformation && canEdit && (
246+
<DatePicker
247+
id={`expiration-${row.uuid}`}
248+
datePickerType="single"
249+
minDate={formatForDatePicker(today())}
250+
readOnly={true}
251+
locale="en"
252+
dateFormat={DATE_PICKER_CONTROL_FORMAT}
253+
onChange={([newDate]) => {
254+
setValue(`stockItems.${index}.expiration`, newDate);
255+
}}
256+
>
257+
<DatePickerInput
258+
size="sm"
259+
autoComplete="off"
260+
id={`expiration-input-${row.uuid}`}
261+
name="operationDate"
262+
placeholder={DATE_PICKER_FORMAT}
263+
value={formatForDatePicker(stockItemExpiry)}
264+
defaultValue={formatForDatePicker(stockItemExpiry)}
265+
invalid={!!errors?.stockItems?.[index]?.expiration}
266+
/>
267+
</DatePicker>
268+
)}
245269
{((!(canUpdateBatchInformation && row?.permission?.canUpdateBatchInformation) && !canEdit) ||
246270
requiresBatchUuid) &&
247271
formatForDatePicker(row.expiration)}

src/stock-operations/batch-no-selector/batch-no-selector.component.tsx

+6-1
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import { useStockItemBatchNos } from './batch-no-selector.resource';
55
import { StockBatchDTO } from '../../core/api/types/stockItem/StockBatchDTO';
66
import { useStockItemBatchInformationHook } from '../../stock-items/add-stock-item/batch-information/batch-information.resource';
77
import { useTranslation } from 'react-i18next';
8+
import { formatForDatePicker } from '../../constants';
89

910
interface BatchNoSelectorProps<T> {
1011
placeholder?: string;
@@ -88,7 +89,11 @@ const BatchNoSelector = <T,>(props: BatchNoSelectorProps<T>) => {
8889
onChange(data.selectedItem?.uuid);
8990
}}
9091
initialSelectedItem={initialSelectedItem}
91-
itemToString={(s: StockBatchDTO) => (s?.batchNo ? `${s?.batchNo} | Qty: ${s?.quantity ?? 'Unknown'}` : '')}
92+
itemToString={(s: StockBatchDTO) =>
93+
s?.batchNo
94+
? `${s?.batchNo} | Qty: ${s?.quantity ?? 'Unknown'} | Expiry: ${formatForDatePicker(s.expiration)}`
95+
: ''
96+
}
9297
placeholder={props.placeholder}
9398
invalid={props.invalid}
9499
invalidText={props.invalidText}

0 commit comments

Comments
 (0)