PortaleOrdiniGruppo/PostIn/postin.java
2025-03-24 15:28:26 +01:00

1732 lines
78 KiB
Java
Raw Permalink Blame History

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 postin extends SPServlet implements SPInvokable {
public static String m_cEntityUid = "!*543b70bb*!";
static public class ServletStatus extends SPMasterServletStatus {
ServletStatus() {
m_cAllVirtNames = "postit";
}
public String w_code;
public void BuildLastWhereFromPK() {
if (CPLib.Empty(m_cLastWhere)) {
m_cLastWhere = m_cLastWhere+CPLib.BuildLastWhereFromPK(w_code,context,"postit","code","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(
"<input name='code' type='hidden' value="+SPLib.ToHTMLValue(w_code,"C",10,0)+">" +
"");
}
}
}
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
postinBO BO;
BO = getBO(status);
BO.m_bSkipCheckOTPSecurity = false;
status.m_cVirtName = BO.m_cVirtName_postit;
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);
}
// * --- 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_code = BO.w_code;
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 "Post-In";
}
public SPEntityGlobals getEntityGlobals() {
// Costanti globali dell' entita'
SPEntityGlobals l_eg = new SPEntityGlobals();
l_eg.name = "postin";
l_eg.userName = getEntityTitle();
l_eg.m_nEntityWidth = 594;
l_eg.m_nEntityHeight = 369;
l_eg.isPublic = false;
l_eg.canAccess = true;
l_eg.canInsert = true;
l_eg.canChange = true;
l_eg.canDelete = true;
l_eg.m_cStates = "[]";
l_eg.zoomableTables = new String[]{"postit","postit"};
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[]{"code"};
l_eg.items = new SPItem[]{
new SPItem("code","C",10,0, "edit","Code"),
new SPItem("usercode","N",4,0, "edit","User"),
new SPItem("created","T",14,0, "edit","Created on"),
new SPItem("createdby","N",4,0, "edit","Creator"),
new SPItem("subject","C",100,0, "edit","Subject"),
new SPItem("postit","M",10,0, "edit","Message"),
new SPItem("datestart","T",14,0, "edit","Validity start"),
new SPItem("datestop","T",14,0, "edit","Validity end"),
new SPItem("father","C",10,0, "edit","Father code"),
new SPItem("checked","L",1,0, "edit","Is read"),
new SPItem("folder","L",1,0, "edit","Is folder"),
new SPItem("status","C",3,0, "edit","Status"),
new SPItem("cplevel","C",1,0, "edit","Level"),
new SPItem("cpimage","C",100,0, "edit","Image"),
new SPItem("riletta","C",10,0, "hide","")
};
l_eg.m_lHasHistorical = false;
return l_eg;
}
ArrayList<org.json.JSONArray> 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,postinBO 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<org.json.JSONArray> 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[][]{{"11154119701",p_Context.Translate("Is folder")},
{"126595894",p_Context.Translate("Folder")},
{"128755859",p_Context.Translate("Status")},
{"1468818949",p_Context.Translate("Father code")},
{"1786529657",p_Context.Translate("Is read")},
{"1791656882",p_Context.Translate("Created on")},
{"1809361309",p_Context.Translate("Message")},
{"184661718",p_Context.Translate("Validity end")},
{"1925495360",p_Context.Translate("Post-In")},
{"2037021795",p_Context.Translate("Creator")},
{"2057046435",p_Context.Translate("Subject")},
{"313757110",p_Context.Translate("Validity start")},
{"436130",p_Context.Translate("Read")},
{"441139",p_Context.Translate("Code")},
{"494725",p_Context.Translate("User")},
{"7067673",p_Context.Translate("Image")},
{"7523484",p_Context.Translate("Level")}};
return l_translations;
}
void WriteStyles(postinBO BO,ServletStatus status) {
if ( ! ( ! (CPLib.Empty(status.m_cAltInterface)))) {
status.out.println(
"<link type='text/css' rel='stylesheet' href='../postin.css?"+m_cEntityUid+"'>" +
"");
}
if (CPLib.eq(status.m_cClientMode,"painter")) {
status.out.println(
"<link type='text/css' rel='stylesheet' href='../"+SPPrxycizer.proxycizedPath(status.m_cTheme + "/spadministration_security.css", SPPrxycizer.Mode.QUERYSTRING)+"'>" +
"");
}
}
void WriteMainForm(postinBO BO,ServletStatus status) {
status.out.println(
"<div id='FrmMain' class='FormDefault'>" +
"");
status.out.println(
"<script>" +
"");
status.out.println("if ( ! (Empty(m_cLayerInterface))) {");
status.out.println("document.getElementById('FrmMain').style.display='none';");
status.out.println("}");
status.out.println(
"</script>" +
"");
status.out.println(
"<div id='subTitleContainer' class='subTitleContainer' style='display:none'>" +
"</div>" +
"");
status.out.println(
"<script>" +
"");
status.out.println("SetSubTitle("+SPLib.ToJSValue(status.context.Translate(""),"C",0,0)+");");
status.out.println(
"</script>" +
"");
if (CPLib.gt(BO.extendedFields.length,0) || CPLib.HasTabFoundlings(BO.m_MNTs,"")) {
status.out.println(
"<div id='tabsContainer'>" +
" " +
"</div>" +
"");
}
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);
} else {
WriteControls(BO,status);
}
status.out.println(
"<script>" +
"");
if (CPLib.gt(BO.extendedFields.length,0) || CPLib.HasTabFoundlings(BO.m_MNTs,"")) {
status.out.println("if ( ! (Z.Tabs.Has('tabs'))) {");
status.out.println("var tabs = new Z.Tabs({container:'tabsContainer',useseparator:GetStyleVariable('formTabUseSeparator', false, ''),expandcollapse:(typeof(sv_TabstripCanCollapse)!='undefined'?sv_TabstripCanCollapse:GetStyleVariable('formTabCanCollapse', false, '')),contents:[{name:\"page_1\", element:\"page_1\", caption:"+SPLib.ToJSValue(status.context.Translate("MSG_PAGE_NUMBER","1"),"C",0,0)+"}],tabstrip_class: ''});Z.Tabs.UseDeprecation();");
status.out.println("Z.Tabs.Set('tabs',tabs);");
status.out.println("} else {");
status.out.println("var tabs = Z.Tabs.Get('tabs')");
status.out.println("}");
AddExtendedTabs(status);
status.out.println("Z.Tabs.Get('tabs').InitSelect('postin',false);");
}
status.out.println(
"</script>" +
"");
PrintPwdOTPDiv(status,"postin",BO.m_bLoaded,(BO.m_bLoaded?false:false),(BO.m_bLoaded?false:false));
status.out.println(
"</div>" +
"");
}
void WriteControls(postinBO BO,ServletStatus status) {
WriteControls_p1(BO,status);
PrintNotifyContent(status,getNotifyItems());
WriteExtendedTabs(BO.m_MNTs,BO.extendedFields,status,2);
}
void WriteControls_p1(postinBO BO,ServletStatus status) {
status.out.println(
"<div id='page_1' class='PageContainer' style='position:relative;height:369px;width:594px;display:none'>" +
"");
WriteControls_p1_b0(BO,status);
WriteExtendedCBoxChildren(BO.m_MNTs,status,1,"PAGE_1");
PrintSidebarContent(1,status,getSidebarItems(0),false);
PrintContextMenu(1,status,getContextMenu(0),"postin");
status.out.println(
"</div>" +
"");
if ( ! (CPLib.gt(BO.extendedFields.length,0) || CPLib.HasTabFoundlings(BO.m_MNTs,""))) {
status.out.println(
"<script>" +
"");
status.out.println("Ctrl('page_1').style.display='block';");
status.out.println(
"</script>" +
"");
}
}
void WriteControls_p1_b0(postinBO BO,ServletStatus status) {
status.out.println(
"<div style='position:relative;height:369px'>" +
"");
status.m_nTabIndex = status.m_nTabIndex+(1);
status.out.println(
"<input name='code' id='BCQUQHSVHA' type='text' class='Field PrimaryKeyField "+(CPLib.eq(status.m_cClientMode,"edit") || CPLib.eq(status.m_cClientMode,"view")?"Disabled":"")+"' value="+SPLib.ToHTMLValue(BO.w_code,"C",10,0,"", status.m_oRegSettings)+" tabindex='"+(CPLib.eq(status.m_cClientMode,"edit") || CPLib.eq(status.m_cClientMode,"view")?"-1":""+status.m_nTabIndex+"")+"' curTabIndex='"+status.m_nTabIndex+"' "+(CPLib.eq(status.m_cClientMode,"edit") || CPLib.eq(status.m_cClientMode,"view")?"readonly":"")+" maxlength='10' size='10' fieldtype='C'>" +
"");
status.out.println(
"<span class='SPLabel' id='VCPAGXUVHH_DIV'>" +
"<label id='VCPAGXUVHH'>" +
""+SPLib.ToHTMLRepresentation(status.context.Translate("Code:"))+"" +
"</label>" +
"</span>" +
"");
status.m_nTabIndex = status.m_nTabIndex+(1);
status.out.println(
"<input name='usercode' id='RZCOBBMPUG' type='text' class='Field' value="+SPLib.ToHTMLValue(BO.w_usercode,"N",4,0,"9999", status.m_oRegSettings)+" tabindex='"+status.m_nTabIndex+"' curTabIndex='"+status.m_nTabIndex+"' maxlength='7' size='4' fieldtype='N'>" +
"");
status.out.println(
"<span class='SPLabel' id='QUZVSRJQWX_DIV'>" +
"<label id='QUZVSRJQWX'>" +
""+SPLib.ToHTMLRepresentation(status.context.Translate("User:"))+"" +
"</label>" +
"</span>" +
"");
status.m_nTabIndex = status.m_nTabIndex+(1);
status.out.println(
"<input name='created' id='PHWSEAXWQH' type='text' class='Field' value="+SPLib.ToHTMLValue(BO.w_created,"T",14,0,SPLib.GetUserDateTimePicture(status.context.GetLanguage(),"DD-MM-YYYY hh:mm:ss"), status.m_oRegSettings)+" tabindex='"+status.m_nTabIndex+"' curTabIndex='"+status.m_nTabIndex+"' maxlength='19' size='14' fieldtype='T'>" +
"<button id='PHWSEAXWQH_ZOOM' type='button' class='CalendarButton"+(CPLib.eq(status.m_cClientMode,"query") || CPLib.eq(status.m_cClientMode,"view")?"Disabled":"Enabled")+"' tabindex='-1' "+(CPLib.eq(status.m_cClientMode,"view") || CPLib.eq(status.m_cClientMode,"query")?"disabled":"")+">" +
"</button>" +
"");
status.out.println(
"<span class='SPLabel' id='JVPRDBQGZJ_DIV'>" +
"<label id='JVPRDBQGZJ'>" +
""+SPLib.ToHTMLRepresentation(status.context.Translate("Created on:"))+"" +
"</label>" +
"</span>" +
"");
status.m_nTabIndex = status.m_nTabIndex+(1);
status.out.println(
"<input name='createdby' id='RFYKNTRJVM' type='text' class='Field' value="+SPLib.ToHTMLValue(BO.w_createdby,"N",4,0,"9999", status.m_oRegSettings)+" tabindex='"+status.m_nTabIndex+"' curTabIndex='"+status.m_nTabIndex+"' maxlength='7' size='4' fieldtype='N' style='display:none'>" +
"");
status.m_nTabIndex = status.m_nTabIndex+(1);
status.out.println(
"<input name='subject' id='ZMTIEIPJHV' type='text' class='Field' value="+SPLib.ToHTMLValue(BO.w_subject,"C",100,0,"", status.m_oRegSettings)+" tabindex='"+status.m_nTabIndex+"' curTabIndex='"+status.m_nTabIndex+"' maxlength='100' size='100' fieldtype='C'>" +
"");
status.out.println(
"<span class='SPLabel' id='XZUZDKMXTO_DIV'>" +
"<label id='XZUZDKMXTO'>" +
""+SPLib.ToHTMLRepresentation(status.context.Translate("Subject:"))+"" +
"</label>" +
"</span>" +
"");
status.m_nTabIndex = status.m_nTabIndex+(1);
status.out.println(
"<textarea name='postit' id='EAHVWXEIRA' class='Memo' tabindex='"+status.m_nTabIndex+"' curTabIndex='"+status.m_nTabIndex+"' cols='20' rows='2'>" +
"</textarea>" +
"");
status.out.println(
"<span class='SPLabel' id='ILLJORMYYL_DIV'>" +
"<label id='ILLJORMYYL'>" +
""+SPLib.ToHTMLRepresentation(status.context.Translate("Message:"))+"" +
"</label>" +
"</span>" +
"");
status.m_nTabIndex = status.m_nTabIndex+(1);
status.out.println(
"<input name='datestart' id='TXUEBCKCPL' type='text' class='Field' value="+SPLib.ToHTMLValue(BO.w_datestart,"T",14,0,SPLib.GetUserDateTimePicture(status.context.GetLanguage(),"DD-MM-YYYY hh:mm:ss"), status.m_oRegSettings)+" tabindex='"+status.m_nTabIndex+"' curTabIndex='"+status.m_nTabIndex+"' maxlength='19' size='14' fieldtype='T'>" +
"<button id='TXUEBCKCPL_ZOOM' type='button' class='CalendarButton"+(CPLib.eq(status.m_cClientMode,"query") || CPLib.eq(status.m_cClientMode,"view")?"Disabled":"Enabled")+"' tabindex='-1' "+(CPLib.eq(status.m_cClientMode,"view") || CPLib.eq(status.m_cClientMode,"query")?"disabled":"")+">" +
"</button>" +
"");
status.out.println(
"<span class='SPLabel' id='GVZPAACBLV_DIV'>" +
"<label id='GVZPAACBLV'>" +
""+SPLib.ToHTMLRepresentation(status.context.Translate("Validity start:"))+"" +
"</label>" +
"</span>" +
"");
status.m_nTabIndex = status.m_nTabIndex+(1);
status.out.println(
"<input name='datestop' id='WQMDIIYRRS' type='text' class='Field' value="+SPLib.ToHTMLValue(BO.w_datestop,"T",14,0,SPLib.GetUserDateTimePicture(status.context.GetLanguage(),"DD-MM-YYYY hh:mm:ss"), status.m_oRegSettings)+" tabindex='"+status.m_nTabIndex+"' curTabIndex='"+status.m_nTabIndex+"' maxlength='19' size='14' fieldtype='T'>" +
"<button id='WQMDIIYRRS_ZOOM' type='button' class='CalendarButton"+(CPLib.eq(status.m_cClientMode,"query") || CPLib.eq(status.m_cClientMode,"view")?"Disabled":"Enabled")+"' tabindex='-1' "+(CPLib.eq(status.m_cClientMode,"view") || CPLib.eq(status.m_cClientMode,"query")?"disabled":"")+">" +
"</button>" +
"");
status.out.println(
"<span class='SPLabel' id='UYZMNEIJFT_DIV'>" +
"<label id='UYZMNEIJFT'>" +
""+SPLib.ToHTMLRepresentation(status.context.Translate("Validity end:"))+"" +
"</label>" +
"</span>" +
"");
status.m_nTabIndex = status.m_nTabIndex+(1);
status.out.println(
"<input name='father' id='SYNZZNFBRZ' type='text' class='Field' value="+SPLib.ToHTMLValue(BO.w_father,"C",10,0,"", status.m_oRegSettings)+" tabindex='"+status.m_nTabIndex+"' curTabIndex='"+status.m_nTabIndex+"' maxlength='10' size='10' fieldtype='C'>" +
"");
status.out.println(
"<span class='SPLabel' id='HQSAXCQRXP_DIV'>" +
"<label id='HQSAXCQRXP'>" +
""+SPLib.ToHTMLRepresentation(status.context.Translate("Father code:"))+"" +
"</label>" +
"</span>" +
"");
status.m_nTabIndex = status.m_nTabIndex+(1);
status.out.println(
"<span id='EBLPRYMRMA_DIV'>" +
"<input name='checked' id='EBLPRYMRMA' type='checkbox' value="+SPLib.ToHTMLValue(BO.w_checked,"L",1,0,"", status.m_oRegSettings)+" tabindex='"+status.m_nTabIndex+"' curTabIndex='"+status.m_nTabIndex+"' "+(CPLib.eq(true,BO.w_checked)?"CHECKED":"")+">" +
"<label id='EBLPRYMRMA_LBL' for='EBLPRYMRMA' class='SPLabel'>"+SPLib.ToHTMLRepresentation(status.context.Translate("Read"))+"</label>" +
"</span>" +
"");
status.m_nTabIndex = status.m_nTabIndex+(1);
status.out.println(
"<span id='ZHJHIXNGPK_DIV'>" +
"<input name='folder' id='ZHJHIXNGPK' type='checkbox' value="+SPLib.ToHTMLValue(BO.w_folder,"L",1,0,"", status.m_oRegSettings)+" tabindex='"+status.m_nTabIndex+"' curTabIndex='"+status.m_nTabIndex+"' "+(CPLib.eq(true,BO.w_folder)?"CHECKED":"")+">" +
"<label id='ZHJHIXNGPK_LBL' for='ZHJHIXNGPK' class='SPLabel'>"+SPLib.ToHTMLRepresentation(status.context.Translate("Folder"))+"</label>" +
"</span>" +
"");
status.m_nTabIndex = status.m_nTabIndex+(1);
status.out.println(
"<input name='status' id='HDMTNMYMJC' type='text' class='Field' value="+SPLib.ToHTMLValue(BO.w_status,"C",3,0,"", status.m_oRegSettings)+" tabindex='"+status.m_nTabIndex+"' curTabIndex='"+status.m_nTabIndex+"' maxlength='3' size='3' fieldtype='C'>" +
"");
status.out.println(
"<span class='SPLabel' id='DRQRHJMHQS_DIV'>" +
"<label id='DRQRHJMHQS'>" +
""+SPLib.ToHTMLRepresentation(status.context.Translate("Status:"))+"" +
"</label>" +
"</span>" +
"");
status.m_nTabIndex = status.m_nTabIndex+(1);
status.out.println(
"<select name='cplevel' id='RVHJTIFNWU' class='Combobox' tabindex='"+status.m_nTabIndex+"' curTabIndex='"+status.m_nTabIndex+"'>" +
"<option value="+SPLib.ToHTMLValue("","C",0,0)+">" +
"</option>" +
"<option value="+SPLib.ToHTMLValue("w","C",1,0,"", status.m_oRegSettings)+" "+(CPLib.eq("w",CPLib.Trim(BO.w_cplevel))?"SELECTED":"")+">" +
""+status.context.Translate("Warning")+"" +
"</option>" +
"<option value="+SPLib.ToHTMLValue("i","C",1,0,"", status.m_oRegSettings)+" "+(CPLib.eq("i",CPLib.Trim(BO.w_cplevel))?"SELECTED":"")+">" +
""+status.context.Translate("Info")+"" +
"</option>" +
"<option value="+SPLib.ToHTMLValue("e","C",1,0,"", status.m_oRegSettings)+" "+(CPLib.eq("e",CPLib.Trim(BO.w_cplevel))?"SELECTED":"")+">" +
""+status.context.Translate("Error")+"" +
"</option>" +
"</select>" +
"<script type='text/javascript'>" +
"selectCombo(Ctrl('RVHJTIFNWU'),w_cplevel,'C');" +
"</script>" +
"");
status.out.println(
"<span class='SPLabel' id='AYGBLYFQDI_DIV'>" +
"<label id='AYGBLYFQDI'>" +
""+SPLib.ToHTMLRepresentation(status.context.Translate("Level:"))+"" +
"</label>" +
"</span>" +
"");
status.m_nTabIndex = status.m_nTabIndex+(1);
status.out.println(
"<input name='cpimage' id='AQUFMSZEPN' type='text' class='Field' value="+SPLib.ToHTMLValue(BO.w_cpimage,"C",100,0,"", status.m_oRegSettings)+" tabindex='"+status.m_nTabIndex+"' curTabIndex='"+status.m_nTabIndex+"' maxlength='100' size='100' fieldtype='C'>" +
"");
status.out.println(
"<span class='SPLabel' id='SPMRMUFBAG_DIV'>" +
"<label id='SPMRMUFBAG'>" +
""+SPLib.ToHTMLRepresentation(status.context.Translate("Image:"))+"" +
"</label>" +
"</span>" +
"");
status.out.println(
"</div>" +
"");
}
static void PrintState(postinBL BO,ServletStatus status) {
PrintStateChildren(BO,status);
PrintStateWorkVars(BO,status);
}
static void PrintStateChildren(postinBL BO,ServletStatus status) {
PrintMNTState(status,BO,BO.m_MNTs);
}
static void PrintStateWorkVars(postinBL BO,ServletStatus status) {
status.out.print("DeclareWVs(");
status.out.print(SPLib.ToJSValue(BO.w_code,"C",10,0));
status.out.print(","+SPLib.ToJSValue("new".equals(status.m_cClientMode)?BO.op_code:BO.w_code,"C",10,0));
status.out.print(","+SPLib.ToJSValue(BO.w_usercode,"N",4,0));
status.out.print(","+SPLib.ToJSValue(BO.w_created,"T",14,0));
status.out.print(","+SPLib.ToJSValue(BO.w_createdby,"N",4,0));
status.out.print(","+SPLib.ToJSValue(BO.w_subject,"C",100,0));
status.out.print(","+SPLib.ToJSValue(BO.w_postit,"M",10,0));
status.out.print(","+SPLib.ToJSValue(BO.w_datestart,"T",14,0));
status.out.print(","+SPLib.ToJSValue(BO.w_datestop,"T",14,0));
status.out.print(","+SPLib.ToJSValue(BO.w_father,"C",10,0));
status.out.print(","+SPLib.ToJSValue(BO.w_checked,"L",1,0));
status.out.print(","+SPLib.ToJSValue(BO.w_folder,"L",1,0));
status.out.print(","+SPLib.ToJSValue(BO.w_status,"C",3,0));
status.out.print(","+SPLib.ToJSValue(BO.w_cplevel,"C",1,0));
status.out.print(","+SPLib.ToJSValue(BO.w_cpimage,"C",100,0));
status.out.print(","+SPLib.ToJSValue(BO.w_riletta,"C",10,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)+";");
}
}
void WriteMainFormVarScript(postinBO BO,ServletStatus status) {
status.out.println(
"<script>" +
"");
PrintState(BO,status);
// hide e disable di pagine ed item
status.out.println("var m_bQueryOnLatestKeyOnly = " + SPLib.ToJSValue(m_bQueryOnLatestKeyOnly,"L",0,0)+ ";");
status.out.println("var m_cCaption = " + SPLib.ToJSValue(status.context.Translate(entityGlobals.userName),"C",0,0)+ ";");
status.out.println("var m_oEnteredInDate;");
status.out.println("var m_bAlreadySubmitted = " + SPLib.ToJSValue(false,"L",0,0)+ ";");
status.out.println("var m_cBrowser = " + SPLib.ToJSValue(status.m_cBrowser,"C",0,0)+ ";");
status.out.println("var m_cThemePath = " + SPLib.ToJSValue(status.m_cTheme,"C",0,0)+ ";");
status.out.println("var m_cDecoration = " + SPLib.ToJSValue(status.m_cDecoration,"C",0,0)+ ";");
if ( ! (SPLib.IsMobile(status.request))) {
status.out.println("var m_nPreferredHeight = " + SPLib.ToJSValue(369,"N",0,0)+ ";");
status.out.println("var m_nPreferredWidth = " + SPLib.ToJSValue(594,"N",0,0)+ ";");
}
status.out.println("var m_bCalculating = " + SPLib.ToJSValue(false,"L",0,0)+ ";");
status.out.println("var m_nUserCode = " + SPLib.ToJSValue(status.context.UserCode(),"N",0,0)+ ";");
status.out.println("var m_GroupsList = "+"["+status.context.GetGroupsList()+"]"+";");
status.out.println("var m_RolesList = "+"["+status.context.GetAuthority().GetCurrentAssignement().GetRoleNames()+"]"+";");
status.out.println("var m_cCompany = " + SPLib.ToJSValue(status.context.GetCompany(),"C",0,0)+ ";");
status.out.println("var m_cLanguage = " + SPLib.ToJSValue(status.context.GetLanguage(),"C",0,0)+ ";");
status.out.println("var m_cUserName = " + SPLib.ToJSValue(status.context.UserName(),"C",0,0)+ ";");
status.out.println("var m_cAltInterface = " + SPLib.ToJSValue(status.m_cAltInterface,"C",0,0)+ ";");
status.out.println("var m_cLayerInterface = " + SPLib.ToJSValue(status.m_cLayerInterface,"C",0,0)+ ";");
status.out.println("var m_cSelectedPage = " + SPLib.ToJSValue(SPLib.GetSelectedPage(status.m_cSelectedPage,"postin"),"C",0,0)+ ";");
status.out.println("var m_bShowSuggest = " + SPLib.ToJSValue(false,"L",0,0)+ ";");
status.out.println("var m_bShowNotifyBtn = " + SPLib.ToJSValue(false,"L",0,0)+ ";");
status.out.println("var m_bShowExtendReduceBtn = " + SPLib.ToJSValue(false,"L",0,0)+ ";");
HttpSession l_session = ((SPContext)status.context).session;
status.out.print("var m_IDS={");
if (CPLib.eq(status.m_cClientMode,"edit") || CPLib.eq(status.m_cClientMode,"new")) {
status.out.print("'EQOFWHOCZU':['"+com.zucchetti.PortalStudio.JSPLib.cmdHash(entityGlobals.name+"EQOFWHOCZU",l_session)+"','"+com.zucchetti.PortalStudio.JSPLib.cmdHash("link,postit,"+"default",l_session)+"'"+"]");
AppendCallableIDS(status,",");
} else {
status.out.print("'EQOFWHOCZU':['','"+com.zucchetti.PortalStudio.JSPLib.cmdHash("link,postit,"+"default",l_session)+"'"+"]");
AppendCallableIDS(status,",");
}
status.out.println("}");
if (CPLib.eq(status.m_cClientMode,"edit") || CPLib.eq(status.m_cClientMode,"new")) {
if (CPLib.IsNull(status.m_CheckVars)) {
status.out.print("var m_CheckVars={");
status.out.print("'_':"+SPLib.ToJSValue(GetCheckVars(status, BO, m_cEntityUid),"C",0,0));
status.out.println("}");
} else {
status.out.print("var m_CheckVars=");
status.m_CheckVars.write(status.out);
status.out.println(";");
}
}
if (CPLib.eq(status.context.GetGlobalString("IsSPAdministrationInstalled"),"yes") && CPLib.IsAdministrator(status.context) && status.context.HasAdministeredUsers()) {
status.out.println("var m_cProgName = " + SPLib.ToJSValue(entityGlobals.name,"C",0,0)+ ";");
} else {
status.out.println("Zoom.p="+SPLib.ToJSValue(entityGlobals.name,"C",0,0)+";");
}
if (CPLib.eq(status.context.GetGlobalString("IsPortalStudioInstalled"),"yes") && SPLib.CanAccessEditor(status.context,"PortalStudio")) {
status.out.println("var m_cProgNameAlter = " + SPLib.ToJSValue("postin","C",0,0)+ ";");
}
// hide e disable di pagine ed item
VRTStateImpl l_vrtState = VRTHolder.GetState(status.context,"postin",BO.GetCurrentState());
for (String disabled_item : l_vrtState.DisabledFields().split(",")) {
if ( ! (CPLib.Empty(disabled_item))) {
status.quoteAndAppend(disabled_item,"disable","item");
}
}
for (String hidden_item : l_vrtState.HiddenFields().split(",")) {
if ( ! (CPLib.Empty(hidden_item))) {
status.quoteAndAppend(hidden_item,"hide","item");
}
}
for (String obligatory_item : l_vrtState.ObligatoryFields().split(",")) {
if ( ! (CPLib.Empty(obligatory_item))) {
status.quoteAndAppend(obligatory_item,"obligatory","item");
}
}
for (String disabled_tab : l_vrtState.DisabledTabs().split(",")) {
if ( ! (CPLib.Empty(disabled_tab))) {
status.quoteAndAppend(disabled_tab,"disable","tab");
}
}
for (String hidden_tab : l_vrtState.HiddenTabs().split(",")) {
if ( ! (CPLib.Empty(hidden_tab))) {
status.quoteAndAppend(hidden_tab,"hide","tab");
}
}
for (String hidden_box : l_vrtState.HiddenBoxes().split(",")) {
if ( ! (CPLib.Empty(hidden_box))) {
status.quoteAndAppend(hidden_box,"hide","box");
}
}
for (String disabled_box : l_vrtState.DisabledBoxes().split(",")) {
if ( ! (CPLib.Empty(disabled_box))) {
status.quoteAndAppend(disabled_box,"disable","box");
}
}
status.PrintStateArrays();
status.out.println("var m_cFunction = " + SPLib.ToJSValue(status.m_cClientMode,"C",0,0)+ ";");
status.out.println("var m_cDataLanguage = " + SPLib.ToJSValue(CPLib.Upper(BO.m_Ctx.GetDataLanguage()),"C",0,0)+ ";");
status.out.println("var m_cOldCPCCCHK = " + SPLib.ToJSValue(BO.m_cOldCPCCCHK,"C",0,0)+ ";");
status.out.println("var m_bLoaded = " + SPLib.ToJSValue(BO.m_bLoaded,"L",0,0)+ ";");
status.out.println("var m_cPrvsStt = " + SPLib.ToJSValue(BO.m_cPreviousState,"C",0,0)+ ";");
status.out.println("var m_FoundlingCopyWorkVar;");
status.out.println("m_FoundlingCopyWorkVar=[];");
status.out.println("var m_FoundlingHideExpression;");
status.out.println("m_FoundlingHideExpression=[];");
status.out.println("var m_FoundlingEditExpression;");
status.out.println("m_FoundlingEditExpression=[];");
if (CPLib.eq(status.m_cClientMode,"edit") || CPLib.eq(status.m_cClientMode,"new")) {
status.out.println("var m_nLastError = " + SPLib.ToJSValue(0,"I",0,0)+ ";");
status.out.println("var m_cObblFieldName = " + SPLib.ToJSValue("","C",0,0)+ ";");
status.out.println("var m_cLastMsgError = " + SPLib.ToJSValue("","C",0,0)+ ";");
status.out.println("var m_cLastWorkVarError = " + SPLib.ToJSValue("","C",0,0)+ ";");
status.out.println("var m_cLastWorkVarErrorMsg = " + SPLib.ToJSValue("","C",0,0)+ ";");
} else {
status.out.println("var m_nLastRec = " + SPLib.ToJSValue(status.m_nLastRec,"N",0,0)+ ";");
status.out.println("var m_nRecPos = " + SPLib.ToJSValue(status.m_nRecPos,"N",0,0)+ ";");
status.out.println("var m_cVirtName = " + SPLib.ToJSValue(status.m_cVirtName,"C",0,0)+ ";");
}
WriteExtendedFieldsVars(BO.extendedFields,status);
status.out.println("// * --- Area Manuale = UI - Declare Variables");
status.out.println("// * --- Fine Area Manuale");
status.out.println(
"</script>" +
"");
}
void WriteMainFormScript(postinBO BO,ServletStatus status) {
status.out.println(
"<script>" +
"");
status.out.println("function OnLoad() {");
status.out.println("// * --- Area Manuale = UI - OnLoad Init");
status.out.println("// * --- Fine Area Manuale");
if (CPLib.gt(BO.extendedFields.length,0) || CPLib.HasTabFoundlings(BO.m_MNTs,"")) {
status.out.println("Z.Tabs.Get('tabs').InitSelect('postin',false);");
}
if (CPLib.eq(status.m_cClientMode,"edit") || CPLib.eq(status.m_cClientMode,"new")) {
WriteJSRestoreEntity(status);
status.out.println("EnableControlsUnderCondition=EnableControlsUnderCondition_WhenReady;");
status.out.println("EnableControlsUnderCondition();");
} else if (CPLib.eq(status.m_cClientMode,"view") || CPLib.eq(status.m_cClientMode,"query")) {
WriteJSRestoreEntity(status);
if (CPLib.eq(status.m_cClientMode,"view")) {
status.out.println("var c;");
status.out.println("if(c=Ctrl('BCQUQHSVHA')) SetDisabled(c,true);");
status.out.println("if(c=Ctrl('RZCOBBMPUG')) SetDisabled(c,true);");
status.out.println("if(c=Ctrl('PHWSEAXWQH')) SetDisabled(c,true);");
status.out.println("if(c=Ctrl('PHWSEAXWQH_ZOOM')) SetDisabled(c,true);");
status.out.println("if(c=Ctrl('RFYKNTRJVM')) SetDisabled(c,true);");
status.out.println("if(c=Ctrl('ZMTIEIPJHV')) SetDisabled(c,true);");
status.out.println("if(c=Ctrl('EAHVWXEIRA')) SetDisabled(c,true);");
status.out.println("if(c=Ctrl('TXUEBCKCPL')) SetDisabled(c,true);");
status.out.println("if(c=Ctrl('TXUEBCKCPL_ZOOM')) SetDisabled(c,true);");
status.out.println("if(c=Ctrl('WQMDIIYRRS')) SetDisabled(c,true);");
status.out.println("if(c=Ctrl('WQMDIIYRRS_ZOOM')) SetDisabled(c,true);");
status.out.println("if(c=Ctrl('SYNZZNFBRZ')) SetDisabled(c,true);");
status.out.println("if(c=Ctrl('EBLPRYMRMA')) SetDisabled(c,true);");
status.out.println("if(c=Ctrl('ZHJHIXNGPK')) SetDisabled(c,true);");
status.out.println("if(c=Ctrl('HDMTNMYMJC')) SetDisabled(c,true);");
status.out.println("if(c=Ctrl('RVHJTIFNWU')) SetDisabled(c,true);");
status.out.println("if(c=Ctrl('AQUFMSZEPN')) SetDisabled(c,true);");
}
status.out.println("HideControlsUnderCondition();");
}
status.out.println("if ( ! (Empty(m_cLayerInterface))) {");
status.out.println("SubstituteInterface(m_cLayerInterface);");
status.out.println("}");
if (status.m_bError) {
status.out.println("HideLoadingLayer();");
status.out.println("WindowAlert(showed_database_error);");
status.out.println("HideLoadingLayer(false);");
}
if ( ! (status.m_bHasRS)) {
status.out.println("SetRegionalSettings();");
}
status.out.println("ReloadMenu();");
status.out.println("setEventHandlers(false);");
if (CPLib.ne(status.m_cClientMode,"view")) {
status.out.println("FocusFirstComponent();");
}
if ( ! (CPLib.Empty(status.m_cAltInterface))) {
if (CPLib.eq(status.m_cClientMode,"edit")) {
status.out.println("var c;");
status.out.println("if(c=Ctrl('BCQUQHSVHA')) SetDisabled(c,true);");
}
}
status.out.println("FillCombosValues();");
status.out.println("SetControlsValue();");
status.out.println("NotifyEvent('Record Loaded');");
if (status.HasFoundlingChildren()) {
status.out.println("LoadContext();");
}
status.out.println("// * --- Area Manuale = UI - OnLoad End");
status.out.println("// * --- Fine Area Manuale");
RaiseLoadedEntity(BO,status);
status.out.println("CalculateAndResizeEntityHeight();");
status.out.println("HideLoadingLayer();");
if (status.is_live_editing) {
status.out.println("CreateAltInterfaceEditTool(" + SPLib.ToJSValue(entityGlobals.name,"C",0,0) + ");");
}
if (status.m_bShowBOWarnings) {
status.out.println("SubmitListenerForm(" + SPLib.ToJSValue(status.m_cAction,"C",0,0) + ");");
}
status.out.println("}");
status.out.println("function ChildSelectedPage(name) {");
status.out.println("var l_cRes = '';");
ChildSelectedPageChild(BO.m_MNTs,status,status.m_cSelectedPage);
status.out.println("}");
if (CPLib.ne(status.m_cClientMode,"query")) {
status.out.println("function UpdateAutonumber(p_uid) {");
status.out.println("}");
}
WriteJSError(status);
WriteTableCombo(status,BO);
status.out.println("// * --- Area Manuale = UI - Functions & Procedures");
status.out.println("// * --- Fine Area Manuale");
status.out.println(
"</script>" +
"");
}
postinBO getBO(ServletStatus status) {
postinBO BO = new postinBO(status.context);
// gli op_ possono essere utilizzati dalla servlet anche prima di essere inizializzati
BO.op_code = BO.w_code;
LoadExtensions(BO);
return BO;
}
void LoadExtensions(postinBO BO) {
XDCHolder xdc = CPLib.GetXDCHolder(SPLib.GetClassesPath(),new SPXDCReaderFactory(BO.m_Ctx.GetInstance()),BO.m_Ctx.GetInstance());
XDCTable t = xdc.GetXDCTable("postit",true);
BO.extendedFields = CPExtenderLib.GetExtendedItemsFromTable(t);
}
public void NotifyEvent(String p_cEvent,ServletStatus status,postinBO BO) {
super.NotifyEvent(p_cEvent,status,BO);
CPLib.NotifyEvent(p_cEvent,BO,BO.m_Ctx,BO.specificEventsHandlers,BO.allEventsHandlers);
}
void WriteTableCombo(ServletStatus status,postinBO BO) {
String l_cTmp;
CPResultSet l_rsLoad=null;
}
CPResultSet QueryKeyCursor(postinBO BO,ServletStatus status) {
String l_cServer = BO.m_cServer_postit;
String l_cPhName = BO.m_cPhName_postit;
// 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<65> 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 = postinBL.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(" "+BO.m_cVirtName_postit+".code",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("postit");
String l_cPhName = CPSql.ManipulateTablePhName("postit",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<65> 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+".code",CPLib.GetTablesWithAliases(l_cPhName,status.m_cAllVirtNames,status.context),l_cLastWhere,status.m_cLastOrderBy));
}
return l_rsKeys;
}
void Query(ServletStatus status,postinBO BO) {
if ( ! (CPLib.Empty(status.m_cLastWhere))) {
CPResultSet l_rsCount=null;
String l_cLastWhere = status.m_cLastWhere;
String l_cQueryFilter = postinBL.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_rsCount!=null)
l_rsCount.Close();
l_rsCount = BO.m_Sql.Query(BO.m_cServer_postit,CPSql.BuildSQLPhrase(" count(*) as reccount",CPLib.GetTablesWithAliases(BO.m_cPhName_postit,status.m_cAllVirtNames,BO.m_Ctx),l_cLastWhere,""));
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,postinBO BO) {
String _m = status.m_cMode;
if ( ! (BO.m_bLoaded)) {
Query(status,BO);
LoadCurrentRecord(status,BO);
}
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,postinBO BO,SPParameterSource source) {
BO.Load(status.w_code);
if (BO.m_bLoaded && BO.CanEdit()) {
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 <dimenticare> 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,postinBO 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 <dimenticare> 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,postinBO 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 (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,postinBO 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_code = "";
} else {
BO.w_code = l_rsKeys.GetString("code");
// Ottimizzazione: liberata connessione database prima di eseguire la Load
l_rsKeys.Close();
BO.Load();
status.w_code = BO.w_code;
}
} 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,postinBO 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,postinBO 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_code);
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,postinBO BO,SPParameterSource source) {
BO.Load(status.w_code);
status.m_cBOWarnMessageDeleted = status.context.Translate("MSG_PROCEED_WITH_DELETE");
status.m_bExit = true;
status.m_cClientMode = "bringback";
}
void Save(ServletStatus status,postinBO BO) {
boolean l_bResult = false;
String l_cTrsMsgErr = "";
boolean l_bTrsOk = true;
String l_cTransMsgErr = "";
BO.SetFromContext(status.m_cWv,status.m_Parameters);
String l_old_code = "";
if (CPLib.ne(BO.w_code,BO.op_code)) {
l_old_code = BO.op_code;
}
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");
}
}
}
} 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("({code:"+SPLib.ToJSValue(BO.w_code,"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 {
if ( ! (CPLib.Empty(l_old_code))) {
BO.op_code = l_old_code;
}
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,postinBO 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,postinBO 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",369);
item.put("w",594);
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","postin");
items.put(item);
String s;
org.json.JSONObject ctrl = null;
s = "{\"comment\":\"Code\",\"h\":22,\"maxlength\":10,\"name\":\"code\",\"page\":1,\"spuid\":\"BCQUQHSVHA\",\"tabindex\":1,\"type\":\"Textbox\",\"typevar\":\"character\",\"w\":83,\"x\":88,\"y\":18,\"zone\":\"pag1_1\",\"zonepath\":\"[1,1]\"}";
ctrl = new org.json.JSONObject(s);
items.put(ctrl);
s = "{\"align\":\"right\",\"h\":18,\"name\":\"label_VCPAGXUVHH\",\"page\":1,\"spuid\":\"VCPAGXUVHH\",\"tabindex\":2,\"type\":\"Label\",\"value\":\"Code:\",\"w\":33,\"x\":54,\"y\":22,\"zone\":\"pag1_1\",\"zonepath\":\"[1,1]\"}";
ctrl = new org.json.JSONObject(s);
items.put(ctrl);
s = "{\"comment\":\"User\",\"h\":22,\"maxlength\":7,\"name\":\"usercode\",\"page\":1,\"spuid\":\"RZCOBBMPUG\",\"tabindex\":3,\"type\":\"Textbox\",\"typevar\":\"numeric\",\"w\":83,\"x\":88,\"y\":41,\"zone\":\"pag1_2\",\"zonepath\":\"[1,2]\"}";
ctrl = new org.json.JSONObject(s);
items.put(ctrl);
s = "{\"align\":\"right\",\"h\":18,\"name\":\"label_QUZVSRJQWX\",\"page\":1,\"spuid\":\"QUZVSRJQWX\",\"tabindex\":4,\"type\":\"Label\",\"value\":\"User:\",\"w\":30,\"x\":57,\"y\":45,\"zone\":\"pag1_2\",\"zonepath\":\"[1,2]\"}";
ctrl = new org.json.JSONObject(s);
items.put(ctrl);
s = "{\"comment\":\"Created on\",\"h\":22,\"maxlength\":19,\"name\":\"created\",\"page\":1,\"picker\":true,\"spuid\":\"PHWSEAXWQH\",\"tabindex\":5,\"type\":\"Textbox\",\"typevar\":\"datetime\",\"w\":125,\"x\":88,\"y\":64,\"zone\":\"pag1_3\",\"zonepath\":\"[1,3]\",\"zoom\":\"stdz\"}";
ctrl = new org.json.JSONObject(s);
items.put(ctrl);
s = "{\"align\":\"right\",\"h\":18,\"name\":\"label_JVPRDBQGZJ\",\"page\":1,\"spuid\":\"JVPRDBQGZJ\",\"tabindex\":6,\"type\":\"Label\",\"value\":\"Created on:\",\"w\":64,\"x\":23,\"y\":68,\"zone\":\"pag1_3\",\"zonepath\":\"[1,3]\"}";
ctrl = new org.json.JSONObject(s);
items.put(ctrl);
s = "{\"comment\":\"Subject\",\"h\":22,\"maxlength\":100,\"name\":\"subject\",\"page\":1,\"spuid\":\"ZMTIEIPJHV\",\"tabindex\":8,\"type\":\"Textbox\",\"typevar\":\"character\",\"w\":501,\"x\":88,\"y\":89,\"zone\":\"pag1_4\",\"zonepath\":\"[1,4]\"}";
ctrl = new org.json.JSONObject(s);
items.put(ctrl);
s = "{\"align\":\"right\",\"h\":18,\"name\":\"label_XZUZDKMXTO\",\"page\":1,\"spuid\":\"XZUZDKMXTO\",\"tabindex\":9,\"type\":\"Label\",\"value\":\"Subject:\",\"w\":44,\"x\":43,\"y\":93,\"zone\":\"pag1_4\",\"zonepath\":\"[1,4]\"}";
ctrl = new org.json.JSONObject(s);
items.put(ctrl);
s = "{\"comment\":\"Message\",\"h\":76,\"name\":\"postit\",\"page\":1,\"scroll\":true,\"spuid\":\"EAHVWXEIRA\",\"tabindex\":10,\"type\":\"Textbox\",\"typevar\":\"memo\",\"w\":501,\"x\":88,\"y\":112,\"zone\":\"pag1_5\",\"zonepath\":\"[1,5]\"}";
ctrl = new org.json.JSONObject(s);
items.put(ctrl);
s = "{\"align\":\"right\",\"h\":18,\"name\":\"label_ILLJORMYYL\",\"page\":1,\"spuid\":\"ILLJORMYYL\",\"tabindex\":11,\"type\":\"Label\",\"value\":\"Message:\",\"w\":54,\"x\":33,\"y\":116,\"zone\":\"pag1_5\",\"zonepath\":\"[1,5]\"}";
ctrl = new org.json.JSONObject(s);
items.put(ctrl);
s = "{\"comment\":\"Validity start\",\"h\":22,\"maxlength\":19,\"name\":\"datestart\",\"page\":1,\"picker\":true,\"spuid\":\"TXUEBCKCPL\",\"tabindex\":12,\"type\":\"Textbox\",\"typevar\":\"datetime\",\"w\":125,\"x\":88,\"y\":192,\"zone\":\"pag1_6\",\"zonepath\":\"[1,6]\",\"zoom\":\"stdz\"}";
ctrl = new org.json.JSONObject(s);
items.put(ctrl);
s = "{\"align\":\"right\",\"h\":18,\"name\":\"label_GVZPAACBLV\",\"page\":1,\"spuid\":\"GVZPAACBLV\",\"tabindex\":13,\"type\":\"Label\",\"value\":\"Validity start:\",\"w\":68,\"x\":19,\"y\":196,\"zone\":\"pag1_6\",\"zonepath\":\"[1,6]\"}";
ctrl = new org.json.JSONObject(s);
items.put(ctrl);
s = "{\"align\":\"right\",\"h\":18,\"name\":\"label_UYZMNEIJFT\",\"page\":1,\"spuid\":\"UYZMNEIJFT\",\"tabindex\":15,\"type\":\"Label\",\"value\":\"Validity end:\",\"w\":65,\"x\":274,\"y\":196,\"zone\":\"pag1_6\",\"zonepath\":\"[1,6]\"}";
ctrl = new org.json.JSONObject(s);
items.put(ctrl);
s = "{\"comment\":\"Validity end\",\"h\":22,\"maxlength\":19,\"name\":\"datestop\",\"page\":1,\"picker\":true,\"spuid\":\"WQMDIIYRRS\",\"tabindex\":14,\"type\":\"Textbox\",\"typevar\":\"datetime\",\"w\":125,\"x\":340,\"y\":216,\"zone\":\"pag1_7\",\"zonepath\":\"[1,7]\",\"zoom\":\"stdz\"}";
ctrl = new org.json.JSONObject(s);
items.put(ctrl);
s = "{\"comment\":\"Father code\",\"h\":22,\"maxlength\":10,\"name\":\"father\",\"page\":1,\"spuid\":\"SYNZZNFBRZ\",\"tabindex\":16,\"type\":\"Textbox\",\"typevar\":\"character\",\"w\":83,\"x\":88,\"y\":233,\"zone\":\"pag1_8\",\"zonepath\":\"[1,8]\"}";
ctrl = new org.json.JSONObject(s);
items.put(ctrl);
s = "{\"align\":\"right\",\"h\":18,\"name\":\"label_HQSAXCQRXP\",\"page\":1,\"spuid\":\"HQSAXCQRXP\",\"tabindex\":17,\"type\":\"Label\",\"value\":\"Father code:\",\"w\":68,\"x\":19,\"y\":237,\"zone\":\"pag1_8\",\"zonepath\":\"[1,8]\"}";
ctrl = new org.json.JSONObject(s);
items.put(ctrl);
s = "{\"checked_value\":\"true\",\"comment\":\"Is read\",\"h\":23,\"label_text\":\"Read\",\"maxlength\":1,\"name\":\"checked\",\"page\":1,\"spuid\":\"EBLPRYMRMA\",\"tabindex\":18,\"type\":\"Checkbox\",\"typevar\":\"logic\",\"unchecked_value\":\"false\",\"w\":65,\"x\":88,\"y\":258,\"zone\":\"pag1_9\",\"zonepath\":\"[1,9]\"}";
ctrl = new org.json.JSONObject(s);
items.put(ctrl);
s = "{\"checked_value\":\"true\",\"comment\":\"Is folder\",\"h\":23,\"label_text\":\"Folder\",\"maxlength\":1,\"name\":\"folder\",\"page\":1,\"spuid\":\"ZHJHIXNGPK\",\"tabindex\":19,\"type\":\"Checkbox\",\"typevar\":\"logic\",\"unchecked_value\":\"false\",\"w\":74,\"x\":169,\"y\":258,\"zone\":\"pag1_9\",\"zonepath\":\"[1,9]\"}";
ctrl = new org.json.JSONObject(s);
items.put(ctrl);
s = "{\"comment\":\"Status\",\"h\":22,\"maxlength\":3,\"name\":\"status\",\"page\":1,\"spuid\":\"HDMTNMYMJC\",\"tabindex\":20,\"type\":\"Textbox\",\"typevar\":\"character\",\"w\":34,\"x\":88,\"y\":289,\"zone\":\"pag1_10\",\"zonepath\":\"[1,10]\"}";
ctrl = new org.json.JSONObject(s);
items.put(ctrl);
s = "{\"align\":\"right\",\"h\":18,\"name\":\"label_DRQRHJMHQS\",\"page\":1,\"spuid\":\"DRQRHJMHQS\",\"tabindex\":21,\"type\":\"Label\",\"value\":\"Status:\",\"w\":38,\"x\":49,\"y\":293,\"zone\":\"pag1_10\",\"zonepath\":\"[1,10]\"}";
ctrl = new org.json.JSONObject(s);
items.put(ctrl);
s = "{\"comment\":\"Level\",\"empty_value\":\"false\",\"h\":22,\"maxlength\":1,\"name\":\"cplevel\",\"page\":1,\"spuid\":\"RVHJTIFNWU\",\"tabindex\":22,\"textlist\":\"Warning,Info,Error\",\"type\":\"Combobox\",\"typevar\":\"character\",\"valuelist\":\""+"'"+"w"+"'"+","+"'"+"i"+"'"+","+"'"+"e"+"'"+"\",\"w\":113,\"x\":88,\"y\":316,\"zone\":\"pag1_11\",\"zonepath\":\"[1,11]\"}";
ctrl = new org.json.JSONObject(s);
items.put(ctrl);
s = "{\"align\":\"right\",\"h\":18,\"name\":\"label_AYGBLYFQDI\",\"page\":1,\"spuid\":\"AYGBLYFQDI\",\"tabindex\":23,\"type\":\"Label\",\"value\":\"Level:\",\"w\":32,\"x\":55,\"y\":320,\"zone\":\"pag1_11\",\"zonepath\":\"[1,11]\"}";
ctrl = new org.json.JSONObject(s);
items.put(ctrl);
s = "{\"comment\":\"Image\",\"h\":22,\"maxlength\":100,\"name\":\"cpimage\",\"page\":1,\"spuid\":\"AQUFMSZEPN\",\"tabindex\":24,\"type\":\"Textbox\",\"typevar\":\"character\",\"w\":501,\"x\":88,\"y\":342,\"zone\":\"pag1_12\",\"zonepath\":\"[1,12]\"}";
ctrl = new org.json.JSONObject(s);
items.put(ctrl);
s = "{\"align\":\"right\",\"h\":18,\"name\":\"label_SPMRMUFBAG\",\"page\":1,\"spuid\":\"SPMRMUFBAG\",\"tabindex\":25,\"type\":\"Label\",\"value\":\"Image:\",\"w\":38,\"x\":49,\"y\":346,\"zone\":\"pag1_12\",\"zonepath\":\"[1,12]\"}";
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 WriteFormPage(postinBO 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(
"<!doctype html>" +
"");
status.out.println(
"<html " + ( SPLib.IsMobile( status.request ) ? "ps-stretch": "" )+ ">" +
"");
status.out.println(
"<head>" +
"");
status.WriteSkinnedCss();
status.out.println(
"<link rel='shortcut icon' href='../favicon.ico'>" +
"");
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(
"<script src='postin?"+SPLib.TranslationParameter()+"="+status.context.GetLanguage()+"'>" +
"</script>" +
"");
l_cJsUid = SPPrxycizer.proxycizedPath("stdFunctions.js");
status.out.println(
"<script src='../"+l_cJsUid+"'>" +
"</script>" +
"");
if (com.zucchetti.sitepainter.Library.IsMobile(status.request)) {
l_cJsUid = SPPrxycizer.proxycizedPath("spmobilelib.js");
status.out.println(
"<script>" +
"");
status.out.println("if ( ! (window.SPMobileLib)) {");
status.out.println("LibJavascript.RequireLibrary(\"../"+l_cJsUid+"\");");
status.out.println("}");
status.out.println(
"</script>" +
"");
}
status.out.println(
"<script>" +
"");
status.out.println("function PlatformPathStart(p_cName) {");
status.out.println("return p_cName;");
status.out.println("}");
status.out.println(
"</script>" +
"");
l_cJsUid = SPPrxycizer.proxycizedPath("controls.js");
status.out.println(
"<script src='../"+l_cJsUid+"'>" +
"</script>" +
"");
if (status.is_live_editing) {
l_cJsUid = SPPrxycizer.proxycizedPath("visualweb/VisualWEB.js");
status.out.println(
"<script src='../"+l_cJsUid+"'>" +
"</script>" +
"");
l_cJsUid = SPPrxycizer.proxycizedPath("LiveEditing.js");
status.out.println(
"<script src='../"+l_cJsUid+"'>" +
"</script>" +
"");
}
l_cJsUid = SPPrxycizer.proxycizedPath("SPBOUILib.js");
status.out.println(
"<script src='../"+l_cJsUid+"'>" +
"</script>" +
"");
if (CPLib.gt(BO.extendedFields.length,0)) {
l_cJsUid = SPPrxycizer.proxycizedPath("ExtendedFields.js");
status.out.println(
"<script src='../"+l_cJsUid+"'>" +
"</script>" +
"");
}
if (CPLib.eq(status.m_cClientMode,"query") || CPLib.eq(status.m_cClientMode,"view")) {
status.out.println(
"<script src='SPPrxy/"+m_cEntityUid+"/postin_query.js'>" +
"</script>" +
"");
} else if (CPLib.eq(status.m_cClientMode,"new") || CPLib.eq(status.m_cClientMode,"edit")) {
status.out.println(
"<script src='SPPrxy/"+m_cEntityUid+"/postin_edit.js'>" +
"</script>" +
"");
}
if (CPLib.eq(status.m_cClientMode,"painter")) {
l_cJsUid = SPPrxycizer.proxycizedPath("sppainterentity.js");
status.out.println(
"<script src='../"+l_cJsUid+"'>" +
"</script>" +
"");
PrintPainterProps(status);
status.out.println(
"<script>" +
"");
status.out.println("function DeclareWVs() {");
status.out.println("var a = arguments;");
status.out.println("w_code=a[0];");
status.out.println("op_code=a[1];");
status.out.println("w_usercode=a[2];");
status.out.println("w_created=a[3];");
status.out.println("w_createdby=a[4];");
status.out.println("w_subject=a[5];");
status.out.println("w_postit=a[6];");
status.out.println("w_datestart=a[7];");
status.out.println("w_datestop=a[8];");
status.out.println("w_father=a[9];");
status.out.println("w_checked=a[10];");
status.out.println("w_folder=a[11];");
status.out.println("w_status=a[12];");
status.out.println("w_cplevel=a[13];");
status.out.println("w_cpimage=a[14];");
status.out.println("w_riletta=a[15];");
status.out.println("if (Gt(a.length,16)) {");
status.out.println("o_code=w_code;");
status.out.println("}");
status.out.println("m_PrimaryKeys=['code'];");
status.out.println("}");
status.out.println(
"</script>" +
"");
} else {
status.out.println(
"<script src='SPPrxy/"+m_cEntityUid+"/postin_proc.js'>" +
"</script>" +
"");
}
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(
"<script src='../"+l_cJsUid+"'>" +
"</script>" +
"");
l_cJsUid = SPPrxycizer.proxycizedPath(status.m_cTheme+"/calendar.js");
status.out.println(
"<script src='../"+l_cJsUid+"'>" +
"</script>" +
"");
l_cJsUid = SPPrxycizer.proxycizedPath(status.m_cTheme+"/calculator.js");
status.out.println(
"<script src='../"+l_cJsUid+"'>" +
"</script>" +
"");
if (CPLib.ne(status.m_bAutoResize,"")) {
status.out.println(
"<script>" +
"");
status.out.println("var sv_WindowAutoResize = " + SPLib.ToJSValue(CPLib.eq(status.m_bAutoResize,"true"),"L",0,0)+ ";");
status.out.println(
"</script>" +
"");
}
if (CPLib.gt(BO.extendedFields.length,0) || CPLib.HasTabFoundlings(BO.m_MNTs,"")) {
l_cJsUid = SPPrxycizer.proxycizedPath(status.m_cTheme+"/tabStrip.js");
status.out.println(
"<script src='../"+l_cJsUid+"'>" +
"</script>" +
"");
}
status.themeWriter.WriteInclude();
WriteStyles(BO,status);
status.out.println(
"<title>" +
""+SPLib.ToHTMLRepresentation(status.context.Translate(entityGlobals.userName))+"" +
"</title>" +
"");
status.out.println(
"<script>" +
"");
if ( ! (status.m_bHasRS)) {
status.out.println("AppletTag('Settings','Trs');");
}
status.out.println("AppletTag('Wv','Trs');");
status.out.println("AppletTag('Batch');");
status.out.println(
"</script>" +
"");
status.m_cBodyAttributes = "onload=OnLoad() 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(369,status.m_cBodyAttributes,status.context.Translate("MSG_LOADING")+"...");
status.out.println(
"<script>" +
"");
if (CPLib.eq(status.m_cClientMode,"edit") || CPLib.eq(status.m_cClientMode,"new")) {
status.out.println("AppletTag('Link');");
status.out.println("AppletTag('Autonumber');");
}
status.out.println(
"</script>" +
"");
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(
"</html>" +
"");
}
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","postit");
f.SetParameter("Autozoom",entityGlobals.name);
f.SetParameter("PKFields","code");
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(postinBO BO,ServletStatus status) {
RaiseEventLoadedEntity(status,SPLib.ToJSValue("({code:"+SPLib.ToJSValue(BO.w_code,"C",10,0)+",action:"+SPLib.ToJSValue(status.m_cClientMode,"C",0,0)+"})","C",0,0));
}
void RaiseSavedEntity(postinBO BO,ServletStatus status) {
if (CPLib.eq(status.m_cAction,"save") && ! (status.m_bError)) {
status.out.println(
"<script>" +
"");
RaiseEventSavedEntity(status,(status.m_cOldKeysToRaiseParms!=null?status.m_cOldKeysToRaiseParms:SPLib.ToJSValue("({code:"+SPLib.ToJSValue(BO.w_code,"C",10,0)+",action:"+SPLib.ToJSValue(status.m_cMode,"C",0,0)+"})","C",0,0)));
status.out.println(
"</script>" +
"");
}
}
void RaiseDeletedEntity(postinBO BO,ServletStatus status) {
if (CPLib.eq(status.m_cAction,"delete") && ! (status.m_bError)) {
status.out.println(
"<script>" +
"");
RaiseEventDeletedEntity(status,SPLib.ToJSValue("({code:"+SPLib.ToJSValue(BO.w_code,"C",10,0)+"})","C",0,0));
status.out.println(
"</script>" +
"");
}
}
void RaiseDiscardedEntity(postinBO BO,ServletStatus status) {
if (CPLib.eq(status.m_cAction,"discard")) {
status.out.println(
"<script>" +
"");
RaiseEventDiscardedEntity(status,SPLib.ToJSValue("({code:"+SPLib.ToJSValue(BO.w_code,"C",10,0)+",action:"+SPLib.ToJSValue(status.m_cMode,"C",0,0)+"})","C",0,0));
status.out.println(
"</script>" +
"");
}
}
void WriteExitPage(postinBO BO,ServletStatus status,Forward f) {
WriteExitPage(status,SPLib.ToJSValue("({code:"+SPLib.ToJSValue(BO.w_code,"C",10,0)+",action:"+SPLib.ToJSValue(status.m_cMode,"C",0,0)+"})","C",0,0), f);
}
void WriteExitPage(postinBO BO,ServletStatus status) {
WriteExitPage(BO,status,Forward.Unforwarded);
}
protected void BringBackPage(postinBO 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(
"<!doctype html>" +
"");
status.out.println(
"<html>" +
"");
status.out.println(
"<title>" +
""+status.context.Translate("MSG_ROUTINE_WIND")+"" +
"</title>" +
"");
l_cJsUid = SPPrxycizer.proxycizedPath("stdFunctions.js");
status.out.println(
"<script src='../"+l_cJsUid+"'>" +
"</script>" +
"");
l_cJsUid = SPPrxycizer.proxycizedPath("controls.js");
status.out.println(
"<script src='../"+l_cJsUid+"'>" +
"</script>" +
"");
if (status.m_bError) {
msg = status.context.Translate("MSG_END_ROUTINE_WITH_MSG");
status.out.println(
"<body onkeydown='window.ManageKeys(event,false,false)'>" +
"");
} else {
status.out.println(
"<body>" +
"");
}
status.out.println(
"<p>" +
""+msg+"" +
"</p>" +
"");
String l_cPreviousErr = status.m_cErrMsg;
String l_cUserErr = status.m_cErrMsg;
if (status.m_bError) {
status.out.println(
"<script>" +
"");
WriteJSError(status);
l_cUserErr = status.m_cErrMsg;
status.m_cErrMsg = l_cPreviousErr;
status.out.println("var m_cBrowser = " + SPLib.ToJSValue(status.m_cBrowser,"C",0,0)+ ";");
status.out.println(
"</script>" +
"");
}
status.out.println(
"<!--" +
"");
if (CPLib.eq(status.source.GetParameter("m_OnlyContext","_no_"),"_no_")) {
String l_cOut;
if (status.m_bError) {
l_cOut = SPLib.ToJSValue("KO("+SPLib.GetWriteVarErrorName(status)+")"+UserDBMessage(status),"C",0,0);
} else {
l_cOut = "OK";
if (status.m_cAction.endsWith("message")) {
l_cOut = l_cOut+" "+SPLib.ToJSValue(status.m_cBOWarnMessageDeleted,"C",0,0);
} else if (status.m_cAction.startsWith("delete")) {
l_cOut = l_cOut+" "+status.m_bBODeleted;
}
}
l_cOut = CPLib.ToProperties(l_cOut);
l_cOut = com.zucchetti.sitepainter.Library.ToHTMLEuro(l_cOut);
status.out.println("Function return value:"+l_cOut+"");
} else {
status.m_cErrMsg = l_cUserErr;
status.out.println("js:BO="+SPLib.ToJSValue(BO.GetContext(),"M",0,0)+"");
}
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,postinBO 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_code),"C",10,0));
}
} else if (CPLib.eq(p_cUID,"EQOFWHOCZU")) {
SPLib.FillLinkHash(hCreator,BO.GetLinkProperties(p_cUID),BO);
}
return GetEntityHash(p_cUID,status,hCreator);
}
public boolean CheckVars(ServletStatus status,postinBO 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);
if (result && ! (CPLib.Empty(BO.w_riletta))) {
a = GetCheckVars(status,BO,"EQOFWHOCZU");
b = status.m_CheckVars.optString("EQOFWHOCZU");
result = CPLib.eq(a,b);
}
}
return result;
}
}