1
0
mirror of https://github.com/LaCasemate/fab-manager.git synced 2025-02-20 14:54:15 +01:00

(feat) add product url in order item

This commit is contained in:
Du Peng 2022-10-04 18:50:29 +02:00
parent 1104316e62
commit 134d8147b6
4 changed files with 14 additions and 2 deletions

View File

@ -266,7 +266,7 @@ const StoreCart: React.FC<StoreCartProps> = ({ onSuccess, onError, currentUser,
</div>
<div className="ref">
<span>{t('app.public.store_cart.reference_short')} {item.orderable_ref || ''}</span>
<p>{item.orderable_name}</p>
<p><a className="text-black" href={`/#!/store/p/${item.orderable_slug}`}>{item.orderable_name}</a></p>
{item.quantity_min > 1 &&
<span className='min'>{t('app.public.store_cart.minimum_purchase')}{item.quantity_min}</span>
}

View File

@ -97,6 +97,16 @@ export const ShowOrder: React.FC<ShowOrderProps> = ({ orderId, currentUser, onSu
onSuccess(message);
};
/**
* Ruturn item's ordrable url
*/
const itemOrderableUrl = (item) => {
if (isPrivileged()) {
return `/#!/admin/store/products/${item.orderable_id}/edit`;
}
return `/#!/store/p/${item.orderable_slug}`;
};
if (!order) {
return null;
}
@ -153,7 +163,7 @@ export const ShowOrder: React.FC<ShowOrderProps> = ({ orderId, currentUser, onSu
</div>
<div className="ref">
<span>{t('app.shared.store.show_order.reference_short')} {item.orderable_ref || ''}</span>
<p>{item.orderable_name}</p>
<p><a className="text-black" href={itemOrderableUrl(item)}>{item.orderable_name}</a></p>
</div>
<div className="actions">
<div className='price'>

View File

@ -31,6 +31,7 @@ export interface Order {
orderable_type: string,
orderable_id: number,
orderable_name: string,
orderable_slug: string,
orderable_ref?: string,
orderable_main_image_url?: string,
orderable_external_stock: number,

View File

@ -26,6 +26,7 @@ json.order_items_attributes order.order_items.order(created_at: :asc) do |item|
json.orderable_id item.orderable_id
json.orderable_name item.orderable.name
json.orderable_ref item.orderable.sku
json.orderable_slug item.orderable.slug
json.orderable_main_image_url item.orderable.main_image&.attachment_url
json.orderable_external_stock item.orderable.stock['external']
json.quantity item.quantity