diff --git a/src/de/superx/bin/SimpleTransform.java b/src/de/superx/bin/SimpleTransform.java index 1cb9c27..c7dad60 100644 --- a/src/de/superx/bin/SimpleTransform.java +++ b/src/de/superx/bin/SimpleTransform.java @@ -64,7 +64,7 @@ public class SimpleTransform { if (GetOpts.isPresent("-method")) method = GetOpts.getValue("-method"); if (GetOpts.isPresent("-param")) - _params = GetOpts.getValue("-param"); + _params = GetOpts.getValue("-params"); //logger.initRaw(dosql.class) //PropertyConfigurator.configure(logfile); diff --git a/src/de/superx/bin/SxJasper.java b/src/de/superx/bin/SxJasper.java index 92bfdd6..adfbc31 100644 --- a/src/de/superx/bin/SxJasper.java +++ b/src/de/superx/bin/SxJasper.java @@ -374,7 +374,7 @@ private static String outfile = ""; try { go(args); } catch (Exception ex) { - System.err.println("Doquery Aufruf fehlgeschlagen.\n" + ex); + System.err.println("SxJasper Aufruf fehlgeschlagen.\n" + ex); ex.printStackTrace(); System.exit(1); } diff --git a/src/de/superx/common/Maske.java b/src/de/superx/common/Maske.java index 1bf3f39..486eadf 100644 --- a/src/de/superx/common/Maske.java +++ b/src/de/superx/common/Maske.java @@ -814,7 +814,7 @@ public class Maske extends NamedIdObject implements Serializable { // System.out.println("using prepared Mask HTML"); } - String result = maskHtml.replaceAll("_JSESSIONID_", jsessionid); + String result = maskHtml; result = result.replaceAll("_USERID_", user.getId().toString()); result = result.replaceAll("_USER_IS_ADMIN_", (user.isAdmin() ? "true" : "false")); @@ -860,7 +860,7 @@ public class Maske extends NamedIdObject implements Serializable { "\n" + "\n"); result.append("" - + user.getThemenbaum().toXml(this.getJSessionId(), getDesiredLocale()); + + user.getThemenbaum().toXml(getDesiredLocale()); response.setContentType("text/xml; charset=" + SqlStringUtils.getEncoding()); @@ -474,8 +474,7 @@ public class SuperXmlAnmeldung extends AbstractSuperXServlet { java.util.logging.Logger.getLogger("superx_" + getMandantenID() + "_xml") .log(java.util.logging.Level.FINEST, "Themenbaum nach HTML"); - returnTxt = user.getThemenbaum().toHtml(this.getJSessionId(), - getDesiredLocale()); + returnTxt = user.getThemenbaum().toHtml(getDesiredLocale()); // returnHtml=StringUtils.replace( // returnHtml // ,"superx/xml/SuperXmlMaske", diff --git a/src/de/superx/servlet/SuperXmlMenu.java b/src/de/superx/servlet/SuperXmlMenu.java index ca259dd..5969d93 100644 --- a/src/de/superx/servlet/SuperXmlMenu.java +++ b/src/de/superx/servlet/SuperXmlMenu.java @@ -110,8 +110,7 @@ public class SuperXmlMenu extends AbstractSuperXServlet { boolean showNavigation=getShowNavigation(request); String navigationElement=""; if(showNavigation) - navigationElement=user.getThemenbaum().toXml("_JSESSIONID_", - desiredLocale); + navigationElement=user.getThemenbaum().toXml(desiredLocale); String returnText=user.getThemenbaum().getSubmenuXml(tid,navigationElement); Logger.getLogger("superx_" + getMandantenID()+"_xml").log(Level.FINE, "Menu-xml: " + returnText); @@ -125,7 +124,7 @@ public class SuperXmlMenu extends AbstractSuperXServlet { returnText=transform(returnText); } returnText = SxPools.get(getMandantenID()).localize(returnText, - desiredLocale).replaceAll("_JSESSIONID_",this.getJSessionId()) + desiredLocale) .replaceAll("_HISINONE_", SuperXManager.his1_refapp); sendBackHtml(returnText); diff --git a/src/de/superx/servlet/Themenbaum.java b/src/de/superx/servlet/Themenbaum.java index 33d8f43..debdc7e 100644 --- a/src/de/superx/servlet/Themenbaum.java +++ b/src/de/superx/servlet/Themenbaum.java @@ -101,8 +101,7 @@ public class Themenbaum implements ThemenbaumI, Serializable { private StringBuffer getMenuXmlAndInitMenu() throws SQLException, DBServletException, KeyParentEqualException, NoMainEntryException, NichtAngemeldetException { StringBuffer result = new StringBuffer(); - result.append(""); @@ -208,7 +207,7 @@ public class Themenbaum implements ThemenbaumI, Serializable { return menu.getMenupathForMask(tid); } - public String toHtml(String jsessionid, Locale locale) { + public String toHtml(Locale locale) { Logger.getLogger("superx_" + mandantenID + "_xml").log(Level.FINE, "Versuche Themenbaum HTML Transformation"); try { @@ -240,7 +239,7 @@ public class Themenbaum implements ThemenbaumI, Serializable { return result; } - public String toXml(String jsessionid, Locale locale) { + public String toXml(Locale locale) { String myXml = menuXml.toString(); String result = SxPools.get(mandantenID).localize( myXml, locale); @@ -322,7 +321,7 @@ public class Themenbaum implements ThemenbaumI, Serializable { public String getSubmenuXml(String tid,String navigationElement) { boolean showNavigation = !navigationElement.isEmpty(); - StringBuffer result = new StringBuffer( "\n\n\n"); diff --git a/superx/WEB-INF/conf/edustore/db/bin/saxon_transform.x b/superx/WEB-INF/conf/edustore/db/bin/saxon_transform.x index 8e34c2e..4c89126 100755 --- a/superx/WEB-INF/conf/edustore/db/bin/saxon_transform.x +++ b/superx/WEB-INF/conf/edustore/db/bin/saxon_transform.x @@ -55,7 +55,8 @@ then #java net.sf.saxon.Transform -o "$OUT" "$IN" "$XSL" "$param" else CP=".:$JDBC_CLASSPATH" - java -cp "$CP" $JAVA_OPTS net.sf.saxon.Transform -o "$OUT" "$IN" "$XSL" $param + echo java -cp "..." $JAVA_OPTS net.sf.saxon.Transform -o "$OUT" "$IN" "$XSL" $param + java -cp "$CP" $JAVA_OPTS net.sf.saxon.Transform -xsl:$XSL -s:$IN -o:"$OUT" fi if [ "$method" = "pdf" ] diff --git a/superx/WEB-INF/conf/edustore/db/bin/sx_jasper.x b/superx/WEB-INF/conf/edustore/db/bin/sx_jasper.x index 764d164..1954709 100755 --- a/superx/WEB-INF/conf/edustore/db/bin/sx_jasper.x +++ b/superx/WEB-INF/conf/edustore/db/bin/sx_jasper.x @@ -42,27 +42,7 @@ if [ "$1" = "" -o "$1" = "--help" -o "$1" = "-?" ] exit 0 fi -#fileName=$1 -#taskName=$2 -#outfile=$3 -JASPER_LIB="$WEBAPP/WEB-INF/lib/jasperreports-3.7.1.jar:$WEBAPP/WEB-INF/lib/commons-digester-1.7.jar:$WEBAPP/WEB-INF/lib/commons-collections-2.1.1.jar:$WEBAPP/WEB-INF/lib/commons-logging-1.0.3.jar:$WEBAPP/WEB-INF/lib/commons-beanutils-1.8.0.jar:$WEBAPP/WEB-INF/lib/poi-3.5-FINAL-20090928.jar:$WEBAPP/WEB-INF/lib/iText-2.1.7.jar:$WEBAPP/WEB-INF/lib/groovy-all-1.5.5.jar" - -if $CYGWIN; then - if [ "$fileName" != "" ] - then - fileName=`cygpath --path --windows "$fileName"` - fi - JASPER_LIB=`cygpath --path --windows "$JASPER_LIB"` - CP=".;$JDBC_CLASSPATH;$JASPER_LIB" - - else - -#outpfad="$filename" -CP=".:$JASPER_LIB:$JDBC_CLASSPATH" - -fi - -java $JAVA_OPTS -cp "$CP" de.superx.bin.SxJasper -logger:$LOGGER_PROPERTIES -db_properties:$DB_PROPERTIES "$@" +java $JAVA_OPTS -cp "$JDBC_CLASSPATH" de.superx.bin.SxJasper -logger:$LOGGER_PROPERTIES -db_properties:$DB_PROPERTIES "$@" diff --git a/superx/WEB-INF/conf/edustore/db/conf/module_scripts_create_ant.xml b/superx/WEB-INF/conf/edustore/db/conf/module_scripts_create_ant.xml index f514ad6..60967a3 100644 --- a/superx/WEB-INF/conf/edustore/db/conf/module_scripts_create_ant.xml +++ b/superx/WEB-INF/conf/edustore/db/conf/module_scripts_create_ant.xml @@ -103,7 +103,7 @@ Programmverlauf: - + @@ -131,7 +131,7 @@ Programmverlauf: - + @@ -210,7 +210,7 @@ Programmverlauf: - + diff --git a/superx/WEB-INF/conf/edustore/db/install/schluesseltabellen/release_unloads/fm_templates.unl b/superx/WEB-INF/conf/edustore/db/install/schluesseltabellen/release_unloads/fm_templates.unl index 934a8cc..902bcd8 100644 --- a/superx/WEB-INF/conf/edustore/db/install/schluesseltabellen/release_unloads/fm_templates.unl +++ b/superx/WEB-INF/conf/edustore/db/install/schluesseltabellen/release_unloads/fm_templates.unl @@ -1,4 +1,4 @@ -364^SuperX_general^<#-- General FreeMarker Makros für SuperX -->\ +39^SuperX_general^<#-- General FreeMarker Makros für SuperX -->\ <#-- Einfügen eines Kommentars Die Kommentarverwaltung ist ja ziemlich abgefahren in SuperX.\ Standardmäßig werden Kommentare gelöscht, damit nicht soviel an die DB geschickt wird.\ Wenn man aber bei Entwicklungszwecken noch Kommentare drin haben will, kann man diese Funktion benutzen.\ @@ -235,7 +235,7 @@ ORDER BY ${businessKey} \ \ DROP TABLE ${coreTableName}_input; \ ^allgemeine SuperX-Makros^^1^ -365^SQL_lingua_franca^<#-- \ +40^SQL_lingua_franca^<#-- \ lingua franca makros um von SQL Dialekten (Informix/Postgres) unabhängig zu werden \ Stand 4.4.05\ FreeMarker Kommentare dieser Art werden von generateSql verschandelt\ @@ -400,7 +400,7 @@ execute ${varname};\ char\ \ ^Datenbankunabhängigkeit^^2^ -366^KERN_CIFX_UPDATE^<#macro MODUL_CIFX_UPDATE_SORT>\ +41^KERN_CIFX_UPDATE^<#macro MODUL_CIFX_UPDATE_SORT>\ select 'Quellsystem_var ${Quellsystem_var} '::char(30) from xdummy;\ select '${SQLdialect}' from xdummy;\ create temp table tmp_cifx2\ @@ -2602,7 +2602,7 @@ DROP TABLE tmp_schluessel2;\ DROP TABLE tmp_doppelt;\ DROP TABLE tmp_merkmale;\ ^Makro cifx-update^^1^ -367^SQL_multitable_output^<#--\ +42^SQL_multitable_output^<#--\ Utility Makros für die Maske 71280 Tabelle ausgeben und Derivate (z.B. 17110 Sekundärinfo Datenblatt )\ (c)2011 Daniel Quathamer\ \ @@ -2922,7 +2922,7 @@ from tmp_tabelle\ ;\ \ ^Utility Makros Tabelleninhalte Ausgeben für die Maske 16650 (Studierende Datenblatt) und Derivate^(c)2011 Daniel Quathamer^1^ -368^SQL_table_output^<#--\ +43^SQL_table_output^<#--\ Utility Makros für die Maske 71280 Tabelle ausgeben und Derivate (z.B. 17110 Sekundärinfo Datenblatt )\ (c)2011 Daniel Quathamer\ \ @@ -3139,3 +3139,193 @@ ${feldname}\ from tmp_tabelle;\ \ ^Datenbankunabhängigkeit^^1^ +45^DatenblattSQLGenerator^<#--\ +Utility Makro Datenblatt-Berichte\ +(c)2023 Daniel Quathamer\ +\ +-->\ +\ +<#macro generateDatenblatt \ +p_basetable \ +p_joinTables \ +p_joinWhereClauses \ +p_selectClause \ +p_aggregationsfeld \ +p_aggregatfunktion \ +p_filter \ +p_show_keys\ +p_postProcessing\ +>\ +--Ermittle SQL für Selektion aus Basetable sowie weitere Tabellen\ +--Übergebene sqlVars:\ +--basetable\ +--getJoinTables --weitere Tabellen, die gejoined werden, als Liste\ +--joinWhereClauses --joinClauses\ +--getSelectClause --Felder, die selektiert werden, als Liste\ +--filter\ +--pShowKeys true/false für Schlüsselanzeige\ +--postProcessing erzeuge tmp_tabelle2 für postProcessing\ +\ +--Start: Defaultwerte\ +<#assign field_list_groupby="" />\ +<#assign field_list_select="" />\ +<#assign joinClause="" />\ +<#assign rownum=1 />\ +\ +--Validierung: aggregatfunktion nur erlaubt wenn auch Feld ausgewählt\ +<#if p_aggregatfunktion != "" && p_aggregationsfeld="">\ + <#assign p_aggregatfunktion="" />\ +\ +\ +--erzeuge select- und group-by-Liste?\ +<#if p_selectClause?has_content >\ +\ +<#foreach row_feld in p_selectClause>\ +<#assign feldname=row_feld.name />\ +\ +<#if feldname==p_aggregationsfeld >\ + <#assign field_list_select=field_list_select+p_aggregatfunktion+row_feld.table_name+"."+row_feld.name+") as " +row_feld.table_name+"_"+row_feld.name/>\ +<#else>\ + <#assign field_list_select=field_list_select+row_feld.table_name+"."+row_feld.name+" as " + row_feld.table_name+"_"+row_feld.name />\ +\ +<#if row_feld.foreignkey_tab!="">\ + <#assign field_list_select=field_list_select+",''::varchar(255) as "+row_feld.table_name+"_"+row_feld.name +"_str" />\ + <#assign field_list_select=field_list_select+",''::varchar(255) as "+row_feld.table_name+"_"+row_feld.name +"_uniquename" />\ +\ +\ +<#if rownum < p_selectClause?size>\ + <#assign field_list_select=field_list_select+"," />\ +\ +<#if rownum < p_selectClause?size+1>\ + <#if feldname != p_aggregationsfeld >\ + <#assign field_list_groupby=field_list_groupby +row_feld.table_name+"."+row_feld.name+ "," />\ + \ +\ +<#assign rownum=rownum+1 />\ +--row_feld Schleife\ + --selectClause?has_content\ +\ +\ +--Am Ende ggf. Komma weg:\ +<#if field_list_groupby?ends_with(",")>\ + <#assign field_list_groupby=field_list_groupby[0..field_list_groupby?length-2] />\ +\ +<#if field_list_groupby?trim !="">\ + <#assign field_list_groupby=" group by " + field_list_groupby />\ +\ +\ +--erzeuge joinClause:\ +<#if p_joinTables?has_content >\ +<#foreach joinTable in p_joinTables>\ + <#assign joinTableName=joinTable.name />\ + <#assign joinClause=joinClause+ " left outer join "+joinTableName + " on ( 1=1" />\ + <#if p_joinWhereClauses?has_content >\ + <#foreach joinWhereClause in p_joinWhereClauses>\ + <#if joinWhereClause.foreignkey_tab=joinTableName>\ + <#assign joinClause=joinClause+" and "+ joinWhereClause.condition />\ + \ + \ + \ + <#assign joinClause=joinClause+ ")\ +" />\ +\ +\ +\ +\ +\ +--erzeuge SQL\ +\ +<@selectintotmp\ +select="''::char(250) as _meldung," + field_list_select\ +source=p_basetable + "\ +" + joinClause\ +target="tmp_tabelle">\ +where 1=1\ +${filter}\ +${field_list_groupby}\ +\ +<@informixnolog/> ;\ +\ +create temp table tmp_rows(anz integer,max_anz integer) \ +<@informixnolog/> \ +;\ +insert into tmp_rows(anz) select count(*) from tmp_tabelle;\ +update tmp_rows set max_anz=(select apnr from konstanten where beschreibung='Datenblatt max.Zeilenzahl');\ +\ +delete from tmp_tabelle where 0 < (select count(*) from tmp_rows\ +where anz > max_anz);\ + \ +select 'Warnung: die Abfrage kann nicht ausgeführt werden, denn ' || anz || ' Zeilen liegen über max. Grenze von ' || max_anz as _runtimeMessage\ +from tmp_rows\ +where anz > max_anz;\ +\ +drop table tmp_rows;\ +--denormalize:\ +<#if p_selectClause?has_content >\ +<#foreach row_feld in p_selectClause>\ +<#if row_feld.foreignkey_tab != "">\ +\ +update tmp_tabelle set ${row_feld.table_name}_${row_feld.name}_str = ${row_feld.foreignkey_cap}\ +<#if row_feld.foreignkey_uniquename != "">\ + ,${row_feld.table_name}_${row_feld.name}_uniquename = ${row_feld.foreignkey_tab}.${row_feld.foreignkey_uniquename}\ +\ +from ${row_feld.foreignkey_tab} \ +where \ +<#if row_feld.foreignkey_func?exists && row_feld.foreignkey_func != "">\ +${row_feld.foreignkey_func}(${row_feld.foreignkey_tab}.${row_feld.foreignkey_col}<#if row_feld.foreignkey_func?exists && row_feld.foreignkey_func != "">)=tmp_tabelle.${row_feld.table_name}_${row_feld.name}\ +<#if row_feld.foreignkey_cond != "">\ +<#if row_feld.foreignkey_cond[0..0] = "1" || \ +row_feld.foreignkey_cond[0..0] = "2" ||\ +row_feld.foreignkey_cond[0..0] = "3" ||\ +row_feld.foreignkey_cond[0..0] = "4" ||\ +row_feld.foreignkey_cond[0..0] = "5" ||\ +row_feld.foreignkey_cond[0..0] = "6" ||\ +row_feld.foreignkey_cond[0..0] = "7" ||\ +row_feld.foreignkey_cond[0..0] = "8" ||\ +row_feld.foreignkey_cond[0..0] = "9" ||\ +row_feld.foreignkey_cond[0..0] = "0" ||\ +row_feld.foreignkey_cond[0..0] = "'" >\ +and ${row_feld.foreignkey_cond}\ +<#else>\ +and tmp_tabelle.${row_feld.table_name}_${row_feld.foreignkey_cond}\ +\ +\ +;\ +\ +\ + --Ende denormalize\ +\ +\ +--finaler select\ +select \ +\ +<#assign rownum=1 />\ +<#foreach row_feld in p_selectClause>\ +<#if row_feld.foreignkey_tab != "">\ +${row_feld.table_name}_${row_feld.name}_str\ +<#if p_show_keys==1>\ + <#if !row_feld.foreignkey_uniquename?exists || row_feld.foreignkey_uniquename=="">\ + ,${row_feld.table_name}_${row_feld.name}\ + <#else>\ + ,${row_feld.table_name}_${row_feld.name}_uniquename\ + \ + --show_keys\ +<#else>\ + ${row_feld.table_name}_${row_feld.name}\ + --foreignkey_tab\ +<#if rownum < p_selectClause?size>\ +,\ +\ +<#assign rownum= rownum+1 />\ +\ +<#if p_postProcessing!="">\ +into temp tmp_tabelle2\ +\ +from tmp_tabelle\ +order by <#list 1..p_selectClause?size as i>${i}\ +<#if i < p_selectClause?size>,\ +\ +;\ +\ +\ +^Utility Makros Tabelleninhalte Ausgeben für Datenblatt-Berichte^(c)2023 Daniel Quathamer^1^ diff --git a/superx/WEB-INF/conf/edustore/db/install/schluesseltabellen/sx_stylesheet_tabelle_jrxml_einfuegen.sql b/superx/WEB-INF/conf/edustore/db/install/schluesseltabellen/sx_stylesheet_tabelle_jrxml_einfuegen.sql deleted file mode 100755 index 0d7dc31..0000000 --- a/superx/WEB-INF/conf/edustore/db/install/schluesseltabellen/sx_stylesheet_tabelle_jrxml_einfuegen.sql +++ /dev/null @@ -1,178 +0,0 @@ ---Freemarker Template ---Achtung: Macro fügt Inhalte ein ---Bitte nur Freemarker Variablen füllen - -<#assign masken = [ -] /> - -<#assign stylesheet = [ -{"filename":"tabelle_jrxml_a4_quer.xsl", -"caption":"Gener. Standardlayout JR (A4 quer)", -"description":"Gener. Standardlayout JR (A4 quer)", -"relation":"table", -"contenttype":"text/xml", -"is_generic":"1" -}, -{"filename":"viz_rpt_assistent.xsl", -"caption":"Berichtsassistent", -"description":"Export als formatierter Bericht", -"relation":"table", -"contenttype":"text/html", -"is_generic":"1"} -] /> - -<#assign stylesheet_field = [ - - -] /> - ---Hier eventuell notwendige delete's auf die Tabellen sx_mask_style, sx_stylesheets oder stylesheet_field einfügen. - ---Achtung: ab hier nicht ändern, Mutterdatei ist $SUPERX_DIR/db/module/sos/schluesseltabellen/sx_stylesheets_fuellen.sql - <@sx_stylesheets_insert -m_masken=masken -m_stylesheet=stylesheet -m_stylesheet_field=stylesheet_field -/> - - -<#macro sx_stylesheets_insert m_masken m_stylesheet m_stylesheet_field> - ---Sicherstellen, dass keine Duplikate vorkommen: ---#################################################################################################### -<#foreach column in m_masken> -delete from sx_mask_style where maskeninfo_id=${column.mask} and stylesheet_id in (select tid from sx_stylesheets where filename ='${column.filename}') and ord=${column.ord}; - - -<#foreach column in m_stylesheet_field> -delete from stylesheet_field where stylesheet_id in (select tid from sx_stylesheets where filename ='${column.filename}'); - - - - - --- Stylesheets füllen ---#################################################################################################### -create temp table tmp_stylesheets ( -tid serial not null, -filename CHAR(255) , -caption CHAR(255) , -description CHAR(255) , -relation CHAR(10) , -useragent CHAR(255) , -contenttype CHAR(200) , -is_generic smallint -); - -create temp table tmp_hilf (tid integer); -insert into tmp_hilf select max(tid) from sx_stylesheets; -update tmp_hilf set tid=1 where tid is null; - -<#assign counter_tid = 1 /> -<#foreach column in m_stylesheet> -insert into tmp_stylesheets (tid,filename,caption,description,relation,contenttype,is_generic) -select max(tid)+${counter_tid},'${column.filename}', -'${column.caption}', - '${column.description}', - '${column.relation}', -'${column.contenttype}', -${column.is_generic} -from tmp_hilf; -<#assign counter_tid = counter_tid + 1 /> - - -<#if TableFieldExists?exists && TableFieldExists('sx_stylesheets','is_generic')> -update sx_stylesheets set is_generic=1 -where filename in (select T.filename from tmp_stylesheets T where T.is_generic=1); - - - ---delete für tml_stylesheets hinzugefügt #ak 06.03.2013 -delete from tmp_stylesheets where filename in (select filename from sx_stylesheets); - - -insert into sx_stylesheets (tid, -filename, caption, description, relation, useragent, contenttype -<#if TableFieldExists?exists && TableFieldExists('sx_stylesheets','is_generic')> -,is_generic - -) -SELECT tid, filename, caption, description, relation, useragent, contenttype -<#if TableFieldExists?exists && TableFieldExists('sx_stylesheets','is_generic')> -,is_generic - -FROM tmp_stylesheets; - -drop table tmp_stylesheets; - - --- Mask Style füllen ---#################################################################################################### -create temp table tmp_mask_style ( -tid serial not null, -maskeninfo_id INTEGER , -stylesheet_id INTEGER , -ord SMALLINT, -filename char(255) -); - -delete from tmp_hilf; -insert into tmp_hilf select max(tid) from sx_mask_style; -update tmp_hilf set tid=1 where tid is null; - -<#assign counter_tid = 1 /> -<#foreach column in m_masken> -insert into tmp_mask_style (tid,maskeninfo_id,ord,filename) -select max(tid)+${counter_tid},${column.mask},${column.ord},'${column.filename}' from tmp_hilf; - -update tmp_mask_style set stylesheet_id=(select max(tid) from sx_stylesheets where filename='${column.filename}') -where filename='${column.filename}'; -<#assign counter_tid = counter_tid + 1 /> - - -insert into sx_mask_style ( tid, maskeninfo_id, stylesheet_id, ord) -SELECT tid, maskeninfo_id, stylesheet_id, ord -FROM tmp_mask_style; - -drop table tmp_mask_style; - - ---Field zu Stylesheet Zuordnungen: ---#################################################################################################### -CREATE temp TABLE tmp_stylesheet_field -( -tid serial NOT NULL, -stylesheet_id INTEGER, -tablename char(255), -fieldname char(255), -filename char(255) -); - -delete from tmp_hilf; -insert into tmp_hilf select max(tid) from stylesheet_field; -update tmp_hilf set tid=1 where tid is null; - -<#assign counter_tid = 1 /> -<#foreach column in m_stylesheet_field> -INSERT INTO tmp_stylesheet_field (tid, filename, tablename, fieldname) -select max(tid)+${counter_tid}, '${column.filename}', '${column.tablename}', '${column.fieldname}' from tmp_hilf; - -update tmp_stylesheet_field set stylesheet_id=(select max(tid) from sx_stylesheets where filename='${column.filename}') -where filename='${column.filename}'; -<#assign counter_tid = counter_tid + 1 /> - - -insert into stylesheet_field ( tid, stylesheet_id, tablename, fieldname) -SELECT tid, stylesheet_id, tablename, fieldname -FROM tmp_stylesheet_field; - -drop table tmp_stylesheet_field; -drop table tmp_hilf; - -<#if SQLdialect='Postgres'> -select sp_update_sequence('sx_stylesheets'); -select sp_update_sequence('sx_mask_style'); -select sp_update_sequence('stylesheet_field'); - - - diff --git a/superx/WEB-INF/lib/superx5.0.jar b/superx/WEB-INF/lib/superx5.0.jar index e5c047c..535623b 100644 Binary files a/superx/WEB-INF/lib/superx5.0.jar and b/superx/WEB-INF/lib/superx5.0.jar differ diff --git a/superx/WEB-INF/superx_standalone_ldap.properties.sam b/superx/WEB-INF/superx_standalone_ldap.properties.sam new file mode 100644 index 0000000..22443d9 --- /dev/null +++ b/superx/WEB-INF/superx_standalone_ldap.properties.sam @@ -0,0 +1,21 @@ +# SuperX LDAP Konfiguration für Passwortkontrolle +#Falls SuperX standalone betrieben wird, können hier LDAP Parameter hinterlegt werden +# Beispielparameter verwenden +# https://www.forumsys.com/tutorials/integration-how-to/ldap/online-ldap-test-server/ +# Beispieluser auf diesem System einstein Passwort=password +# Wenn Sie in Superx einen User mit Kennung einstein anlegen, können Sie die Anmeldung via LDAP testen +LdapUrl=ldap://ldap.forumsys.com:389 +# +#Base Definition für die LDAP Suche, kann ggfs. um Gruppen erweitert werden, wie ou=superx_user,dc=example,dc=com +LdapBase=dc=example,dc=com +# +#Falls für den LDAP Zugriff ein ServiceUser (mit eigenem Passwort) benötigt wird, kann dies hier angegeben werden +#LdapServiceUserDN=cn=read-only-admin,dc=example,dc=com +#LdapServiceUserPassword=password +# +# +# +# Identifiying Attribute mit dem ein User mittels seiner Kennung gefunden wird (z.B. uid) +# z.B. bei Suchstring uid={0} einfach nur uid +# (ein komplexer Suchstring ist derzeit nicht möglich, passen Sie ggfs. die LdapBase-Definition an oder kontaktieren Sie uns unter support@superx-projekt.de +LdapIdentifyingAttribute=uid diff --git a/superx/edit/kern/webapp_manager.jsp b/superx/edit/kern/webapp_manager.jsp index a308663..f608768 100644 --- a/superx/edit/kern/webapp_manager.jsp +++ b/superx/edit/kern/webapp_manager.jsp @@ -88,55 +88,7 @@ var xhttp = new XMLHttpRequest(); } -function getMaskMenu(srctype,tid) -{ -if(srctype=="load") -{ -document.getElementById("MaskHeader").innerHTML="Masken-Quellcode exportieren"; -document.getElementById("MaskSubHeader").innerHTML="TID = "+" "; -} -if(srctype=="save") -{ -document.getElementById("MaskHeader").innerHTML="Masken-Quellcode importieren"; -document.getElementById("MaskSubHeader").innerHTML="
TID =
"; -//document.getElementById("maskentid_for_upload").style.visibility="visible"; -//document.getElementById("button_for_upload").style.visibility="visible"; -//document.getElementById("MaskSubHeader").innerHTML="Maske TID="+tid; -//document.getElementById("MaskSubHeader").innerHTML="TID="+" "; -} -} - -function getMaskSrc(tid) -{ -//document.getElementById("MaskHeader").innerHTML="Masken-Quellcode laden"; -//document.getElementById("MaskSubHeader").innerHTML="Maske TID="+tid; -var xhttp = new XMLHttpRequest(); - xhttp.onreadystatechange = function() { - if (this.readyState == 4 && this.status == 200) { - document.getElementById("Inhalt").innerHTML = this.responseText; - //alert(this.responseText); - } - }; - xhttp.open("GET", "../../sxrest/maskxml/get/"+tid, true); - xhttp.send(); - - -} - -function saveMaskSrc(tid) -{ -document.forms["saveMask"].elements["src"].value=document.getElementById("Inhalt").value; -if(document.forms["saveMask"].elements["src"].value=="" || document.forms["saveMask"].elements["maskeninfo_id"].value=="") -{ -alert("Bitte setzen Sie eine Nummer in das Feld TID und einen passenden XML ins Feld Inhalt"); -return false; -} -else -{ -document.forms["saveMask"].submit(); -} -} @@ -221,7 +173,7 @@ if(tab.equals("mask"))
  • XML-Ergebnis
  • -
    -
    +