namespace App\Http\Controllers\Admin\Operations\FluidbookPublication;
+use App\Http\Middleware\CheckIfAdmin;
+use App\Http\Middleware\VerifyCsrfToken;
use App\Models\FluidbookPublication;
use App\Models\YSLSurvey;
use Cubist\Excel\Excel;
Route::post($segment . '/postyslreport', [
'uses' => $controller . '@postyslreport',
- ]);
+ ])->withoutMiddleware([CheckIfAdmin::class, VerifyCsrfToken::class]);
}
protected function setupYSLDefaults()
return;
}
- if (!can('fluidbook-publication:write')) {
- $this->crud->removeButtonFromStack('preview', 'line');
- $this->crud->removeButtonFromStack('edit', 'line');
- $this->crud->removeButtonFromStack('download', 'line');
- $this->crud->removeButtonFromStack('clone', 'line');
- $this->crud->removeButtonFromStack('upgrade', 'line');
- $this->crud->removeButtonFromStack('deletefb', 'line');
- }
+ $this->crud->removeButtonFromStack('preview', 'line');
+ $this->crud->removeButtonFromStack('edit', 'line');
+ $this->crud->removeButtonFromStack('download', 'line');
+ $this->crud->removeButtonFromStack('clone', 'line');
+ $this->crud->removeButtonFromStack('upgrade', 'line');
+ $this->crud->removeButtonFromStack('deletefb', 'line');
+
$this->crud->addButtonFromView('line', 'yslreport', 'fluidbook_publication.yslreport', 'end');
}
*/
protected function yslreport($id)
{
- if (!FluidbookPublication::hasPermission($id)) {
+ if (!FluidbookPublication::hasPermission($id, 'read')) {
abort(401);
}
$fluidbook = FluidbookPublication::withoutGlobalScopes()->find($id);
$head = ['Date', 'Page', 'Rating', 'Country', 'Function', 'Suggestions'];
- // $sql = "SELECT * FROM ysl_survey WHERE fluidbook_id='" . $core->con->escape($bid) . "' ORDER BY date ASC";
-
- //$r = $core->con->select($sql);
$data = [];
-// while ($r->fetch()) {
-// $data[] = [date('Y-m-d H:i:s', $r->date), $r->page, $r->rating, $r->country, $r->function, $r->suggestions];
-// }
-
+ foreach (YSLSurvey::withoutGlobalScopes()->where('fluidbook_id', $id)->orderBy('date', 'ASC')->get() as $r) {
+ $data[] = [date('Y-m-d H:i:s', $r->date), $r->page, $r->rating, $r->country, $r->function, $r->suggestions];
+ }
Excel::fromArray('Survey data #' . $id, $data, $head, $tmp, 100);
return response()->download($tmp, 'report-' . $id . '-' . Text::str2URL($fluidbook->title) . '.xlsx', ['content-type' => 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet']);
protected function postyslreport()
{
- $i = new YSLSurvey();
- $i->fluidbook_id = $_POST['Fluidbook_ID'];
- $i->page = $_POST['page'];
- $i->rating = $_POST['rating'];
- $i->suggestions = $_POST['suggestions'];
- $i->country = $_POST['country'];
- $i->function = $_POST['function'];
- $i->title = $_POST['title'];
- $i->date = time();
- $i->save();
-
try {
- $client = new Client(['timeout' => 10.0]);
- $client->request('post', 'https://suivi.ysl-retailhandbook.com/importCSV.php', ['form_params' => [
- 'Fluidbook_ID' => $_POST['Fluidbook_ID'],
- 'page' => $_POST['page'],
- 'rating' => $_POST['rating'],
- 'feedback' => $_POST['feedback'],
- 'country' => $_POST['country'],
- 'function' => $_POST['function'],
- 'title' => $_POST['title'],
- ]]);
- } catch (Exception $e1) {
- Log::error($e1->getMessage());
+ $i = new YSLSurvey();
+ $i->fluidbook_id = $_POST['Fluidbook_ID'];
+ $i->page = $_POST['page'];
+ $i->rating = $_POST['rating'];
+ $i->suggestions = $_POST['feedback'];
+ $i->country = $_POST['country'];
+ $i->function = $_POST['function'];
+ $i->title = $_POST['title'];
+ $i->date = time();
+ $i->save();
+
+ try {
+ $client = new Client(['timeout' => 10.0]);
+ $client->request('post', 'https://suivi.ysl-retailhandbook.com/importCSV.php', ['form_params' => [
+ 'Fluidbook_ID' => $_POST['Fluidbook_ID'],
+ 'page' => $_POST['page'],
+ 'rating' => $_POST['rating'],
+ 'feedback' => $_POST['feedback'],
+ 'country' => $_POST['country'],
+ 'function' => $_POST['function'],
+ 'title' => $_POST['title'],
+ ]]);
+ } catch (Exception $e1) {
+ Log::error($e1->getMessage());
+ }
+
+ $res = '1';
+ } catch (\Exception $e) {
+ $res = '0';
}
+
+ $headers = ['Access-Control-Allow-Origin' => '*',
+ 'Access-Control-Allow-Methods' => 'POST,GET,OPTIONS,PUT,DELETE',
+ 'Access-Control-Allow-Headers' => 'Content-Type,Accept,x-requested-with',
+ 'Content-type' => "text/plain"];
+
+ return response($res, 200, $headers);
}
}
});
</script>
@endpush
-<li class="nav-item"><a class="nav-link" href="{{ backpack_url('dashboard') }}"><i
+@if(config('app.env') !== 'ysl')
+ <li class="nav-item"><a class="nav-link" href="{{ backpack_url('dashboard') }}"><i
class='nav-icon la la-dashboard'></i>{{ trans('backpack::base.dashboard') }}
- </a></li>
-<li class="nav-item"><a class="nav-link" href="{{ backpack_url('tasks') }}"><i
+ </a></li>
+ <li class="nav-item"><a class="nav-link" href="{{ backpack_url('tasks') }}"><i
class='nav-icon la la-bell'></i>{{ __('Notifications') }}
- </a></li>
+ </a></li>
+
-@can('files:read')
- <li class="nav-item"><a class="nav-link" href="{{ backpack_url('file') }}"><i
+ @can('files:read')
+ <li class="nav-item"><a class="nav-link" href="{{ backpack_url('file') }}"><i
class='nav-icon las la-cloud'></i>{{ __('Partage de fichiers') }}
- </a></li>
-@endcan
+ </a></li>
+ @endcan
-@canany(['quiz:read','quiztranslation:read','elearning_media:read'])
- <li {!! sidebarState('elearning',true) !!}><a class='nav-link nav-dropdown-toggle' href='#'><i
+ @canany(['quiz:read','quiztranslation:read','elearning_media:read'])
+ <li {!! sidebarState('elearning',true) !!}><a class='nav-link nav-dropdown-toggle' href='#'><i
class='nav-icon la la-chalkboard-teacher'></i>{{__('e-Learning')}}</a>
- <ul class='nav-dropdown-items'>
- @can('quiz:read')
- <li class="nav-item"><a class="nav-link" href="{{ backpack_url('quiz') }}"><i
+ <ul class='nav-dropdown-items'>
+ @can('quiz:read')
+ <li class="nav-item"><a class="nav-link" href="{{ backpack_url('quiz') }}"><i
class="la la-question nav-icon"></i> {{__('Quiz')}}</a></li>
- @endcan
- @can('elearning-media:read')
- <li class="nav-item"><a class="nav-link" href="{{ backpack_url('elearning-media') }}"><i
+ @endcan
+ @can('elearning-media:read')
+ <li class="nav-item"><a class="nav-link" href="{{ backpack_url('elearning-media') }}"><i
class="la la-photo-video nav-icon"></i> {{__('Media')}}</a></li>
- @endcan
- @can('elearning-package:read')
- <li class="nav-item"><a class="nav-link" href="{{ backpack_url('elearning-package') }}"><i
+ @endcan
+ @can('elearning-package:read')
+ <li class="nav-item"><a class="nav-link" href="{{ backpack_url('elearning-package') }}"><i
class="la la-cubes nav-icon"></i> {{__('Package')}}</a></li>
- @endcan
- @can('quiztranslation:read')
- <li class="nav-item"><a class="nav-link" href="{{ backpack_url('quiztranslation') }}"><i
+ @endcan
+ @can('quiztranslation:read')
+ <li class="nav-item"><a class="nav-link" href="{{ backpack_url('quiztranslation') }}"><i
class="la la-language nav-icon"></i> {{__('Traductions')}}</a></li>
- @endcan
- </ul>
- </li>
-@endcanany
+ @endcan
+ </ul>
+ </li>
+ @endcanany
+@endif
@canany(['fluidbook-quote:read','signature:read','fluidbook-theme:read','fluidbook-iconset:read','fluibook-translate:write','fluidbook-publication:read'])
<li {!! sidebarState('fluidbook',true) !!}><a class='nav-link nav-dropdown-toggle' href='#'><i
- class="nav-icon la"><img src="/images/icons/icon-fluidbook.svg"/></i>{{__('Fluidbook')}}</a>
+ class="nav-icon la"><img src="/images/icons/icon-fluidbook.svg"/></i>{{__('Fluidbook')}}</a>
<ul class='nav-dropdown-items'>
@can('fluidbook-publication:read')
<li class="nav-item"><a class="nav-link" href="{{ backpack_url('fluidbook-publication') }}"><i
- class="la la-book-reader nav-icon"></i> {{__('Publications')}}</a></li>
+ class="la la-book-reader nav-icon"></i> {{__('Publications')}}</a></li>
@endcan
- @can('fluidbook-theme:read')
- <li class="nav-item"><a class="nav-link" href="{{ backpack_url('fluidbook-theme') }}"><i
+ @if(config('app.env') !== 'ysl')
+ @can('fluidbook-theme:read')
+ <li class="nav-item"><a class="nav-link" href="{{ backpack_url('fluidbook-theme') }}"><i
class="la la-palette nav-icon"></i> {{__('Thèmes')}}</a></li>
- @endcan
- @can('fluidbook-iconset:read')
- <li class="nav-item"><a class="nav-link" href="{{ backpack_url('fluidbook-iconset') }}"><i
+ @endcan
+ @can('fluidbook-iconset:read')
+ <li class="nav-item"><a class="nav-link" href="{{ backpack_url('fluidbook-iconset') }}"><i
class="la la-icons nav-icon"></i> {{__('Jeux d\'icônes')}}</a></li>
- @endcan
- @can('fluidbook-collection:read')
- <li class="nav-item"><a class="nav-link" href="{{ backpack_url('fluidbook-collection') }}"><i
+ @endcan
+ @can('fluidbook-collection:read')
+ <li class="nav-item"><a class="nav-link" href="{{ backpack_url('fluidbook-collection') }}"><i
class="la la-university nav-icon"></i> {{__('Collections')}}</a></li>
- @endcan
- @can('fluidbook-translate:write')
- <li class="nav-item"><a class="nav-link"
- href='{{ backpack_url('fluidbook-translate/1/edit/?_locale=en') }}'><i
+ @endcan
+ @can('fluidbook-translate:write')
+ <li class="nav-item"><a class="nav-link"
+ href='{{ backpack_url('fluidbook-translate/1/edit/?_locale=en') }}'><i
class='la la-language nav-icon'></i>
- <span> {{__('Traductions')}}</span></a>
- </li>
- @endcan
- @can('signature:read')
- <li class="nav-item"><a class="nav-link" href="{{ backpack_url('signature') }}"><i
+ <span> {{__('Traductions')}}</span></a>
+ </li>
+ @endcan
+ @can('signature:read')
+ <li class="nav-item"><a class="nav-link" href="{{ backpack_url('signature') }}"><i
class="la la-signature nav-icon"></i> {{__('Signatures')}}</a></li>
- @endcan
- @can('fluidbook-external-install-server:read')
- <li class="nav-item"><a class="nav-link" href="{{ backpack_url('fluidbook-external-install-server') }}"><i
+ @endcan
+ @can('fluidbook-external-install-server:read')
+ <li class="nav-item"><a class="nav-link"
+ href="{{ backpack_url('fluidbook-external-install-server') }}"><i
class="la las la-server nav-icon"></i> {{__('Serveurs externes')}}</a></li>
- @endcan
- @can('fluidbook-quote:read')
- <li class="nav-item"><a class="nav-link" href="{{ backpack_url('fluidbook-quote') }}"><i
+ @endcan
+ @can('fluidbook-quote:read')
+ <li class="nav-item"><a class="nav-link" href="{{ backpack_url('fluidbook-quote') }}"><i
class="la la-wpforms nav-icon"></i> {{__('Demandes de devis')}}</a></li>
- @endcan
+ @endcan
+ @endif
</ul>
</li>
@endcanany
-@can('tools')
- <li {!! sidebarState('tools') !!}><a class='nav-link nav-dropdown-toggle' href='#'><i
+@if(config('app.env') !== 'ysl')
+ @can('tools')
+ <li {!! sidebarState('tools') !!}><a class='nav-link nav-dropdown-toggle' href='#'><i
class='nav-icon la la-tools'></i>{{__('Outils')}}</a>
- @include('tools.sidebar')
- </li>
-@endcan
-@canany(['users:read','company:read','managerolesandpersmissions'])
- <li {!! sidebarState('users') !!}><a class='nav-link nav-dropdown-toggle' href='#'><i
+ @include('tools.sidebar')
+ </li>
+ @endcan
+ @canany(['users:read','company:read','managerolesandpersmissions'])
+ <li {!! sidebarState('users') !!}><a class='nav-link nav-dropdown-toggle' href='#'><i
class='nav-icon la la-group'></i>{{__('Clients')}}</a>
- <ul class='nav-dropdown-items'>
- @can('company:read')
- <li class='nav-item'><a class='nav-link' href='{{ backpack_url('company') }}'><i
+ <ul class='nav-dropdown-items'>
+ @can('company:read')
+ <li class='nav-item'><a class='nav-link' href='{{ backpack_url('company') }}'><i
class='nav-icon la la-building'></i>
- <span>{{__('Clients')}}</span></a></li>
- <li class='nav-item'><a class='nav-link' href='{{ backpack_url('users') }}'><i
+ <span>{{__('Clients')}}</span></a></li>
+ <li class='nav-item'><a class='nav-link' href='{{ backpack_url('users') }}'><i
class='nav-icon la la-user-lock'></i>
- <span>{{__('Utilisateurs')}}</span></a></li>
- @endcan
- @can('managerolesandpersmissions')
- <li class='nav-item'><a class='nav-link' href='{{ backpack_url('role') }}'><i
+ <span>{{__('Utilisateurs')}}</span></a></li>
+ @endcan
+ @can('managerolesandpersmissions')
+ <li class='nav-item'><a class='nav-link' href='{{ backpack_url('role') }}'><i
class='nav-icon la la-group'></i>
- <span>{{__('Roles')}}</span></a></li>
- <li class='nav-item'><a class='nav-link' href='{{ backpack_url('permission') }}'><i
+ <span>{{__('Roles')}}</span></a></li>
+ <li class='nav-item'><a class='nav-link' href='{{ backpack_url('permission') }}'><i
class='nav-icon la la-key'></i><span>{{__('Permissions')}}</span></a></li>
- @endcan
- </ul>
- </li>
-@endcan
+ @endcan
+ </ul>
+ </li>
+ @endcan
-@canany(['team-leave:read','team-overtime:read','extranet:manage_emails'])
- <li {!! sidebarState('team') !!}><a class='nav-link nav-dropdown-toggle' href='#'><i
+ @canany(['team-leave:read','team-overtime:read','extranet:manage_emails'])
+ <li {!! sidebarState('team') !!}><a class='nav-link nav-dropdown-toggle' href='#'><i
class='nav-icon la la-mug-hot'></i>{{__('Équipe')}}</a>
- <ul class='nav-dropdown-items'>
- @can('extranet:manage_emails')
- <li class="nav-item"><a class="nav-link"
- href='{{ backpack_url('team-emails') }}'><i
+ <ul class='nav-dropdown-items'>
+ @can('extranet:manage_emails')
+ <li class="nav-item"><a class="nav-link"
+ href='{{ backpack_url('team-emails') }}'><i
class='nav-icon la la-mail-bulk'></i>
- <span>{{__('Emails')}}</span></a>
- </li>
- @endcan
- @can('extranet:manage_servers')
- <li class="nav-item"><a class="nav-link"
- href='{{ backpack_url('team-servers') }}'><i
+ <span>{{__('Emails')}}</span></a>
+ </li>
+ @endcan
+ @can('extranet:manage_servers')
+ <li class="nav-item"><a class="nav-link"
+ href='{{ backpack_url('team-servers') }}'><i
class='nav-icon las la-server'></i>
- <span>{{__('Serveurs')}}</span></a>
- </li>
- @endcan
- @can('team-pay:read')
- <li class="nav-item"><a class="nav-link"
- href='{{ backpack_url('team-pay') }}'><i
+ <span>{{__('Serveurs')}}</span></a>
+ </li>
+ @endcan
+ @can('team-pay:read')
+ <li class="nav-item"><a class="nav-link"
+ href='{{ backpack_url('team-pay') }}'><i
class="nav-icon las la-file-invoice-dollar"></i>
- <span>{{__('Bulletins de salaire')}}</span></a>
- </li>
- @endcan
- @can('team-leave:read')
- <li class="nav-item"><a class="nav-link"
- href='{{ backpack_url('team-leave') }}'><i
+ <span>{{__('Bulletins de salaire')}}</span></a>
+ </li>
+ @endcan
+ @can('team-leave:read')
+ <li class="nav-item"><a class="nav-link"
+ href='{{ backpack_url('team-leave') }}'><i
class="nav-icon las la-umbrella-beach"></i>
- <span>{{__('Congés et absences')}}</span></a>
- </li>
- @endcan
- @can('team-overtime:read')
- <li class="nav-item"><a class="nav-link"
- href='{{ backpack_url('team-overtime') }}'><i
+ <span>{{__('Congés et absences')}}</span></a>
+ </li>
+ @endcan
+ @can('team-overtime:read')
+ <li class="nav-item"><a class="nav-link"
+ href='{{ backpack_url('team-overtime') }}'><i
class="nav-icon las la-stopwatch"></i>
- <span>{{__('Heures supp')}}</span></a>
- </li>
- @endcan
- </ul>
- </li>
-@endcan
+ <span>{{__('Heures supp')}}</span></a>
+ </li>
+ @endcan
+ </ul>
+ </li>
+ @endcan
-@canany(['maintenance','toolbox-translate:admin'])
- <li {!! sidebarState('admin') !!}><a class='nav-link nav-dropdown-toggle' href='#'><i
+ @canany(['maintenance','toolbox-translate:admin'])
+ <li {!! sidebarState('admin') !!}><a class='nav-link nav-dropdown-toggle' href='#'><i
class='nav-icon la la-cogs'></i>{{__('Administration')}}</a>
- <ul class='nav-dropdown-items'>
- @can('toolbox-translate:admin')
- <li class="nav-item"><a class="nav-link"
- href='{{ backpack_url('toolbox-translate/1/edit/?_locale=en') }}'><i
+ <ul class='nav-dropdown-items'>
+ @can('toolbox-translate:admin')
+ <li class="nav-item"><a class="nav-link"
+ href='{{ backpack_url('toolbox-translate/1/edit/?_locale=en') }}'><i
class='la la-language'></i>
- <span>{{__('Traduction')}}</span></a>
- </li>
- @endcan
- @can('maintenance')
- <li class="nav-item"><a class="nav-link" href='{{ backpack_url('backup') }}'><i class='la la-hdd-o'></i>
- <span>{{__('Sauvegardes')}}</span></a>
- </li>
- <li class="nav-item"><a class="nav-link" href='{{ backpack_url('log') }}'><i class='la la-terminal'></i>
- <span>{{__('Journaux d\'erreurs')}}</span></a>
- </li>
- @endcan
- </ul>
- </li>
-@endcanany
+ <span>{{__('Traduction')}}</span></a>
+ </li>
+ @endcan
+ @can('maintenance')
+ <li class="nav-item"><a class="nav-link" href='{{ backpack_url('backup') }}'><i
+ class='la la-hdd-o'></i>
+ <span>{{__('Sauvegardes')}}</span></a>
+ </li>
+ <li class="nav-item"><a class="nav-link" href='{{ backpack_url('log') }}'><i
+ class='la la-terminal'></i>
+ <span>{{__('Journaux d\'erreurs')}}</span></a>
+ </li>
+ @endcan
+ </ul>
+ </li>
+ @endcanany
+@endif