import java.util.*; public class spadministration_usersBL extends spadministration_usersWV implements CPLib.QueryFilterFromApplication { // Variabile che indica se il record è stato caricato public boolean m_bLoaded; // Variabile che indica se il record è stato variato public boolean m_bUpdated; // Variabile che memorizza lo stato subito dopo una Load o una Save public String m_cPreviousState; // Variabile che mantiene il vecchio timestamp public String m_cOldCPCCCHK; public java.util.List m_oParameters; protected String m_cPassword; protected String m_cOTP; // Variabile che indica il tipo dell'ultimo // errore, o messaggio da comunicare all'interfaccia, // che si è verificato impostando una variabile di work. // I valori ammessi sono: // - 1 : errore di campo obbligatorio // - 2 : errore di check // - 3 : valore non ammesso nel link // - 4 : richiesta password // - 5 : richiesto otp public int m_nLastError; public String m_cLastMsgError; public String m_cLastWorkVarError; // m_bCalculating==true la Calculate e' in esecuzione public boolean m_bCalculating = false; public static final String i_EntityName = "spadministration_users"; public static final String i_EntityType = "master"; public static final boolean i_IsSon = false; public boolean m_bSkipCheckOTPSecurity = true; // Variabile di collegamento con il database: passata nel costruttore public CPSql m_Sql; // Variabile di contesto (variabili globali): passata nel costruttore public CPContext m_Ctx; // Variabili che contengono il nome fisico e la connessione per la tabella collegata public String m_cPhName_cpusers; public String m_cServer_cpusers; public CPPhTableWrInfo m_oWrInfo_cpusers; // Variabile che contiene il nome virtuale della tabella public String m_cVirtName_cpusers; public String m_cPhName_cplangs; public String m_cServer_cplangs; public CPPhTableWrInfo m_oWrInfo_cplangs; public String m_cPhName_cpazi; public String m_cServer_cpazi; public CPPhTableWrInfo m_oWrInfo_cpazi; // gestori eventi esterni al business object sono collegati inserendoli nella coppia di strutture dati seguenti // gestori associati a particolari eventi ('Blank') public static volatile HashMap specificEventsHandlers; // gestori associati a tutti gli eventi public static volatile ArrayList allEventsHandlers; // metadati resi disponibili ai gestori di eventi public static String[] m_EntityTables = {"cpusers"}; // codice secondo sintassi delle business rules per produrre i dati da usare in un ideale documento che li rappresenti public static final String i_StateStructure = "{'spadministration_usersgroups':spadministration_usersgroups,'spadministration_ssomap_child':spadministration_ssomap_child,'code':code,'fullname':fullname,'name':name,'accesstype_human':accesstype_human,'accesstype_service':accesstype_service,'accesstype_machine':accesstype_machine,'modifyPassword':modifyPassword,'pwd1':pwd1,'pwd2':pwd2,'pwdcomplexity_group':pwdcomplexity_group,'pwdcomplexity':pwdcomplexity,'forcepwdchange':forcepwdchange,'enabled':enabled,'language':language,'decimalseparator':decimalseparator,'thousandseparator':thousandseparator,'datepattern':datepattern,'datetimepattern':datetimepattern,'pwddaysduration':pwddaysduration,'pwdciclicity':pwdciclicity,'captchalevel':captchalevel,'spadministration_historypwd':spadministration_historypwd,'spadministration_usercompanies':spadministration_usercompanies,'datestart':datestart,'datestop':datestop,'printserver':printserver,'usesiarlicense':usesiarlicense,'selected_group':selected_group,'otp':otp,'companies':companies,'UFENABLEAZI':UFENABLEAZI"+FoundlingChildrenList("spadministration_users",true)+"}"; public static final String i_CompleteStateStructure = "{'spadministration_usersgroups':spadministration_usersgroups,'spadministration_ssomap_child':spadministration_ssomap_child,'code':code,'fullname':fullname,'name':name,'accesstype_human':accesstype_human,'accesstype_service':accesstype_service,'accesstype_machine':accesstype_machine,'modifyPassword':modifyPassword,'pwd1':pwd1,'calcomplex':calcomplex,'pwdratecause':pwdratecause,'pwd2':pwd2,'pwdcomplexity_group':pwdcomplexity_group,'pwdcomplexity':pwdcomplexity,'pwdcomplexity_reqired':pwdcomplexity_reqired,'forcepwdchange':forcepwdchange,'enabled':enabled,'language':language,'language_name':language_name,'decimalseparator':decimalseparator,'thousandseparator':thousandseparator,'datepattern':datepattern,'datetimepattern':datetimepattern,'pwddaysduration_group':pwddaysduration_group,'pwddaysduration':pwddaysduration,'pwdciclicity_groups':pwdciclicity_groups,'pwdciclicity':pwdciclicity,'pwdcaptchalevel_group':pwdcaptchalevel_group,'captchalevel':captchalevel,'spadministration_historypwd':spadministration_historypwd,'spadministration_usercompanies':spadministration_usercompanies,'datestart':datestart,'datestop':datestop,'failedlogins':failedlogins,'lastfailedlogin':lastfailedlogin,'lastsuccessfullogin':lastsuccessfullogin,'pwdcreate':pwdcreate,'pwddaysduration_applied':pwddaysduration_applied,'pwdciclicity_applied':pwdciclicity_applied,'pwdcaptchalevel_applied':pwdcaptchalevel_applied,'printserver':printserver,'init_code':init_code,'createdwhen':createdwhen,'pwd_modified':pwd_modified,'usesiarlicense':usesiarlicense,'IAR_LICENSE_VALID':IAR_LICENSE_VALID,'IAR_LICENSES':IAR_LICENSES,'IAR_USED':IAR_USED,'IAR_AVAILABLE':IAR_AVAILABLE,'selected_group':selected_group,'g_OTPisActive':g_OTPisActive,'otp':otp,'companies':companies,'UFENABLEAZI':UFENABLEAZI,'pwd1_view':pwd1_view,'pwd2_view':pwd2_view"+FoundlingChildrenList("spadministration_users",true)+"}"; public static final String i_ItemSequence = "spadministration_usersgroups,spadministration_ssomap_child,code,fullname,name,accesstype_human,accesstype_service,accesstype_machine,modifyPassword,pwd1,pwd2,pwdcomplexity_group,pwdcomplexity,forcepwdchange,enabled,language,decimalseparator,thousandseparator,datepattern,datetimepattern,pwddaysduration,pwdciclicity,captchalevel,spadministration_historypwd,spadministration_usercompanies,datestart,datestop,printserver,usesiarlicense,selected_group,otp,companies,UFENABLEAZI"+FoundlingChildrenList("spadministration_users",false)+""; public static final com.zucchetti.sitepainter.EntityItem[] i_EditableEntityItems = com.zucchetti.sitepainter.EntityItem.buildEditableItemsForEntity(GetLinkDef(),FoundlingChildrenList("spadministration_users"),new String[][]{new String[]{"spadministration_usersgroups","User groups","","","","link_PC","","false",""},new String[]{"spadministration_ssomap_child","LinkPC","","","","link_PC","","false",""},new String[]{"code","ADMIN_CODE","N","9","0","campo","key1","false","false"},new String[]{"fullname","ADMIN_FULLNAME","C","2048","0","campo","nokey","false","false"},new String[]{"name","ADMIN_NAME","C","50","0","campo","nokey","false","true"},new String[]{"accesstype_human","&Human","L","1","0","campo","nokey","false","false"},new String[]{"accesstype_service","&Service","L","1","0","campo","nokey","false","false"},new String[]{"accesstype_machine","&Machine","L","1","0","campo","nokey","false","false"},new String[]{"modifyPassword","","N","1","0","variabile","nokey","false","false"},new String[]{"pwd1","Password","C","20","0","variabile","nokey","false","false"},new String[]{"pwd2","MSG_CONFIRM_PASSWORD","C","20","0","variabile","nokey","false","false"},new String[]{"pwdcomplexity_group","ADMIN_PWDCOMPLEXITY","N","3","0","variabile","nokey","false","false"},new String[]{"pwdcomplexity","ADMIN_PWDCOMPLEXITY","N","3","0","campo","nokey","false","false"},new String[]{"forcepwdchange","ADMIN_FORCEPWDCHANGE","L","1","0","campo","nokey","false","false"},new String[]{"enabled","ADMIN_DISABLED","C","1","0","campo","nokey","false","false"},new String[]{"language","ADMIN_LANGUAGE","C","3","0","campo","nokey","false","false"},new String[]{"decimalseparator","","C","3","0","campo","nokey","false","false"},new String[]{"thousandseparator","","C","3","0","campo","nokey","false","false"},new String[]{"datepattern","ADMIN_DATEPATTERN","C","12","0","campo","nokey","false","false"},new String[]{"datetimepattern","ADMIN_DATETIMEPATTERN","C","25","0","campo","nokey","false","false"},new String[]{"pwddaysduration","ADMIN_PWDDAYSDURATION","N","4","0","campo","nokey","false","false"},new String[]{"pwdciclicity","ADMIN_PWDCICLICITY","N","2","0","campo","nokey","false","false"},new String[]{"captchalevel","ADMIN_CAPTCHA_LEVEL","N","4","0","campo","nokey","false","false"},new String[]{"spadministration_historypwd","cphistorypwd","","","","link_PC","","false",""},new String[]{"spadministration_usercompanies","User companies","","","","link_PC","","false",""},new String[]{"datestart","ADMIN_VALIDITY_START","D","8","0","campo","nokey","false","false"},new String[]{"datestop","ADMIN_VALIDITY_END","D","8","0","campo","nokey","false","false"},new String[]{"printserver","ADMIN_PRINT_SERVER","C","60","0","campo","nokey","false","false"},new String[]{"usesiarlicense","SPAS_USES_IAR_LICENSE","C","1","0","campo","nokey","false","false"},new String[]{"selected_group","","N","4","0","variabile","nokey","false","false"},new String[]{"otp","","C","100","0","variabile","nokey","false","false"},new String[]{"companies","Companies","C","2000","0","campo","nokey","false","false"},new String[]{"UFENABLEAZI","Abilita l'utente su certe aziende","C","1","0","variabile","nokey","false","false"}}); // dati usati internamente dai metodi BRxxx di BRCallerImpl private static boolean _involved=true; protected void _setInvolvedInBR(boolean involved) { _involved=involved; } protected boolean _involvedInBR() { return _involved; } public spadministration_usersBL (CPContext p_ContextObject) { /* Impostazione dell'ambiente globale: il businness object si collega all'oggetto globale (unico per più istanze di una stessa applicazione) per recuperare informazioni sul: 1) nome fisico della tabella di gestione; 2) nome fisico delle tabelle collegate nei link; 3) stringa di connessione. L'azienda è contenuta nel global object. */ // Assegnazione delle variabili che contengono il nome fisico, il nome virtuale, e la connessione per la tabella collegata m_cPhName_cpusers = p_ContextObject.GetPhName("cpusers",p_ContextObject.GetCompany(),false); m_cServer_cpusers = p_ContextObject.GetServer("cpusers"); m_oWrInfo_cpusers = CPPhTableWrInfo.GetCPPhTableWrInfo(p_ContextObject,"cpusers",p_ContextObject.GetCompany()); m_cVirtName_cpusers = CPSql.ManipulateTablePhName("cpusers",m_cServer_cpusers); // Assegnazione della variabile di collegamento con il database m_Sql = p_ContextObject.GetSql(); m_Ctx = p_ContextObject; m_cPhName_cplangs = p_ContextObject.GetPhName("cplangs"); m_cServer_cplangs = p_ContextObject.GetServer("cplangs"); m_oWrInfo_cplangs = CPPhTableWrInfo.GetCPPhTableWrInfo(p_ContextObject,"cplangs",p_ContextObject.GetCompany()); m_cPhName_cpazi = p_ContextObject.GetPhName("cpazi"); m_cServer_cpazi = p_ContextObject.GetServer("cpazi"); m_oWrInfo_cpazi = CPPhTableWrInfo.GetCPPhTableWrInfo(p_ContextObject,"cpazi",p_ContextObject.GetCompany()); // Istanziazione dei business object dei figli spadministration_usersgroups = new spadministration_usersgroupsBO(p_ContextObject); spadministration_ssomap_child = new spadministration_ssomap_childBO(p_ContextObject); spadministration_historypwd = new spadministration_historypwdBO(p_ContextObject); spadministration_usercompanies = new spadministration_usercompaniesBO(p_ContextObject); m_MNTs = CPLib.MNTChilds("spadministration_users",p_ContextObject); } public void Blank() { BlankStatusVariables(); // * --- Area Manuale = BO - Blank Record Init // * --- Fine Area Manuale w_fullname = ""; w_name = ""; w_pwdcomplexity = 0; w_forcepwdchange = false; w_language = ""; w_language_name = ""; w_decimalseparator = ""; w_thousandseparator = ""; w_datepattern = ""; w_datetimepattern = ""; w_pwddaysduration = 0; w_pwdciclicity = 0; w_captchalevel = 0; w_datestart = CPLib.NullDate(); w_datestop = CPLib.NullDate(); w_failedlogins = 0; w_lastfailedlogin = CPLib.NullDateTime(); w_lastsuccessfullogin = CPLib.NullDateTime(); w_printserver = ""; w_usesiarlicense = ""; w_selected_group = 0; w_g_OTPisActive = m_Ctx.GetGlobalString("g_OTPisActive"); w_otp = ""; w_code = UserAdmin.Make(m_Ctx).GetNextCode("users"); Link_CIUGDDXJMR(); w_accesstype_human = true; w_accesstype_service = true; w_accesstype_machine = true; w_modifyPassword = (CPLib.eq(EntityStatus(),"E")?0:1); w_pwd1 = (CPLib.eq(EntityStatus(),"N")?"":"cambia la password"); w_calcomplex = 0; w_calcomplex = UserAdmin.Make(m_Ctx).GetPasswordRating(w_pwd1); w_pwdratecause = ""; w_pwdratecause = UserAdmin.Make(m_Ctx).GetPasswordRatingExplaination(w_pwd1); w_pwd2 = (CPLib.eq(EntityStatus(),"N")?"":"cambia la password"); w_pwdcomplexity_group = 0; w_pwdcomplexity_group = spadministration_getpwdcomplexity_groupR.Make(m_Ctx,this).Run(w_code); w_pwdcomplexity_reqired = 0; w_pwdcomplexity_reqired = CPLib.Max(w_pwdcomplexity,w_pwdcomplexity_group); w_enabled = "E"; Link_XFCGDYJJAR(); w_pwddaysduration_group = 0; w_pwddaysduration_group = spadministration_getpwdduration_groupR.Make(m_Ctx,this).Run(w_code); w_pwdciclicity_groups = 0; w_pwdciclicity_groups = spadministration_getpwdciclicity_groupR.Make(m_Ctx,this).Run(w_code); w_pwdcaptchalevel_group = 0; w_pwdcaptchalevel_group = spadministration_getcaptchalevel_groupR.Make(m_Ctx,this).Run(w_code); w_pwdcreate = CPLib.DateTime(); w_pwddaysduration_applied = 0; w_pwddaysduration_applied = (CPLib.gt(w_pwddaysduration,0) && CPLib.gt(w_pwddaysduration_group,0)?CPLib.Min(w_pwddaysduration,w_pwddaysduration_group):CPLib.Max(w_pwddaysduration,w_pwddaysduration_group)); w_pwdciclicity_applied = 0; w_pwdciclicity_applied = CPLib.Max(w_pwdciclicity,w_pwdciclicity_groups); w_pwdcaptchalevel_applied = 0; w_pwdcaptchalevel_applied = (CPLib.gt(w_captchalevel,0) && CPLib.gt(w_pwdcaptchalevel_group,0)?CPLib.Min(w_captchalevel,w_pwdcaptchalevel_group):CPLib.Max(w_captchalevel,w_pwdcaptchalevel_group)); w_init_code = w_code; w_createdwhen = CPLib.DateTime(); w_pwd_modified = false; w_pwd_modified = true; w_IAR_LICENSE_VALID = spas_fgetlicensevalidR.Make(m_Ctx,this).Run(); w_IAR_LICENSES = spas_flicensepurchasedR.Make(m_Ctx,this).Run(); w_IAR_USED = spas_fgetlicenseusedR.Make(m_Ctx,this).Run(); w_IAR_AVAILABLE = 0; w_IAR_AVAILABLE = w_IAR_LICENSES-w_IAR_USED; w_companies = ""; w_companies = (CPLib.eq(w_UFENABLEAZI,"n")?"":w_companies); w_UFENABLEAZI = ""; w_UFENABLEAZI = (CPLib.Empty(w_companies)?"n":"s"); w_pwd1_view = false; w_pwd2_view = false; m_cWv_spadministration_usersgroups = ""; m_cWv_spadministration_ssomap_child = ""; m_cWv_spadministration_historypwd = ""; m_cWv_spadministration_usercompanies = ""; CPExtenderLib.BlankExtendedFields(extendedFields); SaveDependsOn(); NotifyEvent("Blank"); // * --- Area Manuale = BO - Blank Record End // * --- Fine Area Manuale } public boolean IsUpdated() { boolean l_bResult; l_bResult = m_bUpdated; l_bResult = l_bResult || spadministration_usersgroups.IsUpdated() || CPLib.IsUpdated(m_cWv_spadministration_usersgroups); l_bResult = l_bResult || spadministration_ssomap_child.IsUpdated() || CPLib.IsUpdated(m_cWv_spadministration_ssomap_child); l_bResult = l_bResult || spadministration_historypwd.IsUpdated() || CPLib.IsUpdated(m_cWv_spadministration_historypwd); l_bResult = l_bResult || spadministration_usercompanies.IsUpdated() || CPLib.IsUpdated(m_cWv_spadministration_usercompanies); return l_bResult; } public boolean IsLoaded() { return m_bLoaded; } public boolean IsNew() { return IsUpdated() && ! (IsLoaded()); } public void SaveDependsOn() { o_code = w_code; o_modifyPassword = w_modifyPassword; o_pwd1 = w_pwd1; o_pwd2 = w_pwd2; o_pwddaysduration_group = w_pwddaysduration_group; o_pwddaysduration = w_pwddaysduration; o_pwdciclicity_groups = w_pwdciclicity_groups; o_pwdciclicity = w_pwdciclicity; o_pwdcaptchalevel_group = w_pwdcaptchalevel_group; o_captchalevel = w_captchalevel; o_selected_group = w_selected_group; o_companies = w_companies; o_UFENABLEAZI = w_UFENABLEAZI; spadministration_usersgroups.SaveDependsOn(); spadministration_ssomap_child.SaveDependsOn(); spadministration_historypwd.SaveDependsOn(); spadministration_usercompanies.SaveDependsOn(); } public void NotifyEvent(String p_cEvent) { if (CPLib.eq(p_cEvent,"Insert end")) { Calculation_ORMDEWSLSD(); } else if (CPLib.eq(p_cEvent,"Record Deleted")) { Calculation_FABWPYXIOK(); } else if (CPLib.eq(p_cEvent,"Record Inserted")) { Calculation_UGMVQYEORN(); } else if (CPLib.eq(p_cEvent,"Update end")) { Calculation_ORMDEWSLSD(); } CPLib.NotifyEvent(p_cEvent,this,m_Ctx,specificEventsHandlers,allEventsHandlers); } // Funzioni di link legate alle variabili ed ai campi. protected boolean Link_CIUGDDXJMR() { return Link_CIUGDDXJMR("Full"); } protected boolean Link_CIUGDDXJMR(String p_cType) { // Viene eseguita una query per chiave totale. boolean l_bResult; boolean l_bLoaded; String l_cWhere = ""; String l_cCurrentKey; l_bResult = false; // Dichiarazione del cursore locale del link CPResultSet l_rsLink=null; if ( ! (CPLib.Empty(w_code))) { double l_OldValue = w_code; // Costruzione della where per la chiave corrente e per le chiavi fisse l_cCurrentKey = "="+CPSql.SQLValueAdapter(CPLib.ToSQL(w_code,"N",9,0),m_cServer_cpusers,w_code); if (m_Ctx.IsSharedTemp("cpusers")) { l_cWhere = l_cWhere+" and context_id='"+m_Ctx.GetTempID()+"'"; } if (l_rsLink!=null) l_rsLink.Close(); l_rsLink = m_Sql.Query(m_cServer_cpusers,"select code,cpotp from "+m_cPhName_cpusers+((m_cPhName_cpusers).endsWith(CPSecurity.FILTER_QUERY_POSTFIX)?CPLib.NewCPCCCHK():"")+" where "+"code"+l_cCurrentKey+l_cWhere); try { l_bLoaded = ! (l_rsLink.Eof()); if (l_bLoaded) { /* E' stato trovato almeno un record: i valori del cursore vengono riportati nei relativi campi e/o variabili. */ w_code = l_rsLink.GetDouble("code"); w_otp = l_rsLink.GetString("cpotp"); l_rsLink.Next(); /* Se è stato trovato un record il link con chiave piena ha avuto successo. */ l_bResult = l_rsLink.Eof(); /* Segna che l'interfaccia potrebbe fare un link con chiave parziale */ } else { l_bResult = true; if (CPLib.eq(p_cType,"Full")) { Link_CIUGDDXJMR_blank(); } } if ( ! (l_bResult)) { m_nLastError = 3; m_cLastMsgError = ""; if (CPLib.eq(m_cLastMsgError,"")) { m_cLastMsgError = m_Ctx.Translate("MSG_LINK_FAILED","code"); } m_cLastWorkVarError = "code"; } } finally { l_rsLink.Close(); } } else { // Se la variabile è vuota deve essere considerato un valore valido ('NULL') l_bResult = true; Link_CIUGDDXJMR_blank(); } return l_bResult; } void Link_CIUGDDXJMR_blank() { Link_CIUGDDXJMR_blank(""); } void Link_CIUGDDXJMR_blank(String p_cType) { w_otp = ""; } protected boolean Link_XFCGDYJJAR() { return Link_XFCGDYJJAR("Full"); } protected boolean Link_XFCGDYJJAR(String p_cType) { // Viene eseguita una query per chiave totale. boolean l_bResult; boolean l_bLoaded; String l_cWhere = ""; String l_cCurrentKey; l_bResult = false; // Dichiarazione del cursore locale del link CPResultSet l_rsLink=null; if ( ! (CPLib.Empty(w_language))) { String l_OldValue = w_language; // Costruzione della where per la chiave corrente e per le chiavi fisse l_cCurrentKey = "="+CPSql.SQLValueAdapter(CPLib.ToSQL(w_language,"C",3,0),m_cServer_cplangs,w_language); if (m_Ctx.IsSharedTemp("cplangs")) { l_cWhere = l_cWhere+" and context_id='"+m_Ctx.GetTempID()+"'"; } if (l_rsLink!=null) l_rsLink.Close(); l_rsLink = m_Sql.Query(m_cServer_cplangs,"select code,name from "+m_cPhName_cplangs+((m_cPhName_cplangs).endsWith(CPSecurity.FILTER_QUERY_POSTFIX)?CPLib.NewCPCCCHK():"")+" where "+"code"+l_cCurrentKey+l_cWhere); try { l_bLoaded = ! (l_rsLink.Eof()); if (l_bLoaded) { /* E' stato trovato almeno un record: i valori del cursore vengono riportati nei relativi campi e/o variabili. */ w_language = l_rsLink.GetString("code"); w_language_name = l_rsLink.GetString("name"); l_rsLink.Next(); /* Se è stato trovato un record il link con chiave piena ha avuto successo. */ l_bResult = l_rsLink.Eof(); /* Segna che l'interfaccia potrebbe fare un link con chiave parziale */ } else { Link_XFCGDYJJAR_blank(); if (CPLib.eq(p_cType,"Load")) { w_language = l_OldValue; } } if ( ! (l_bResult)) { m_nLastError = 3; m_cLastMsgError = ""; if (CPLib.eq(m_cLastMsgError,"")) { m_cLastMsgError = m_Ctx.Translate("MSG_LINK_FAILED","language"); } m_cLastWorkVarError = "language"; } } finally { l_rsLink.Close(); } } else { // Se la variabile è vuota deve essere considerato un valore valido ('NULL') l_bResult = true; Link_XFCGDYJJAR_blank(); } return l_bResult; } void Link_XFCGDYJJAR_blank() { w_language = ""; w_language_name = ""; } /* Gestione dei metodi per l'impostazione delle variabili di work. I seguenti metodi sono pubblici perchè vengono chiamati dalla UI che ha creato il business object o da batch. */ public boolean Set_code(double p_workVariableValue) { m_nLastError = 0; m_cLastMsgError = ""; boolean l_bResult; l_bResult = true; // Variabile temporanea che conterrà il risultato della funzione di link se l'item corrente è parte di una chiave composta boolean l_bTmpRes; SetUpdated(); w_code = p_workVariableValue; l_bResult = Link_CIUGDDXJMR(); // La variabile che indica il tipo di errore viene eventualmente impostata // dalla funzione di link: infatti il suo valore di ritorno non e' // sufficiente per determinare il tipo di errore che puo' essere di valore // non trovato nella tabella collegata o di check non valido. if ( ! (l_bResult)) { // Impostazione a blank della variabile di work w_code = 0; } // Esecuzione dei calcoli Calculate(); SaveDependsOn(); return l_bResult; } public boolean Set_fullname(String p_workVariableValue) { m_nLastError = 0; m_cLastMsgError = ""; boolean l_bResult; l_bResult = true; // Variabile temporanea che conterrà il risultato della funzione di link se l'item corrente è parte di una chiave composta boolean l_bTmpRes; SetUpdated(); w_fullname = p_workVariableValue; // Esecuzione dei calcoli Calculate(); SaveDependsOn(); return l_bResult; } public boolean Set_name(String p_workVariableValue) { m_nLastError = 0; m_cLastMsgError = ""; boolean l_bResult; l_bResult = true; // Variabile temporanea che conterrà il risultato della funzione di link se l'item corrente è parte di una chiave composta boolean l_bTmpRes; SetUpdated(); w_name = p_workVariableValue; // Se il campo è vuoto, demando la segnalazione dell'obbligatorietà alla Check() del business object if ( ! (l_bResult)) { // Impostazione a blank della variabile di work w_name = ""; } // Esecuzione dei calcoli Calculate(); SaveDependsOn(); return l_bResult; } public boolean Set_accesstype_human(boolean p_workVariableValue) { m_nLastError = 0; m_cLastMsgError = ""; boolean l_bResult; l_bResult = true; // Variabile temporanea che conterrà il risultato della funzione di link se l'item corrente è parte di una chiave composta boolean l_bTmpRes; SetUpdated(); w_accesstype_human = p_workVariableValue; // Esecuzione dei calcoli Calculate(); SaveDependsOn(); return l_bResult; } public boolean Set_accesstype_service(boolean p_workVariableValue) { m_nLastError = 0; m_cLastMsgError = ""; boolean l_bResult; l_bResult = true; // Variabile temporanea che conterrà il risultato della funzione di link se l'item corrente è parte di una chiave composta boolean l_bTmpRes; SetUpdated(); w_accesstype_service = p_workVariableValue; // Esecuzione dei calcoli Calculate(); SaveDependsOn(); return l_bResult; } public boolean Set_accesstype_machine(boolean p_workVariableValue) { m_nLastError = 0; m_cLastMsgError = ""; boolean l_bResult; l_bResult = true; // Variabile temporanea che conterrà il risultato della funzione di link se l'item corrente è parte di una chiave composta boolean l_bTmpRes; SetUpdated(); w_accesstype_machine = p_workVariableValue; // Esecuzione dei calcoli Calculate(); SaveDependsOn(); return l_bResult; } public boolean Set_modifyPassword(double p_workVariableValue) { m_nLastError = 0; m_cLastMsgError = ""; boolean l_bResult; l_bResult = true; // Variabile temporanea che conterrà il risultato della funzione di link se l'item corrente è parte di una chiave composta boolean l_bTmpRes; SetUpdated(); w_modifyPassword = p_workVariableValue; // Esecuzione dei calcoli Calculate(); SaveDependsOn(); return l_bResult; } public boolean Set_pwd1(String p_workVariableValue) { m_nLastError = 0; m_cLastMsgError = ""; boolean l_bResult; l_bResult = true; // Variabile temporanea che conterrà il risultato della funzione di link se l'item corrente è parte di una chiave composta boolean l_bTmpRes; SetUpdated(); w_pwd1 = p_workVariableValue; // Esecuzione dei calcoli Calculate(); SaveDependsOn(); return l_bResult; } public boolean Set_pwd2(String p_workVariableValue) { m_nLastError = 0; m_cLastMsgError = ""; boolean l_bResult; l_bResult = true; // Variabile temporanea che conterrà il risultato della funzione di link se l'item corrente è parte di una chiave composta boolean l_bTmpRes; SetUpdated(); w_pwd2 = p_workVariableValue; // Esecuzione dei calcoli Calculate(); SaveDependsOn(); return l_bResult; } public boolean Set_pwdcomplexity_group(double p_workVariableValue) { m_nLastError = 0; m_cLastMsgError = ""; boolean l_bResult; l_bResult = true; // Variabile temporanea che conterrà il risultato della funzione di link se l'item corrente è parte di una chiave composta boolean l_bTmpRes; SetUpdated(); w_pwdcomplexity_group = p_workVariableValue; // Esecuzione dei calcoli Calculate(); SaveDependsOn(); return l_bResult; } public boolean Set_pwdcomplexity(double p_workVariableValue) { m_nLastError = 0; m_cLastMsgError = ""; boolean l_bResult; l_bResult = true; // Variabile temporanea che conterrà il risultato della funzione di link se l'item corrente è parte di una chiave composta boolean l_bTmpRes; SetUpdated(); w_pwdcomplexity = p_workVariableValue; // l_bResult = CPLib.ge(w_pwdcomplexity,0) && CPLib.le(w_pwdcomplexity,UserAdmin.Make(m_Ctx).GetPasswordRatingMaxReachable()); if ( ! (l_bResult)) { m_nLastError = 2; m_cLastMsgError = "ADMIN_MSG_ERROR_RANGE"; } if ( ! (l_bResult)) { // Impostazione a blank della variabile di work w_pwdcomplexity = 0; } // Esecuzione dei calcoli Calculate(); SaveDependsOn(); return l_bResult; } public boolean Set_forcepwdchange(boolean p_workVariableValue) { m_nLastError = 0; m_cLastMsgError = ""; boolean l_bResult; l_bResult = true; // Variabile temporanea che conterrà il risultato della funzione di link se l'item corrente è parte di una chiave composta boolean l_bTmpRes; SetUpdated(); w_forcepwdchange = p_workVariableValue; // Esecuzione dei calcoli Calculate(); SaveDependsOn(); return l_bResult; } public boolean Set_enabled(String p_workVariableValue) { m_nLastError = 0; m_cLastMsgError = ""; boolean l_bResult; l_bResult = true; // Variabile temporanea che conterrà il risultato della funzione di link se l'item corrente è parte di una chiave composta boolean l_bTmpRes; SetUpdated(); w_enabled = p_workVariableValue; // Esecuzione dei calcoli Calculate(); SaveDependsOn(); return l_bResult; } public boolean Set_language(String p_workVariableValue) { m_nLastError = 0; m_cLastMsgError = ""; boolean l_bResult; l_bResult = true; // Variabile temporanea che conterrà il risultato della funzione di link se l'item corrente è parte di una chiave composta boolean l_bTmpRes; SetUpdated(); w_language = p_workVariableValue; l_bResult = Link_XFCGDYJJAR(); // La variabile che indica il tipo di errore viene eventualmente impostata // dalla funzione di link: infatti il suo valore di ritorno non e' // sufficiente per determinare il tipo di errore che puo' essere di valore // non trovato nella tabella collegata o di check non valido. if ( ! (l_bResult)) { // Impostazione a blank della variabile di work w_language = ""; } // Esecuzione dei calcoli Calculate(); SaveDependsOn(); return l_bResult; } public boolean Set_decimalseparator(String p_workVariableValue) { m_nLastError = 0; m_cLastMsgError = ""; boolean l_bResult; l_bResult = true; // Variabile temporanea che conterrà il risultato della funzione di link se l'item corrente è parte di una chiave composta boolean l_bTmpRes; SetUpdated(); w_decimalseparator = p_workVariableValue; // Esecuzione dei calcoli Calculate(); SaveDependsOn(); return l_bResult; } public boolean Set_thousandseparator(String p_workVariableValue) { m_nLastError = 0; m_cLastMsgError = ""; boolean l_bResult; l_bResult = true; // Variabile temporanea che conterrà il risultato della funzione di link se l'item corrente è parte di una chiave composta boolean l_bTmpRes; SetUpdated(); w_thousandseparator = p_workVariableValue; // Esecuzione dei calcoli Calculate(); SaveDependsOn(); return l_bResult; } public boolean Set_datepattern(String p_workVariableValue) { m_nLastError = 0; m_cLastMsgError = ""; boolean l_bResult; l_bResult = true; // Variabile temporanea che conterrà il risultato della funzione di link se l'item corrente è parte di una chiave composta boolean l_bTmpRes; SetUpdated(); w_datepattern = p_workVariableValue; // l_bResult = CPLib.Empty(w_datepattern) || (CPLib.gt(CPLib.At("YYYY",w_datepattern),0) && CPLib.gt(CPLib.At("MM",w_datepattern),0) && CPLib.gt(CPLib.At("DD",w_datepattern),0)); if ( ! (l_bResult)) { m_nLastError = 2; m_cLastMsgError = "ADMIN_DATE_WRONG"; } if ( ! (l_bResult)) { // Impostazione a blank della variabile di work w_datepattern = ""; } // Esecuzione dei calcoli Calculate(); SaveDependsOn(); return l_bResult; } public boolean Set_datetimepattern(String p_workVariableValue) { m_nLastError = 0; m_cLastMsgError = ""; boolean l_bResult; l_bResult = true; // Variabile temporanea che conterrà il risultato della funzione di link se l'item corrente è parte di una chiave composta boolean l_bTmpRes; SetUpdated(); w_datetimepattern = p_workVariableValue; // l_bResult = CPLib.Empty(w_datetimepattern) || (CPLib.gt(CPLib.At("YYYY",w_datetimepattern),0) && CPLib.gt(CPLib.At("MM",w_datetimepattern),0) && CPLib.gt(CPLib.At("DD",w_datetimepattern),0) && CPLib.gt(CPLib.At("hh",w_datetimepattern),0) && CPLib.gt(CPLib.At("mm",w_datetimepattern),0) && CPLib.gt(CPLib.At("ss",w_datetimepattern),0)); if ( ! (l_bResult)) { m_nLastError = 2; m_cLastMsgError = "ADMIN_DATETIME_WRONG"; } if ( ! (l_bResult)) { // Impostazione a blank della variabile di work w_datetimepattern = ""; } // Esecuzione dei calcoli Calculate(); SaveDependsOn(); return l_bResult; } public boolean Set_pwddaysduration(double p_workVariableValue) { m_nLastError = 0; m_cLastMsgError = ""; boolean l_bResult; l_bResult = true; // Variabile temporanea che conterrà il risultato della funzione di link se l'item corrente è parte di una chiave composta boolean l_bTmpRes; SetUpdated(); w_pwddaysduration = p_workVariableValue; // Esecuzione dei calcoli Calculate(); SaveDependsOn(); return l_bResult; } public boolean Set_pwdciclicity(double p_workVariableValue) { m_nLastError = 0; m_cLastMsgError = ""; boolean l_bResult; l_bResult = true; // Variabile temporanea che conterrà il risultato della funzione di link se l'item corrente è parte di una chiave composta boolean l_bTmpRes; SetUpdated(); w_pwdciclicity = p_workVariableValue; // Esecuzione dei calcoli Calculate(); SaveDependsOn(); return l_bResult; } public boolean Set_captchalevel(double p_workVariableValue) { m_nLastError = 0; m_cLastMsgError = ""; boolean l_bResult; l_bResult = true; // Variabile temporanea che conterrà il risultato della funzione di link se l'item corrente è parte di una chiave composta boolean l_bTmpRes; SetUpdated(); w_captchalevel = p_workVariableValue; // Esecuzione dei calcoli Calculate(); SaveDependsOn(); return l_bResult; } public boolean Set_datestart(java.sql.Date p_workVariableValue) { m_nLastError = 0; m_cLastMsgError = ""; boolean l_bResult; l_bResult = true; // Variabile temporanea che conterrà il risultato della funzione di link se l'item corrente è parte di una chiave composta boolean l_bTmpRes; SetUpdated(); w_datestart = p_workVariableValue; // Esecuzione dei calcoli Calculate(); SaveDependsOn(); return l_bResult; } public boolean Set_datestop(java.sql.Date p_workVariableValue) { m_nLastError = 0; m_cLastMsgError = ""; boolean l_bResult; l_bResult = true; // Variabile temporanea che conterrà il risultato della funzione di link se l'item corrente è parte di una chiave composta boolean l_bTmpRes; SetUpdated(); w_datestop = p_workVariableValue; // Esecuzione dei calcoli Calculate(); SaveDependsOn(); return l_bResult; } public boolean Set_printserver(String p_workVariableValue) { m_nLastError = 0; m_cLastMsgError = ""; boolean l_bResult; l_bResult = true; // Variabile temporanea che conterrà il risultato della funzione di link se l'item corrente è parte di una chiave composta boolean l_bTmpRes; SetUpdated(); w_printserver = p_workVariableValue; // Esecuzione dei calcoli Calculate(); SaveDependsOn(); return l_bResult; } public boolean Set_usesiarlicense(String p_workVariableValue) { m_nLastError = 0; m_cLastMsgError = ""; boolean l_bResult; l_bResult = true; // Variabile temporanea che conterrà il risultato della funzione di link se l'item corrente è parte di una chiave composta boolean l_bTmpRes; SetUpdated(); w_usesiarlicense = p_workVariableValue; // Esecuzione dei calcoli Calculate(); SaveDependsOn(); return l_bResult; } public boolean Set_selected_group(double p_workVariableValue) { m_nLastError = 0; m_cLastMsgError = ""; boolean l_bResult; l_bResult = true; // Variabile temporanea che conterrà il risultato della funzione di link se l'item corrente è parte di una chiave composta boolean l_bTmpRes; SetUpdated(); w_selected_group = p_workVariableValue; // Esecuzione dei calcoli Calculate(); SaveDependsOn(); return l_bResult; } public boolean Set_otp(String p_workVariableValue) { m_nLastError = 0; m_cLastMsgError = ""; boolean l_bResult; l_bResult = true; // Variabile temporanea che conterrà il risultato della funzione di link se l'item corrente è parte di una chiave composta boolean l_bTmpRes; SetUpdated(); w_otp = p_workVariableValue; // Esecuzione dei calcoli Calculate(); SaveDependsOn(); return l_bResult; } public boolean Set_companies(String p_workVariableValue) { m_nLastError = 0; m_cLastMsgError = ""; boolean l_bResult; l_bResult = true; // Variabile temporanea che conterrà il risultato della funzione di link se l'item corrente è parte di una chiave composta boolean l_bTmpRes; SetUpdated(); w_companies = p_workVariableValue; // Esecuzione dei calcoli Calculate(); SaveDependsOn(); return l_bResult; } public boolean Set_UFENABLEAZI(String p_workVariableValue) { m_nLastError = 0; m_cLastMsgError = ""; boolean l_bResult; l_bResult = true; // Variabile temporanea che conterrà il risultato della funzione di link se l'item corrente è parte di una chiave composta boolean l_bTmpRes; SetUpdated(); w_UFENABLEAZI = p_workVariableValue; // Esecuzione dei calcoli Calculate(); SaveDependsOn(); return l_bResult; } /* Gestione delle funzioni che rispondono lo stato delle variabili di work. Vengono chiamate dalla UI per valutare la condizione di visibilità e di abilitazione di un control. */ public boolean getWritable_pwd1() { return CPLib.ne(EntityStatus(),"E") || CPLib.eq(w_modifyPassword,1); } public boolean getWritable_pwd2() { return CPLib.ne(EntityStatus(),"E") || CPLib.eq(w_modifyPassword,1); } public boolean getWritable_pwdcomplexity_group() { return false; } public boolean getWritable_usesiarlicense() { return w_IAR_LICENSE_VALID; } public boolean getWritable_companies() { return false; } public boolean getVisible_calcomplex() { return CPLib.eq(w_pwd1,"cambia la password"); } public boolean getVisible_pwdcomplexity_reqired() { return CPLib.eq(w_pwd1,"cambia la password"); } public boolean getVisible_selected_group() { return true; } public boolean getVisible_otp() { return true; } public boolean getVisible_companies() { return true; } public boolean Set_Password(String p_pwd) { m_cPassword = p_pwd; return true; } public boolean Set_OTP(String p_otp) { m_cOTP = p_otp; return true; } public boolean Calculate() { boolean l_bTmpRes; l_bTmpRes = true; boolean l_bResult; l_bResult = true; m_bCalculating = true; if (CPLib.ne(o_modifyPassword,w_modifyPassword)) { Calculation_YULXNUPOWY(); } if (CPLib.ne(o_pwd1,w_pwd1) || CPLib.ne(o_modifyPassword,w_modifyPassword)) { w_calcomplex = UserAdmin.Make(m_Ctx).GetPasswordRating(w_pwd1); } if (CPLib.ne(o_pwd1,w_pwd1)) { w_pwdratecause = UserAdmin.Make(m_Ctx).GetPasswordRatingExplaination(w_pwd1); } if (CPLib.ne(o_code,w_code)) { w_pwdcomplexity_group = spadministration_getpwdcomplexity_groupR.Make(m_Ctx,this).Run(w_code); } w_pwdcomplexity_reqired = CPLib.Max(w_pwdcomplexity,w_pwdcomplexity_group); if (CPLib.ne(o_code,w_code)) { w_pwddaysduration_group = spadministration_getpwdduration_groupR.Make(m_Ctx,this).Run(w_code); } if (CPLib.ne(o_code,w_code)) { w_pwdciclicity_groups = spadministration_getpwdciclicity_groupR.Make(m_Ctx,this).Run(w_code); } if (CPLib.ne(o_code,w_code)) { w_pwdcaptchalevel_group = spadministration_getcaptchalevel_groupR.Make(m_Ctx,this).Run(w_code); } if (CPLib.ne(o_pwddaysduration,w_pwddaysduration) || CPLib.ne(o_pwddaysduration_group,w_pwddaysduration_group)) { w_pwddaysduration_applied = (CPLib.gt(w_pwddaysduration,0) && CPLib.gt(w_pwddaysduration_group,0)?CPLib.Min(w_pwddaysduration,w_pwddaysduration_group):CPLib.Max(w_pwddaysduration,w_pwddaysduration_group)); } if (CPLib.ne(o_pwdciclicity,w_pwdciclicity) || CPLib.ne(o_pwdciclicity_groups,w_pwdciclicity_groups)) { w_pwdciclicity_applied = CPLib.Max(w_pwdciclicity,w_pwdciclicity_groups); } if (CPLib.ne(o_captchalevel,w_captchalevel) || CPLib.ne(o_pwdcaptchalevel_group,w_pwdcaptchalevel_group)) { w_pwdcaptchalevel_applied = (CPLib.gt(w_captchalevel,0) && CPLib.gt(w_pwdcaptchalevel_group,0)?CPLib.Min(w_captchalevel,w_pwdcaptchalevel_group):CPLib.Max(w_captchalevel,w_pwdcaptchalevel_group)); } if (CPLib.ne(o_pwd1,w_pwd1) || CPLib.ne(o_pwd2,w_pwd2)) { w_pwd_modified = true; } w_IAR_AVAILABLE = w_IAR_LICENSES-w_IAR_USED; if (CPLib.ne(o_UFENABLEAZI,w_UFENABLEAZI)) { w_companies = (CPLib.eq(w_UFENABLEAZI,"n")?"":w_companies); } if (CPLib.ne(o_companies,w_companies)) { w_UFENABLEAZI = (CPLib.Empty(w_companies)?"n":"s"); } // * --- Area Manuale = BO - Calculate // * --- Fine Area Manuale CopyWorkVar(this,spadministration_usersgroups,new String[]{"selected_group"},new String[]{"selected_group"},true); for (int l_i = 0; CPLib.lt(l_i,m_MNTs.length); l_i = l_i + (1)) { m_MNTs[l_i].m_child.FoundlingCopyWorkVar(this,true); } m_bCalculating = false; return l_bResult; } void Calculation_YULXNUPOWY() { if (CPLib.eq(w_modifyPassword,1)) { w_pwd1 = ""; } if (CPLib.eq(w_modifyPassword,1)) { w_pwd2 = ""; } if (CPLib.eq(w_modifyPassword,0)) { w_pwd1 = "cambia la password"; } if (CPLib.eq(w_modifyPassword,0)) { w_pwd2 = "cambia la password"; } } void Calculation_ORMDEWSLSD() { spadministration_writepwdR l_oRoutine_spadministration_writepwd; l_oRoutine_spadministration_writepwd = spadministration_writepwdR.Make(m_Ctx,this); l_oRoutine_spadministration_writepwd.password = w_pwd2; l_oRoutine_spadministration_writepwd.usercode = w_code; l_oRoutine_spadministration_writepwd.Run(); } void Calculation_FABWPYXIOK() { spadministration_deleteuserR l_oRoutine_spadministration_deleteuser; l_oRoutine_spadministration_deleteuser = spadministration_deleteuserR.Make(m_Ctx,this); l_oRoutine_spadministration_deleteuser.usercode = w_code; l_oRoutine_spadministration_deleteuser.Run(); } void Calculation_UGMVQYEORN() { spadministration_firstloginR l_oRoutine_spadministration_firstlogin; l_oRoutine_spadministration_firstlogin = spadministration_firstloginR.Make(m_Ctx,this); l_oRoutine_spadministration_firstlogin.usercode = w_code; l_oRoutine_spadministration_firstlogin.Run(); } boolean Check_DPHWQTPSFC(boolean p_bForce) { boolean l_bResult = true; if (p_bForce) { l_bResult = ! (w_pwd_modified) || UserAdmin.Make(m_Ctx).CheckPasswordStrength(w_pwd1,w_pwdcomplexity_reqired); if ( ! (l_bResult)) { m_cLastMsgError = "MSG_WEAKY_PASSWORD"; } else { l_bResult = CPLib.eq(w_pwd1,w_pwd2); if ( ! (l_bResult)) { m_cLastMsgError = "MSG_PASSWORD_CONFIRM_DIFFERENT"; } } } return l_bResult; } boolean Check_BLWKYYPKAQ(boolean p_bForce) { boolean l_bResult = true; if (p_bForce) { l_bResult = CPLib.gt(w_code,0); if ( ! (l_bResult)) { m_cLastMsgError = "ADMIN_CODE_MUST_POSITIVE"; } } return l_bResult; } protected void BlankStatusVariables() { m_bLoaded = false; m_bUpdated = false; m_cPreviousState = CPSecurity.UNKNOWN_STATE; } public void CalledBatchEnd() { if ( ! (m_bCalculating)) { // Esecuzione dei calcoli Calculate(); } } public final static String[] m_KeyColumns = {"code"}; public static String QueryFilter(CPContext m_Ctx) { String l_cFilter; l_cFilter = CPLib.ApplicationQueryFilter("spadministration_users","cpusers",m_KeyColumns,m_Ctx); return l_cFilter; } public void SetFromContext(String s) { SetFromContext(s,null); } public void SetFromContext(java.util.Properties p) { SetFromContext("_dummy_",p); } public void SetFromContext(String s,java.util.Properties p) { BlankStatusVariables(); w_code = 0; w_fullname = ""; w_name = ""; w_accesstype_human = false; w_accesstype_service = false; w_accesstype_machine = false; w_modifyPassword = 0; w_pwd1 = ""; w_calcomplex = 0; w_pwdratecause = ""; w_pwd2 = ""; w_pwdcomplexity_group = 0; w_pwdcomplexity = 0; w_pwdcomplexity_reqired = 0; w_forcepwdchange = false; w_enabled = ""; w_language = ""; w_language_name = ""; w_decimalseparator = ""; w_thousandseparator = ""; w_datepattern = ""; w_datetimepattern = ""; w_pwddaysduration_group = 0; w_pwddaysduration = 0; w_pwdciclicity_groups = 0; w_pwdciclicity = 0; w_pwdcaptchalevel_group = 0; w_captchalevel = 0; w_datestart = CPLib.NullDate(); w_datestop = CPLib.NullDate(); w_failedlogins = 0; w_lastfailedlogin = CPLib.NullDateTime(); w_lastsuccessfullogin = CPLib.NullDateTime(); w_pwdcreate = CPLib.NullDateTime(); w_pwddaysduration_applied = 0; w_pwdciclicity_applied = 0; w_pwdcaptchalevel_applied = 0; w_printserver = ""; w_init_code = 0; w_createdwhen = CPLib.NullDateTime(); w_pwd_modified = false; w_usesiarlicense = ""; w_IAR_LICENSE_VALID = false; w_IAR_LICENSES = 0; w_IAR_USED = 0; w_IAR_AVAILABLE = 0; w_selected_group = 0; w_g_OTPisActive = m_Ctx.GetGlobalString("g_OTPisActive"); w_otp = ""; w_companies = ""; w_UFENABLEAZI = ""; w_pwd1_view = false; w_pwd2_view = false; m_cWv_spadministration_usersgroups = ""; m_cWv_spadministration_ssomap_child = ""; m_cWv_spadministration_historypwd = ""; m_cWv_spadministration_usercompanies = ""; CPExtenderLib.BlankExtendedFields(extendedFields); SaveDependsOn(); if ( ! (CPLib.Empty(s))) { if (CPLib.IsNull(p)) { p = CPLib.GetProperties(s); } boolean l_bFromHyperlink = CPLib.ne("_not_found_",CPLib.GetProperty(p,"m_cParameterSequence","_not_found_")); w_code = CPLib.GetProperty(p,"code",w_code,0); w_fullname = CPLib.GetProperty(p,"fullname",w_fullname,0); w_name = CPLib.GetProperty(p,"name",w_name,0); w_accesstype_human = CPLib.GetProperty(p,"accesstype_human",w_accesstype_human,0); w_accesstype_service = CPLib.GetProperty(p,"accesstype_service",w_accesstype_service,0); w_accesstype_machine = CPLib.GetProperty(p,"accesstype_machine",w_accesstype_machine,0); w_pwdcomplexity = CPLib.GetProperty(p,"pwdcomplexity",w_pwdcomplexity,0); w_forcepwdchange = CPLib.GetProperty(p,"forcepwdchange",w_forcepwdchange,0); w_enabled = CPLib.GetProperty(p,"enabled",w_enabled,0); w_language = CPLib.GetProperty(p,"language",w_language,0); w_decimalseparator = CPLib.GetProperty(p,"decimalseparator",w_decimalseparator,0); w_thousandseparator = CPLib.GetProperty(p,"thousandseparator",w_thousandseparator,0); w_datepattern = CPLib.GetProperty(p,"datepattern",w_datepattern,0); w_datetimepattern = CPLib.GetProperty(p,"datetimepattern",w_datetimepattern,0); w_pwddaysduration = CPLib.GetProperty(p,"pwddaysduration",w_pwddaysduration,0); w_pwdciclicity = CPLib.GetProperty(p,"pwdciclicity",w_pwdciclicity,0); w_captchalevel = CPLib.GetProperty(p,"captchalevel",w_captchalevel,0); w_datestart = CPLib.GetProperty(p,"datestart",w_datestart,0); w_datestop = CPLib.GetProperty(p,"datestop",w_datestop,0); w_failedlogins = CPLib.GetProperty(p,"failedlogins",w_failedlogins,0); w_lastfailedlogin = CPLib.GetProperty(p,"lastfailedlogin",w_lastfailedlogin,0); w_lastsuccessfullogin = CPLib.GetProperty(p,"lastsuccessfullogin",w_lastsuccessfullogin,0); w_pwdcreate = CPLib.GetProperty(p,"pwdcreate",w_pwdcreate,0); w_printserver = CPLib.GetProperty(p,"printserver",w_printserver,0); w_createdwhen = CPLib.GetProperty(p,"createdwhen",w_createdwhen,0); w_usesiarlicense = CPLib.GetProperty(p,"usesiarlicense",w_usesiarlicense,0); w_companies = CPLib.GetProperty(p,"companies",w_companies,0); w_modifyPassword = CPLib.GetProperty(p,"modifyPassword",w_modifyPassword,0); w_pwd1 = CPLib.GetProperty(p,"pwd1",w_pwd1,0); w_calcomplex = CPLib.GetProperty(p,"calcomplex",w_calcomplex,0); w_pwdratecause = CPLib.GetProperty(p,"pwdratecause",w_pwdratecause,0); w_pwd2 = CPLib.GetProperty(p,"pwd2",w_pwd2,0); w_pwdcomplexity_group = CPLib.GetProperty(p,"pwdcomplexity_group",w_pwdcomplexity_group,0); w_pwdcomplexity_reqired = CPLib.GetProperty(p,"pwdcomplexity_reqired",w_pwdcomplexity_reqired,0); w_language_name = CPLib.GetProperty(p,"language_name",w_language_name,0); w_pwddaysduration_group = CPLib.GetProperty(p,"pwddaysduration_group",w_pwddaysduration_group,0); w_pwdciclicity_groups = CPLib.GetProperty(p,"pwdciclicity_groups",w_pwdciclicity_groups,0); w_pwdcaptchalevel_group = CPLib.GetProperty(p,"pwdcaptchalevel_group",w_pwdcaptchalevel_group,0); w_pwddaysduration_applied = CPLib.GetProperty(p,"pwddaysduration_applied",w_pwddaysduration_applied,0); w_pwdciclicity_applied = CPLib.GetProperty(p,"pwdciclicity_applied",w_pwdciclicity_applied,0); w_pwdcaptchalevel_applied = CPLib.GetProperty(p,"pwdcaptchalevel_applied",w_pwdcaptchalevel_applied,0); w_init_code = CPLib.GetProperty(p,"init_code",w_init_code,0); w_pwd_modified = CPLib.GetProperty(p,"pwd_modified",w_pwd_modified,0); w_IAR_LICENSE_VALID = CPLib.GetProperty(p,"IAR_LICENSE_VALID",w_IAR_LICENSE_VALID,0); w_IAR_LICENSES = CPLib.GetProperty(p,"IAR_LICENSES",w_IAR_LICENSES,0); w_IAR_USED = CPLib.GetProperty(p,"IAR_USED",w_IAR_USED,0); w_IAR_AVAILABLE = CPLib.GetProperty(p,"IAR_AVAILABLE",w_IAR_AVAILABLE,0); w_selected_group = CPLib.GetProperty(p,"selected_group",w_selected_group,0); w_g_OTPisActive = CPLib.GetProperty(p,"g_OTPisActive",w_g_OTPisActive,0); w_otp = CPLib.GetProperty(p,"otp",w_otp,0); w_UFENABLEAZI = CPLib.GetProperty(p,"UFENABLEAZI",w_UFENABLEAZI,0); w_pwd1_view = CPLib.GetProperty(p,"pwd1_view",w_pwd1_view,0); w_pwd2_view = CPLib.GetProperty(p,"pwd2_view",w_pwd2_view,0); m_cWv_spadministration_usersgroups = CPLib.GetProperty(p,"m_cWv_spadministration_usersgroups",m_cWv_spadministration_usersgroups,0); m_cWv_spadministration_ssomap_child = CPLib.GetProperty(p,"m_cWv_spadministration_ssomap_child",m_cWv_spadministration_ssomap_child,0); m_cWv_spadministration_historypwd = CPLib.GetProperty(p,"m_cWv_spadministration_historypwd",m_cWv_spadministration_historypwd,0); m_cWv_spadministration_usercompanies = CPLib.GetProperty(p,"m_cWv_spadministration_usercompanies",m_cWv_spadministration_usercompanies,0); CPLib.SetFromContextMNTs(p,m_MNTs); SPExtenderLib.SetExtendedFromContext(p,extendedFields); m_bLoaded = CPLib.GetProperty(p,"m_bLoaded",false,0); m_bUpdated = CPLib.GetProperty(p,"m_bUpdated",false,0); m_cOldCPCCCHK = CPLib.GetProperty(p,"m_cOldCPCCCHK","",0); m_cPreviousState = CPLib.GetProperty(p,"m_cPrvsStt","",0); m_cPassword = CPLib.GetProperty(p,"m_cPwd","",0); m_cOTP = CPLib.GetProperty(p,"m_cOTP","",0); m_lCtxLoaded = true; if ( ! (l_bFromHyperlink)) { SaveDependsOn(); } } } public void SetUpdated() { m_bUpdated = true; } public String EntityStatus() { return (m_bLoaded?"E":"N"); } public String LastErrorMessage() { return m_cLastMsgError; } static void GetLinkDef0(Map>> tables) { java.util.regex.Pattern zeroSplit; zeroSplit = java.util.regex.Pattern.compile("\\x00"); Map map; List> items; map = new HashMap(); items = tables.get("cpusrgrp"); if (CPLib.IsNull(items)) { items = new ArrayList>(); tables.put("cpusrgrp",items); } items.add(map); map.put("link_PC",new String[]{}); map.put("rd_kvar",new String[]{}); map.put("rd_kfield",new String[]{}); map.put("rd_field",new String[]{"usercode"}); map.put("rd_var",new String[]{"w_code"}); map.put("wr_var",new String[]{"w_code"}); map.put("wr_field",new String[]{"usercode"}); map.put("wr_op",new String[]{}); map.put("rd_var.obj_type",zeroSplit.split("N",-1)); map.put("rd_kvar.obj_type",new String[]{}); map.put("rd_var.len",zeroSplit.split("4",-1)); map.put("rd_kvar.len",new String[]{}); map.put("rd_var.dec",zeroSplit.split("0",-1)); map.put("rd_kvar.dec",new String[]{}); map.put("rd_var.comment",new String[]{""}); map.put("rd_kvar.comment",new String[]{}); map.put("rd_var.key_num",zeroSplit.split("nokey",-1)); map.put("rd_kvar.key_num",new String[]{}); map.put("rd_var.repeated",zeroSplit.split("FALSE",-1)); map.put("rd_kvar.repeated",new String[]{}); map.put("rd_var.frm_obbl",new String[]{""}); map.put("rd_kvar.frm_obbl",new String[]{}); map.put("rd_var.obj",zeroSplit.split("variabile",-1)); map.put("rd_kvar.obj",new String[]{}); map.put("property.value",zeroSplit.split("cpusrgrp\u0000false\u0000false\u00001\u00000\u0000spadministration_usersgroups\u0000false\u0000false\u0000\u0000\u0000\u0000false",-1)); map.put("property.name",zeroSplit.split("arch\u0000fillemptykey\u0000looselylinked\u0000src_key\u0000hst_link_mode\u0000prg_zoom\u0000looselylinked\u0000sendkeystozoomonzoom\u0000zoom_title\u0000prg_link_search\u0000prg_link_defaults\u0000",-1)); map = new HashMap(); items = tables.get("cpssomap"); if (CPLib.IsNull(items)) { items = new ArrayList>(); tables.put("cpssomap",items); } items.add(map); map.put("link_PC",new String[]{}); map.put("rd_kvar",new String[]{}); map.put("rd_kfield",new String[]{}); map.put("rd_field",new String[]{"userid"}); map.put("rd_var",new String[]{"w_code"}); map.put("wr_var",new String[]{"w_code"}); map.put("wr_field",new String[]{"userid"}); map.put("wr_op",new String[]{}); map.put("rd_var.obj_type",new String[]{}); map.put("rd_kvar.obj_type",new String[]{}); map.put("rd_var.len",new String[]{}); map.put("rd_kvar.len",new String[]{}); map.put("rd_var.dec",new String[]{}); map.put("rd_kvar.dec",new String[]{}); map.put("rd_var.comment",new String[]{}); map.put("rd_kvar.comment",new String[]{}); map.put("rd_var.key_num",new String[]{}); map.put("rd_kvar.key_num",new String[]{}); map.put("rd_var.repeated",new String[]{}); map.put("rd_kvar.repeated",new String[]{}); map.put("rd_var.frm_obbl",new String[]{}); map.put("rd_kvar.frm_obbl",new String[]{}); map.put("rd_var.obj",new String[]{}); map.put("rd_kvar.obj",new String[]{}); map.put("property.value",zeroSplit.split("cpssomap\u0000false\u0000false\u00001\u00000\u0000spadministration_ssomap_child\u0000false\u0000false\u0000\u0000\u0000\u0000false",-1)); map.put("property.name",zeroSplit.split("arch\u0000fillemptykey\u0000looselylinked\u0000src_key\u0000hst_link_mode\u0000prg_zoom\u0000looselylinked\u0000sendkeystozoomonzoom\u0000zoom_title\u0000prg_link_search\u0000prg_link_defaults\u0000",-1)); map = new HashMap(); items = tables.get("cphistorypwd"); if (CPLib.IsNull(items)) { items = new ArrayList>(); tables.put("cphistorypwd",items); } items.add(map); map.put("link_PC",new String[]{}); map.put("rd_kvar",new String[]{}); map.put("rd_kfield",new String[]{}); map.put("rd_field",new String[]{"code"}); map.put("rd_var",new String[]{"w_code"}); map.put("wr_var",new String[]{"w_code"}); map.put("wr_field",new String[]{"code"}); map.put("wr_op",new String[]{}); map.put("rd_var.obj_type",new String[]{}); map.put("rd_kvar.obj_type",new String[]{}); map.put("rd_var.len",new String[]{}); map.put("rd_kvar.len",new String[]{}); map.put("rd_var.dec",new String[]{}); map.put("rd_kvar.dec",new String[]{}); map.put("rd_var.comment",new String[]{}); map.put("rd_kvar.comment",new String[]{}); map.put("rd_var.key_num",new String[]{}); map.put("rd_kvar.key_num",new String[]{}); map.put("rd_var.repeated",new String[]{}); map.put("rd_kvar.repeated",new String[]{}); map.put("rd_var.frm_obbl",new String[]{}); map.put("rd_kvar.frm_obbl",new String[]{}); map.put("rd_var.obj",new String[]{}); map.put("rd_kvar.obj",new String[]{}); map.put("property.value",zeroSplit.split("cphistorypwd\u0000false\u0000false\u00001\u00000\u0000spadministration_historypwd\u0000false\u0000false\u0000\u0000\u0000\u0000false",-1)); map.put("property.name",zeroSplit.split("arch\u0000fillemptykey\u0000looselylinked\u0000src_key\u0000hst_link_mode\u0000prg_zoom\u0000looselylinked\u0000sendkeystozoomonzoom\u0000zoom_title\u0000prg_link_search\u0000prg_link_defaults\u0000",-1)); map = new HashMap(); items = tables.get("cpusrazi"); if (CPLib.IsNull(items)) { items = new ArrayList>(); tables.put("cpusrazi",items); } items.add(map); map.put("link_PC",new String[]{}); map.put("rd_kvar",new String[]{}); map.put("rd_kfield",new String[]{}); map.put("rd_field",new String[]{"usercode"}); map.put("rd_var",new String[]{"w_code"}); map.put("wr_var",new String[]{"w_code"}); map.put("wr_field",new String[]{"usercode"}); map.put("wr_op",new String[]{}); map.put("rd_var.obj_type",new String[]{}); map.put("rd_kvar.obj_type",new String[]{}); map.put("rd_var.len",new String[]{}); map.put("rd_kvar.len",new String[]{}); map.put("rd_var.dec",new String[]{}); map.put("rd_kvar.dec",new String[]{}); map.put("rd_var.comment",new String[]{}); map.put("rd_kvar.comment",new String[]{}); map.put("rd_var.key_num",new String[]{}); map.put("rd_kvar.key_num",new String[]{}); map.put("rd_var.repeated",new String[]{}); map.put("rd_kvar.repeated",new String[]{}); map.put("rd_var.frm_obbl",new String[]{}); map.put("rd_kvar.frm_obbl",new String[]{}); map.put("rd_var.obj",new String[]{}); map.put("rd_kvar.obj",new String[]{}); map.put("property.value",zeroSplit.split("cpusrazi\u0000false\u0000false\u00001\u00000\u0000spadministration_usercompanies\u0000false\u0000false\u0000\u0000\u0000\u0000false",-1)); map.put("property.name",zeroSplit.split("arch\u0000fillemptykey\u0000looselylinked\u0000src_key\u0000hst_link_mode\u0000prg_zoom\u0000looselylinked\u0000sendkeystozoomonzoom\u0000zoom_title\u0000prg_link_search\u0000prg_link_defaults\u0000",-1)); map = new HashMap(); items = tables.get("cpusers"); if (CPLib.IsNull(items)) { items = new ArrayList>(); tables.put("cpusers",items); } items.add(map); map.put("rd_kvar",new String[]{}); map.put("rd_kfield",new String[]{}); map.put("rd_field",new String[]{"code","cpotp"}); map.put("rd_var",new String[]{"w_code","w_otp"}); map.put("wr_var",new String[]{}); map.put("wr_field",new String[]{}); map.put("wr_op",new String[]{}); map.put("rd_var.obj_type",zeroSplit.split("N\u0000C",-1)); map.put("rd_kvar.obj_type",new String[]{}); map.put("rd_var.len",zeroSplit.split("9\u0000100",-1)); map.put("rd_kvar.len",new String[]{}); map.put("rd_var.dec",zeroSplit.split("0\u00000",-1)); map.put("rd_kvar.dec",new String[]{}); map.put("rd_var.comment",zeroSplit.split("ADMIN_CODE\u0000",-1)); map.put("rd_kvar.comment",new String[]{}); map.put("rd_var.key_num",zeroSplit.split("key1\u0000nokey",-1)); map.put("rd_kvar.key_num",new String[]{}); map.put("rd_var.repeated",zeroSplit.split("FALSE\u0000FALSE",-1)); map.put("rd_kvar.repeated",new String[]{}); map.put("rd_var.frm_obbl",zeroSplit.split("\u0000",-1)); map.put("rd_kvar.frm_obbl",new String[]{}); map.put("rd_var.obj",zeroSplit.split("campo\u0000variabile",-1)); map.put("rd_kvar.obj",new String[]{}); map.put("property.value",zeroSplit.split("cpusers\u0000false\u0000true\u00001\u00000\u0000\u0000true\u0000false\u0000\u0000\u0000\u0000false",-1)); map.put("property.name",zeroSplit.split("arch\u0000fillemptykey\u0000looselylinked\u0000src_key\u0000hst_link_mode\u0000prg_zoom\u0000looselylinked\u0000sendkeystozoomonzoom\u0000zoom_title\u0000prg_link_search\u0000prg_link_defaults\u0000",-1)); map = new HashMap(); items = tables.get("cplangs"); if (CPLib.IsNull(items)) { items = new ArrayList>(); tables.put("cplangs",items); } items.add(map); map.put("rd_kvar",new String[]{}); map.put("rd_kfield",new String[]{}); map.put("rd_field",new String[]{"code","name"}); map.put("rd_var",new String[]{"w_language","w_language_name"}); map.put("wr_var",new String[]{}); map.put("wr_field",new String[]{}); map.put("wr_op",new String[]{}); map.put("rd_var.obj_type",zeroSplit.split("C\u0000C",-1)); map.put("rd_kvar.obj_type",new String[]{}); map.put("rd_var.len",zeroSplit.split("3\u000025",-1)); map.put("rd_kvar.len",new String[]{}); map.put("rd_var.dec",zeroSplit.split("0\u00000",-1)); map.put("rd_kvar.dec",new String[]{}); map.put("rd_var.comment",zeroSplit.split("ADMIN_LANGUAGE\u0000",-1)); map.put("rd_kvar.comment",new String[]{}); map.put("rd_var.key_num",zeroSplit.split("nokey\u0000nokey",-1)); map.put("rd_kvar.key_num",new String[]{}); map.put("rd_var.repeated",zeroSplit.split("FALSE\u0000FALSE",-1)); map.put("rd_kvar.repeated",new String[]{}); map.put("rd_var.frm_obbl",zeroSplit.split("\u0000",-1)); map.put("rd_kvar.frm_obbl",new String[]{}); map.put("rd_var.obj",zeroSplit.split("campo\u0000variabile",-1)); map.put("rd_kvar.obj",new String[]{}); map.put("property.value",zeroSplit.split("cplangs\u0000false\u0000false\u00001\u00000\u0000spadministration_langs\u0000false\u0000false\u0000ADMIN_SELECT_LANGUAGE\u0000\u0000\u0000false",-1)); map.put("property.name",zeroSplit.split("arch\u0000fillemptykey\u0000looselylinked\u0000src_key\u0000hst_link_mode\u0000prg_zoom\u0000looselylinked\u0000sendkeystozoomonzoom\u0000zoom_title\u0000prg_link_search\u0000prg_link_defaults\u0000",-1)); } public static Map>> GetLinkDef() { java.util.regex.Pattern zeroSplit; zeroSplit = java.util.regex.Pattern.compile("\\x00"); Map>> tables; tables = new HashMap>>(); Map map; List> items; GetLinkDef0(tables); for(String child : CPLib.LoadableMNTs("spadministration_users",false)) { map = new HashMap(); items = tables.get(com.zucchetti.sitepainter.Library.getEntityTables(child)[0]); if (CPLib.IsNull(items)) { items = new ArrayList>(); tables.put(com.zucchetti.sitepainter.Library.getEntityTables(child)[0],items); } map.put("link_PC",new String[]{}); map.put("rd_kvar",new String[]{}); map.put("rd_kfield",new String[]{}); map.put("rd_field",new String[]{}); map.put("rd_var",new String[]{}); String[][] definitions = CPMNTChild.GetM_Fkd("spadministration_users",child); // Informazione usata per risolvere la sintassi BO->tabella nelle VQR map.put("rd_var",definitions[0]); map.put("rd_field",definitions[1]); // Definizione delle coppie padre/figlio map.put("wr_var",definitions[0]); map.put("wr_field",definitions[1]); map.put("wr_op",new String[]{}); map.put("rd_var.obj_type",new String[]{}); map.put("rd_var.len",new String[]{}); map.put("rd_var.dec",new String[]{}); map.put("rd_var.comment",new String[]{}); map.put("property.name",new String[]{"arch","foundling","","","","prg_zoom"}); map.put("property.value",new String[]{com.zucchetti.sitepainter.Library.getEntityTables(child)[0],"true","","","",child}); items.add(map); } return tables; } public void Initialize() { // Inizializzazione delle variabili di work Blank(); // Inizializzazione delle variabili di progressivo e legate alle operazioni a saldo BlankAutonumberAndTransactionVars(); spadministration_usersgroups = new spadministration_usersgroupsBO(m_Ctx); spadministration_ssomap_child = new spadministration_ssomap_childBO(m_Ctx); spadministration_historypwd = new spadministration_historypwdBO(m_Ctx); spadministration_usercompanies = new spadministration_usercompaniesBO(m_Ctx); m_MNTs = CPLib.MNTChilds("spadministration_users",m_Ctx); m_cPreviousState = GetCurrentState(); } public boolean Check() { boolean l_bResult; l_bResult = true; boolean l_bNoCheck; l_bNoCheck = true; boolean l_bNoObligatory; l_bNoObligatory = true; ResetErrorMessage(); if (CPLib.Empty(w_name)) { l_bNoObligatory = ! (CPLib.Empty(w_name)); String obblMsgError = m_Ctx.Translate("ADMIN_NAME")+" : "; m_cLastMsgError = obblMsgError+m_Ctx.Translate("MSG_OBBLI_FIELD"); l_bResult = false; w_name = ""; if (CPLib.eq(m_cLastWorkVarError,"")) { m_cLastWorkVarError = "name"; } } else if ( ! (CPLib.ge(w_pwdcomplexity,0) && CPLib.le(w_pwdcomplexity,UserAdmin.Make(m_Ctx).GetPasswordRatingMaxReachable()))) { m_cLastMsgError = m_Ctx.Translate("ADMIN_MSG_ERROR_RANGE"); l_bNoCheck = false; l_bResult = false; w_pwdcomplexity = 0; if (CPLib.eq(m_cLastWorkVarError,"")) { m_cLastWorkVarError = "pwdcomplexity"; } } else if ( ! (CPLib.Empty(w_datepattern) || (CPLib.gt(CPLib.At("YYYY",w_datepattern),0) && CPLib.gt(CPLib.At("MM",w_datepattern),0) && CPLib.gt(CPLib.At("DD",w_datepattern),0)))) { m_cLastMsgError = m_Ctx.Translate("ADMIN_DATE_WRONG"); l_bNoCheck = false; l_bResult = false; w_datepattern = ""; if (CPLib.eq(m_cLastWorkVarError,"")) { m_cLastWorkVarError = "datepattern"; } } else if ( ! (CPLib.Empty(w_datetimepattern) || (CPLib.gt(CPLib.At("YYYY",w_datetimepattern),0) && CPLib.gt(CPLib.At("MM",w_datetimepattern),0) && CPLib.gt(CPLib.At("DD",w_datetimepattern),0) && CPLib.gt(CPLib.At("hh",w_datetimepattern),0) && CPLib.gt(CPLib.At("mm",w_datetimepattern),0) && CPLib.gt(CPLib.At("ss",w_datetimepattern),0)))) { m_cLastMsgError = m_Ctx.Translate("ADMIN_DATETIME_WRONG"); l_bNoCheck = false; l_bResult = false; w_datetimepattern = ""; if (CPLib.eq(m_cLastWorkVarError,"")) { m_cLastWorkVarError = "datetimepattern"; } } else if ( ! (Check_DPHWQTPSFC(true))) { l_bResult = false; } else if ( ! (Check_BLWKYYPKAQ(true))) { l_bResult = false; } if (l_bResult && (( ! (spadministration_usersgroups.m_bLoaded) && CPLib.IsLoaded(m_cWv_spadministration_usersgroups)) || ( ! (spadministration_usersgroups.m_bUpdated) && CPLib.IsUpdated(m_cWv_spadministration_usersgroups)))) { spadministration_usersgroups.SetFromContext(m_cWv_spadministration_usersgroups); m_cWv_spadministration_usersgroups = "_not_empty_"; } if (l_bResult && (spadministration_usersgroups.m_bLoaded || spadministration_usersgroups.m_bUpdated)) { l_bResult = l_bResult && spadministration_usersgroups.Check(); l_bNoCheck = l_bResult; if ( ! (l_bNoCheck)) { m_cLastMsgError = spadministration_usersgroups.m_cLastMsgError; } } if (l_bResult && (( ! (spadministration_ssomap_child.m_bLoaded) && CPLib.IsLoaded(m_cWv_spadministration_ssomap_child)) || ( ! (spadministration_ssomap_child.m_bUpdated) && CPLib.IsUpdated(m_cWv_spadministration_ssomap_child)))) { spadministration_ssomap_child.SetFromContext(m_cWv_spadministration_ssomap_child); m_cWv_spadministration_ssomap_child = "_not_empty_"; } if (l_bResult && (spadministration_ssomap_child.m_bLoaded || spadministration_ssomap_child.m_bUpdated)) { l_bResult = l_bResult && spadministration_ssomap_child.Check(); l_bNoCheck = l_bResult; if ( ! (l_bNoCheck)) { m_cLastMsgError = spadministration_ssomap_child.m_cLastMsgError; } } if (l_bResult && (( ! (spadministration_historypwd.m_bLoaded) && CPLib.IsLoaded(m_cWv_spadministration_historypwd)) || ( ! (spadministration_historypwd.m_bUpdated) && CPLib.IsUpdated(m_cWv_spadministration_historypwd)))) { spadministration_historypwd.SetFromContext(m_cWv_spadministration_historypwd); m_cWv_spadministration_historypwd = "_not_empty_"; } if (l_bResult && (spadministration_historypwd.m_bLoaded || spadministration_historypwd.m_bUpdated)) { l_bResult = l_bResult && spadministration_historypwd.Check(); l_bNoCheck = l_bResult; if ( ! (l_bNoCheck)) { m_cLastMsgError = spadministration_historypwd.m_cLastMsgError; } } if (l_bResult && (( ! (spadministration_usercompanies.m_bLoaded) && CPLib.IsLoaded(m_cWv_spadministration_usercompanies)) || ( ! (spadministration_usercompanies.m_bUpdated) && CPLib.IsUpdated(m_cWv_spadministration_usercompanies)))) { spadministration_usercompanies.SetFromContext(m_cWv_spadministration_usercompanies); m_cWv_spadministration_usercompanies = "_not_empty_"; } if (l_bResult && (spadministration_usercompanies.m_bLoaded || spadministration_usercompanies.m_bUpdated)) { l_bResult = l_bResult && spadministration_usercompanies.Check(); l_bNoCheck = l_bResult; if ( ! (l_bNoCheck)) { m_cLastMsgError = spadministration_usercompanies.m_cLastMsgError; } } // * --- Area Manuale = BO - Check Form // * --- Fine Area Manuale if ( ! (l_bNoObligatory)) { m_nLastError = 1; } else if ( ! (l_bNoCheck)) { m_nLastError = 2; } return l_bResult; } void ResetErrorMessage() { m_nLastError = 0; m_cLastMsgError = ""; m_cLastWorkVarError = ""; } public String GetCurrentState() { String l_bResult; l_bResult = CPSecurity.UNKNOWN_STATE; return l_bResult; } /** @deprecated Will be removed in a future version **/ @Deprecated public String GetStateSecurityKey(String p_cState) { return GetStateSecurityKeyRoles(p_cState)[0]; } public String[] GetStateSecurityKeyRoles(String p_cState) { String[] l_Keys = {}; if (CPLib.eq(p_cState,CPSecurity.UNKNOWN_STATE)) { l_Keys = new String[]{"spadministration_users"}; } if (CPLib.eq(l_Keys.length,0)) { l_Keys = new String[]{"spadministration_users\\"+p_cState}; } return l_Keys; } public boolean CanView() { boolean l_bResult; l_bResult = true; ResetErrorMessage(); l_bResult = l_bResult && BRCanView(); if ( ! (l_bResult)) { String o_cLastMsgError = m_cLastMsgError; Blank(); // Evita che un errore segnalato alla Blank, ad esempio link fallito, sovrascriva l'errore di accesso bloccato m_cLastMsgError = o_cLastMsgError; } return l_bResult; } public boolean CanEdit() { return CanEdit(GetCurrentState()); } public boolean CanEdit(String p_cState) { boolean l_bResult = true; ResetErrorMessage(); l_bResult = l_bResult && BRCanEdit(); return l_bResult; } public boolean CanDelete() { boolean l_bResult; l_bResult = true; ResetErrorMessage(); l_bResult = l_bResult && BRCanDelete(); return l_bResult; } public boolean CanAdd() { return CanAdd(GetCurrentState()); } public boolean CanAdd(String p_cState) { boolean l_bResult = true; ResetErrorMessage(); l_bResult = l_bResult && BRCanAdd(); return l_bResult; } void BlankAutonumberAndTransactionVars() { // Inizializzazione dei progressivi // Inizializzazione delle variabili per DependsOn o_code = 0; o_modifyPassword = 0; o_pwd1 = ""; o_pwd2 = ""; o_pwddaysduration_group = 0; o_pwddaysduration = 0; o_pwdciclicity_groups = 0; o_pwdciclicity = 0; o_pwdcaptchalevel_group = 0; o_captchalevel = 0; o_selected_group = 0; o_companies = ""; o_UFENABLEAZI = ""; // Inizializzazione delle variabili per la gestione dello storno delle operazioni di saldo } public String GetContext() { return GetContext(true); } public String GetContext(boolean p_bGetChildren) { Properties p; p = new Properties(); GetContext(p_bGetChildren,p); return CPLib.ToProperties(p); } public void GetContext(java.util.Properties p_oProperties) { GetContext(true,p_oProperties); } public void GetContext(boolean p_bGetChildren,java.util.Properties p) { CPLib.PutProperty(p,"code",w_code,0); CPLib.PutProperty(p,"fullname",w_fullname,0); CPLib.PutProperty(p,"name",w_name,0); CPLib.PutProperty(p,"accesstype_human",w_accesstype_human,0); CPLib.PutProperty(p,"accesstype_service",w_accesstype_service,0); CPLib.PutProperty(p,"accesstype_machine",w_accesstype_machine,0); CPLib.PutProperty(p,"pwdcomplexity",w_pwdcomplexity,0); CPLib.PutProperty(p,"forcepwdchange",w_forcepwdchange,0); CPLib.PutProperty(p,"enabled",w_enabled,0); CPLib.PutProperty(p,"language",w_language,0); CPLib.PutProperty(p,"decimalseparator",w_decimalseparator,0); CPLib.PutProperty(p,"thousandseparator",w_thousandseparator,0); CPLib.PutProperty(p,"datepattern",w_datepattern,0); CPLib.PutProperty(p,"datetimepattern",w_datetimepattern,0); CPLib.PutProperty(p,"pwddaysduration",w_pwddaysduration,0); CPLib.PutProperty(p,"pwdciclicity",w_pwdciclicity,0); CPLib.PutProperty(p,"captchalevel",w_captchalevel,0); CPLib.PutProperty(p,"datestart",w_datestart,0); CPLib.PutProperty(p,"datestop",w_datestop,0); CPLib.PutProperty(p,"failedlogins",w_failedlogins,0); CPLib.PutProperty(p,"lastfailedlogin",w_lastfailedlogin,0); CPLib.PutProperty(p,"lastsuccessfullogin",w_lastsuccessfullogin,0); CPLib.PutProperty(p,"pwdcreate",w_pwdcreate,0); CPLib.PutProperty(p,"printserver",w_printserver,0); CPLib.PutProperty(p,"createdwhen",w_createdwhen,0); CPLib.PutProperty(p,"usesiarlicense",w_usesiarlicense,0); CPLib.PutProperty(p,"companies",w_companies,0); CPLib.PutProperty(p,"modifyPassword",w_modifyPassword,0); CPLib.PutProperty(p,"pwd1",w_pwd1,0); CPLib.PutProperty(p,"calcomplex",w_calcomplex,0); CPLib.PutProperty(p,"pwdratecause",w_pwdratecause,0); CPLib.PutProperty(p,"pwd2",w_pwd2,0); CPLib.PutProperty(p,"pwdcomplexity_group",w_pwdcomplexity_group,0); CPLib.PutProperty(p,"pwdcomplexity_reqired",w_pwdcomplexity_reqired,0); CPLib.PutProperty(p,"language_name",w_language_name,0); CPLib.PutProperty(p,"pwddaysduration_group",w_pwddaysduration_group,0); CPLib.PutProperty(p,"pwdciclicity_groups",w_pwdciclicity_groups,0); CPLib.PutProperty(p,"pwdcaptchalevel_group",w_pwdcaptchalevel_group,0); CPLib.PutProperty(p,"pwddaysduration_applied",w_pwddaysduration_applied,0); CPLib.PutProperty(p,"pwdciclicity_applied",w_pwdciclicity_applied,0); CPLib.PutProperty(p,"pwdcaptchalevel_applied",w_pwdcaptchalevel_applied,0); CPLib.PutProperty(p,"init_code",w_init_code,0); CPLib.PutProperty(p,"pwd_modified",w_pwd_modified,0); CPLib.PutProperty(p,"IAR_LICENSE_VALID",w_IAR_LICENSE_VALID,0); CPLib.PutProperty(p,"IAR_LICENSES",w_IAR_LICENSES,0); CPLib.PutProperty(p,"IAR_USED",w_IAR_USED,0); CPLib.PutProperty(p,"IAR_AVAILABLE",w_IAR_AVAILABLE,0); CPLib.PutProperty(p,"selected_group",w_selected_group,0); CPLib.PutProperty(p,"g_OTPisActive",w_g_OTPisActive,0); CPLib.PutProperty(p,"otp",w_otp,0); CPLib.PutProperty(p,"UFENABLEAZI",w_UFENABLEAZI,0); CPLib.PutProperty(p,"pwd1_view",w_pwd1_view,0); CPLib.PutProperty(p,"pwd2_view",w_pwd2_view,0); if (p_bGetChildren) { if (spadministration_usersgroups.IsUpdated()) { m_cWv_spadministration_usersgroups = spadministration_usersgroups.GetContext(); } CPLib.PutProperty(p,"m_cWv_spadministration_usersgroups",m_cWv_spadministration_usersgroups,0); } if (p_bGetChildren) { if (spadministration_ssomap_child.IsUpdated()) { m_cWv_spadministration_ssomap_child = spadministration_ssomap_child.GetContext(); } CPLib.PutProperty(p,"m_cWv_spadministration_ssomap_child",m_cWv_spadministration_ssomap_child,0); } if (p_bGetChildren) { if (spadministration_historypwd.IsUpdated()) { m_cWv_spadministration_historypwd = spadministration_historypwd.GetContext(); } CPLib.PutProperty(p,"m_cWv_spadministration_historypwd",m_cWv_spadministration_historypwd,0); } if (p_bGetChildren) { if (spadministration_usercompanies.IsUpdated()) { m_cWv_spadministration_usercompanies = spadministration_usercompanies.GetContext(); } CPLib.PutProperty(p,"m_cWv_spadministration_usercompanies",m_cWv_spadministration_usercompanies,0); } if (p_bGetChildren) { CPLib.PutProperty(p,m_MNTs); } SPExtenderLib.PutExtendedProperies(p,extendedFields); CPLib.PutProperty(p,"m_bLoaded",m_bLoaded); CPLib.PutProperty(p,"m_bUpdated",m_bUpdated); CPLib.PutProperty(p,"m_cOldCPCCCHK",m_cOldCPCCCHK); CPLib.PutProperty(p,"m_cPrvsStt",m_cPreviousState); } public String i_PrimaryKey() { return PrimaryKey(this); } public static String PrimaryKey(Caller p_Caller) { return "cpusers"+"\\"+CPLib.ToCPStr(p_Caller.GetNumber("code","N",9,0)); } public List> AutonumDefinition() { return StaticAutonumDefinition(); } public static List> StaticAutonumDefinition() { List> autonums; autonums = new ArrayList>(); List oneAutoNum; return autonums; } public boolean ChildExists_spadministration_usersgroups() { if (spadministration_usersgroups.IsUpdated() || (CPLib.IsUpdated(m_cWv_spadministration_usersgroups) || CPLib.IsLoaded(m_cWv_spadministration_usersgroups))) { return true; } else if (m_bLoaded && ! (spadministration_usersgroups.m_bLoaded)) { spadministration_usersgroups.Blank(); spadministration_usersgroups.w_usercode = w_code; spadministration_usersgroups.Load(); } return spadministration_usersgroups.m_bLoaded; } public void CtxLoad_spadministration_usersgroups() { if ( ! (spadministration_usersgroups.m_lCtxLoaded)) { spadministration_usersgroups.Blank(); } spadministration_usersgroups.m_lCtxLoaded = true; if ( ! (spadministration_usersgroups.IsUpdated())) { if (CPLib.IsUpdated(m_cWv_spadministration_usersgroups) || CPLib.IsLoaded(m_cWv_spadministration_usersgroups)) { spadministration_usersgroups.SetFromContext(m_cWv_spadministration_usersgroups); m_cWv_spadministration_usersgroups = "_not_empty_"; } else { if (m_bLoaded && ! (spadministration_usersgroups.m_bLoaded)) { spadministration_usersgroups.Blank(); spadministration_usersgroups.w_usercode = w_code; spadministration_usersgroups.Load(); if ( ! (spadministration_usersgroups.m_bLoaded)) { spadministration_usersgroups.Initialize(); spadministration_usersgroups.SetUpdated(); } CopyWorkVar(this,spadministration_usersgroups,new String[]{"selected_group"},new String[]{"selected_group"},false); } else if ( ! (m_bLoaded)) { CopyWorkVar(this,spadministration_usersgroups,new String[]{"selected_group"},new String[]{"selected_group"},true); } } } } public boolean ChildExists_spadministration_ssomap_child() { if (spadministration_ssomap_child.IsUpdated() || (CPLib.IsUpdated(m_cWv_spadministration_ssomap_child) || CPLib.IsLoaded(m_cWv_spadministration_ssomap_child))) { return true; } else if (m_bLoaded && ! (spadministration_ssomap_child.m_bLoaded)) { spadministration_ssomap_child.Blank(); spadministration_ssomap_child.w_userid = w_code; spadministration_ssomap_child.Load(); } return spadministration_ssomap_child.m_bLoaded; } public void CtxLoad_spadministration_ssomap_child() { if ( ! (spadministration_ssomap_child.m_lCtxLoaded)) { spadministration_ssomap_child.Blank(); } spadministration_ssomap_child.m_lCtxLoaded = true; if ( ! (spadministration_ssomap_child.IsUpdated())) { if (CPLib.IsUpdated(m_cWv_spadministration_ssomap_child) || CPLib.IsLoaded(m_cWv_spadministration_ssomap_child)) { spadministration_ssomap_child.SetFromContext(m_cWv_spadministration_ssomap_child); m_cWv_spadministration_ssomap_child = "_not_empty_"; } else { if (m_bLoaded && ! (spadministration_ssomap_child.m_bLoaded)) { spadministration_ssomap_child.Blank(); spadministration_ssomap_child.w_userid = w_code; spadministration_ssomap_child.Load(); if ( ! (spadministration_ssomap_child.m_bLoaded)) { spadministration_ssomap_child.Initialize(); spadministration_ssomap_child.SetUpdated(); } } } } } public boolean ChildExists_spadministration_historypwd() { if (spadministration_historypwd.IsUpdated() || (CPLib.IsUpdated(m_cWv_spadministration_historypwd) || CPLib.IsLoaded(m_cWv_spadministration_historypwd))) { return true; } else if (m_bLoaded && ! (spadministration_historypwd.m_bLoaded)) { spadministration_historypwd.Blank(); spadministration_historypwd.w_code = w_code; spadministration_historypwd.Load(); } return spadministration_historypwd.m_bLoaded; } public void CtxLoad_spadministration_historypwd() { if ( ! (spadministration_historypwd.m_lCtxLoaded)) { spadministration_historypwd.Blank(); } spadministration_historypwd.m_lCtxLoaded = true; if ( ! (spadministration_historypwd.IsUpdated())) { if (CPLib.IsUpdated(m_cWv_spadministration_historypwd) || CPLib.IsLoaded(m_cWv_spadministration_historypwd)) { spadministration_historypwd.SetFromContext(m_cWv_spadministration_historypwd); m_cWv_spadministration_historypwd = "_not_empty_"; } else { if (m_bLoaded && ! (spadministration_historypwd.m_bLoaded)) { spadministration_historypwd.Blank(); spadministration_historypwd.w_code = w_code; spadministration_historypwd.Load(); if ( ! (spadministration_historypwd.m_bLoaded)) { spadministration_historypwd.Initialize(); spadministration_historypwd.SetUpdated(); } } } } } public boolean ChildExists_spadministration_usercompanies() { if (spadministration_usercompanies.IsUpdated() || (CPLib.IsUpdated(m_cWv_spadministration_usercompanies) || CPLib.IsLoaded(m_cWv_spadministration_usercompanies))) { return true; } else if (m_bLoaded && ! (spadministration_usercompanies.m_bLoaded)) { spadministration_usercompanies.Blank(); spadministration_usercompanies.w_usercode = w_code; spadministration_usercompanies.Load(); } return spadministration_usercompanies.m_bLoaded; } public void CtxLoad_spadministration_usercompanies() { if ( ! (spadministration_usercompanies.m_lCtxLoaded)) { spadministration_usercompanies.Blank(); } spadministration_usercompanies.m_lCtxLoaded = true; if ( ! (spadministration_usercompanies.IsUpdated())) { if (CPLib.IsUpdated(m_cWv_spadministration_usercompanies) || CPLib.IsLoaded(m_cWv_spadministration_usercompanies)) { spadministration_usercompanies.SetFromContext(m_cWv_spadministration_usercompanies); m_cWv_spadministration_usercompanies = "_not_empty_"; } else { if (m_bLoaded && ! (spadministration_usercompanies.m_bLoaded)) { spadministration_usercompanies.Blank(); spadministration_usercompanies.w_usercode = w_code; spadministration_usercompanies.Load(); if ( ! (spadministration_usercompanies.m_bLoaded)) { spadministration_usercompanies.Initialize(); spadministration_usercompanies.SetUpdated(); } } } } } CallerBRImpl GetChild(String p_cName) { if (CPLib.eq(p_cName,"spadministration_usersgroups")) { CtxLoad_spadministration_usersgroups(); return spadministration_usersgroups; } if (CPLib.eq(p_cName,"spadministration_ssomap_child")) { CtxLoad_spadministration_ssomap_child(); return spadministration_ssomap_child; } if (CPLib.eq(p_cName,"spadministration_historypwd")) { CtxLoad_spadministration_historypwd(); return spadministration_historypwd; } if (CPLib.eq(p_cName,"spadministration_usercompanies")) { CtxLoad_spadministration_usercompanies(); return spadministration_usercompanies; } return GetMNTChild(false,m_MNTs,p_cName); } // * --- Area Manuale = BL - Methods // * --- Fine Area Manuale }