use \App\Http\Controllers\Admin\Operations\FluidbookPublication\EditOperation;
use \App\Http\Controllers\Admin\Operations\ChangeownerOperation;
use \App\Http\Controllers\Admin\Operations\ChangestatusOperation;
+ use \App\Http\Controllers\Admin\Operations\InvoiceOperation;
use \App\Http\Controllers\Admin\Operations\FluidbookPublication\Services\SocialImageOperation;
use \App\Http\Controllers\Admin\Operations\FluidbookPublication\Services\ExportPdfOperation;
use \App\Http\Controllers\Admin\Operations\FluidbookPublication\Services\GetPageFromWebsiteOperation;
--- /dev/null
+<?php
+
+namespace App\Http\Controllers\Admin\Operations;
+
+use App\Models\FluidbookPublication;
+use Illuminate\Support\Facades\Route;
+
+trait InvoiceOperation
+{
+ protected function setupInvoiceRoutes($segment, $routeName, $controller)
+ {
+ Route::match(['get'], $segment . '/{id}/invoice/dialog', $controller . '@dialog');
+ }
+
+ public function dialog($id)
+ {
+ $entry = FluidbookPublication::find($id);
+ return view('invoice.dialog', ['entry' => $entry]);
+ }
+}
@endphp
@can('fluidbook-publication:admin')
- @if($entry->allowsEdit())
- <span data-{{$entry->getOption('name')}}-{{$column['name']}}="{{$values}}">
+ <span data-{{$entry->getOption('name')}}-{{$column['name']}}="{{$values}}">
<a href="#"
data-toggle="tooltip"
data-context-disabled-action="{{$values}}"
data-context-callback="statusCallback"
title="{{__('Changer le status')}}"
>{{$v}}</a>
- @else
- {{$v}}
- @endif
</span>
- @endcan
+@endcan
- @cannot('fluidbook-publication:admin')
- {{$v}}
- @endcannot
+@cannot('fluidbook-publication:admin')
+ {{$v}}
+@endcannot
+@if(!isset($crud->seenStatusChange))
+ @php $crud->seenStatusChange=true; @endphp
+ <style>
+ </style>
+ <script>
+ function statusCallback(element, value) {
+ if (value < 3) {
+ return true;
+ }
- @if(!isset($crud->seenStatusChange))
- @php
- $crud->seenStatusChange=true;
+ let id = $(element).data('context-id');
- @endphp
- <style>
- </style>
- <script>
- function statusCallback(element, value) {
- if (value < 3) {
- return true;
- }
+ $.ajax({
+ url: '{{$crud->route}}/' + id + '/invoice/dialog',
+ }).done(function (data) {
+ Swal.fire({
+ title: '{{__('Facturer la publication')}}',
+ html: '<div id="invoice_fluidbook">' + data + '</div>',
+ confirmButtonColor: '#467fcf',
+ confirmButtonText: '{{__('Valider')}}',
+ showCancelButton: true,
+ cancelButtonText: '{{__('Annuler')}}',
+ cancelButtonColor: '#f1ecec',
+ cancelButtonTextColor: '#000000',
+ focusConfirm: false,
+ didOpen: function () {
+ let select = $(Swal.getHtmlContainer()).find('select');
+ $(select).select2({
+ theme: 'bootstrap',
+ ajax: {
+ url: '{{backpack_url('select2')}}' + '/' + $(select).data('ajax'),
+ dataType: 'json'
+ },
+ escapeMarkup: function (m) {
+ return m;
+ }
+ });
+ },
+ didDestroy: function () {
+ },
+ }).then((result) => {
+ if (result.isConfirmed) {
+ let select = $(Swal.getHtmlContainer()).find('select');
+ //window.location = '{{backpack_url($entry->getOption('name'))}}/' + $(a).data('entry-id') + '/changeowner/' + select.val();
+ }
+ });
+ });
- }
- </script>
- @endif
+
+ }
+ </script>
+@endif