Browse Source

Vorbereitung VIZ/RPTA Installation #1

userinfo_gueltigkeit
Daniel Quathamer 2 years ago
parent
commit
ce7ae1325d
  1. 29
      .classpath
  2. 7
      src/de/superx/common/Field.java
  3. 17
      src/de/superx/common/Maske.java
  4. 25
      src/de/superx/common/TemplateProcessor.java
  5. 6597
      superx/WEB-INF/dbforms.tld
  6. 0
      superx/WEB-INF/lib/commons-javaflow-20060411.jar.alt
  7. BIN
      superx/WEB-INF/lib/jasperreports-6.20.0.jar
  8. BIN
      superx/WEB-INF/lib/jasperreports-6.7.0.jar
  9. BIN
      superx/WEB-INF/lib/jasperreports-chart-customizers-6.20.0.jar
  10. BIN
      superx/WEB-INF/lib/jasperreports-chart-themes-6.20.0.jar
  11. BIN
      superx/WEB-INF/lib/jasperreports-custom-visualization-6.20.0.jar
  12. BIN
      superx/WEB-INF/lib/jasperreports-fonts-6.20.0.jar
  13. BIN
      superx/WEB-INF/lib/jasperreports-functions-6.20.0.jar
  14. BIN
      superx/WEB-INF/lib/jasperreports-functions-6.7.0.jar
  15. BIN
      superx/WEB-INF/lib/jasperreports-javaflow-6.20.0.jar
  16. BIN
      superx/WEB-INF/lib/jasperreports-metadata-6.20.0.jar
  17. BIN
      superx/WEB-INF/lib/net.tascalate.javaflow.api-2.2.1.jar
  18. BIN
      superx/WEB-INF/lib/superx4.9.jar
  19. 30
      superx/WEB-INF/reports/simple_table.jrtx
  20. 174
      superx/WEB-INF/reports/tabelle2jasperreport_generic.xsl.jrxml
  21. 201
      superx/WEB-INF/reports/tabelle_jrxml_a4_quer.xsl.jrxml
  22. 27
      superx/edit/check_authentication.inc
  23. 9
      superx/edit/kern/group_field_pref_edit_hidden.inc
  24. 1
      superx/edit/kern/group_field_pref_list_hidden.inc
  25. 4
      superx/edit/kern/group_field_pref_list_hidden.inc.inc
  26. 29
      superx/edit/kern/groupinfo_edit_sichtarten.inc
  27. 7
      superx/edit/kern/manager.inc
  28. 62
      superx/edit/kern/organigramm_tid.inc
  29. 15
      superx/edit/kern/stylesheet_field_edit_fieldname.inc
  30. 12
      superx/edit/kern/stylesheet_field_edit_tablename.inc
  31. 12
      superx/edit/kern/stylesheet_field_list_fieldname.inc
  32. 9
      superx/edit/kern/stylesheet_field_list_tablename.inc
  33. 4
      superx/edit/kern/userinfo_edit_admin.inc
  34. 94
      superx/edit/kern/userinfo_edit_gruppe.inc
  35. 131
      superx/edit/kern/userinfo_edit_institution.inc
  36. 99
      superx/edit/kern/userinfo_edit_kostentraeger.inc
  37. 77
      superx/edit/kern/userinfo_edit_masken.inc
  38. 18
      superx/edit/kern/userinfo_edit_pw.inc
  39. 1
      superx/edit/kern/userinfo_edit_pw_aendern.inc
  40. 79
      superx/edit/kern/userinfo_edit_sachgebiete.inc
  41. 74
      superx/edit/kern/userinfo_edit_sichtarten.inc
  42. 77
      superx/edit/kern/userinfo_edit_sichten.inc
  43. 4
      superx/edit/kern/userinfo_edit_sieht_projekte.inc
  44. 462
      superx/edit/kern/webapp_manager.jsp
  45. 34
      superx/edit/not_authenticated.htm
  46. 32
      superx/edit/not_authorized.htm
  47. 278
      superx/style/bulma.css
  48. 5
      superx/style/fas.js
  49. 4
      superx/style/font-awesome.min.css
  50. 130
      superx/style/sx_common.css
  51. 688
      superx/xml/jr_templates.xsl
  52. 39
      superx/xml/pageComponents_html.xsl

29
.classpath

@ -137,11 +137,6 @@ @@ -137,11 +137,6 @@
<attribute name="module" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="lib" path="/home/superx/git/kern/superx/WEB-INF/lib/commons-javaflow-20060411.jar">
<attributes>
<attribute name="module" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="lib" path="/home/superx/git/kern/superx/WEB-INF/lib/commons-lang3-3.4.jar">
<attributes>
<attribute name="module" value="true"/>
@ -357,21 +352,6 @@ @@ -357,21 +352,6 @@
<attribute name="module" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="lib" path="/home/superx/git/kern/superx/WEB-INF/lib/jasperreports-6.7.0.jar">
<attributes>
<attribute name="module" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="lib" path="/home/superx/git/kern/superx/WEB-INF/lib/jasperreports-fonts-6.7.0.jar">
<attributes>
<attribute name="module" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="lib" path="/home/superx/git/kern/superx/WEB-INF/lib/jasperreports-functions-6.7.0.jar">
<attributes>
<attribute name="module" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="lib" path="/home/superx/git/kern/superx/WEB-INF/lib/javacc-5.0.jar">
<attributes>
<attribute name="module" value="true"/>
@ -918,5 +898,14 @@ @@ -918,5 +898,14 @@
</attributes>
</classpathentry>
<classpathentry kind="lib" path="superx/WEB-INF/lib_ext/servlet-api.jar"/>
<classpathentry kind="lib" path="superx/WEB-INF/lib/jasperreports-6.20.0.jar"/>
<classpathentry kind="lib" path="superx/WEB-INF/lib/jasperreports-chart-customizers-6.20.0.jar"/>
<classpathentry kind="lib" path="superx/WEB-INF/lib/jasperreports-chart-themes-6.20.0.jar"/>
<classpathentry kind="lib" path="superx/WEB-INF/lib/jasperreports-custom-visualization-6.20.0.jar"/>
<classpathentry kind="lib" path="superx/WEB-INF/lib/jasperreports-fonts-6.20.0.jar"/>
<classpathentry kind="lib" path="superx/WEB-INF/lib/jasperreports-functions-6.20.0.jar"/>
<classpathentry kind="lib" path="superx/WEB-INF/lib/jasperreports-javaflow-6.20.0.jar"/>
<classpathentry kind="lib" path="superx/WEB-INF/lib/jasperreports-metadata-6.20.0.jar"/>
<classpathentry kind="lib" path="superx/WEB-INF/lib/net.tascalate.javaflow.api-2.2.1.jar"/>
<classpathentry kind="output" path="superx/WEB-INF/classes"/>
</classpath>

7
src/de/superx/common/Field.java

