Edit C:\galaxie\Back\galaxie\admin\referential\referential.jsp
<%@page import="com.edeal.frontline.LicenceManager"%> <%@page import="com.edeal.frontline.RefValuesBean"%> <%@page import="org.apache.commons.lang.StringUtils"%><% /****************************************************************************** * Copyright (c) 2000-2011 e-Deal * * E-Deal S.A. * 41 rue Périer * 92120 Montrouge * France * * T: +33 (0)1 53 80 80 30 * F: +33 (0)1 73 01 69 77 * http://www.e-deal.com * * La diffusion de ce code source sous quelque forme que ce soit sans * l'autorisation de E-DEAL est interdite. * * Vous êtes autorisés à modifier ce code source uniquement pour votre usage * propre et sous réserve que les mentions de copyright demeurent intactes. * * Ce code est fourni en l'état. Aucune garantie d'aucune sorte, explicite ou * implicite n'est donnée. En aucun cas E-DEAL ne pourra être tenu pour * responsable des dommages pouvant résulter de l'utilisation de ce code * source. ******************************************************************************/ %> <%@ page session="true" %> <%@ page import="com.edeal.frontline.navigation.FlRequest" %> <%@ page import="com.edeal.frontline.FlContext" %> <%@ page import="com.edeal.frontline.Utils" %> <%@ page import="com.edeal.frontline.DataDictionary" %> <%@ page import="java.util.Vector" %> <%@ page import="java.util.Hashtable" %> <%@ page import="java.util.Enumeration" %> <%@taglib uri="http://www.e-deal.com/taglib/fl" prefix="fl" %> <% final org.apache.commons.logging.Log logger = org.apache.commons.logging.LogFactory.getLog(getClass()); FlRequest flRequest = new FlRequest(request); FlContext context = flRequest.getContext(); DataDictionary dico = context.getDataDictionary(); Vector modules = (Vector)flRequest.getAttribute("Modules"); Hashtable objIdsByModule = (Hashtable) flRequest.getAttribute("ObjIdsByModule"); Hashtable objDisplayByModule = (Hashtable) flRequest.getAttribute("ObjDisplayByModule"); Hashtable tabIdsByObjects = (Hashtable) flRequest.getAttribute("TabIdsByObjects"); Hashtable fldDisplayByObjects = (Hashtable)flRequest.getAttribute("FldDisplayByObjects"); Vector unattachedTabID = (Vector)flRequest.getAttribute("UnattachedTabID"); Vector unattachedTabDisplay = (Vector) flRequest.getAttribute("UnattachedTabDisplay"); String objModule = (String)flRequest.getAttribute("ObjModule"); String objDisplay = (String)flRequest.getAttribute("ObjDisplay"); String refTabID = (String)flRequest.getAttribute("RefTabID"); String objID = (String)flRequest.getAttribute("ObjID"); String sfwID = (String)flRequest.getRequestParameterOrAttribute("SfwID"); String tableRefID =""; int objModuleIdx = 0; int objDisplayIdx = 0; int refTabIdIdx = 0; %> <!-- Javascript include --> <script type="text/javascript" language="javascript"> var modules = [<% for (int i = 0; i < modules.size(); i++) { String module = (String)modules.elementAt(i); if(StringUtils.isEmpty(objModule)){ objModuleIdx = modules.size() + 1; }else if(module.equals(objModule)){ objModuleIdx = i +1; } %><%= i > 0 ? ", " : "" %>'<%= Utils.formatToJavascript(module) %>'<% } %>]; var objectsID = new Array(); <% Enumeration keys = objIdsByModule.keys(); while (keys.hasMoreElements()) { String module = (String)keys.nextElement(); Vector objIDs = (Vector)objIdsByModule.get(module); %>objectsID['<%= module %>'] = [<% for (int i = 0; i < objIDs.size(); i++) { %><%= i > 0 ? ", " : "" %>'<%= Utils.formatToJavascript((String)objIDs.elementAt(i)) %>'<% } %>]; <% } %> var objectsDisplay = new Array(); <% keys = objDisplayByModule.keys(); while (keys.hasMoreElements()) { String module = (String)keys.nextElement(); Vector objectsDisplay = (Vector)objDisplayByModule.get(module); %>objectsDisplay['<%= module %>'] = [<% for (int i = 0; i < objectsDisplay.size(); i++) { String objectDisplay = (String)objectsDisplay.elementAt(i); if(module.equals(objModule)&&objectDisplay.equals(objDisplay)){ objDisplayIdx = i + 1; } %><%= i > 0 ? ", " : "" %>'<%= Utils.formatToJavascript(objectDisplay) %>'<% } %>]; <% } %> var tablesID = new Array(); <% keys = tabIdsByObjects.keys(); while (keys.hasMoreElements()) { String object = (String)keys.nextElement(); Vector tabIDs = (Vector)tabIdsByObjects.get(object); %>tablesID['<%= object %>'] = [<% for (int i = 0; i < tabIDs.size(); i++) { String tabID = (String)tabIDs.elementAt(i); if(tabID.equals(refTabID)&&object.equals(objID)){ refTabIdIdx = i +1 ; } %><%= i > 0 ? ", " : "" %>'<%= Utils.formatToJavascript(tabID) %>'<% } %>]; <% } %> var fieldsDisplay = new Array(); <% keys = fldDisplayByObjects.keys(); while (keys.hasMoreElements()) { String object = (String)keys.nextElement(); Vector fieldsDisplay = (Vector)fldDisplayByObjects.get(object); %>fieldsDisplay['<%= object %>'] = [<% for (int i = 0; i < fieldsDisplay.size(); i++) { %><%= i > 0 ? ", " : "" %>'<%= Utils.formatToJavascript((String)fieldsDisplay.elementAt(i)) %>'<% } %>]; <% } %> var unattachedTabID = [<% for (int i = 0; i < unattachedTabID.size(); i++) { String tabID = (String)unattachedTabID.elementAt(i); if(tabID.equals(refTabID)){ refTabIdIdx = i+1; } %><%= i > 0 ? ", " : "" %>'<%= Utils.formatToJavascript(tabID) %>'<% } %>]; var unattachedTabDisplay = [<% for (int i = 0; i < unattachedTabDisplay.size(); i++) { %><%= i > 0 ? ", " : "" %>'<%= Utils.formatToJavascript((String)unattachedTabDisplay.elementAt(i)) %>'<% } %>]; function changeModule() { // on vide les combos objets et table de ref var f = document.forms[0]; for (var i = f.objects.options.length - 1; i > 0; i--) { f.objects.options[i] = null; } for (var i = f.tables.options.length - 1; i > 0; i--) { f.tables.options[i] = null; } var value = f.modules.options[f.modules.selectedIndex].value; // si value == "" on cache les 2 autres combos // si value == "UNATTACHED" on cache la combo objects et on met a jour tables // sinon on met a jour objets et on cache tables if (value == "") { hideObjects(); hideTables(); } else if (value == "UNATTACHED") { hideObjects(); for (var i = 0; i < unattachedTabID.length; i++) { f.tables.options[f.tables.options.length] = new Option(unattachedTabDisplay[i], unattachedTabID[i]); } showTables(); } else { hideTables(); var module = modules[value]; for (var i = 0; i < objectsID[module].length; i++) { f.objects.options[f.objects.options.length] = new Option(objectsDisplay[module][i], objectsID[module][i]); } showObjects(); } } function changeObject() { // on vide la combo table de ref var f = document.forms[0]; for (var i = f.tables.options.length - 1; i > 0; i--) { f.tables.options[i] = null; } var value = f.objects.options[f.objects.selectedIndex].value; // si value == "" on cache les 2 autres combos // sinon on met a jour objets et on cache tables if (value == "") { hideTables(); } else { for (var i = 0; i < tablesID[value].length; i++) { f.tables.options[f.tables.options.length] = new Option(fieldsDisplay[value][i], tablesID[value][i]); } showTables(); } } function changeTable() { var f = document.forms[0]; if (f.tables.selectedIndex == 0) { alert('<fl:getMessage code="L70BC" alt="Veuillez choisir le module, l\'objet et la table" js="true"/>'); return; } var value = f.tables.options[f.tables.selectedIndex].value; displayedTabID = value; doAjax('<fl:webapp/>/read_tables.fl?id=' + encodeURIComponent(value), showContent); } function loadRefFromReq(){ var f = document.forms[0]; f.modules.selectedIndex = <%= objModuleIdx %>; window.changeModule(); <%if(StringUtils.isNotEmpty(objDisplay)){%> f.objects.selectedIndex = <%= objDisplayIdx %>; window.changeObject(); <% } %> f.tables.selectedIndex = <%= refTabIdIdx%>; window.changeTable(); } function refreshList(arrIndex) { window.setTimeout(changeTable, 1); } function refreshWhenReady(arrIndex){ if (eDealXmlhttpArr[arrIndex].readyState == 4){ changeTable(); } } function massEdit(){ var f = document.forms[0]; var value = f.tables.options[f.tables.selectedIndex].value; if(value==''){ alert('<fl:getMessage code="FFFFF" alt="Veuillez choisir la table" js="true"/>'); }else{ window.location.href = '<fl:webapp/>/edit_mass_ref.fl?SfwID=<%=sfwID%>&id=' + value; } } function showContent(arrIndex) { hideWaiting(); if (eDealXmlhttpArr[arrIndex].readyState == 4){ var contentTD = document.getElementById('table_content'); contentTD.innerHTML = eDealXmlhttpArr[arrIndex].responseText; detailDisplayed = true; showActions(); } } function showActions() { var ids = ["mass_edit_action", "mass_edit_action_separator", "modify_seperator", "modify_table1", "modify_table2", "delete_table1", "delete_table2", "add_refvalue1", "add_refvalue2", "utilisation1", "utilisation2"]; for (var i = 0; i < ids.length; i++) { var node = document.getElementById(ids[i]); if (node!=null) node.style.display = ""; } } function hideObjects() { var objSelect = document.getElementById("objects"); objSelect.style.visibility = "hidden"; } function hideTables() { var tabSelect = document.getElementById("tables"); tabSelect.style.visibility = "hidden"; } function showObjects() { var objSelect = document.getElementById("objects"); objSelect.style.visibility = "visible"; } function showTables() { var tabSelect = document.getElementById("tables"); tabSelect.style.visibility = "visible"; } var detailsDisplayed = false; var displayedTabID = null; function editRefValues(id, access) { if (!access) { alert('<fl:getMessage code="L604D" alt="Vous n\\\'avez pas les droits nécessaires pour effectuer cette opération" js="true"/>'); return; } window.open("<fl:webapp/>/edit_refvalues.fl?tabID=" + displayedTabID + (id ? "&id=" + id : ""), "edit_refvalues", "width=1000,height=410,resizable=yes"); } function showUtilisation() { window.open("<fl:webapp/>/showRefTabUtilisation.fl?tabID=" + displayedTabID, "showUtilisation", "width=400,height=225,resizable=yes"); } function deleteRefValues(id, access) { if (!access) { alert('<fl:getMessage code="L604D" alt="Vous n\\\'avez pas les droits nécessaires pour effectuer cette opération" js="true"/>'); return; } if (window.confirm('<fl:getMessage code="M6004" alt="Vous êtes sur le point de supprimer un élément essentiel du paramétrage. Le fonctionnement de certains objets ne peut plus être assuré, et aucun retour en arriére n\\\'est possible. Êtes-vous réellement sûr ?" js="true"/>')) { doAjax("<fl:webapp/>/delete_object_ajax.fl?type=RefValues&id=" + id, refreshWhenReady); } } function editTables() { window.open("<fl:webapp/>/edit_tables.fl?id=" + displayedTabID, "edit_tables", "width=500,height=500,resizable=yes"); } function createTables() { window.open("<fl:webapp/>/edit_tables.fl", "edit_tables", "width=500,height=500,resizable=yes"); } function deleteTables() { var url = '<%= flRequest.computeURL("/delete.fl")%>'+'&type=Tables&successPage=/referential.fl&id=' + displayedTabID; if ( displayedTabID && window.confirm('<fl:getMessage code="M6004" alt="Vous êtes sur le point de supprimer un élément essentiel du paramétrage. Le fonctionnement de certains objets ne peut plus être assuré, et aucun retour en arriére n\\\'est possible. Êtes-vous réellement sûr ?" js="true"/>')) { doAjax(url); } } <%if(StringUtils.isNotEmpty(refTabID)){%> $(document).ready(function () { loadRefFromReq(); }); <%}else{%> runOnTime('changeModule()', 60); <%}%> </script> <fl:bigTabs objectTitle="<%= Utils.getMessage(session, \"L607D\", false, true, \"Référentiel\") %>" ou="/referential.fl"> <table class="container" cellpadding="0"> <tr class="ligne_separation"><td></td></tr> <tr> <td class="dataValue" style="vertical-align:top; width: 100%; padding-left: 0px;"> <form> <table class="data_column" cellpadding="0"> <tr class="fieldline"> <td class="dataValue" style="width: 33%; padding-left: 0px;"> <div id="modules" style="display: inline; width: auto;"> <label id="modules_label" for="modules"><fl:getMessage code="F6004" alt="Module"/></label> <select id="modules" name="modules" onchange="changeModule();"> <option value="" selected></option> <% for (int i = 0; i < modules.size(); i++) { String module = (String)modules.elementAt(i); %> <option value="<%= i %>"><%= Utils.formatToWeb(module, false) %></option> <% } if (unattachedTabID != null && unattachedTabID.size() > 0) { %> <option value="UNATTACHED"><fl:getMessage code="L6130" alt="Non Attachées"/></option> <% } %> </select> </div> </td> <td class="dataValue" style="width: 33%; padding-left: 0px;"> <div id="objects" style="visibility: hidden; display: inline; width: auto;"> <label id="objects_label" for="objects"><fl:getMessage code="F1022" alt="Objet"/></label> <select id="objects" name="objects" style="padding-left: 5px; width: 160px;" onchange="changeObject()"> <option value=""> </option> </select> </div> </td> <td class="dataValue" style="width: 33%"> <div id="tables" style="visibility: hidden; display: inline; width: auto;"> <label id="tables_label" for="tables" style="padding-left: 5px;"><fl:getMessage code="F6177" alt="Table de ref."/></label> <select id="tables" name="tables" style="padding-left: 5px; width: 160px;"> <option value=""> </option> </select> </div> </td> <td class="separation" style="background-repeat:repeat-y;background-position:right;padding-left: 5px;padding-right:0;"> </td> <td align="left" width="18%"> <a href="javascript:changeTable();" title="<fl:getMessage code="L6000" alt="GO"/>"> <img border="0" src="<fl:webapp/>/icons/ico/valid_green2_long.gif"/ width="74px" height="17px"> </a> </td> </tr> </table> </form> </td> </tr> <tr> <td id="table_content" style="vertical-align: top; width:100%"> </td> </tr> </table> </fl:bigTabs> <fl:title title="<%= Utils.getMessage(session, \"L607D\", false, true, \"Référentiel\") %>"/>
Ms-Dos/Windows
Unix
Write backup
jsp File Browser version 1.2 by
www.vonloesch.de