Segretariato sociale-info. Seconda parte

Segretariato sociale-info. Seconda parte.

Per chi è approdato in questa seconda parte consiglio di leggere la prima parte dell'articolo quì
Stiamo usando le estensioni per Joomla! ChronoForms e ChronoConnectivity versione 5 della chronoengine.com
In questa seconda parte vedremo come fare le modifiche ad ogni singola scheda ed eliminare le schede dalla lista di CC. Per le modifiche utilizzeremo lo stesso form creato con Chronoforms per inserire le informazioni. Ma agli elementi del Designer e alle azioni del Setup del form, apporteremo dei cambiamenti che saranno fondamentali per il buon funzionamento.


In questo articolo faremo:
-le modifiche al form che useremo per modificare le singole schede
-la connessione con ChronoConnectivity per creare la lista delle schede da modificare
-la connessione con ChronoConnectivity per creare la lista delle schede da eliminare
-la seconda parte del menù di Joomla! che servirà a fare il link per le modifiche e l'eliminazione delle schede

1. CHRONOFORMS
Non è necessario creare da zero un nuovo form identico a: segr_soc_modulo_servizi_inserisci
Per velocizzare il lavoro possiamo duplicare il form ed apportare le giuste modifiche.
Flagghiamo il form segr_soc_modulo_servizi_inserisci cliccando nel chek sul lato sinistro del nome del form.

Figura 1



Clicchiamo sull'icona Copy dalla barra in alto del Forms Manager di Chronoforms

Figura 2



Otteniamo la copia (con il nome identico) del form segr_soc_modulo_servizi_inserisci

1.2 GENERAL
Apriamo il form appena duplicato.
In General Form name scriviamo segr_soc_modulo_servizi_modifica
In Form description scriviamo FORM MODIFICA SCHEDE
Il resto lasciamolo così com'è.
Notate la differenza tra _inserisci e _modifica Questo permetterà di distinguere i form e farli lavorare separatamente.

Figura 3



1.3 DESIGNER
A questo punto possiamo iniziare a lavorare ed apportare le modifiche a tutti gli elementi presenti nel Designer.
Un clic su Designer per aprirlo.
Clicchiamo su Edit dell'elemento Custom
In Code scriviamo <B>SEGRETARIATO SOCIALE. MODIFICA SCHEDA SERVIZIO</B>
Questa è la nuova intestazione del form che servirà per fare le modifiche ad ogni singola scheda. Questa intestazione sarà presente in tutti i form per le modifiche.

Figura 4




Clic su Save and Close per chiudere il Custom

Adesso dobbiamo aggiungere un elemento che sarà di fondamentale importanza per il Setup di Chronoforms (che vedremo successivamente) e per il buon funzionamento delle modifiche che potremmo apportare alle schede informative.
Da Basic trasciniamo un Hidden Field e posizioniamolo sotto l'elemento Custom e sopra l'elemento Text Box di AREA E ARGOMENTO.
Apriamo Hidden Field cliccando su Edit
In Field Name scriviamo: modulomodifica[id]
Il resto lasciamoli così com'è di default
Save and Close per chiudere l'Hidden Field

Figura 5



AREA E ARGOMENTO
Apriamo il doppio Text Box AREA e ARGOMENTO cliccando su Edit.
Nel primo Text Box sciviamo in:
Field Name: modulomodifica[area]
Field ID: area
Lasciamo il resto dell'elemento così com'è.
Scendiamo con la barra fino al secondo Text Box e scriviamo in:
Field Name: modulomodifica[argomento]
Field ID: argomento
Lasciamo il resto dell'elemento così com'è. Possiamo salvare le modifiche e chiudere l'elemento.
Figura 6 e 7

Figura 6



Figura 7



La cosa importante da notare e che il Field Name di questo doppio Text Box corrisponde al Field Name modulomodifica del Hidden Field precedentemente creato modulomodifica[id]

