Skip to content

Commit

Permalink
Fix abgeschlossene splitbuchung (#289)
Browse files Browse the repository at this point in the history
* Fix abgeschlossene Splitbuchung oeffnen

* Erweiterter Check
  • Loading branch information
JohannMaierhofer authored Aug 9, 2024
1 parent 55482c7 commit 68d50b6
Show file tree
Hide file tree
Showing 3 changed files with 48 additions and 6 deletions.
31 changes: 31 additions & 0 deletions src/de/jost_net/JVerein/gui/control/BuchungsControl.java
Original file line number Diff line number Diff line change
Expand Up @@ -1696,6 +1696,37 @@ public boolean isBuchungAbgeschlossen() throws ApplicationException
}
return false;
}

public boolean isSplitBuchungAbgeschlossen() throws ApplicationException
{
try
{
if (!getBuchung().isNewObject())
{
DBIterator<Buchung> it = Einstellungen.getDBService()
.createList(Buchung.class);
it.addFilter("splitid = ?", getBuchung().getSplitId());
while (it.hasNext())
{
Buchung buchung = (Buchung) it.next();
Jahresabschluss ja = buchung.getJahresabschluss();
if (ja != null)
{
GUI.getStatusBar().setErrorText(String.format(
"Buchung wurde bereits am %s von %s abgeschlossen.",
new JVDateFormatTTMMJJJJ().format(ja.getDatum()), ja.getName()));
return true;
}
}
}
}
catch (RemoteException e)
{
throw new ApplicationException(
"Status der aktuellen Buchung kann nicht geprüft werden.", e);
}
return false;
}

public Action getBuchungSpeichernAction()
{
Expand Down
22 changes: 17 additions & 5 deletions src/de/jost_net/JVerein/gui/view/SplitBuchungView.java
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@
import de.willuhn.jameica.gui.AbstractView;
import de.willuhn.jameica.gui.Action;
import de.willuhn.jameica.gui.GUI;
import de.willuhn.jameica.gui.parts.Button;
import de.willuhn.jameica.gui.parts.ButtonArea;
import de.willuhn.jameica.gui.parts.InfoPanel;

Expand All @@ -36,22 +37,31 @@ public void bind() throws Exception
GUI.getView().setTitle("Splitbuchungen");

final BuchungsControl control = new BuchungsControl(this);

final boolean buchungabgeschlossen = control.isSplitBuchungAbgeschlossen();

InfoPanel info = new InfoPanel();
info.setText(SplitbuchungsContainer.getText());
info.setTitle("Info");
info.setIcon("gtk-info.png");
info.paint(getParent());
control.getSplitBuchungsList().paint(getParent());

ButtonArea buttons = new ButtonArea();
buttons.addButton("Hilfe", new DokumentationAction(),
DokumentationUtil.SPLITBUCHUNG, false, "question-circle.png");
buttons.addButton("Neu", new SplitbuchungNeuAction(),
Button neu = new Button("Neu", new SplitbuchungNeuAction(),
control.getCurrentObject(), false, "document-new.png");
buttons.addButton("Auflösen", new SplitbuchungAufloesenAction(control),
neu.setEnabled(!buchungabgeschlossen);
buttons.addButton(neu);
Button aufloesen = new Button("Auflösen", new SplitbuchungAufloesenAction(control),
control.getCurrentObject(), false, "unlocked.png");
buttons.addButton(control.getSammelueberweisungButton());

buttons.addButton("Speichern", new Action()
aufloesen.setEnabled(!buchungabgeschlossen);
buttons.addButton(aufloesen);
Button sammel = control.getSammelueberweisungButton();
sammel.setEnabled(!buchungabgeschlossen);
buttons.addButton(sammel);
Button speichern = new Button("Speichern", new Action()
{
@Override
public void handleAction(Object context)
Expand All @@ -76,6 +86,8 @@ public void handleAction(Object context)
}
}
}, null, true, "document-save.png");
speichern.setEnabled(!buchungabgeschlossen);
buttons.addButton(speichern);
buttons.paint(getParent());
}
}
1 change: 0 additions & 1 deletion src/de/jost_net/JVerein/io/SplitbuchungsContainer.java
Original file line number Diff line number Diff line change
Expand Up @@ -124,7 +124,6 @@ public static Buchung getMaster() throws RemoteException

public static void add(Buchung b) throws RemoteException, ApplicationException
{
b.plausi();
b.setSpeicherung(false);
if (!splitbuchungen.contains(b))
{
Expand Down

0 comments on commit 68d50b6

Please sign in to comment.