📄 editentity.jsp
字号:
<%@page contentType="text/html"%><%-- * 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 Andy Zeneski (jaz@ofbiz.org) * @author David E. Jones (jonesde@ofbiz.org) * @version 1.0--%><%@ page import="java.util.*" %><%@ page import="org.ofbiz.base.util.*, org.ofbiz.base.config.*" %><%@ page import="org.ofbiz.entity.*" %><%@ page import="org.ofbiz.entity.model.*" %><%@ page import="org.ofbiz.entity.util.*" %><%@ 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" /><%if (security.hasPermission("ENTITY_MAINT", session)) { String entityName = request.getParameter("entityName"); ModelReader reader = delegator.getModelReader(); String event = request.getParameter("event"); ModelEntity entity = null; if (UtilValidate.isNotEmpty(entityName) && !"addEntity".equals(event)) entity = reader.getModelEntity(entityName); ModelViewEntity modelViewEntity = null; if (entity instanceof ModelViewEntity) modelViewEntity = (ModelViewEntity)entity; TreeSet entSet = new TreeSet(reader.getEntityNames()); String errorMsg = ""; ResourceHandler entityResourceHandler = delegator.getModelReader().getEntityResourceHandler(entityName); if ("addEntity".equals(event)) { if (entity == null) { entity = new ModelEntity(); entity.setEntityName(request.getParameter("entityName")); entity.setTableName(ModelUtil.javaNameToDbName(entity.getEntityName())); reader.getEntityCache().put(entity.getEntityName(), entity); entityName = entity.getEntityName(); String entityGroup = request.getParameter("entityGroup"); delegator.getModelGroupReader().getGroupCache().put(entityName, entityGroup); } } else if ("updateEntity".equals(event)) { entity.setTableName(request.getParameter("tableName")); entity.setPackageName(request.getParameter("packageName")); entity.setDependentOn(request.getParameter("dependentOn")); entity.setTitle(request.getParameter("title")); entity.setDescription(request.getParameter("description")); entity.setCopyright(request.getParameter("copyright")); entity.setAuthor(request.getParameter("author")); entity.setVersion(request.getParameter("version")); String entityGroup = request.getParameter("entityGroup"); delegator.getModelGroupReader().getGroupCache().put(entityName, entityGroup); delegator.getModelReader().addEntityToResourceHandler(entityName, request.getParameter("loaderName"), request.getParameter("location")); delegator.getModelReader().rebuildResourceHandlerEntities(); } else if ("removeField".equals(event)) { String fieldName = request.getParameter("fieldName"); entity.removeField(fieldName); } else if ("updateField".equals(event)) { String fieldName = request.getParameter("fieldName"); String fieldType = request.getParameter("fieldType"); String primaryKey = request.getParameter("primaryKey"); ModelField field = entity.getField(fieldName); field.setType(fieldType); if (primaryKey != null) field.setIsPk(true); else field.setIsPk(false); entity.updatePkLists(); } else if ("addField".equals(event)) { ModelField field = new ModelField(); field.setName(request.getParameter("name")); field.setColName(ModelUtil.javaNameToDbName(field.getName())); field.setType(request.getParameter("fieldType")); entity.addField(field); } else if ("addRelation".equals(event)) { String relEntityName = request.getParameter("relEntityName"); String type = request.getParameter("type"); String title = request.getParameter("title"); String fkName = request.getParameter("fkName"); ModelRelation relation = new ModelRelation(); ModelEntity relEntity = reader.getModelEntity(relEntityName); if (relEntity == null) { errorMsg = errorMsg + "<li> Related Entity \"" + relEntityName + "\" not found, not adding."; } else { relation.setRelEntityName(relEntityName); relation.setType(type); relation.setTitle(title); relation.setFkName(fkName); relation.setMainEntity(entity); entity.addRelation(relation); if ("one".equals(type) || "one-nofk".equals(type)) { for (int pk = 0; pk < relEntity.getPksSize(); pk++) { ModelField pkf = relEntity.getPk(pk); ModelKeyMap keyMap = new ModelKeyMap(); keyMap.setFieldName(pkf.getName()); keyMap.setRelFieldName(pkf.getName()); relation.addKeyMap(keyMap); } } } } else if ("updateRelation".equals(event)) { int relNum = Integer.parseInt(request.getParameter("relNum")); String type = request.getParameter("type"); String title = request.getParameter("title"); String fkName = request.getParameter("fkName"); ModelRelation relation = entity.getRelation(relNum); relation.setType(type); relation.setTitle(title); relation.setFkName(fkName); } else if ("removeRelation".equals(event)) { int relNum = Integer.parseInt(request.getParameter("relNum")); if (relNum < entity.getRelationsSize() && relNum >= 0) entity.removeRelation(relNum); else errorMsg = errorMsg + "<li> Relation number " + relNum + " is out of bounds."; } else if ("updateKeyMap".equals(event)) { int relNum = Integer.parseInt(request.getParameter("relNum")); int kmNum = Integer.parseInt(request.getParameter("kmNum")); String fieldName = request.getParameter("fieldName"); String relFieldName = request.getParameter("relFieldName"); ModelRelation relation = entity.getRelation(relNum); ModelEntity relEntity = reader.getModelEntity(relation.getRelEntityName()); ModelKeyMap keyMap = relation.getKeyMap(kmNum); ModelField field = entity.getField(fieldName); ModelField relField = relEntity.getField(relFieldName); keyMap.setFieldName(field.getName()); keyMap.setRelFieldName(relField.getName()); } else if ("removeKeyMap".equals(event)) { int relNum = Integer.parseInt(request.getParameter("relNum")); int kmNum = Integer.parseInt(request.getParameter("kmNum")); ModelRelation relation = entity.getRelation(relNum); relation.removeKeyMap(kmNum); } else if ("addKeyMap".equals(event)) { int relNum = Integer.parseInt(request.getParameter("relNum")); ModelRelation relation = entity.getRelation(relNum); ModelKeyMap keyMap = new ModelKeyMap(); relation.addKeyMap(keyMap); } else if ("addReverse".equals(event)) { int relNum = Integer.parseInt(request.getParameter("relNum")); ModelRelation relation = entity.getRelation(relNum); ModelEntity relatedEnt = reader.getModelEntity(relation.getRelEntityName()); if (relatedEnt != null) { if (relatedEnt.getRelation(relation.getTitle() + entity.getEntityName()) == null) { ModelRelation newRel = new ModelRelation(); relatedEnt.addRelation(newRel); newRel.setRelEntityName(entity.getEntityName()); newRel.setTitle(relation.getTitle()); if ("one".equals(relation.getType()) || "one-nofk".equals(relation.getType())) newRel.setType("many"); else newRel.setType("one"); for (int kmn = 0; kmn < relation.getKeyMapsSize(); kmn++) { ModelKeyMap curkm = relation.getKeyMap(kmn); ModelKeyMap newkm = new ModelKeyMap(); newRel.addKeyMap(newkm); newkm.setFieldName(curkm.getRelFieldName()); newkm.setRelFieldName(curkm.getFieldName()); } newRel.setMainEntity(relatedEnt); } else { errorMsg = errorMsg + "<li> Related entity already has a relation with name " + relation.getTitle() + entity.getEntityName() + ", no reverse relation added."; } } else { errorMsg = errorMsg + "<li> Could not find related entity " + relation.getRelEntityName() + ", no reverse relation added."; } } else if ("addMemberEntity".equals(event)) { String alias = request.getParameter("alias"); String aliasedEntityName = request.getParameter("aliasedEntityName"); if (UtilValidate.isEmpty(alias) || UtilValidate.isEmpty(alias)) { errorMsg = errorMsg + "<li> You must specify an Entity Alias and an Entity Name for addMemberEntity."; } if (modelViewEntity != null) { ModelViewEntity.ModelMemberEntity modelMemberEntity = new ModelViewEntity.ModelMemberEntity(alias, aliasedEntityName); modelViewEntity.addMemberModelMemberEntity(modelMemberEntity); } else { errorMsg = errorMsg + "<li> Cannot run addMemberEntity on a non view-entity."; } } else if ("removeMemberEntity".equals(event)) { String alias = request.getParameter("alias"); if (modelViewEntity != null) { modelViewEntity.removeMemberModelMemberEntity(alias); } else { errorMsg = errorMsg + "<li> Cannot run removeMemberEntity on a non view-entity."; } } else if (event != null) { errorMsg = errorMsg + "<li> The operation specified is not valid: [" + event + "]"; } Collection typesCol = delegator.getEntityFieldTypeNames(entity); TreeSet types = null; if (typesCol != null) types = new TreeSet(typesCol);%><style>A.listtext {font-family: Helvetica,sans-serif; font-size: 10pt; font-weight: bold; text-decoration: none; color: blue;}A.listtext:hover {color:red;}</style><H3>Entity Editor</H3><%if (errorMsg.length() > 0) {%><span style='color: red;'>The following errors occurred:<ul><%=errorMsg%></ul></span><br/><%}%><FORM method="post" action='<ofbiz:url>/view/EditEntity</ofbiz:url>' style='margin: 0;'> <INPUT type=TEXT class='inputBox' size='30' name='entityName'> <INPUT type=SUBMIT value='Edit Specified Entity'></FORM><FORM method="post" action='<ofbiz:url>/view/EditEntity</ofbiz:url>' style='margin: 0;'> <SELECT name='entityName' class='selectBox'> <OPTION selected> </OPTION> <%Iterator entIter1 = entSet.iterator();%> <%while (entIter1.hasNext()) {%> <OPTION><%=(String)entIter1.next()%></OPTION> <%}%> </SELECT> <INPUT type=SUBMIT value='Edit Specified Entity'></FORM><hr><FORM method="post" action='<ofbiz:url>/view/EditEntity?event=addEntity</ofbiz:url>' style='margin: 0;'> Entity Name (Java style): <INPUT type=TEXT class='inputBox' size='60' name='entityName'><br/> Entity Group: <INPUT type=TEXT size='60' class='inputBox' name='entityGroup' value='org.ofbiz'> <INPUT type=SUBMIT value='Create Entity'></FORM><hr><%if (entity == null) {%> <H4>Entity not found with name "<%=UtilFormatOut.checkNull(entityName)%>"</H4><%}else{%><BR><A href='<ofbiz:url>/view/EditEntity?entityName=<%=entityName%></ofbiz:url>'>Reload Current Entity: <%=entityName%></A><BR>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -