sc_menu_delete non funziona dopo aggiornamento campo

Raccoglitore di domande e risposte relative a ScriptCase, il generatore di codice php per lo sviluppo rapido di applicazioni.
Regole del forum
Nel forum è vietato fare pubblicità senza avere l'autorizzazione dello staf di Netspecial.
Michele-TMBLN
Messaggi: 21
Iscritto il: 27 feb 2015, 13:44

sc_menu_delete non funziona dopo aggiornamento campo

Messaggio da Michele-TMBLN » 19 ott 2016, 09:06

Buongiorno,
rieccomi con un secondo problema...
Nella tabella sec_users del Modulo Sicurezza, ho aggiunto un campo che nell'esempio chiamo "campo1" VARCHAR(2). Su SC il campo è impostato come "radio" dove i valori sono "Si" o "No".
Su app_Login > Eventi > onValidate ho settato la relativa variabile globale che sarebbe: [usr_campo1]

Su app_Menu > Eventi > onApllicationInit ho messo:

Codice: Seleziona tutto

if ([usr_campo1] == "No") {
	sc_menu_delete(item_2);
	}
Ora se eseguo il login come utente e non come amministratore e vado a modificare nel form "app_form_edit_users" il campo1, del mio stesso utente, da "No" a "Si", perchè devo eseguire il logout e rieseguire il login per vedere il menù "item_2"?

Non so se ho reso l'idea del problema, altrimenti chiedetemi pure.

Grazie fin d'ora!
Ultima modifica di Michele-TMBLN il 19 ott 2016, 19:18, modificato 1 volta in totale.

rino
Messaggi: 661
Iscritto il: 18 giu 2015, 15:42
Località: Pinerolo
Contatta:

Re: sc_menu_delete non funziona dopo aggiornamento campo

Messaggio da rino » 19 ott 2016, 15:15

Cominciamo con la prima che mi viene.
stai sbagliando usando i valori Si e No. tu stati trattando un valore boleano che può essere on o off , acceso o spento, 1 o 0 (uno o zero), vero o falso . Nel trattare il campo dovresti limitarti al true / false , 1/0 dove poi , quando occorre dare un senso analogico assegni la label Si a 1 (true) e No a 0 (false)

apparentemente non cambia ma in realtà si e molto specie in termini di comprensibilità globale oltre che spazi .

sul resto ti suggerisco di fare un test :D
Rino Lo Turco
Consulente Informatico; Analista e Sviluppatore; ex IT Manager; Cons. Direzionale di Organizzazione; Consulente Tecnico legale; Esperto protezione dati personali; Internet Service Provider
felice utente e fruitore di ScriptCase

Fabio
Messaggi: 449
Iscritto il: 20 feb 2014, 11:43

Re: sc_menu_delete non funziona dopo aggiornamento campo

Messaggio da Fabio » 19 ott 2016, 15:23

Se non sbaglio, la composizione del menù viene fatta in uno script nella login.
Penso sia per questo che devi sempre passare dalla login.
Altrimenti devi rieseguire lo script quando lo modifichi.

Michele-TMBLN
Messaggi: 21
Iscritto il: 27 feb 2015, 13:44

Re: sc_menu_delete non funziona dopo aggiornamento campo

Messaggio da Michele-TMBLN » 19 ott 2016, 19:20

Ok! Grazie Rino! Grazie Fabio!
Ora provo a vedere che combino poi Vi dico! ;)

Michele-TMBLN
Messaggi: 21
Iscritto il: 27 feb 2015, 13:44

Re: sc_menu_delete non funziona dopo aggiornamento campo

Messaggio da Michele-TMBLN » 20 ott 2016, 13:07

Buongiorno,

