Skip to content

Commit

Permalink
Eigene Option für Adressfenster in Spendenbescheinigung für Mailversa…
Browse files Browse the repository at this point in the history
…nd (#211)

* Zwischenstand

* Fix Merge Konflikt

change to Update0437

* Update Update0436.java
  • Loading branch information
JohannMaierhofer committed Apr 25, 2024
1 parent 8b86ff6 commit 78b2db7
Show file tree
Hide file tree
Showing 9 changed files with 98 additions and 11 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,8 @@ public class SpendenbescheinigungPrintAction implements Action
{

private boolean standardPdf = true;

private boolean mailversand = false;

private String fileName = null;

Expand All @@ -82,13 +84,16 @@ public SpendenbescheinigungPrintAction()
*
* @param standard
* true=Standard-Dokument, false=individuelles Dokument
* @param mailversand
* true=für Mailversand, false=für Briefversand
*/
public SpendenbescheinigungPrintAction(boolean standard)
public SpendenbescheinigungPrintAction(boolean standard, boolean mailversand)
{
super();
settings = new de.willuhn.jameica.system.Settings(this.getClass());
settings.setStoreWhenRead(true);
standardPdf = standard;
this.mailversand = mailversand;
}

/**
Expand All @@ -97,16 +102,19 @@ public SpendenbescheinigungPrintAction(boolean standard)
*
* @param standard
* true=Standard-Dokument, false=individuelles Dokument
* @param mailversand
* true=für Mailversand, false=für Briefversand
* @param fileName
* Dateiname als Vorgabe inklusive Pfad
*/
public SpendenbescheinigungPrintAction(boolean standard, String fileName)
public SpendenbescheinigungPrintAction(boolean standard, boolean mailversand, String fileName)
{
super();
settings = new de.willuhn.jameica.system.Settings(this.getClass());
settings.setStoreWhenRead(true);
standardPdf = standard;
this.fileName = fileName;
this.mailversand = mailversand;
}

/**
Expand Down Expand Up @@ -1292,7 +1300,12 @@ private void generiereSpendenbescheinigungStandardAb2014(
rpt.closeTable();
}

if (Einstellungen.getEinstellung().getSpendenbescheinigungadresse())
String email = spb.getMitglied().getEmail();
if ( (mailversand == false && Einstellungen.getEinstellung().getSpendenbescheinigungadresse())
|| (mailversand == true && Einstellungen.getEinstellung().getSpendenbescheinigungadresse()
&& (email == null || email.isEmpty()))
|| (mailversand == true && Einstellungen.getEinstellung().getSpendenbescheinigungadressem()
&& email != null && !email.isEmpty()))
{
// Neue Seite mit Anschrift für Fenster in querem Brief
rpt.newPage();
Expand Down
13 changes: 13 additions & 0 deletions src/de/jost_net/JVerein/gui/control/EinstellungControl.java
Original file line number Diff line number Diff line change
Expand Up @@ -297,6 +297,8 @@ public class EinstellungControl extends AbstractControl

private CheckboxInput spendenbescheinigungadresse;

private CheckboxInput spendenbescheinigungadressem;

private CheckboxInput unterschriftdrucken;

private ImageInput unterschrift;
Expand Down Expand Up @@ -819,6 +821,16 @@ public CheckboxInput getSpendenbescheinigungadresse() throws RemoteException
spendenbescheinigungadresse = new CheckboxInput(Einstellungen.getEinstellung().getSpendenbescheinigungadresse());
return spendenbescheinigungadresse;
}

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

public CheckboxInput getExterneMitgliedsnummer() throws RemoteException
{
Expand Down Expand Up @@ -2120,6 +2132,7 @@ public void handleStoreSpendenbescheinigungen()
e.setSpendenbescheinigungPrintBuchungsart((Boolean) spendenbescheinigungprintbuchungsart
.getValue());
e.setSpendenbescheinigungadresse((Boolean) getSpendenbescheinigungadresse().getValue());
e.setSpendenbescheinigungadressem((Boolean) getSpendenbescheinigungadressem().getValue());
e.setUnterschriftdrucken((Boolean) unterschriftdrucken.getValue());
e.setUnterschrift((byte[]) unterschrift.getValue());
e.store();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -461,9 +461,14 @@ public void handleStore()
}
}

public Button getPDFStandardButton()
public Button getPDFStandardButton(final boolean mailversand)
{
Button b = new Button("PDF (Standard)", new Action()
String label = "PDF (Standard, Briefversand)";
if (mailversand)
{
label = "PDF (Standard, Mailversand)";
}
Button b = new Button(label, new Action()
{

/**
Expand Down Expand Up @@ -519,7 +524,7 @@ public void handleAction(Object context) throws ApplicationException
final File file = new File(s);
//
SpendenbescheinigungPrintAction spa = new SpendenbescheinigungPrintAction(
true, s);
true, mailversand, s);
spa.handleAction(spb);
GUI.getStatusBar().setSuccessText("Spendenbescheinigung erstellt");
FileViewer.show(file);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,10 +38,12 @@ public class SpendenbescheinigungMenu extends ContextMenu
*/
public SpendenbescheinigungMenu()
{
addItem(new CheckedContextMenuItem("Drucken (Standard)",
new SpendenbescheinigungPrintAction(true), "file-pdf.png"));
addItem(new CheckedContextMenuItem("Drucken (Standard, Briefversand)",
new SpendenbescheinigungPrintAction(true, false), "file-pdf.png"));
addItem(new CheckedContextMenuItem("Drucken (Standard, Mailversand)",
new SpendenbescheinigungPrintAction(true, true), "file-pdf.png"));
addItem(new CheckedContextMenuItem("Drucken (individuell)",
new SpendenbescheinigungPrintAction(false), "file-pdf.png"));
new SpendenbescheinigungPrintAction(false, false), "file-pdf.png"));
addItem(ContextMenuItem.SEPARATOR);
addItem(new CheckedSingleContextMenuItem("E-Mail an Spender",
new SpendenbescheinigungEmailAction(), "envelope-open.png"));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -52,8 +52,10 @@ public void bind() throws Exception
control.getSpendenbescheinigungverzeichnis());
cont.addLabelPair("Buchungsart drucken",
control.getSpendenbescheinigungPrintBuchungsart());
cont.addLabelPair("Adressausgabe für Brieffenster",
cont.addLabelPair("Adressausgabe für Brieffenster (Briefversand)",
control.getSpendenbescheinigungadresse());
cont.addLabelPair("Adressausgabe für Brieffenster (Mailversand)",
control.getSpendenbescheinigungadressem());
cont.addLabelPair("Unterschrift drucken",
control.getUnterschriftdrucken());
cont.addLabelPair("Unterschrift", control.getUnterschrift());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -101,7 +101,8 @@ public void bind() throws Exception
ButtonArea buttons = new ButtonArea();
buttons.addButton("Hilfe", new DokumentationAction(),
DokumentationUtil.SPENDENBESCHEINIGUNG, false, "question-circle.png");
buttons.addButton(control.getPDFStandardButton());
buttons.addButton(control.getPDFStandardButton(false));
buttons.addButton(control.getPDFStandardButton(true));
buttons.addButton(control.getPDFIndividuellButton());
buttons.addButton("Neu (Sachspende)", new SpendenbescheinigungAction(Spendenart.SACHSPENDE), null, false,
"document-new.png");
Expand Down
4 changes: 4 additions & 0 deletions src/de/jost_net/JVerein/rmi/Einstellung.java
Original file line number Diff line number Diff line change
Expand Up @@ -547,6 +547,10 @@ public void setCt1SepaVersion(SepaVersion sepaversion)
public Boolean getSpendenbescheinigungadresse() throws RemoteException;

public void setSpendenbescheinigungadresse(Boolean spendenbescheinigungadresse) throws RemoteException;

public Boolean getSpendenbescheinigungadressem() throws RemoteException;

public void setSpendenbescheinigungadressem(Boolean spendenbescheinigungadressem) throws RemoteException;

public int getQRCodeSizeInMm() throws RemoteException;

Expand Down
36 changes: 36 additions & 0 deletions src/de/jost_net/JVerein/server/DDLTool/Updates/Update0437.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
/**********************************************************************
* 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 Update0437 extends AbstractDDLUpdate
{
public Update0437(String driver, ProgressMonitor monitor, Connection conn)
{
super(driver, monitor, conn);
}

@Override
public void run() throws ApplicationException
{
execute(addColumn("einstellung", new Column("spendenbescheinigungadressem",
COLTYPE.BOOLEAN, 0, "FALSE", false, false)));
}
}
11 changes: 11 additions & 0 deletions src/de/jost_net/JVerein/server/EinstellungImpl.java
Original file line number Diff line number Diff line change
Expand Up @@ -2000,6 +2000,17 @@ public void setSpendenbescheinigungadresse(Boolean spendenbescheinigungadresse)
}

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

@Override
public void setSpendenbescheinigungadressem(Boolean spendenbescheinigungadressem) throws RemoteException
{
setAttribute("spendenbescheinigungadressem", spendenbescheinigungadressem);
}

public Boolean getUnterschriftdrucken() throws RemoteException
{
return Util.getBoolean(getAttribute("unterschriftdrucken"));
Expand Down

0 comments on commit 78b2db7

Please sign in to comment.