Questo non è una banalità modulomodifica[........] permetterà l'interazione degli elementi del form con il Setup dello stesso form, attiverà le connessioni di ogni singolo campo con ChronoConnectivity prelevando ogni singola informazione inserita precedentemente in ogni singolo campo della tabella segr_soc_servizi.
L'applicazione ruota tutta sulla singola tabella di MySql segr_soc_servizi
In altre parole, nella tabella segr_soc_servizi inseriremo le informazioni, le modificheremo, eventualmente elimineremo le schede che non servono più al servizio on-line, daremo la possibilità a gli utenti di visualizzare il contenuto di ogni singola scheda ed eventualmente stamparle.

INFORMAZIONI
Continuiamo il lavoro di modifica degli elementi.
Apriamo il successivo elemento Radio Box INFORMAZIONI con la solita procedura di un clic su Edit
Field Name: modulomodifica[informazioni_base]
Field ID. informazioni_base
Non occorre fare nessun'altra modifica. E non occorre fare modifiche in Events
Figura 8 e 9

Figura 8



Figura 9



Clicchiamo su Save and Close

Occorre fare le stesse modifiche agli elementi sottostanti.
Text Area informazioni:
Field Name: modulomodifica[informazioni]
Field ID: informazioni
Non occorre fare altro.

ULTERIORI INFORMAZIONI
Radio Box ulteriori_informazioni:
Field Name: modulomodifica[ulteriori_informazioni]
Field ID: informazioni
Non occorre fare altro.

Text Area approfondimenti:
Field Name: modulomodifica[approfondimenti]
Field ID: approfondimenti
Non occorre fare altro.

AVVERTENZE
Radio Box avvertenze:
Field Name: modulomodifica[avvertenze]
Field ID: avvertenze
Non occorre fare altro.

Text Area avvertenze_2:
Field Name: modulomodifica[avvertenze_2]
Field ID: avvertenze_2
Non occorre fare altro.

MODULO PER LA DOMANDA
Nel File Field MODULO PER LA DOMANDA non dobbiamo apportare modifiche. Per il semplice motivo che questo elemento serve a fare l'upload del file da allegare, quindi non deve leggere nessuna informazione già inserita nel Database. Ma deve continuare a permettere di fare l'upload.
Nel nostro caso un file in upload non viene salvato nella tabella di MySql, ma direttamente nella cartella. Mi riferisco al percorso del Files Upload → Upload path

Figura 10



DOVE INVIARE LA RICHIESTA
Radio Box dove_inviare_richiesta_base:
Field Name: modulomodifica[dove_inviare_richiesta_base]
Field ID: dove_inviare_richiesta_base
Non occorre fare altro.

Text Area dove_inviare_richiesta:
Field Name: modulomodifica[dove_inviare_richiesta]
Field ID: dove_inviare_richiesta
Non occorre fare altro.

L'elemento Custom per l'intestazione
<B>ULTERIORI DOCUMENTI DA ALLEGARE ALLA DOMANDA:</B>
Lasciamolo così com'è.

Configuriamo i 6 Text Box e File Field.
Ricordiamo che ognuno dei 6 elementi è composto da un Text Box che serve a fare la descrizione del file allegato e un File Field che serve ad allegare il file.
Apriamo il primo elemento cliccando su Edit
Text Box:
Field Name: modulomodifica[allegato1]
Fiel ID: allegato1
Non occorre fare altro.

Scendiamo con la barra fino ad arrivare al File Field.
File Field:
Field Name: allegato_1
Field ID: allegato_1
Non occorre fare altro.

Notiamo che il File Field lo abbiamo lasciato così com'è. Come avevo anticipato sopra, questo elemento serve solo a fare l'upload del file e non a prelevare informazioni così come è deputato il Text Box.
Figure 11 e 12

Figura 11



Figura 12




Proseguiamo il lavoro apportando le modifiche agli altri 5 elementi sottostanti.
Text Box:
Field Name: modulomodifica[allegato2]
Fiel ID: allegato2
Non occorre fare altro.
Scendiamo con al barra fino ad arrivare al File Field.
File Field:
Field Name: allegato_2
Field ID: allegato_2
Non occorre fare altro.

Text Box:
Field Name: modulomodifica[allegato3]
Fiel ID: allegato3
Non occorre fare altro.
Scendiamo con al barra fino ad arrivare al File Field.
File Field:
Field Name: allegato_3
Field ID: allegato_3
Non occorre fare altro.

