Index: lams_central/web/includes/javascript/jqgrid-i18n/grid.locale-el.js =================================================================== diff -u --- lams_central/web/includes/javascript/jqgrid-i18n/grid.locale-el.js (revision 0) +++ lams_central/web/includes/javascript/jqgrid-i18n/grid.locale-el.js (revision cf4300b8c69fbf72488c91ab3250246c07800701) @@ -0,0 +1,182 @@ +/** + * jqGrid Greek (el) Translation + * Alex Cicovic + * http://www.alexcicovic.com + * Dual licensed under the MIT and GPL licenses: + * http://www.opensource.org/licenses/mit-license.php + * http://www.gnu.org/licenses/gpl.html +**/ +/*global jQuery, define */ +(function( factory ) { + "use strict"; + if ( typeof define === "function" && define.amd ) { + // AMD. Register as an anonymous module. + define([ + "jquery", + "../grid.base" + ], factory ); + } else { + // Browser globals + factory( jQuery ); + } +}(function( $ ) { + +$.jgrid = $.jgrid || {}; +if(!$.jgrid.hasOwnProperty("regional")) { + $.jgrid.regional = []; +} +$.jgrid.regional["el"] = { + defaults : { + recordtext: "View {0} - {1} of {2}", + emptyrecords: "No records to view", + loadtext: "Φόρτωση...", + savetext: "Saving...", + pgtext : "Page {0} of {1}", + pgfirst : "First Page", + pglast : "Last Page", + pgnext : "Next Page", + pgprev : "Previous Page", + pgrecs : "Records per Page", + showhide: "Toggle Expand Collapse Grid", + // mobile + pagerCaption : "Grid::Page Settings", + pageText : "Page:", + recordPage : "Records per Page", + nomorerecs : "No more records...", + scrollPullup: "Pull up to load more...", + scrollPulldown : "Pull down to refresh...", + scrollRefresh : "Release to refresh..." + }, + search : { + caption: "Αναζήτηση...", + Find: "Εύρεση", + Reset: "Επαναφορά", + odata: [{ oper:'eq', text:'equal'},{ oper:'ne', text:'not equal'},{ oper:'lt', text:'less'},{ oper:'le', text:'less or equal'},{ oper:'gt', text:'greater'},{ oper:'ge', text:'greater or equal'},{ oper:'bw', text:'begins with'},{ oper:'bn', text:'does not begin with'},{ oper:'in', text:'is in'},{ oper:'ni', text:'is not in'},{ oper:'ew', text:'ends with'},{ oper:'en', text:'does not end with'},{ oper:'cn', text:'contains'},{ oper:'nc', text:'does not contain'},{ oper:'nu', text:'is null'},{ oper:'nn', text:'is not null'}, {oper:'bt', text:'between'}], + groupOps: [ { op: "AND", text: "all" }, { op: "OR", text: "any" } ], + operandTitle : "Click to select search operation.", + resetTitle : "Reset Search Value", + addsubgrup : "Add subgroup", + addrule : "Add rule", + delgroup : "Delete group", + delrule : "Delete rule" + }, + edit : { + addCaption: "Εισαγωγή Εγγραφής", + editCaption: "Επεξεργασία Εγγραφής", + bSubmit: "Καταχώρηση", + bCancel: "Άκυρο", + bClose: "Κλείσιμο", + saveData: "Data has been changed! Save changes?", + bYes : "Yes", + bNo : "No", + bExit : "Cancel", + msg: { + required:"Το πεδίο είναι απαραίτητο", + number:"Το πεδίο δέχεται μόνο αριθμούς", + minValue:"Η τιμή πρέπει να είναι μεγαλύτερη ή ίση του ", + maxValue:"Η τιμή πρέπει να είναι μικρότερη ή ίση του ", + email: "Η διεύθυνση e-mail δεν είναι έγκυρη", + integer: "Το πεδίο δέχεται μόνο ακέραιους αριθμούς", + url: "is not a valid URL. Prefix required ('http://' or 'https://')", + nodefined : " is not defined!", + novalue : " return value is required!", + customarray : "Custom function should return array!", + customfcheck : "Custom function should be present in case of custom checking!" + } + }, + view : { + caption: "View Record", + bClose: "Close" + }, + del : { + caption: "Διαγραφή", + msg: "Διαγραφή των επιλεγμένων εγγραφών;", + bSubmit: "Ναι", + bCancel: "Άκυρο" + }, + nav : { + edittext: " ", + edittitle: "Επεξεργασία επιλεγμένης εγγραφής", + addtext:" ", + addtitle: "Εισαγωγή νέας εγγραφής", + deltext: " ", + deltitle: "Διαγραφή επιλεγμένης εγγραφής", + searchtext: " ", + searchtitle: "Εύρεση Εγγραφών", + refreshtext: "", + refreshtitle: "Ανανέωση Πίνακα", + alertcap: "Προσοχή", + alerttext: "Δεν έχετε επιλέξει εγγραφή", + viewtext: "", + viewtitle: "View selected row", + savetext: "", + savetitle: "Save row", + canceltext: "", + canceltitle : "Cancel row editing", + selectcaption : "Actions..." + }, + col : { + caption: "Εμφάνιση / Απόκρυψη Στηλών", + bSubmit: "ΟΚ", + bCancel: "Άκυρο" + }, + errors : { + errcap : "Σφάλμα", + nourl : "Δεν έχει δοθεί διεύθυνση χειρισμού για τη συγκεκριμένη ενέργεια", + norecords: "Δεν υπάρχουν εγγραφές προς επεξεργασία", + model : "Άνισος αριθμός πεδίων colNames/colModel!" + }, + formatter : { + integer : {thousandsSeparator: " ", defaultValue: '0'}, + number : {decimalSeparator:".", thousandsSeparator: " ", decimalPlaces: 2, defaultValue: '0.00'}, + currency : {decimalSeparator:".", thousandsSeparator: " ", decimalPlaces: 2, prefix: "", suffix:"", defaultValue: '0.00'}, + date : { + dayNames: [ + "Κυρ", "Δευ", "Τρι", "Τετ", "Πεμ", "Παρ", "Σαβ", + "Κυριακή", "Δευτέρα", "Τρίτη", "Τετάρτη", "Πέμπτη", "Παρασκευή", "Σάββατο" + ], + monthNames: [ + "Ιαν", "Φεβ", "Μαρ", "Απρ", "Μαι", "Ιουν", "Ιουλ", "Αυγ", "Σεπ", "Οκτ", "Νοε", "Δεκ", + "Ιανουάριος", "Φεβρουάριος", "Μάρτιος", "Απρίλιος", "Μάιος", "Ιούνιος", "Ιούλιος", "Αύγουστος", "Σεπτέμβριος", "Οκτώβριος", "Νοέμβριος", "Δεκέμβριος" + ], + AmPm : ["πμ","μμ","ΠΜ","ΜΜ"], + S: function (j) {return j == 1 || j > 1 ? ['η'][Math.min((j - 1) % 10, 3)] : ''}, + srcformat: 'Y-m-d', + newformat: 'd/m/Y', + parseRe : /[#%\\\/:_;.,\t\s-]/, + masks : { + ISO8601Long:"Y-m-d H:i:s", + ISO8601Short:"Y-m-d", + ShortDate: "n/j/Y", + LongDate: "l, F d, Y", + FullDateTime: "l, F d, Y g:i:s A", + MonthDay: "F d", + ShortTime: "g:i A", + LongTime: "g:i:s A", + SortableDateTime: "Y-m-d\\TH:i:s", + UniversalSortableDateTime: "Y-m-d H:i:sO", + YearMonth: "F, Y" + }, + reformatAfterEdit : false, + userLocalTime : false + }, + baseLinkUrl: '', + showAction: '', + target: '', + checkbox : {disabled:true}, + idName : 'id' + }, + colmenu : { + sortasc : "Sort Ascending", + sortdesc : "Sort Descending", + columns : "Columns", + filter : "Filter", + grouping : "Group By", + ungrouping : "Ungroup", + searchTitle : "Get items with value that:", + freeze : "Freeze", + unfreeze : "Unfreeze", + reorder : "Move to reorder" + } +}; +})); Index: lams_central/web/includes/javascript/jqgrid-i18n/grid.locale-es.js =================================================================== diff -u --- lams_central/web/includes/javascript/jqgrid-i18n/grid.locale-es.js (revision 0) +++ lams_central/web/includes/javascript/jqgrid-i18n/grid.locale-es.js (revision cf4300b8c69fbf72488c91ab3250246c07800701) @@ -0,0 +1,186 @@ +/** + * jqGrid Spanish Translation + * Traduccion jqGrid en Español por Yamil Bracho + * Traduccion corregida y ampliada por Faserline, S.L. + * http://www.faserline.com + * Traduccion corregida y ampliada por Fernán Castro Asensio + * Traducción corregida y ampliada por Luis Sánchez + * Dual licensed under the MIT and GPL licenses: + * http://www.opensource.org/licenses/mit-license.php + * http://www.gnu.org/licenses/gpl.html +**/ +/*global jQuery, define */ +(function( factory ) { + "use strict"; + if ( typeof define === "function" && define.amd ) { + // AMD. Register as an anonymous module. + define([ + "jquery", + "../grid.base" + ], factory ); + } else { + // Browser globals + factory( jQuery ); + } +}(function( $ ) { + +$.jgrid = $.jgrid || {}; +if(!$.jgrid.hasOwnProperty("regional")) { + $.jgrid.regional = []; +} +$.jgrid.regional["es"] = { + defaults : { + recordtext: "Mostrando {0} - {1} de {2}", + emptyrecords: "Sin registros que mostrar", + loadtext: "Cargando...", + savetext: "Guardando...", + pgtext : "Página {0} de {1}", + pgfirst : "Primera Página", + pglast : "Última Página", + pgnext : "Página Siguiente", + pgprev : "Página Anterior", + pgrecs : "Registros por página", + showhide: "Alternar Contraer Expandir Grid", + // mobile + pagerCaption : "Grid::Configurar página", + pageText : "Página:", + recordPage : "Registros por página", + nomorerecs : "No más registros...", + scrollPullup: "Arrastrar arriba para cargar más...", + scrollPulldown : "Arrastrar arriba para refrescar...", + scrollRefresh : "Soltar para refrescar..." + }, + search : { + caption: "Búsqueda...", + Find: "Buscar", + Reset: "Limpiar", + odata: [{ oper:'eq', text:"igual "},{ oper:'ne', text:"no igual a"},{ oper:'lt', text:"menor que"},{ oper:'le', text:"menor o igual que"},{ oper:'gt', text:"mayor que"},{ oper:'ge', text:"mayor o igual a"},{ oper:'bw', text:"empiece por"},{ oper:'bn', text:"no empiece por"},{ oper:'in', text:"está en"},{ oper:'ni', text:"no está en"},{ oper:'ew', text:"termina por"},{ oper:'en', text:"no termina por"},{ oper:'cn', text:"contiene"},{ oper:'nc', text:"no contiene"},{ oper:'nu', text:'es nulo'},{ oper:'nn', text:'no es nulo'}, {oper:'bt', text:'entre'}], + groupOps: [ { op: "AND", text: "todo" }, { op: "OR", text: "cualquier" } ], + operandTitle : "Clic para seleccionar la operación de búsqueda.", + resetTitle : "Reiniciar valores de búsqueda", + addsubgrup : "Agregar subgrupo", + addrule : "Agregar regla", + delgroup : "Borrar grupo", + delrule : "Borrar regla" + }, + edit : { + addCaption: "Agregar registro", + editCaption: "Modificar registro", + bSubmit: "Guardar", + bCancel: "Cancelar", + bClose: "Cerrar", + saveData: "Se han modificado los datos, ¿guardar cambios?", + bYes : "Si", + bNo : "No", + bExit : "Cancelar", + msg: { + required:"Campo obligatorio", + number:"Introduzca un número", + minValue:"El valor debe ser mayor o igual a ", + maxValue:"El valor debe ser menor o igual a ", + email: "no es una dirección de correo válida", + integer: "Introduzca un valor entero", + date: "Introduzca una fecha correcta ", + url: "no es una URL válida. Prefijo requerido ('http://' or 'https://')", + nodefined : " no está definido.", + novalue : " valor de retorno es requerido.", + customarray : "La función personalizada debe devolver un array.", + customfcheck : "La función personalizada debe estar presente en el caso de validación personalizada." + } + }, + view : { + caption: "Consultar registro", + bClose: "Cerrar" + }, + del : { + caption: "Eliminar", + msg: "¿Desea eliminar los registros seleccionados?", + bSubmit: "Eliminar", + bCancel: "Cancelar" + }, + nav : { + edittext: " ", + edittitle: "Modificar fila seleccionada", + addtext:" ", + addtitle: "Agregar nueva fila", + deltext: " ", + deltitle: "Eliminar fila seleccionada", + searchtext: " ", + searchtitle: "Buscar información", + refreshtext: "", + refreshtitle: "Recargar datos", + alertcap: "Aviso", + alerttext: "Seleccione una fila", + viewtext: "", + viewtitle: "Ver fila seleccionada", + savetext: "", + savetitle: "Guardar fila", + canceltext: "", + canceltitle : "Cancelar edición de fila", + selectcaption : "Acciones..." + }, + col : { + caption: "Mostrar/ocultar columnas", + bSubmit: "Enviar", + bCancel: "Cancelar" + }, + errors : { + errcap : "Error", + nourl : "No se ha especificado una URL", + norecords: "No hay datos para procesar", + model : "Las columnas de nombres son diferentes de las columnas del modelo" + }, + formatter : { + integer : {thousandsSeparator: ".", defaultValue: '0'}, + number : {decimalSeparator:",", thousandsSeparator: ".", decimalPlaces: 2, defaultValue: '0,00'}, + currency : {decimalSeparator:",", thousandsSeparator: ".", decimalPlaces: 2, prefix: "", suffix:"", defaultValue: '0,00'}, + date : { + dayNames: [ + "Do", "Lu", "Ma", "Mi", "Ju", "Vi", "Sa", + "Domingo", "Lunes", "Martes", "Miércoles", "Jueves", "Viernes", "Sábado" + ], + monthNames: [ + "Ene", "Feb", "Mar", "Abr", "May", "Jun", "Jul", "Ago", "Sep", "Oct", "Nov", "Dic", + "Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio", "Julio", "Agosto", "Septiembre", "Octubre", "Noviembre", "Diciembre" + ], + AmPm : ["am","pm","AM","PM"], + S: function (j) {return j < 11 || j > 13 ? ['st', 'nd', 'rd', 'th'][Math.min((j - 1) % 10, 3)] : 'th'}, + srcformat: 'Y-m-d', + newformat: 'd-m-Y', + parseRe : /[#%\\\/:_;.,\t\s-]/, + masks : { + ISO8601Long:"Y-m-d H:i:s", + ISO8601Short:"Y-m-d", + ShortDate: "n/j/Y", + LongDate: "l, F d, Y", + FullDateTime: "l, F d, Y g:i:s A", + MonthDay: "F d", + ShortTime: "g:i A", + LongTime: "g:i:s A", + SortableDateTime: "Y-m-d\\TH:i:s", + UniversalSortableDateTime: "Y-m-d H:i:sO", + YearMonth: "F, Y" + }, + reformatAfterEdit : false, + userLocalTime : false + }, + baseLinkUrl: '', + showAction: '', + target: '', + checkbox : {disabled:true}, + idName : 'id' + }, + colmenu : { + sortasc : "Orden Ascendente", + sortdesc : "Orden Descendente", + columns : "Columnas", + filter : "Filtrar", + grouping : "Agrupar por", + ungrouping : "Desagrupar", + searchTitle : "Obtener elementos con un valor que:", + freeze : "Inmovilizar", + unfreeze : "Movilizar", + reorder : "Mover para reordenar" + } +}; +})); Index: lams_central/web/includes/javascript/jqgrid-i18n/grid.locale-fr.js =================================================================== diff -u --- lams_central/web/includes/javascript/jqgrid-i18n/grid.locale-fr.js (revision 0) +++ lams_central/web/includes/javascript/jqgrid-i18n/grid.locale-fr.js (revision cf4300b8c69fbf72488c91ab3250246c07800701) @@ -0,0 +1,182 @@ +/** + * jqGrid French Translation + * Tony Tomov tony@trirand.com + * http://trirand.com/blog/ + * Dual licensed under the MIT and GPL licenses: + * http://www.opensource.org/licenses/mit-license.php + * http://www.gnu.org/licenses/gpl.html +**/ +/*global jQuery, define */ +(function( factory ) { + "use strict"; + if ( typeof define === "function" && define.amd ) { + // AMD. Register as an anonymous module. + define([ + "jquery", + "../grid.base" + ], factory ); + } else { + // Browser globals + factory( jQuery ); + } +}(function( $ ) { + +$.jgrid = $.jgrid || {}; +if(!$.jgrid.hasOwnProperty("regional")) { + $.jgrid.regional = []; +} +$.jgrid.regional["fr"] = { + defaults : { + recordtext: "Enregistrements {0} - {1} sur {2}", + emptyrecords: "Aucun enregistrement à afficher", + loadtext: "Chargement...", + savetext: "Sauvegarde en cours...", + pgtext : "Page {0} de {1}", + pgfirst : "Première page", + pglast : "Dernière page", + pgnext : "Page suivante", + pgprev : "Page précédente", + pgrecs : "Enregistrements par page", + showhide: "Réduire/Agrandir la grille", + // mobile + pagerCaption : "Grille::Options de pagination", + pageText : "Page:", + recordPage: "Enregistrements par page", + nomorerecs : "Plus de données...", + scrollPullup: "Glisser vers le haut pour charger plus de données...", + scrollPulldown : "Glisser vers le bas pour rafraîchir...", + scrollRefresh : "Relâcher pour rafraîchir..." + }, + search : { + caption: "Recherche...", + Find: "Chercher", + Reset: "Réinitialiser", + odata: [{ oper:'eq', text:"égal"},{ oper:'ne', text:"différent"},{ oper:'lt', text:"inférieur"},{ oper:'le', text:"inférieur ou égal"},{ oper:'gt', text:"supérieur"},{ oper:'ge', text:"supérieur ou égal"},{ oper:'bw', text:"commence par"},{ oper:'bn', text:"ne commence pas par"},{ oper:'in', text:"est dans"},{ oper:'ni', text:"n'est pas dans"},{ oper:'ew', text:"finit par"},{ oper:'en', text:"ne finit pas par"},{ oper:'cn', text:"contient"},{ oper:'nc', text:"ne contient pas"},{ oper:'nu', text:'is null'},{ oper:'nn', text:'is not null'}, {oper:'bt', text:'entre'}], + groupOps: [ { op: "AND", text: "tous" }, { op: "OR", text: "au moins un" } ], + operandTitle : "Cliquer pour sélectionner l'opérateur.", + resetTitle : "Réinitialiser la valeur de recherche", + addsubgrup : "Add subgroup", + addrule : "Add rule", + delgroup : "Delete group", + delrule : "Delete rule" + }, + edit : { + addCaption: "Ajouter", + editCaption: "Éditer", + bSubmit: "Valider", + bCancel: "Annuler", + bClose: "Fermer", + saveData: "Les données ont changé ! Enregistrer les modifications ?", + bYes: "Oui", + bNo: "Non", + bExit: "Annuler", + msg: { + required: "Champ obligatoire", + number: "Saisissez un nombre correct", + minValue: "La valeur doit être supérieure ou égale à", + maxValue: "La valeur doit être inférieure ou égale à", + email: "n'est pas un email valide", + integer: "Saisissez un entier valide", + url: "n'est pas une adresse valide. Préfixe requis ('http://' or 'https://')", + nodefined : " n'est pas défini!", + novalue : " la valeur de retour est requise!", + customarray : "Une fonction personnalisée devrait retourner un tableau (array)!", + customfcheck : "Une fonction personnalisée devrait être présente dans le cas d'une vérification personnalisée!" + } + }, + view : { + caption: "Voir les enregistrements", + bClose: "Fermer" + }, + del : { + caption: "Supprimer", + msg: "Supprimer les enregistrements sélectionnés ?", + bSubmit: "Supprimer", + bCancel: "Annuler" + }, + nav : { + edittext: " ", + edittitle: "Editer la ligne sélectionnée", + addtext:" ", + addtitle: "Ajouter une ligne", + deltext: " ", + deltitle: "Supprimer la ligne sélectionnée", + searchtext: " ", + searchtitle: "Chercher un enregistrement", + refreshtext: "", + refreshtitle: "Recharger le tableau", + alertcap: "Avertissement", + alerttext: "Veuillez sélectionner une ligne", + viewtext: "", + viewtitle: "Afficher la ligne sélectionnée", + savetext: "", + savetitle: "Sauvegarder la ligne", + canceltext: "", + canceltitle : "Annuler l'édition de la ligne", + selectcaption : "Actions..." + }, + col : { + caption: "Afficher/Masquer les colonnes", + bSubmit: "Valider", + bCancel: "Annuler" + }, + errors : { + errcap : "Erreur", + nourl : "Aucune adresse n'est paramétrée", + norecords: "Aucun enregistrement à traiter", + model : "Nombre de titres (colNames) <> Nombre de données (colModel)!" + }, + formatter : { + integer : {thousandsSeparator: " ", defaultValue: '0'}, + number : {decimalSeparator:",", thousandsSeparator: " ", decimalPlaces: 2, defaultValue: '0,00'}, + currency : {decimalSeparator:",", thousandsSeparator: " ", decimalPlaces: 2, prefix: "", suffix:"", defaultValue: '0,00'}, + date : { + dayNames: [ + "Dim", "Lun", "Mar", "Mer", "Jeu", "Ven", "Sam", + "Dimanche", "Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi", "Samedi" + ], + monthNames: [ + "Jan", "Fév", "Mar", "Avr", "Mai", "Jui", "Jul", "Aou", "Sep", "Oct", "Nov", "Déc", + "Janvier", "Février", "Mars", "Avril", "Mai", "Juin", "Juillet", "Aout", "Septembre", "Octobre", "Novembre", "Décembre" + ], + AmPm : ["am","pm","AM","PM"], + S: function (j) {return j == 1 ? 'er' : 'e';}, + srcformat: 'Y-m-d', + newformat: 'd/m/Y', + parseRe : /[#%\\\/:_;.,\t\s-]/, + masks : { + ISO8601Long:"Y-m-d H:i:s", + ISO8601Short:"Y-m-d", + ShortDate: "n/j/Y", + LongDate: "l, F d, Y", + FullDateTime: "l, F d, Y g:i:s A", + MonthDay: "F d", + ShortTime: "g:i A", + LongTime: "g:i:s A", + SortableDateTime: "Y-m-d\\TH:i:s", + UniversalSortableDateTime: "Y-m-d H:i:sO", + YearMonth: "F, Y" + }, + reformatAfterEdit : false, + userLocalTime : false + }, + baseLinkUrl: '', + showAction: '', + target: '', + checkbox : {disabled:true}, + idName : 'id' + }, + colmenu : { + sortasc : "Trier en ordre croissant", + sortdesc: "Trier en ordre décroissant", + columns : "Colonnes", + filter : "Filtrer", + grouping : "Grouper par", + ungrouping : "Séparer", + searchTitle : "Prendre les items avec la valeur:", + freeze : "Figer", + unfreeze : "Relâcher", + reorder : "Déplacer pour changer l'ordre" + } +}; +})); Index: lams_central/web/jqGrid.i18n.jsp =================================================================== diff -u --- lams_central/web/jqGrid.i18n.jsp (revision 0) +++ lams_central/web/jqGrid.i18n.jsp (revision cf4300b8c69fbf72488c91ab3250246c07800701) @@ -0,0 +1,25 @@ +<%@ taglib uri="tags-core" prefix="c" %> +<%@ taglib uri="tags-lams" prefix="lams" %> + +<%-- In order to use this file, a page needs to have + + Also disable-cross-context has to be set to false in WEB-INF/jboss-web.xml file in the calling webapp + See Gradebook for an example. + --%> + +// JQGRID i18n + + + + <%@ include file="/includes/javascript/jqgrid-i18n/grid.locale-es.js"%> + $.extend(true, $.jgrid,$.jgrid.regional['${language}']); + + + <%@ include file="/includes/javascript/jqgrid-i18n/grid.locale-fr.js"%> + $.extend(true, $.jgrid,$.jgrid.regional['${language}']); + + + <%@ include file="/includes/javascript/jqgrid-i18n/grid.locale-el.js"%> + $.extend(true, $.jgrid,$.jgrid.regional['${language}']); + + \ No newline at end of file Index: lams_central/web/qb/collection.jsp =================================================================== diff -u -r21555f88fd0c63a4a9eb3ae288a2e1d48452aa4b -rcf4300b8c69fbf72488c91ab3250246c07800701 --- lams_central/web/qb/collection.jsp (.../collection.jsp) (revision 21555f88fd0c63a4a9eb3ae288a2e1d48452aa4b) +++ lams_central/web/qb/collection.jsp (.../collection.jsp) (revision cf4300b8c69fbf72488c91ab3250246c07800701) @@ -83,6 +83,9 @@