From be097a86d3cd58b0aab9e1a4ffa9fda748466382 Mon Sep 17 00:00:00 2001 From: Samuele Locatelli Date: Fri, 13 Sep 2013 12:18:10 +0200 Subject: [PATCH] fix permessi lettura/scrittura in pagina Progetti update sql x anagrafica (nuovo ruolo super reader,d a completare in DB ETS_PROJ) --- ETS_Data/ETS_Data.csproj | 1 + .../SQL/ETS_anagrafica/ETS_ANAG_00180.sql | 177 ++++++++++++++++++ PROJ-ETS/PROJ-ETS/Web.config | 2 +- .../WebUserControls/mod_commesse.ascx | 3 - .../WebUserControls/mod_commesse.ascx.cs | 19 +- .../WebUserControls/mod_progetti.ascx | 10 - .../WebUserControls/mod_progetti.ascx.cs | 25 +-- PROJ-ETS/PROJ-ETS/bin/ETS_Data.dll | Bin 1052160 -> 1052160 bytes PROJ-ETS/PROJ-ETS/bin/PROJ-ETS.dll | Bin 89600 -> 89600 bytes 9 files changed, 187 insertions(+), 50 deletions(-) create mode 100644 ETS_Data/SQL/ETS_anagrafica/ETS_ANAG_00180.sql diff --git a/ETS_Data/ETS_Data.csproj b/ETS_Data/ETS_Data.csproj index 2e3443a..902db68 100644 --- a/ETS_Data/ETS_Data.csproj +++ b/ETS_Data/ETS_Data.csproj @@ -155,6 +155,7 @@ + diff --git a/ETS_Data/SQL/ETS_anagrafica/ETS_ANAG_00180.sql b/ETS_Data/SQL/ETS_anagrafica/ETS_ANAG_00180.sql new file mode 100644 index 0000000..4801bf5 --- /dev/null +++ b/ETS_Data/SQL/ETS_anagrafica/ETS_ANAG_00180.sql @@ -0,0 +1,177 @@ +set xact_abort on +go + +begin transaction +go + +UPDATE +dbo.Funzioni +SET COD_FUNZIONE=N'PowerReader' +WHERE COD_FUNZIONE=N'GPW_powRea' +go + +commit transaction +go + + +set xact_abort on +go + +begin transaction +go + +UPDATE dbo.Funzioni SET + Descrizione=N'Utende Power Reader (sola lettura su tutto)' + WHERE COD_FUNZIONE=N'PowerReader' +go + +commit transaction +go + + +set xact_abort on +go + +begin transaction +go + +INSERT INTO dbo.Diritti + (UtenteAD, codModulo, codFunzione, valore) + VALUES (N'ETS\Administrator', N'PROJ-ETS', N'PowerReader', N'') +UPDATE dbo.Diritti SET + valore=N'' + WHERE UtenteAD=N'ETS\Andrea Fuselli' and codModulo=N'PROJ-ETS' and codFunzione=N'CC' +UPDATE dbo.Diritti SET + valore=N'' + WHERE UtenteAD=N'ETS\Carlo Piazzalunga' and codModulo=N'PROJ-ETS' and codFunzione=N'CC' +INSERT INTO dbo.Diritti + (UtenteAD, codModulo, codFunzione, valore) + VALUES (N'ETS\Cinzia Giupponi', N'PROJ-ETS', N'PowerReader', N'') +UPDATE dbo.Diritti SET + valore=N'' + WHERE UtenteAD=N'ETS\Daniele Togni' and codModulo=N'PROJ-ETS' and codFunzione=N'CC' +UPDATE dbo.Diritti SET + valore=N'' + WHERE UtenteAD=N'ETS\Elena Nava' and codModulo=N'PROJ-ETS' and codFunzione=N'CC' +UPDATE dbo.Diritti SET + valore=N'' + WHERE UtenteAD=N'ETS\Elena Nava' and codModulo=N'PROJ-ETS' and codFunzione=N'PowerUser' +UPDATE dbo.Diritti SET + valore=N'' + WHERE UtenteAD=N'ETS\Elena Nava' and codModulo=N'PROJ-ETS' and codFunzione=N'User' +UPDATE dbo.Diritti SET + valore=N'' + WHERE UtenteAD=N'ETS\Enrico Facchinetti' and codModulo=N'PROJ-ETS' and codFunzione=N'CC' +INSERT INTO dbo.Diritti + (UtenteAD, codModulo, codFunzione, valore) + VALUES (N'ETS\Ezechia Gasparini', N'PROJ-ETS', N'PowerReader', N'') +INSERT INTO dbo.Diritti + (UtenteAD, codModulo, codFunzione, valore) + VALUES (N'ETS\G. Parietti', N'PROJ-ETS', N'PowerReader', N'') +UPDATE dbo.Diritti SET + valore=N'' + WHERE UtenteAD=N'ETS\Gianpietro Locatelli' and codModulo=N'PROJ-ETS' and codFunzione=N'CC' +INSERT INTO dbo.Diritti + (UtenteAD, codModulo, codFunzione, valore) + VALUES (N'ETS\Laura Baroni', N'PROJ-ETS', N'PowerReader', N'') +UPDATE dbo.Diritti SET + valore=N'' + WHERE UtenteAD=N'ETS\Luca Begnis' and codModulo=N'PROJ-ETS' and codFunzione=N'CC' +UPDATE dbo.Diritti SET + valore=N'' + WHERE UtenteAD=N'ETS\Luca Bentoglio' and codModulo=N'PROJ-ETS' and codFunzione=N'CC' +UPDATE dbo.Diritti SET + valore=N'' + WHERE UtenteAD=N'ETS\Marco Bergami' and codModulo=N'PROJ-ETS' and codFunzione=N'CC' +UPDATE dbo.Diritti SET + valore=N'' + WHERE UtenteAD=N'ETS\Matteo Cugini' and codModulo=N'PROJ-ETS' and codFunzione=N'CC' +UPDATE dbo.Diritti SET + valore=N'' + WHERE UtenteAD=N'ETS\Maurizio Molteni' and codModulo=N'PROJ-ETS' and codFunzione=N'CC' +UPDATE dbo.Diritti SET + valore=N'' + WHERE UtenteAD=N'ETS\Maurizio Molteni' and codModulo=N'PROJ-ETS' and codFunzione=N'PowerUser' +UPDATE dbo.Diritti SET + valore=N'' + WHERE UtenteAD=N'ETS\Maurizio Molteni' and codModulo=N'PROJ-ETS' and codFunzione=N'User' +UPDATE dbo.Diritti SET + valore=N'' + WHERE UtenteAD=N'ETS\Nino Romano' and codModulo=N'PROJ-ETS' and codFunzione=N'CC' +UPDATE dbo.Diritti SET + valore=N'' + WHERE UtenteAD=N'ETS\Paolo Beretta' and codModulo=N'PROJ-ETS' and codFunzione=N'CC' +INSERT INTO dbo.Diritti + (UtenteAD, codModulo, codFunzione, valore) + VALUES (N'ETS\Romina Ravasio', N'PROJ-ETS', N'PowerReader', N'') +UPDATE dbo.Diritti SET + valore=N'' + WHERE UtenteAD=N'ETS\SQLService' and codModulo=N'PROJ-ETS' and codFunzione=N'PowerUser' +UPDATE dbo.Diritti SET + valore=N'' + WHERE UtenteAD=N'ETS\SQLService' and codModulo=N'PROJ-ETS' and codFunzione=N'User' +INSERT INTO dbo.Diritti + (UtenteAD, codModulo, codFunzione, valore) + VALUES (N'ETS\steamware', N'PROJ-ETS', N'PowerReader', N'') +go + +commit transaction +go + + +set xact_abort on +go + +begin transaction +go + +UPDATE dbo.Diritti SET + valore=N'' + WHERE UtenteAD=N'STEAMWAREWIN\Ermanno' and codModulo=N'WebScip' and codFunzione=N'PowerUser' +UPDATE dbo.Diritti SET + valore=N'' + WHERE UtenteAD=N'STEAMWAREWIN\giancarlo' and codModulo=N'WebScip' and codFunzione=N'PowerUser' +UPDATE dbo.Diritti SET + valore=N'' + WHERE UtenteAD=N'STEAMWAREWIN\Marco' and codModulo=N'WebScip' and codFunzione=N'PowerUser' +UPDATE dbo.Diritti SET + valore=N'' + WHERE UtenteAD=N'STEAMWAREWIN\Samuele' and codModulo=N'GPW' and codFunzione=N'GPW_admin' +UPDATE dbo.Diritti SET + valore=N'' + WHERE UtenteAD=N'STEAMWAREWIN\Samuele' and codModulo=N'GPW' and codFunzione=N'GPW_user' +UPDATE dbo.Diritti SET + valore=N'' + WHERE UtenteAD=N'STEAMWAREWIN\samuele' and codModulo=N'PROJ-ETS' and codFunzione=N'PowerUser' +UPDATE dbo.Diritti SET + valore=N'' + WHERE UtenteAD=N'STEAMWAREWIN\samuele' and codModulo=N'PROJ-ETS' and codFunzione=N'User' +UPDATE dbo.Diritti SET + valore=N'' + WHERE UtenteAD=N'STEAMWAREWIN\samuele' and codModulo=N'WebScip' and codFunzione=N'PowerUser' +UPDATE dbo.Diritti SET + valore=N'' + WHERE UtenteAD=N'STEAMWAREWIN\samuele' and codModulo=N'WebScip' and codFunzione=N'PowerUserRed' +UPDATE dbo.Diritti SET + valore=N'' + WHERE UtenteAD=N'STEAMWAREWIN\samuele' and codModulo=N'WebScip' and codFunzione=N'User' +UPDATE dbo.Diritti SET + valore=N'' + WHERE UtenteAD=N'STEAMWAREWIN\samuele' and codModulo=N'WebScip' and codFunzione=N'UserRed' +UPDATE dbo.Diritti SET + valore=N'' + WHERE UtenteAD=N'STEAMWAREWIN\user' and codModulo=N'WebScip' and codFunzione=N'User' +go + +commit transaction +go + + + + + +-- registro versione... +INSERT INTO [dbo].[LogUpdateDb] ([Versione],[Data]) VALUES(180, GETDATE()) +GO +SELECT TOP 10 * FROM LogUpdateDb ORDER BY Versione DESC +GO diff --git a/PROJ-ETS/PROJ-ETS/Web.config b/PROJ-ETS/PROJ-ETS/Web.config index 9d22785..331b006 100644 --- a/PROJ-ETS/PROJ-ETS/Web.config +++ b/PROJ-ETS/PROJ-ETS/Web.config @@ -26,7 +26,7 @@ - + diff --git a/PROJ-ETS/PROJ-ETS/WebUserControls/mod_commesse.ascx b/PROJ-ETS/PROJ-ETS/WebUserControls/mod_commesse.ascx index 35503f2..2b3ec79 100644 --- a/PROJ-ETS/PROJ-ETS/WebUserControls/mod_commesse.ascx +++ b/PROJ-ETS/PROJ-ETS/WebUserControls/mod_commesse.ascx @@ -29,8 +29,6 @@
-
-
-  
diff --git a/PROJ-ETS/PROJ-ETS/WebUserControls/mod_commesse.ascx.cs b/PROJ-ETS/PROJ-ETS/WebUserControls/mod_commesse.ascx.cs index 0312eb0..41b7c6b 100644 --- a/PROJ-ETS/PROJ-ETS/WebUserControls/mod_commesse.ascx.cs +++ b/PROJ-ETS/PROJ-ETS/WebUserControls/mod_commesse.ascx.cs @@ -361,19 +361,8 @@ namespace PROJ_ETS.WebUserControls /// public bool delEnabled(object idxObj) { - bool answ = isWritable(); - // solo se ha diritti scrittura controllo - if (answ) - { - // la cancellazione è SEMPRE logica, x cui controllo che si veda solo se è attivo... - try - { - answ = DataProxy_ProjEts.DP.taAF.getByIdx(Convert.ToInt32(idxObj))[0].Attivo; - } - catch - { } - } - return answ; + // mi basta sia scrivibile (la query decide se cancellare o disattivare progetto...) + return isWritable(); } /// /// calcola classe css dato codice fase @@ -615,12 +604,12 @@ namespace PROJ_ETS.WebUserControls /// public bool isWritable() { - bool answ = true; + bool answ = false; if (_paginaCorrente == null) { PagCorrente(); } - //answ = user_std.UtSn.isPageWriteEnabled(_paginaCorrente); + answ = user_std.UtSn.isPageWriteEnabled(_paginaCorrente); return answ; } /// diff --git a/PROJ-ETS/PROJ-ETS/WebUserControls/mod_progetti.ascx b/PROJ-ETS/PROJ-ETS/WebUserControls/mod_progetti.ascx index 9355a38..5716d3a 100644 --- a/PROJ-ETS/PROJ-ETS/WebUserControls/mod_progetti.ascx +++ b/PROJ-ETS/PROJ-ETS/WebUserControls/mod_progetti.ascx @@ -153,16 +153,6 @@ - <%-- - - - - - - - - - --%> public bool delEnabled(object idxObj) { - bool answ = isWritable(); - // solo se ha diritti scrittura controllo - if (answ) - { - int trovati = 0; - // !!!FARE!!! -#if false - // controllo se ci siano tipo celle associate - trovati = MagClass.magazzino.taTipoCella.getByCodMag(utils.obj.StringSessionObj("CodCS"), idxObj.ToString()).Rows.Count; - // controllo se ci siano blocchi associati - trovati = trovati + MagClass.magazzino.taBlocchi.getByCodMag(utils.obj.StringSessionObj("CodCS"), idxObj.ToString()).Rows.Count; -#endif - // controllo se ci sono record correlati... - if (trovati > 0) - { - answ = false; - } - } - return answ; + // mi basta sia scrivibile (la query decide se cancellare o disattivare progetto...) + return isWritable(); } /// /// evento selezione! @@ -457,12 +440,12 @@ namespace PROJ_ETS.WebUserControls /// public bool isWritable() { - bool answ = true; + bool answ = false; if (_paginaCorrente == null) { PagCorrente(); } - //answ = user_std.UtSn.isPageWriteEnabled(_paginaCorrente); + answ = user_std.UtSn.isPageWriteEnabled(_paginaCorrente); return answ; } /// diff --git a/PROJ-ETS/PROJ-ETS/bin/ETS_Data.dll b/PROJ-ETS/PROJ-ETS/bin/ETS_Data.dll index 002859e2ff94d88013d377510cf1e8868cdb455d..4f832c1f4495bab2606bda93cc22bfc2216f9e87 100644 GIT binary patch delta 99 zcmV-p0G$7ToIrq_K#+(6JmrCkg^B@%iUNg-1BHqNg^C4*iUx&>2Zf3Vg^CGw*dtZ F{|M;GC(-}_ delta 99 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 H(@g&bzxGko delta 15704 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 CQ(G+n