Text Box:
Field Name: modulomodifica[allegato4]
Fiel ID: allegato4
Non occorre fare altro.
Scendiamo con al barra fino ad arrivare al File Field.
File Field:
Field Name: allegato_4
Field ID: allegato_4
Non occorre fare altro.

Text Box:
Field Name: modulomodifica[allegato5]
Fiel ID: allegato5
Non occorre fare altro.
Scendiamo con al barra fino ad arrivare al File Field.
File Field:
Field Name: allegato_5
Field ID: allegato_5
Non occorre fare altro.

Text Box:
Field Name: modulomodifica[allegato6]
Fiel ID: allegato6
Non occorre fare altro.
Scendiamo con al barra fino ad arrivare al File Field.
File Field:
Field Name: allegato_6
Field ID: allegato_6
Non occorre fare altro.

TERRITORIO E STRUTTURE
Radio Box territorio_base:
Field Name: modulomodifica[territorio_base]
Field ID: territorio_base
Non occorre fare altro.

Text Area territorio:
Field Name: modulomodifica[territorio]
Field ID: territorio
Non occorre fare altro.

FONTE INFORMATIVA
Radio Box fonte_base:
Field Name: modulomodifica[fonte_base]
Field ID: fonte_base
Non occorre fare altro.

Text Area fonte:
Field Name: modulomodifica[fonte]
Field ID: fonte
Non occorre fare altro.

Per il pulsante Submit SALVA non occorre fare nulla.
Abbiamo concluso le modifiche degli elementi del Design di ChronoForms.

1.4 SETUP
Adesso dobbiamo configurare il Setup. Quindi un clic su Setup.
Le modifiche da apportare nel Setup non riguardano tutte le azioni ma soltanto alcune e l'inserimento di una nuova azione che servirà ad attivare la connessione.

HTML (Render Form): lasciamolo così com'è

DB Read:
Action Label: scriviamo Modulo servizi modifica

Table name: lasciamo selezionata la tabella segr_soc_servizi
Model ID: scriviamo modulomodifica
Conditions: scriviamo il seguente codice:
<?php return array('modulomodifica.id'=>$form->data['gcb']); ?>
Non occorre fare altro.

DB Save:
Action Label: scriviamo Modulo servizi modifica
Table name: lasciamo selezionata la tabella segr_soc_servizi
Model ID: scriviamo modulomodifica
Update conditions: scriviamo il seguente codice:
<?php return array('modulomodifica.id'=>$form->data['gcb']); ?>

Sotto Display MessageExternal Apps trasciniamo la nuova azione Connection Action.
Apriamo l'azione Connection Action:
Connection's name: scriviamo il nome del form segr_soc_modulo_servizi_modifica
Connection's action: scriviamo save

Figura 13



Cosa abbiamo fatto d'importante nel Setup?
In DB Save e DB Read abbiamo attivato il model con: modulomodifica affinchè comunichi con la successiva connessione. In particolare ricordate → L'Hidden Fieldmodulomodifica[id]
Abbiamo utilizzato un codice php che contiene la funzione gcb
Questa funzione è stata introdotta e spiegata da Vales in diversi post nella sezione Gestione Form del Forum di Joomla! In particolare consiglio di leggere questo post quì
E' una funzione molto precisa per il lavoro che deve fare con la connessione.

Abbiamo inserito l'azione Connection Action fondamentale per fare dialogare il form con ChronoConnetctivity.
A questo punto abbiamo finito anche il lavoro del Setup.
Possiamo salvare (Save and Close) e chiudere il form per iniziare a lavorare con ChronoConnectivity.

2. CHRONOCONNECTIVITY
Da Componenti apriamo ChronoConnectivity5 Connections manager
Da Connections manager → un clic sull'icona New per aprire e configurare una nuova connessione. L'icona New è la prima a sinistra in alto a destra del Connections manager.
Nel nostro caso la nuova connessione servirà a fare le modifiche alle schede informative.

