1454 lines
60 KiB
Java
1454 lines
60 KiB
Java
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 pi_adocmast extends SPServlet implements SPInvokable {
|
||
public static String m_cEntityUid = "!*4559cd93*!";
|
||
static public class ServletStatus extends SPMasterServletStatus {
|
||
ServletStatus() {
|
||
m_cAllVirtNames = "DOCMAST";
|
||
}
|
||
public String w_AZIENDA;
|
||
public String w_MVSERIAL;
|
||
public void BuildLastWhereFromPK() {
|
||
if (CPLib.Empty(m_cLastWhere)) {
|
||
m_cLastWhere = m_cLastWhere+CPLib.BuildLastWhereFromPK(w_AZIENDA,context,"DOCMAST","AZIENDA","C",5,0,( ! (CPLib.Empty(m_cLastWhere))?" and ":""));
|
||
m_cLastWhere = m_cLastWhere+CPLib.BuildLastWhereFromPK(w_MVSERIAL,context,"DOCMAST","MVSERIAL","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='AZIENDA' type='hidden' value="+SPLib.ToHTMLValue(w_AZIENDA,"C",5,0)+">" +
|
||
"");
|
||
status.out.println(
|
||
"<input name='MVSERIAL' type='hidden' value="+SPLib.ToHTMLValue(w_MVSERIAL,"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
|
||
pi_adocmastBO BO;
|
||
BO = getBO(status);
|
||
BO.m_bSkipCheckOTPSecurity = false;
|
||
status.m_cVirtName = BO.m_cVirtName_DOCMAST;
|
||
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_AZIENDA = BO.w_AZIENDA;
|
||
status.w_MVSERIAL = BO.w_MVSERIAL;
|
||
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 "DOCMAST";
|
||
}
|
||
public SPEntityGlobals getEntityGlobals() {
|
||
// Costanti globali dell' entita'
|
||
SPEntityGlobals l_eg = new SPEntityGlobals();
|
||
l_eg.name = "pi_adocmast";
|
||
l_eg.userName = getEntityTitle();
|
||
l_eg.m_nEntityWidth = 172;
|
||
l_eg.m_nEntityHeight = 120;
|
||
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[]{"DOCMAST"};
|
||
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[]{"AZIENDA","MVSERIAL"};
|
||
l_eg.items = new SPItem[]{
|
||
new SPItem("AZIENDA","C",5,0, "edit",""),
|
||
new SPItem("MVSERIAL","C",10,0, "edit",""),
|
||
new SPItem("MVDATREG","D",8,0, "edit","")
|
||
};
|
||
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,pi_adocmastBO 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);
|
||
}
|
||
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[][]{{"1500911668",p_Context.Translate("DOCMAST")}};
|
||
return l_translations;
|
||
}
|
||
void WriteStyles(pi_adocmastBO BO,ServletStatus status) {
|
||
if ( ! ( ! (CPLib.Empty(status.m_cAltInterface)))) {
|
||
status.out.println(
|
||
"<link type='text/css' rel='stylesheet' href='../pi_adocmast.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(pi_adocmastBO 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('pi_adocmast',false);");
|
||
}
|
||
status.out.println(
|
||
"</script>" +
|
||
"");
|
||
PrintPwdOTPDiv(status,"pi_adocmast",BO.m_bLoaded,(BO.m_bLoaded?false:false),(BO.m_bLoaded?false:false));
|
||
status.out.println(
|
||
"</div>" +
|
||
"");
|
||
}
|
||
void WriteControls(pi_adocmastBO BO,ServletStatus status) {
|
||
WriteControls_p1(BO,status);
|
||
PrintNotifyContent(status,getNotifyItems());
|
||
WriteExtendedTabs(BO.m_MNTs,BO.extendedFields,status,2);
|
||
}
|
||
void WriteControls_p1(pi_adocmastBO BO,ServletStatus status) {
|
||
status.out.println(
|
||
"<div id='page_1' class='PageContainer' style='position:relative;height:120px;width:172px;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),"");
|
||
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("CalculateAndResizeEntityHeight();");
|
||
status.out.println(
|
||
"</script>" +
|
||
"");
|
||
}
|
||
}
|
||
void WriteControls_p1_b0(pi_adocmastBO BO,ServletStatus status) {
|
||
if (status.IsHiddenZoneAltInterface("shadowBand_page_1")) {
|
||
return;
|
||
}
|
||
status.out.println(
|
||
"<div id='shadowBand_page_1' style='position:relative;height:120px;display:block' shadowName='Page 1 content' page='1'>" +
|
||
"");
|
||
if (status.includeZoneAltInterface("shadowBand_page_1")) {
|
||
status.out.println(
|
||
"</div>" +
|
||
"");
|
||
status.out.println(
|
||
"<script>" +
|
||
"");
|
||
status.out.println("Ctrl('shadowBand_page_1').style.height='auto';");
|
||
status.out.println(
|
||
"</script>" +
|
||
"");
|
||
} else {
|
||
status.m_nTabIndex = status.m_nTabIndex+(1);
|
||
status.out.println(
|
||
"<input name='AZIENDA' id='DCPCUVJOFL' type='text' class='Field PrimaryKeyField "+(CPLib.eq(status.m_cClientMode,"edit") || CPLib.eq(status.m_cClientMode,"view")?"Disabled":"")+"' value="+SPLib.ToHTMLValue(BO.w_AZIENDA,"C",5,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='5' size='5' fieldtype='C'>" +
|
||
"");
|
||
status.m_nTabIndex = status.m_nTabIndex+(1);
|
||
status.out.println(
|
||
"<input name='MVSERIAL' id='UMGBGSQJYH' type='text' class='Field PrimaryKeyField "+(CPLib.eq(status.m_cClientMode,"edit") || CPLib.eq(status.m_cClientMode,"view")?"Disabled":"")+"' value="+SPLib.ToHTMLValue(BO.w_MVSERIAL,"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.m_nTabIndex = status.m_nTabIndex+(1);
|
||
status.out.println(
|
||
"<input name='MVDATREG' id='DJAHUICCZV' type='text' class='Field' value="+SPLib.ToHTMLValue(BO.w_MVDATREG,"D",8,0,SPLib.GetUserDatePicture(status.context.GetLanguage(),"DD-MM-YYYY"), status.m_oRegSettings)+" tabindex='"+status.m_nTabIndex+"' curTabIndex='"+status.m_nTabIndex+"' maxlength='10' size='8' fieldtype='D'>" +
|
||
"<button id='DJAHUICCZV_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(
|
||
"</div>" +
|
||
"");
|
||
}
|
||
}
|
||
static void PrintState(pi_adocmastBL BO,ServletStatus status) {
|
||
PrintStateChildren(BO,status);
|
||
PrintStateWorkVars(BO,status);
|
||
}
|
||
static void PrintStateChildren(pi_adocmastBL BO,ServletStatus status) {
|
||
PrintMNTState(status,BO,BO.m_MNTs);
|
||
}
|
||
static void PrintStateWorkVars(pi_adocmastBL BO,ServletStatus status) {
|
||
status.out.print("DeclareWVs(");
|
||
status.out.print(SPLib.ToJSValue(BO.w_AZIENDA,"C",5,0));
|
||
status.out.print(","+SPLib.ToJSValue(BO.w_MVSERIAL,"C",10,0));
|
||
status.out.print(","+SPLib.ToJSValue(BO.w_MVDATREG,"D",8,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(pi_adocmastBO 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(120,"N",0,0)+ ";");
|
||
status.out.println("var m_nPreferredWidth = " + SPLib.ToJSValue(172,"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,"pi_adocmast"),"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")) {
|
||
AppendCallableIDS(status,"");
|
||
} else {
|
||
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)+";");
|
||
}
|
||
status.out.println("var m_cProgNameAlter = " + SPLib.ToJSValue("pi_adocmast","C",0,0)+ ";");
|
||
// hide e disable di pagine ed item
|
||
VRTStateImpl l_vrtState = VRTHolder.GetState(status.context,"pi_adocmast",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(pi_adocmastBO 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('pi_adocmast',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('DCPCUVJOFL')) SetDisabled(c,true);");
|
||
status.out.println("if(c=Ctrl('UMGBGSQJYH')) SetDisabled(c,true);");
|
||
status.out.println("if(c=Ctrl('DJAHUICCZV')) SetDisabled(c,true);");
|
||
status.out.println("if(c=Ctrl('DJAHUICCZV_ZOOM')) SetDisabled(c,true);");
|
||
if (CPLib.gt(BO.extendedFields.length,0)) {
|
||
status.out.println("SetExtendedDisabledFields();");
|
||
}
|
||
}
|
||
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('DCPCUVJOFL')) SetDisabled(c,true);");
|
||
status.out.println("if(c=Ctrl('UMGBGSQJYH')) 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("}");
|
||
WriteJSError(status);
|
||
WriteTableCombo(status,BO);
|
||
status.out.println("// * --- Area Manuale = UI - Functions & Procedures");
|
||
status.out.println("// * --- Fine Area Manuale");
|
||
status.out.println(
|
||
"</script>" +
|
||
"");
|
||
}
|
||
pi_adocmastBO getBO(ServletStatus status) {
|
||
pi_adocmastBO BO = new pi_adocmastBO(status.context);
|
||
LoadExtensions(BO);
|
||
return BO;
|
||
}
|
||
void LoadExtensions(pi_adocmastBO BO) {
|
||
XDCHolder xdc = CPLib.GetXDCHolder(SPLib.GetClassesPath(),new SPXDCReaderFactory(BO.m_Ctx.GetInstance()),BO.m_Ctx.GetInstance());
|
||
XDCTable t = xdc.GetXDCTable("DOCMAST",true);
|
||
BO.extendedFields = CPExtenderLib.GetExtendedItemsFromTable(t);
|
||
}
|
||
public void NotifyEvent(String p_cEvent,ServletStatus status,pi_adocmastBO BO) {
|
||
super.NotifyEvent(p_cEvent,status,BO);
|
||
CPLib.NotifyEvent(p_cEvent,BO,BO.m_Ctx,BO.specificEventsHandlers,BO.allEventsHandlers);
|
||
}
|
||
void WriteTableCombo(ServletStatus status,pi_adocmastBO BO) {
|
||
String l_cTmp;
|
||
CPResultSet l_rsLoad=null;
|
||
}
|
||
CPResultSet QueryKeyCursor(pi_adocmastBO BO,ServletStatus status) {
|
||
String l_cServer = BO.m_cServer_DOCMAST;
|
||
String l_cPhName = BO.m_cPhName_DOCMAST;
|
||
// 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 = pi_adocmastBL.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_DOCMAST+".AZIENDA, "+BO.m_cVirtName_DOCMAST+".MVSERIAL",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("DOCMAST");
|
||
String l_cPhName = CPSql.ManipulateTablePhName("DOCMAST",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+".AZIENDA, "+l_cPhName+".MVSERIAL",CPLib.GetTablesWithAliases(l_cPhName,status.m_cAllVirtNames,status.context),l_cLastWhere,status.m_cLastOrderBy));
|
||
}
|
||
return l_rsKeys;
|
||
}
|
||
void Query(ServletStatus status,pi_adocmastBO BO) {
|
||
if ( ! (CPLib.Empty(status.m_cLastWhere))) {
|
||
CPResultSet l_rsCount=null;
|
||
String l_cLastWhere = status.m_cLastWhere;
|
||
String l_cQueryFilter = pi_adocmastBL.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_DOCMAST,CPSql.BuildSQLPhrase(" count(*) as reccount",CPLib.GetTablesWithAliases(BO.m_cPhName_DOCMAST,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,pi_adocmastBO 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,pi_adocmastBO BO,SPParameterSource source) {
|
||
BO.Load(status.w_AZIENDA,status.w_MVSERIAL);
|
||
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,pi_adocmastBO 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,pi_adocmastBO 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,pi_adocmastBO 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_AZIENDA = "";
|
||
status.w_MVSERIAL = "";
|
||
} else {
|
||
BO.w_AZIENDA = l_rsKeys.GetString("AZIENDA");
|
||
BO.w_MVSERIAL = l_rsKeys.GetString("MVSERIAL");
|
||
// Ottimizzazione: liberata connessione database prima di eseguire la Load
|
||
l_rsKeys.Close();
|
||
BO.Load();
|
||
status.w_AZIENDA = BO.w_AZIENDA;
|
||
status.w_MVSERIAL = BO.w_MVSERIAL;
|
||
}
|
||
} 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,pi_adocmastBO 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,pi_adocmastBO 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_AZIENDA,status.w_MVSERIAL);
|
||
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,pi_adocmastBO BO,SPParameterSource source) {
|
||
BO.Load(status.w_AZIENDA,status.w_MVSERIAL);
|
||
status.m_cBOWarnMessageDeleted = status.context.Translate("MSG_PROCEED_WITH_DELETE");
|
||
status.m_bExit = true;
|
||
status.m_cClientMode = "bringback";
|
||
}
|
||
void Save(ServletStatus status,pi_adocmastBO 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");
|
||
}
|
||
}
|
||
}
|
||
} 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("({AZIENDA:"+SPLib.ToJSValue(BO.w_AZIENDA,"C",5,0)+",MVSERIAL:"+SPLib.ToJSValue(BO.w_MVSERIAL,"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,pi_adocmastBO 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,pi_adocmastBO 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",120);
|
||
item.put("w",172);
|
||
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","pi_adocmast");
|
||
items.put(item);
|
||
String s;
|
||
org.json.JSONObject ctrl = null;
|
||
s = "{\"h\":22,\"maxlength\":5,\"name\":\"AZIENDA\",\"page\":1,\"spuid\":\"DCPCUVJOFL\",\"tabindex\":1,\"type\":\"Textbox\",\"typevar\":\"character\",\"w\":48,\"x\":80,\"y\":47,\"zone\":\"pag1_1\",\"zonepath\":\"[1,1]\"}";
|
||
ctrl = new org.json.JSONObject(s);
|
||
items.put(ctrl);
|
||
s = "{\"h\":22,\"maxlength\":10,\"name\":\"MVSERIAL\",\"page\":1,\"spuid\":\"UMGBGSQJYH\",\"tabindex\":2,\"type\":\"Textbox\",\"typevar\":\"character\",\"w\":83,\"x\":80,\"y\":70,\"zone\":\"pag1_2\",\"zonepath\":\"[1,2]\"}";
|
||
ctrl = new org.json.JSONObject(s);
|
||
items.put(ctrl);
|
||
s = "{\"h\":22,\"maxlength\":10,\"name\":\"MVDATREG\",\"page\":1,\"picker\":true,\"spuid\":\"DJAHUICCZV\",\"tabindex\":3,\"type\":\"Textbox\",\"typevar\":\"date\",\"w\":69,\"x\":80,\"y\":93,\"zone\":\"pag1_3\",\"zonepath\":\"[1,3]\",\"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 WriteFormPage(pi_adocmastBO 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='pi_adocmast?"+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+"/pi_adocmast_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+"/pi_adocmast_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_AZIENDA=a[0];");
|
||
status.out.println("w_MVSERIAL=a[1];");
|
||
status.out.println("w_MVDATREG=a[2];");
|
||
status.out.println("m_PrimaryKeys=['MVSERIAL','AZIENDA'];");
|
||
status.out.println("}");
|
||
status.out.println(
|
||
"</script>" +
|
||
"");
|
||
} else {
|
||
status.out.println(
|
||
"<script src='SPPrxy/"+m_cEntityUid+"/pi_adocmast_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(120,status.m_cBodyAttributes,status.context.Translate("MSG_LOADING")+"...");
|
||
status.out.println(
|
||
"<script>" +
|
||
"");
|
||
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","DOCMAST");
|
||
f.SetParameter("Autozoom",entityGlobals.name);
|
||
f.SetParameter("PKFields","AZIENDA,MVSERIAL");
|
||
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(pi_adocmastBO BO,ServletStatus status) {
|
||
RaiseEventLoadedEntity(status,SPLib.ToJSValue("({AZIENDA:"+SPLib.ToJSValue(BO.w_AZIENDA,"C",5,0)+",MVSERIAL:"+SPLib.ToJSValue(BO.w_MVSERIAL,"C",10,0)+",action:"+SPLib.ToJSValue(status.m_cClientMode,"C",0,0)+"})","C",0,0));
|
||
}
|
||
void RaiseSavedEntity(pi_adocmastBO 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("({AZIENDA:"+SPLib.ToJSValue(BO.w_AZIENDA,"C",5,0)+",MVSERIAL:"+SPLib.ToJSValue(BO.w_MVSERIAL,"C",10,0)+",action:"+SPLib.ToJSValue(status.m_cMode,"C",0,0)+"})","C",0,0)));
|
||
status.out.println(
|
||
"</script>" +
|
||
"");
|
||
}
|
||
}
|
||
void RaiseDeletedEntity(pi_adocmastBO BO,ServletStatus status) {
|
||
if (CPLib.eq(status.m_cAction,"delete") && ! (status.m_bError)) {
|
||
status.out.println(
|
||
"<script>" +
|
||
"");
|
||
RaiseEventDeletedEntity(status,SPLib.ToJSValue("({AZIENDA:"+SPLib.ToJSValue(BO.w_AZIENDA,"C",5,0)+",MVSERIAL:"+SPLib.ToJSValue(BO.w_MVSERIAL,"C",10,0)+"})","C",0,0));
|
||
status.out.println(
|
||
"</script>" +
|
||
"");
|
||
}
|
||
}
|
||
void RaiseDiscardedEntity(pi_adocmastBO BO,ServletStatus status) {
|
||
if (CPLib.eq(status.m_cAction,"discard")) {
|
||
status.out.println(
|
||
"<script>" +
|
||
"");
|
||
RaiseEventDiscardedEntity(status,SPLib.ToJSValue("({AZIENDA:"+SPLib.ToJSValue(BO.w_AZIENDA,"C",5,0)+",MVSERIAL:"+SPLib.ToJSValue(BO.w_MVSERIAL,"C",10,0)+",action:"+SPLib.ToJSValue(status.m_cMode,"C",0,0)+"})","C",0,0));
|
||
status.out.println(
|
||
"</script>" +
|
||
"");
|
||
}
|
||
}
|
||
void WriteExitPage(pi_adocmastBO BO,ServletStatus status,Forward f) {
|
||
WriteExitPage(status,SPLib.ToJSValue("({AZIENDA:"+SPLib.ToJSValue(BO.w_AZIENDA,"C",5,0)+",MVSERIAL:"+SPLib.ToJSValue(BO.w_MVSERIAL,"C",10,0)+",action:"+SPLib.ToJSValue(status.m_cMode,"C",0,0)+"})","C",0,0), f);
|
||
}
|
||
void WriteExitPage(pi_adocmastBO BO,ServletStatus status) {
|
||
WriteExitPage(BO,status,Forward.Unforwarded);
|
||
}
|
||
protected void BringBackPage(pi_adocmastBO 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,pi_adocmastBO 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_AZIENDA),"C",5,0));
|
||
hCreator.AddValue(CPLib.ToSQL(CPLib.Trim(BO.w_MVSERIAL),"C",10,0));
|
||
}
|
||
}
|
||
return GetEntityHash(p_cUID,status,hCreator);
|
||
}
|
||
public boolean CheckVars(ServletStatus status,pi_adocmastBO 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);
|
||
}
|
||
return result;
|
||
}
|
||
}
|