open20/amos-prenotazioni

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

Gestore di prenotazioni

dev-master 2024-09-17 08:58 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

$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
$enableQrCode = false; //permette di utilizzare il qrcode per segnare le presenze ad un evento