⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 viewgeneric.jsp

📁 国外的一套开源CRM
💻 JSP
📖 第 1 页 / 共 3 页
字号:
<%--
 *  Copyright (c) 2001 The Open For Business Project - www.ofbiz.org
 *
 *  Permission is hereby granted, free of charge, to any person obtaining a 
 *  copy of this software and associated documentation files (the "Software"), 
 *  to deal in the Software without restriction, including without limitation 
 *  the rights to use, copy, modify, merge, publish, distribute, sublicense, 
 *  and/or sell copies of the Software, and to permit persons to whom the 
 *  Software is furnished to do so, subject to the following conditions:
 *
 *  The above copyright notice and this permission notice shall be included 
 *  in all copies or substantial portions of the Software.
 *
 *  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 
 *  OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 
 *  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 
 *  IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 
 *  CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT 
 *  OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR 
 *  THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 *
 *@author     <a href='mailto:jonesde@ofbiz.org'>David E. Jones (jonesde@ofbiz.org)</a>
 *@created    Aug 18 2001
 *@version    1.0
--%>

<%@ page import="java.text.*, java.util.*, java.net.*" %>
<%@ page import="org.ofbiz.security.*, org.ofbiz.entity.*, org.ofbiz.base.util.*, org.ofbiz.content.webapp.pseudotag.*" %>
<%@ page import="org.ofbiz.entity.model.*" %>

<%@ taglib uri="ofbizTags" prefix="ofbiz" %>

