Browse Source

Merge branch 'kern5.2'

master
Daniel Quathamer 2 weeks ago
parent
commit
e71338707f
  1. 27
      src/de/superx/common/Maske.java
  2. 16
      src/de/superx/servlet/SuperXmlTabelle.java
  3. 12
      superx/index.jsp
  4. 12
      superx/style/sx_common.css
  5. 76
      superx/sx_login.jsp
  6. 5
      superx/xml/nd_templates.xsl

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

@ -2576,16 +2576,23 @@ public class Maske extends NamedIdObject implements Serializable {
} }
/** /**
* Normalerweise Maskenname nur bei JasperReports der Stylesheetname * Normalerweise Maskenname nur bei JasperReports der Stylesheetname
* *
* @return * @return
*/ */
public String getExportName() { public String getExportName() {
String result = getName(); String result = getName();
if (selectedTableStylesheet != null && selectedTableStylesheet.getFilename().indexOf(".jrxml") > -1) if (selectedTableStylesheet != null && selectedTableStylesheet.getFilename().indexOf(".jrxml") > -1) result = selectedTableStylesheet.getCaption();
result = selectedTableStylesheet.getCaption(); if (map.containsKey("exportfilename"))
return result; {
} if (map.get("exportfilename")==null||map.get("exportfilename").toString().trim().equals(""))
{
throw new IllegalStateException("Die Maske definiert exportfilename, dieser ist aber leer. Masken-SQL prüfen");
}
result=map.get("exportfilename").toString();
}
return result;
}
public String getFullTableXml(String mandantenId, SxUser sxuser, HttpServletRequest request, Locale locale) public String getFullTableXml(String mandantenId, SxUser sxuser, HttpServletRequest request, Locale locale)
throws TransformerConfigurationException, TemplateException, IOException, SQLException, throws TransformerConfigurationException, TemplateException, IOException, SQLException,

16
src/de/superx/servlet/SuperXmlTabelle.java