In General:
Connection name: scriviamo il nome del form che abbiamo appena realizzato per fare le modifiche, cioè: segr_soc_modulo_servizi_modifica
Published: Yes
Un clic sull'icona Apply o se preferite Save (lato destro in alto) per salvare già da subito la connessione.

Figura 14



Clicchiamo su → Models
Model Title: modulomodifica
Table name: selezioniamo dal DB la tabella segr_soc_servizi
Conditions: lasciamolo vuoto
Fields: inseriamo i seguenti campi → id,user_id,area,argomento . I campi id e user_id sono creati di default da Chronoforms nel momento in cui salviamo una tabella (vedi la prima parte dell'articolo Segretariato sociale-info). I campi area e argomento sono due campi creati da noi. E' importante scrivere i campi separati dalla virgola senza lasciare spazi tra loro.
Order: scriviamo modulomodifica.area ASC . In questo caso abbiamo scelto di allineare la lista delle schede in maniera ascendente ed in base al campo area
(a titolo informativo ASC è un codice SQL -Structure Query Languages- e serve per ordinare i campi -ORDER BY- ovviamente esiste anche DESC)
Group: lasciamolo vuoto
Figura 15 e 16.

Figura 15



Figura 16



Un clic su Front List.
Setting:
Display type: Table
Columns list:
scriviamo:
_EDIT_:Modifica
modulomodifica.area:Area
modulomodifica.argomento:Argomento

Le aree sottostanti lasciamole vuote e di default.

Figura 17



_EDIT_ serve ad editare i campi, ovviamente.

Un clic su List Display:
Un clic su Table:
Header code: Scriviamo l'intestazione della lista schede: <B>SEGRETARIATO SOCIALE. MODIFICA SCHEDE</B><BR>

Footer code: scriviamo
_PAGINATOR_LIST_
_PAGINATOR_NAV_
<br/>
Queste funzioni le ricaviamo da Help (vedi menù in altro a destra). La prima serve per la scelta del numero di schede da visualizzare in lista. La seconda serve per la numerazione delle pagine e per andare avanti e indietro.

Figura 18



Figura 19



Adesso occorre dare i giusti permessi. Gli operatori di sportello con i permessi Registred potranno creare nuove schede, modificarle ed eliminarle. Gli utenti finali, Public, potranno visualizzare la lista delle schede, cliccare su ogni singola scheda pere vedere i contenuti. I permessi li daremo anche al menù di Joomla! Ma adesso vediamo come impostarli su ChronoConnectivity.

A questo punto un clic su Permission.

La connessione ci permette di fare il settaggio dei permessi riferito ad ogni singolo form richiamato dalla connessione. Cioè chi può inserire le schede, chi può modificarle ed eliminarle, chi può solo visualizzare la lista delle schede, aprirle ma non avere la possibilità di modificarle.
In linee generali parliamo del Super User di Joomla!, dell'operatore con permessi Registered e degli utenti finali che possono vedere la lista e aprire le schede.

Per modificare ed eliminare le schede daremo questi permessi:

Index:
RegisteredAllowed. Gli operatori di sportello hanno accesso alla lista per modificare le schede
Super UserAllowed. L'amministratore di Joomla! ha accesso alla lista per modificare le schede
Facciamo la stessa cosa per View, Edit, Save, Delete

Figura 20




Siamo arrivati al punto di creare la connessione per dare modo all'operatore di eliminare le schede.
La connessione per l'eliminazione punta agli stessi dati utilizzati per fare le modifiche, quindi non è necessario creare una nuova connessione ma è sufficiente fare il copia/incolla della connessione utilizzata per le modifiche ma con un cambiamento che, come vedremo, sarà fondamentale. Per velocizzare il lavoro faremo il copia e incolla.

Da Connections Manager di ChronoConnectivity → falgghiamo la connessione → segr_soc_modulo_servizi_modifica
Un clic sull'icona Copy in alto a destra.
Creata la copia della connessione la apriamo cliccandoci sopra.
GeneralConnection name → scriviamo segr_soc_modulo_servizi_elimina

Figura 21



Front ListSettingsColumns list → apportiamo la modifica fondamentale togliendo _EDIT_:Modifica e scrivendo _DELETE_:Elimina

Figura 22



List DisplayTable → scriviamo:
<B>SEGRETARIATO SOCIALE. ELIMINA SCHEDE</B><BR>
<font color="#FF0000"><B>ATTENZIONE:</font></B> Cliccando su <B>Elimina</B> sarà cancellata definitivamente la scheda e tutte le informazioni in essa contenute.

Figura 23



Per quanto riguarda i permessi sono identici a quelli usati nella connessione per fare le modifiche, figura 20. Per scrupolo verifichiamo che su Permissions → Delete → Registered e Super User siano impostati su → Allowed
Non occorre fare altro se non quello di salvare la connessione cliccando sull'icona Save.

Un po' di MySql.
In riferimento a CF, CC e MySql fino adesso abbiamo usato delle query o meglio dire costrutti che servono a gestire un Database. Il form per l'inserimento, in realtà, usa la query MySql INSERT; con il form e la connessione per le modifiche EDIT possiamo fare riferimento a MySql UPDATE; la connessione per eliminare le schede fa riferimento alla query DELETE. In altre parole, la gestione di un database con MySql la otteniamo con i seguenti costrutti: INSERT-SELECT-UPDATE-DELETE. CF e CC semplificano notevolmente il lavoro al webmaster non tanto per la creazione di singoli form ma anche per la realizzazione di un applicazione capace di gestire in tutto e per tutto un Database.
Con questa applicazione, anche se essenziale, non faremo altro che gestire un DB. Non gestisce le registrazioni, questo compito lo abbiamo delegato all'amministratore di Joomla!

3. MENU' DI JOOMLA!
MODIFICA
Dal pannello di Amministrazione di Joomla! dobbiamo creare una sotto voce di menù al menù Segretariato e linkare il form per le modifiche delle schede informative.
Clicchiamo su:
MenùMenù principaleNuovo
Nome e voce di menù: Modifica
Tipo voce di menùSeleziona → clicchiamo su la voce ChronoConnectivity5Connection view Display Connection
Spostiamoci in Connections manager di ChronoConnectivity e selezioniamo per fare il copia/incolla il nome della connessione per modificare le schede: segr_soc_modulo_servizi_modifica
Ritorniamo nel Menù di Joomla!
In OpzioniConnection's Name → incolliamo segr_soc_modulo_servizi_modifica. Facendo attenzione che non rimangono spazi vuoti, altrimenti il link non funziona.
In DettagliVoce principale: selezioniamo Segretariato
Stato: Pubblicato
Accesso: Registered

ELIMINA
Dal pannello di Amministrazione di Joomla! dobbiamo creare un'altra sotto voce di menù al menù Segretariato e linkare il form per eliminare le schede informative
Clicchiamo su:
MenùMenù principaleNuovo
Nome e voce di menù: Elimina
Tipo voce di menù Seleziona → clicchiamo su la voce ChronoConnectivity5 → Connection view Display Connection
Spostiamoci in Connections manager di ChronoConnectivity e selezioniamo per fare il copia/incolla il nome della connessione per eliminare schede: segr_soc_modulo_servizi_elimina
Ritorniamo nel Menù di Joomla!
In OpzioniConnection's Name → incolliamo segr_soc_modulo_servizi_elimina. Facendo attenzione che non rimangono spazi vuoti, altrimenti il link non funziona.
In DettagliVoce principale: selezioniamo Segretariato
Stato: Pubblicato
Accesso: Registered

Se abbiamo fatto tutto a dovere possiamo già utilizzare l'applicazione per inserire le schede informative, modificarle ed eliminarle.

Figura 24 Lista per modificare le schede



Figura 25 Lista per eliminare le schede



Nel terzo articolo vedremo come rendere disponibili agli utenti le informazioni.

 

Commenta questo articolo sul forum
Ho scritto e condiviso questo articolo su Joomla.it, fallo anche tu. Invia ora un nuovo articolo!
Nome: Giuseppe ZitoSito: https://www.cybercoords.it
Alcune informazioni su di me:


Ho anche scritto:
         ✔ diventa autore su Joomla.it