Skip to content

Commit

Permalink
Feature Unterschrift in Standard Spendenbescheinigung (#206)
Browse files Browse the repository at this point in the history
* Feature Unterschrift in Standard Spendenbescheinigung

* check empty figure

* Fix scale bug
  • Loading branch information
JohannMaierhofer committed Apr 17, 2024
1 parent d5cc47d commit 2e227c1
Show file tree
Hide file tree
Showing 7 changed files with 134 additions and 2 deletions.
Expand Up @@ -1193,8 +1193,19 @@ private void generiereSpendenbescheinigungStandardAb2014(
+ new JVDateFormatTTMMJJJJ().format(spb.getBescheinigungsdatum()),
9);

if (Einstellungen.getEinstellung().getUnterschriftdrucken() &&
Einstellungen.getEinstellung().getUnterschrift() != null)
{
rpt.add("\n", 8);
rpt.add(Einstellungen.getEinstellung().getUnterschrift(), 400, 55, 0);
}
else
{
rpt.add("\n\n\n\n", 8);
}

rpt.add(
"\n\n\n\n.................................................................................\nUnterschrift des Zuwendungsempfängers",
".................................................................................\nUnterschrift des Zuwendungsempfängers",
8);

rpt.add("\nHinweis:", 8);
Expand Down
28 changes: 28 additions & 0 deletions src/de/jost_net/JVerein/gui/control/EinstellungControl.java
Expand Up @@ -52,6 +52,7 @@
import de.willuhn.jameica.gui.input.DateInput;
import de.willuhn.jameica.gui.input.DecimalInput;
import de.willuhn.jameica.gui.input.DirectoryInput;
import de.willuhn.jameica.gui.input.ImageInput;
import de.willuhn.jameica.gui.input.Input;
import de.willuhn.jameica.gui.input.IntegerInput;
import de.willuhn.jameica.gui.input.PasswordInput;
Expand Down Expand Up @@ -295,6 +296,11 @@ public class EinstellungControl extends AbstractControl
private CheckboxInput optiert;

private CheckboxInput spendenbescheinigungadresse;

private CheckboxInput unterschriftdrucken;

private ImageInput unterschrift;


/**
* Verschlüsselte Datei für besonders sensible Daten (Passwörter)
Expand Down Expand Up @@ -1806,6 +1812,26 @@ public CheckboxInput getAbrlAbschliessen() throws RemoteException
abrlabschliessen.setName("Funktion einschalten");
return abrlabschliessen;
}

public CheckboxInput getUnterschriftdrucken() throws RemoteException
{
if (unterschriftdrucken != null)
{
return unterschriftdrucken;
}
unterschriftdrucken = new CheckboxInput(Einstellungen.getEinstellung().getUnterschriftdrucken());
return unterschriftdrucken;
}

public ImageInput getUnterschrift() throws RemoteException
{
if (unterschrift != null)
{
return unterschrift;
}
unterschrift = new ImageInput(Einstellungen.getEinstellung().getUnterschrift(), 400, 75);
return unterschrift;
}

public void handleStoreAllgemein()
{
Expand Down Expand Up @@ -1974,6 +2000,8 @@ public void handleStoreSpendenbescheinigungen()
e.setSpendenbescheinigungPrintBuchungsart((Boolean) spendenbescheinigungprintbuchungsart
.getValue());
e.setSpendenbescheinigungadresse((Boolean) getSpendenbescheinigungadresse().getValue());
e.setUnterschriftdrucken((Boolean) unterschriftdrucken.getValue());
e.setUnterschrift((byte[]) unterschrift.getValue());
e.store();
Einstellungen.setEinstellung(e);
GUI.getStatusBar().setSuccessText("Einstellungen gespeichert");
Expand Down
Expand Up @@ -54,6 +54,9 @@ public void bind() throws Exception
control.getSpendenbescheinigungPrintBuchungsart());
cont.addLabelPair("Adressausgabe für Brieffenster",
control.getSpendenbescheinigungadresse());
cont.addLabelPair("Unterschrift drucken",
control.getUnterschriftdrucken());
cont.addLabelPair("Unterschrift", control.getUnterschrift());

ButtonArea buttons = new ButtonArea();
buttons.addButton("Hilfe", new DokumentationAction(),
Expand Down
23 changes: 22 additions & 1 deletion src/de/jost_net/JVerein/io/Reporter.java
Expand Up @@ -247,7 +247,7 @@ public void addColumn(byte[] image, int width, int height,
}
else
{
w = i.getHeight() / h;
w = i.getWidth() / h;
h = height;
}
i.scaleToFit(w, h);
Expand All @@ -256,6 +256,27 @@ public void addColumn(byte[] image, int width, int height,
cell.setHorizontalAlignment(horizontalalignment);
table.addCell(cell);
}

public void add(byte[] image, int width, int height,
int horizontalalignment)
throws BadElementException, MalformedURLException, IOException, DocumentException
{
Image i = Image.getInstance(image);
float w = i.getWidth() / width;
float h = i.getHeight() / height;
if (w > h)
{
h = i.getHeight() / w;
w = width;
}
else
{
w = i.getWidth() / h;
h = height;
}
i.scaleToFit(w, h);
rpt.add(i);
}

/**
* Fuegt eine neue Zelle zur Tabelle hinzu.
Expand Down
7 changes: 7 additions & 0 deletions src/de/jost_net/JVerein/rmi/Einstellung.java
Expand Up @@ -548,4 +548,11 @@ public void setCt1SepaVersion(SepaVersion sepaversion)

public void setSpendenbescheinigungadresse(Boolean spendenbescheinigungadresse) throws RemoteException;

public Boolean getUnterschriftdrucken() throws RemoteException;

public void setUnterschriftdrucken(Boolean unterschriftdrucken) throws RemoteException;

public byte[] getUnterschrift() throws RemoteException;

public void setUnterschrift(byte[] unterschrift) throws RemoteException;
}
38 changes: 38 additions & 0 deletions src/de/jost_net/JVerein/server/DDLTool/Updates/Update0435.java
@@ -0,0 +1,38 @@
/**********************************************************************
* This program is free software: you can redistribute it and/or modify it under the terms of the
* GNU General Public License as published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without
* even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
* the GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License along with this program. If not,
* see <http://www.gnu.org/licenses/>.
*
**********************************************************************/
package de.jost_net.JVerein.server.DDLTool.Updates;

import de.jost_net.JVerein.server.DDLTool.AbstractDDLUpdate;
import de.jost_net.JVerein.server.DDLTool.Column;
import de.willuhn.util.ApplicationException;
import de.willuhn.util.ProgressMonitor;

import java.sql.Connection;

public class Update0435 extends AbstractDDLUpdate
{
public Update0435(String driver, ProgressMonitor monitor, Connection conn)
{
super(driver, monitor, conn);
}

@Override
public void run() throws ApplicationException
{
execute(addColumn("einstellung", new Column("unterschriftdrucken",
COLTYPE.BOOLEAN, 0, null, false, false)));
execute(addColumn("einstellung", new Column("unterschrift",
COLTYPE.LONGBLOB, 0, null, false, false)));
}
}
24 changes: 24 additions & 0 deletions src/de/jost_net/JVerein/server/EinstellungImpl.java
Expand Up @@ -1828,4 +1828,28 @@ public void setSpendenbescheinigungadresse(Boolean spendenbescheinigungadresse)
{
setAttribute("spendenbescheinigungadresse", spendenbescheinigungadresse);
}

@Override
public Boolean getUnterschriftdrucken() throws RemoteException
{
return Util.getBoolean(getAttribute("unterschriftdrucken"));
}

@Override
public void setUnterschriftdrucken(Boolean unterschriftdrucken) throws RemoteException
{
setAttribute("unterschriftdrucken", unterschriftdrucken);
}

@Override
public byte[] getUnterschrift() throws RemoteException
{
return (byte[]) getAttribute("unterschrift");
}

@Override
public void setUnterschrift(byte[] unterschrift) throws RemoteException
{
setAttribute("unterschrift", unterschrift);
}
}

0 comments on commit 2e227c1

Please sign in to comment.