<jsp:useBean id="security" type="org.ofbiz.security.Security" scope="request" />
<jsp:useBean id="delegator" type="org.ofbiz.entity.GenericDelegator" scope="request" />
<%try {%>

<%String entityName = request.getParameter("entityName");%>
<%ModelReader reader = delegator.getModelReader();%>
<%ModelEntity entity = reader.getModelEntity(entityName);%>

<%boolean hasAllView = security.hasEntityPermission("ENTITY_DATA", "_VIEW", session);%>
<%boolean hasAllCreate = security.hasEntityPermission("ENTITY_DATA", "_CREATE", session);%>
<%boolean hasAllUpdate = security.hasEntityPermission("ENTITY_DATA", "_UPDATE", session);%>
<%boolean hasAllDelete = security.hasEntityPermission("ENTITY_DATA", "_DELETE", session);%>

<%boolean hasViewPermission = hasAllView || security.hasEntityPermission(entity.getPlainTableName(), "_VIEW", session);%>
<%boolean hasCreatePermission = hasAllCreate || security.hasEntityPermission(entity.getPlainTableName(), "_CREATE", session);%>
<%boolean hasUpdatePermission = hasAllUpdate || security.hasEntityPermission(entity.getPlainTableName(), "_UPDATE", session);%>
<%boolean hasDeletePermission = hasAllDelete || security.hasEntityPermission(entity.getPlainTableName(), "_DELETE", session);%>
<%if(hasViewPermission){%>

<%
  boolean useValue = true;

  String rowClass1 = "viewOneTR1";
  String rowClass2 = "viewOneTR2";
  String rowClass = "";
  String curFindString = "entityName=" + entityName;
  GenericPK findByPK = delegator.makePK(entityName, null);
  for(int fnum = 0; fnum < entity.getPksSize(); fnum++) {
    ModelField field = entity.getPk(fnum);
    ModelFieldType type = delegator.getEntityFieldType(entity, field.getType());
    String fval = request.getParameter(field.getName());
    if(fval != null && fval.length() > 0) {
      curFindString = curFindString + "&" + field.getName() + "=" + fval;
      findByPK.setString(field.getName(), fval);
    }
  }
  curFindString = UtilFormatOut.encodeQuery(curFindString);

  GenericValue value = null;
  //only try to find it if this is a valid primary key...
  if(findByPK.isPrimaryKey()) value = delegator.findByPrimaryKey(findByPK);
  if(value == null) useValue = false;
%>
<br>
<STYLE>
  .topouter { overflow: visible; border-style: none; }
  .topcontainer { POSITION: absolute; VISIBILITY: visible; width: 90%; border-style: none; }
  .topcontainerhidden { POSITION: absolute; VISIBILITY: hidden; }
</STYLE>
<SCRIPT language='JavaScript'>  
var numTabs=<%=entity.getRelationsSize()+2%>;
function ShowTab(lname) {
  for(inc=1; inc <= numTabs; inc++) {
    document.getElementById('tab' + inc).className = (lname == 'tab' + inc) ? 'ontab' : 'offtab';
    document.getElementById('lnk' + inc).className = (lname == 'tab' + inc) ? 'onlnk' : 'offlnk';
    document.getElementById('area' + inc).className = (lname == 'tab' + inc) ? 'topcontainer' : 'topcontainerhidden';
  }
}
</SCRIPT>
<div style='color: white; background-color: black; padding:3;'>
  <b>View Entity: <%=entityName%> with PK: <%=findByPK.toString()%></b>
</div>

<a href='<ofbiz:url>/FindGeneric?entityName=<%=entityName%></ofbiz:url>' class="buttontext">[Find <%=entityName%>]</a>
<%if (hasCreatePermission) {%>
  <a href='<ofbiz:url>/ViewGeneric?entityName=<%=entityName%></ofbiz:url>' class="buttontext">[Create New <%=entityName%>]</a>
<%}%>
<%if (value != null) {%>
  <%if (hasDeletePermission) {%>
    <a href='<ofbiz:url>/UpdateGeneric?UPDATE_MODE=DELETE&<%=curFindString%></ofbiz:url>' class="buttontext">[Delete this <%=entityName%>]</a>
  <%}%>
<%}%>
<br>
<br>
<table cellpadding='0' cellspacing='0'><tr>  
  <td id='tab1' class='ontab'>
    <a href='javascript:ShowTab("tab1")' id=lnk1 class=onlnk>View <%=entityName%></a>
  </td>
  <%if (hasUpdatePermission || hasCreatePermission) {%>
  <td id='tab2' class='offtab'>
    <a href='javascript:ShowTab("tab2")' id=lnk2 class=offlnk>Edit <%=entityName%></a>
  </td>
  <%}%>
</tr>
<%if (value != null) {%>
<tr>
  <%for(int tabIndex = 0; tabIndex < entity.getRelationsSize(); tabIndex++){%>
    <%ModelRelation relation = entity.getRelation(tabIndex);%>
    <%ModelEntity relatedEntity = reader.getModelEntity(relation.getRelEntityName());%>
    <%if (hasAllView || security.hasEntityPermission(relatedEntity.getPlainTableName(), "_VIEW", session)) {%>
      <td id='tab<%=tabIndex+3%>' class='offtab'>
        <a href='javascript:ShowTab("tab<%=tabIndex+3%>")' id='lnk<%=tabIndex+3%>' class='offlnk' style='FONT-SIZE: xx-small;'>
          <%=relation.getTitle()%><%=relation.getRelEntityName()%></a><SPAN class='tabletext' style='FONT-SIZE: xx-small;'>(<%=relation.getType()%>)</SPAN>
      </td>
    <%}%>
    <%if ((tabIndex+1)%4 == 0) {%></tr><tr><%}%>
  <%}%>
</tr>
<%}%>
</table>
<div class='topouter'>
  <DIV id='area1' class='topcontainer' width="1%">

<table border="0" cellspacing="2" cellpadding="2">
<%if (value == null) {%>
<tr class="<%=rowClass1%>"><td><h3>Specified <%=entityName%> was not found.</h3></td></tr>
<%} else {%> 
    <%for (int fnum = 0; fnum < entity.getFieldsSize(); fnum++) {%>
      <%ModelField field = entity.getField(fnum);%>
      <%ModelFieldType type = delegator.getEntityFieldType(entity, field.getType());%>
    <%rowClass=(rowClass==rowClass1?rowClass2:rowClass1);%><tr class="<%=rowClass%>">
      <td valign="top"><div class="tabletext"><b><%=field.getName()%></b></div></td>
      <td valign="top">
        <div class="tabletext">
      <%if(type.getJavaType().equals("Timestamp") || type.getJavaType().equals("java.sql.Timestamp")){%>
        <%java.sql.Timestamp dtVal = value.getTimestamp(field.getName());%>
        <%=dtVal==null?"":dtVal.toString()%>
      <%} else if(type.getJavaType().equals("Date") || type.getJavaType().equals("java.sql.Date")){%>
        <%java.sql.Date dateVal = value.getDate(field.getName());%>
        <%=dateVal==null?"":dateVal.toString()%>
      <%} else if(type.getJavaType().equals("Time") || type.getJavaType().equals("java.sql.Time")){%>
        <%java.sql.Time timeVal = value.getTime(field.getName());%>
        <%=timeVal==null?"":timeVal.toString()%>
      <%}else if(type.getJavaType().indexOf("Integer") >= 0){%>
        <%=UtilFormatOut.safeToString((Integer)value.get(field.getName()))%>
      <%}else if(type.getJavaType().indexOf("Long") >= 0){%>
        <%=UtilFormatOut.safeToString((Long)value.get(field.getName()))%>
      <%}else if(type.getJavaType().indexOf("Double") >= 0){%>
        <%=UtilFormatOut.safeToString((Double)value.get(field.getName()))%>
      <%}else if(type.getJavaType().indexOf("Float") >= 0){%>
        <%=UtilFormatOut.safeToString((Float)value.get(field.getName()))%>
      <%}else if(type.getJavaType().indexOf("String") >= 0){%>
        <%=UtilFormatOut.checkNull((String)value.get(field.getName()))%>
      <%}%>
        &nbsp;</div>
      </td>
    </tr>
    <%}%>
<%} //end if value == null %>
</table>
  </div>

<%GenericValue valueSave = value;%>
<%if(hasUpdatePermission || hasCreatePermission){%>
  <DIV id='area2' class='topcontainerhidden' width="1%">
<%boolean showFields = true;%>
<%if(value == null && (findByPK.getAllFields().size() > 0)){%>
    <%=entity.getEntityName()%> with primary key <%=findByPK.toString()%> not found.<br>
<%}%>
<%
  String lastUpdateMode = request.getParameter("UPDATE_MODE");
  if((session.getAttribute("_ERROR_MESSAGE_") != null || request.getAttribute("_ERROR_MESSAGE_") != null) && 
      lastUpdateMode != null && !lastUpdateMode.equals("DELETE")) {
    //if we are updating and there is an error, don't use the entity data for the fields, use parameters to get the old value
    useValue = false;
  }
%>
<form action='<ofbiz:url>/UpdateGeneric?entityName=<%=entityName%></ofbiz:url>' method="POST" name="updateForm" style="margin:0;">
<table cellpadding="2" cellspacing="2" border="0">

<%if (value == null) {%>
  <%if (hasCreatePermission) {%>
    You may create a <%=entityName%> by entering the values you want, and clicking Update.
    <input type="hidden" name="UPDATE_MODE" value="CREATE"/>
    <%for (int fnum = 0; fnum < entity.getPksSize();fnum++) {%>
      <%ModelField field = entity.getPk(fnum);%>
      <%ModelFieldType type = delegator.getEntityFieldType(entity, field.getType());%>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -