open20/amos-prenotazioni

There is no license information available for the latest version (dev-master) of this package.

Gestore di prenotazioni

dev-master 2024-10-08 08:46 UTC

README

Extension for creation a reservation module

Installation

  1. The preferred way to install this extension is through composer.

Either run

composer require open20/amos-prenotazioni

or add

"open20/amos-prenotazioni": "dev-master as 1.0.0"

to the require section of your composer.json file.

  1. Add module to your main config in common:
<?php
'modules' => [
    'prenotazioni' => [
        'class' => 'open20\amos\prenotazioni\Module',           
    ],
],
  1. Apply migrations
php yii migrate/up --migrationPath=@vendor/open20/amos-prenotazioni/src/migrations

RUOLI

RUOLO AZIONI
AMMINISTRATORE_PRENOTAZIONI pieno controllo del modulo - VALIDATORE
MANAGER_PRENOTAZIONI può gestire gli eventi e le prenotazioni dei servizi a cui è associato - VALIDATORE
CREATORE_PRENOTAZIONI può gestire i suoi eventi creati e necessita della validazione di un manager o dell'admin

PERMESSI

PERMESSO AZIONI
PRENOTAZIONEEVENTI_MANAGE permette la gestione dell'evento e delle prenotazioni ad esso legate (create o associate dai servizi)
PRENOTAZIONESERVIZI_USER_CAN_BE_ASSOCIATED permette di apparire tra l'elenco degli utenti che possono essere associati ad un servizio

PARAMETRI

esempi di configurazione

$showLegend = true //mostra o nasconde la legenda
$defaultViewsCalendar = ['month','listDay'] //abilita le viste del calendario o a meso o ad agenda, sono disponibili solo questi 2 valori. Per togliere i tasti lasciare solo un'opzione o un array vuoto
$viewCalendarMonths  = [3,3]  //finestra di eventi da mostrare nel calendario -3 mesi : + 3 mesi
$tipiModalita = ['UTILIZZO SPAZI']; //tipi di modalità da selezionare ALMENO 1 presente
$tipiRuolo = ['BASIC_USER']  //RUOLI O PERMESSI per poter prenotarsi ad un evento
$tipiRuoloCustomFunctionCheck =  [ //funzione custom per il controllo dei ruoli
        'class' => '\frontend\modules\prenotazioni\models\PrenotazioneEventi',
        'method' => 'test'
        ];
$fasceOrarie = [  //tipi di fascie orarie
        900 => 'Ogni 15 min',
        1800 => 'Ogni 30 min',
        3600 => 'Ogni 60 min',
    ];
$disableDuplication = true; //funzione per duplicare eventi
$switchEventOnCalendar = false; //permette di cambiare il tipo di evento dal calendario, oppure viene utilizzato url con il parametro tipologia=id
$showAddress = true; //permette di inserire un indirizzo nell'evento
$showImage = true; //permette di inserire un'immagine nell'evento come copertina
$showLogoServizi = true; //permete di aggiungere un'immagine logo per il servizio
$defaultLogoServizi = '/img/img_default.jpg' //path per immagine di default se nel servizio non viene caricata nessuna immagine
$enableQrCode = false; //permette di utilizzare il qrcode per segnare le presenze ad un evento
$disableNavigation = false //permette di togliere tutte le navigazioni del calendario per visualizzare ad esempio una data specifica 
$activeAjaxSearchSelectService = 2 //nella select dei servizi, se i servizi sono >= 2 mette una select ajax, altrimenti una select normale. False mette sempre una select normale
$downloadTicket = true //abilita lo scaricamento del ticket
$backgroundTicket = @vendor/open20/amos-prenotazioni/src/assets/web/img/background_ticket.png //path per background ticket