@fleetbase/storefront-engine 0.4.4 → 0.4.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/addon/components/modals/create-gateway.hbs +13 -27
- package/addon/components/schedule-manager.hbs +24 -20
- package/addon/components/settings-container.hbs +3 -2
- package/addon/components/widget/customers.hbs +56 -78
- package/addon/components/widget/orders.hbs +281 -303
- package/addon/components/widget/storefront-key-metrics.hbs +1 -1
- package/addon/components/widget/storefront-metrics.hbs +2 -2
- package/addon/controllers/settings.js +36 -0
- package/addon/services/storefront.js +6 -1
- package/addon/templates/settings/gateways.hbs +3 -3
- package/addon/templates/settings/index.hbs +322 -321
- package/addon/templates/settings/locations.hbs +2 -2
- package/addon/templates/settings.hbs +8 -30
- package/addon/utils/get-gateway-schemas.js +2 -0
- package/app/controllers/settings.js +1 -0
- package/composer.json +1 -1
- package/extension.json +1 -1
- package/package.json +2 -2
- package/server/config/storefront.php +11 -1
- package/server/src/Http/Controllers/v1/CheckoutController.php +42 -11
- package/server/src/Http/Controllers/v1/CustomerController.php +1 -1
- package/server/src/Http/Controllers/v1/OrderController.php +206 -1
- package/server/src/Http/Filter/OrderFilter.php +35 -29
- package/server/src/Http/Middleware/ThrottleRequests.php +16 -0
- package/server/src/Models/Cart.php +1 -1
- package/server/src/Models/FoodTruck.php +1 -1
- package/server/src/Providers/StorefrontServiceProvider.php +1 -1
- package/server/src/Support/QPay.php +78 -0
- package/server/src/routes.php +1 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<div class="storefront-key-metrics" ...attributes>
|
|
2
2
|
<div class="flex flex-col">
|
|
3
3
|
<div class="flex flex-row items-center justify-between px-4 py-2 border dark:border-gray-700 border-gray-200 dark:bg-gray-800 bg-gray-50 rounded-lg shadow-sm">
|
|
4
|
-
<span class="text-base font-bold text-
|
|
4
|
+
<span class="text-base tracking-wide uppercase font-bold text-gray-700 dark:text-gray-400">{{t "storefront.component.widget.key-metrics.title"}}</span>
|
|
5
5
|
</div>
|
|
6
6
|
|
|
7
7
|
<div class="mt-4">
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<div class="storefront-metrics-widget" ...attributes>
|
|
2
2
|
<div class="flex items-center justify-between">
|
|
3
|
-
<div class="flex items-center">
|
|
4
|
-
<h3 class="text-
|
|
3
|
+
<div class="flex items-center pl-1.5">
|
|
4
|
+
<h3 class="text-base font-semibold tracking-wide uppercase text-gray-700 dark:text-gray-400">
|
|
5
5
|
Metrics
|
|
6
6
|
</h3>
|
|
7
7
|
{{#if this.loadMetrics.isRunning}}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import Controller from '@ember/controller';
|
|
2
|
+
import { inject as service } from '@ember/service';
|
|
3
|
+
|
|
4
|
+
export default class SettingsController extends Controller {
|
|
5
|
+
@service intl;
|
|
6
|
+
|
|
7
|
+
get tabs() {
|
|
8
|
+
return [
|
|
9
|
+
{
|
|
10
|
+
route: 'settings.index',
|
|
11
|
+
label: this.intl.t('storefront.common.general'),
|
|
12
|
+
icon: 'cog',
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
route: 'settings.locations',
|
|
16
|
+
label: this.intl.t('storefront.common.location'),
|
|
17
|
+
icon: 'map-marker-alt',
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
route: 'settings.gateways',
|
|
21
|
+
label: this.intl.t('storefront.common.gateways'),
|
|
22
|
+
icon: 'cash-register',
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
route: 'settings.api',
|
|
26
|
+
label: this.intl.t('storefront.common.api'),
|
|
27
|
+
icon: 'code',
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
route: 'settings.notifications',
|
|
31
|
+
label: this.intl.t('storefront.common.notification'),
|
|
32
|
+
icon: 'bell-concierge',
|
|
33
|
+
},
|
|
34
|
+
];
|
|
35
|
+
}
|
|
36
|
+
}
|
|
@@ -94,11 +94,14 @@ export default class StorefrontService extends Service.extend(Evented) {
|
|
|
94
94
|
this.playAlert();
|
|
95
95
|
this.trigger('order.incoming', order, store);
|
|
96
96
|
|
|
97
|
+
const alreadyAccepted = !['created', 'pending'].includes(order.status);
|
|
98
|
+
|
|
97
99
|
this.modalsManager.show('modals/incoming-order', {
|
|
98
100
|
title: this.intl.t('storefront.service.storefront.new-incoming-order'),
|
|
99
|
-
acceptButtonText: this.intl.t('storefront.service.storefront.accept-order'),
|
|
101
|
+
acceptButtonText: alreadyAccepted ? this.intl.t('common.ok') : this.intl.t('storefront.service.storefront.accept-order'),
|
|
100
102
|
acceptButtonIcon: 'check',
|
|
101
103
|
acceptButtonIconPrefix: 'fas',
|
|
104
|
+
hideDeclineButton: alreadyAccepted,
|
|
102
105
|
declineButtonText: this.intl.t('storefront.service.storefront.decline-order'),
|
|
103
106
|
declineButtonScheme: 'danger',
|
|
104
107
|
closeButton: false,
|
|
@@ -109,6 +112,8 @@ export default class StorefrontService extends Service.extend(Evented) {
|
|
|
109
112
|
confirm: async (modal) => {
|
|
110
113
|
modal.startLoading();
|
|
111
114
|
|
|
115
|
+
if (alreadyAccepted) return modal.done();
|
|
116
|
+
|
|
112
117
|
try {
|
|
113
118
|
await this.fetch.post('orders/accept', { order: order.id }, { namespace: 'storefront/int/v1' });
|
|
114
119
|
this.trigger('order.accepted', order);
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
</div>
|
|
17
17
|
|
|
18
18
|
{{#each @model as |gateway|}}
|
|
19
|
-
<ContentPanel @title={{gateway.name}} @open={{true}} @pad={{
|
|
19
|
+
<ContentPanel @title={{gateway.name}} @open={{true}} @pad={{false}} @wrapperClass="bordered-classic">
|
|
20
20
|
<InputGroup @name={{t "storefront.settings.gateways.gateway-name"}} @value={{gateway.name}} @helpText={{t "storefront.settings.gateways.helpText"}} />
|
|
21
21
|
<InputGroup
|
|
22
22
|
@name={{t "storefront.settings.gateways.gateway-code"}}
|
|
@@ -38,10 +38,10 @@
|
|
|
38
38
|
{{#each-in gateway.config as |key value|}}
|
|
39
39
|
{{#if (is-bool-value value)}}
|
|
40
40
|
<div class="input-group">
|
|
41
|
-
<Checkbox @value={{value}} @label={{humanize key}} @disabled={{true}} />
|
|
41
|
+
<Checkbox @value={{value}} @label={{smart-humanize key}} @disabled={{true}} />
|
|
42
42
|
</div>
|
|
43
43
|
{{else}}
|
|
44
|
-
<InputGroup @name={{humanize key}}>
|
|
44
|
+
<InputGroup @name={{smart-humanize key}}>
|
|
45
45
|
<Input
|
|
46
46
|
@type={{if (can "storefront update gateway") "text" "password"}}
|
|
47
47
|
class="form-input w-full"
|