@ -734,7 +734,7 @@ public class Field extends NamedIdObject implements TemplateHashModel, @@ -734,7 +734,7 @@ public class Field extends NamedIdObject implements TemplateHashModel,
stmt = SxPools
.get(mandantenID)
.getTemplateProcessor()
.process(map, new Integer(0), "Felddefault " + getId(), stmt,
.process(map, maskennummer, "Felddefault " + getId(), stmt,
fieldContainer,
SxPools.get(mandantenID).getRepository(),
SxPools.get(mandantenID).getSqlDialect());
@ -962,6 +962,7 @@ public class Field extends NamedIdObject implements TemplateHashModel, @@ -962,6 +962,7 @@ public class Field extends NamedIdObject implements TemplateHashModel,
if (formular != null)
stmt = SqlStringUtils.generateSQL(SxPools.get(mandantenID)
.getDatabaseAbbr(), formular, stmt);
// MB 1/16 map wird schon übergeben
// HashMap map = new HashMap();
@ -970,11 +971,11 @@ public class Field extends NamedIdObject implements TemplateHashModel, @@ -970,11 +971,11 @@ public class Field extends NamedIdObject implements TemplateHashModel,
stmt = SxPools
.get(mandantenID)
.getTemplateProcessor()
.process(map, new Integer(0), "Feld " + getId(), stmt,
.process(map, maskennummer, "Feld " + getId(), stmt,
fieldContainer,
SxPools.get(mandantenID).getRepository(),
SxPools.get(mandantenID).getSqlDialect());
String msg = "Ausführen des relations-Sqls für Feld " + getName()
+ " (" + getId() + ")";
int startSuchPos = 0;

17
src/de/superx/common/Maske.java

@ -631,8 +631,11 @@ public class Maske extends NamedIdObject implements Serializable { @@ -631,8 +631,11 @@ public class Maske extends NamedIdObject implements Serializable {
setName(maskRow.get(1).toString());
String tmp_select_stmt = "" + (String) maskRow.get(2);
tmp_select_stmt=tmp_select_stmt.replaceAll("<<Maskennummer>>", this.getId().toString());
String tmp_xil = "" + (String) maskRow.get(3);
tmp_xil=tmp_xil.replaceAll("<<Maskennummer>>", this.getId().toString());
String tmp_cleanup = "" + (String) maskRow.get(4);
tmp_cleanup=tmp_cleanup.replaceAll("<<Maskennummer>>", this.getId().toString());
if (tmp_select_stmt.indexOf("<sximport type=\"select_stmt,cleanup,xil_proplist\">") > -1) {
int sourceMask = getTmpMaskNr(tmp_select_stmt);
@ -742,16 +745,16 @@ public class Maske extends NamedIdObject implements Serializable { @@ -742,16 +745,16 @@ public class Maske extends NamedIdObject implements Serializable {
private void initTableStylesheets() throws SQLException, DBServletException {
// mainStylesheet = new Stylesheet(request.getParameter("stylesheet"));
String query = "select S.filename, S.caption, S.description, "
+ " S.contenttype, M.ord, S.is_generic from sx_stylesheets S,sx_mask_style M" + " where M.stylesheet_id=S.tid "
+ " and M.maskeninfo_id =" + getId() + " " + " and S.relation ='table' "
String query = "select S.filename, S.caption, S.description, "
+ " S.contenttype, M.ord,S.is_generic from sx_stylesheets S,sx_mask_style M" + " where M.stylesheet_id=S.tid "
+ " and M.maskeninfo_id =" + getId() + " " + " and S.relation ='table' "
+ " and (S.useragent = '' or S.useragent is null or S.useragent = '" + browser + "')" + " union"
// Default-Styleshets HTML :
+ " select S.filename, S.caption, S.description, " + " S.contenttype, 99999, S.is_generic from sx_stylesheets S "
+ " select S.filename, S.caption, S.description, " + " S.contenttype, 99999, S.is_generic from sx_stylesheets S "
+ " where S.filename = 'tabelle_html.xsl'" + " union"
// Default-Styleshets die neben HTML immer aktiv sind:
+ " select S.filename, S.caption, S.description, " + " S.contenttype, 100000, S.is_generic from sx_stylesheets S "
+ " where S.is_generic=1 and S.filename != 'tabelle_html.xsl'"
+ " select S.filename, S.caption, S.description, " + " S.contenttype, 100000, S.is_generic from sx_stylesheets S "
+ " where S.is_generic=1 and S.filename != 'tabelle_html.xsl'"
+ " order by 5,2;";
SxResultSet stylesheetsRs = ServletUtils
@ -1749,7 +1752,7 @@ public class Maske extends NamedIdObject implements Serializable { @@ -1749,7 +1752,7 @@ public class Maske extends NamedIdObject implements Serializable {
if (!isMakroSubMaske && (result_el != null && result_el.hasEbeneCol())
&& !EqualsUtil.areEqual(usetreetable, "false") && colsort == null
&& !EqualsUtil.areEqual(stylesheet, "tabelle_html_p.xsl")
&& !EqualsUtil.areEqual(stylesheet, "viz_html_chart.xsl") //TODO generalize: HTML-Stylesheets that need the complete XML in Treetables
//&& !EqualsUtil.areEqual(stylesheet, "viz_html_chart.xsl") //TODO generalize: HTML-Stylesheets that need the complete XML in Treetables
&& (stylesheet == null || stylesheet.indexOf(".jrxml") == -1)
&& (desiredContenttype == null || desiredContenttype.trim().equals("")
|| desiredContenttype.toLowerCase().indexOf("htm") > -1))

25
src/de/superx/common/TemplateProcessor.java

@ -210,6 +210,9 @@ catch (SAXException e) @@ -210,6 +210,9 @@ catch (SAXException e)
boolean isSichtSequence=XMLUtils.hasAttrib(n, "type")
&& XMLUtils.getAttribValue(n, "type").equalsIgnoreCase(
"sichtsequence");
boolean isString=XMLUtils.hasAttrib(n, "type")
&& XMLUtils.getAttribValue(n, "type").equalsIgnoreCase(
"string");
if (isSichtSequence)
{
String sql = XMLUtils.getTheValue(n);
@ -239,14 +242,19 @@ catch (SAXException e) @@ -239,14 +242,19 @@ catch (SAXException e)
addSqlVarSicht(hmap, varname, name_intern, gewuenschterStand);
} else {
String sql = XMLUtils.getTheValue(n);
if(SqlStringUtils.tableExists(con, "sx_repository",mandantid))
sql="<#include \"SuperX_general\"/><#include \"SQL_lingua_franca\"/>"+sql;
sql = process(
"sqlvar " + varname
+ NumberUtils.getRandomInt(99999999),
sql, hmap, sqldialect);
String sql = XMLUtils.getTheValue(n);
if(SqlStringUtils.tableExists(con, "sx_repository",mandantid))
sql="<#include \"SuperX_general\"/><#include \"SQL_lingua_franca\"/>"+sql;
sql = process(
"sqlvar " + varname
+ NumberUtils.getRandomInt(99999999),
sql, hmap, sqldialect);
if (isString)
{
hmap.put(varname, sql);
}
else
{
SxResultSet roh = new SxResultSet();
if (inServlet)
roh = readFromDb(sql);
@ -300,6 +308,7 @@ catch (SAXException e) @@ -300,6 +308,7 @@ catch (SAXException e)
}
}
}
}
}
/**

6597
superx/WEB-INF/dbforms.tld

File diff suppressed because it is too large Load Diff

0
superx/WEB-INF/lib/commons-javaflow-20060411.jar → superx/WEB-INF/lib/commons-javaflow-20060411.jar.alt

BIN
superx/WEB-INF/lib/jasperreports-6.20.0.jar

Binary file not shown.

BIN
superx/WEB-INF/lib/jasperreports-6.7.0.jar

Binary file not shown.

BIN
superx/WEB-INF/lib/jasperreports-chart-customizers-6.20.0.jar

Binary file not shown.

BIN
superx/WEB-INF/lib/jasperreports-chart-themes-6.20.0.jar

Binary file not shown.

BIN
superx/WEB-INF/lib/jasperreports-custom-visualization-6.20.0.jar

Binary file not shown.

BIN
superx/WEB-INF/lib/jasperreports-fonts-6.7.0.jar → superx/WEB-INF/lib/jasperreports-fonts-6.20.0.jar

Binary file not shown.

BIN
superx/WEB-INF/lib/jasperreports-functions-6.20.0.jar

Binary file not shown.

BIN
superx/WEB-INF/lib/jasperreports-functions-6.7.0.jar

Binary file not shown.

BIN
superx/WEB-INF/lib/jasperreports-javaflow-6.20.0.jar

Binary file not shown.

BIN
superx/WEB-INF/lib/jasperreports-metadata-6.20.0.jar

Binary file not shown.

BIN
superx/WEB-INF/lib/net.tascalate.javaflow.api-2.2.1.jar

Binary file not shown.

BIN
superx/WEB-INF/lib/superx4.9.jar

Binary file not shown.

30
superx/WEB-INF/reports/simple_table.jrtx

@ -1,30 +0,0 @@ @@ -1,30 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Created with Jaspersoft Studio -->
<jasperTemplate xmlns="http://jasperreports.sourceforge.net/jasperreports/template" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports/template http://jasperreports.sourceforge.net/xsd/jaspertemplate.xsd">
<style name="Standard Bodytext" isDefault="true" isBlankWhenNull="true" fontName="Liberation Sans" fontSize="8"/>
<style name="ReportTitle" style="Standard Bodytext" fontName="Liberation Sans" fontSize="12" isBold="true"/>
<style name="ReportHeadingInstitution" style="Standard Bodytext" fontName="Liberation Sans" fontSize="8" isBold="false"/>
<style name="subReportTitle" style="Standard Bodytext" fontName="Liberation Sans" fontSize="12" isBold="true"/>
<style name="LegendContent" style="Standard Bodytext" mode="Opaque" backcolor="#CCCCCC">
<pen lineWidth="1.0" lineStyle="Solid" lineColor="#030000"/>
</style>
<style name="TableRowDetail" style="Standard Bodytext" mode="Opaque" forecolor="#000000" backcolor="#FFFFFF" hTextAlign="Right" vTextAlign="Middle" isBlankWhenNull="true" fontName="Liberation Sans" fontSize="8">
<box rightPadding="2">
<pen lineColor="#FFFFFF"/>
</box>
<paragraph leftIndent="2" rightIndent="1" spacingBefore="0" spacingAfter="0"/>
</style>
<style name="LegendLabel" style="Standard Bodytext" mode="Transparent" backcolor="#FFFFFF">
<pen lineWidth="1.0" lineStyle="Solid" lineColor="#030000"/>
</style>
<style name="TableColumnHeader" mode="Transparent" forecolor="#000000" backcolor="#7A93AB" hTextAlign="Center" vTextAlign="Middle" fontName="Liberation Sans" fontSize="8">
<box>
<pen lineColor="#FFFFFF"/>
<topPen lineWidth="1.0" lineStyle="Solid" lineColor="#FFFFFF"/>
<leftPen lineWidth="1.0" lineStyle="Solid" lineColor="#FFFFFF"/>
<bottomPen lineWidth="1.0" lineStyle="Solid" lineColor="#FFFFFF"/>
<rightPen lineWidth="1.0" lineStyle="Solid" lineColor="#FFFFFF"/>
</box>
<paragraph spacingBefore="0" spacingAfter="0"/>
</style>
</jasperTemplate>

174
superx/WEB-INF/reports/tabelle2jasperreport_generic.xsl.jrxml

@ -0,0 +1,174 @@ @@ -0,0 +1,174 @@
<?xml version="1.0" encoding="UTF-8"?><jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" language="groovy" pageWidth="842" pageHeight="595" orientation="Landscape" columnWidth="782" leftMargin="16" rightMargin="16" topMargin="14" bottomMargin="16" name="Studierende nach Erst- und Neueinschreibung (Zeitreihe)">
<property name="ireport.zoom" value="1.0"/>
<property name="ireport.x" value="0"/>
<property name="ireport.y" value="0"/>
<queryString language="xPath">/ergebnisse/ergebnis/ergebniselement/sqlerg/row</queryString>
<field name="Berichtsname" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[ @ordnr='0']/maskenname</fieldDescription>
</field>
<field name="Erlaeuterung" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[ @ordnr='0']/explanation</fieldDescription>
</field>
<field name="REPORT_HEADING_INSTITUTION" class="java.lang.String">
<fieldDescription>/ergebnisse/generalinfo/REPORT_HEADING_INSTITUTION</fieldDescription>
</field>
<field name="REPORT_HEADING_URL" class="java.lang.String">
<fieldDescription>/ergebnisse/generalinfo/REPORT_HEADING_URL</fieldDescription>
</field>
<field name="REPORT_LOGO_FILE" class="java.lang.String">
<fieldDescription>/ergebnisse/generalinfo/REPORT_LOGO_FILE</fieldDescription>
</field>
<field name="REPORT_HEADING_ADRESS" class="java.lang.String">
<fieldDescription>/ergebnisse/generalinfo/REPORT_HEADING_ADRESS</fieldDescription>
</field>
<field name="REPORT_EMAIL" class="java.lang.String">
<fieldDescription>/ergebnisse/generalinfo/REPORT_EMAIL</fieldDescription>
</field>
<field name="REPORT_DOCUMENTATION_URL" class="java.lang.String">
<fieldDescription>/ergebnisse/generalinfo/REPORT_DOCUMENTATION_URL</fieldDescription>
</field>
<field name="Semester" class="java.lang.String">
<fieldDescription>col[@id="0" and wert!=""]/wert</fieldDescription>
</field>
<field name="Gesamt- zahl" class="java.lang.Integer">
<fieldDescription>col[@id="1" and wert!=""]/wert</fieldDescription>
</field>
<field name="1. FS gesamt" class="java.lang.Integer">
<fieldDescription>col[@id="2" and wert!=""]/wert</fieldDescription>
</field>
<field name="1. FS in %" class="java.lang.Double">
<fieldDescription>col[@id="3" and wert!=""]/wert</fieldDescription>
</field>
<field name="1. HS gesamt" class="java.lang.Integer">
<fieldDescription>col[@id="4" and wert!=""]/wert</fieldDescription>
</field>
<field name="1. HS in %" class="java.lang.Double">
<fieldDescription>col[@id="5" and wert!=""]/wert</fieldDescription>
</field>
<field name=" " class="java.lang.String">
<fieldDescription>col[@id="6" and wert!=""]/wert</fieldDescription>
</field>
<field name="dar. Frauen" class="java.lang.Integer">
<fieldDescription>col[@id="7" and wert!=""]/wert</fieldDescription>
</field>
<field name="Frauen in %" class="java.lang.Double">
<fieldDescription>col[@id="8" and wert!=""]/wert</fieldDescription>
</field>
<field name="1. FS Frauen" class="java.lang.Integer">
<fieldDescription>col[@id="9" and wert!=""]/wert</fieldDescription>
</field>
<field name="1. FS Frauen in %" class="java.lang.Double">
<fieldDescription>col[@id="10" and wert!=""]/wert</fieldDescription>
</field>
<field name="1. HS Frauen" class="java.lang.Integer">
<fieldDescription>col[@id="11" and wert!=""]/wert</fieldDescription>
</field>
<field name="1. HS Frauen in %" class="java.lang.Double">
<fieldDescription>col[@id="12" and wert!=""]/wert</fieldDescription>
</field>
<field name="legende_Köpfe oder Fälle ?_label" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis/completefields/feld [@varname="Köpfe oder Fälle ?"]/@varname</fieldDescription>
</field>
<field name="legende_Köpfe oder Fälle ?_value" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis/felder/feld [@varname="Köpfe oder Fälle ?"]/value_caption</fieldDescription>
</field>
<field name="legende_Stichtag_label" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis/completefields/feld [@varname="Stichtag"]/@varname</fieldDescription>
</field>
<field name="legende_Stichtag_value" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis/felder/feld [@varname="Stichtag"]/value_caption</fieldDescription>
</field>
<field name="legende_Seit Semester_label" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis/completefields/feld [@varname="Seit Semester"]/@varname</fieldDescription>
</field>
<field name="legende_Seit Semester_value" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis/felder/feld [@varname="Seit Semester"]/value_caption</fieldDescription>
</field>
<field name="legende_Bis Semester_label" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis/completefields/feld [@varname="Bis Semester"]/@varname</fieldDescription>
</field>
<field name="legende_Bis Semester_value" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis/felder/feld [@varname="Bis Semester"]/value_caption</fieldDescription>
</field>
<field name="legende_Studiengang_label" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis/completefields/feld [@varname="Studiengang"]/@varname</fieldDescription>
</field>
<field name="legende_Studiengang_value" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis/felder/feld [@varname="Studiengang"]/value_caption</fieldDescription>
</field>
<field name="legende_Abschluss_label" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis/completefields/feld [@varname="Abschluss"]/@varname</fieldDescription>
</field>
<field name="legende_Abschluss_value" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis/felder/feld [@varname="Abschluss"]/value_caption</fieldDescription>
</field>
<field name="legende_Fächer_label" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis/completefields/feld [@varname="Fächer"]/@varname</fieldDescription>
</field>
<field name="legende_Fächer_value" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis/felder/feld [@varname="Fächer"]/value_caption</fieldDescription>
</field>
<field name="legende_Vertiefung_label" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis/completefields/feld [@varname="Vertiefung"]/@varname</fieldDescription>
</field>
<field name="legende_Vertiefung_value" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis/felder/feld [@varname="Vertiefung"]/value_caption</fieldDescription>
</field>
<field name="legende_Status_label" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis/completefields/feld [@varname="Status"]/@varname</fieldDescription>
</field>
<field name="legende_Status_value" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis/felder/feld [@varname="Status"]/value_caption</fieldDescription>
</field>
<field name="legende_##line##_label" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis/completefields/feld [@varname="##line##"]/@varname</fieldDescription>
</field>
<field name="legende_##line##_value" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis/felder/feld [@varname="##line##"]/value_caption</fieldDescription>
</field>
<field name="legende_Fachkennz._label" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis/completefields/feld [@varname="Fachkennz."]/@varname</fieldDescription>
</field>
<field name="legende_Fachkennz._value" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis/felder/feld [@varname="Fachkennz."]/value_caption</fieldDescription>
</field>
<field name="legende_Hörerstatus_label" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis/completefields/feld [@varname="Hörerstatus"]/@varname</fieldDescription>
</field>
<field name="legende_Hörerstatus_value" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis/felder/feld [@varname="Hörerstatus"]/value_caption</fieldDescription>
</field>
<field name="legende_ab Fachsemester_label" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis/completefields/feld [@varname="ab Fachsemester"]/@varname</fieldDescription>
</field>
<field name="legende_ab Fachsemester_value" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis/felder/feld [@varname="ab Fachsemester"]/value_caption</fieldDescription>
</field>
<field name="legende_bis Fachsemester_label" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis/completefields/feld [@varname="bis Fachsemester"]/@varname</fieldDescription>
</field>
<field name="legende_bis Fachsemester_value" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis/felder/feld [@varname="bis Fachsemester"]/value_caption</fieldDescription>
</field>
<field name="legende_Filter Studierende_label" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis/completefields/feld [@varname="Filter Studierende"]/@varname</fieldDescription>
</field>
<field name="legende_Filter Studierende_value" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis/felder/feld [@varname="Filter Studierende"]/value_caption</fieldDescription>
</field>
<field name="legende_Trennen nach_label" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis/completefields/feld [@varname="Trennen nach"]/@varname</fieldDescription>
</field>
<field name="legende_Trennen nach_value" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis/felder/feld [@varname="Trennen nach"]/value_caption</fieldDescription>
</field>
<field name="standdatum" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[ @ordnr='0']/stand</fieldDescription>
</field>
<field name="user" class="java.lang.String">
<fieldDescription>/ergebnisse/user</fieldDescription>
</field>
<background>
<band splitType="Stretch"/>
</background>
<title><band height="76"><textField><reportElement x="0" y="0" width="285" height="12"/><textElement><font fontName="Liberation Sans"/></textElement><textFieldExpression class="java.lang.String">$F{REPORT_HEADING_INSTITUTION}</textFieldExpression></textField><textField><reportElement x="0" y="20" width="285" height="12"/><textElement><font fontName="Liberation Sans"/></textElement><textFieldExpression class="java.lang.String">$F{REPORT_HEADING_URL}</textFieldExpression></textField><textField><reportElement x="0" y="44" width="303" height="18"/><textElement><font fontName="Liberation Sans" size="14" isBold="true"/></textElement><textFieldExpression class="java.lang.String">$F{Berichtsname}</textFieldExpression></textField><textField><reportElement x="24" y="62" width="100" height="10"/><textElement><font fontName="Liberation Sans" size="8"/></textElement><textFieldExpression class="java.lang.String">$F{standdatum}</textFieldExpression></textField><staticText><reportElement mode="Transparent" x="0" y="62" width="24" height="10" forecolor="#000000" backcolor="#FFFFFF"/><textElement textAlignment="Left" verticalAlignment="Top" rotation="None" lineSpacing="Single" markup="none"><font fontName="Liberation Sans" size="8" isBold="false" isItalic="false" isUnderline="false" isStrikeThrough="false" pdfFontName="Liberation Sans" pdfEncoding="Cp1252" isPdfEmbedded="false"/></textElement><text>Stand:</text></staticText><image><reportElement x="730" y="0" width="80" height="32"><printWhenExpression>$F{REPORT_LOGO_FILE}!=null &amp;&amp; !$F{REPORT_LOGO_FILE}.equals("") &amp;&amp; !$F{REPORT_LOGO_FILE}.equals("@@REPORT_LOGO_FILE@@")</printWhenExpression></reportElement><imageExpression class="java.lang.String">"../"+$F{REPORT_LOGO_FILE}</imageExpression></image></band></title><detail><band height="323" splitType="Stretch"/></detail><pageFooter><band height="15"><staticText><reportElement mode="Transparent" x="0" y="3" width="89" height="12" forecolor="#000000" backcolor="#FFFFFF"/><textElement textAlignment="Left" verticalAlignment="Top" rotation="None" lineSpacing="Single" markup="none"><font fontName="Liberation Sans" size="10" isBold="false" isItalic="false" isUnderline="false" isStrikeThrough="false" pdfFontName="Liberation Sans" pdfEncoding="Cp1252" isPdfEmbedded="false"/></textElement><text>Erzeugungsdatum:</text></staticText><textField pattern="dd.MM.yyy"><reportElement mode="Transparent" x="89" y="3" width="96" height="12" forecolor="#000000" backcolor="#FFFFFF"/><textElement textAlignment="Left" verticalAlignment="Top" rotation="None" lineSpacing="Single" markup="none"><font fontName="Liberation Sans" size="10" isBold="false" isItalic="false" isUnderline="false" isStrikeThrough="false" pdfFontName="Liberation Sans" pdfEncoding="Cp1252" isPdfEmbedded="false"/></textElement><textFieldExpression class="java.util.Date">new java.util.Date()</textFieldExpression></textField><textField evaluationTime="Report" isBlankWhenNull="false"><reportElement key="textField" x="770" y="3" width="39" height="12"/><box><topPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/><leftPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/><bottomPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/><rightPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/></box><textElement><font fontName="Liberation Sans"/></textElement><textFieldExpression class="java.lang.String">"" + $V{PAGE_NUMBER} + ""</textFieldExpression></textField><textField isBlankWhenNull="false"><reportElement key="textField" x="676" y="3" width="94" height="12"/><box><topPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/><leftPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/><bottomPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/><rightPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/></box><textElement textAlignment="Right"><font fontName="Liberation Sans"/></textElement><textFieldExpression class="java.lang.String">"Seite " + $V{PAGE_NUMBER} + " von "</textFieldExpression></textField></band></pageFooter></jasperReport>

201
superx/WEB-INF/reports/tabelle_jrxml_a4_quer.xsl.jrxml

@ -1,201 +0,0 @@ @@ -1,201 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd"
name="User suchen"
language="groovy"
pageWidth="842"
pageHeight="595"
orientation="Landscape"
columnWidth="818"
leftMargin="12"
rightMargin="12"
topMargin="12"
bottomMargin="12"
isIgnorePagination="true">
<!--Import von jr_properties--><property name="net.sf.jasperreports.export.xls.create.custom.palette" value="true"/>
<property name="net.sf.jasperreports.export.xls.detect.cell.type" value="true"/>
<property name="net.sf.jasperreports.export.xls.remove.empty.space.between.columns"
value="true"/>
<property name="net.sf.jasperreports.export.xls.remove.empty.space.between.rows "
value="true"/>
<property name="net.sf.jasperreports.export.xls.exclude.origin.band.1" value="pageHeader"/>
<property name="net.sf.jasperreports.export.xls.exclude.origin.band.2" value="pageFooter"/>
<property name="net.sf.jasperreports.export.xlsx.exclude.origin.band.1"
value="pageHeader"/>
<property name="net.sf.jasperreports.export.xlsx.exclude.origin.band.2"
value="pageFooter"/>
<property name="com.jaspersoft.studio.data.defaultdataadapter"
value="beispiel_einzeltabelle_schmal"/>
<property name="com.jaspersoft.studio.unit." value="pixel"/>
<property name="com.jaspersoft.studio.unit.pageHeight" value="pixel"/>
<property name="com.jaspersoft.studio.unit.pageWidth" value="pixel"/>
<property name="com.jaspersoft.studio.unit.topMargin" value="pixel"/>
<property name="com.jaspersoft.studio.unit.bottomMargin" value="pixel"/>
<property name="com.jaspersoft.studio.unit.leftMargin" value="pixel"/>
<property name="com.jaspersoft.studio.unit.rightMargin" value="pixel"/>
<property name="com.jaspersoft.studio.unit.columnWidth" value="pixel"/>
<property name="com.jaspersoft.studio.unit.columnSpacing" value="pixel"/>
<property name="com.jaspersoft.studio.property.dataset.dialog.DatasetDialog.sash.w1"
value="466"/>
<property name="com.jaspersoft.studio.property.dataset.dialog.DatasetDialog.sash.w2"
value="522"/>
<template>"simple_table.jrtx"</template>
<style name="TableRowDetail" mode="Opaque" forecolor="#000000" backcolor="#FFFFFF"
hTextAlign="Right"
vTextAlign="Middle"
isBlankWhenNull="true"
fontName="Liberation Sans"
fontSize="8">
<box rightPadding="2">
<pen lineColor="#FFFFFF"/>
</box>
<paragraph leftIndent="2" rightIndent="1" spacingBefore="0" spacingAfter="0"/>
<conditionalStyle>
<conditionExpression>Boolean.valueOf( $V{PAGE_COUNT} % 2 == 1 )</conditionExpression>
<style mode="Opaque" forecolor="#000000" backcolor="#E3E8EB"/>
</conditionalStyle>
</style>
<queryString language="xPath">/ergebnisse/ergebnis/ergebniselement[@ordnr=0]/sqlerg/row</queryString>
<field name="REPORT_HEADING_INSTITUTION" class="java.lang.String">
<fieldDescription>/ergebnisse/generalinfo/REPORT_HEADING_INSTITUTION</fieldDescription>
</field>
<field name="REPORT_HEADING_URL" class="java.lang.String">
<fieldDescription>/ergebnisse/generalinfo/REPORT_HEADING_URL</fieldDescription>
</field>
<field name="REPORT_LOGO_FILE" class="java.lang.String">
<fieldDescription>/ergebnisse/generalinfo/REPORT_LOGO_FILE</fieldDescription>
</field>
<field name="REPORT_HEADING_ADRESS" class="java.lang.String">
<fieldDescription>/ergebnisse/generalinfo/REPORT_HEADING_ADRESS</fieldDescription>
</field>
<field name="REPORT_EMAIL" class="java.lang.String">
<fieldDescription>/ergebnisse/generalinfo/REPORT_EMAIL</fieldDescription>
</field>
<field name="REPORT_DOCUMENTATION_URL" class="java.lang.String">
<fieldDescription>/ergebnisse/generalinfo/REPORT_DOCUMENTATION_URL</fieldDescription>
</field>
<field name="Berichtsname" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[ @ordnr='0']/maskenname</fieldDescription>
</field>
<field name="Erlaeuterung" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[ @ordnr='0']/explanation</fieldDescription>
</field>
<!-- dann die Tabellenspalten --><field name="Kennung " class="java.lang.String">
<fieldDescription>col[@id="0" and wert!=""]/wert</fieldDescription>
</field>
<field name=" Name " class="java.lang.String">
<fieldDescription>col[@id="1" and wert!=""]/wert</fieldDescription>
</field>
<field name=" Email " class="java.lang.String">
<fieldDescription>col[@id="2" and wert!=""]/wert</fieldDescription>
</field>
<field name=" Ansehen " class="java.lang.String">
<fieldDescription>col[@id="3" and wert!=""]/wert</fieldDescription>
</field>
<field name=" Bearbeiten " class="java.lang.String">
<fieldDescription>col[@id="4" and wert!=""]/wert</fieldDescription>
</field>
<field name="legende_Kennung_label" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis/completefields/feld [@varname="Kennung"]/@varname</fieldDescription>
</field>
<field name="legende_Kennung_value" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis/felder/feld [@varname="Kennung"]/value_caption</fieldDescription>
</field>
<field name="legende_Gruppe_label" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis/completefields/feld [@varname="Gruppe"]/@varname</fieldDescription>
</field>
<field name="legende_Gruppe_value" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis/felder/feld [@varname="Gruppe"]/value_caption</fieldDescription>
</field>
<field name="legende_Name_label" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis/completefields/feld [@varname="Name"]/@varname</fieldDescription>
</field>
<field name="legende_Name_value" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis/felder/feld [@varname="Name"]/value_caption</fieldDescription>
</field>
<field name="legende_Institution_label" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis/completefields/feld [@varname="Institution"]/@varname</fieldDescription>
</field>
<field name="legende_Institution_value" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis/felder/feld [@varname="Institution"]/value_caption</fieldDescription>
</field>
<field name="standdatum" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[ @ordnr='0']/stand</fieldDescription>
</field>
<field name="user" class="java.lang.String">
<fieldDescription>/ergebnisse/user</fieldDescription>
</field>
<variable name="tabellennr" class="java.lang.Integer">
<variableExpression>0</variableExpression>
</variable>
<group name="tabellennr">
<groupExpression>$V{tabellennr}</groupExpression>
<groupHeader>
<band height="90">
<textField>
<reportElement style="LegendLabel" x="0" y="0" width="818" height="20"/>
<textElement verticalAlignment="Bottom"/>
<textFieldExpression>"Filterkriterien: "</textFieldExpression>
</textField>
<textField>
<reportElement style="LegendContent" x="0" y="20" width="818" height="40"/>
<textFieldExpression>""+(($F{legende_Kennung_value}==null || $F{legende_Kennung_value}=="")?"":($F{legende_Kennung_label}+": "+$F{legende_Kennung_value}+";"))
+(($F{legende_Gruppe_value}==null || $F{legende_Gruppe_value}=="")?"":($F{legende_Gruppe_label}+": "+$F{legende_Gruppe_value}+";"))
+(($F{legende_Name_value}==null || $F{legende_Name_value}=="")?"":($F{legende_Name_label}+": "+$F{legende_Name_value}+";"))
+(($F{legende_Institution_value}==null || $F{legende_Institution_value}=="")?"":($F{legende_Institution_label}+": "+$F{legende_Institution_value}+";"))
+"Datenstand: "+ $F{standdatum} + "; " + "Erstellt: "+ DATEFORMAT( TODAY(), "dd.MM.YYYY")</textFieldExpression>
</textField>
<staticText>
<reportElement style="TableColumnHeader" mode="Opaque" x="0" y="60" width="117" height="30"
backcolor="#7A93AB"/>
<text>Kennung </text>
</staticText>
<staticText>
<reportElement style="TableColumnHeader" mode="Opaque" x="117" y="60" width="351" height="30"
backcolor="#7A93AB"/>
<text> Name </text>
</staticText>
<staticText>
<reportElement style="TableColumnHeader" mode="Opaque" x="468" y="60" width="351" height="30"
backcolor="#7A93AB"/>
<text> Email </text>
</staticText>
</band>
</groupHeader>
</group>
<title>
<band height="75">
<textField>
<reportElement x="0" y="0" width="818" height="30" style="ReportHeadingInstitution"/>
<textFieldExpression>$F{REPORT_HEADING_INSTITUTION} + " | "+ $F{user}</textFieldExpression>
</textField>
<textField>
<reportElement style="ReportTitle" x="0" y="30" width="818" height="45"/>
<textFieldExpression>$F{Berichtsname}</textFieldExpression>
</textField>
</band>
</title>
<detail>
<band height="30" splitType="Stretch">
<textField isStretchWithOverflow="true" isBlankWhenNull="true" pattern="">
<reportElement style="TableRowDetail" stretchType="ContainerHeight" x="0" y="0" width="117"
height="30"/>
<textElement textAlignment="Left"/>
<textFieldExpression>$F{Kennung }</textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true" pattern="">
<reportElement style="TableRowDetail" stretchType="ContainerHeight" x="117" y="0" width="351"
height="30"/>
<textElement textAlignment="Left"/>
<textFieldExpression>$F{ Name }</textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true" pattern="">
<reportElement style="TableRowDetail" stretchType="ContainerHeight" x="468" y="0" width="351"
height="30"/>
<textElement textAlignment="Left"/>
<textFieldExpression>$F{ Email }</textFieldExpression>
</textField>
</band>
</detail>
</jasperReport>

27
superx/edit/check_authentication.inc

@ -0,0 +1,27 @@ @@ -0,0 +1,27 @@
<%@ page import ="org.dbforms.config.DbFormsConfigRegistry,
java.sql.Connection,
java.sql.Statement,
java.sql.ResultSet" %>
<%
Connection conDbforms;
Statement st;
ResultSet l_rset;
conDbforms=null;
try {
conDbforms = DbFormsConfigRegistry.instance().lookup().getConnection(mandantenid);
} catch (Exception e) {
System.out.println("Error getting dbforms connection:"
+ e.getMessage());
}
st=conDbforms.createStatement();
l_rset = st.executeQuery("select sp_get_dbform_right('"+db_form_name+"',"+userid+") from xdummy");
if(l_rset.next()==true)
{
erlaubt=l_rset.getString(1);
}
l_rset.close();
st.close();
conDbforms.close();
%>

9
superx/edit/kern/group_field_pref_edit_hidden.inc

@ -0,0 +1,9 @@ @@ -0,0 +1,9 @@
<tr>
<td class="db_label">Voreinstellung</td>
<td align="left">
<% sql = "SELECT element_value,description from menu_element where element='group_field_pref' order by 2; "; %>
<db:select fieldName="pref" styleClass="clsInputStyle" customEntry="'',,true">
<db:queryData name="k_sg" query="<%= sql %>" dbConnectionName="<%= mandantenid %>" />
</db:select>
</td>
</tr>

1
superx/edit/kern/group_field_pref_list_hidden.inc

@ -0,0 +1 @@ @@ -0,0 +1 @@
<td><db:checkbox checked="false" novalue="" value="hidden" fieldName="pref" /></td>

4
superx/edit/kern/group_field_pref_list_hidden.inc.inc

@ -0,0 +1,4 @@ @@ -0,0 +1,4 @@
<tr>
<td class="db_label">Verstecken</td>
<td><db:checkbox checked="false" novalue="" value="hidden" fieldName="pref" /></td>
</tr>

29
superx/edit/kern/groupinfo_edit_sichtarten.inc

@ -0,0 +1,29 @@ @@ -0,0 +1,29 @@
<tr>
<td class="db_label">Sichtarten</td>
<td>
<table class="subform">
<db:dbform orderBy="" childField="groupinfo_id" parentField="tid" tableName="group_sichtarten" maxRows="*" captionResource="true" followUp="/edit/kern/groupinfo_edit.jsp" autoUpdate="false" multipart="false" dbConnectionName="<%= mandantenid %>">
<db:header/>
<db:body allowNew="true">
<tr class="subform_tr"><db:textField hidden="true" fieldName="groupinfo_id" overrideValue="<%= tid%>"/>
<td align="left">
<div id="fld_sichtart_id">
<input onblur="updateSelect(this)" style="display:none" size="10" name="key_group_sichtarten_bezgroupinfo_id" class="schluesselfeld" type="text">
<db:select id="inp_group_sichtarten_bezgroupinfo_id" styleClass="clsInputStyle" onChange="updateKeyfield(this)" fieldName="sichtart" customEntry=",,true"><% sql = "select distinct art::char(255),art::char(255) from sichten order by 1;"; %><db:queryData name="group_sichtarten_groupinfo3" query="<%= sql %>" dbConnectionName="<%= mandantenid %>" /> </db:select>
</div>
</td><td class="naviBtn">
<db:updateButton styleClass="clsButtonStyle" style="height:18px" alt="button.update" src="../../images/save.svg" flavor="image" id="db_updateButton"/></td><td class="naviBtn">
<db:deleteButton confirmMessage="Wollen Sie diesen Eintrag wirklich l&ouml;schen?" styleClass="clsButtonStyle" style="height:18px" alt="button.delete" src="../../images/delete.svg" id="db_deleteButton" flavor="image"/></td>
</tr>
</db:body>
<db:footer>
<tr class="subform_tr">
<td><td class="naviBtn"><span connectId="new9" dojoType="tooltip">Neuen Datensatz erzeugen. Mit Mausklick auf diesen Button geht das Formular bzw. Unterformular in den Einf&uuml;gemodus, alle vorhandenen Datens&auml;tze werden ausgeblendet. Zum Einf&uuml;gen des neuen Datensatzes klicken Sie dann auf das H&auml;kchen-Symbol rechts neben bzw. unter mir.</span>
<db:navNewButton styleClass="clsButtonStyle" style="height:18px" showAlwaysInFooter="false" alt="button.nav.new" src="../../images/context_add.svg" id="new9" flavor="image"/></td><td class="naviBtn"><span connectId="ins9" dojoType="tooltip">Datensatz einf&uuml;gen. Wenn Sie einen neuen Datensatz erzeugt haben, k&ouml;nnen Sie diesen mit diesem Button speichern.</span>
<db:insertButton showAlways="false" style="height:18px" styleClass="clsButtonStyle" alt="Datensatz einf&uuml;gen" src="../../images/circle_tick.svg" id="ins9" flavor="image"/></td></td>
</tr>
</db:footer>
</db:dbform>
</table>
</td>
</tr>

7
superx/edit/kern/manager.inc

@ -0,0 +1,7 @@ @@ -0,0 +1,7 @@
<%
href=response.encodeURL("../../servlet/SuperXManager");
out.println("<a target='_blank' href=\""+href + "\">SuperXManager</a>");
%>

62
superx/edit/kern/organigramm_tid.inc

@ -0,0 +1,62 @@ @@ -0,0 +1,62 @@
<%@ page import ="org.dbforms.config.DbFormsConfigRegistry,java.sql.Connection,java.sql.Statement,java.sql.ResultSet" %>
<%
//der superx-Default-Mandant ist bei dbforms ein Leerstring
if(mandantenid.equals("default"))
mandantenid="";
Connection conmm=null;
String organigramm_neue_tid="";
try {
conmm = DbFormsConfigRegistry.instance().lookup().getConnection(mandantenid);
//Ausgabe holen:
Statement st_output;
ResultSet rs_output;
st_output=conmm.createStatement();
String sql_output = "select nvl(max(tid)+1,1) from organigramm";
rs_output = st_output.executeQuery(sql_output);
while (rs_output.next())
{ if(rs_output.getObject(1) !=null)
//organigramm_neue_tid=rs_output.getObject(1).toString();
organigramm_neue_tid=rs_output.getString(1);
}
rs_output.close();
st_output.close();
if(organigramm_neue_tid==null || organigramm_neue_tid.equals(""))
organigramm_neue_tid="<p>Text konnte nicht geladen werden, wenden Sie sich an den Administrator</p>";
//Ende Ausgabe holen
conmm.close();
}//ende Suche DB Verbindung
catch (Exception e) {
out.print("<html><body>Fehler bei Datenverbindung: "+e+ " <br>MandantID: "+mandantenid+"</body></html>");
}
%>
<tr>
<td class="db_label">
Laufnummer</td><td align="left">
<div id="fld_tid">
<%
String current_tid="";
if(currentRow_organigramm != null
&& currentRow_organigramm.get("tid") != null
&& !currentRow_organigramm.get("tid").toString().equals(""))
{
current_tid=currentRow_organigramm.get("tid").toString();
}
else
{
current_tid=organigramm_neue_tid;
}
%>
<db:textField readOnly="true" nullFieldValue="" onBlur="" style="background-color:#c9c2c2;" id="inp_organigrammtid" size="6" fieldName="tid" overrideValue="<%= current_tid %>"/>
</div>
</td>
</tr>

15
superx/edit/kern/stylesheet_field_edit_fieldname.inc

@ -0,0 +1,15 @@ @@ -0,0 +1,15 @@
<tr>
<td class="db_label">
<db:message key="Fieldname"/></td><td align="left">
<div id="fld_fieldname">
<input onblur="updateSelect(this)" style="display:none" size="10" name="key_stylesheet_fieldfieldname" class="schluesselfeld" type="text">
<db:select id="inp_stylesheet_fieldfieldname" styleClass="clsInputStyle" onChange="updateKeyfield(this)" fieldName="fieldname" customEntry=",,true">
<% if (currentRow_stylesheet_field == null)
sql = "select name, trim(table_name) || '.' || trim(name) from sx_fields order by trim(table_name) || '.' || trim(name);";
else
sql = "select name, trim(table_name) || '.' || trim(name) from sx_fields where sx_fields.table_name = '"+currentRow_stylesheet_field.get("tablename").toString() +"' order by trim(table_name) || '.' || trim(name);";
%>
<db:queryData name="stylesheet_field_sx_fields66" query="<%= sql %>" dbConnectionName="<%= mandantenid %>" /> </db:select>
</div>
</td>
</tr>

12
superx/edit/kern/stylesheet_field_edit_tablename.inc

@ -0,0 +1,12 @@ @@ -0,0 +1,12 @@
<tr>
<td class="db_label">
<db:message key="Tablename"/></td><td align="left">
<div id="fld_tablename">
<input onblur="updateSelect(this)" style="display:none" size="10" name="key_stylesheet_fieldtablename" class="schluesselfeld" type="text">
<db:select id="inp_stylesheet_fieldtablename" styleClass="clsInputStyle" onChange="updateKeyfield(this)" fieldName="tablename" customEntry=",,true">
<% sql = "select name, trim(name) from sx_tables order by trim(name);"; %>
<db:queryData name="stylesheet_field_sx_tables65" query="<%= sql %>" dbConnectionName="<%= mandantenid %>" /> </db:select>
</div>
</td>
</tr>

12
superx/edit/kern/stylesheet_field_list_fieldname.inc

@ -0,0 +1,12 @@ @@ -0,0 +1,12 @@
<td align="left">
<div id="fld_fieldname">
<input onblur="updateSelect(this)" style="display:none" size="10" name="key_stylesheet_fieldfieldname" class="schluesselfeld" type="text">
<db:select id="inp_stylesheet_fieldfieldname" styleClass="clsInputStyle" onChange="updateKeyfield(this)" fieldName="fieldname" customEntry=",,true">
<% if (currentRow_stylesheet_field == null)
sql = "select name, trim(table_name) || '.' || trim(name) from sx_fields order by trim(table_name) || '.' || trim(name);";
else
sql = "select name, trim(table_name) || '.' || trim(name) from sx_fields where sx_fields.table_name = '"+currentRow_stylesheet_field.get("tablename").toString() +"' order by trim(table_name) || '.' || trim(name);";
%>
<db:queryData name="stylesheet_field_sx_fields66" query="<%= sql %>" dbConnectionName="<%= mandantenid %>" /> </db:select>
</div>
</td>

9
superx/edit/kern/stylesheet_field_list_tablename.inc

@ -0,0 +1,9 @@ @@ -0,0 +1,9 @@
<td align="left">
<div id="fld_tablename">
<input onblur="updateSelect(this)" style="display:none" size="10" name="key_stylesheet_fieldtablename" class="schluesselfeld" type="text">
<db:select id="inp_stylesheet_fieldtablename" styleClass="clsInputStyle" onChange="updateKeyfield(this)" fieldName="tablename" customEntry=",,true">
<% sql = "select name, trim(name) from sx_tables order by trim(name);"; %>
<db:queryData name="stylesheet_field_sx_tables65" query="<%= sql %>" dbConnectionName="<%= mandantenid %>" /> </db:select>
</div>
</td>

4
superx/edit/kern/userinfo_edit_admin.inc

@ -0,0 +1,4 @@ @@ -0,0 +1,4 @@
<tr>
<td class="db_label">Administrator/in</td>
<td><db:checkbox checked="false" novalue="0" value="1" fieldName="administration" /></td>
</tr>

94
superx/edit/kern/userinfo_edit_gruppe.inc

@ -0,0 +1,94 @@ @@ -0,0 +1,94 @@
<tr><td class="db_label">Gruppen</td>
<td>
<table class="subform">
<db:dbform orderBy="" childField="userinfo_id" parentField="tid" tableName="user_group_bez" maxRows="*" captionResource="true" followUp="/edit/kern/userinfo_edit.jsp" autoUpdate="false" multipart="false" dbConnectionName="<%= mandantenid %>">
<db:header>
<tr><th>Gruppe</th><th></th><th></th><th>Sachgebietsrechte</th></tr>
</db:header>
<db:body allowNew="true">
<!-- superx gruppen -->
<% if( currentRow_user_group_bez != null) {
if (currentRow_user_group_bez.get("external_entry")==null||currentRow_user_group_bez.get("external_entry").toString().equals("0"))
{
%>
<tr class="subform_tr"><db:textField hidden="true" fieldName="userinfo_id" overrideValue="<%= tid%>"/>
<td align="left">
<div id="fld_groupinfo_id">
<input onblur="updateSelect(this)" style="display:none" size="10" name="key_user_group_bezgroupinfo_id" class="schluesselfeld" type="text">
<db:select id="inp_user_group_bezgroupinfo_id" styleClass="clsInputStyle" onChange="updateKeyfield(this)" fieldName="groupinfo_id" customEntry=",,true"><% sql = "select tid, name from groupinfo order by name;"; %><db:queryData name="user_group_bez_groupinfo2" query="<%= sql %>" dbConnectionName="<%= mandantenid %>" /> </db:select>
</div>
</td>
<td class="naviBtn">
<db:updateButton styleClass="clsButtonStyle" style="height:18px" alt="button.update" src="../../images/save.svg" flavor="image" id="db_updateButton"/>
</td>
<td class="naviBtn">
<db:deleteButton confirmMessage="Wollen Sie diesen Eintrag wirklich l&ouml;schen?" styleClass="clsButtonStyle" style="height:18px" alt="button.delete" src="../../images/delete.svg" id="db_deleteButton" flavor="image"/>
</td>
<td>
<% sql = "SELECT "+currentRow_user_group_bez.get("groupinfo_id").toString()+",trim(sp_get_subquery_str(" + currentRow_user_group_bez.get("groupinfo_id").toString() +"::varchar(200), 'groupinfo_id','sachgebiete','name','group_sachgeb_bez','group_sachgeb_bez.sachgebiete_id=sachgebiete.tid')) from xdummy as dummy;"; %>
<db:dataLabel fieldName="groupinfo_id" nullFieldValue="--keine--">
<db:queryData name ="group_sachgeb" disableCache="true" query="<%=sql%>" dbConnectionName="<%= mandantenid %>"/>
</db:dataLabel>
</td>
</tr>
<% } else {%> <!--externe h1-gruppen kann nur adminstrtoren sein-->
<tr>
<td>
<% sql = "SELECT tid,'aus letzter HisInOne Rolle:<br>'||name from groupinfo order by name; "; %>
<db:dataLabel fieldName="groupinfo_id" nullFieldValue="--keine--">
<db:queryData name="k_group2" query="<%= sql %>" dbConnectionName="<%= mandantenid %>" />
</db:dataLabel>
</td>
<td></td>
<td></td>
<td>
<% sql = "SELECT "+currentRow_user_group_bez.get("groupinfo_id").toString()+",trim(sp_get_subquery_str(" + currentRow_user_group_bez.get("groupinfo_id").toString() +"::varchar(200), 'groupinfo_id','sachgebiete','name','group_sachgeb_bez','group_sachgeb_bez.sachgebiete_id=sachgebiete.tid')) from xdummy as dummy;"; %>
<db:dataLabel fieldName="groupinfo_id" nullFieldValue="--keine--">
<db:queryData name ="group_sachgeb" disableCache="true" query="<%=sql%>" dbConnectionName="<%= mandantenid %>" />
</db:dataLabel>
</td>
</tr>
<% }
} else {%>
<tr class="subform_tr"><db:textField hidden="true" fieldName="userinfo_id" overrideValue="<%= tid%>"/>
<td align="left">
<div id="fld_groupinfo_id">
<input onblur="updateSelect(this)" style="display:none" size="10" name="key_user_group_bezgroupinfo_id" class="schluesselfeld" type="text">
<db:select id="inp_user_group_bezgroupinfo_id" styleClass="clsInputStyle" onChange="updateKeyfield(this)" fieldName="groupinfo_id" customEntry=",,true"><% sql = "select tid, name from groupinfo order by name;"; %><db:queryData name="user_group_bez_groupinfo2" query="<%= sql %>" dbConnectionName="<%= mandantenid %>" /> </db:select>
</div>
</td>
<td class="naviBtn">
<db:updateButton styleClass="clsButtonStyle" style="height:18px" alt="button.update" src="../../images/save.svg" flavor="image" id="db_updateButton"/>
</td>
<td class="naviBtn">
<db:deleteButton confirmMessage="Wollen Sie diesen Eintrag wirklich l&ouml;schen?" styleClass="clsButtonStyle" style="height:18px" alt="button.delete" src="../../images/delete.svg" id="db_deleteButton" flavor="image"/>
</td>
<td>
</td>
</tr>
<% }%>
</db:body>
<db:footer>
<tr class="subform_tr">
<td></td>
<td class="naviBtn"><span connectId="new10" dojoType="tooltip">Neuen Datensatz erzeugen. Mit Mausklick auf diesen Button geht das Formular bzw. Unterformular in den Einf&uuml;gemodus, alle vorhandenen Datens&auml;tze werden ausgeblendet. Zum Einf&uuml;gen des neuen Datensatzes klicken Sie dann auf das H&auml;kchen-Symbol rechts neben bzw. unter mir.</span>
<db:navNewButton styleClass="clsButtonStyle" style="height:18px" showAlwaysInFooter="false" alt="button.nav.new" src="../../images/new.png" id="new10" flavor="image"/>
</td>
<td class="naviBtn"><span connectId="ins10" dojoType="tooltip">Datensatz einf&uuml;gen. Wenn Sie einen neuen Datensatz erzeugt haben, k&ouml;nnen Sie diesen mit diesem Button speichern.</span>
<db:insertButton showAlways="false" style="height:18px" styleClass="clsButtonStyle" alt="Datensatz einf&uuml;gen" src="../../images/ok.png" id="ins10" flavor="image"/>
</td>
<td></td>
</tr>
</db:footer>
</db:dbform>
</table>
</td>
</tr>

131
superx/edit/kern/userinfo_edit_institution.inc

@ -0,0 +1,131 @@ @@ -0,0 +1,131 @@
<script type="text/javascript">
function validateInst(fld)
{
fld.value=fld.value.trim();
}
</script>
<tr><td class="db_label">Institutionsrechte</td>
<td>
<table class="subform">
<db:dbform multipart="false" autoUpdate="false" followUp="/edit/kern/userinfo_edit.jsp"
maxRows="*" tableName="user_institution"
parentField="tid" childField="userid"
orderBy="external_entry,ch110_institut" dbConnectionName="<%= mandantenid %>"
javascriptFieldsArray="true"
>
<db:header>
<tr><th>Institution</th><th>G&uuml;ltig von</th><th>G&uuml;ltig bis</th><th></th><th></th></tr>
</db:header>
<db:body allowNew="true">
<!-- superx gruppen -->
<% if( currentRow_user_institution != null) {
if (currentRow_user_institution.get("external_entry")==null||currentRow_user_institution.get("external_entry").toString().equals("0"))
{
%>
<tr class="subform_tr"><db:textField hidden="true" fieldName="userinfo_id" overrideValue="<%= tid%>"/>
<td align="left">
<% sql = "SELECT '0'::char(10),'Alle Institutionen'::char(255) from xdummy union SELECT key_apnr,trim(key_apnr) || '-' || name from organigramm order by 1; "; %>
<db:dataLabel fieldName="ch110_institut">
<db:queryData name="k_institution" query="<%= sql %>" dbConnectionName="<%= mandantenid %>" />
</db:dataLabel>
</td>
<td><db:dateField nullFieldValue="" pattern="dd.MM.yyyy" size="9" fieldName="gueltig_seit" onBlur="" useJsCalendar="true"/></td>
<td><db:dateField nullFieldValue="" pattern="dd.MM.yyyy" size="9" fieldName="gueltig_bis" onBlur="" useJsCalendar="true"/></td>
<td class="naviBtn">
<db:updateButton styleClass="clsButtonStyle" style="height:18px" alt="button.update" src="../../images/save.svg" flavor="image" id="db_updateButton"/>
</td>
<td class="naviBtn">
<db:deleteButton confirmMessage="Wollen Sie diesen Eintrag wirklich l&ouml;schen?" styleClass="clsButtonStyle" style="height:18px" alt="button.delete" src="../../images/delete.svg" id="db_deleteButton" flavor="image"/>
</td>
</tr>
<% } else {%> <!--externe h1-gruppen kann nur adminstrtoren sein-->
<tr>
<td>
<% sql = "SELECT key_apnr,'aus letzter HisInOne Rolle:'||trim(key_apnr) || '-' || name from organigramm order by 1; "; %>
<db:dataLabel fieldName="ch110_institut">
<db:queryData name="k_institution2" query="<%= sql %>" dbConnectionName="<%= mandantenid %>" />
</db:dataLabel>
</td>
<td><db:dateField nullFieldValue="" pattern="dd.MM.yyyy" size="9" fieldName="gueltig_seit" onBlur="" useJsCalendar="true"/></td>
<td><db:dateField nullFieldValue="" pattern="dd.MM.yyyy" size="9" fieldName="gueltig_bis" onBlur="" useJsCalendar="true"/></td>
<td></td>
<td></td>
</tr>
<% }
} else {%>
<tr class="subform_tr"><db:textField hidden="true" fieldName="userinfo_id" overrideValue="<%= tid%>"/>
<td align="left">
<db:textField fieldName="ch110_institut" hidden="true" id="inp_inst" />
<input id="instLabel" value="Bitte w&auml;hlen" size="50" style="background-color:#cccccc;cursor: pointer;" onclick="instWaehlen();" readonly></input>
<script language="Javascript">
function instWaehlen()
{
javascript:neu=window.open('organigramm_dialog.jsp','_blank','directories=no,location=no,menubar=no,scrollbars=yes,resizable=yes,toolbar=no,width=800,height=660');
}
</script>
</td>
<td><db:dateField pattern="dd.MM.yyyy" size="9" fieldName="gueltig_seit" onBlur="" useJsCalendar="true" overrideValue="01.01.1900" nullFieldValue=""/></td>
<td><db:dateField pattern="dd.MM.yyyy" size="9" fieldName="gueltig_bis" onBlur="" useJsCalendar="true" overrideValue="01.01.3000" nullFieldValue=""/></td>
<td class="naviBtn">
<db:updateButton styleClass="clsButtonStyle" style="height:18px" alt="button.update" src="../../images/save.svg" flavor="image" id="db_updateButton"/>
</td>
<td class="naviBtn">
<db:deleteButton confirmMessage="Wollen Sie diesen Eintrag wirklich l&ouml;schen?" styleClass="clsButtonStyle" style="height:18px" alt="button.delete" src="../../images/delete.svg" id="db_deleteButton" flavor="image"/>
</td>
</tr>
<% }%>
</db:body>
<db:footer>
<tr class="subform_tr">
<td></td>
<td></td>
<td></td>
<td class="naviBtn"><span connectId="new10" dojoType="tooltip">Neuen Datensatz erzeugen. Mit Mausklick auf diesen Button geht das Formular bzw. Unterformular in den Einf&uuml;gemodus, alle vorhandenen Datens&auml;tze werden ausgeblendet. Zum Einf&uuml;gen des neuen Datensatzes klicken Sie dann auf das H&auml;kchen-Symbol rechts neben bzw. unter mir.</span>
<db:navNewButton styleClass="clsButtonStyle" style="height:18px" showAlwaysInFooter="false" alt="button.nav.new" src="../../images/context_add.svg" id="new10" flavor="image"/>
</td>
<td class="naviBtn"><span connectId="ins10" dojoType="tooltip">Datensatz einf&uuml;gen. Wenn Sie einen neuen Datensatz erzeugt haben, k&ouml;nnen Sie diesen mit diesem Button speichern.</span>
<db:insertButton showAlways="false" style="height:18px" styleClass="clsButtonStyle" alt="Datensatz einf&uuml;gen" src="../../images/circle_tick.svg" id="ins10" flavor="image"/>
</td>
</tr>
</db:footer>
</db:dbform>
</table>
</td>
</tr>
<script language="Javascript">
function validateUserForm()
{
if(document.getElementById("inp_inst") && document.getElementById("inp_kotr"))
{
var inst_sel=document.getElementById("inp_inst").value.trim();
var inst_key=document.getElementById("key_inst").value.trim();
var kotr_sel=document.getElementById("inp_kotr").value.trim();
var kotr_key=document.getElementById("key_kotr").value.trim();
if(inst_sel == "" && inst_key=="" && kotr_sel=="" && kotr_key=="")
{
alert("Bitte waehlen Sie eine Institution/einen Kostentraeger aus der Liste");
return false;
}
else
return true;
}
//alert("#"+document.getElementById("inp_inst").value+"#");
return true;
}
</script>

99
superx/edit/kern/userinfo_edit_kostentraeger.inc

@ -0,0 +1,99 @@ @@ -0,0 +1,99 @@
<tr><td class="db_label">Projekt/Kostentr&auml;gerrechte</td>
<td>
<table class="subform">
<db:dbform multipart="false" autoUpdate="false" followUp="/edit/kern/userinfo_edit.jsp" maxRows="*" tableName="user_kostentraeger" parentField="tid" childField="userid" orderBy="external_entry,key_apnr" dbConnectionName="<%= mandantenid %>" >
<db:header>
<tr><th>Projekt/Kostentr&auml;ger</th>
<!-- <th>G&uuml;ltig von</th><th>G&uuml;ltig bis</th>--> <th></th><th></th></tr>
</db:header>
<db:body allowNew="true">
<!-- superx gruppen -->
<% if( currentRow_user_kostentraeger != null) {
if (currentRow_user_kostentraeger.get("external_entry")==null||currentRow_user_kostentraeger.get("external_entry").toString().equals("0"))
{
%>
<tr class="subform_tr"><db:textField hidden="true" fieldName="userinfo_id" overrideValue="<%= tid%>"/>
<td align="left">
<% sql = "SELECT '0','Alle Projekte/Kostenträger' from xdummy union select key_apnr,trim(key_apnr) || '-' || name from kostentraeger order by 1; "; %>
<db:dataLabel fieldName="key_apnr">
<db:queryData name="k_kostentraeger" query="<%= sql %>" dbConnectionName="<%= mandantenid %>" />
</db:dataLabel>
</td>
<!--
<td><db:dateField nullFieldValue="" pattern="dd.MM.yyyy" size="9" fieldName="gueltig_seit" onBlur="" useJsCalendar="true"/></td>
<td><db:dateField nullFieldValue="" pattern="dd.MM.yyyy" size="9" fieldName="gueltig_bis" onBlur="" useJsCalendar="true"/></td>
<td class="naviBtn">
<db:updateButton styleClass="clsButtonStyle" style="height:18px" alt="button.update" src="../../images/save.svg" flavor="image" id="db_updateButton"/>
</td>
-->
<td class="naviBtn">
<db:deleteButton confirmMessage="Wollen Sie diesen Eintrag wirklich l&ouml;schen?" styleClass="clsButtonStyle" style="height:18px" alt="button.delete" src="../../images/delete.svg" id="db_deleteButton" flavor="image"/>
</td>
</tr>
<% } else {%> <!--externe h1-gruppen kann nur adminstrtoren sein-->
<tr>
<td>
<% sql = "SELECT key_apnr,'aus letzter HisInOne Rolle:'||trim(key_apnr) || '-' || name from kostentraeger order by 1; "; %>
<db:dataLabel fieldName="key_apnr">
<db:queryData name="k_kostentraeger2" query="<%= sql %>" dbConnectionName="<%= mandantenid %>" />
</db:dataLabel>
</td>
<!--
<td><db:dateField nullFieldValue="" pattern="dd.MM.yyyy" size="9" fieldName="gueltig_seit" onBlur="" useJsCalendar="true"/></td>
<td><db:dateField nullFieldValue="" pattern="dd.MM.yyyy" size="9" fieldName="gueltig_bis" onBlur="" useJsCalendar="true"/></td>
-->
<td></td>
<td></td>
</tr>
<% }
} else {%>
<tr class="subform_tr"><db:textField hidden="true" fieldName="userinfo_id" overrideValue="<%= tid%>"/>
<td align="left">
<input onblur="updateAndValidateSelect(this,true)" style="display:none" size="10" name="key_kotr" id="key_kotr" class="schluesselfeld" type="text" />
<% sql = "SELECT key_apnr,trim(key_apnr) || '-' || name from kostentraeger order by 1; "; %>
<db:select id="inp_kotr" fieldName="key_apnr" customEntry=" ,Bitte waehlen,true" onChange="updateKeyfield(this)">
<db:queryData name="k_kostentraeger3" query="<%= sql %>" dbConnectionName="<%= mandantenid %>" />
</db:select>
</td>
<!--
<td><db:dateField nullFieldValue="" pattern="dd.MM.yyyy" size="9" fieldName="gueltig_seit" onBlur="" useJsCalendar="true"/></td>
<td><db:dateField nullFieldValue="" pattern="dd.MM.yyyy" size="9" fieldName="gueltig_bis" onBlur="" useJsCalendar="true"/></td>
<td class="naviBtn">
<db:updateButton styleClass="clsButtonStyle" style="height:18px" alt="button.update" src="../../images/save.svg" flavor="image" id="db_updateButton"/>
</td>
-->
<td class="naviBtn">
<db:deleteButton confirmMessage="Wollen Sie diesen Eintrag wirklich l&ouml;schen?" styleClass="clsButtonStyle" style="height:18px" alt="button.delete" src="../../images/delete.svg" id="db_deleteButton" flavor="image"/>
</td>
</tr>
<% }%>
</db:body>
<db:footer>
<tr class="subform_tr">
<td></td>
<td></td>
<td></td>
<td class="naviBtn"><span connectId="new10" dojoType="tooltip">Neuen Datensatz erzeugen. Mit Mausklick auf diesen Button geht das Formular bzw. Unterformular in den Einf&uuml;gemodus, alle vorhandenen Datens&auml;tze werden ausgeblendet. Zum Einf&uuml;gen des neuen Datensatzes klicken Sie dann auf das H&auml;kchen-Symbol rechts neben bzw. unter mir.</span>
<db:navNewButton styleClass="clsButtonStyle" style="height:18px" showAlwaysInFooter="false" alt="button.nav.new" src="../../images/context_add.svg" id="new10" flavor="image"/>
</td>
<td class="naviBtn"><span connectId="ins10" dojoType="tooltip">Datensatz einf&uuml;gen. Wenn Sie einen neuen Datensatz erzeugt haben, k&ouml;nnen Sie diesen mit diesem Button speichern.</span>
<db:insertButton showAlways="false" style="height:18px" styleClass="clsButtonStyle" alt="Datensatz einf&uuml;gen" src="../../images/circle_tick.svg" id="ins10" flavor="image"/>
</td>
</tr>
</db:footer>
</db:dbform>
</table>
</td>
</tr>

77
superx/edit/kern/userinfo_edit_masken.inc

@ -0,0 +1,77 @@ @@ -0,0 +1,77 @@
<tr><td class="db_label">Masken</td>
<td>
<table class="subform">
<db:dbform multipart="false" autoUpdate="false" followUp="/edit/kern/userinfo_edit.jsp" maxRows="*" tableName="user_masken_bez" parentField="tid" childField="userinfo_id" orderBy="external_entry desc,name" dbConnectionName="<%= mandantenid %>" >
<db:header />
<db:body allowNew="true">
<!-- superx gruppen -->
<% if( currentRow_user_masken_bez != null) {
if (currentRow_user_masken_bez.get("external_entry")==null||currentRow_user_masken_bez.get("external_entry").toString().equals("0"))
{
%>
<tr class="subform_tr"><db:textField hidden="true" fieldName="userinfo_id" overrideValue="<%= tid%>"/>
<td align="left">
<% sql = "SELECT tid,tid||' - '||name as name from maskeninfo order by 2; "; %>
<db:select fieldName="maskeninfo_id" customEntry="'',,true">
<db:queryData name="k_m" query="<%= sql %>" dbConnectionName="<%= mandantenid %>" />
</db:select>
</td>
<td class="naviBtn">
<db:updateButton styleClass="clsButtonStyle" style="height:18px" alt="button.update" src="../../images/save.svg" flavor="image" id="db_updateButton"/>
</td>
<td class="naviBtn">
<db:deleteButton confirmMessage="Wollen Sie diesen Eintrag wirklich l&ouml;schen?" styleClass="clsButtonStyle" style="height:18px" alt="button.delete" src="../../images/delete.svg" id="db_deleteButton" flavor="image"/>
</td>
</tr>
<% } else {%>
<tr>
<td>
<% sql = "SELECT tid,'aus letzter HisInOne Rolle:'||tid||' - '||name as name from maskeninfo order by 2; "; %>
<db:dataLabel fieldName="maskeninfo_id" >
<db:queryData name="k_m2" query="<%= sql %>" dbConnectionName="<%= mandantenid %>" />
</db:dataLabel>
</td>
<td></td>
<td></td>
</tr>
<% }
} else {%>
<tr class="subform_tr"><db:textField hidden="true" fieldName="userinfo_id" overrideValue="<%= tid%>"/>
<td align="left">
<% sql = "SELECT tid,tid||' - '||name as name from maskeninfo order by 2; "; %>
<db:select fieldName="maskeninfo_id" customEntry="'',,true">
<db:queryData name="k_m" query="<%= sql %>" dbConnectionName="<%= mandantenid %>" />
</db:select>
</td>
<td class="naviBtn">
<db:updateButton styleClass="clsButtonStyle" style="height:18px" alt="button.update" src="../../images/save.svg" flavor="image" id="db_updateButton"/>
</td>
<td class="naviBtn">
<db:deleteButton confirmMessage="Wollen Sie diesen Eintrag wirklich l&ouml;schen?" styleClass="clsButtonStyle" style="height:18px" alt="button.delete" src="../../images/delete.svg" id="db_deleteButton" flavor="image"/>
</td>
</tr>
<% }%>
</db:body>
<db:footer>
<tr class="subform_tr">
<td></td>
<td class="naviBtn"><span connectId="new10" dojoType="tooltip">Neuen Datensatz erzeugen. Mit Mausklick auf diesen Button geht das Formular bzw. Unterformular in den Einf&uuml;gemodus, alle vorhandenen Datens&auml;tze werden ausgeblendet. Zum Einf&uuml;gen des neuen Datensatzes klicken Sie dann auf das H&auml;kchen-Symbol rechts neben bzw. unter mir.</span>
<db:navNewButton styleClass="clsButtonStyle" style="height:18px" showAlwaysInFooter="false" alt="button.nav.new" src="../../images/context_add.svg" id="new10" flavor="image"/>
</td>
<td class="naviBtn"><span connectId="ins10" dojoType="tooltip">Datensatz einf&uuml;gen. Wenn Sie einen neuen Datensatz erzeugt haben, k&ouml;nnen Sie diesen mit diesem Button speichern.</span>
<db:insertButton showAlways="false" style="height:18px" styleClass="clsButtonStyle" alt="Datensatz einf&uuml;gen" src="../../images/circle_tick.svg" id="ins10" flavor="image"/>
</td>
</tr>
</db:footer>
</db:dbform>
</table>
</td>
</tr>

18
superx/edit/kern/userinfo_edit_pw.inc

@ -0,0 +1,18 @@ @@ -0,0 +1,18 @@
<%@ page import ="de.memtext.util.CryptUtils" %>
<%@ page import ="de.superx.servlet.SuperXmlPwChanger" %>
<%
String pw="";
if(currentRow_userinfo.get("passwd_sha")!=null)
pw=currentRow_userinfo.get("passwd_sha").toString();
if(request.getParameter("newPW")!=null && !request.getParameter("newPW").toString().equals(""))
pw=de.memtext.util.CryptUtils.encodeSHA512(request.getParameter("newPW").toString());
%>
<tr>
<td class="db_label">Passwort (verschl&uuml;sselt)</td><td><db:textField id="passwort" fieldName="passwd_sha" overrideValue="<%=pw %>" />
<input type="button" name="Aendern" value="&auml;ndern" caption="Passwort &auml;ndern" onClick="document.getElementById('pwchange').style.visibility='visible';" /><span id="pwchange" style="visibility:hidden">
<input name="newPW" id="newPW" type="password" size="12" maxlength="12" /> <input type="submit" name="Verschluesseln" value="verschl&uuml;sseln" caption="Passwort verschl&uuml;sseln" /> (danach bitte Speichern nicht vergessen)</span>
</td>
</tr>

1
superx/edit/kern/userinfo_edit_pw_aendern.inc

@ -0,0 +1 @@ @@ -0,0 +1 @@
<tr><td class="db_label">User muss Passwort &auml;ndern</td><td colspan="2"><db:checkbox checked="false" novalue="0000000000000000" value="aendern " fieldName="kennwort" /></td></tr>

79
superx/edit/kern/userinfo_edit_sachgebiete.inc

@ -0,0 +1,79 @@ @@ -0,0 +1,79 @@
<tr><td class="db_label">Sachgebiete</td>
<td>
<table class="subform">
<db:dbform multipart="false" autoUpdate="false" followUp="/edit/kern/userinfo_edit.jsp" maxRows="*" tableName="user_sachgeb_bez" parentField="tid" childField="userinfo_id" orderBy="external_entry desc,name" dbConnectionName="<%= mandantenid %>" >
<db:header>
<!--<tr><th>Gruppe</th><th></th><th></th><th>Sachgebietsrechte</th></tr> -->
</db:header>
<db:body allowNew="true">
<!-- superx gruppen -->
<% if( currentRow_user_sachgeb_bez != null) {
if (currentRow_user_sachgeb_bez.get("external_entry")==null||currentRow_user_sachgeb_bez.get("external_entry").toString().equals("0"))
{
%>
<tr class="subform_tr"><db:textField hidden="true" fieldName="userinfo_id" overrideValue="<%= tid%>"/>
<td align="left">
<% sql = "SELECT tid,name from sachgebiete order by name; "; %>
<db:select fieldName="sachgebiete_id" customEntry="'',,true">
<db:queryData name="k_sg" query="<%= sql %>" dbConnectionName="<%= mandantenid %>" />
</db:select>
</td>
<td class="naviBtn">
<db:updateButton styleClass="clsButtonStyle" style="height:18px" alt="button.update" src="../../images/save.svg" flavor="image" id="db_updateButton"/>
</td>
<td class="naviBtn">
<db:deleteButton confirmMessage="Wollen Sie diesen Eintrag wirklich l&ouml;schen?" styleClass="clsButtonStyle" style="height:18px" alt="button.delete" src="../../images/delete.svg" id="db_deleteButton" flavor="image"/>
</td>
</tr>
<% } else {%> <!--externe h1-gruppen kann nur adminstrtoren sein-->
<tr>
<td>
<% sql = "SELECT tid,'aus letzter HisInOne Rolle:'||name as name from sachgebiete ; "; %>
<db:dataLabel fieldName="sachgebiete_id" >
<db:queryData name="k_sg2" query="<%= sql %>" dbConnectionName="<%= mandantenid %>" />
</db:dataLabel>
</td>
<td></td>
<td></td>
</tr>
<% }
} else {%>
<tr class="subform_tr"><db:textField hidden="true" fieldName="userinfo_id" overrideValue="<%= tid%>"/>
<td align="left">
<% sql = "SELECT tid,name from sachgebiete order by name; "; %>
<db:select fieldName="sachgebiete_id" customEntry="'',,true">
<db:queryData name="k_sg" query="<%= sql %>" dbConnectionName="<%= mandantenid %>" />
</db:select>
</td>
<td class="naviBtn">
<db:updateButton styleClass="clsButtonStyle" style="height:18px" alt="button.update" src="../../images/save.svg" flavor="image" id="db_updateButton"/>
</td>
<td class="naviBtn">
<db:deleteButton confirmMessage="Wollen Sie diesen Eintrag wirklich l&ouml;schen?" styleClass="clsButtonStyle" style="height:18px" alt="button.delete" src="../../images/delete.svg" id="db_deleteButton" flavor="image"/>
</td>
</tr>
<% }%>
</db:body>
<db:footer>
<tr class="subform_tr">
<td></td>
<td class="naviBtn"><span connectId="new10" dojoType="tooltip">Neuen Datensatz erzeugen. Mit Mausklick auf diesen Button geht das Formular bzw. Unterformular in den Einf&uuml;gemodus, alle vorhandenen Datens&auml;tze werden ausgeblendet. Zum Einf&uuml;gen des neuen Datensatzes klicken Sie dann auf das H&auml;kchen-Symbol rechts neben bzw. unter mir.</span>
<db:navNewButton styleClass="clsButtonStyle" style="height:18px" showAlwaysInFooter="false" alt="button.nav.new" src="../../images/context_add.svg" id="new10" flavor="image"/>
</td>
<td class="naviBtn"><span connectId="ins10" dojoType="tooltip">Datensatz einf&uuml;gen. Wenn Sie einen neuen Datensatz erzeugt haben, k&ouml;nnen Sie diesen mit diesem Button speichern.</span>
<db:insertButton showAlways="false" style="height:18px" styleClass="clsButtonStyle" alt="Datensatz einf&uuml;gen" src="../../images/circle_tick.svg" id="ins10" flavor="image"/>
</td>
</tr>
</db:footer>
</db:dbform>
</table>
</td>
</tr>

74
superx/edit/kern/userinfo_edit_sichtarten.inc

@ -0,0 +1,74 @@ @@ -0,0 +1,74 @@
<tr>
<td class="db_label">Sichtarten</td>
<td>
<table class="subform">
<db:dbform orderBy="external_entry desc,sichtart" childField="userinfo_id" parentField="tid" tableName="user_sichtarten" maxRows="*" captionResource="true" followUp="/edit/kern/userinfo_edit.jsp" autoUpdate="false" multipart="false" dbConnectionName="<%= mandantenid %>">
<db:header/>
<db:body allowNew="true">
<% if( currentRow_user_sichtarten != null) {
if (currentRow_user_sichtarten.get("external_entry")==null||currentRow_user_sichtarten.get("external_entry").toString().equals("0"))
{
%>
<tr class="subform_tr">
<db:textField hidden="true" fieldName="userinfo_id" overrideValue="<%= tid%>"/>
<td align="left">
<div id="fld_sichtart_id">
<input onblur="updateSelect(this)" style="display:none" size="10" name="key_user_sichtarten_bezgroupinfo_id" class="schluesselfeld" type="text">
<% sql = "select distinct art::char(255),art::char(255) from sichten order by 1;"; %>
<db:select id="inp_user_sichtarten_bezgroupinfo_id" styleClass="clsInputStyle" onChange="updateKeyfield(this)" fieldName="sichtart" customEntry=",,true">
<db:queryData name="user_sichtarten_groupinfo3" query="<%= sql %>" dbConnectionName="<%= mandantenid %>" />
</db:select>
</div>
</td>
<td class="naviBtn">
<db:updateButton styleClass="clsButtonStyle" style="height:18px" alt="button.update" src="../../images/save.svg" flavor="image" id="db_updateButton"/>
</td>
<td class="naviBtn">
<db:deleteButton confirmMessage="Wollen Sie diesen Eintrag wirklich l&ouml;schen?" styleClass="clsButtonStyle" style="height:18px" alt="button.delete" src="../../images/delete.svg" id="db_deleteButton" flavor="image"/>
</td>
</tr>
<% } else {%> <!--externe h1-gruppen kann nur adminstrtoren sein-->
<tr>
<td>
<% sql = "SELECT distinct art::char(255),'aus letzter HisInOne Rolle:'||art::char(255) from sichten order by 1; "; %>
<db:dataLabel fieldName="sichtart" >
<db:queryData name="k_sa2" query="<%= sql %>" dbConnectionName="<%= mandantenid %>" />
</db:dataLabel>
</td>
<td></td>
<td></td>
</tr>
<% }
} else {%>
<tr class="subform_tr">
<db:textField hidden="true" fieldName="userinfo_id" overrideValue="<%= tid%>"/>
<td align="left">
<div id="fld_sichtart_id">
<input onblur="updateSelect(this)" style="display:none" size="10" name="key_user_sichtarten_bezgroupinfo_id" class="schluesselfeld" type="text">
<% sql = "select distinct art::char(255),art::char(255) from sichten order by 1;"; %>
<db:select id="inp_user_sichtarten_bezgroupinfo_id" styleClass="clsInputStyle" onChange="updateKeyfield(this)" fieldName="sichtart" customEntry=",,true">
<db:queryData name="user_sichtarten_groupinfo3" query="<%= sql %>" dbConnectionName="<%= mandantenid %>" />
</db:select>
</div>
</td>
<td class="naviBtn">
<db:updateButton styleClass="clsButtonStyle" style="height:18px" alt="button.update" src="../../images/save.svg" flavor="image" id="db_updateButton"/>
</td>
<td class="naviBtn">
<db:deleteButton confirmMessage="Wollen Sie diesen Eintrag wirklich l&ouml;schen?" styleClass="clsButtonStyle" style="height:18px" alt="button.delete" src="../../images/delete.svg" id="db_deleteButton" flavor="image"/>
</td>
</tr>
<% }%>
</db:body>
<db:footer>
<tr class="subform_tr">
<td><td class="naviBtn"><span connectId="new9" dojoType="tooltip">Neuen Datensatz erzeugen. Mit Mausklick auf diesen Button geht das Formular bzw. Unterformular in den Einf&uuml;gemodus, alle vorhandenen Datens&auml;tze werden ausgeblendet. Zum Einf&uuml;gen des neuen Datensatzes klicken Sie dann auf das H&auml;kchen-Symbol rechts neben bzw. unter mir.</span>
<db:navNewButton styleClass="clsButtonStyle" style="height:18px" showAlwaysInFooter="false" alt="button.nav.new" src="../../images/context_add.svg" id="new9" flavor="image"/></td><td class="naviBtn"><span connectId="ins9" dojoType="tooltip">Datensatz einf&uuml;gen. Wenn Sie einen neuen Datensatz erzeugt haben, k&ouml;nnen Sie diesen mit diesem Button speichern.</span>
<db:insertButton showAlways="false" style="height:18px" styleClass="clsButtonStyle" alt="Datensatz einf&uuml;gen" src="../../images/circle_tick.svg" id="ins9" flavor="image"/></td></td>
</tr>
</db:footer>
</db:dbform>
</table>
</td>
</tr>

77
superx/edit/kern/userinfo_edit_sichten.inc

@ -0,0 +1,77 @@ @@ -0,0 +1,77 @@
<tr><td class="db_label">Sichten</td>
<td>
<table class="subform">
<db:dbform multipart="false" autoUpdate="false" followUp="/edit/kern/userinfo_edit.jsp" maxRows="*" tableName="user_sichten" parentField="tid" childField="userinfo_id" orderBy="external_entry desc,sicht_name_intern" dbConnectionName="<%= mandantenid %>" >
<db:header />
<db:body allowNew="true">
<!-- superx gruppen -->
<% if( currentRow_user_sichten != null) {
if (currentRow_user_sichten.get("external_entry")==null||currentRow_user_sichten.get("external_entry").toString().equals("0"))
{
%>
<tr class="subform_tr">
<db:textField hidden="true" fieldName="userinfo_id" overrideValue="<%= tid%>"/>
<td align="left">
<% sql = "SELECT name_intern,tid||' - '||name_intern as name from sichten order by 2; "; %>
<db:select fieldName="sicht_name_intern" customEntry="'',,true">
<db:queryData name="k_s" query="<%= sql %>" dbConnectionName="<%= mandantenid %>" />
</db:select>
</td>
<td class="naviBtn">
<db:updateButton styleClass="clsButtonStyle" style="height:18px" alt="button.update" src="../../images/save.svg" flavor="image" id="db_updateButton"/>
</td>
<td class="naviBtn">
<db:deleteButton confirmMessage="Wollen Sie diesen Eintrag wirklich l&ouml;schen?" styleClass="clsButtonStyle" style="height:18px" alt="button.delete" src="../../images/delete.svg" id="db_deleteButton" flavor="image"/>
</td>
</tr>
<% } else {%> <!--externe h1-gruppen kann nur adminstrtoren sein-->
<tr>
<td>
<% sql = "SELECT name_intern,'aus letzter HisInOne Rolle:'||tid||' - '||name_intern as name from sichten order by 2; "; %>
<db:dataLabel fieldName="sicht_name_intern" >
<db:queryData name="k_s2" query="<%= sql %>" dbConnectionName="<%= mandantenid %>" />
</db:dataLabel>
</td>
<td></td>
<td></td>
</tr>
<% }
} else {%>
<tr class="subform_tr"><db:textField hidden="true" fieldName="userinfo_id" overrideValue="<%= tid%>"/>
<td align="left">
<% sql = "SELECT name_intern,tid||' - '||name_intern as name from sichten order by 2; "; %>
<db:select fieldName="sicht_name_intern" customEntry="'',,true">
<db:queryData name="k_s" query="<%= sql %>" dbConnectionName="<%= mandantenid %>" />
</db:select>
</td>
<td class="naviBtn">
<db:updateButton styleClass="clsButtonStyle" style="height:18px" alt="button.update" src="../../images/save.svg" flavor="image" id="db_updateButton"/>
</td>
<td class="naviBtn">
<db:deleteButton confirmMessage="Wollen Sie diesen Eintrag wirklich l&ouml;schen?" styleClass="clsButtonStyle" style="height:18px" alt="button.delete" src="../../images/delete.svg" id="db_deleteButton" flavor="image"/>
</td>
</tr>
<% }%>
</db:body>
<db:footer>
<tr class="subform_tr">
<td></td>
<td class="naviBtn"><span connectId="new10" dojoType="tooltip">Neuen Datensatz erzeugen. Mit Mausklick auf diesen Button geht das Formular bzw. Unterformular in den Einf&uuml;gemodus, alle vorhandenen Datens&auml;tze werden ausgeblendet. Zum Einf&uuml;gen des neuen Datensatzes klicken Sie dann auf das H&auml;kchen-Symbol rechts neben bzw. unter mir.</span>
<db:navNewButton styleClass="clsButtonStyle" style="height:18px" showAlwaysInFooter="false" alt="button.nav.new" src="../../images/context_add.svg" id="new10" flavor="image"/>
</td>
<td class="naviBtn"><span connectId="ins10" dojoType="tooltip">Datensatz einf&uuml;gen. Wenn Sie einen neuen Datensatz erzeugt haben, k&ouml;nnen Sie diesen mit diesem Button speichern.</span>
<db:insertButton showAlways="false" style="height:18px" styleClass="clsButtonStyle" alt="Datensatz einf&uuml;gen" src="../../images/circle_tick.svg" id="ins10" flavor="image"/>
</td>
</tr>
</db:footer>
</db:dbform>
</table>
</td>
</tr>

4
superx/edit/kern/userinfo_edit_sieht_projekte.inc

@ -0,0 +1,4 @@ @@ -0,0 +1,4 @@
<tr>
<td class="db_label">Sieht Projekte/Kostentr&auml;ger</td>
<td><db:checkbox checked="false" novalue="0" value="1" fieldName="sieht_projekte" /></td>
</tr>

462
superx/edit/kern/webapp_manager.jsp

@ -0,0 +1,462 @@ @@ -0,0 +1,462 @@
<%@ taglib uri="/WEB-INF/dbforms.tld" prefix="db" %>
<%@page pageEncoding="utf-8" contentType="text/html; charset=UTF-8" %>
<%@ page import ="de.superx.servlet.ServletUtils" %>
<%@ page import ="de.superx.servlet.SxPools" %>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Webanwendung Manager</title>
<link rel="stylesheet" href="../../style/bulma.css" />
<script type="text/javascript" src="/superx/xml/js/memtext/sx_functions.js"></script>
</head>
<script language="Javascript">
function getVersion()
{
//alert("klappt");
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
document.getElementById("version").innerHTML = this.responseText;
//alert(this.responseText);
}
};
xhttp.open("GET", "../../sxrest/version", true);
xhttp.send();
}
function ManagerCacheRefresh()
{
//alert("klappt");
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
document.getElementById("ManagerCacheStatus").innerHTML = this.responseText;
//alert(this.responseText);
}
};
xhttp.open("GET", "../../sxrest/managercache_refresh", true);
xhttp.send();
}
function TransletCacheRefresh()
{
//alert("klappt");
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
document.getElementById("TransletCacheStatus").innerHTML = this.responseText;
//alert(this.responseText);
}
};
xhttp.open("GET", "../../sxrest/transletcache_refresh", true);
xhttp.send();
}
function toggleDevelopmentMode(modus)
{
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
document.getElementById("toggleDevelopmentmodeStatus").innerHTML = this.responseText;
//alert(this.responseText);
}
};
xhttp.open("POST", "../../sxrest/toggle_developmentmode/"+modus, true);
xhttp.send();
}
function getMaskLogs(logtype,caption)
{
document.getElementById("MaskHeader").innerHTML="Protokolle";
document.getElementById("MaskSubHeader").innerHTML=caption;
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/masklogs/"+logtype, true);
xhttp.send();
}
function getMaskMenu(srctype,tid)
{
if(srctype=="load")
{
document.getElementById("MaskHeader").innerHTML="Masken-Quellcode exportieren";
document.getElementById("MaskSubHeader").innerHTML="TID = <input type='text' size='10' id='Maskentid' />"+" <button class=\"button has-tooltip-multiline has-tooltip-right\" data-tooltip=\"Quellcode der Maske mit der Nummer im Feld TID exportieren\" onclick=\"getMaskSrc(document.getElementById('Maskentid').value)\">exportieren...</button>";
}
if(srctype=="save")
{
document.getElementById("MaskHeader").innerHTML="Masken-Quellcode importieren";
document.getElementById("MaskSubHeader").innerHTML="<form method=\"post\" name=\"saveMask\" action=\"../../edit/kern/jobexecutor.jsp\" target=\"_blank\"> TID = <input type='text' size='10' id='Maskentid' name='maskeninfo_id' /><input type='hidden' name='src' /><button class=\"button has-tooltip-multiline has-tooltip-right\" data-tooltip=\"Quellcode der Maske mit der Nummer im Feld TID importieren\" onclick=\"saveMaskSrc(document.getElementById('Maskentid').value)\">importieren...</button></form>";
//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=<input type='text' size='10' id='Maskentid' />"+" <button class=\"button has-tooltip-multiline has-tooltip-right\" data-tooltip=\"Quellcode der Maske mit der Nummer im Feld TID exportieren\" onclick=\"saveMaskSrc(document.getElementById('Maskentid').value)\">importieren...</button>";
}
}
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();
}
}
function getComponentMenu(componentName)
{
document.getElementById("MaskHeader").innerHTML="Komponente "+ componentName;
document.getElementById("MaskSubHeader").innerHTML="Install/Upgrade";
document.getElementById("MaskSubHeader").innerHTML="<button class=\"button has-tooltip-multiline has-tooltip-right\" data-tooltip=\"Upgrade starten\" onclick=\"launchUpgrade('"+componentName+"')\">Upgrade starten</button>";
//document.getElementById("MaskSubHeader").innerHTML="<a onclick=\"launchUpgrade('"+componentName+"')\">Upgrade starten</a>";
}
function launchUpgrade(componentName)
{
var xhttp = new XMLHttpRequest();
//alert(componentName);
xhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
document.getElementById("Inhalt").innerHTML = this.responseText;
//alert(this.responseText);
}
};
xhttp.open("GET", "../../sxrest/launchupgrade/"+componentName, true);
xhttp.send();
}
function getConnectorMenu(componentName)
{
document.getElementById("MaskHeader").innerHTML="Komponente "+ componentName;
document.getElementById("MaskSubHeader").innerHTML="Laderoutinen";
document.getElementById("MaskSubHeader").innerHTML="<button class=\"button has-tooltip-multiline has-tooltip-right\" data-tooltip=\"Hauptladeroutine starten\" onclick=\"launchUpgrade('"+componentName+"')\">Hauptladeroutine starten</button>";
}
</script>
<body>
<%
//init Variables:
String EntwicklungsmodusAn="";
String EntwicklungsmodusAus="checked";
if(de.superx.servlet.SuperXManager.isDevelopmentMode)
{
EntwicklungsmodusAn="checked";
EntwicklungsmodusAus="";
}
String sxversion=de.superx.servlet.SuperXManager.sxversion;
String builddatum=de.superx.servlet.SuperXManager.builddatum;
String mandantenid=ServletUtils.getMandantenID(request);
String finRechteInfos=SxPools.getPoolFinRechteInfos();
String platform=de.superx.servlet.SuperXManager.isHis1?"HISinOne":"SuperX";
String tab = request.getParameter("tab");
if(tab == null)
tab="";
%>
<!-- START NAV -->
<nav class="navbar is-white">
<div class="container">
<div class="navbar-brand">
<a class="navbar-item" href="webapp_manager.jsp">Webanwendung Manager</a>
<div class="navbar-burger burger" data-target="navMenu">
<span>dd</span>
<span>dd</span>
<span>dd</span>
</div>
</div>
<!-- <div id="navMenu" class="navbar-menu">
<div class="navbar-start">
<a class="navbar-item" href="webapp_manager.jsp?tab=inst">
Installation /Patches
</a>
<a class="navbar-item" href="webapp_manager.jsp?tab=load">
Konnektoren
</a>-->
<a class="navbar-item" href="webapp_manager.jsp?tab=mask">
Masken
</a>
<a class="navbar-item" href="webapp_manager.jsp?tab=action">
Komponenten
</a>
<!-- <a class="navbar-item" href="href="webapp_manager.jsp?tab=portal"">
Portal
</a>
<a class="navbar-item" href="admin.html">
Dokumentation
</a>-->
</div>
</div>
</div>
</nav>
<!-- END NAV -->
<div class="container">
<div class="columns">
<div class="column is-3 ">
<aside class="menu is-hidden-mobile">
<p class="menu-label">
Untermenü
</p>
<ul class="menu-list">
<li><a class="is-active">Startseite</a></li>
<!--<li><a>Customers</a></li>
<li><a>Other</a></li>-->
</ul>
<%
if(tab.equals("mask"))
{
%>
<p class="menu-label">
Maskenprotokolle
</p>
<ul class="menu-list">
<li><a onClick="getMaskLogs('activity','Letzte Maske');">Letzte Maske</a></li>
<li><a onClick="getMaskLogs('fmsql','SQL vor Freemarker-Transformation');">SQL vor Freemarker-Transf.</a></li>
<li><a onClick="getMaskLogs('sql','SQL nach Freemarker-Transformation');">SQL nach Freemarker-Transf.</a></li>
<li><a onClick="getMaskLogs('xml','XML-Ergebnis');">XML-Ergebnis</a></li>
</ul>
<p class="menu-label">
Masken-Sicherung
</p>
<ul class="menu-list">
<li><a onClick="getMaskMenu('load');">Masken-Quellcode exportieren</a></li>
<li><a onClick="getMaskMenu('save');">Masken-Quellcode importieren</a></li>
</ul>
<%
} //Ende Masken Menü
%>
<%
if(tab.equals("action"))
{
%>
<p class="menu-label">
Komponentenverwaltung (Install/Upgrade)
</p>
<ul class="menu-list">
<li><a onClick="getComponentMenu('kern');">Kernmodul</a></li>
<li><a onClick="getComponentMenu('etl');">ETL-Komponente</a></li>
</ul>
<p class="menu-label">
Konnektoren
</p>
<ul class="menu-list">
<li><a onClick="getConnectorMenu('kern');">Kernmodul</a></li>
<li><a onClick="getConnectorMenu('etl');">ETL-Komponente</a></li>
</ul>
<%
} //Ende Action Menü
%>
</aside>
</div>
<div class="column is-9">
<%
if(tab.equals(""))
{
%>
<section class="hero is-info welcome is-small">
<div class="hero-body">
<div class="container">
<h1 class="title">
Webanwendung Manager
</h1>
<h2 class="subtitle">
Serverstatus
</h2>
</div>
</div>
</section>
<section class="info-tiles">
<div class="tile is-ancestor has-text-centered">
<div class="tile is-parent">
<article class="tile is-child box">
<p class="title">Entwicklungs-<br />modus</p>
<p class="subtitle">SQL einzeln abarbeiten?</p>
<form name="DevelopmentMode">
<div class="control">
<label class="radio">
<input type="radio" name="Entwicklungsmodus" <%=EntwicklungsmodusAus %> >
Aus
</label>
<label class="radio">
<input type="radio" name="Entwicklungsmodus" <%=EntwicklungsmodusAn %> >
Ein
</label>
<button class="button has-tooltip-multiline has-tooltip-right"
data-tooltip="Im Entwicklungsmodus werden alle SQL-Befehle von Abfragen einzeln an die Datenbank geschickt. Das dauert l&auml;nger, erm&ouml;glicht aber bessere Fehlermeldungen. Achtung: bei Informix sollten Sie den Entwicklungsmodus nicht ausschalten, der JDBC-Treiber arbeitet dann instabil."
onClick="toggleDevelopmentMode(document.forms['DevelopmentMode'].elements['Entwicklungsmodus'][1].checked);return false;"
>Übernehmen</button>
<br />
<span id="toggleDevelopmentmodeStatus"></span>
</form>
</div>
</article>
</div>
<div class="tile is-parent">
<article class="tile is-child box">
<p class="title">Server Cache</p>
<p class="subtitle">aktualisieren</p>
<button class="button has-tooltip-multiline has-tooltip-right" data-tooltip="Es werden Erläuterungen und Übersetzungen (captions) gecacht. Fürs XML-Frontend auch: User,Userrechte und Sichten, und auch Abfragen wenn in der db.properties eingetragen"
onClick="ManagerCacheRefresh();">Gesamter Cache</button><br />
<span id="ManagerCacheStatus"></span><br />
<button class="button has-tooltip-multiline has-tooltip-right" data-tooltip="Nur XSL-Stylesheets Translet Cache leeren"
onClick="TransletCacheRefresh();">Nur Stylesheet Cache</button><br />
<span id="TransletCacheStatus"></span><br />
</article>
</div>
<div class="tile is-parent">
<article class="tile is-child box">
<p class="title">Einstellungen</p>
<p class="subtitle">der Webanwendung</p>
<p align="left">Version: <%= sxversion %><br />
Builddatum: <%= builddatum %><br />
Platform: <%= platform %><br />
Aktueller Mandant: <%= mandantenid %><br />
Installierte Mandanten: <br />
<%= finRechteInfos %>
</article>
</div>
<!--<div class="tile is-parent">
<article class="tile is-child box">
<p class="title"></p>
<p class="subtitle"></p>
</article>
</div>-->
</div>
</section>
<div class="columns">
<div class="column is-6">
</div>
<div class="column is-6">
</div>
</div>
<%
} //Ende Tiles Startseite
%>
<%
if(tab.equals("mask"))
{
%>
<section class="section">
<div class="container" id="loadMask" >
<h1 class="title" id="MaskHeader">Masken-Verwaltung</h1>
<h2 class="subtitle">
<div id="MaskSubHeader">Wählen Sie links das Masken-Menü</div>
</h2>
<div class="bd-snippet-code highlight-full ">
<figure class="highlight"><div class="buttons has-addons is-right">
<button class="button is-small is-info" onClick="copyText('Inhalt');">Kopieren</button>
</div>
<textarea id="Inhalt" name="Inhalt" class="textarea" placeholder="Inhalt..." rows="20"></textarea>
</figure>
</div>
</div>
</section>
<%
} //Ende Mask Content
%>
<%
if(tab.equals("action"))
{
%>
<section class="section">
<div class="container">
<h1 class="title" id="MaskHeader">Komponenten</h1>
<h2 class="subtitle">
<div id="MaskSubHeader">Install / Upgrade / Hauptladeroutinen / Unterladeroutinen </div>
</h2>
<div class="bd-snippet-code highlight-full ">
<figure class="highlight"><div class="buttons has-addons is-right">
<button class="button is-small is-info" onClick="copyText('Inhalt');">Kopieren</button>
</div>
<textarea id="Inhalt" class="textarea" placeholder="Inhalt..." rows="20"></textarea>
<!--<div id="Inhalt">...</div>-->
</figure>
</div>
</div>
</section>
<%
} //Ende Action Content
%>
</div>
</div>
</div>
<!--<script async type="text/javascript" src="../js/bulma.js"></script>-->
</body>
</html>

34
superx/edit/not_authenticated.htm

@ -0,0 +1,34 @@ @@ -0,0 +1,34 @@
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Not authenticated</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<base target="_self">
<LINK REL="stylesheet" type="text/css" href="../style/superx.css"/>
</head>
<body>
<div id="bg">
<div id="inhalt">
<h1>Session ist abgelaufen</h1>
<p>
<STRONG>Ihre Sitzung ist abgelaufen.</STRONG><br />
Der Server speichert ihre Benutzereingaben f&uuml;r eine gewisse Zeit, und wenn Sie regelm&auml;&szlig;ig Eingaben t&auml;tigen
wird ihre Sitzung problemlos gespeichert. Bei l&auml;ngerer Inaktivit&auml;t oder hoher Server-Last kann es jedoch passieren, dass Ihre Sitzung nicht gespeichert bleibt.
In diesem Falle m&uuml;ssen Sie sich zur <a href="../../xml/index.htm" target="_parent">Startseite</a> begeben und neu anmelden.
</P>
<div id="fuss">
<!-- /seite_empfehlen.php -->
<br /><br /><br /><br /><br /><br /><br /><br /><br /><br />
</div>
</div>
<!-- Ende Inhaltsbereich -->
<!-- Ende Linkboxen und Subnavigation dritte Ebene-->
</div>
<!-- Ende Backgroundlayer -->
<!-- -->
</body>
</html>

32
superx/edit/not_authorized.htm

@ -0,0 +1,32 @@ @@ -0,0 +1,32 @@
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Not authorized</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<base target="_self">
<LINK REL="stylesheet" type="text/css" href="../style/superx.css"/>
</head>
<body>
<div id="bg">
<div id="inhalt">
<h1>Fehlende Rechte</h1>
<p>
<STRONG>Ihre Benutzerkennung besitzt nicht die Rechte f&uuml;r diese Aktion.</STRONG><br />
Bitten wenden Sie sich an Ihren Administrator, um die Rechte zu bekommen. Melden Sie sich dann neu an auf der <a href="../../index.htm" target="_parent">Startseite</a>.
</P>
<div id="fuss">
<!-- /seite_empfehlen.php -->
<br /><br /><br /><br /><br /><br /><br /><br /><br /><br />
</div>
</div>
<!-- Ende Inhaltsbereich -->
<!-- Ende Linkboxen und Subnavigation dritte Ebene-->
</div>
<!-- Ende Backgroundlayer -->
<!-- -->
</body>
</html>

278
superx/style/bulma.css vendored

@ -705,13 +705,13 @@ a.has-text-dark:hover, a.has-text-dark:focus { @@ -705,13 +705,13 @@ a.has-text-dark:hover, a.has-text-dark:focus {
background-color: #363636 !important; }
.has-text-primary {
color: #3333cc !important; }
color: #3333ff !important; }
a.has-text-primary:hover, a.has-text-primary:focus {
color: #2929a3 !important; }
color: blue !important; }
.has-background-primary {
background-color: #3333cc !important; }
background-color: #3333ff !important; }
.has-text-link {
color: #3273dc !important; }
@ -1481,30 +1481,30 @@ a.box:active { @@ -1481,30 +1481,30 @@ a.box:active {
box-shadow: none;
color: #fff; }
.button.is-primary {
background-color: #3333cc;
background-color: #3333ff;
border-color: transparent;
color: #fff; }
.button.is-primary:hover, .button.is-primary.is-hovered {
background-color: #3030c2;
background-color: #2626ff;
border-color: transparent;
color: #fff; }
.button.is-primary:focus, .button.is-primary.is-focused {
border-color: transparent;
color: #fff; }
.button.is-primary:focus:not(:active), .button.is-primary.is-focused:not(:active) {
box-shadow: 0 0 0 0.125em rgba(51, 51, 204, 0.25); }
box-shadow: 0 0 0 0.125em rgba(51, 51, 255, 0.25); }
.button.is-primary:active, .button.is-primary.is-active {
background-color: #2e2eb8;
background-color: #1a1aff;
border-color: transparent;
color: #fff; }
.button.is-primary[disabled],
fieldset[disabled] .button.is-primary {
background-color: #3333cc;
background-color: #3333ff;
border-color: transparent;
box-shadow: none; }
.button.is-primary.is-inverted {
background-color: #fff;
color: #3333cc; }
color: #3333ff; }
.button.is-primary.is-inverted:hover, .button.is-primary.is-inverted.is-hovered {
background-color: #f2f2f2; }
.button.is-primary.is-inverted[disabled],
@ -1512,36 +1512,36 @@ a.box:active { @@ -1512,36 +1512,36 @@ a.box:active {
background-color: #fff;
border-color: transparent;
box-shadow: none;
color: #3333cc; }
color: #3333ff; }
.button.is-primary.is-loading::after {
border-color: transparent transparent #fff #fff !important; }
.button.is-primary.is-outlined {
background-color: transparent;
border-color: #3333cc;
color: #3333cc; }
border-color: #3333ff;
color: #3333ff; }
.button.is-primary.is-outlined:hover, .button.is-primary.is-outlined.is-hovered, .button.is-primary.is-outlined:focus, .button.is-primary.is-outlined.is-focused {
background-color: #3333cc;
border-color: #3333cc;
background-color: #3333ff;
border-color: #3333ff;
color: #fff; }
.button.is-primary.is-outlined.is-loading::after {
border-color: transparent transparent #3333cc #3333cc !important; }
border-color: transparent transparent #3333ff #3333ff !important; }
.button.is-primary.is-outlined.is-loading:hover::after, .button.is-primary.is-outlined.is-loading.is-hovered::after, .button.is-primary.is-outlined.is-loading:focus::after, .button.is-primary.is-outlined.is-loading.is-focused::after {
border-color: transparent transparent #fff #fff !important; }
.button.is-primary.is-outlined[disabled],
fieldset[disabled] .button.is-primary.is-outlined {
background-color: transparent;
border-color: #3333cc;
border-color: #3333ff;
box-shadow: none;
color: #3333cc; }
color: #3333ff; }
.button.is-primary.is-inverted.is-outlined {
background-color: transparent;
border-color: #fff;
color: #fff; }
.button.is-primary.is-inverted.is-outlined:hover, .button.is-primary.is-inverted.is-outlined.is-hovered, .button.is-primary.is-inverted.is-outlined:focus, .button.is-primary.is-inverted.is-outlined.is-focused {
background-color: #fff;
color: #3333cc; }
color: #3333ff; }
.button.is-primary.is-inverted.is-outlined.is-loading:hover::after, .button.is-primary.is-inverted.is-outlined.is-loading.is-hovered::after, .button.is-primary.is-inverted.is-outlined.is-loading:focus::after, .button.is-primary.is-inverted.is-outlined.is-loading.is-focused::after {
border-color: transparent transparent #3333cc #3333cc !important; }
border-color: transparent transparent #3333ff #3333ff !important; }
.button.is-primary.is-inverted.is-outlined[disabled],
fieldset[disabled] .button.is-primary.is-inverted.is-outlined {
background-color: transparent;
@ -1549,16 +1549,16 @@ a.box:active { @@ -1549,16 +1549,16 @@ a.box:active {
box-shadow: none;
color: #fff; }
.button.is-primary.is-light {
background-color: #efeffb;
color: #3b3bce; }
background-color: #ebebff;
color: blue; }
.button.is-primary.is-light:hover, .button.is-primary.is-light.is-hovered {
background-color: #e4e4f8;
background-color: #dedeff;
border-color: transparent;
color: #3b3bce; }
color: blue; }
.button.is-primary.is-light:active, .button.is-primary.is-light.is-active {
background-color: #dadaf6;
background-color: #d1d1ff;
border-color: transparent;
color: #3b3bce; }
color: blue; }
.button.is-link {
background-color: #3273dc;
border-color: transparent;
@ -2345,7 +2345,7 @@ a.box:active { @@ -2345,7 +2345,7 @@ a.box:active {
background-color: #363636;
color: #fff; }
.notification.is-primary {
background-color: #3333cc;
background-color: #3333ff;
color: #fff; }
.notification.is-link {
background-color: #3273dc;
@ -2415,13 +2415,13 @@ a.box:active { @@ -2415,13 +2415,13 @@ a.box:active {
.progress.is-dark:indeterminate {
background-image: linear-gradient(to right, #363636 30%, #ededed 30%); }
.progress.is-primary::-webkit-progress-value {
background-color: #3333cc; }
background-color: #3333ff; }
.progress.is-primary::-moz-progress-bar {
background-color: #3333cc; }
background-color: #3333ff; }
.progress.is-primary::-ms-fill {
background-color: #3333cc; }
background-color: #3333ff; }
.progress.is-primary:indeterminate {
background-image: linear-gradient(to right, #3333cc 30%, #ededed 30%); }
background-image: linear-gradient(to right, #3333ff 30%, #ededed 30%); }
.progress.is-link::-webkit-progress-value {
background-color: #3273dc; }
.progress.is-link::-moz-progress-bar {
@ -2520,8 +2520,8 @@ a.box:active { @@ -2520,8 +2520,8 @@ a.box:active {
color: #fff; }
.table td.is-primary,
.table th.is-primary {
background-color: #3333cc;
border-color: #3333cc;
background-color: #3333ff;
border-color: #3333ff;
color: #fff; }
.table td.is-link,
.table th.is-link {
@ -2554,7 +2554,7 @@ a.box:active { @@ -2554,7 +2554,7 @@ a.box:active {
width: 1%; }
.table td.is-selected,
.table th.is-selected {
background-color: #3333cc;
background-color: #3333ff;
color: #fff; }
.table td.is-selected a,
.table td.is-selected strong,
@ -2566,7 +2566,7 @@ a.box:active { @@ -2566,7 +2566,7 @@ a.box:active {
.table th:not([align]) {
text-align: left; }
.table tr.is-selected {
background-color: #3333cc;
background-color: #3333ff;
color: #fff; }
.table tr.is-selected a,
.table tr.is-selected strong {
@ -2685,11 +2685,11 @@ a.box:active { @@ -2685,11 +2685,11 @@ a.box:active {
background-color: #363636;
color: #fff; }
.tag:not(body).is-primary {
background-color: #3333cc;
background-color: #3333ff;
color: #fff; }
.tag:not(body).is-primary.is-light {
background-color: #efeffb;
color: #3b3bce; }
background-color: #ebebff;
color: blue; }
.tag:not(body).is-link {
background-color: #3273dc;
color: #fff; }
@ -2940,9 +2940,9 @@ a.tag:hover { @@ -2940,9 +2940,9 @@ a.tag:hover {
.is-dark.input:focus, .is-dark.textarea:focus, .is-dark.is-focused.input, .is-dark.is-focused.textarea, .is-dark.input:active, .is-dark.textarea:active, .is-dark.is-active.input, .is-dark.is-active.textarea {
box-shadow: 0 0 0 0.125em rgba(54, 54, 54, 0.25); }
.is-primary.input, .is-primary.textarea {
border-color: #3333cc; }
border-color: #3333ff; }
.is-primary.input:focus, .is-primary.textarea:focus, .is-primary.is-focused.input, .is-primary.is-focused.textarea, .is-primary.input:active, .is-primary.textarea:active, .is-primary.is-active.input, .is-primary.is-active.textarea {
box-shadow: 0 0 0 0.125em rgba(51, 51, 204, 0.25); }
box-shadow: 0 0 0 0.125em rgba(51, 51, 255, 0.25); }
.is-link.input, .is-link.textarea {
border-color: #3273dc; }
.is-link.input:focus, .is-link.textarea:focus, .is-link.is-focused.input, .is-link.is-focused.textarea, .is-link.input:active, .is-link.textarea:active, .is-link.is-active.input, .is-link.is-active.textarea {
@ -3088,13 +3088,13 @@ a.tag:hover { @@ -3088,13 +3088,13 @@ a.tag:hover {
.select.is-dark select:focus, .select.is-dark select.is-focused, .select.is-dark select:active, .select.is-dark select.is-active {
box-shadow: 0 0 0 0.125em rgba(54, 54, 54, 0.25); }
.select.is-primary:not(:hover)::after {
border-color: #3333cc; }
border-color: #3333ff; }
.select.is-primary select {
border-color: #3333cc; }
border-color: #3333ff; }
.select.is-primary select:hover, .select.is-primary select.is-hovered {
border-color: #2e2eb8; }
border-color: #1a1aff; }
.select.is-primary select:focus, .select.is-primary select.is-focused, .select.is-primary select:active, .select.is-primary select.is-active {
box-shadow: 0 0 0 0.125em rgba(51, 51, 204, 0.25); }
box-shadow: 0 0 0 0.125em rgba(51, 51, 255, 0.25); }
.select.is-link:not(:hover)::after {
border-color: #3273dc; }
.select.is-link select {
@ -3231,19 +3231,19 @@ a.tag:hover { @@ -3231,19 +3231,19 @@ a.tag:hover {
border-color: transparent;
color: #fff; }
.file.is-primary .file-cta {
background-color: #3333cc;
background-color: #3333ff;
border-color: transparent;
color: #fff; }
.file.is-primary:hover .file-cta, .file.is-primary.is-hovered .file-cta {
background-color: #3030c2;
background-color: #2626ff;
border-color: transparent;
color: #fff; }
.file.is-primary:focus .file-cta, .file.is-primary.is-focused .file-cta {
border-color: transparent;
box-shadow: 0 0 0.5em rgba(51, 51, 204, 0.25);
box-shadow: 0 0 0.5em rgba(51, 51, 255, 0.25);
color: #fff; }
.file.is-primary:active .file-cta, .file.is-primary.is-active .file-cta {
background-color: #2e2eb8;
background-color: #1a1aff;
border-color: transparent;
color: #fff; }
.file.is-link .file-cta {
@ -3473,7 +3473,7 @@ a.tag:hover { @@ -3473,7 +3473,7 @@ a.tag:hover {
.help.is-dark {
color: #363636; }
.help.is-primary {
color: #3333cc; }
color: #3333ff; }
.help.is-link {
color: #3273dc; }
.help.is-info {
@ -4004,7 +4004,7 @@ a.list-item { @@ -4004,7 +4004,7 @@ a.list-item {
background-color: whitesmoke;
color: #363636; }
.menu-list a.is-active {
background-color: #3333cc;
background-color: #3273dc;
color: #fff; }
.menu-list li ul {
border-left: 1px solid #dbdbdb;
@ -4065,13 +4065,13 @@ a.list-item { @@ -4065,13 +4065,13 @@ a.list-item {
.message.is-dark .message-body {
border-color: #363636; }
.message.is-primary {
background-color: #efeffb; }
background-color: #ebebff; }
.message.is-primary .message-header {
background-color: #3333cc;
background-color: #3333ff;
color: #fff; }
.message.is-primary .message-body {
border-color: #3333cc;
color: #3b3bce; }
border-color: #3333ff;
color: blue; }
.message.is-link {
background-color: #eef3fc; }
.message.is-link .message-header {
@ -4412,7 +4412,7 @@ a.list-item { @@ -4412,7 +4412,7 @@ a.list-item {
background-color: #363636;
color: #fff; } }
.navbar.is-primary {
background-color: #3333cc;
background-color: #3333ff;
color: #fff; }
.navbar.is-primary .navbar-brand > .navbar-item,
.navbar.is-primary .navbar-brand .navbar-link {
@ -4421,7 +4421,7 @@ a.list-item { @@ -4421,7 +4421,7 @@ a.list-item {
.navbar.is-primary .navbar-brand .navbar-link:focus,
.navbar.is-primary .navbar-brand .navbar-link:hover,
.navbar.is-primary .navbar-brand .navbar-link.is-active {
background-color: #2e2eb8;
background-color: #1a1aff;
color: #fff; }
.navbar.is-primary .navbar-brand .navbar-link::after {
border-color: #fff; }
@ -4443,7 +4443,7 @@ a.list-item { @@ -4443,7 +4443,7 @@ a.list-item {
.navbar.is-primary .navbar-end .navbar-link:focus,
.navbar.is-primary .navbar-end .navbar-link:hover,
.navbar.is-primary .navbar-end .navbar-link.is-active {
background-color: #2e2eb8;
background-color: #1a1aff;
color: #fff; }
.navbar.is-primary .navbar-start .navbar-link::after,
.navbar.is-primary .navbar-end .navbar-link::after {
@ -4451,10 +4451,10 @@ a.list-item { @@ -4451,10 +4451,10 @@ a.list-item {
.navbar.is-primary .navbar-item.has-dropdown:focus .navbar-link,
.navbar.is-primary .navbar-item.has-dropdown:hover .navbar-link,
.navbar.is-primary .navbar-item.has-dropdown.is-active .navbar-link {
background-color: #2e2eb8;
background-color: #1a1aff;
color: #fff; }
.navbar.is-primary .navbar-dropdown a.navbar-item.is-active {
background-color: #3333cc;
background-color: #3333ff;
color: #fff; } }
.navbar.is-link {
background-color: #3273dc;
@ -5172,12 +5172,12 @@ a.navbar-item, @@ -5172,12 +5172,12 @@ a.navbar-item,
.panel.is-dark .panel-block.is-active .panel-icon {
color: #363636; }
.panel.is-primary .panel-heading {
background-color: #3333cc;
background-color: #3333ff;
color: #fff; }
.panel.is-primary .panel-tabs a.is-active {
border-bottom-color: #3333cc; }
border-bottom-color: #3333ff; }
.panel.is-primary .panel-block.is-active .panel-icon {
color: #3333cc; }
color: #3333ff; }
.panel.is-link .panel-heading {
background-color: #3273dc;
color: #fff; }
@ -6765,7 +6765,7 @@ label.panel-block { @@ -6765,7 +6765,7 @@ label.panel-block {
.hero.is-dark.is-bold .navbar-menu {
background-image: linear-gradient(141deg, #1f191a 0%, #363636 71%, #46403f 100%); } }
.hero.is-primary {
background-color: #3333cc;
background-color: #3333ff;
color: #fff; }
.hero.is-primary a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),
.hero.is-primary strong {
@ -6779,14 +6779,14 @@ label.panel-block { @@ -6779,14 +6779,14 @@ label.panel-block {
color: #fff; }
@media screen and (max-width: 1023px) {
.hero.is-primary .navbar-menu {
background-color: #3333cc; } }
background-color: #3333ff; } }
.hero.is-primary .navbar-item,
.hero.is-primary .navbar-link {
color: rgba(255, 255, 255, 0.7); }
.hero.is-primary a.navbar-item:hover, .hero.is-primary a.navbar-item.is-active,
.hero.is-primary .navbar-link:hover,
.hero.is-primary .navbar-link.is-active {
background-color: #2e2eb8;
background-color: #1a1aff;
color: #fff; }
.hero.is-primary .tabs a {
color: #fff;
@ -6802,12 +6802,12 @@ label.panel-block { @@ -6802,12 +6802,12 @@ label.panel-block {
.hero.is-primary .tabs.is-boxed li.is-active a, .hero.is-primary .tabs.is-boxed li.is-active a:hover, .hero.is-primary .tabs.is-toggle li.is-active a, .hero.is-primary .tabs.is-toggle li.is-active a:hover {
background-color: #fff;
border-color: #fff;
color: #3333cc; }
color: #3333ff; }
.hero.is-primary.is-bold {
background-image: linear-gradient(141deg, #1f36ad 0%, #3333cc 71%, #5b42d7 100%); }
background-image: linear-gradient(141deg, #002bff 0%, #3333ff 71%, #6a4dff 100%); }
@media screen and (max-width: 768px) {
.hero.is-primary.is-bold .navbar-menu {
background-image: linear-gradient(141deg, #1f36ad 0%, #3333cc 71%, #5b42d7 100%); } }
background-image: linear-gradient(141deg, #002bff 0%, #3333ff 71%, #6a4dff 100%); } }
.hero.is-link {
background-color: #3273dc;
color: #fff; }
@ -7808,13 +7808,13 @@ a.has-text-dark:hover, a.has-text-dark:focus { @@ -7808,13 +7808,13 @@ a.has-text-dark:hover, a.has-text-dark:focus {
background-color: #363636 !important; }
.has-text-primary {
color: #3333cc !important; }
color: #3333ff !important; }
a.has-text-primary:hover, a.has-text-primary:focus {
color: #2929a3 !important; }
color: blue !important; }
.has-background-primary {
background-color: #3333cc !important; }
background-color: #3333ff !important; }
.has-text-link {
color: #3273dc !important; }
@ -8584,30 +8584,30 @@ a.box:active { @@ -8584,30 +8584,30 @@ a.box:active {
box-shadow: none;
color: #fff; }
.button.is-primary {
background-color: #3333cc;
background-color: #3333ff;
border-color: transparent;
color: #fff; }
.button.is-primary:hover, .button.is-primary.is-hovered {
background-color: #3030c2;
background-color: #2626ff;
border-color: transparent;
color: #fff; }
.button.is-primary:focus, .button.is-primary.is-focused {
border-color: transparent;
color: #fff; }
.button.is-primary:focus:not(:active), .button.is-primary.is-focused:not(:active) {
box-shadow: 0 0 0 0.125em rgba(51, 51, 204, 0.25); }
box-shadow: 0 0 0 0.125em rgba(51, 51, 255, 0.25); }
.button.is-primary:active, .button.is-primary.is-active {
background-color: #2e2eb8;
background-color: #1a1aff;
border-color: transparent;
color: #fff; }
.button.is-primary[disabled],
fieldset[disabled] .button.is-primary {
background-color: #3333cc;
background-color: #3333ff;
border-color: transparent;
box-shadow: none; }
.button.is-primary.is-inverted {
background-color: #fff;
color: #3333cc; }
color: #3333ff; }
.button.is-primary.is-inverted:hover, .button.is-primary.is-inverted.is-hovered {
background-color: #f2f2f2; }
.button.is-primary.is-inverted[disabled],
@ -8615,36 +8615,36 @@ a.box:active { @@ -8615,36 +8615,36 @@ a.box:active {
background-color: #fff;
border-color: transparent;
box-shadow: none;
color: #3333cc; }
color: #3333ff; }
.button.is-primary.is-loading::after {
border-color: transparent transparent #fff #fff !important; }
.button.is-primary.is-outlined {
background-color: transparent;
border-color: #3333cc;
color: #3333cc; }
border-color: #3333ff;
color: #3333ff; }
.button.is-primary.is-outlined:hover, .button.is-primary.is-outlined.is-hovered, .button.is-primary.is-outlined:focus, .button.is-primary.is-outlined.is-focused {
background-color: #3333cc;
border-color: #3333cc;
background-color: #3333ff;
border-color: #3333ff;
color: #fff; }
.button.is-primary.is-outlined.is-loading::after {
border-color: transparent transparent #3333cc #3333cc !important; }
border-color: transparent transparent #3333ff #3333ff !important; }
.button.is-primary.is-outlined.is-loading:hover::after, .button.is-primary.is-outlined.is-loading.is-hovered::after, .button.is-primary.is-outlined.is-loading:focus::after, .button.is-primary.is-outlined.is-loading.is-focused::after {
border-color: transparent transparent #fff #fff !important; }
.button.is-primary.is-outlined[disabled],
fieldset[disabled] .button.is-primary.is-outlined {
background-color: transparent;
border-color: #3333cc;
border-color: #3333ff;
box-shadow: none;
color: #3333cc; }
color: #3333ff; }
.button.is-primary.is-inverted.is-outlined {
background-color: transparent;
border-color: #fff;
color: #fff; }
.button.is-primary.is-inverted.is-outlined:hover, .button.is-primary.is-inverted.is-outlined.is-hovered, .button.is-primary.is-inverted.is-outlined:focus, .button.is-primary.is-inverted.is-outlined.is-focused {
background-color: #fff;
color: #3333cc; }
color: #3333ff; }
.button.is-primary.is-inverted.is-outlined.is-loading:hover::after, .button.is-primary.is-inverted.is-outlined.is-loading.is-hovered::after, .button.is-primary.is-inverted.is-outlined.is-loading:focus::after, .button.is-primary.is-inverted.is-outlined.is-loading.is-focused::after {
border-color: transparent transparent #3333cc #3333cc !important; }
border-color: transparent transparent #3333ff #3333ff !important; }
.button.is-primary.is-inverted.is-outlined[disabled],
fieldset[disabled] .button.is-primary.is-inverted.is-outlined {
background-color: transparent;
@ -8652,16 +8652,16 @@ a.box:active { @@ -8652,16 +8652,16 @@ a.box:active {
box-shadow: none;
color: #fff; }
.button.is-primary.is-light {
background-color: #efeffb;
color: #3b3bce; }
background-color: #ebebff;
color: blue; }
.button.is-primary.is-light:hover, .button.is-primary.is-light.is-hovered {
background-color: #e4e4f8;
background-color: #dedeff;
border-color: transparent;
color: #3b3bce; }
color: blue; }
.button.is-primary.is-light:active, .button.is-primary.is-light.is-active {
background-color: #dadaf6;
background-color: #d1d1ff;
border-color: transparent;
color: #3b3bce; }
color: blue; }
.button.is-link {
background-color: #3273dc;
border-color: transparent;
@ -9448,7 +9448,7 @@ a.box:active { @@ -9448,7 +9448,7 @@ a.box:active {
background-color: #363636;
color: #fff; }
.notification.is-primary {
background-color: #3333cc;
background-color: #3333ff;
color: #fff; }
.notification.is-link {
background-color: #3273dc;
@ -9518,13 +9518,13 @@ a.box:active { @@ -9518,13 +9518,13 @@ a.box:active {
.progress.is-dark:indeterminate {
background-image: linear-gradient(to right, #363636 30%, #ededed 30%); }
.progress.is-primary::-webkit-progress-value {
background-color: #3333cc; }
background-color: #3333ff; }
.progress.is-primary::-moz-progress-bar {
background-color: #3333cc; }
background-color: #3333ff; }
.progress.is-primary::-ms-fill {
background-color: #3333cc; }
background-color: #3333ff; }
.progress.is-primary:indeterminate {
background-image: linear-gradient(to right, #3333cc 30%, #ededed 30%); }
background-image: linear-gradient(to right, #3333ff 30%, #ededed 30%); }
.progress.is-link::-webkit-progress-value {
background-color: #3273dc; }
.progress.is-link::-moz-progress-bar {
@ -9623,8 +9623,8 @@ a.box:active { @@ -9623,8 +9623,8 @@ a.box:active {
color: #fff; }
.table td.is-primary,
.table th.is-primary {
background-color: #3333cc;
border-color: #3333cc;
background-color: #3333ff;
border-color: #3333ff;
color: #fff; }
.table td.is-link,
.table th.is-link {
@ -9657,7 +9657,7 @@ a.box:active { @@ -9657,7 +9657,7 @@ a.box:active {
width: 1%; }
.table td.is-selected,
.table th.is-selected {
background-color: #3333cc;
background-color: #3333ff;
color: #fff; }
.table td.is-selected a,
.table td.is-selected strong,
@ -9669,7 +9669,7 @@ a.box:active { @@ -9669,7 +9669,7 @@ a.box:active {
.table th:not([align]) {
text-align: left; }
.table tr.is-selected {
background-color: #3333cc;
background-color: #3333ff;
color: #fff; }
.table tr.is-selected a,
.table tr.is-selected strong {
@ -9788,11 +9788,11 @@ a.box:active { @@ -9788,11 +9788,11 @@ a.box:active {
background-color: #363636;
color: #fff; }
.tag:not(body).is-primary {
background-color: #3333cc;
background-color: #3333ff;
color: #fff; }
.tag:not(body).is-primary.is-light {
background-color: #efeffb;
color: #3b3bce; }
background-color: #ebebff;
color: blue; }
.tag:not(body).is-link {
background-color: #3273dc;
color: #fff; }
@ -10043,9 +10043,9 @@ a.tag:hover { @@ -10043,9 +10043,9 @@ a.tag:hover {
.is-dark.input:focus, .is-dark.textarea:focus, .is-dark.is-focused.input, .is-dark.is-focused.textarea, .is-dark.input:active, .is-dark.textarea:active, .is-dark.is-active.input, .is-dark.is-active.textarea {
box-shadow: 0 0 0 0.125em rgba(54, 54, 54, 0.25); }
.is-primary.input, .is-primary.textarea {
border-color: #3333cc; }
border-color: #3333ff; }
.is-primary.input:focus, .is-primary.textarea:focus, .is-primary.is-focused.input, .is-primary.is-focused.textarea, .is-primary.input:active, .is-primary.textarea:active, .is-primary.is-active.input, .is-primary.is-active.textarea {
box-shadow: 0 0 0 0.125em rgba(51, 51, 204, 0.25); }
box-shadow: 0 0 0 0.125em rgba(51, 51, 255, 0.25); }
.is-link.input, .is-link.textarea {
border-color: #3273dc; }
.is-link.input:focus, .is-link.textarea:focus, .is-link.is-focused.input, .is-link.is-focused.textarea, .is-link.input:active, .is-link.textarea:active, .is-link.is-active.input, .is-link.is-active.textarea {
@ -10191,13 +10191,13 @@ a.tag:hover { @@ -10191,13 +10191,13 @@ a.tag:hover {
.select.is-dark select:focus, .select.is-dark select.is-focused, .select.is-dark select:active, .select.is-dark select.is-active {
box-shadow: 0 0 0 0.125em rgba(54, 54, 54, 0.25); }
.select.is-primary:not(:hover)::after {
border-color: #3333cc; }
border-color: #3333ff; }
.select.is-primary select {
border-color: #3333cc; }
border-color: #3333ff; }
.select.is-primary select:hover, .select.is-primary select.is-hovered {
border-color: #2e2eb8; }
border-color: #1a1aff; }
.select.is-primary select:focus, .select.is-primary select.is-focused, .select.is-primary select:active, .select.is-primary select.is-active {
box-shadow: 0 0 0 0.125em rgba(51, 51, 204, 0.25); }
box-shadow: 0 0 0 0.125em rgba(51, 51, 255, 0.25); }
.select.is-link:not(:hover)::after {
border-color: #3273dc; }
.select.is-link select {
@ -10334,19 +10334,19 @@ a.tag:hover { @@ -10334,19 +10334,19 @@ a.tag:hover {
border-color: transparent;
color: #fff; }
.file.is-primary .file-cta {
background-color: #3333cc;
background-color: #3333ff;
border-color: transparent;
color: #fff; }
.file.is-primary:hover .file-cta, .file.is-primary.is-hovered .file-cta {
background-color: #3030c2;
background-color: #2626ff;
border-color: transparent;
color: #fff; }
.file.is-primary:focus .file-cta, .file.is-primary.is-focused .file-cta {
border-color: transparent;
box-shadow: 0 0 0.5em rgba(51, 51, 204, 0.25);
box-shadow: 0 0 0.5em rgba(51, 51, 255, 0.25);
color: #fff; }
.file.is-primary:active .file-cta, .file.is-primary.is-active .file-cta {
background-color: #2e2eb8;
background-color: #1a1aff;
border-color: transparent;
color: #fff; }
.file.is-link .file-cta {
@ -10576,7 +10576,7 @@ a.tag:hover { @@ -10576,7 +10576,7 @@ a.tag:hover {
.help.is-dark {
color: #363636; }
.help.is-primary {
color: #3333cc; }
color: #3333ff; }
.help.is-link {
color: #3273dc; }
.help.is-info {
@ -11107,7 +11107,7 @@ a.list-item { @@ -11107,7 +11107,7 @@ a.list-item {
background-color: whitesmoke;
color: #363636; }
.menu-list a.is-active {
background-color: #3333cc;
background-color: #3273dc;
color: #fff; }
.menu-list li ul {
border-left: 1px solid #dbdbdb;
@ -11168,13 +11168,13 @@ a.list-item { @@ -11168,13 +11168,13 @@ a.list-item {
.message.is-dark .message-body {
border-color: #363636; }
.message.is-primary {
background-color: #efeffb; }
background-color: #ebebff; }
.message.is-primary .message-header {
background-color: #3333cc;
background-color: #3333ff;
color: #fff; }
.message.is-primary .message-body {
border-color: #3333cc;
color: #3b3bce; }
border-color: #3333ff;
color: blue; }
.message.is-link {
background-color: #eef3fc; }
.message.is-link .message-header {
@ -11515,7 +11515,7 @@ a.list-item { @@ -11515,7 +11515,7 @@ a.list-item {
background-color: #363636;
color: #fff; } }
.navbar.is-primary {
background-color: #3333cc;
background-color: #3333ff;
color: #fff; }
.navbar.is-primary .navbar-brand > .navbar-item,
.navbar.is-primary .navbar-brand .navbar-link {
@ -11524,7 +11524,7 @@ a.list-item { @@ -11524,7 +11524,7 @@ a.list-item {
.navbar.is-primary .navbar-brand .navbar-link:focus,
.navbar.is-primary .navbar-brand .navbar-link:hover,
.navbar.is-primary .navbar-brand .navbar-link.is-active {
background-color: #2e2eb8;
background-color: #1a1aff;
color: #fff; }
.navbar.is-primary .navbar-brand .navbar-link::after {
border-color: #fff; }
@ -11546,7 +11546,7 @@ a.list-item { @@ -11546,7 +11546,7 @@ a.list-item {
.navbar.is-primary .navbar-end .navbar-link:focus,
.navbar.is-primary .navbar-end .navbar-link:hover,
.navbar.is-primary .navbar-end .navbar-link.is-active {
background-color: #2e2eb8;
background-color: #1a1aff;
color: #fff; }
.navbar.is-primary .navbar-start .navbar-link::after,
.navbar.is-primary .navbar-end .navbar-link::after {
@ -11554,10 +11554,10 @@ a.list-item { @@ -11554,10 +11554,10 @@ a.list-item {
.navbar.is-primary .navbar-item.has-dropdown:focus .navbar-link,
.navbar.is-primary .navbar-item.has-dropdown:hover .navbar-link,
.navbar.is-primary .navbar-item.has-dropdown.is-active .navbar-link {
background-color: #2e2eb8;
background-color: #1a1aff;
color: #fff; }
.navbar.is-primary .navbar-dropdown a.navbar-item.is-active {
background-color: #3333cc;
background-color: #3333ff;
color: #fff; } }
.navbar.is-link {
background-color: #3273dc;
@ -12275,12 +12275,12 @@ a.navbar-item, @@ -12275,12 +12275,12 @@ a.navbar-item,
.panel.is-dark .panel-block.is-active .panel-icon {
color: #363636; }
.panel.is-primary .panel-heading {
background-color: #3333cc;
background-color: #3333ff;
color: #fff; }
.panel.is-primary .panel-tabs a.is-active {
border-bottom-color: #3333cc; }
border-bottom-color: #3333ff; }
.panel.is-primary .panel-block.is-active .panel-icon {
color: #3333cc; }
color: #3333ff; }
.panel.is-link .panel-heading {
background-color: #3273dc;
color: #fff; }
@ -13868,7 +13868,7 @@ label.panel-block { @@ -13868,7 +13868,7 @@ label.panel-block {
.hero.is-dark.is-bold .navbar-menu {
background-image: linear-gradient(141deg, #1f191a 0%, #363636 71%, #46403f 100%); } }
.hero.is-primary {
background-color: #3333cc;
background-color: #3333ff;
color: #fff; }
.hero.is-primary a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),
.hero.is-primary strong {
@ -13882,14 +13882,14 @@ label.panel-block { @@ -13882,14 +13882,14 @@ label.panel-block {
color: #fff; }
@media screen and (max-width: 1023px) {
.hero.is-primary .navbar-menu {
background-color: #3333cc; } }
background-color: #3333ff; } }
.hero.is-primary .navbar-item,
.hero.is-primary .navbar-link {
color: rgba(255, 255, 255, 0.7); }
.hero.is-primary a.navbar-item:hover, .hero.is-primary a.navbar-item.is-active,
.hero.is-primary .navbar-link:hover,
.hero.is-primary .navbar-link.is-active {
background-color: #2e2eb8;
background-color: #1a1aff;
color: #fff; }
.hero.is-primary .tabs a {
color: #fff;
@ -13905,12 +13905,12 @@ label.panel-block { @@ -13905,12 +13905,12 @@ label.panel-block {
.hero.is-primary .tabs.is-boxed li.is-active a, .hero.is-primary .tabs.is-boxed li.is-active a:hover, .hero.is-primary .tabs.is-toggle li.is-active a, .hero.is-primary .tabs.is-toggle li.is-active a:hover {
background-color: #fff;
border-color: #fff;
color: #3333cc; }
color: #3333ff; }
.hero.is-primary.is-bold {
background-image: linear-gradient(141deg, #1f36ad 0%, #3333cc 71%, #5b42d7 100%); }
background-image: linear-gradient(141deg, #002bff 0%, #3333ff 71%, #6a4dff 100%); }
@media screen and (max-width: 768px) {
.hero.is-primary.is-bold .navbar-menu {
background-image: linear-gradient(141deg, #1f36ad 0%, #3333cc 71%, #5b42d7 100%); } }
background-image: linear-gradient(141deg, #002bff 0%, #3333ff 71%, #6a4dff 100%); } }
.hero.is-link {
background-color: #3273dc;
color: #fff; }
@ -14356,15 +14356,15 @@ label.panel-block { @@ -14356,15 +14356,15 @@ label.panel-block {
background-color: rgba(54, 54, 54, 0.9);
color: #fff; }
[data-tooltip]:not(.is-loading).has-tooltip-primary.has-tooltip-bottom::after, [data-tooltip]:not(.is-disabled).has-tooltip-primary.has-tooltip-bottom::after, [data-tooltip]:not([disabled]).has-tooltip-primary.has-tooltip-bottom::after {
border-color: transparent transparent rgba(51, 51, 204, 0.9) transparent; }
border-color: transparent transparent rgba(51, 51, 255, 0.9) transparent; }
[data-tooltip]:not(.is-loading).has-tooltip-primary.has-tooltip-left::after, [data-tooltip]:not(.is-disabled).has-tooltip-primary.has-tooltip-left::after, [data-tooltip]:not([disabled]).has-tooltip-primary.has-tooltip-left::after {
border-color: transparent transparent transparent rgba(51, 51, 204, 0.9); }
border-color: transparent transparent transparent rgba(51, 51, 255, 0.9); }
[data-tooltip]:not(.is-loading).has-tooltip-primary.has-tooltip-right::after, [data-tooltip]:not(.is-disabled).has-tooltip-primary.has-tooltip-right::after, [data-tooltip]:not([disabled]).has-tooltip-primary.has-tooltip-right::after {
border-color: transparent rgba(51, 51, 204, 0.9) transparent transparent; }
border-color: transparent rgba(51, 51, 255, 0.9) transparent transparent; }
[data-tooltip]:not(.is-loading).has-tooltip-primary:not(.has-tooltip-bottom)::after, [data-tooltip]:not(.is-loading).has-tooltip-primary:not(.has-tooltip-left)::after, [data-tooltip]:not(.is-loading).has-tooltip-primary:not(.has-tooltip-right)::after, [data-tooltip]:not(.is-disabled).has-tooltip-primary:not(.has-tooltip-bottom)::after, [data-tooltip]:not(.is-disabled).has-tooltip-primary:not(.has-tooltip-left)::after, [data-tooltip]:not(.is-disabled).has-tooltip-primary:not(.has-tooltip-right)::after, [data-tooltip]:not([disabled]).has-tooltip-primary:not(.has-tooltip-bottom)::after, [data-tooltip]:not([disabled]).has-tooltip-primary:not(.has-tooltip-left)::after, [data-tooltip]:not([disabled]).has-tooltip-primary:not(.has-tooltip-right)::after {
border-color: rgba(51, 51, 204, 0.9) transparent transparent transparent; }
border-color: rgba(51, 51, 255, 0.9) transparent transparent transparent; }
[data-tooltip]:not(.is-loading).has-tooltip-primary:before, [data-tooltip]:not(.is-disabled).has-tooltip-primary:before, [data-tooltip]:not([disabled]).has-tooltip-primary:before {
background-color: rgba(51, 51, 204, 0.9);
background-color: rgba(51, 51, 255, 0.9);
color: #fff; }
[data-tooltip]:not(.is-loading).has-tooltip-link.has-tooltip-bottom::after, [data-tooltip]:not(.is-disabled).has-tooltip-link.has-tooltip-bottom::after, [data-tooltip]:not([disabled]).has-tooltip-link.has-tooltip-bottom::after {
border-color: transparent transparent rgba(50, 115, 220, 0.9) transparent; }

5
superx/style/fas.js

File diff suppressed because one or more lines are too long

4
superx/style/font-awesome.min.css vendored

File diff suppressed because one or more lines are too long

130
superx/style/sx_common.css

@ -0,0 +1,130 @@ @@ -0,0 +1,130 @@
/*Basics*/
div.columns { margin-top: 1px; } /*für Abstand zum oberen Seitenrand*/
body { /*für Seiteninhalt*/
display: flex;
flex-flow: column;
min-hight: 100vh; min-hight: -webkit-fill-available;
margin: 0.1rem; }
.title, .subtitle, .label, .subdir-button, .stb-button, .supplement, .navbar-item, .navbar-dropdown, .bottom-nav, .button, .breadcrumb, .legende, .dontprint, .panel-block, .panel-tabs {
color: hsl(0, 0%, 21%); /*für Schrift in diversen Elementen*/
font-family: sans-serif;
font-weight: normal;
font-size: 0.9rem; }
.breadcrumb.has-path-separator li + li::before { /*für Breadcumb-Separator*/
content: ">"; }
.box, .card { /*Box für Pfad, Buttonleiste bzw. Menü-Kacheln; Card für Formulare, Ergebnistabellen*/
background: ; /*wird weiß dargestellt, wenn nix anderes festgelegt ist*/;
box-shadow: none; }
.input::-moz-placeholder, .textarea::-moz-placeholder, .select select::-moz-placeholder {
color: grey /*rgba(54, 54, 54, 0.3)*/; }
.input:-ms-input-placeholder, .textarea:-ms-input-placeholder, .select select:-ms-input-placeholder {
color: grey /*(54, 54, 54, 0.3);*/; }
/*NavPanel*/
.navpanel {
position: static /* damit NavPanel in kl. Viewport nicht am oberen BS-Rand klebt*/
padding: 0; }
.navpanel ul { /*für gesamtes NavPanel*/
display: flex;
flex-flow: column;
list-style: none;
padding: 0;
background: inherit; }
.navpanel ul { /*zum Ausblenden gesamten NavPanels*/
display: none; }
.navpanel a { /*für Nav-Element*/
display: flex;
text-decoration: none;
background: white;
width: auto;
padding: 0rem 0rem; /*für Innenraumplatz um Text ob/un + re/li*/
margin-left: 0rem; } /*für Außenabstand*/
.navpanel a:hover, .navpanel a:focus { /*für angetipptes Element*/
background: inherit;
color: inherit; }
.current a { background: inherit; color: black; } /*für current-Element*/
.active { background: inherit; color: black; } /*für panel-item-active"*/
.panel-block {
display: flex;
width: auto;
margin-left: 5.0%; }
.panel-tabs { /*für PanelTab-Zeile (= Funktionsfeldzeile)*/
display: flex;
flex-flow: row nowrap;
justify-content: space-evenly;
margin-left: 0.5%;
padding: 1rem 0rem 1rem 1.3rem; } /*für Padding: ob re un li*/
.panel-tabs a { /*für PanelTab-Element (= Funktionsfelde)*/
display: flex;
flex-flow: row nowrap;
/*padding: 0.3rem;*/
background-color: whitesmoke; }
.panel-item { /*für rechtsbündige Icons*/
display: flex;
flex: 1; } /*für gleichgroße Icons*/
.shownavpanel + ul {
display: flex;
flex-flow: column;
max-height: 600rem;
transition: 500ms;
overflow: initial; }
.shownavpanel.menubutton::before { /*für Close-Buttonanzeige*/
display: flex;
content: url(../images/close.svg);
width: 1.0rem; /*funkt, da menubutton=flex-container statt inlineBox (wg. Pseudoelent ::before/afer)*/
height: 1.0rem; } /*funkt, da menubutton=flex-container statt inlineBox (wg. Pseudoelent ::before/afer)*/
.menubutton {
display: flex;
background: inherit;
padding: 0.3rem 0.5rem 0rem 0.8rem; /*für Padding: ob re un li*/
border: 0;
margin: 0rem 0.8rem 0.8rem 0.8rem; } /*für Randabstand: ob re un li*/
.menubutton::before { /*für Burger-Buttonanzeige*/
display: flex;
content: url(../images/burger.svg);
width: 1rem; /*funkt, weil menubutton=flex-container statt inlineBox, wg. Pseudoelent ::before)*/
height: 1rem; } /*funkt, weil menubutton=flex-container statt inlineBox, wg. Pseudoelent ::before)*/
/*Top-, BottomNav*/
.navbar {
display: flex;
flex-flow: row wrap; }
.navbar-end {
display: flex; }
.bottom-nav { /*für Bottomnav*/
display: flex;
padding: 7px;
height: 2em;
flex-flow: row nowrap;
justify-content: center; }
.bottom-nav li { /*für Bottomnav-Liste*/
display: flex;
flex: 1;
align-items: center;
justify-content: space-evenly; }

688
superx/xml/jr_templates.xsl

@ -1,688 +0,0 @@ @@ -1,688 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns="http://jasperreports.sourceforge.net/jasperreports">
<xsl:param name="font" select="'Liberation Sans'" /><!--TODO {$font} als style-->
<xsl:template name="generateJasperReport">
<xsl:param name="isMainReport" select="'true'" />
<xsl:param name="ergebniselementOrdnr" select="0" />
<xsl:param name="druckbreite" select="812" />
<xsl:param name="seitenbreite" select="842" />
<xsl:param name="seitenhoehe" select="595" />
<xsl:param name="seitenrand" select="12" />
<xsl:param name="isIgnorePagination" select="'true'" />
<xsl:param name="orientation" select="'Landscape'" />
<xsl:param name="stylesFile" select="'simple_table.jrtx'" />
<xsl:param name="font" select="'Liberation Sans'" /><!--TODO Arial als style-->
<!--Die Breite der Tabelle in pixel bei A4 Querformat:-->
<!-- Wenn keine Spaltenbreite definiert ist, wird 12 (Einheit Applet-Breite) verwendet. -->
<xsl:param name="std_spaltenbreite" select="'12'" />
<xsl:param name="std_zeilenhoehe_header" select="30" />
<jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd"
name="{/ergebnisse/ergebnis[@ordnr=$ergebniselementOrdnr]/maskenname}"
language="groovy"
pageWidth="{$seitenbreite}"
pageHeight="{$seitenhoehe}"
orientation="{$orientation}"
columnWidth="{$druckbreite}"
leftMargin="{$seitenrand}"
rightMargin="{$seitenrand}"
topMargin="{$seitenrand}"
bottomMargin="{$seitenrand}"
isIgnorePagination="{$isIgnorePagination}" >
<xsl:call-template name="jr_properties" />
<property name="net.sf.jasperreports.export.xls.exclude.origin.band.1" value="pageHeader"/>
<property name="net.sf.jasperreports.export.xls.exclude.origin.band.2" value="pageFooter"/>
<property name="net.sf.jasperreports.export.xlsx.exclude.origin.band.1" value="pageHeader"/>
<property name="net.sf.jasperreports.export.xlsx.exclude.origin.band.2" value="pageFooter"/>
<!-- zum Testen-->
<property name="com.jaspersoft.studio.data.defaultdataadapter" value="beispiel_einzeltabelle_schmal"/>
<property name="com.jaspersoft.studio.unit." value="pixel"/>
<property name="com.jaspersoft.studio.unit.pageHeight" value="pixel"/>
<property name="com.jaspersoft.studio.unit.pageWidth" value="pixel"/>
<property name="com.jaspersoft.studio.unit.topMargin" value="pixel"/>
<property name="com.jaspersoft.studio.unit.bottomMargin" value="pixel"/>
<property name="com.jaspersoft.studio.unit.leftMargin" value="pixel"/>
<property name="com.jaspersoft.studio.unit.rightMargin" value="pixel"/>
<property name="com.jaspersoft.studio.unit.columnWidth" value="pixel"/>
<property name="com.jaspersoft.studio.unit.columnSpacing" value="pixel"/>
<property name="com.jaspersoft.studio.property.dataset.dialog.DatasetDialog.sash.w1" value="466"/>
<property name="com.jaspersoft.studio.property.dataset.dialog.DatasetDialog.sash.w2" value="522"/>
<template><xsl:value-of select="concat('&quot;',$stylesFile,'&quot;')" /></template>
<xsl:call-template name="jr_styles" />
<queryString language="xPath"><xsl:value-of select="concat('/ergebnisse/ergebnis/ergebniselement[@ordnr=',$ergebniselementOrdnr,']/sqlerg/row')" />
</queryString>
<xsl:if test="$isMainReport='true'">
<xsl:call-template name="jr_fields_report_level" />
</xsl:if>
<xsl:call-template name="jr_fields" >
<xsl:with-param name="ergebniselementOrdnr" select="$ergebniselementOrdnr"/>
<!--<xsl:with-param name="isMacroReport" select="$isMacroReport" />-->
</xsl:call-template>
<variable name="tabellennr" class="java.lang.Integer">
<variableExpression><xsl:value-of select="$ergebniselementOrdnr"/></variableExpression>
</variable>
<xsl:call-template name="generateGroupHeaderBandSimple">
<xsl:with-param name="std_zeilenhoehe_header" select="$std_zeilenhoehe_header" />
<xsl:with-param name="druckbreite" select="$druckbreite" />
<xsl:with-param name="std_spaltenbreite" select="$std_spaltenbreite" />
</xsl:call-template>
<xsl:if test="$isMainReport='true'">
<xsl:call-template name="generateTitleBand" >
<xsl:with-param name="druckbreite" select="$druckbreite" />
</xsl:call-template>
</xsl:if>
<detail>
<xsl:for-each select="/ergebnisse/ergebnis/ergebniselement[@ordnr=$ergebniselementOrdnr]">
<band height="30" splitType="Stretch">
<xsl:for-each select="sqlerg/headers/header[not(starts-with(f_name,'hidden')) and not(starts-with(f_name,'next')) ]">
<xsl:variable name="columnWidth">
<xsl:call-template name="getColumnwidth">
<xsl:with-param name="druckbreite" select="$druckbreite"/>
<xsl:with-param name="std_spaltenbreite" select="$std_spaltenbreite"/>
<xsl:with-param name="ergebniselementOrdnr" select="$ergebniselementOrdnr"/>
<xsl:with-param name="colId" select="@id" />
</xsl:call-template>
</xsl:variable>
<xsl:variable name="columnX">
<xsl:call-template name="getColumnX">
<xsl:with-param name="druckbreite" select="$druckbreite"/>
<xsl:with-param name="std_spaltenbreite" select="$std_spaltenbreite"/>
<xsl:with-param name="ergebniselementOrdnr" select="$ergebniselementOrdnr"/>
<xsl:with-param name="colId" select="@id" />
</xsl:call-template>
</xsl:variable>
<xsl:call-template name="jr_textField">
<xsl:with-param name="ergebnisElementOrdnr" select="$ergebniselementOrdnr" />
<xsl:with-param name="fieldName" select="wert" />
<xsl:with-param name="colId" select="@id" />
<xsl:with-param name="x" select="$columnX" />
<xsl:with-param name="width" select="$columnWidth" />
</xsl:call-template>
</xsl:for-each>
</band>
</xsl:for-each>
</detail>
</jasperReport>
</xsl:template>
<xsl:template name="jr_properties"><xsl:text>
</xsl:text>
<xsl:comment>Import von jr_properties</xsl:comment>
<property xmlns="http://jasperreports.sourceforge.net/jasperreports" name="net.sf.jasperreports.export.xls.create.custom.palette" value="true"/>
<property xmlns="http://jasperreports.sourceforge.net/jasperreports" name="net.sf.jasperreports.export.xls.detect.cell.type" value="true"/>
<property xmlns="http://jasperreports.sourceforge.net/jasperreports" name="net.sf.jasperreports.export.xls.remove.empty.space.between.columns" value="true"/>
<property xmlns="http://jasperreports.sourceforge.net/jasperreports" name="net.sf.jasperreports.export.xls.remove.empty.space.between.rows " value="true"/>
</xsl:template>
<xsl:template name="jr_styles">
<xsl:param name="ergebniselementOrdnr" select="0" />
<xsl:variable name="flavorTableRowStyle">
<xsl:choose>
<xsl:when test="/ergebnisse/ergebnis/ergebniselement[@ordnr=$ergebniselementOrdnr]/sqlerg/@istreetable='true'">
<xsl:text>treeTable</xsl:text>
</xsl:when>
<xsl:otherwise>
<xsl:text>listAlternatingBg</xsl:text>
</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:call-template name="tableRowStyle">
<xsl:with-param name="flavorTableRowStyle" select="$flavorTableRowStyle" />
</xsl:call-template>
</xsl:template>
<xsl:template name="tableRowStyle">
<xsl:param name="flavorTableRowStyle" select="'listAlternatingBg'" />
<xsl:param name="ergebniselementOrdnr" select="0" />
<style name="TableRowDetail" mode="Opaque" forecolor="#000000" backcolor="#FFFFFF" hTextAlign="Right" vTextAlign="Middle" isBlankWhenNull="true" fontName="{$font}" fontSize="8">
<box rightPadding="2">
<pen lineColor="#FFFFFF"/>
</box>
<paragraph leftIndent="2" rightIndent="1" spacingBefore="0" spacingAfter="0"/>
<xsl:choose>
<xsl:when test="$flavorTableRowStyle='listAlternatingBg'">
<conditionalStyle>
<conditionExpression><![CDATA[Boolean.valueOf( $V{PAGE_COUNT} % 2 == 1 )]]></conditionExpression>
<style mode="Opaque" forecolor="#000000" backcolor="#E3E8EB"/>
</conditionalStyle>
</xsl:when>
<xsl:when test="$flavorTableRowStyle='treeTable' and count(/ergebnisse/ergebnis/ergebniselement[@ordnr=$ergebniselementOrdnr]/sqlerg/headers/header/wert='Ebene')=1">
<conditionalStyle>
<conditionExpression><![CDATA[$F{Ebene}==1]]></conditionExpression>
<style mode="Opaque" forecolor="#000000" backcolor="rgb(204,204,204)"/>
</conditionalStyle>
<conditionalStyle>
<conditionExpression><![CDATA[$F{Ebene}==2]]></conditionExpression>
<style mode="Opaque" forecolor="#000000" backcolor="rgb(224,224,224)"/>
</conditionalStyle>
<conditionalStyle>
<conditionExpression><![CDATA[$F{Ebene}==3]]></conditionExpression>
<style mode="Opaque" forecolor="#000000" backcolor="rgb(244,244,244)"/>
</conditionalStyle>
</xsl:when>
<xsl:otherwise>
</xsl:otherwise>
</xsl:choose>
</style>
</xsl:template>
<xsl:template name="jr_fields_report_level">
<!-- nun die Felder: zuerst der Berichtsname-->
<field name="REPORT_HEADING_INSTITUTION" class="java.lang.String">
<fieldDescription><xsl:text><![CDATA[/ergebnisse/generalinfo/REPORT_HEADING_INSTITUTION]]></xsl:text></fieldDescription>
</field>
<field name="REPORT_HEADING_URL" class="java.lang.String">
<fieldDescription><xsl:text><![CDATA[/ergebnisse/generalinfo/REPORT_HEADING_URL]]></xsl:text></fieldDescription>
</field>
<field name="REPORT_LOGO_FILE" class="java.lang.String">
<fieldDescription><xsl:text><![CDATA[/ergebnisse/generalinfo/REPORT_LOGO_FILE]]></xsl:text></fieldDescription>
</field>
<field name="REPORT_HEADING_ADRESS" class="java.lang.String">
<fieldDescription><xsl:text><![CDATA[/ergebnisse/generalinfo/REPORT_HEADING_ADRESS]]></xsl:text></fieldDescription>
</field>
<field name="REPORT_EMAIL" class="java.lang.String">
<fieldDescription><xsl:text><![CDATA[/ergebnisse/generalinfo/REPORT_EMAIL]]></xsl:text></fieldDescription>
</field>
<field name="REPORT_DOCUMENTATION_URL" class="java.lang.String">
<fieldDescription><xsl:text><![CDATA[/ergebnisse/generalinfo/REPORT_DOCUMENTATION_URL]]></xsl:text></fieldDescription>
</field>
</xsl:template>
<xsl:template name="jr_fields">
<xsl:param name="ergebniselementOrdnr" select="0"/>
<xsl:variable name="isMacroReport" select="/ergebnisse/@isMakro" />
<field name="Berichtsname" class="java.lang.String">
<fieldDescription>
<xsl:choose>
<xsl:when test="$isMacroReport = 'true'">
<xsl:text><![CDATA[/ergebnisse/makro/name]]></xsl:text></xsl:when>
<xsl:otherwise><xsl:text><![CDATA[/ergebnisse/ergebnis[ @ordnr=']]></xsl:text>
<xsl:value-of select="$ergebniselementOrdnr"/>
<xsl:text><![CDATA[']/maskenname]]></xsl:text>
</xsl:otherwise>
</xsl:choose>
</fieldDescription>
</field>
<!-- dann der Erläuterungstext-->
<field name="Erlaeuterung" class="java.lang.String">
<fieldDescription><xsl:text><![CDATA[/ergebnisse/ergebnis[ @ordnr=']]></xsl:text>
<xsl:value-of select="$ergebniselementOrdnr"/>
<xsl:text><![CDATA[']/explanation]]></xsl:text></fieldDescription>
</field>
<xsl:comment> dann die Tabellenspalten </xsl:comment>
<xsl:for-each select="/ergebnisse/ergebnis/ergebniselement[@ordnr=$ergebniselementOrdnr]">
<xsl:for-each select="sqlerg/complete_headers/header">
<xsl:variable name="jasperFieldname">
<xsl:call-template name="createJasperFieldname">
<xsl:with-param name="fieldName_orig" select="wert"/>
</xsl:call-template>
</xsl:variable>
<xsl:variable name="fldPrefix">
<xsl:if test="$isMacroReport='true'">
<xsl:text>tab_</xsl:text><xsl:value-of select="$ergebniselementOrdnr" />
</xsl:if>
</xsl:variable>
<xsl:if test="normalize-space($jasperFieldname)!=''"> <!-- keine leeren Feldnamen-->
<field name="{$jasperFieldname}"><!--{concat($fldPrefix,$jasperFieldname)}-->
<xsl:attribute name="class"><xsl:call-template name="getJavaType">
<xsl:with-param name="ordnr"><xsl:value-of select="$ergebniselementOrdnr"/></xsl:with-param>
<xsl:with-param name="col_id"><xsl:value-of select="@id"/></xsl:with-param></xsl:call-template></xsl:attribute>
<fieldDescription><xsl:text><![CDATA[col[@id="]]></xsl:text>
<xsl:value-of select="@id"/><xsl:text><![CDATA[" and wert!=""]]></xsl:text>
<xsl:if test="$isMacroReport='true'">
<xsl:text><![CDATA[ and ../../../@ordnr=']]></xsl:text><xsl:value-of select="$ergebniselementOrdnr" /><xsl:text>'</xsl:text>
</xsl:if>
<xsl:text><![CDATA[]/wert]]></xsl:text>
</fieldDescription>
</field>
</xsl:if>
</xsl:for-each>
</xsl:for-each>
<!-- dann die Legende-->
<xsl:for-each select="distinct-values(//ergebnisse/ergebnis/completefields/feld/@varname)">
<xsl:variable name="jasperFieldname">
<xsl:call-template name="createJasperFieldname">
<xsl:with-param name="fieldName_orig" select="."/>
</xsl:call-template>
</xsl:variable>
<xsl:variable name="varname">
<xsl:value-of select="." />
</xsl:variable>
<!-- zuerst Label -->
<field name="{concat('legende_',$jasperFieldname,'_label')}" class="java.lang.String">
<fieldDescription><xsl:text><![CDATA[/ergebnisse/ergebnis/completefields/feld [@varname="]]></xsl:text><xsl:value-of select="$varname"/><xsl:text><![CDATA["]/@varname]]></xsl:text></fieldDescription>
</field>
<!--dann Wert-->
<field name="{concat('legende_',$jasperFieldname,'_value')}" class="java.lang.String">
<fieldDescription><xsl:text><![CDATA[/ergebnisse/ergebnis/felder/feld [@varname="]]></xsl:text><xsl:value-of select="$varname"/><xsl:text><![CDATA["]/value_caption]]></xsl:text></fieldDescription>
</field>
</xsl:for-each>
<!--Standatum und User:-->
<field name="standdatum" class="java.lang.String">
<fieldDescription><xsl:text><![CDATA[/ergebnisse/ergebnis[ @ordnr='0']/stand]]></xsl:text></fieldDescription>
</field>
<field name="user" class="java.lang.String">
<fieldDescription><xsl:text><![CDATA[/ergebnisse/user]]></xsl:text></fieldDescription>
</field>
</xsl:template>
<xsl:template name="getJavaType">
<xsl:param name="ordnr" />
<xsl:param name="col_id" />
<xsl:choose>
<xsl:when test="count(/ergebnisse/ergebnis/ergebniselement[ @ordnr=$ordnr]/sqlerg/row)=0">
<xsl:text>java.lang.String</xsl:text>
</xsl:when>
<xsl:otherwise>
<xsl:for-each select="/ergebnisse/ergebnis/ergebniselement[ @ordnr=$ordnr]/sqlerg/row [@no='0']/col [@id=$col_id]">
<!--Transformation:
3=DecimalFormat
4=integer
-7=Boolean
6=date
8=timestamp
9=time
Default ist
1=string-->
<xsl:choose>
<xsl:when test="@typ='3'"> <!-- DecimalFormat -->
<xsl:text>java.lang.Double</xsl:text>
</xsl:when>
<xsl:when test="@typ='4'"> <!-- Integer -->
<xsl:text>java.lang.Integer</xsl:text>
</xsl:when>
<xsl:when test="@typ='-7'">
<xsl:text>java.lang.Boolean</xsl:text>
</xsl:when>
<xsl:when test="@typ='6'">
<xsl:text>java.util.Date</xsl:text>
</xsl:when>
<xsl:when test="@typ='8'">
<xsl:text>java.lang.Timestamp</xsl:text>
</xsl:when>
<xsl:when test="@typ='9'">
<xsl:text>java.lang.Time</xsl:text>
</xsl:when>
<xsl:otherwise>
<!--Typ=1 ist string und wird defaultmäßig behandelt -->
<xsl:text>java.lang.String</xsl:text>
</xsl:otherwise>
</xsl:choose>
</xsl:for-each>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<xsl:template name="createJasperFieldname">
<xsl:param name="fieldName_orig" />
<xsl:variable name="feldname_ohne_umbruch">
<xsl:call-template name="remove_linebreaksAndQuot"><xsl:with-param name="volltext"><xsl:value-of select="$fieldName_orig" /></xsl:with-param></xsl:call-template>
</xsl:variable>
<xsl:variable name="feldnameOhneBackslashN">
<xsl:call-template name="search_replace">
<xsl:with-param name="string"><xsl:value-of select="$feldname_ohne_umbruch" /></xsl:with-param>
<xsl:with-param name="search"><xsl:text>\n</xsl:text></xsl:with-param>
<xsl:with-param name="replace"><xsl:text> </xsl:text></xsl:with-param>
</xsl:call-template>
</xsl:variable>
<xsl:call-template name="search_replace">
<xsl:with-param name="string"><xsl:value-of select="$feldnameOhneBackslashN" /></xsl:with-param>
<xsl:with-param name="search"><xsl:text>\000</xsl:text></xsl:with-param>
<xsl:with-param name="replace"><xsl:text> </xsl:text></xsl:with-param>
</xsl:call-template>
</xsl:template>
<xsl:template name="getColumnX">
<xsl:param name="druckbreite"/>
<xsl:param name="std_spaltenbreite"/>
<xsl:param name="ergebniselementOrdnr" />
<xsl:param name="colId" />
<xsl:variable name="x"><xsl:text>0</xsl:text>
<xsl:for-each select="/ergebnisse/ergebnis/ergebniselement[@ordnr=$ergebniselementOrdnr]/sqlerg/headers/header[ @width &gt; 0 and not(starts-with(f_name,'hidden')) and not(starts-with(f_name,'next')) and @id &lt; $colId ]">
<xsl:variable name="previousColumnWidth">
<xsl:call-template name="getColumnwidth">
<xsl:with-param name="druckbreite" select="$druckbreite"/>
<xsl:with-param name="std_spaltenbreite" select="$std_spaltenbreite"/>
<xsl:with-param name="ergebniselementOrdnr" select="$ergebniselementOrdnr"/>
<xsl:with-param name="colId" select="@id" />
</xsl:call-template>
</xsl:variable>
<xsl:text>+</xsl:text><xsl:value-of select ="$previousColumnWidth" />
</xsl:for-each></xsl:variable>
<!--<xsl:value-of select="sum(for $s in tokenize('1+2+3','+') return number($s))" />-->
<xsl:call-template name="sumStringList">
<xsl:with-param name="pText" select="$x"/>
<xsl:with-param name="pSum" select="0"/>
<xsl:with-param name="pDelim" select="'+'"/>
</xsl:call-template>
</xsl:template>
<xsl:template name="getColumnwidth">
<xsl:param name="druckbreite" />
<xsl:param name="std_spaltenbreite" />
<xsl:param name="ergebniselementOrdnr" />
<xsl:param name="colId" />
<xsl:variable name="defbreite"><xsl:value-of select="sum(/ergebnisse/ergebnis/ergebniselement[@ordnr=$ergebniselementOrdnr]/sqlerg/headers/header[ @width &gt; 0 and not(starts-with(f_name,'hidden')) and not(starts-with(f_name,'next')) ]/@width )" /></xsl:variable>
<xsl:variable name="ndefbreite"><xsl:value-of select="count(/ergebnisse/ergebnis/ergebniselement[@ordnr=$ergebniselementOrdnr]/sqlerg/headers/header[ @width = '' and not(starts-with(f_name,'hidden')) and not(starts-with(f_name,'next'))])" /></xsl:variable>
<xsl:variable name="gesamtbreite"><xsl:value-of select="$defbreite+($ndefbreite* $std_spaltenbreite)" /></xsl:variable>
<xsl:variable name="width"><xsl:value-of select="/ergebnisse/ergebnis/ergebniselement[@ordnr=$ergebniselementOrdnr]/sqlerg/headers/header[@id=$colId]/@width"/></xsl:variable>
<xsl:choose>
<xsl:when test="$width != ''">
<xsl:variable name="spbreite"><xsl:value-of select="$druckbreite*($width div $gesamtbreite)" />
</xsl:variable>
<xsl:choose>
<xsl:when test="$spbreite &gt; 2">
<xsl:value-of select="round($spbreite)" />
</xsl:when>
<xsl:otherwise>
<xsl:text>12</xsl:text>
</xsl:otherwise>
</xsl:choose>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="round($druckbreite*($std_spaltenbreite div $gesamtbreite))" />
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<xsl:template name="sumStringList">
<xsl:param name="pText" select="."/>
<xsl:param name="pSum" select="0"/>
<xsl:param name="pDelim" select="'+'"/>
<xsl:choose>
<xsl:when test="not(string-length($pText) >0)">
<xsl:value-of select="$pSum"/>
</xsl:when>
<xsl:otherwise>
<xsl:variable name="vnewList"
select="concat($pText,$pDelim)"/>
<xsl:variable name="vHead" select=
"substring-before($vnewList, $pDelim)"/>
<xsl:call-template name="sumStringList">
<xsl:with-param name="pText" select=
"substring-after($pText, $pDelim)"/>
<xsl:with-param name="pSum" select="$pSum+$vHead"/>
<xsl:with-param name="pDelim" select="$pDelim"/>
</xsl:call-template>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<xsl:template name="jr_textField">
<xsl:param name="ergebnisElementOrdnr" />
<xsl:param name="fieldName" />
<xsl:param name="colId" />
<xsl:param name="x" select="'0'" />
<xsl:param name="width" select="'0'" />
<xsl:param name="height" select="'30'" />
<xsl:variable name="jasperFieldname">
<xsl:call-template name="createJasperFieldname">
<xsl:with-param name="fieldName_orig" select="$fieldName"/>
</xsl:call-template>
</xsl:variable>
<xsl:variable name="fldPrefix">
<xsl:choose>
<xsl:when test="/ergebnisse/@isMakro='true'">
<xsl:text>tab_</xsl:text><xsl:value-of select="$ergebnisElementOrdnr" /></xsl:when>
<xsl:otherwise></xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:variable name="fieldType">
<xsl:call-template name="getFieldType">
<xsl:with-param name="ergebnisElementOrdnr" select="$ergebnisElementOrdnr" />
<xsl:with-param name="colId" select="$colId" />
</xsl:call-template>
</xsl:variable>
<xsl:if test="normalize-space($jasperFieldname)!=''"> <!-- keine leeren Feldnamen-->
<textField isStretchWithOverflow="true" isBlankWhenNull="true">
<xsl:attribute name="pattern">
<xsl:choose>
<xsl:when test="$fieldType='4'"> <!--integer-->
<xsl:text>#</xsl:text>
</xsl:when>
<xsl:when test="$fieldType='3'"> <!--decimal-->
<xsl:text>#,###.00;-#,###.00</xsl:text>
</xsl:when>
<xsl:when test="$fieldType='6'"> <!--date-->
<xsl:text>dd.MM.yyyy</xsl:text>
</xsl:when>
<xsl:when test="$fieldType='8'"> <!--timestamp-->
<xsl:text>dd.MM.yyyy hh:mm:ss</xsl:text>
</xsl:when>
<xsl:when test="$fieldType='9'"> <!--time-->
<xsl:text>hh:mm:ss</xsl:text>
</xsl:when>
<xsl:otherwise>
</xsl:otherwise>
</xsl:choose>
</xsl:attribute>
<reportElement style="TableRowDetail" stretchType="ContainerHeight" x="{$x}" y="0" width="{$width}" height="{$height}" />
<xsl:if test="$fieldType!='3' and $fieldType!='4' "><!--Zahlen immer rechtsbündig, alles andere links-->
<textElement textAlignment="Left"/>
</xsl:if>
<textFieldExpression><xsl:value-of select="concat('$F{',fldPrefix,$jasperFieldname,'}')" /></textFieldExpression>
</textField>
</xsl:if>
</xsl:template>
<xsl:template name="getFieldType">
<xsl:param name="ergebnisElementOrdnr" />
<xsl:param name="colId" />
<xsl:value-of select="/ergebnisse/ergebnis/ergebniselement[@ordnr=$ergebnisElementOrdnr]/sqlerg/row[@no='0']/col[@id=$colId]/@typ" />
</xsl:template>
<xsl:template name="getLegendExpression">
<xsl:text>""</xsl:text>
<xsl:for-each select="distinct-values(//ergebnisse/ergebnis/completefields/feld/@varname)">
<xsl:variable name="jasperFieldname">
<xsl:call-template name="createJasperFieldname">
<xsl:with-param name="fieldName_orig" select="."/>
</xsl:call-template>
</xsl:variable>
<xsl:variable name="varname">
<xsl:value-of select="." />
</xsl:variable>
<xsl:value-of select="concat('+(($F{','legende_',$jasperFieldname,'_value','}==null || $F{','legende_',$jasperFieldname,'_value','}==&quot;&quot;)?','&quot;&quot;:(')" />
<xsl:value-of select="concat('$F{','legende_',$jasperFieldname,'_label','}')" /><xsl:text>+": "+</xsl:text>
<xsl:value-of select="concat('$F{','legende_',$jasperFieldname,'_value','}')" /><xsl:text>+";"))
</xsl:text>
</xsl:for-each>
</xsl:template>
<xsl:template name="generateTableHeader">
<xsl:param name="druckbreite" />
<xsl:param name="std_spaltenbreite" />
<xsl:param name="zeilenhoehe" select="30" />
<xsl:param name="ordnr" select="0"/>
<xsl:param name="y_offset" select="0"/>
<xsl:for-each select="/ergebnisse/ergebnis/ergebniselement[@ordnr=$ordnr]"><!--derzeit nur eine Tabelle erlaubt-->
<xsl:choose>
<xsl:when test="sqlerg/headers/@hasAggregationHeaders='true'" >
<!-- verschachtelter Header -->
<xsl:for-each select="sqlerg/aggregationHeaders/tr">
<xsl:variable name="rowCounter" select="position()-1" />
<xsl:for-each select="th" >
<xsl:variable name="colId"><xsl:value-of select="position()-1" /></xsl:variable>
<xsl:if test="@isHidden='false'">
<xsl:comment><xsl:text>colId=</xsl:text><xsl:value-of select="$colId"/></xsl:comment>
<xsl:variable name="columnWidth">
<xsl:call-template name="getColumnwidth">
<xsl:with-param name="druckbreite" select="$druckbreite"/>
<xsl:with-param name="std_spaltenbreite" select="$std_spaltenbreite"/>
<xsl:with-param name="ergebniselementOrdnr" select="$ordnr"/>
<xsl:with-param name="colId" select="$colId" />
</xsl:call-template>
</xsl:variable>
<xsl:variable name="columnX">
<xsl:call-template name="getColumnX">
<xsl:with-param name="druckbreite" select="$druckbreite"/>
<xsl:with-param name="std_spaltenbreite" select="$std_spaltenbreite"/>
<xsl:with-param name="ergebniselementOrdnr" select="$ordnr"/>
<xsl:with-param name="colId" select="$colId" />
</xsl:call-template>
</xsl:variable>
<xsl:variable name="rowspan">
<xsl:choose>
<xsl:when test="@rowspan &gt;1">
<xsl:value-of select="@rowspan"/>
</xsl:when>
<xsl:otherwise>
<xsl:text>1</xsl:text>
</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:variable name="colspan">
<xsl:choose>
<xsl:when test="@colspan &gt;1">
<xsl:value-of select="@colspan"/>
</xsl:when>
<xsl:otherwise>
<xsl:text>1</xsl:text>
</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<staticText>
<reportElement style="TableColumnHeader" mode="Opaque" x="{$columnX}" y="{$y_offset+( $rowCounter * $zeilenhoehe )}" width="{$columnWidth * $colspan}" height="{$zeilenhoehe*$rowspan}" />
<text><xsl:value-of select="." /></text>
</staticText>
</xsl:if>
</xsl:for-each>
</xsl:for-each>
</xsl:when>
<xsl:otherwise>
<xsl:for-each select="sqlerg/headers/header[not(starts-with(f_name,'hidden')) and not(starts-with(f_name,'next')) ]">
<xsl:variable name="columnWidth">
<xsl:call-template name="getColumnwidth">
<xsl:with-param name="druckbreite" select="$druckbreite"/>
<xsl:with-param name="std_spaltenbreite" select="$std_spaltenbreite"/>
<xsl:with-param name="ergebniselementOrdnr" select="$ordnr"/>
<xsl:with-param name="colId" select="@id" />
</xsl:call-template>
</xsl:variable>
<xsl:variable name="columnX">
<xsl:call-template name="getColumnX">
<xsl:with-param name="druckbreite" select="$druckbreite"/>
<xsl:with-param name="std_spaltenbreite" select="$std_spaltenbreite"/>
<xsl:with-param name="ergebniselementOrdnr" select="$ordnr"/>
<xsl:with-param name="colId" select="@id" />
</xsl:call-template>
</xsl:variable>
<staticText>
<reportElement style="TableColumnHeader" mode="Opaque" x="{$columnX}" y="{$y_offset}" width="{$columnWidth}" height="{$zeilenhoehe}" />
<text><xsl:value-of select="wert" /></text>
</staticText>
</xsl:for-each>
</xsl:otherwise>
</xsl:choose>
</xsl:for-each>
</xsl:template>
<xsl:template name="getZeilenhoeheTableHeader">
<xsl:param name="ordnr" select="0" />
<xsl:param name="std_zeilenhoehe_header" select="30" />
<xsl:param name="y_offset" select="0" />
<xsl:choose>
<xsl:when test="/ergebnisse/ergebnis/ergebniselement[@ordnr=$ordnr]/sqlerg/headers/@hasAggregationHeaders='true'">
<xsl:variable name="maxRownumberTableHeader">
<xsl:value-of select="count(/ergebnisse/ergebnis/ergebniselement[@ordnr=$ordnr]/sqlerg/aggregationHeaders/tr)"/>
</xsl:variable>
<xsl:value-of select="$y_offset + ( $std_zeilenhoehe_header * $maxRownumberTableHeader )"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$y_offset + $std_zeilenhoehe_header "/>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<xsl:template name="generateGroupHeaderBandSimple">
<xsl:param name="ergebniselementOrdnr" select="0" />
<xsl:param name="std_zeilenhoehe_header" />
<xsl:param name="druckbreite" />
<xsl:param name="std_spaltenbreite" />
<xsl:variable name="isMacroReport" select="/ergebnisse/@isMakro" />
<xsl:variable name="legendLabelHeight" select="20" />
<xsl:variable name="legendContentHeight" select="40" />
<xsl:variable name="subReportTitleHeight">
<xsl:choose>
<xsl:when test="$isMacroReport='false'">
<xsl:text>0</xsl:text>
</xsl:when>
<xsl:otherwise>
<xsl:text>20</xsl:text>
</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<group name="tabellennr">
<groupExpression><![CDATA[$V{tabellennr}]]></groupExpression>
<groupHeader>
<band>
<xsl:attribute name="height">
<xsl:call-template name="getZeilenhoeheTableHeader">
<xsl:with-param name="ordnr" select="$ergebniselementOrdnr" />
<xsl:with-param name="std_zeilenhoehe_header" select="$std_zeilenhoehe_header" />
<xsl:with-param name="y_offset" select="$legendLabelHeight+$legendContentHeight + $subReportTitleHeight"/>
</xsl:call-template>
</xsl:attribute>
<!--subReportTitle-->
<xsl:if test="$isMacroReport = 'true'">
<textField>
<reportElement style="subReportTitle" x="0" y="0" width="{$druckbreite}" height="{$subReportTitleHeight}" />
<textFieldExpression><xsl:text disable-output-escaping="yes"><![CDATA[ $F{Berichtsname}]]></xsl:text></textFieldExpression>
</textField>
</xsl:if>
<!--Legende -->
<textField>
<reportElement style="LegendLabel" x="0" y="{$subReportTitleHeight}" width="{$druckbreite}" height="{$legendLabelHeight}" />
<textElement verticalAlignment="Bottom"/>
<textFieldExpression><![CDATA["Filterkriterien: "]]></textFieldExpression>
</textField>
<textField>
<reportElement style="LegendContent" x="0" y="{$subReportTitleHeight+$legendLabelHeight}" width="{$druckbreite}" height="{$legendContentHeight}" />
<textFieldExpression>
<xsl:call-template name="getLegendExpression" />
<xsl:text disable-output-escaping="yes"><![CDATA[ +"Datenstand: "+ $F{standdatum} + "; " + "Erstellt: "+ DATEFORMAT( TODAY(), "dd.MM.YYYY")]]></xsl:text></textFieldExpression>
</textField>
<!--nun Spaltenüberschriften-->
<xsl:call-template name="generateTableHeader">
<xsl:with-param name="druckbreite" select="$druckbreite" />
<xsl:with-param name="std_spaltenbreite" select="$std_spaltenbreite"/>
<xsl:with-param name="zeilenhoehe" select="$std_zeilenhoehe_header" />
<xsl:with-param name="ordnr" select="$ergebniselementOrdnr"/>
<xsl:with-param name="y_offset" select="$legendLabelHeight +$legendContentHeight+ $subReportTitleHeight"/>
</xsl:call-template>
</band>
</groupHeader>
</group>
</xsl:template>
<xsl:template name="generateTitleBand">
<xsl:param name="druckbreite" select="812" />
<title>
<band height="75">
<textField>
<reportElement x="0" y="0" width="{$druckbreite}" height="30" style="ReportHeadingInstitution"/>
<textFieldExpression><![CDATA[$F{REPORT_HEADING_INSTITUTION} + " | "+ $F{user}]]></textFieldExpression>
</textField>
<textField>
<reportElement style="ReportTitle" x="0" y="30" width="{$druckbreite}" height="45" />
<textFieldExpression><![CDATA[$F{Berichtsname}]]></textFieldExpression>
</textField>
</band>
</title>
</xsl:template>
</xsl:stylesheet>

39
superx/xml/pageComponents_html.xsl

@ -553,14 +553,49 @@ Bit zur Lösung des Problems bleibt dies auf Kommentar @@ -553,14 +553,49 @@ Bit zur Lösung des Problems bleibt dies auf Kommentar
</a>
<span class="separator">&#160;</span>
</td>
<xsl:if test="count(/ergebnisse/stylesheets/stylesheet[filename='rpta_assistent.xsl']) !=0
and /ergebnisse/user/@admin='true'">
<td>
<a onMouseOver="window.status='Export starten';return true" onFocus="window.status='Download starten';return true" onMouseOut="window.status='Download starten';return true" style="cursor: pointer;"><xsl:attribute name="onclick"><xsl:text>setTemplatePropertiesAndSubmit('viz_rpt_assistent.xsl|text/html');</xsl:text>
<a onMouseOver="window.status='Export starten';return true" onFocus="window.status='Download starten';return true" onMouseOut="window.status='Download starten';return true" style="cursor: pointer;"><xsl:attribute name="onclick"><xsl:text>setTemplatePropertiesAndSubmit('rpta_assistent.xsl|text/html');</xsl:text>
</xsl:attribute>
<img title="Berichtsassistent" alt="Berichtsassistent"
src="../images/icons/magic.svg" border="0" width="25px" height="25px" /><!--chart-bar.svg-->
</a><span class="separator">&#160;</span> <span class="separator">&#160;</span>
</td>
</xsl:if>
<xsl:if test="count(/ergebnisse/stylesheets/stylesheet[filename='viz_html_chart.xsl']) !=0
and /ergebnisse/user/@admin='true'">
<td>
<script language="Javascript">
function prepareExportChart()
{
document.forms[0].stylesheet.value = 'viz_html_chart.xsl';
document.forms[0].contenttype.value = 'text/html';
document.forms[0].target = '_blank';
document.forms[0].offset.value='0';
document.forms[0].maxoffset.value = '1000000';
document.forms[0].reuseresult.value = 'true';
if (isTreeTable) {
dojo.widget.byId("ttexdlg").show(); //ruft function exportandhidedlg auf
} else {
startExport();
}
}
</script>
<!-- druckversion übergibt maxoffset 10000000 damit alle Sätze angezeigt werden -->
<a onMouseOver="window.status='Export starten';return true" onFocus="window.status='Download starten';return true" onMouseOut="window.status='Download starten';return true"><xsl:attribute name="href"><xsl:text>javascript:prepareExportChart()</xsl:text>
</xsl:attribute>
<!-- <xsl:attribute name="title"><xsl:text>Druckversion</xsl:text></xsl:attribute>
<xsl:text>Druckversion</xsl:text> -->
<input type="hidden" name="usetreetable" />
<img title="Ausgabe als Diagramm" alt="Ausgabe in Diagramm"
src="../images/icons/chart-bar.svg" border="0" width="25px" height="25px" /><!--chart-bar.svg-->
</a>
<span class="separator">&#160;</span>
</td>
</xsl:if>
<td>
<a onMouseOver="window.status='Export starten';return true" onFocus="window.status='Download starten';return true" onMouseOut="window.status='Download starten';return true"><xsl:attribute name="href"><xsl:text>javascript:prepareExport('excel')</xsl:text>
</xsl:attribute>

Loading…
Cancel
Save