@ -511,7 +511,7 @@ public class SuperXmlTabelle extends AbstractSuperXServlet {
response.reset(); response.reset();
//response.setContentType("application/vnd.ms-excel"); //response.setContentType("application/vnd.ms-excel");
response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"); response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
response.setHeader("Content-disposition", "attachment; filename=" + FileUtils.removeProblemChars(maske.getName()) + ".xlsx"); response.setHeader("Content-disposition", "attachment; filename=" + FileUtils.removeProblemChars(maske.getExportName()) + ".xlsx");
response.setHeader("Cache-Control", "expires=0"); response.setHeader("Cache-Control", "expires=0");
response.setContentLength(outStream.size()); response.setContentLength(outStream.size());
ServletOutputStream sos; ServletOutputStream sos;
@ -716,7 +716,7 @@ public class SuperXmlTabelle extends AbstractSuperXServlet {
SuperXManager.setLastXmlMandantid(request.getSession().getAttribute("MandantenID").toString()); SuperXManager.setLastXmlMandantid(request.getSession().getAttribute("MandantenID").toString());
XmlTransformer xmlTransformer = new XmlTransformer(getServletConfig(), request, response, getMandantenID(), getBrowser()); XmlTransformer xmlTransformer = new XmlTransformer(getServletConfig(), request, response, getMandantenID(), getBrowser());
xmlTransformer.setMaske(maske); xmlTransformer.setMaske(maske);
xmlTransformer.transform(maske.getName(), maske.getTmpFiles(), currentXml, desiredLocale, maske.getSelectedTableStylesheetFilename(), "text/html", xmlTransformer.transform(maske.getExportName(), maske.getTmpFiles(), currentXml, desiredLocale, maske.getSelectedTableStylesheetFilename(), "text/html",
ServletHelper.getParameter(request, "encrypt")); ServletHelper.getParameter(request, "encrypt"));
@ -931,7 +931,7 @@ public class SuperXmlTabelle extends AbstractSuperXServlet {
// neu MB // neu MB
if (maske.getSelectedTableStylesheetFilename() != null && maske.getSelectedTableStylesheetFilename().equals("tabelle_xml.xsl")) { if (maske.getSelectedTableStylesheetFilename() != null && maske.getSelectedTableStylesheetFilename().equals("tabelle_xml.xsl")) {
response.setContentType("application/x-xml; charset=" + SqlStringUtils.getEncoding()); response.setContentType("application/x-xml; charset=" + SqlStringUtils.getEncoding());
response.setHeader("Content-disposition", "attachment; filename=" + FileUtils.removeProblemChars(maske.getName()) + ".xml"); response.setHeader("Content-disposition", "attachment; filename=" + FileUtils.removeProblemChars(maske.getExportName()) + ".xml");
response.setHeader("Cache-Control", "expires=0"); response.setHeader("Cache-Control", "expires=0");
// hier wird für xml-output localiziert für andere // hier wird für xml-output localiziert für andere
// formate in xmlTransformer könnte // formate in xmlTransformer könnte
@ -1021,7 +1021,7 @@ public class SuperXmlTabelle extends AbstractSuperXServlet {
// open browser download dialogue // open browser download dialogue
response.setContentType("application/x-xml; charset=" + SqlStringUtils.getEncoding()); response.setContentType("application/x-xml; charset=" + SqlStringUtils.getEncoding());
response.setHeader("Content-disposition", "attachment; filename=" + FileUtils.removeProblemChars(maske.getName()) + filename_extension); response.setHeader("Content-disposition", "attachment; filename=" + FileUtils.removeProblemChars(maske.getExportName()) + filename_extension);
response.setHeader("Cache-Control", "expires=0"); response.setHeader("Cache-Control", "expires=0");
} }
} }
@ -1029,7 +1029,7 @@ public class SuperXmlTabelle extends AbstractSuperXServlet {
getServletConfig(), request, response, getServletConfig(), request, response,
getMandantenID(), getBrowser()); getMandantenID(), getBrowser());
xmlTransformer.setMaske(maske); xmlTransformer.setMaske(maske);
xmlTransformer.transform(maske.getName(), xmlTransformer.transform(maske.getExportName(),
maske.getTmpFiles(), currentXml, desiredLocale, maske.getTmpFiles(), currentXml, desiredLocale,
maske.getSelectedTableStylesheetFilename(), maske.getSelectedTableStylesheetFilename(),
maske.getSelectedTableStylesheetContenttype(contenttype), maske.getSelectedTableStylesheetContenttype(contenttype),
@ -1075,7 +1075,7 @@ public class SuperXmlTabelle extends AbstractSuperXServlet {
if (SxPools.get(getMandantenID()).getRepository().containsKey("K_CSV_Excel_ISO")&&SxPools.get(getMandantenID()).getRepository().get("K_CSV_Excel_ISO").toString().equals("1")) if (SxPools.get(getMandantenID()).getRepository().containsKey("K_CSV_Excel_ISO")&&SxPools.get(getMandantenID()).getRepository().get("K_CSV_Excel_ISO").toString().equals("1"))
{ {
outp = new String(csv.toString().getBytes("iso-8859-1")); outp = new String(csv.toString().getBytes("iso-8859-1"));
response.setHeader("Content-disposition", "attachment; filename=" + FileUtils.removeProblemChars(maske.getName()) + ".csv"); response.setHeader("Content-disposition", "attachment; filename=" + FileUtils.removeProblemChars(maske.getExportName()) + ".csv");
response.setHeader("Cache-Control", "expires=0"); response.setHeader("Cache-Control", "expires=0");
response.setHeader("ContentType", "text/plain"); //; charset=ISO-8859-1 response.setHeader("ContentType", "text/plain"); //; charset=ISO-8859-1
sendBackIso(csv.toString(), "text/csv; charset=ISO-8859-1"); sendBackIso(csv.toString(), "text/csv; charset=ISO-8859-1");
@ -1084,7 +1084,7 @@ public class SuperXmlTabelle extends AbstractSuperXServlet {
{ {
//Format bis 2024.06: //Format bis 2024.06:
response.setHeader("Content-disposition", "attachment; filename=" + FileUtils.removeProblemChars(maske.getName()) + ".csv"); response.setHeader("Content-disposition", "attachment; filename=" + FileUtils.removeProblemChars(maske.getExportName()) + ".csv");
response.setHeader("Cache-Control", "expires=0"); response.setHeader("Cache-Control", "expires=0");
sendBack(csv.toString(), "text/csv"); sendBack(csv.toString(), "text/csv");
@ -1936,7 +1936,7 @@ public class SuperXmlTabelle extends AbstractSuperXServlet {
String filename_extension=".jrxml"; String filename_extension=".jrxml";
OutputStream out = response.getOutputStream(); OutputStream out = response.getOutputStream();
// open browser download dialogue // open browser download dialogue
response.setHeader("Content-disposition", "attachment; filename=" + FileUtils.removeProblemChars(maske.getName()) + filename_extension); response.setHeader("Content-disposition", "attachment; filename=" + FileUtils.removeProblemChars(maske.getExportName()) + filename_extension);
response.setHeader("Cache-Control", "expires=0"); response.setHeader("Cache-Control", "expires=0");
String jrxmlFileContent = de.memtext.util.FileUtils.getFileContentsWithEncoding(jrxmlFilePath, SqlStringUtils.getEncoding()); String jrxmlFileContent = de.memtext.util.FileUtils.getFileContentsWithEncoding(jrxmlFilePath, SqlStringUtils.getEncoding());

12
superx/index.jsp

@ -16,6 +16,10 @@ if(mandantparam !=null && !mandantenid.equals(""))
String username=""; String username="";
String loginPortlet=""; String loginPortlet="";
String login_param=request.getParameter("login");
if(login_param ==null)
login_param="";
StringBuffer defaultReport=new StringBuffer(); StringBuffer defaultReport=new StringBuffer();
String defaultReportParam=request.getParameter("report_id"); String defaultReportParam=request.getParameter("report_id");
String defaultMandantenIDParam=request.getParameter("MandantID"); String defaultMandantenIDParam=request.getParameter("MandantID");
@ -245,12 +249,12 @@ username=request.getRemoteUser();
{ {
%> %>
<%@ include file="sx_login.inc" %> <%@ include file="sx_login.jsp" %>
<% <%
} }
else //else
{ //{
%> %>
<div id="nd_login" class="portlet_grid"> <div id="nd_login" class="portlet_grid">
<div class="grid"> <div class="grid">
@ -280,7 +284,7 @@ rs.close();
st.close(); st.close();
conmm.close(); conmm.close();
} //}
%> %>
<!---Ende Login-Dialog--> <!---Ende Login-Dialog-->

12
superx/style/sx_common.css

@ -319,6 +319,11 @@ body.dark-theme img { /*filter für theme dark*/
overflow: initial; } overflow: initial; }
/*Bottom-Navi*/ /*Bottom-Navi*/
#nd_navi_bottom { /*20250130BF ergänzt*/
position: fixed; /*nd_navi_bottom ist immer sichtbar, auch beim Scrollen*/
bottom: 0;
width: 100%;}
.bottom-nav { /*für Bottomnavi-Zeile*/ .bottom-nav { /*für Bottomnavi-Zeile*/
display: flex; display: flex;
flex-flow: row nowrap; flex-flow: row nowrap;
@ -664,11 +669,10 @@ input.schluesselfeld {
} }
input.ndSchluesselfeld { input.ndSchluesselfeld {
border-color: hsl(var(--bulma-input-focus-h),var(--bulma-input-focus-s),var(--bulma-input-focus-l)); border-color: hsl(var(--bulma-input-focus-h),var(--bulma-input-focus-s),var(--bulma-input-focus-l));
--bulma-input-border-width: 1px; --bulma-input-border-width: 1px;
--bulma-input-border-l: var(--bulma-border-l); --bulma-input-border-l: var(--bulma-border-l);
box-shadow: inset 0 0.0625em 0.125em hsla(var(--bulma-scheme-h), var(--bulma-scheme-s), var(--bulma-scheme-invert-l), 0.05); box-shadow: inset 0 0.0625em 0.125em hsla(var(--bulma-scheme-h), var(--bulma-scheme-s), var(--bulma-scheme-invert-l), 0.05);
background-color:#FFFAF0; background-color:#FFFAF0;
font-size: var(--bulma-size-small); font-size: var(--bulma-size-small);
padding-left: 5px; padding-left: 5px;

76
superx/sx_login.jsp

@ -0,0 +1,76 @@
<section class="hero is-light">
<div class="hero-body is-mobile">
<div class='columns is-mobile is-centered'>
<div class="column is-one-third">
<div class="card">
<div class="card-content">
<div class="media">
<div class="media-left">
<figure class="image is-96x96">
<img src="/superx/images/sx_login.png" />
</figure>
</div>
<div class="media-content">
<span class="separator">&#160;</span>
<p class="title is-6">Willkommen bei SuperX.</p>
<p class="subtitle is-7">Bitte melden Sie sich an.</p>
</div>
</div>
<div class='content'>
<div class="media-content">
<FORM id="login" ACTION="/superx/servlet/SuperXmlAnmeldung" METHOD="post">
<div class="field">
<div class="control">
<input class="input is-small is-focused" type="text" placeholder="Ihre Kennung" autofocus="" NAME="kennung"/>
</div>
</div>
<div class="field">
<div class="control">
<input class="input is-small" type="password" placeholder="Ihr Passwort" NAME="passwort" />
</div>
</div>
<INPUT TYPE="hidden" NAME="MandantenID" value="<%= MandantenID_Login.toString() %>">
<input type="hidden" Name="requestedServlet" value="..<%= LinkMandantenID.toString() %>/index.jsp<%= defaultReport.toString() %>"/>
<input type="hidden" Name="alt_redirect_url" value="/superx<%= LinkMandantenID.toString() %>/index.jsp"/>
<button class="button is-small is-link is-outlined is-fullwidth is-hovered">
<span class="icon is-small">Anmelden &#160;
<img src="/superx/images/login_grey_small.svg" aria-hidden="true" />
</span>
</button>
</FORM>
</div>
</div>
<!--Beginn Card-Footer-->
<div class="card-footer"> <!--****Links fehlen noch***-->
<!--
<button class="button is-small is-link is-outlined"><a href="../">Neu bei SuperX?</a></button><span class="separator">&#160;</span>
<button class="button is-small is-link is-outlined"><a href="../">Password vergessen?</a></button><span class="separator">&#160;</span>
<button class="button is-small is-link is-outlined"><a href="../">Hilfe n&ouml;tig?</a></button>
-->
<button class="button is-small is-link is-outlined"><a href="http://www.superx-projekt.de/doku/kern_modul/benutzer/index.htm">Hilfe n&ouml;tig?</a></button>
<span class="separator">&#160;</span>
<button class="button is-small is-link is-outlined"><a href="<%="/superx/edit/kern/show_html_content.jsp?output=IMPRINT&MandantID="+ mandantenid.toString() %>">Impressum</a></button>
<span class="separator">&#160;</span>
<button class="button is-small is-link is-outlined"><a href="<%="/superx/edit/kern/show_html_content.jsp?output=PRIVACY&MandantID="+ mandantenid.toString() %>">Datenschutz</a></button>
</div>
<!--Ende Card-Footer-->
</div> <!--EndeCard-Content-->
</div> <!--EndeCard-Background-->
</div>
</div> <!--Ende Columns-->
</div> <!--Ende Hero-Body-->
</section> <!--Ende Hero-->

5
superx/xml/nd_templates.xsl

@ -2275,6 +2275,7 @@ Seite 1 von 1
<xsl:otherwise> <xsl:otherwise>
<div class="control-new"> <!--220424BFeingefügt--> <div class="control-new"> <!--220424BFeingefügt-->
<div class="field has-addons"> <!--220424BFeingefügt--> <div class="field has-addons"> <!--220424BFeingefügt-->
<xsl:call-template name="nd_selectionform_field_input_schluesselfeld" />
<div class="control is-expanded"> <!--220424BFeingefügt--> <div class="control is-expanded"> <!--220424BFeingefügt-->
<xsl:choose> <xsl:choose>
<!-- start art 0--> <!-- start art 0-->
@ -2583,7 +2584,7 @@ Seite 1 von 1
<!--<span class="button is-light tooltip is-tooltip-right" >--> <!--<span class="button is-light tooltip is-tooltip-right" >-->
<!--<span class="button is-light has-tooltip-left" >--> <!--220424BFeingefügt--> <!--<span class="button is-light has-tooltip-left" >--> <!--220424BFeingefügt-->
<div class="control"> <!--220424BFeingefügt--> <div class="control"> <!--220424BFeingefügt-->
<button class="button is-small is-rounded has-tooltip-bottom"> <!--220424BFgeändert--> <button class="button is-small is-rounded has-tooltip-bottom" onClick="return false;"> <!--220424BFgeändert-->
<xsl:attribute name="data-tooltip"> <xsl:attribute name="data-tooltip">
<xsl:call-template name="br_to_newline"> <xsl:call-template name="br_to_newline">
<xsl:with-param name="string"><![CDATA[]]><xsl:value-of select="caption_long"/><![CDATA[]]></xsl:with-param> <xsl:with-param name="string"><![CDATA[]]><xsl:value-of select="caption_long"/><![CDATA[]]></xsl:with-param>
@ -2606,7 +2607,7 @@ Seite 1 von 1
<xsl:value-of select="caption_long" disable-output-escaping="yes"/> <xsl:value-of select="caption_long" disable-output-escaping="yes"/>
</p>--> <!--220424BFdeaktiviert--> </p>--> <!--220424BFdeaktiviert-->
</xsl:if> </xsl:if>
<xsl:call-template name="nd_selectionform_field_input_schluesselfeld" /> <!--<xsl:call-template name="nd_selectionform_field_input_schluesselfeld" />-->
</div> </div>
</div> </div>
</xsl:otherwise> </xsl:otherwise>

Loading…
Cancel
Save