ldc-boutique-cnc/resources/views/bo/settings.blade.php
2022-03-24 20:59:26 +01:00

240 lines
12 KiB
PHP

@extends('layouts.bo-layout')
@section('content')
<form method="POST" action="{{route('bo.settings')}}">
@method('PUT')
@csrf
<div class="d-flex justify-content-between flex-wrap flex-md-nowrap align-items-center pt-3 pb-2 mb-3 border-bottom">
<h1 class="h2">Paramètres</h1>
@if (session('success'))
<span class="float-center text-success">{{ session('success') }}</span>
@endif
<div class="text-right">
<button type="submit" class="btn btn-primary">Enregistrer</button>
</div>
</div>
@if ($errors->any())
<div class="alert alert-danger">
<ul>
@foreach ($errors->all() as $error)
<li>{{ $error }}</li>
@endforeach
</ul>
</div>
@endif
{{--<div class="form-group">
<label class="col-form-label">
<input type="checkbox" name="has_costs" value="1" @if ($settingsToPrint['has_costs'] == "1") checked @endif>
Frais de commande
</label>
</div>
<div class="form-group">
<label class="col-form-label">
Montant des frais de commande
<input type="number" name="costs" step=".01" class="form-control" value="{{$settingsToPrint['costs']}}">
</label>
</div>
<div class="form-group">
<label class="col-form-label">
<input type="checkbox" name="has_payment" value="1" @if ($settingsToPrint['has_payment'] == "1") checked @endif>
Prise en charge du paiement
</label>
</div>
<div class="form-group">
<label class="col-form-label">
<input type="checkbox" name="qr_code" value="1" @if ($settingsToPrint['qr_code'] == "1") checked @endif>
Gestion des QR codes
</label>
</div>--}}
<div class="form-group">
<label class="col-form-label">
Délai de retrait de la commande
<span class="tipped"
data-tippy-content="Il ne sera pas possible de choisir un moment de collecte au dela de ce délai.">
<i class="fas fa-question-circle"></i>
</span>
<input type="number" name="order_withdrawal_period" class="form-control" value="{{$settingsToPrint['order_withdrawal_period'] ?? ''}}">
<small class="text-muted">Nombre de jours maximum avant la collecte</small>
</label>
</div>
<div class="form-group">
<label class="col-form-label">
Adresse de reception des messages "contactez nous"
<span class="tipped"
data-tippy-content="adresse email à laquelle seront envoyé les formulaires de contact">
<i class="fas fa-question-circle"></i>
</span>
<input type="email" name="send_contact_mail_to" class="form-control" value="{{$settingsToPrint['send_contact_mail_to'] ?? ''}}">
</label>
</div>
<div class="form-group">
<label class="col-form-label">
Adresse de reception des messages de confirmation de commande
<input type="email" name="send_order_confirm_mail_to" class="form-control" value="{{$settingsToPrint['send_order_confirm_mail_to'] ?? ''}}">
<small class="text-muted">Information lorsqu'un client valide une commande</small>
</label>
</div>
<div class="form-group">
Boutique Privée
<span class="tipped"
data-tippy-content="L'activation de ce paramètres va rendre la boutique privée.
<br/> Une connexion sera necéssaire pour afficher les pages publiques du site.">
<i class="fas fa-question-circle"></i>
</span>
<div class="row">
<label class="col-form-label switch">
<input type="checkbox" name="private_shop" value="1" @if($settingsToPrint['private_shop'] ?? 0)checked @endif>
<span class="slider round"></span>
</label>
</div>
</div>
<div class="form-group">
Mode d'inscription
<span class="tipped"
data-tippy-content="La partie front office de votre boutique doit tenir compte de ce paramètre pour qu'il prenne effet.
<br/> Le thème doit indiquer quel modes sont pris en charge via la config de thème: <code>register_mode</code>
<br/> Si aucun choix ne s'affiche c'est que votre boutique ne gère que l'inscription tous publics.">
<i class="fas fa-question-circle"></i>
</span>
@foreach(SettingRegisterMode::toArray() as $registermode)
@if ($loop->first)
<div class="row">
@endif
@if (in_array($registermode->value, config('theme.register_mode') ?? array()))
<label class="col-form-label">
<input type="checkbox" name="register_{{ $registermode->value }}" value="{{ $registermode->value }}" @if(($settingsToPrint['register_'.$registermode->value]??'')==$registermode->value)checked @endif>
{{ $registermode->label }}
<small class="text-muted"></small>
</label>
@endif
@if($loop->last)
</div>
@else
</div>
<div class="row">
@endif
@endforeach
</div>
<div class="form-group">
Affichage des prix
<span class="tipped"
data-tippy-content="Affichage des prix sous certaines conditions :
<ul>
@foreach(PriceShowingMode::toArray() as $usercurrentstatus)
<li>
{{ $usercurrentstatus->label }}
</li>
@endforeach
</ul>">
<i class="fas fa-question-circle"></i>
</span>
@foreach(PriceShowingMode::toArray() as $usercurrentstatus)
@if ($loop->first)
<div class="row">
@endif
<label class="col-form-label">
<input type="checkbox" name="show_prices_{{ $usercurrentstatus->value }}" value="{{ $usercurrentstatus->value }}" @if(($settingsToPrint['show_prices_'.$usercurrentstatus->value]??'')==$usercurrentstatus->value)checked @endif>
{{ $usercurrentstatus->label }}
<small class="text-muted"></small>
</label>
@if($loop->last)
</div>
@else
</div>
<div class="row">
@endif
@endforeach
</div>
<div class="form-group">
Envoi des commandes à Regate
<span class="tipped"
data-tippy-content="Activez pour qu'une commande soit automatiquement envoyée à Regate au moment de la validation du créneau de collecte par le client.
<br/>Activer ce paramètre va rendre obligatoire la saisie de la référence (EAN13) dans les fiches produits.
<br/>Activer ce paramètre va rendre obligatoire la saisie de l'unité de commande dans les fiches produits.">
<i class="fas fa-question-circle"></i>
</span>
<div class="row">
<label class="col-form-label switch">
<input type="checkbox" name="regate_orders" value="1" @if($settingsToPrint['regate_orders'] ?? 0)checked @endif>
<span class="slider round"></span>
</label>
</div>
</div>
<div class="form-group">
Gestion stricte des unités de vente
<span class="tipped"
data-tippy-content="Activez pour limiter les valeurs possibles dans les unités de vente.
<br/>Il est indispensable que ce paramètre soit actif pour normaliser les envois de commande à Regate
<br/>Les valeurs autorisées seront :
<ul>
@foreach(SellUnit::toArray() as $sellunit)
<li>
{{ $sellunit->label }}
</li>
@endforeach
</ul>">
<i class="fas fa-question-circle"></i>
</span>
<div class="row">
<label class="col-form-label switch">
<input type="checkbox" name="sell_unit_management" value="strict" @if($settingsToPrint['sell_unit_management'] ?? 0)checked @endif>
<span class="slider round"></span>
</label>
</div>
</div>
</form>
<div id="fancybox">
<div class="modal-container fancybox-content" style="display: none;" id="hidden-content">
<div class="modal-title">Informations</div>
<div class="modal-body">
Ce paramètre doit être actif car l'envoi de commandes à Regate est actif.
</div>
<div class="modal-footer">
<a href="javascript:;" class="btn btn-secondary" data-fancybox-close="">{{__('OK')}}</a>
</div>
<button type="button" data-fancybox-close="" class="fancybox-button fancybox-close-small" title="Close"><svg xmlns="http://www.w3.org/2000/svg" version="1" viewBox="0 0 24 24"><path d="M13 12l5-5-1-1-5 5-5-5-1 1 5 5-5 5 1 1 5-5 5 5 1-1z"></path></svg></button>
</div>
</div>
@endsection
{{-- devenu inutile puisque le swicth envoi de commande active en fait le champs order_unit, et rend oligatoire le champ reference
mais le champs sell unit reste un champs d'uvc qui peut prendre d'autres formes.
@section('scripts')
<script type="text/javascript">
$(document).ready(function(){
$("INPUT[name=regate_orders]").change(function(){
if($(this).prop("checked") == true){
//console.log("Checkbox is checked.");
//check strict sell units
$("INPUT[name=sell_unit_management]").prop("checked",true);
}
else if($(this).prop("checked") == false){
//console.log("Checkbox is unchecked.");
}
});
$("INPUT[name=sell_unit_management]").change(function(){
if($(this).prop("checked") == true){
//console.log("Checkbox is checked.");
}
else if($(this).prop("checked") == false){
//console.log("Checkbox is unchecked.");
if($("INPUT[name=regate_orders]").prop("checked") == true){
//recheck
$(this).prop("checked",true);
$.fancybox.open({
src : '#hidden-content',
type : 'inline',
opts : {
afterShow : function( instance, current ) {
console.info( 'done!' );
}
}
});
}
}
});
});
</script>
@endsection
--}}