Skip to content

Commit

Permalink
Adressfenster auch bei individueller Spendenbescheinigung (#254)
Browse files Browse the repository at this point in the history
* Spendenbescheinigung Adressfenster auch bei individuell drucken

* Grosse Schrift

* Feature umgebaut

* Zwischenstand

* Update MailView

* Besserer text

* Delete MailAbfrageDialog.java
  • Loading branch information
JohannMaierhofer authored Jul 24, 2024
1 parent 5c22a3d commit 4f6b300
Show file tree
Hide file tree
Showing 14 changed files with 173 additions and 253 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ public class SpendenbescheinigungPrintAction implements Action

private boolean standardPdf = true;

private boolean mailversand = false;
private boolean adressblatt = false;

private String fileName = null;

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

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

/**
Expand Down Expand Up @@ -223,7 +223,7 @@ else if (gc.get(GregorianCalendar.YEAR) == 2013)
}
else
{
generiereSpendenbescheinigungStandardAb2014(spb, fileName);
generiereSpendenbescheinigungStandardAb2014(spb, fileName, adressblatt);
}
}
else
Expand All @@ -234,6 +234,12 @@ else if (gc.get(GregorianCalendar.YEAR) == 2013)
map = new AllgemeineMap().getMap(map);
FormularAufbereitung fa = new FormularAufbereitung(file);
fa.writeForm(fo, map);
// Brieffenster drucken bei Spendenbescheinigung
if (adressblatt)
{
fa.printAdressfenster(getAussteller(),
(String) map.get(SpendenbescheinigungVar.EMPFAENGER.getName()));
}
fa.closeFormular();
}
}
Expand Down Expand Up @@ -936,7 +942,7 @@ private void generiereSpendenbescheinigungStandardAb2013(
* @throws DocumentException
*/
private void generiereSpendenbescheinigungStandardAb2014(
Spendenbescheinigung spb, String fileName)
Spendenbescheinigung spb, String fileName, boolean adressblatt)
throws IOException, DocumentException
{
final File file = new File(fileName);
Expand Down Expand Up @@ -1297,16 +1303,7 @@ private void generiereSpendenbescheinigungStandardAb2014(
rpt.closeTable();
}

String email = null;
if (spb.getMitglied() != null)
{
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()))
if (adressblatt)
{
// Neue Seite mit Anschrift für Fenster in querem Brief
rpt.newPage();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,14 +16,10 @@
package de.jost_net.JVerein.gui.action;

import de.jost_net.JVerein.gui.view.SpendenbescheinigungMailView;

import de.jost_net.JVerein.gui.dialogs.MailAbfrageDialog;
import de.jost_net.JVerein.gui.dialogs.MailAbfrageDialog.Auswahl;
import de.jost_net.JVerein.rmi.Spendenbescheinigung;
import de.willuhn.jameica.gui.Action;
import de.willuhn.jameica.gui.GUI;
import de.willuhn.jameica.gui.parts.TablePart;
import de.willuhn.jameica.system.OperationCanceledException;
import de.willuhn.util.ApplicationException;

/**
Expand Down Expand Up @@ -70,40 +66,7 @@ else if (context instanceof Spendenbescheinigung[])
{
return;
}

try
{
String text = "Für das Versenden werden gedruckte Spendenbescheinigungen benötigt."
+ "\nWenn sie schon gedruckt wurden brauchen sie nicht neu gedruckt werden.";
MailAbfrageDialog d = new MailAbfrageDialog(text, MailAbfrageDialog.POSITION_CENTER);
d.setTitle("Spendenbescheinigungen versenden");
d.setPanelText("Spendenbescheinigungen drucken?");

MailAbfrageDialog.Auswahl choice = (MailAbfrageDialog.Auswahl) d.open();
if (choice == null)
{
return;
}
else if (choice == Auswahl.DRUCKEN_STANDARD)
{
SpendenbescheinigungPrintAction action = new SpendenbescheinigungPrintAction(true, true);
action.handleAction(spbArr);
}
else if (choice == Auswahl.DRUCKEN_INDIVIDUELL)
{
SpendenbescheinigungPrintAction action = new SpendenbescheinigungPrintAction(false, true);
action.handleAction(spbArr);
}

GUI.startView(SpendenbescheinigungMailView.class, spbArr);
}
catch (OperationCanceledException oce)
{
throw oce;
}
catch (Exception e)
{
GUI.getStatusBar().setErrorText(e.getMessage());
}
GUI.startView(SpendenbescheinigungMailView.class, spbArr);
}
}
26 changes: 0 additions & 26 deletions src/de/jost_net/JVerein/gui/control/EinstellungControl.java
Original file line number Diff line number Diff line change
Expand Up @@ -294,10 +294,6 @@ public class EinstellungControl extends AbstractControl
private CheckboxInput abrlabschliessen;

private CheckboxInput optiert;

private CheckboxInput spendenbescheinigungadresse;

private CheckboxInput spendenbescheinigungadressem;

private CheckboxInput unterschriftdrucken;

Expand Down Expand Up @@ -813,26 +809,6 @@ public CheckboxInput getOptiert() throws RemoteException
optiert.setName("Umsatzsteueroption");
return optiert;
}

public CheckboxInput getSpendenbescheinigungadresse() throws RemoteException
{
if (spendenbescheinigungadresse != null)
{
return spendenbescheinigungadresse;
}
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 @@ -2143,8 +2119,6 @@ public void handleStoreSpendenbescheinigungen()
.getValue());
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.setAnhangSpeichern((Boolean) anhangspeichern.getValue());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@

import de.jost_net.JVerein.Einstellungen;
import de.jost_net.JVerein.Variable.AllgemeineMap;
import de.jost_net.JVerein.Variable.SpendenbescheinigungVar;
import de.jost_net.JVerein.gui.action.SpendenbescheinigungAction;
import de.jost_net.JVerein.gui.action.SpendenbescheinigungPrintAction;
import de.jost_net.JVerein.gui.formatter.BuchungsartFormatter;
Expand Down Expand Up @@ -466,12 +467,12 @@ public void handleStore()
}
}

public Button getPDFStandardButton(final boolean mailversand)
public Button getPDFStandardButton(final boolean adressblatt)
{
String label = "PDF (Standard, Briefversand)";
if (mailversand)
String label = "PDF (Standard)";
if (adressblatt)
{
label = "PDF (Standard, Mailversand)";
label = "PDF (Standard, Mit Adressblatt)";
}
Button b = new Button(label, new Action()
{
Expand Down Expand Up @@ -529,7 +530,7 @@ public void handleAction(Object context) throws ApplicationException
final File file = new File(s);
//
SpendenbescheinigungPrintAction spa = new SpendenbescheinigungPrintAction(
true, mailversand, s);
true, adressblatt, s);
spa.handleAction(spb);
GUI.getStatusBar().setSuccessText("Spendenbescheinigung erstellt");
FileViewer.show(file);
Expand All @@ -545,17 +546,22 @@ public void handleAction(Object context) throws ApplicationException
return b;
}

public Button getPDFIndividuellButton()
public Button getPDFIndividuellButton(final boolean adressblatt)
{
Button b = new Button("PDF (Individuell)", new Action()
String label = "PDF (Individuell)";
if (adressblatt)
{
label = "PDF (Individuell, Mit Adressblatt)";
}
Button b = new Button(label, new Action()
{

@Override
public void handleAction(Object context) throws ApplicationException
{
try
{
generiereSpendenbescheinigungIndividuell();
generiereSpendenbescheinigungIndividuell(adressblatt);
}
catch (RemoteException e)
{
Expand All @@ -574,7 +580,7 @@ public void handleAction(Object context) throws ApplicationException
return b;
}

private void generiereSpendenbescheinigungIndividuell() throws IOException
private void generiereSpendenbescheinigungIndividuell(boolean adressblatt) throws IOException
{
Spendenbescheinigung spb = getSpendenbescheinigung();
if (spb.isNewObject())
Expand Down Expand Up @@ -633,9 +639,23 @@ private void generiereSpendenbescheinigungIndividuell() throws IOException
map = new AllgemeineMap().getMap(map);
FormularAufbereitung fa = new FormularAufbereitung(file);
fa.writeForm(fo, map);
// Brieffenster drucken bei Spendenbescheinigung
if (adressblatt)
{
fa.printAdressfenster(getAussteller(),
(String) map.get(SpendenbescheinigungVar.EMPFAENGER.getName()));
}
fa.showFormular();

}

private String getAussteller() throws RemoteException
{
return Einstellungen.getEinstellung().getName() + ", "
+ Einstellungen.getEinstellung().getStrasse() + ", "
+ Einstellungen.getEinstellung().getPlz() + " "
+ Einstellungen.getEinstellung().getOrt();
}

public Part getSpendenbescheinigungList() throws RemoteException
{
Expand Down
Loading

0 comments on commit 4f6b300

Please sign in to comment.