diff --git a/app/Http/Controllers/Bo/OrdersController.php b/app/Http/Controllers/Bo/OrdersController.php index 2c77893..f01dd8b 100644 --- a/app/Http/Controllers/Bo/OrdersController.php +++ b/app/Http/Controllers/Bo/OrdersController.php @@ -32,7 +32,8 @@ class OrdersController extends Controller $order->status_id = $order->status_id + 1; $order->save(); - return redirect()->route('bo.orders')->with('success', "Changement de status enregistré pour la commande " . $order->reference . "."); + //return redirect()->route('bo.orders')->with('success', "Changement de status enregistré pour la commande " . $order->reference . "."); + return back()->with('success', "Changement de status enregistré pour la commande " . $order->reference . "."); } public function cancelOrder($reference) { @@ -40,7 +41,8 @@ class OrdersController extends Controller $order->status_id = 7; $order->save(); - return redirect()->route('bo.orders')->with('success', "La commande à été annulée."); + //return redirect()->route('bo.orders')->with('success', "La commande à été annulée."); + return back()->with('success', "La commande " . $order->reference . " à été annulée."); } public function addProduct($orderReference, $productId, $quantity) { @@ -240,6 +242,11 @@ class OrdersController extends Controller public function getCustomerInfo($id) { $cust = Customers::findOrFail($id); - return view('bo.customer.info-card', compact('cust')); + return view('bo.customer.info-popup', compact('cust')); + } + + public function orderDetail($reference) { + $order = Order::where('reference', '=', $reference)->firstOrFail(); + return view('bo.order.detail', compact('order')); } } diff --git a/public/b-o/css/app.css b/public/b-o/css/app.css index d8fa34b..1e84b7c 100644 --- a/public/b-o/css/app.css +++ b/public/b-o/css/app.css @@ -6998,6 +6998,54 @@ p:first-child { margin-top: 0; } +.tooltip { + background: #333; + color: white; + font-weight: bold; + padding: 4px 8px; + font-size: 13px; + border-radius: 4px; +} + +.tooltip[data-show] { + display: block; + opacity: 1; +} + +.arrow, +.arrow::before { + position: absolute; + width: 8px; + height: 8px; + background: inherit; +} + +.arrow { + visibility: hidden; +} + +.arrow::before { + visibility: visible; + content: ""; + transform: rotate(45deg); +} + +.tooltip[x-placement^=top] > .arrow { + bottom: -4px; +} + +.tooltip[x-placement^=bottom] > .arrow { + top: -4px; +} + +.tooltip[x-placement^=left] > .arrow { + right: -4px; +} + +.tooltip[x-placement^=right] > .arrow { + left: -4px; +} + /*! * Bootstrap v4.6.0 (https://getbootstrap.com/) * Copyright 2011-2021 The Bootstrap Authors diff --git a/public/b-o/js/app.js b/public/b-o/js/app.js index f3f23fe..a566bdf 100644 --- a/public/b-o/js/app.js +++ b/public/b-o/js/app.js @@ -62903,9 +62903,12 @@ var app = new Vue({ /*!***********************************!*\ !*** ./resources/js/bootstrap.js ***! \***********************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +/*! no exports provided */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var popper_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! popper.js */ "./node_modules/popper.js/dist/esm/popper.js"); window._ = __webpack_require__(/*! lodash */ "./node_modules/lodash/lodash.js"); /** * We'll load the axios HTTP library which allows us to easily issue requests @@ -62914,13 +62917,15 @@ window._ = __webpack_require__(/*! lodash */ "./node_modules/lodash/lodash.js"); */ window.axios = __webpack_require__(/*! axios */ "./node_modules/axios/index.js"); -window.Popper = __webpack_require__(/*! popper.js */ "./node_modules/popper.js/dist/esm/popper.js")["default"]; + //window.Popper = require('popper.js').default; + window.$ = window.jQuery = __webpack_require__(/*! jquery */ "./node_modules/jquery/dist/jquery.js"); __webpack_require__(/*! @fortawesome/fontawesome-free/js/all */ "./node_modules/@fortawesome/fontawesome-free/js/all.js"); __webpack_require__(/*! bootstrap */ "./node_modules/bootstrap/dist/js/bootstrap.js"); +window.Popper = popper_js__WEBPACK_IMPORTED_MODULE_0__["default"]; window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest'; /** * Echo exposes an expressive API for subscribing to channels and listening diff --git a/resources/js/bootstrap.js b/resources/js/bootstrap.js index bde503c..cb26710 100644 --- a/resources/js/bootstrap.js +++ b/resources/js/bootstrap.js @@ -7,10 +7,12 @@ window._ = require('lodash'); */ window.axios = require('axios'); -window.Popper = require('popper.js').default; +import Popper from 'popper.js' +//window.Popper = require('popper.js').default; window.$ = window.jQuery = require('jquery'); require('@fortawesome/fontawesome-free/js/all'); require('bootstrap'); +window.Popper = Popper; window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest'; diff --git a/resources/sass/_popup.scss b/resources/sass/_popup.scss index 20dbbf5..a1afcb0 100644 --- a/resources/sass/_popup.scss +++ b/resources/sass/_popup.scss @@ -30,3 +30,53 @@ margin-top: 0; } + + //tooltips + .tooltip { + background: #333; + color: white; + font-weight: bold; + padding: 4px 8px; + font-size: 13px; + border-radius: 4px; + //display: none; + } + + .tooltip[data-show] { + display: block; + opacity: 1; + } + +.arrow, +.arrow::before { + position: absolute; + width: 8px; + height: 8px; + background: inherit; +} + +.arrow { + visibility: hidden; +} + +.arrow::before { + visibility: visible; + content: ''; + transform: rotate(45deg); +} + +.tooltip[x-placement^='top'] > .arrow { + bottom: -4px; +} + +.tooltip[x-placement^='bottom'] > .arrow { + top: -4px; +} + +.tooltip[x-placement^='left'] > .arrow { + right: -4px; +} + +.tooltip[x-placement^='right'] > .arrow { + left: -4px; +} diff --git a/resources/views/bo/customer/info-card.blade.php b/resources/views/bo/customer/info-card.blade.php index d6582a6..208adf4 100644 --- a/resources/views/bo/customer/info-card.blade.php +++ b/resources/views/bo/customer/info-card.blade.php @@ -10,5 +10,4 @@ {{$cust->apiData->postcode}}
- - + diff --git a/resources/views/bo/customer/info-popup.blade.php b/resources/views/bo/customer/info-popup.blade.php new file mode 100644 index 0000000..c6f50d2 --- /dev/null +++ b/resources/views/bo/customer/info-popup.blade.php @@ -0,0 +1,15 @@ ++ {{$cust->apiData->email}} {{$cust->apiData->phone}} +
++ {{$cust->apiData->address}} + {{$cust->apiData->city}} + {{$cust->apiData->postcode}} +
++ Créneau de collecte : {{$order->timeslot->day}} {{$order->timeslot->time}} +
++ Statut de la commande : {{$order->status->label}} +
+| Produit | +Quantité | +Prix unitaire HT | +Prix Total HT | +TVA | +Total TTC | ++ + + @foreach ($order->lines as $line) + |
|---|---|---|---|---|---|
| + @include('bo.products.product-card', ['product' => $line->product]) + | +{{$line->quantity}} | +{{number_format($line->unit_price - $line->discount, 2, ',', ' ')}}€ | +{{number_format($line->total_ht - $line->total_discount, 2, ',', ' ')}}€ | +{{number_format($line->total_tax, 2, ',', ' ')}}€ | +{{number_format($line->total_ttc, 2, ',', ' ')}}€ | +
+ {!! $product->description !!} +
+