import java.io.*; import java.text.*; import java.util.*; import javax.servlet.*; import javax.servlet.http.*; import com.zucchetti.sitepainter.SPPrxycizer; @com.zucchetti.sitepainter.EntityRoles({}) public class spadministration_mobapppermissions extends SPServlet implements SPInvokable { public static String m_cEntityUid = "!*160dd83d*!"; static public class ServletStatus extends SPDetailChildServletStatus { ServletStatus() { m_cAllVirtNames = "cppermappstore"; } public String w_pecodice; public void BuildLastWhereFromPK() { if (CPLib.Empty(m_cLastWhere)) { m_cLastWhere = m_cLastWhere+CPLib.BuildLastWhereFromPK(w_pecodice,context,"cppermappstore","pecodice","C",10,0,( ! (CPLib.Empty(m_cLastWhere))?" and ":"")); } } void FillParameters() { m_Parameters = source.GetParametersProperties(); m_cWv = (CPLib.gt(m_Parameters.size(),0)?"_not_empty_":""); } public void MergeCallerVars(SPParameterSource source) { } public void WriteSenderFormPKVars() { ServletStatus status = this; if (CPLib.eq(m_cClientMode,"query") || CPLib.eq(m_cClientMode,"view")) { status.out.println( "" + ""); } } } public void doProcess(HttpServletRequest request,HttpServletResponse response) throws IOException, ServletException { // Inizializzazione delle variabili della classe globale di stato ServletStatus status = new ServletStatus(); status.containing = this; SPParameterSource source = SPLib.GetSource(request); // Controlla lo stato di login e la sicurezza associata alla procedura if ( ! (EnterServlet(status,source,request,response))) { return; } boolean requiredPwd; requiredPwd = (CPLib.eq(status.m_cAction,"delete")?false:false); boolean requiredOTP; requiredOTP = (CPLib.eq(status.m_cAction,"delete")?false:false); int accessType; accessType = (requiredOTP?3:((requiredPwd?2:SPLib.AccessType((CPLib.eq(status.m_cAction,"delete")?"delete":"access"),entityGlobals.name)))); if ( ! (CheckAccessSecurity(status,(CPLib.eq(accessType,3)?"OTP":(CPLib.eq(accessType,2)?"password":""))))) { RequestPwdOrOTP(status,(CPLib.eq(accessType,3)?"OTP":"password")); return; } // Ora esegue l' operazione richiesta da m_cAction spadministration_mobapppermissionsBO BO; BO = getBO(status); BO.m_bSkipCheckOTPSecurity = false; status.m_cVirtName = BO.m_cVirtName_cppermappstore; if (CPLib.eq(status.m_cAction,"start")) { status.m_cMode = ""; status.m_cClientMode = "query"; BO.Blank(); } else if (CPLib.eq(status.m_cAction,"query")) { Query(status,BO); LoadCurrentRecord(status,BO); } else if (CPLib.eq(status.m_cAction,"view")) { View(status,BO); } else if (CPLib.eq(status.m_cAction,"first")) { MoveTo(status,1); LoadCurrentRecord(status,BO); } else if (CPLib.eq(status.m_cAction,"previous")) { MoveTo(status,status.m_nRecPos-1); LoadCurrentRecord(status,BO); } else if (CPLib.eq(status.m_cAction,"next")) { MoveTo(status,status.m_nRecPos+1); LoadCurrentRecord(status,BO); } else if (CPLib.eq(status.m_cAction,"last")) { MoveTo(status,status.m_nLastRec); LoadCurrentRecord(status,BO); } else if (CPLib.eq(status.m_cAction,"moveto")) { LoadCurrentRecord(status,BO); } else if (CPLib.eq(status.m_cAction,"edit")) { Edit(status,BO,source); } else if (CPLib.eq(status.m_cAction,"editload")) { EditLoad(status,BO,source); } else if (CPLib.eq(status.m_cAction,"write")) { Write(status,BO,source); } else if (CPLib.eq(status.m_cAction,"writeload")) { Write(status,BO,source); } else if (CPLib.eq(status.m_cAction,"new")) { New(status,BO,source); } else if (CPLib.eq(status.m_cAction,"save")) { Save(status,BO); } else if (CPLib.eq(status.m_cAction,"discard")) { Discard(status,BO); } else if (CPLib.eq(status.m_cAction,"delete")) { Delete(status,BO,source); } else if (CPLib.eq(status.m_cAction,"deletemessage")) { DeleteMessage(status,BO,source); } else if (CPLib.eq(status.m_cAction,"painter")) { Painter(status); } else if (CPLib.eq(status.m_cAction,"autozoom")) { OpenZoom(status,source); } else if (CPLib.eq(status.m_cAction,"zoom")) { OpenPSZoom(status,source); } else if (CPLib.eq(status.m_cAction,"deleterow")) { DeleteRow(status,BO,source); } // * --- Area Manuale = Do Action // * --- Fine Area Manuale // status.m_cClientMode: stato che deve assumere il client // status.m_bError: indica se si e' verificato un errore // status.m_bExit: indica se e' un punto di uscita // status.m_cAtExit: azione di uscita Forward localForward = Forward.Unforwarded; if ( ! (status.m_bExit) || CPLib.Empty(status.m_cAtExit)) { } else if (CPLib.eq(CPLib.Left(status.m_cAtExit,8),"workflow")) { ExitToWorkflow(status); } else if (CPLib.eq(CPLib.Left(status.m_cAtExit,8),"activity")) { ExitToActivity(status,BO); } else if (status.m_bError && CPLib.ne(status.m_cClientMode,"bringback")) { // Il programma da eseguire in uscita non sa come visualizzare l' errore, viene quindi lanciata la pagina di errore che poi eseguira' il programma di uscita status.m_cClientMode = "error"; } else if (status.m_bError) { } else if (CPLib.eq(status.m_cAtExit,"new")) { status.CleanInterfaceSettings(); New(status,BO,source); } else if (CPLib.eq(status.m_cAtExit,"edit")) { status.w_pecodice = BO.w_pecodice; BO.Initialize(); Edit(status,BO,source); } else if (CPLib.eq(status.m_cAtExit,"autozoom")) { // Si puo' proseguire con lo zoom OpenZoom(status,source); } else if (CPLib.eq(status.m_cAtExit,"close")) { // Si puo' proseguire con la chiusura della pagina corrente status.m_cClientMode = "close"; } else if (CPLib.eq(status.m_cAtExit,"close&reload")) { // Si puo' proseguire con la chiusura della pagina corrente e rinfrescare il chiamante status.m_bReload = true; status.m_cClientMode = "close"; } else { status.m_cAtExit = "workflow"+"\n"+"@END"+"\n"+status.m_cAtExit; ManageWorkflow(status,"@END"); } // ora interpreta la seconda parte del workflow (i vari set sull' oggetto reale) ExecuteWorkflowStartingScript(status,BO); // Ora manda la pagina di risposta NotifyEvent("Response start",status,BO); if (Forward.IsForwarded(status.forwardedto)) { SPLib.ForwardTo(status.forwardedto,servletContext,status.request,status.response); return; } SPLib.SetContentType(response); if ("get".equalsIgnoreCase(request.getMethod())) { SPLib.NoCache(response); } status.out = response.getWriter(); if (CPLib.eq(status.m_cClientMode,"error")) { WriteErrorPage(status); } else if (CPLib.eq(status.m_cClientMode,"close")) { WriteExitPage(BO,status,localForward); } else if (CPLib.eq(status.m_cClientMode,"bringback")) { BringBackPage(BO,status); } else if (CPLib.eq(status.m_cAction,"createportlet")) { CreatePortlet(status,BO); } else { WriteFormPage(BO,status); } } public String getEntityTitle() { return "Groups/Users Permissions"; } public SPEntityGlobals getEntityGlobals() { // Costanti globali dell' entita' SPEntityGlobals l_eg = new SPEntityGlobals(); l_eg.name = "spadministration_mobapppermissions"; l_eg.userName = getEntityTitle(); l_eg.m_nEntityWidth = 601; l_eg.m_nEntityHeight = 193; l_eg.isPublic = false; l_eg.canAccess = false; l_eg.canInsert = false; l_eg.canChange = false; l_eg.canDelete = false; l_eg.m_cStates = "[]"; l_eg.m_nCallableFrom = 1; l_eg.zoomableTables = new String[]{"cppermappstore","cpusers","cpgroups"}; l_eg.zoneItems = new ZoneItem[]{new ZoneItem("page_1","","page")}; l_eg.securedBoxes = new String[][] {}; l_eg.securedTabs = new String[][] {}; l_eg.keyColumns = new String[]{"pecodice"}; l_eg.keyRepeatedColumns = new String[]{"CPROWNUM"}; l_eg.items = new SPItem[]{ new SPItem("pecodice","C",10,0, "edit","Codice"), new SPItem("pe__tipo","N",1,0, "edit","MOBAPPSTORE_TYPE"), new SPItem("pecodute","N",6,0, "edit","Codice utente"), new SPItem("pecodgrp","N",6,0, "edit","Codice gruppo"), new SPItem("CPROWNUM","N",6,0, "hide",""), new SPItem("descrizione","C",50,0, "show","ADMIN_NAME"), new SPItem("descriGruppo","C",50,0, "show","ADMIN_NAME") }; l_eg.m_lHasHistorical = false; return l_eg; } ArrayList i_sidebarItems = null; public org.json.JSONArray getSidebarItems(int p_nPage) { if (CPLib.IsNull(i_sidebarItems)) { i_sidebarItems = InitializeSidebarItemsArray(1); org.json.JSONArray l_sidebarPageItems; } if (CPLib.ge(p_nPage,0) && CPLib.lt(p_nPage,i_sidebarItems.size())) { return i_sidebarItems.get(p_nPage); } else { return new org.json.JSONArray(); } } // m_layerGroups inizializzato dal primo accesso a FillLayerGroups org.json.JSONObject m_layerGroups = null; public void FillLayerGroups(CPMNTChild[] p_MNTs) { if (CPLib.IsNull(m_layerGroups)) { org.json.JSONObject l_layerGroups = null; l_layerGroups = new org.json.JSONObject("{}"); if ( ! (CPLib.IsNull(p_MNTs))) { CPLib.AppendFoundlingChildOnLayerGroup(p_MNTs,l_layerGroups); } m_layerGroups = l_layerGroups; } } public String GetLayerGroupHeader(String p_cGroupName,String p_cLayerName,String p_cLayerId,spadministration_mobapppermissionsBO BO) { CPMNTChild[] l_MNTs = BO.m_MNTs; FillLayerGroups(l_MNTs); return GetGenericLayerGroupHeader(getLayerGroup(p_cGroupName),p_cLayerName,p_cLayerId,BO.m_Ctx,l_MNTs); } public org.json.JSONArray getLayerGroup(String group) { return m_layerGroups.getJSONArray(group); } org.json.JSONArray i_notifyItems = null; public org.json.JSONArray getNotifyItems() { if (CPLib.IsNull(i_notifyItems)) { i_notifyItems = new org.json.JSONArray(); } return i_notifyItems; } ArrayList i_contextmenu = null; public org.json.JSONArray getContextMenu(int p_nPage) { if (CPLib.IsNull(i_contextmenu)) { i_contextmenu = InitializeContextMenuArray(1); org.json.JSONArray l_contextmenuPageItems; } if (CPLib.ge(p_nPage,0) && CPLib.lt(p_nPage,i_contextmenu.size())) { return i_contextmenu.get(p_nPage); } else { return new org.json.JSONArray(); } } public String[][] JSTranslations(CPContext p_Context) { String[][] l_translations; l_translations=new String[][]{{"10266899854",p_Context.Translate("ADMIN_SELECT_GROUP")}, {"1044287916",p_Context.Translate("MOBAPPSTORE_TYPE")}, {"11238361817",p_Context.Translate("Groups/Users Permissions")}, {"112851763",p_Context.Translate("Codice")}, {"113986709",p_Context.Translate("Utente")}, {"11758432523",p_Context.Translate("Codice gruppo")}, {"1682105886",p_Context.Translate("ADMIN_NAME")}, {"1833121568",p_Context.Translate("ADMIN_GROUP")}, {"1999024119",p_Context.Translate("Codice utente")}, {"2009792713",p_Context.Translate("Elenco utenti")}, {"MSG_MD_TAB_FOOTER",p_Context.Translate("MSG_MD_TAB_FOOTER")}, {"MSG_MD_TAB_HEADER",p_Context.Translate("MSG_MD_TAB_HEADER")}, {"MSG_MD_TAB_ROWS",p_Context.Translate("MSG_MD_TAB_ROWS")}}; return l_translations; } org.json.JSONArray i_detailMenuItems = null; public org.json.JSONArray getDetailMenuItems() { if (CPLib.IsNull(i_detailMenuItems)) { i_detailMenuItems = new org.json.JSONArray(); } return i_detailMenuItems; } void WriteStyles(spadministration_mobapppermissionsBO BO,ServletStatus status) { if ( ! ( ! (CPLib.Empty(status.m_cAltInterface)))) { status.out.println( "" + ""); } if (CPLib.eq(status.m_cClientMode,"painter")) { status.out.println( "" + ""); } } void WriteMainForm(spadministration_mobapppermissionsBO BO,ServletStatus status) { status.out.println( "
" + ""); status.out.println( "" + ""); status.out.println( "" + ""); status.out.println( "" + ""); if (CPLib.gt(BO.extendedFields.length,0) || CPLib.HasTabFoundlings(BO.m_MNTs,"")) { status.out.println( "
" + " " + "
" + ""); } if ( ! (CPLib.Empty(status.m_cAltInterface))) { status.request.setAttribute("com__zucchetti__sitepainter__altinterface__url",status.m_cAltInterface); status.request.setAttribute("com__zucchetti__sitepainter__altinterface__m_cEntityUid",m_cEntityUid); SPLib.Include(servletContext,status,status.m_cAltInterface); HTMLRowScript(BO,status); status.out.println( "" + ""); } else { WriteControls(BO,status); } status.out.println( "" + ""); PrintPwdOTPDiv(status,"spadministration_mobapppermissions",BO.m_bLoaded,(BO.m_bLoaded?false:false),(BO.m_bLoaded?false:false)); status.out.println( "
" + ""); } void WriteControls(spadministration_mobapppermissionsBO BO,ServletStatus status) { WriteControls_p1(BO,status); PrintNotifyContent(status,getNotifyItems()); WriteExtendedTabs(BO.m_MNTs,BO.extendedFields,status,2); } void WriteControls_p1(spadministration_mobapppermissionsBO BO,ServletStatus status) { status.out.println( "" + ""); if ( ! (CPLib.gt(BO.extendedFields.length,0) || CPLib.HasTabFoundlings(BO.m_MNTs,""))) { status.out.println( "" + ""); } } void WriteControls_p1_b0(spadministration_mobapppermissionsBO BO,ServletStatus status) { status.out.println( "
" + ""); status.out.println( "
" + "
" + ""); status.m_nTabIndex = status.m_nTabIndex+(1); status.out.println( "" + ""); status.out.println( "" + "" + "" + ""); status.out.println( "" + "" + "" + ""); status.out.println( "
" + "
" + "
" + "
" + ""); status.out.println( "
" + "" + "" + "" + "" + "
" + "
" + ""); if (CPLib.eq(status.m_cClientMode,"new") || CPLib.eq(status.m_cClientMode,"edit")) { status.out.println( "
" + ""+printButtonPanelContent(status,1,"upper_right",false,getDetailMenuItems(),false,"")+"" + "
" + ""); } HTMLRowScript(BO,status); status.m_nTabIndex = status.m_nTabIndex+1; status.out.println( "
" + ""); } void HTMLRowScript(spadministration_mobapppermissionsBO BO,ServletStatus status) { CPResultSet l_rsLoad=null; VQRHolder l_VQRHolder = null; status.out.println( "" + ""); } static void PrintState(spadministration_mobapppermissionsBL BO,ServletStatus status) { PrintStateChildren(BO,status); PrintStateWorkVars(BO,status); } static void PrintStateChildren(spadministration_mobapppermissionsBL BO,ServletStatus status) { PrintMNTState(status,BO,BO.m_MNTs); } static void PrintStateWorkVars(spadministration_mobapppermissionsBL BO,ServletStatus status) { status.out.print("DeclareWVs("); status.out.print(SPLib.ToJSValue(BO.w_pecodice,"C",10,0)); status.out.print(","+SPLib.ToJSValue(BO.w_pe__tipo,"N",1,0)); status.out.print(","+SPLib.ToJSValue(BO.w_pecodute,"N",6,0)); status.out.print(","+SPLib.ToJSValue(BO.w_pecodgrp,"N",6,0)); status.out.print(","+SPLib.ToJSValue(BO.w_CPROWNUM,"N",6,0)); status.out.print(","+SPLib.ToJSValue(BO.w_descrizione,"C",50,0)); status.out.print(","+SPLib.ToJSValue(BO.w_descriGruppo,"C",50,0)); if (CPLib.eq(status.m_cClientMode,"edit") || CPLib.eq(status.m_cClientMode,"new")) { status.out.print(","+"1"); } status.out.println(")"); if (CPLib.eq(status.m_cClientMode,"edit") || CPLib.eq(status.m_cClientMode,"new")) { status.out.println("m_bUpdated="+SPLib.ToJSValue(BO.m_bUpdated,"L",0,0)+";"); } PrintStateDetailWorkVars(BO,status); } static void PrintStateDetailWorkVars(spadministration_mobapppermissionsBL BO,ServletStatus status) { int k; int l_nSelectRow = -1; boolean l_bForceSelect = false; if (CPLib.Empty(status.m_cDetailBehavior) && status.m_bBrowserUpdate && ! (CPLib.Empty(BO.LastErrorMessage()))) { status.out.print("if (Empty(m_cDetailBehavior)) {"); status.out.print("m_cDetailBehavior='select';"); status.out.print("}"); l_nSelectRow = BO.m_nCurrentRow; l_bForceSelect = true; } else if (CPLib.ne(CPLib.Lower(CPLib.Left(status.m_cDetailBehavior,6)),"select")) { l_nSelectRow = -2; } status.out.print("m_oTrs=["); k = 0; while (CPLib.lt(k,BO.m_oTrs.size())) { BO.SetRow(k); if (CPLib.eq(l_nSelectRow,-1)) { l_nSelectRow = k; } status.out.print(" new TrsRow("); status.out.print(""+SPLib.ToJSValue(BO.w_pe__tipo,"N",1,0)+","); status.out.print(""+SPLib.ToJSValue(BO.w_pecodute,"N",6,0)+","); status.out.print(""+SPLib.ToJSValue(BO.w_pecodgrp,"N",6,0)+","); status.out.print(""+SPLib.ToJSValue(BO.w_CPROWNUM,"N",6,0)+","); if ( ! (l_bForceSelect) && CPLib.eq(l_nSelectRow,k) && ( ! (status.source.Has("CPROWNUM")) || CPLib.ne(BO.w_CPROWNUM,status.source.GetParameter("CPROWNUM",0)))) { l_nSelectRow = -1; } status.out.print(""+SPLib.ToJSValue(BO.w_descrizione,"C",50,0)+","); status.out.print(""+SPLib.ToJSValue(BO.w_descriGruppo,"C",50,0)+","); status.out.print(""+SPLib.ToJSValue(BO.m_nRowStatus,"N",0,0)+","); status.out.print(""+SPLib.ToJSValue(BO.m_cOldRowCPCCCHK,"C",10,0)+""); int l; for ( l = 0; CPLib.lt(l,BO.work_children.length); l = l + (1)) { if ( ! (CPLib.eq(BO.work_children[l],null))) { status.out.print(","+SPLib.ToJSValue(BO.work_children[l],"C",0,0)+""); } else { status.out.print(",''"); } } status.out.print(")"); k = k+1; if (CPLib.lt(k,BO.m_oTrs.size())) { status.out.print(","); } } status.out.println("]"); if (CPLib.gt(l_nSelectRow,-1)) { BO.SetRow(l_nSelectRow); } else { BO.SetRow(0); } // Variabile che contiene il numero di riga corrente nel transitorio status.out.println("m_nCurrentRow="+SPLib.ToJSValue(BO.m_nCurrentRow,"N",0,0)+";"); status.out.println("m_cOldRowCPCCCHK=\""+BO.m_cOldRowCPCCCHK+"\";"); PrintStateDetailWorkVars_Deleted(BO,status); } static void PrintStateDetailWorkVars_Deleted(spadministration_mobapppermissionsBL BO,ServletStatus status) { String l_cTrs; int k; if (CPLib.eq(status.m_cClientMode,"edit") || CPLib.eq(status.m_cClientMode,"new")) { spadministration_mobapppermissionsBO.TrsRow l_Row; l_cTrs = "["; k = 0; while (CPLib.lt(k,BO.m_oDeletedRows.size())) { l_Row= (spadministration_mobapppermissionsBO.TrsRow) BO.m_oDeletedRows.get(k); l_cTrs = l_cTrs+" new TrsRow("; l_cTrs = l_cTrs+SPLib.ToJSValue(l_Row.w_pe__tipo,"N",1,0)+","; l_cTrs = l_cTrs+SPLib.ToJSValue(l_Row.w_pecodute,"N",6,0)+","; l_cTrs = l_cTrs+SPLib.ToJSValue(l_Row.w_pecodgrp,"N",6,0)+","; l_cTrs = l_cTrs+SPLib.ToJSValue(l_Row.w_CPROWNUM,"N",6,0)+","; l_cTrs = l_cTrs+SPLib.ToJSValue(l_Row.w_descrizione,"C",50,0)+","; l_cTrs = l_cTrs+SPLib.ToJSValue(l_Row.w_descriGruppo,"C",50,0)+","; l_cTrs = l_cTrs+SPLib.ToJSValue(l_Row.m_nRowStatus,"N",0,0)+","; l_cTrs = l_cTrs+SPLib.ToJSValue(l_Row.m_cOldRowCPCCCHK,"C",10,0); int l; for ( l = 0; CPLib.lt(l,l_Row.work_children.length); l = l + (1)) { if ( ! (CPLib.eq(l_Row.work_children[l],null))) { l_cTrs = l_cTrs+","+SPLib.ToJSValue(l_Row.work_children[l],"C",0,0); } else { l_cTrs = l_cTrs+",''"; } } l_cTrs = l_cTrs+")"; k = k+1; if (CPLib.lt(k,BO.m_oDeletedRows.size())) { l_cTrs = l_cTrs+","; } } l_cTrs = l_cTrs+"]"; status.out.println("m_oDeletedRows="+l_cTrs+";"); status.out.println("m_nRowStatus="+SPLib.ToJSValue(BO.m_nRowStatus,"N",0,0)+";"); status.out.println("m_bHeaderUpdated="+SPLib.ToJSValue(BO.m_bHeaderUpdated,"L",0,0)+";"); } } void WriteMainFormVarScript(spadministration_mobapppermissionsBO BO,ServletStatus status) { status.out.println( "" + ""); } void WriteMainFormScript(spadministration_mobapppermissionsBO BO,ServletStatus status) { status.out.println( "" + ""); } spadministration_mobapppermissionsBO getBO(ServletStatus status) { spadministration_mobapppermissionsBO BO = new spadministration_mobapppermissionsBO(status.context); if (CPLib.eq(status.m_nChildStatus,0)) { LoadExtensions(BO); } return BO; } void LoadExtensions(spadministration_mobapppermissionsBO BO) { XDCHolder xdc = CPLib.GetXDCHolder(SPLib.GetClassesPath(),new SPXDCReaderFactory(BO.m_Ctx.GetInstance()),BO.m_Ctx.GetInstance()); XDCTable t = xdc.GetXDCTable("cppermappstore",true); BO.extendedFields = CPExtenderLib.GetExtendedItemsFromTable(t); } public void NotifyEvent(String p_cEvent,ServletStatus status,spadministration_mobapppermissionsBO BO) { super.NotifyEvent(p_cEvent,status,BO); CPLib.NotifyEvent(p_cEvent,BO,BO.m_Ctx,BO.specificEventsHandlers,BO.allEventsHandlers); } void WriteTableCombo(ServletStatus status,spadministration_mobapppermissionsBO BO) { String l_cTmp; CPResultSet l_rsLoad=null; } CPResultSet QueryKeyCursor(spadministration_mobapppermissionsBO BO,ServletStatus status) { String l_cServer = BO.m_cServer_cppermappstore; String l_cPhName = BO.m_cPhName_cppermappstore; // Creazione del cursore delle chiavi. Costruisce la frase SQL nella tabella // associata alla maschera selezionando solo i campi della chiave di ricerca che // soddisfa la clausola di "where" passata come parametro. Riceve altresė come // parametro la clausola di "order by". // * --- Area Manuale = BO - Query Key Set Init // * --- Fine Area Manuale int l_nIdx; CPResultSet l_rsKeys=null; if ( ! (CPLib.Empty(status.m_cLastWhere))) { String l_cLastWhere = status.m_cLastWhere; String l_cQueryFilter = spadministration_mobapppermissionsBL.QueryFilter(status.context); if ( ! (CPLib.Empty(l_cQueryFilter))) { if ( ! (CPLib.Empty(l_cLastWhere))) { l_cLastWhere = "("+l_cLastWhere+") and"; } l_cLastWhere = l_cLastWhere+" ("+l_cQueryFilter+")"; } if (l_rsKeys!=null) l_rsKeys.Close(); l_rsKeys = status.context.GetSql().Query(l_cServer,CPSql.BuildSQLPhrase(" distinct "+BO.m_cVirtName_cppermappstore+".pecodice"+(CPLib.Empty(status.m_cLastOrderBy) || CPLib.gt(CPLib.At(status.m_cLastOrderBy," distinct "+BO.m_cVirtName_cppermappstore+".pecodice"),0) || CPLib.ne(CPSql.GetDataBaseType(l_cServer),CPSql.m_nPostgres)?"":","+status.m_cLastOrderBy)+"",CPLib.GetTablesWithAliases(l_cPhName,status.m_cAllVirtNames,status.context),l_cLastWhere,status.m_cLastOrderBy)); } else { l_rsKeys = new CPResultSet(); } l_nIdx = 1; while (CPLib.lt(l_nIdx,status.m_nRecPos) && ! (l_rsKeys.Eof())) { l_rsKeys.Next(); l_nIdx = l_nIdx+1; } // * --- Area Manuale = BO - Query Key Set End // * --- Fine Area Manuale return l_rsKeys; } CPResultSet QueryKeyCursor(SPMasterServletStatus status) { String l_cServer = status.context.GetServer("cppermappstore"); String l_cPhName = CPSql.ManipulateTablePhName("cppermappstore",l_cServer); // Creazione del cursore delle chiavi. Costruisce la frase SQL nella tabella // associata alla maschera selezionando solo i campi della chiave di ricerca che // soddisfa la clausola di "where" passata come parametro. Riceve altresė come // parametro la clausola di "order by". CPResultSet l_rsKeys=null; if ( ! (CPLib.Empty(status.m_cLastWhere))) { String l_cLastWhere = status.m_cLastWhere; if (l_rsKeys!=null) l_rsKeys.Close(); l_rsKeys = status.context.GetSql().Query(l_cServer,CPSql.BuildSQLPhrase(" "+l_cPhName+".pecodice"+(CPLib.Empty(status.m_cLastOrderBy) || CPLib.gt(CPLib.At(status.m_cLastOrderBy," "+l_cPhName+".pecodice"),0) || CPLib.ne(CPSql.GetDataBaseType(l_cServer),CPSql.m_nPostgres)?"":","+status.m_cLastOrderBy)+"",CPLib.GetTablesWithAliases(l_cPhName,status.m_cAllVirtNames,status.context),l_cLastWhere,status.m_cLastOrderBy)); } return l_rsKeys; } void Query(ServletStatus status,spadministration_mobapppermissionsBO BO) { if ( ! (CPLib.Empty(status.m_cLastWhere))) { CPResultSet l_rsCount=null; String l_cLastWhere = status.m_cLastWhere; String l_cQueryFilter = spadministration_mobapppermissionsBL.QueryFilter(status.context); if ( ! (CPLib.Empty(l_cQueryFilter))) { if ( ! (CPLib.Empty(l_cLastWhere))) { l_cLastWhere = "("+l_cLastWhere+") and"; } l_cLastWhere = l_cLastWhere+" ("+l_cQueryFilter+")"; } if (CPLib.eq(CPSql.GetDataBaseType(BO.m_cServer_cppermappstore),CPSql.m_nInformix)) { if (l_rsCount!=null) l_rsCount.Close(); l_rsCount = BO.m_Sql.Query(BO.m_cServer_cppermappstore,CPSql.BuildSQLPhrase(" count( distinct "+BO.m_cVirtName_cppermappstore+".pecodice) as reccount",CPLib.GetTablesWithAliases(BO.m_cPhName_cppermappstore,status.m_cAllVirtNames,BO.m_Ctx),l_cLastWhere,"")); } else { if (l_rsCount!=null) l_rsCount.Close(); l_rsCount = BO.m_Sql.Query(BO.m_cServer_cppermappstore,CPSql.BuildSQLPhrase(" count(*) as reccount","("+CPSql.BuildSQLPhrase(" distinct "+BO.m_cVirtName_cppermappstore+".pecodice",CPLib.GetTablesWithAliases(BO.m_cPhName_cppermappstore,status.m_cAllVirtNames,BO.m_Ctx),l_cLastWhere,"")+") CountFrom","","")); } try { status.m_nLastRec = l_rsCount.GetInt("reccount"); if (CPLib.eq(status.m_nLastRec,0)) { status.m_nRecPos = 0; } else { status.m_nRecPos = 1; } } finally { l_rsCount.Close(); } } else { status.m_nRecPos = 0; status.m_nLastRec = 0; } status.m_cMode = ""; } void View(ServletStatus status,spadministration_mobapppermissionsBO BO) { String _m = status.m_cMode; if ( ! (BO.m_bLoaded)) { Query(status,BO); LoadCurrentRecord(status,BO); } if (CPLib.eq(status.m_nChildStatus,0)) { if ( ! (status.m_bError) && ! (BO.m_bLoaded) && CPLib.ne(_m,"empty")) { status.m_cErrMsg = "MSG_RECORD_NOT_FOUND"; status.m_bError = true; status.m_bExit = true; if ( ! (CPLib.Empty(status.m_cAtExit)) && HasMarker(status,"@ERROR")) { // valorizzazione dei placeholder del workflow: qui e' gia' valorizzato status.m_cErrMsg SetWorkflowPlaceholders(status,BO); } } else { NotifyEvent("View",status,BO); } } status.m_cClientMode = "view"; } void Edit(ServletStatus status,spadministration_mobapppermissionsBO BO,SPParameterSource source) { BO.Load(status.w_pecodice); if (BO.m_bLoaded && BO.CanEdit()) { if (CPLib.eq(BO.Rows(),0)) { BO.w_pe__tipo = 0; BO.w_pecodute = 0; BO.w_pecodgrp = 0; BO.w_CPROWNUM = 0; BO.w_descrizione = ""; BO.w_descriGruppo = ""; BO.m_cOldRowCPCCCHK = ""; } else { BO.SetRow(0); } NotifyEvent("Edit Started",status,BO); // A valle dela NotifyEvent imposto le variabili passate da hyperlink e simili if (SetPassedWorkVars(status,BO,source,entityGlobals.keyColumns)) { // Posso che m_cMode="hyperlink" status.m_cMode = "edit"; status.m_cClientMode = "edit"; } else { status.m_cClientMode = "error"; } } else { if (BO.m_bLoaded) { status.m_cErrMsg = (CPLib.Empty(BO.LastErrorMessage())?"":BO.LastErrorMessage()); } else { status.m_cErrMsg = "MSG_RECORD_NOT_FOUND"; } status.m_bError = true; status.m_bExit = true; status.m_cClientMode = "query"; if ( ! (CPLib.Empty(status.m_cAtExit)) && HasMarker(status,"@ERROR")) { status.m_bExit = true; // valorizzazione dei placeholder del workflow: qui e' gia' valorizzato status.m_cErrMsg SetWorkflowPlaceholders(status,BO); } } if ( ! (CPLib.IsNull(source)) && source.Has("m_OnlyContext")) { status.m_cClientMode = "bringback"; } } void New(ServletStatus status,spadministration_mobapppermissionsBO BO,SPParameterSource source) { BO.Initialize(); if (BO.CanAdd()) { NotifyEvent("New record",status,BO); // A valle della NotifyEvent imposto le variabili passate da hyperlink e simili if (CPLib.IsNull(source) || SetPassedWorkVars(status,BO,source)) { // Posso che m_cMode="hyperlink" status.m_cMode = "new"; status.m_cClientMode = "new"; } else { status.m_cClientMode = "error"; } } else { status.m_cErrMsg = BO.m_cLastMsgError; status.m_bError = true; status.m_bExit = true; status.m_cClientMode = "query"; if ( ! (CPLib.Empty(status.m_cAtExit)) && HasMarker(status,"@ERROR")) { status.m_bExit = true; // valorizzazione dei placeholder del workflow: qui e' gia' valorizzato status.m_cErrMsg SetWorkflowPlaceholders(status,BO); } } if ( ! (CPLib.IsNull(source)) && source.Has("m_OnlyContext")) { status.m_cClientMode = "bringback"; } } void Write(ServletStatus status,spadministration_mobapppermissionsBO BO,SPParameterSource source) { boolean l_bResult = false; String l_cTrsMsgErr = ""; boolean l_bTrsOk = true; String l_cTransMsgErr = ""; if (HasAllKeys(status,source)) { Edit(status,BO,source); } else if (CPLib.eq(status.m_cAction,"write")) { status.m_bError = true; status.m_cClientMode = "error"; status.m_cErrMsg = "MSG_WRITE_FAILED_FOR_KEY"; } if ( ! (BO.m_bLoaded) && CPLib.eq(status.m_cAction,"writeload")) { status.m_cErrMsg = ""; status.m_bError = false; New(status,BO,source); } if ( ! (status.m_bError)) { l_bResult = BO.CanSave(); l_bResult = l_bResult && BO.BRCanSave(); if (l_bResult) { BO.m_Sql.BeginTransaction(); l_bResult = BO.Save(true); l_cTrsMsgErr = BO.m_Sql.TransactionErrorMessage(); l_bTrsOk = BO.m_Sql.EndTransaction(); if (l_bResult && l_bTrsOk && BO.IsUpdated()) { if (BO.m_bLoaded) { BO.NotifyEvent("Record Updated"); } else { BO.NotifyEvent("Record Inserted"); } } } if ( ! (CPLib.Empty(l_cTrsMsgErr))) { l_bResult = false; l_bTrsOk = false; if (BO.m_Sql.CanTranslateErrorMessage()) { l_cTrsMsgErr = status.context.Translate("MSG_CANNOT_SAVE_DATA"); } } if (l_bTrsOk && l_bResult) { status.m_bExit = true; status.m_cClientMode = "query"; } else { status.m_bError = true; status.m_cClientMode = "error"; if ( ! (l_bTrsOk)) { // Gestione dell'errore di transazione if (CPLib.ne(l_cTrsMsgErr,"")) { status.m_cErrMsg = l_cTrsMsgErr; } } else if ( ! (l_bResult)) { CheckErrorToBrowser(BO.m_nLastError,BO.LastErrorMessage(),status); } } } // la write non ha parte visuale status.m_cClientMode = "bringback"; } void LoadCurrentRecord(ServletStatus status,spadministration_mobapppermissionsBO BO) { // Dichiarazione del cursore locale del link CPResultSet l_rsKeys=null; l_rsKeys = QueryKeyCursor(BO,status); try { if (l_rsKeys.Eof()) { BO.Blank(); status.w_pecodice = ""; } else { BO.w_pecodice = l_rsKeys.GetString("pecodice"); // Ottimizzazione: liberata connessione database prima di eseguire la Load l_rsKeys.Close(); BO.Load(); status.w_pecodice = BO.w_pecodice; if (CPLib.eq(BO.Rows(),0)) { BO.w_pe__tipo = 0; BO.w_pecodute = 0; BO.w_pecodgrp = 0; BO.w_CPROWNUM = 0; BO.w_descrizione = ""; BO.w_descriGruppo = ""; BO.m_cOldRowCPCCCHK = ""; } else { BO.SetRow(0); } } } finally { // In ogni evenienza bisogna liberare la connessione del database l_rsKeys.Close(); } status.m_cClientMode = "query"; if (BO.m_bLoaded && ! (BO.CanView())) { status.m_cErrMsg = BO.LastErrorMessage(); status.m_bError = true; status.m_bExit = true; if ( ! (CPLib.Empty(status.m_cAtExit)) && HasMarker(status,"@ERROR")) { // valorizzazione dei placeholder del workflow: qui e' gia' valorizzato status.m_cErrMsg SetWorkflowPlaceholders(status,BO); } } } void EditLoad(ServletStatus status,spadministration_mobapppermissionsBO BO,SPParameterSource source) { Edit(status,BO,source); if ( ! (BO.m_bLoaded)) { status.m_cErrMsg = ""; status.m_bError = false; status.m_bExit = false; New(status,BO,source); } } void Delete(ServletStatus status,spadministration_mobapppermissionsBO BO,SPParameterSource source) { boolean l_bResult = false; String l_cTrsMsgErr = ""; boolean l_bTrsOk = true; // alla fine del metodo controllo se devo rispondere a JSURL boolean l_bBringBack = CPLib.eq(status.m_cMode,"hyperlink"); if (HasAllKeys(status,source)) { BO.m_Sql.BeginTransaction(); // la funzione CanDelete viene gestita dal BO l_bResult = BO.Delete(status.w_pecodice); l_cTrsMsgErr = BO.m_Sql.TransactionErrorMessage(); l_bTrsOk = BO.m_Sql.EndTransaction(); if (l_bResult && l_bTrsOk) { BO.NotifyEvent("Record Deleted"); status.m_bBODeleted = true; } status.m_cClientMode = "query"; if (l_bTrsOk) { if (CPLib.gt(status.m_nLastRec,1)) { if (CPLib.eq(status.m_nRecPos,status.m_nLastRec)) { status.m_nRecPos = status.m_nRecPos-1; } status.m_nLastRec = status.m_nLastRec-1; LoadCurrentRecord(status,BO); } else { status.m_nLastRec = 0; status.m_nRecPos = 0; BO.Blank(); } } else { status.m_bError = true; // Gestione dell'errore di transazione if (CPLib.ne(l_cTrsMsgErr,"")) { status.m_cErrMsg = l_cTrsMsgErr; } } status.m_bExit = true; } else { status.m_bError = true; status.m_cClientMode = "error"; status.m_cErrMsg = "MSG_DELETE_FAILED_FOR_KEY"; } if ( ! (l_bResult) && ! (CPLib.Empty(status.m_cAtExit)) && HasMarker(status,"@ERROR")) { status.m_bExit = true; // valorizzazione dei placeholder del workflow: qui e' gia' valorizzato status.m_cErrMsg SetWorkflowPlaceholders(status,BO); } else if (l_bBringBack) { status.m_cClientMode = "bringback"; } } void DeleteMessage(ServletStatus status,spadministration_mobapppermissionsBO BO,SPParameterSource source) { BO.Load(status.w_pecodice); status.m_cBOWarnMessageDeleted = status.context.Translate("MSG_PROCEED_WITH_DELETE"); status.m_bExit = true; status.m_cClientMode = "bringback"; } void Save(ServletStatus status,spadministration_mobapppermissionsBO BO) { boolean l_bResult = false; String l_cTrsMsgErr = ""; boolean l_bTrsOk = true; String l_cTransMsgErr = ""; BO.SetFromContext(status.m_cWv,status.m_Parameters); if (CheckVars(status,BO)) { if (( ! (BO.IsLoaded()) || status.CheckOP(BO.m_cOldCPCCCHK))) { l_bResult = BO.CanSave(); l_bResult = l_bResult && BO.BRCanSave(); if (l_bResult) { BO.m_Sql.BeginTransaction(); l_bResult = BO.Save(true); l_cTrsMsgErr = BO.m_Sql.TransactionErrorMessage(); l_bTrsOk = BO.m_Sql.EndTransaction(); if (l_bResult && l_bTrsOk && BO.IsUpdated()) { if (BO.m_bLoaded) { BO.NotifyEvent("Record Updated"); } else { BO.NotifyEvent("Record Inserted"); } } } if ( ! (CPLib.Empty(l_cTrsMsgErr))) { l_bResult = false; l_bTrsOk = false; if (BO.m_Sql.CanTranslateErrorMessage()) { l_cTrsMsgErr = status.context.Translate("MSG_CANNOT_SAVE_DATA"); } } } else { BO.m_cLastMsgError = "MSG_LOOK_INTO_COUNTERS"; BO.m_nLastError = 0; l_bResult = false; } } else { status.m_bError = true; status.m_bExit = true; status.m_cMode = "error"; BO.m_cLastMsgError = "MSG_ERROR_SAVING_CONFIG"; BO.m_nLastError = 0; l_bResult = false; } if (l_bTrsOk && l_bResult) { status.m_bExit = true; status.m_cOldKeysToRaiseParms = SPLib.ToJSValue("({pecodice:"+SPLib.ToJSValue(BO.w_pecodice,"C",10,0)+",action:"+SPLib.ToJSValue(status.m_cMode,"C",0,0)+"})","C",0,0); // valorizzazione dei placeholder del workflow: l'Initialize cancella i valori nel BO e solo in questo punto conosco i valori di campi in chiave sottoposti ad autonumber SetWorkflowPlaceholders(status,BO); if (CPLib.eq(status.m_cMode,"new")) { if (CPLib.ne(CPLib.Left(status.m_cAtExit,5),"close") && CPLib.ne(status.m_cAtExit,"edit")) { New(status,BO,null); } } else { status.m_cClientMode = "query"; } } else { status.m_bError = true; status.m_cClientMode = status.m_cMode; if ( ! (l_bTrsOk)) { // Gestione dell'errore di transazione if (CPLib.ne(l_cTrsMsgErr,"")) { status.m_cErrMsg = l_cTrsMsgErr; } } else if ( ! (l_bResult)) { CheckErrorToBrowser(BO.m_nLastError,BO.LastErrorMessage(),status); } if ( ! (CPLib.Empty(status.m_cAtExit)) && HasMarker(status,"@ERROR")) { status.m_bExit = true; // valorizzazione dei placeholder del workflow: qui e' gia' valorizzato status.m_cErrMsg SetWorkflowPlaceholders(status,BO); } } } void Discard(ServletStatus status,spadministration_mobapppermissionsBO BO) { BO.SetFromContext(status.m_cWv,status.m_Parameters); if (CPLib.eq(status.m_cMode,"edit")) { NotifyEvent("Edit Aborted",status,BO); } // valorizzazione dei placeholder del workflow: la blank puo' cancellare i valori preesistenti SetWorkflowPlaceholders(status,BO); if (CPLib.eq(status.m_cMode,"new")) { NotifyEvent("New record aborted",status,BO); BO.Blank(); } else if (CPLib.eq(status.m_cMode,"edit") && CPLib.ne(CPLib.Left(status.m_cAtExit,5),"close") && CPLib.ne(status.m_cAtExit,"autozoom")) { LoadCurrentRecord(status,BO); } status.m_cClientMode = "query"; status.m_bExit = true; } void CreatePortlet(ServletStatus status,spadministration_mobapppermissionsBO BO) { org.json.JSONArray items = new org.json.JSONArray(); org.json.JSONObject item = new org.json.JSONObject(); item.put("type","Form"); item.put("description",entityGlobals.userName); item.put("h",193); item.put("w",601); item.put("color","transparent"); item.put("form_type","false"); item.put("security","none"); item.put("sp_theme","false"); item.put("language","true"); org.json.JSONObject pageProp = null; org.json.JSONArray pagesProp = null; pagesProp = new org.json.JSONArray(); pageProp = new org.json.JSONObject("{\"h\":300,\"layer\":\"\",\"layout_steps_values\":{},\"title\":\"Page 1\",\"w\":400}"); pagesProp.put(pageProp); item.put("pagesProp",pagesProp); item.put("pages_names","Page 1"); item.put("altInterfaceFor","spadministration_mobapppermissions"); items.put(item); String s; org.json.JSONObject ctrl = null; s = "{\"h\":25,\"name\":\"label_LYDVWZOYTB\",\"page\":1,\"spuid\":\"LYDVWZOYTB\",\"tabindex\":3,\"type\":\"Label\",\"value\":\"CP_GROUPS_AND_USERS\",\"w\":200,\"x\":138,\"y\":10,\"zone\":\"pag1_1\",\"zonepath\":\"[1,1]\"}"; ctrl = new org.json.JSONObject(s); items.put(ctrl); s = "{\"h\":25,\"name\":\"label_DEWPHIPEBI\",\"page\":1,\"spuid\":\"DEWPHIPEBI\",\"tabindex\":2,\"type\":\"Label\",\"value\":\"Type\",\"w\":139,\"x\":11,\"y\":10,\"zone\":\"pag1_1\",\"zonepath\":\"[1,1]\"}"; ctrl = new org.json.JSONObject(s); items.put(ctrl); s = "{\"h\":152,\"name\":\"BodyDetail0\",\"page\":1,\"spuid\":\"DYWFHPNEHY\",\"type\":\"BodyDetail\",\"w\":626,\"x\":11,\"y\":36,\"zone\":\"pag1_1\",\"zonepath\":\"[1,1]\"}"; ctrl = new org.json.JSONObject(s); items.put(ctrl); s = "{\"bg_color\":\"transparent\",\"box_name\":\"__body__grid__\",\"box_type\":\"layer\",\"h\":55,\"name\":\"Body_Row\",\"page\":1,\"shrinkable\":true,\"spuid\":\"AURVYVDWDT\",\"type\":\"Box\",\"w\":570,\"x\":11,\"y\":9,\"zone\":\"pag1_2\",\"zonepath\":\"[1,2]\"}"; ctrl = new org.json.JSONObject(s); items.put(ctrl); s = "{\"comment\":\"MOBAPPSTORE_TYPE\",\"empty_value\":\"false\",\"h\":26,\"maxlength\":4,\"name\":\"pe__tipo\",\"page\":1,\"repeated\":true,\"spuid\":\"FPUPHODRZY\",\"tabindex\":1,\"textlist\":\"Gruppo,Utente\",\"type\":\"Combobox\",\"typevar\":\"numeric\",\"valuelist\":\"0,1\",\"w\":121,\"x\":11,\"y\":38,\"zone\":\"pag1_2_1\",\"zonepath\":\"[1,2,1]\"}"; ctrl = new org.json.JSONObject(s); items.put(ctrl); s = "{\"check\":\"file\",\"comment\":\"Codice gruppo\",\"h\":26,\"maxlength\":9,\"name\":\"pecodgrp\",\"page\":1,\"picker\":true,\"repeated\":true,\"spuid\":\"XHHDJCAPOZ\",\"tabindex\":3,\"type\":\"Textbox\",\"typevar\":\"numeric\",\"w\":55,\"x\":138,\"y\":38,\"zone\":\"pag1_2_1\",\"zonepath\":\"[1,2,1]\",\"zoom\":\"usrz\"}"; ctrl = new org.json.JSONObject(s); items.put(ctrl); s = "{\"comment\":\"ADMIN_NAME\",\"disabled\":\"true\",\"h\":26,\"maxlength\":50,\"name\":\"descrizione\",\"page\":1,\"readonly\":\"true\",\"repeated\":true,\"spuid\":\"WWAXDSWHMO\",\"type\":\"Textbox\",\"typevar\":\"character\",\"w\":363,\"x\":218,\"y\":38,\"zone\":\"pag1_2_1\",\"zonepath\":\"[1,2,1]\"}"; ctrl = new org.json.JSONObject(s); items.put(ctrl); s = "{\"comment\":\"ADMIN_NAME\",\"disabled\":\"true\",\"h\":26,\"maxlength\":50,\"name\":\"descriGruppo\",\"page\":1,\"readonly\":\"true\",\"repeated\":true,\"spuid\":\"NHPLJCHIJC\",\"type\":\"Textbox\",\"typevar\":\"character\",\"w\":363,\"x\":218,\"y\":38,\"zone\":\"pag1_2_1\",\"zonepath\":\"[1,2,1]\"}"; ctrl = new org.json.JSONObject(s); items.put(ctrl); s = "{\"check\":\"file\",\"comment\":\"Codice utente\",\"h\":26,\"maxlength\":9,\"name\":\"pecodute\",\"page\":1,\"picker\":true,\"repeated\":true,\"spuid\":\"ROTQXTGDQV\",\"tabindex\":2,\"type\":\"Textbox\",\"typevar\":\"numeric\",\"w\":55,\"x\":138,\"y\":38,\"zone\":\"pag1_2_1\",\"zonepath\":\"[1,2,1]\",\"zoom\":\"stdz\"}"; ctrl = new org.json.JSONObject(s); items.put(ctrl); CPLib.addExtFieldsToJson(items,BO.extendedFields); SPLib.SetMimeType(status.response,"application/json"); items.write(status.out); } void DeleteRow(ServletStatus status,spadministration_mobapppermissionsBO BO,SPParameterSource source) { int l_nRow = 0; boolean l_bFound = false; boolean l_bTrsOk = true; boolean l_bBringBack = CPLib.eq(status.m_cMode,"hyperlink"); BO.Load(status.w_pecodice); if (BO.m_bLoaded) { while (CPLib.lt(l_nRow,BO.m_oTrs.size()) && ! (l_bFound)) { l_bFound = CPLib.eqr(source.GetParameter("CPROWNUM",0),BO.m_oTrs.get(l_nRow).w_CPROWNUM); if ( ! (l_bFound)) { l_nRow = l_nRow+1; } } if (l_bFound) { BO.SetRow(l_nRow); if (BO.CanDeleteRow()) { BO.m_Sql.BeginTransaction(); BO.DeleteRow(); BO.Update(); l_bTrsOk = BO.m_Sql.EndTransaction(); if (l_bTrsOk) { status.m_bBODeleted = true; } else { status.m_bError = true; status.m_cErrMsg = BO.m_Sql.TransactionErrorMessage(); } } else { status.m_bError = true; if (CPLib.ne(BO.m_cLastMsgError,"")) { status.m_cErrMsg = BO.m_cLastMsgError; } } } } else { status.m_bError = true; // Gestione dell'errore di transazione if (CPLib.ne(BO.m_cLastMsgError,"")) { status.m_cErrMsg = BO.m_cLastMsgError; } } if (l_bBringBack) { status.m_cClientMode = "bringback"; } } void WriteFormPage(spadministration_mobapppermissionsBO BO,ServletStatus status) { status.themeWriter = new SPTheme(status.out,status.GetThemeStatus("",status.context.Translate(entityGlobals.userName),status.context.Translate("MSG_FORM_FUNCTION_"+status.m_cClientMode.toUpperCase())),"form"); status.out.println( "" + ""); status.out.println( "" + ""); status.out.println( "" + ""); status.WriteSkinnedCss(); status.out.println( "" + ""); WriteMetaTags(status); String l_cJsUid; com.zucchetti.sitepainter.Library.WriteLegacyScripts(status.request,status.out); com.zucchetti.sitepainter.Library.WriteFrameworkScripts(status.request,status.out); status.out.println( "" + ""); l_cJsUid = SPPrxycizer.proxycizedPath("stdFunctions.js"); status.out.println( "" + ""); if (com.zucchetti.sitepainter.Library.IsMobile(status.request)) { l_cJsUid = SPPrxycizer.proxycizedPath("spmobilelib.js"); status.out.println( "" + ""); } status.out.println( "" + ""); l_cJsUid = SPPrxycizer.proxycizedPath("controls.js"); status.out.println( "" + ""); if (status.is_live_editing) { l_cJsUid = SPPrxycizer.proxycizedPath("visualweb/VisualWEB.js"); status.out.println( "" + ""); l_cJsUid = SPPrxycizer.proxycizedPath("LiveEditing.js"); status.out.println( "" + ""); } l_cJsUid = SPPrxycizer.proxycizedPath("SPBOUILib.js"); status.out.println( "" + ""); if (CPLib.gt(BO.extendedFields.length,0)) { l_cJsUid = SPPrxycizer.proxycizedPath("ExtendedFields.js"); status.out.println( "" + ""); } if (CPLib.eq(status.m_cClientMode,"query") || CPLib.eq(status.m_cClientMode,"view")) { status.out.println( "" + ""); } else if (CPLib.eq(status.m_cClientMode,"new") || CPLib.eq(status.m_cClientMode,"edit")) { status.out.println( "" + ""); } if (CPLib.eq(status.m_cClientMode,"painter")) { l_cJsUid = SPPrxycizer.proxycizedPath("sppainterentity.js"); status.out.println( "" + ""); PrintPainterProps(status); status.out.println( "" + ""); } else { status.out.println( "" + ""); } IncludeJS(status); RaiseSavedEntity(BO,status); RaiseDeletedEntity(BO,status); RaiseDiscardedEntity(BO,status); // Dichiarazione delle variabili di script WriteMainFormVarScript(BO,status); l_cJsUid = SPPrxycizer.proxycizedPath(status.m_cTheme+"/styleVariables.js"); status.out.println( "" + ""); l_cJsUid = SPPrxycizer.proxycizedPath(status.m_cTheme+"/calendar.js"); status.out.println( "" + ""); l_cJsUid = SPPrxycizer.proxycizedPath(status.m_cTheme+"/calculator.js"); status.out.println( "" + ""); if (CPLib.ne(status.m_bAutoResize,"")) { status.out.println( "" + ""); } if (CPLib.gt(BO.extendedFields.length,0) || CPLib.HasTabFoundlings(BO.m_MNTs,"")) { l_cJsUid = SPPrxycizer.proxycizedPath(status.m_cTheme+"/tabStrip.js"); status.out.println( "" + ""); } status.themeWriter.WriteInclude(); l_cJsUid = SPPrxycizer.proxycizedPath("SPBOUILib.Row.js"); status.out.println( "" + ""); l_cJsUid = SPPrxycizer.proxycizedPath("tablefuncts.js"); status.out.println( "" + ""); WriteStyles(BO,status); status.out.println( "" + ""+SPLib.ToHTMLRepresentation(status.context.Translate(entityGlobals.userName))+"" + "" + ""); status.out.println( "" + ""); status.m_cBodyAttributes = "onload=OnLoad() onunload=OnUnload() onhelp=CancelHelp()"; if (CPLib.eq(status.m_cClientMode,"edit") || CPLib.eq(status.m_cClientMode,"new")) { status.m_cBodyAttributes = status.m_cBodyAttributes+" onkeydown=window.ManageKeys(event,false,false)"; } else { status.m_cBodyAttributes = status.m_cBodyAttributes+" onkeydown=window.ManageKeys(event,true,false)"; } status.m_cBodyAttributes = status.m_cBodyAttributes+" onfocus=EnsureControlFocus()"; status.themeWriter.WriteBody_Begin(193,status.m_cBodyAttributes,status.context.Translate("MSG_LOADING")+"..."); status.out.println( "" + ""); WriteMainFormScript(BO,status); status.AssignOP(BO.m_cOldCPCCCHK); status.WriteSenderForm(entityGlobals,BO.m_bLoaded); WriteMainForm(BO,status); status.themeWriter.WriteBody_EndHtml(); status.themeWriter.WriteBody_End(); PrintWarns(BO,status,BO.IsLoaded()); status.out.println( "" + ""); } void OpenZoom(ServletStatus status,SPParameterSource source) { ForwardZoom("../jsp/SPPortalZoom.jsp",status,source); } void OpenPSZoom(ServletStatus status,SPParameterSource source) { ForwardZoom("../jsp/SPPortalZoomBase_portlet.jsp",status,source); } void ForwardZoom(String p_cForwardZoomResource,ServletStatus status,SPParameterSource source) { SPLib.NoCache(status.response); Forward f; f = new Forward(SPLib.GetZoomResource(p_cForwardZoomResource),false,Forward.Start,false); f.SetParameter("Table","cppermappstore"); f.SetParameter("Autozoom",entityGlobals.name); f.SetParameter("PKFields","pecodice"); f.SetParameter("Popup","true"); f.SetParameter("m_cAtExit",(SPLib.IsMobile(status.request)?"autozoom":"close")); f.SetParameter("Caption",status.context.Translate(entityGlobals.userName)); if ( ! (CPLib.Empty(entityGlobals.m_cZoomConfigName))) { f.SetParameter("ConfigName",entityGlobals.m_cZoomConfigName); } SetParameterSequence(source,f,status.request); status.forwardedto = f; } void RaiseLoadedEntity(spadministration_mobapppermissionsBO BO,ServletStatus status) { RaiseEventLoadedEntity(status,SPLib.ToJSValue("({pecodice:"+SPLib.ToJSValue(BO.w_pecodice,"C",10,0)+",action:"+SPLib.ToJSValue(status.m_cClientMode,"C",0,0)+"})","C",0,0)); } void RaiseSavedEntity(spadministration_mobapppermissionsBO BO,ServletStatus status) { if (CPLib.eq(status.m_cAction,"save") && ! (status.m_bError)) { status.out.println( "" + ""); } } void RaiseDeletedEntity(spadministration_mobapppermissionsBO BO,ServletStatus status) { if (CPLib.eq(status.m_cAction,"delete") && ! (status.m_bError)) { status.out.println( "" + ""); } } void RaiseDiscardedEntity(spadministration_mobapppermissionsBO BO,ServletStatus status) { if (CPLib.eq(status.m_cAction,"discard")) { status.out.println( "" + ""); } } void WriteExitPage(spadministration_mobapppermissionsBO BO,ServletStatus status,Forward f) { WriteExitPage(status,SPLib.ToJSValue("({pecodice:"+SPLib.ToJSValue(BO.w_pecodice,"C",10,0)+",action:"+SPLib.ToJSValue(status.m_cMode,"C",0,0)+"})","C",0,0), f); } void WriteExitPage(spadministration_mobapppermissionsBO BO,ServletStatus status) { WriteExitPage(BO,status,Forward.Unforwarded); } protected void BringBackPage(spadministration_mobapppermissionsBO BO,ServletStatus status) throws IOException { if (CPLib.eq(BO.m_nLastError,4) || CPLib.eq(BO.m_nLastError,5)) { RequestPwdOrOTP(status,(CPLib.eq(BO.m_nLastError,5)?"OTP":"password")); return; } String msg = status.context.Translate("MSG_END_ROUTINE"); SPLib.SetContentType(status.response); SPLib.NoCache(status.response); status.out = status.response.getWriter(); String l_cJsUid; status.out.println( "" + ""); status.out.println( "" + ""); status.out.println( "" + ""+status.context.Translate("MSG_ROUTINE_WIND")+"" + "" + ""); l_cJsUid = SPPrxycizer.proxycizedPath("stdFunctions.js"); status.out.println( "" + ""); l_cJsUid = SPPrxycizer.proxycizedPath("controls.js"); status.out.println( "" + ""); if (status.m_bError) { msg = status.context.Translate("MSG_END_ROUTINE_WITH_MSG"); status.out.println( "" + ""); } else { status.out.println( "" + ""); } status.out.println( "

" + ""+msg+"" + "

" + ""); String l_cPreviousErr = status.m_cErrMsg; String l_cUserErr = status.m_cErrMsg; if (status.m_bError) { status.out.println( "" + ""); } status.out.println( "" + ""); } void IncludeJS(ServletStatus status) { String l_cJsUid; /* --- Area Manuale = UI - Include */ /* --- Fine Area Manuale */ } // m_CallableNames inizializzato dal primo accesso a GetCallableNames private static volatile String[] m_CallableNames; public static String[] GetCallableNames() { if (CPLib.IsNull(m_CallableNames)) { java.util.Set building = new java.util.HashSet(); GetCallableNames(building); m_CallableNames = CPLib.SetOfStringsAsArray(building); } return (String[])m_CallableNames.clone(); } public static void GetCallableNames(java.util.Set callable) { if (CPLib.IsNull(m_CallableNames)) { } else { CPLib.AddStringsToSet(callable,m_CallableNames); } } void AppendCallableIDS(ServletStatus status,String sep) { } public String GetCheckVars(ServletStatus status,spadministration_mobapppermissionsBO BO,String p_cUID) { com.zucchetti.sitepainter.Library.HashCreator hCreator = com.zucchetti.sitepainter.Library.GetHashCreator(); hCreator.Reset(); if (CPLib.eq(p_cUID,m_cEntityUid)) { hCreator.AddValue(CPLib.BoolToChar(BO.IsLoaded())); if (BO.IsLoaded()) { hCreator.AddValue(BO.m_cOldCPCCCHK); hCreator.AddValue(CPLib.ToSQL(CPLib.Trim(BO.w_pecodice),"C",10,0)); } } else if (CPLib.eq(p_cUID,"ROTQXTGDQV")) { SPLib.FillLinkHash(hCreator,BO.GetLinkProperties(p_cUID),BO); } else if (CPLib.eq(p_cUID,"XHHDJCAPOZ")) { SPLib.FillLinkHash(hCreator,BO.GetLinkProperties(p_cUID),BO); } return GetEntityHash(p_cUID,status,hCreator); } public boolean CheckVars(ServletStatus status,spadministration_mobapppermissionsBO BO) { boolean result = true; if (SPServlet.m_nEnableCheckHash) { String a = GetCheckVars(status,BO,m_cEntityUid); String b = status.m_CheckVars.optString("_"); result = CPLib.eq(a,b); int l_nRow = 0; org.json.JSONObject _detail = status.m_CheckVars.optJSONObject("_detail"); if (CPLib.IsNull(_detail)) { _detail = new org.json.JSONObject(); } while (CPLib.lt(l_nRow,BO.Rows())) { BO.SetRow(l_nRow); if (BO.IsRowUpdated()) { org.json.JSONObject _row = _detail.optJSONObject(String.valueOf(l_nRow)); if (CPLib.IsNull(_row)) { _row = new org.json.JSONObject(); } if (result && ! (CPLib.Empty(BO.w_pecodute))) { a = GetCheckVars(status,BO,"ROTQXTGDQV"); b = _row.optString("ROTQXTGDQV"); result = CPLib.eq(a,b); } if (result && ! (CPLib.Empty(BO.w_pecodgrp))) { a = GetCheckVars(status,BO,"XHHDJCAPOZ"); b = _row.optString("XHHDJCAPOZ"); result = CPLib.eq(a,b); } } l_nRow = l_nRow+1; } } return result; } }