📄 leadcapturesetup.jsp
字号:
<%@ page import="org.ofbiz.entity.*" %>
<%@ page import="org.ofbiz.entity.model.*" %>
<%@ page import="java.lang.reflect.Method" %>
<%@ page import="java.util.*" %>
<%@ page import="java.io.*" %>
<%@ page import="org.ofbiz.entity.util.SequenceUtil" %>
<%@ page import="com.sourcetap.sfa.replication.*" %>
<%@ page import="com.sourcetap.sfa.ui.*"%>
<%@ page import="com.sourcetap.sfa.event.*"%>
<%@ page import="com.sourcetap.sfa.util.*" %>
<%@ page import="java.net.*" %>
<%@ page import="javax.servlet.ServletException" %>
<%@ page import="javax.servlet.http.HttpServletRequest" %>
<%@ page import="javax.servlet.http.HttpServletResponse" %>
<%@ page import="javax.servlet.http.HttpServlet" %>
<%@ include file="/includes/header.jsp" %>
<jsp:useBean id="leadEventProcessor" class="com.sourcetap.sfa.lead.LeadEventProcessor" scope="application" />
<jsp:useBean id="importEventProcessor" class="com.sourcetap.sfa.event.GenericImportEventProcessor" scope="application" />
<%
String screen = "LEAD";
String screenSection = "LeadHeader";
String entityName = "Lead";
CsvConverter csvConverter = null;
String action = "start"; // default action
if ( request.getParameter("action") != null )
{
action = request.getParameter("action");
}
try{
if(action.equals("start")){
ModelEntity entity = delegator.getModelEntity(entityName);
UIWebScreenSection uiWebScreenSection = importEventProcessor.getUiWebScreenSection(userInfo, screen, screenSection, delegator, uiCache);
List fields = uiWebScreenSection.getDisplayFields(uiCache);
int numFields = fields.size();
%>
<table width="100%" class="freeFormSectionDisplayTable"><tr><td valign="top">
<tr><td><center><b>Choose Fields to include in Form.</b></center></td></tr>
<tr><td>
<!-- title table -->
<center><table class="freeFormSectionDisplayTable" cellspacing="0" cellpadding="2" id='queryListTable'>
<form method="post" action="/sfa/control/leadCaptureSetup">
<input type=hidden name=action value="generate">
<input type="hidden" name="numFields" value="<%=numFields%>">
<input type=hidden id=queryListMaxRows name=queryListMaxRows value=4>
<tr><td class=freeFormSectionLabel><center>Field<center></td>
<td class=freeFormSectionLabel><center>Label</center></td>
</tr>
<%
Iterator fieldIter = fields.iterator();
StringBuffer fieldNameOptions = new StringBuffer(200);
while (fieldIter.hasNext())
{
UIFieldInfo fieldInfo = (UIFieldInfo)fieldIter.next();
// if ( fieldInfo.getIsVisible() && !fieldInfo.getIsReadOnly() )
String fieldName = UIWebUtility.getHtmlName(screenSection, fieldInfo, 0);
String displayName = fieldInfo.getDisplayLabel();
if ( fieldName.equals("lastUpdatedStamp") || fieldName.equals("lastUpdatedTxStamp") ||
fieldName.equals("createdStamp") || fieldName.equals("createdTxStamp") )
continue;
String htmlName = fieldName;
String displayObjectId = fieldInfo.getDisplayObjectId();
String displayTypeId = "TEXT"; //fieldInfo.getDisplayTypeId();
String attributeId = fieldInfo.getAttributeId();
String displayLabel = fieldInfo.getDisplayLabel();
String optValue = htmlName + ";" + attributeId + ";" + displayTypeId + ";" + displayObjectId + ";" + displayLabel;
fieldNameOptions.append("<option value='" + optValue + "'>" + displayLabel + "</option>");
}
for ( int i=1; i < 5; i++)
{
out.write("<tr id=queryListRow" + i + "><td><select name=queryListField" + i + ">" + fieldNameOptions.toString() + "</select></td>\n");
out.write(" <td><input name=queryListLabel" + i + " size=30></td>\n");
out.write(" <td><img src=/sfaimages/remove.gif alt=Del onClick=delConditionRow(" + i + ")>\n");
out.write(" <img src=/sfaimages/add.gif alt=Add onClick=addConditionRow(" + i + ")></td>\n");
out.write("</tr>");
}
%>
</table></center>
</td></tr>
<tr><td><center>
<table><tr><td>URL to Redirect to on Success:</td><td><input name="onSuccessURL" size=80></td></tr>
<tr><td>URL to Redirect to on Error:</td><td><input name="onErrorURL" size=80></td></tr>
</table>
<tr><td><center><input type=submit value="Generate HTML"></center></td></tr>
</form>
</table>
<script type='text/javascript'>
function addConditionRow(i) {
var tab1=document.getElementById('queryListTable')
if ( tab1 ) {
var numRows = tab1.rows.length
var maxRows = 30
if ( numRows > maxRows )
alert("Can't have more than 10 fields");
else {
var x = tab1.insertRow(numRows)
var maxRows = document.getElementById('queryListMaxRows')
var newRow = maxRows.value - -1
maxRows.value = newRow
x.id = "queryListRow" + newRow
var c1=x.insertCell(0)
var c2=x.insertCell(1)
var c3=x.insertCell(2)
c1.innerHTML="<select name=queryListField" + newRow + "><%=fieldNameOptions.toString()%></select>"
c2.innerHTML="<input name=queryListLabel" + newRow + " size=30>"
c3.innerHTML="<img src=/sfaimages/remove.gif alt=Del onClick=delConditionRow(" + newRow + ")>" + " <img src=/sfaimages/add.gif alt=Add onClick=addConditionRow(" + newRow + ")>"
}
fixSize()
}
}
function delConditionRow(i)
{
var row1 = document.getElementById('queryListRow' + i)
var tab = document.getElementById('queryListTable')
var rows = tab.rows
if ( rows.length == 2 ) {
event.returnValue = false
return;
}
for ( i=0; i < rows.length; i++ ) {
row = rows[i];
if ( row.id == row1.id) {
tab.deleteRow(i);
break;
}
}
fixSize()
}
</script>
<%
} else if(action.equals("generate")) {
StringBuffer formHTML = new StringBuffer(1000);
String successURL = UtilFormatOut.checkNull(request.getParameter("onSuccessURL"));
String errorURL = UtilFormatOut.checkNull(request.getParameter("onErrorURL"));
String path = request.getRequestURL().toString();
int lastSlash = path.lastIndexOf('/');
path = path.substring(0, lastSlash);
formHTML.append("<form action=" + path + "/leadCapture target='_self' method=post>\n");
formHTML.append("<input type=hidden name=action value='save'>\n");
formHTML.append("<input type=hidden name=cid value='" + userInfo.getAccountId() + "'>\n");
formHTML.append("<input type=hidden name=uid value='" + userInfo.getPartyId() + "'>\n");
formHTML.append("<input type=hidden name=onSuccess value='" + successURL + "'>\n");
formHTML.append("<input type=hidden name=onError value='" + errorURL+ "'>\n");
formHTML.append("<table>\n");
String queryListMaxRows = request.getParameter("queryListMaxRows");
// if queryListMaxRows is set, then we are using advanced query mode
if ( (queryListMaxRows != null ) && ( queryListMaxRows.length() > 0) )
{
int maxRows = Integer.valueOf(queryListMaxRows).intValue();
for ( int i=1; i <= maxRows; i++ )
{
String qlFieldInfo = request.getParameter("queryListField" + i);
if ( ( qlFieldInfo != null ) && ( qlFieldInfo.length() > 0 ) )
{
StringTokenizer tokSemi = new StringTokenizer(qlFieldInfo,";");
String qlFieldName = "";
String qlAttributeId = "";
String qlDisplayObjectId = "";
String qlDisplayTypeId = "";
String qlDisplayLabel = "";
if (tokSemi.countTokens() == 5) {
qlFieldName = tokSemi.nextToken();
qlAttributeId = tokSemi.nextToken();
qlDisplayTypeId = tokSemi.nextToken();
qlDisplayObjectId = tokSemi.nextToken();
qlDisplayLabel = tokSemi.nextToken();
}
else
{
qlFieldName = qlFieldInfo;
}
String qlLabel = request.getParameter("queryListLabel" + i);
if ( (qlLabel == null ) || ( qlLabel.length() < 1) )
qlLabel = qlDisplayLabel;
formHTML.append("<tr><td>" + qlLabel + "<td><input name='" + qlFieldName + "' size=30></td></tr>\n");
}
}
}
formHTML.append("<tr><td colspan=2><center><input type=submit value=submit></center></td></tr>\n");
formHTML.append("</table>\n");
formHTML.append("</form>\n");
out.write("<center><br><h3>copy and paste the code below into your web page</h3><p>\n");
out.write("<textarea rows=20 cols=80>" + formHTML.toString() + "</textarea></center>");
} else {
out.write("csv Null error");
}
%>
</table>
<%
} catch (Exception e) { e.printStackTrace();
}
%>
<%@ include file="/includes/footer.jsp" %>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -