Skip to content

Commit

Permalink
Merge branch 'master' into Spendenbescheinigung_auf_zahler_ausstellen
Browse files Browse the repository at this point in the history
  • Loading branch information
Johann Maierhofer committed Jan 18, 2025
2 parents 4a050ac + 7661d7b commit 2d99993
Show file tree
Hide file tree
Showing 42 changed files with 1,077 additions and 273 deletions.
2 changes: 1 addition & 1 deletion .classpath
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,6 @@
<classpathentry kind="lib" path="lib/xmpbox-3.0.3.jar"/>
<classpathentry kind="lib" path="lib/jakarta.activation-api-2.1.3.jar"/>
<classpathentry kind="lib" path="lib/dom4j-2.1.4.jar"/>
<classpathentry kind="lib" path="lib/mustang-2.15.2.jar"/>
<classpathentry kind="lib" path="lib/mustang-2.16.0.jar"/>
<classpathentry kind="output" path="bin"/>
</classpath>
4 changes: 2 additions & 2 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ Für die Verwendung von IntelliJ folge diesen Schritten:

### Erster Start
1. Führe die eben erstellte Configuration aus. Noch sind keine Plugins installiert, schließe daher Jameica wieder.
2. Navigiere in den erstellten jameica.test Ordner und öffne die Datei cfg/de.willuhn.jameica.system.Config.properties in einem Text-Editor.
3. Füge die Zeilen "jameica.plugin.dir.0=../../hibiscus-<version>-nightly.src/hibiscus" und "jameica.plugin.dir.1=../../jverein" in die Datei ein.
2. Navigiere in den erstellten jameica.test Ordner und öffne die Datei `cfg/de.willuhn.jameica.system.Config.properties` in einem Text-Editor.
3. Füge die Zeilen `jameica.plugin.dir.0=../../hibiscus-<version>-nightly.src/hibiscus` und `jameica.plugin.dir.1=../../jverein` in die Datei ein.
4. Führe nun die Jameica-Configuration erneut aus und die Plugins werden jetzt geladen. Die Einrichtung ist abgeschlossen und du kannst anfangen an diesem Projekt mitzuwirken.
5. Wenn du etwas am Code geändert hast und du deine Änderungen testen willst, musst du vor dem erneuten Ausführen der Run-Configuration einen Rebuild des Projekts durchführen.
Binary file removed lib/mustang-2.15.2.jar
Binary file not shown.
Binary file added lib/mustang-2.16.0.jar
Binary file not shown.
3 changes: 1 addition & 2 deletions src/de/jost_net/JVerein/Queries/MitgliedQuery.java
Original file line number Diff line number Diff line change
Expand Up @@ -292,8 +292,7 @@ else if (control.getMitgliedStatus().getValue().equals("Abgemeldet"))
Date d = (Date) control.getSterbedatumbis().getValue();
bedingungen.add(new java.sql.Date(d.getTime()));
}
if (control.isSuchGeschlechtAktiv() && control.getSuchGeschlecht().getText() != null
&& !control.getSuchGeschlecht().getText().equals("Bitte auswählen"))
if (control.isSuchGeschlechtAktiv() && control.getSuchGeschlecht().getValue() != null)
{
addCondition("geschlecht = ?");
String g = (String) control.getSuchGeschlecht().getValue();
Expand Down
26 changes: 26 additions & 0 deletions src/de/jost_net/JVerein/Variable/AllgemeineMap.java
Original file line number Diff line number Diff line change
Expand Up @@ -16,11 +16,14 @@
**********************************************************************/
package de.jost_net.JVerein.Variable;

import java.rmi.RemoteException;
import java.util.Calendar;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;

import de.jost_net.JVerein.Einstellungen;
import de.jost_net.JVerein.keys.Staat;
import de.jost_net.JVerein.util.JVDateFormatJJJJ;
import de.jost_net.JVerein.util.JVDateFormatMM;
import de.jost_net.JVerein.util.JVDateFormatMMJJJJ;
Expand All @@ -46,6 +49,7 @@ public AllgemeineMap()
}

public Map<String, Object> getMap(Map<String, Object> inma)
throws RemoteException
{
Map<String, Object> map = null;
if (inma == null)
Expand Down Expand Up @@ -81,6 +85,28 @@ public Map<String, Object> getMap(Map<String, Object> inma)
calendar.add(Calendar.YEAR, -1);
map.put(AllgemeineVar.VORJAHR.getName(), jjjj.format(calendar.getTime()));

map.put(AllgemeineVar.AKTUELLERMONAT.getName(), mmjjjj.format(new Date()));

map.put(AllgemeineVar.NAME.getName(),
Einstellungen.getEinstellung().getName());
map.put(AllgemeineVar.STRASSE.getName(),
Einstellungen.getEinstellung().getStrasse());
map.put(AllgemeineVar.PLZ.getName(),
Einstellungen.getEinstellung().getPlz());
map.put(AllgemeineVar.ORT.getName(),
Einstellungen.getEinstellung().getOrt());
map.put(AllgemeineVar.STAAT.getName(),
Staat.getByKey(Einstellungen.getEinstellung().getStaat()).getText());
map.put(AllgemeineVar.IBAN.getName(),
Einstellungen.getEinstellung().getIban());
map.put(AllgemeineVar.BIC.getName(),
Einstellungen.getEinstellung().getBic());
map.put(AllgemeineVar.GLAEUBIGER_ID.getName(),
Einstellungen.getEinstellung().getGlaeubigerID());
map.put(AllgemeineVar.UST_ID.getName(),
Einstellungen.getEinstellung().getUStID());
map.put(AllgemeineVar.STEUER_NR.getName(),
Einstellungen.getEinstellung().getSteuernummer());
return map;
}
}
12 changes: 11 additions & 1 deletion src/de/jost_net/JVerein/Variable/AllgemeineVar.java
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,17 @@ public enum AllgemeineVar
TAGESDATUMJJJJ("tagesdatumjjjj"), //
VORMONAT("vormonat"), //
VORJAHR("vorjahr"), //
ZAEHLER("zaehler"); //
ZAEHLER("zaehler"), //
NAME("verein_name"), //
STRASSE("verein_strasse"), //
PLZ("verein_name"), //
ORT("verein_ort"), //
STAAT("verein_staat"), //
IBAN("verein_iban"), //
BIC("verein_bic"), //
GLAEUBIGER_ID("verein_glaeubiger_id"), //
UST_ID("verein_ust_id"), //
STEUER_NR("verein_steuer_nr"); //

private String name;

Expand Down
59 changes: 59 additions & 0 deletions src/de/jost_net/JVerein/gui/action/FormularExportAction.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
/**********************************************************************
* Copyright (c) by Heiner Jostkleigrewe
* 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/>.
*
* [email protected]
* www.jverein.de
**********************************************************************/
package de.jost_net.JVerein.gui.action;

import de.jost_net.JVerein.gui.dialogs.ExportDialog;
import de.jost_net.JVerein.gui.view.DokumentationUtil;
import de.jost_net.JVerein.rmi.Formular;
import de.willuhn.jameica.gui.Action;
import de.willuhn.jameica.gui.GUI;
import de.willuhn.jameica.system.OperationCanceledException;
import de.willuhn.logging.Logger;
import de.willuhn.util.ApplicationException;

public class FormularExportAction implements Action
{

/**
* @see de.willuhn.jameica.gui.Action#handleAction(java.lang.Object)
*/
@Override
public void handleAction(Object context) throws ApplicationException
{
try
{
ExportDialog d = new ExportDialog(new Object[] { context },
Formular.class, DokumentationUtil.FORMULARE);
d.open();
}
catch (OperationCanceledException oce)
{
Logger.info(oce.getMessage());
return;
}
catch (ApplicationException ae)
{
throw ae;
}
catch (Exception e)
{
Logger.error("Fehler", e);
GUI.getStatusBar()
.setErrorText("Fehler beim exportieren des Formulars");
}
}
}
59 changes: 59 additions & 0 deletions src/de/jost_net/JVerein/gui/action/FormularImportAction.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
/**********************************************************************
* Copyright (c) by Heiner Jostkleigrewe
* 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/>.
*
* [email protected]
* www.jverein.de
**********************************************************************/
package de.jost_net.JVerein.gui.action;

import de.jost_net.JVerein.gui.dialogs.ImportDialog;
import de.jost_net.JVerein.gui.view.DokumentationUtil;
import de.jost_net.JVerein.rmi.Formular;
import de.willuhn.datasource.GenericObject;
import de.willuhn.jameica.gui.Action;
import de.willuhn.jameica.gui.GUI;
import de.willuhn.jameica.system.OperationCanceledException;
import de.willuhn.logging.Logger;
import de.willuhn.util.ApplicationException;

public class FormularImportAction implements Action
{

/**
* @see de.willuhn.jameica.gui.Action#handleAction(java.lang.Object)
*/
@Override
public void handleAction(Object context) throws ApplicationException
{
try
{
ImportDialog d = new ImportDialog((GenericObject) context,
Formular.class, true, DokumentationUtil.FORMULARE);
d.open();
}
catch (OperationCanceledException oce)
{
Logger.info(oce.getMessage());
return;
}
catch (ApplicationException ae)
{
throw ae;
}
catch (Exception e)
{
Logger.error("Fehler", e);
GUI.getStatusBar().setErrorText("Fehler beim importieren des Formulars");
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -120,6 +120,7 @@ private void generiereFreiesFormular(Mitglied[] m) throws Exception
Map<String, Object> map = new MitgliedMap().getMap(mi, null);
map = new AllgemeineMap().getMap(map);
fa.writeForm(fo, map);
fo.store();
}
fa.showFormular();

Expand Down
23 changes: 12 additions & 11 deletions src/de/jost_net/JVerein/gui/action/MitgliedLastschriftAction.java
Original file line number Diff line number Diff line change
Expand Up @@ -122,7 +122,6 @@ private boolean checkSEPA(Mitglied m) throws RemoteException
if (m.getZahlungsweg() == null
|| m.getZahlungsweg() != Zahlungsweg.BASISLASTSCHRIFT)
{

abortDialog("Fehler", "Zahlungsweg ist nicht Basislastschrift");
return false;
}
Expand All @@ -136,22 +135,24 @@ private boolean checkSEPA(Mitglied m) throws RemoteException
}
}

// pruefe Sepa Gueltigkeit: Datum der letzen Abbuchung
Date letzte_lastschrift = m.getLetzteLastschrift();
if (letzte_lastschrift != null)
// Pruefe Sepa Gueltigkeit:
// Bei Mandaten älter als 3 Jahre muss es eine Lastschrift
// innerhalb der letzten 3 Jahre geben
Calendar sepagueltigkeit = Calendar.getInstance();
sepagueltigkeit.add(Calendar.MONTH, -36);
if (m.getMandatDatum().before(sepagueltigkeit.getTime()))
{
Calendar sepagueltigkeit = Calendar.getInstance();
sepagueltigkeit.add(Calendar.MONTH, -36);
if (letzte_lastschrift.before(sepagueltigkeit.getTime()))
Date letzte_lastschrift = m.getLetzteLastschrift();
if (letzte_lastschrift == null
|| letzte_lastschrift.before(sepagueltigkeit.getTime()))
{
if (!confirmDialog("Letzte Lastschrift",
"Letzte Lastschrift ist älter als 36 Monate"))
if (!confirmDialog("Mandat abgelaufen",
"Das Mandat-Datum ist älter als 36 Monate und es erfolgte keine Lastschrift in den letzten 36 Monaten."))
{
return false;
}
}
}
}

return true;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -273,6 +273,7 @@ else if (context instanceof Spendenbescheinigung[])
fa.printAnschreiben(spb, text);
}
fa.closeFormular();
fo.store();
}
}
String erfolg = (spbArr.length > 1) ? "Die Spendenbescheinigungen wurden erstellt und unter " + path + " gespeichert."
Expand Down
13 changes: 11 additions & 2 deletions src/de/jost_net/JVerein/gui/control/BuchungsControl.java
Original file line number Diff line number Diff line change
Expand Up @@ -51,11 +51,11 @@
import de.jost_net.JVerein.gui.formatter.MitgliedskontoFormatter;
import de.jost_net.JVerein.gui.formatter.ProjektFormatter;
import de.jost_net.JVerein.gui.input.BuchungsartInput;
import de.jost_net.JVerein.gui.input.BuchungsartInput.buchungsarttyp;
import de.jost_net.JVerein.gui.input.BuchungsklasseInput;
import de.jost_net.JVerein.gui.input.IBANInput;
import de.jost_net.JVerein.gui.input.KontoauswahlInput;
import de.jost_net.JVerein.gui.input.SollbuchungAuswahlInput;
import de.jost_net.JVerein.gui.input.BuchungsartInput.buchungsarttyp;
import de.jost_net.JVerein.gui.menu.BuchungMenu;
import de.jost_net.JVerein.gui.menu.SplitBuchungMenu;
import de.jost_net.JVerein.gui.parts.BuchungListTablePart;
Expand All @@ -67,8 +67,8 @@
import de.jost_net.JVerein.io.BuchungsjournalPDF;
import de.jost_net.JVerein.io.SplitbuchungsContainer;
import de.jost_net.JVerein.io.Adressbuch.Adressaufbereitung;
import de.jost_net.JVerein.keys.ArtBuchungsart;
import de.jost_net.JVerein.keys.AbstractInputAuswahl;
import de.jost_net.JVerein.keys.ArtBuchungsart;
import de.jost_net.JVerein.keys.SplitbuchungTyp;
import de.jost_net.JVerein.keys.SteuersatzBuchungsart;
import de.jost_net.JVerein.keys.Zahlungsweg;
Expand Down Expand Up @@ -828,6 +828,10 @@ public SelectInput getSuchBuchungsart() throws RemoteException
suchbuchungsart.setList(liste);
suchbuchungsart.setValue(b);
suchbuchungsart.addListener(new FilterListener());
if (suchbuchungsart instanceof SelectInput)
{
suchbuchungsart.setPleaseChoose(FilterControl.ALLE);
}
return suchbuchungsart;
}

Expand Down Expand Up @@ -1129,6 +1133,11 @@ private Konto getSelectedKonto() throws ApplicationException
try
{
Konto konto = (Konto) getKonto(false).getValue();
if (konto == null)
{
throw new ApplicationException(
"Kein Konto Ausgewählt. Ggfs. erst unter Buchführung->Konten ein Konto anlegen.");
}
settings.setAttribute(settingsprefix + "kontoid", konto.getID());
return konto;
}
Expand Down
Loading

0 comments on commit 2d99993

Please sign in to comment.