ho eseguito il test, modificando il tipo di campo nella tabella da varcar(2) a boolean(1) che su SC è un tinyint... Ho impostato i valori 0 e 1 nel campo di tipo radio su SC, ma il problema persiste... devo eseguire il logout e rieseguire il login per vedere il risultato... Mi viene in mente di riazzerare la variabile globale. Ma non so come fare...
Non so o non capisco dove sbaglio... :(

rino
Messaggi: 661
Iscritto il: 18 giu 2015, 15:42
Località: Pinerolo
Contatta:

Re: sc_menu_delete non funziona dopo aggiornamento campo

Messaggio da rino » 20 ott 2016, 17:08

rispondo sul primo, il resto dopo.
mysql considera le variabili boleane come tinynt e se vai a vedere il vaolre inserito è 0 o 1 a seconda se vero o falso
Puoi trattare la variabile indifferentemente con un test di condizione vero o falso o pari a 0 o 1 sia in php che sql

Sul problema del menu :
intanto devi scegliere se agire sul direttamente sul client o sul server . quello che vedi nel tuo borwser è il risutlato di un attività sul sever che viene spedita al client. da li in poi il server è di norma fuori da ogni discorso salvo interrogarlo o con un anuova richiesta di pagina o con il trucchetto dell'ajax (cosa molto complessa da gestire , per fortuna SC ha semplificato la rogna).

Il fatto che tu ti debba sconnettere e riconnettere indica solo che fai una nuova richiesta alla pagina del menu e lo fai per via naturale attraverso l'applicazione creata. In realtà puoi anche , tramite una macro, richiedere da dentro un app l esecuzione di un altra app. la macro sc_redir ti permette di richiedere un app direttamente da un altra.
detto ciò , una volta fatte le tue cose e impostate le variaibli globali che ti interessano , impostazioen l ottieni usandola come risultato di un qualcosa, richiami l app che ti interessa facendo finta di niente, tanto le non se ne accorge :lol: .
questa sarebbe la logica , se invece vuoi la soluzione devo "sfruguliare" :mrgreen:
Rino Lo Turco
Consulente Informatico; Analista e Sviluppatore; ex IT Manager; Cons. Direzionale di Organizzazione; Consulente Tecnico legale; Esperto protezione dati personali; Internet Service Provider
felice utente e fruitore di ScriptCase

rino
Messaggi: 661
Iscritto il: 18 giu 2015, 15:42
Località: Pinerolo
Contatta:

Re: sc_menu_delete non funziona dopo aggiornamento campo

Messaggio da rino » 20 ott 2016, 17:13

Ho riletto la tua domanda è: tu hai un problema di logica e di confusione sui tempi di composizione di ciò che vedi a video ; credo sia opportuno fare chiarezza quindi ricominciamo dalle basi.

Cosa vuoi ottenere? , non mi dire come , dimmi cosa , il resto lo vediamo dopo .
Rino Lo Turco
Consulente Informatico; Analista e Sviluppatore; ex IT Manager; Cons. Direzionale di Organizzazione; Consulente Tecnico legale; Esperto protezione dati personali; Internet Service Provider
felice utente e fruitore di ScriptCase

Michele-TMBLN
Messaggi: 21
Iscritto il: 27 feb 2015, 13:44

Re: sc_menu_delete non funziona dopo aggiornamento campo

Messaggio da Michele-TMBLN » 20 ott 2016, 20:12

Ok! Grazie intanto Rino! :)
Quello che voglio ottenere è che il menù deve essere visibile o meno a seconda della impostazione di un campo (radio): Si o No (1 o 0).
Il campo si trova nella tabella sec_users, e la variabile viene creata perchè il menù in questione è visibile solo s'è l'utente ha il campo selezionato su Si.
Grazie ancora!

rino
Messaggi: 661
Iscritto il: 18 giu 2015, 15:42
Località: Pinerolo
Contatta:

Re: sc_menu_delete non funziona dopo aggiornamento campo

Messaggio da rino » 21 ott 2016, 10:43

Pefetto , adesso è tutto chiaro.
mI pare ovvio che la decisione di cosa far vedere all utente possa avvenire nel momento in cui identifico l utente e emetto il menu.
Quanto segue è secondo il flusso standard di SC che ho potutto consatare da quando ci metto le mani sopra e io non ho seguito corsi di certificazione SC; nulla vieta di realizzarsi un flusso diverso ma le vale la pena?

Il menu è "composto" solo al momento dell'accesso al sistema (login) , in quel momento si decide cosa far apparire , cosa autorizzare etc. questo perchè il menu è sempre presente e non viene ricrerato ad ogni chiamata di pagina diversa; credo sia una sorta di iframe, non ho indagato oltre non ritenendolo a suo tempo rilevante.

Se su cambi le condizioni di "gioco" dopo aver effettuato le funzioni di verifica e emisisoen dle risultato trovo veramente difficile pretendere che il risultato si adatti alle nuove condizioni.
Se per esempio modifcihi le autorizzazioni di accesso ad una applicaizoen queste non vengono considerate sino a che non riesegui la fase di controllo , che appunto è effettuata in fase di login.
Quello che ti accade è quindi corretto; per altro un flusso del genere rientra nelle definizioni di gestione della sicurezza scritte nel famoso 'orange book'.

Come detto nessuno ti impedisce di farti un flusso tuo ma non avrebbe neanche senso, la gestione della sicurezza di accesso non prevede neanche concettualmente una metodologie online.

Nel leggere la tua problematica mi domando come mai non hai adottato il livello dei gruppi, invece che usare il livello utente.
Comunque il controllo di sicurezza SC basato direttamente sull'applicazione e sulle sue funzioni è molto potente e sicuro, lascia a menu la visione della voce ma non ne permette l esecuzione, il che in moltisismi casi va benissimo. se non ti piace ovvero se vuoi che la voce di menu non appaia in caso di mancata autorizzazione devi solo fare una piccola modifica all'app di login.

Spreo di esserti stato d aiuto
rino
Rino Lo Turco
Consulente Informatico; Analista e Sviluppatore; ex IT Manager; Cons. Direzionale di Organizzazione; Consulente Tecnico legale; Esperto protezione dati personali; Internet Service Provider
felice utente e fruitore di ScriptCase

Michele-TMBLN
Messaggi: 21
Iscritto il: 27 feb 2015, 13:44

Re: sc_menu_delete non funziona dopo aggiornamento campo

Messaggio da Michele-TMBLN » 21 ott 2016, 13:18

Ciao Rino,

Grazie ancora per la risposta che mi è stata veramente di aiuto... Ho riesaminato per bene un po il problema e ho dedotto in effetti quanto dici... Poiché la decisione di impostare il campo su si o no spetta ad un amministratore, non so perchè sono andato a fare il test come utente (non amministratore) loggato. Quindi credo che l'impostazione del campo la farà un amministratore e al successivo login di un utente, esso troverà la variazione sul menù.
Grazie ancora e complimenti per la tua competenza in materia.
Buon proseguimento,

Ciao!

Michele!

Rispondi

Chi c’è in linea

Visitano il forum: Ahrefs [Bot] e 8 ospiti