@@ -57,8 +55,8 @@ class OrderList extends Component {
{
orders &&
orders.map((order, index) =>
- ((true) || (isCompanyAdmin && isViewAllOrdersChecked[type])) &&
-
+ (order.isMyOrder || (isCompanyAdmin && isViewAllOrdersChecked[type])) &&
+
)
}
diff --git a/frontend/src/containers/orders/components/ActiveOrderItem.jsx b/frontend/src/containers/orders/components/OrderListItem.jsx
similarity index 68%
rename from frontend/src/containers/orders/components/ActiveOrderItem.jsx
rename to frontend/src/containers/orders/components/OrderListItem.jsx
index d04a589..a1b9307 100644
--- a/frontend/src/containers/orders/components/ActiveOrderItem.jsx
+++ b/frontend/src/containers/orders/components/OrderListItem.jsx
@@ -6,8 +6,9 @@ import {WiaasTableRow, WiaasTableCol} from '../../../mainComponents/table/WiaasT
import {orderTexts} from '../../../constants/ordersConstants';
import '../style/Orders.css';
import OrderPackage from './OrderPackage.jsx';
+import HistoryOrderButtons from './HistoryOrderButtons.jsx';
-class ActiveOrderItem extends Component {
+class OrderListItem extends Component {
constructor(props) {
super(props);
this.state = {
@@ -29,6 +30,16 @@ class ActiveOrderItem extends Component {
render() {
const {order, isViewAllOrdersChecked} = this.props;
+ const isActive = this.props.type === 'active';
+
+ let orderButtons;
+ if (isActive) {
+ orderButtons = (
+
+ );
+ } else {
+ orderButtons =
;
+ }
return (
@@ -40,34 +51,37 @@ class ActiveOrderItem extends Component {
{order.number}
{order.reference ? order.reference : '-'}
- {isViewAllOrdersChecked['active'] &&
{order.customer ? order.customer.name : ''}}
-
{order.date_created ? order.date_created : '-'}
+ {
+ isViewAllOrdersChecked[this.props.type] &&
+
{order.customer ? order.customer.name : ''}
+ }
+
{order.dateCreated ? order.dateCreated : '-'}
{order.estimatedDeliveryDate ? order.estimatedDeliveryDate : '-'}
-
{order.commercial_lead ? order.commercial_lead.contact_name : ''}
-
{order.commercial_lead ? order.commercial_lead.name : ''}
+
{order.commercialLead ? order.commercialLead.contact : ''}
+
{order.commercialLead ? order.commercialLead.name : ''}
{order.currency
- ? order.total.toLocaleString() + ' ' + order.currency
- : parseFloat(order.total).toLocaleString()}
+ ? order.fixedPrice.toLocaleString() + ' ' + order.currency
+ : parseFloat(order.fixedPrice).toLocaleString()}
{orderTexts.statuses[order.status]}
+ {
+ !isActive &&
{order.dateCompleted}
+ }
-
-
-
-
+ {orderButtons}
- { this.state.showPackages &&
}
+ { this.state.showPackages &&
}
);
}
@@ -76,4 +90,4 @@ class ActiveOrderItem extends Component {
const mapStateToProps = (state) => ({
isViewAllOrdersChecked: state.ordersReducer.isViewAllOrdersChecked
});
-export default connect(mapStateToProps)(ActiveOrderItem);
+export default connect(mapStateToProps)(OrderListItem);
diff --git a/frontend/src/containers/orders/components/OrderPackage.jsx b/frontend/src/containers/orders/components/OrderPackage.jsx
index 6445a5e..dccc177 100644
--- a/frontend/src/containers/orders/components/OrderPackage.jsx
+++ b/frontend/src/containers/orders/components/OrderPackage.jsx
@@ -32,7 +32,7 @@ class OrderPackage extends Component {
{orderTexts.labels.DELIVERY_ADDRESS}:
- {order.shipping.address_1}, {order.shipping.city}, {order.shipping.country}, {order.shipping.postcode}
+ {order.deliveryAddress}
{orderTexts.labels.PHONE_NUMBER}:
@@ -43,12 +43,12 @@ class OrderPackage extends Component {
{order.customer.email}
- {order.commercial_lead ? order.commercial_lead.name : ''} {orderTexts.labels.PHONE_NUMBER}:
- {order.commercial_lead ? order.commercial_lead.phone : ''}
+ {order.commercialLead ? order.commercialLead.name : ''} {orderTexts.labels.PHONE_NUMBER}:
+ {order.commercialLead ? order.commercialLead.phone : ''}
- {order.commercial_lead ? order.commercial_lead.name : ''} {orderTexts.labels.MAIL}:
- {order.commercial_lead ? order.commercial_lead.email : ''}
+ {order.commercialLead ? order.commercialLead.name : ''} {orderTexts.labels.MAIL}:
+ {order.commercialLead ? order.commercialLead.email : ''}
@@ -58,24 +58,24 @@ class OrderPackage extends Component {
- {order.line_items.map((orderPackage, index) =>
-
+ {order.packages.map((orderPackage, index) =>
+
{orderPackage.quantity} x {orderPackage.name}
{this.calculateQuantityPrice(orderPackage.quantity, orderPackage.price).toLocaleString()} {orderPackage.packageCurrency && orderPackage.packageCurrency.currency} {' '}
- ({orderPackage.payment_type})
+ ({orderPackage.paymentType})
- {this.calculateQuantityPrice(orderPackage.quantity, orderPackage.service_price, orderPackage.recurring_price).toLocaleString() + ' / ' + orderPackage.period_unit + ' '}
- {orderTexts.labels.EXTEND} {orderPackage.period_unit} (Max {orderPackage.max_contract_period})
+ {this.calculateQuantityPrice(orderPackage.quantity, orderPackage.servicePrice, orderPackage.recurringPrice).toLocaleString() + ' / ' + orderPackage.periodUnit + ' '}
+ {orderTexts.labels.EXTEND} {orderPackage.periodUnit} (Max {orderPackage.maxContractPeriod})
{
type === 'active'
- ? orderPackage.short_desc || '-'
- : orderPackage.date_completed || '-'
+ ? orderPackage.shortDesc || '-'
+ : orderPackage.dateCompleted || '-'
}
diff --git a/frontend/src/containers/orders/components/SupportMail.jsx b/frontend/src/containers/orders/components/SupportMail.jsx
index 1d2b1bf..a9b1832 100644
--- a/frontend/src/containers/orders/components/SupportMail.jsx
+++ b/frontend/src/containers/orders/components/SupportMail.jsx
@@ -75,13 +75,13 @@ class SupportMail extends Component {
- {orderInfo.date_modified &&
+ {orderPackage.dateCompleted &&
{orderTexts.labels.END_OF_LIFE}:
- {orderPackage.date_completed}
+ {orderPackage.dateCompleted}
}
diff --git a/frontend/src/containers/orders/style/Orders.scss b/frontend/src/containers/orders/style/Orders.scss
index e43266b..6a985c0 100644
--- a/frontend/src/containers/orders/style/Orders.scss
+++ b/frontend/src/containers/orders/style/Orders.scss
@@ -18,7 +18,7 @@ $borderWidth: 3px;
border-left: $borderWidth $in-progress-status-color solid;
}
- .order-border-production {
+ .order-border-completed {
border-left: $borderWidth $production-status-color solid;
}
@@ -26,7 +26,7 @@ $borderWidth: 3px;
border-left: $borderWidth $end-of-life-status-color solid;
}
- .order-border-canceled {
+ .order-border-cancelled {
border-left: $borderWidth $canceled-status-color solid;
}
diff --git a/frontend/src/containers/orders/style/ProcessContainer.scss b/frontend/src/containers/orders/style/ProcessContainer.scss
index c5e0d9d..f3e72cf 100644
--- a/frontend/src/containers/orders/style/ProcessContainer.scss
+++ b/frontend/src/containers/orders/style/ProcessContainer.scss
@@ -20,11 +20,11 @@ $link-line-height: 1.5rem;
border-left: $border-width $processing-status-color solid;
}
- .canceled {
+ .cancelled {
border-left: $border-width $canceled-status-color solid;
}
- .production {
+ .completed {
border-left: $border-width $production-status-color solid;
}
@@ -127,7 +127,7 @@ $link-line-height: 1.5rem;
background: $end-of-life-status-color;
}
-.canceled {
+.cancelled {
background: $canceled-status-color;
}
diff --git a/frontend/src/helpers/OrderHelper.js b/frontend/src/helpers/OrderHelper.js
new file mode 100644
index 0000000..27c1389
--- /dev/null
+++ b/frontend/src/helpers/OrderHelper.js
@@ -0,0 +1,47 @@
+import moment from 'moment';
+
+function formatDate(date) {
+ return date ? moment(date).format("Do MMM, YYYY") : undefined;
+}
+
+function formatAddress(addressObject) {
+ return `${addressObject.address_1}, ${addressObject.city}, ${addressObject.country}, ${addressObject.postcode}`;
+}
+
+export const fromWCOrder = (WCOrder) => {
+ return {
+ id: WCOrder.id,
+ number: WCOrder.number,
+ isMyOrder: WCOrder['is_my_order'],
+ dateCreated: formatDate(WCOrder['date_created']),
+ dateCompleted: formatDate(WCOrder['date_completed']),
+ estimatedDeliveryDate: undefined,
+ reference: 'reference field',
+ assignedTo: 'assigned to',
+ fixedPrice: WCOrder.total,
+ recurringPrice: 0,
+ status: WCOrder.status,
+ currency: WCOrder.currency,
+ packages: WCOrder['line_items'].map(packageLine => {
+ return {
+ id: packageLine['product_id'],
+ name: packageLine.name,
+ quantity: packageLine.quantity,
+ price: packageLine.price,
+ status: packageLine.status,
+ paymentType: packageLine['payment_type'],
+ servicePrice: packageLine['service_price'],
+ serviceContractPeriod: packageLine['service_contract_period'],
+ maxContractPeriod: packageLine['max_contract_period'],
+ periodUnit: packageLine['period_unit'],
+ recurringPrice: packageLine['recurring_price'],
+ payPeriod: packageLine['pay_period'],
+ shortDesc: packageLine['short_desc'],
+ dateCompleted: formatDate(packageLine['date_completed']),
+ };
+ }),
+ deliveryAddress: formatAddress(WCOrder.shipping),
+ customer: WCOrder.customer,
+ commercialLead: WCOrder['commercial_lead']
+ }
+};
\ No newline at end of file