Skip to content

Commit

Permalink
Sollbuchungen Menu Update (#255)
Browse files Browse the repository at this point in the history
* Sollbuchungen Menue Update

* Icon update

* Menu update

* Edit bei Doppelklick
  • Loading branch information
JohannMaierhofer authored Jul 26, 2024
1 parent 1efa8cb commit f37b4ac
Show file tree
Hide file tree
Showing 5 changed files with 80 additions and 18 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,10 @@ public void handleAction(Object context) throws ApplicationException
"Fehler beim Editieren einer Sollbuchung");
}
}
else if (context != null && (context instanceof Mitgliedskonto))
{
mk = (Mitgliedskonto) context;
}
else
{
try
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,8 @@ public class MitgliedskontoSollbuchungLoeschenAction implements Action
@Override
public void handleAction(Object context) throws ApplicationException
{
if (context == null || !(context instanceof MitgliedskontoNode))
if (context == null || !((context instanceof MitgliedskontoNode)
|| context instanceof Mitgliedskonto))
{
throw new ApplicationException("Keine Sollbuchung ausgewählt");
}
Expand All @@ -60,25 +61,28 @@ public void handleAction(Object context) throws ApplicationException
}
MitgliedskontoNode mkn = null;
Mitgliedskonto mk = null;

if (context != null && (context instanceof MitgliedskontoNode))
try
{
mkn = (MitgliedskontoNode) context;
try
if (context instanceof MitgliedskontoNode)
{
mkn = (MitgliedskontoNode) context;
mk = (Mitgliedskonto) Einstellungen.getDBService().createObject(
Mitgliedskonto.class, mkn.getID());
Mitglied mitglied = mk.getMitglied();
mk.delete();
GUI.getStatusBar().setSuccessText("Sollbuchung gelöscht.");
Application.getMessagingFactory().sendMessage(
new MitgliedskontoMessage(mitglied));
}
catch (RemoteException e)
else
{
throw new ApplicationException(
"Fehler beim Löschen einer Sollbuchung");
mk = (Mitgliedskonto) context;
}
Mitglied mitglied = mk.getMitglied();
mk.delete();
GUI.getStatusBar().setSuccessText("Sollbuchung gelöscht.");
Application.getMessagingFactory().sendMessage(
new MitgliedskontoMessage(mitglied));
}
catch (RemoteException e)
{
throw new ApplicationException(
"Fehler beim Löschen einer Sollbuchung");
}
}
}
58 changes: 56 additions & 2 deletions src/de/jost_net/JVerein/gui/menu/Mitgliedskonto2Menu.java
Original file line number Diff line number Diff line change
Expand Up @@ -17,10 +17,23 @@

package de.jost_net.JVerein.gui.menu;

import java.rmi.RemoteException;

import de.jost_net.JVerein.Einstellungen;
import de.jost_net.JVerein.gui.action.MitgliedDetailAction;
import de.jost_net.JVerein.gui.action.MitgliedskontoMahnungAction;
import de.jost_net.JVerein.gui.action.MitgliedskontoRechnungAction;
import de.jost_net.JVerein.gui.action.MitgliedskontoSollbuchungEditAction;
import de.jost_net.JVerein.gui.action.MitgliedskontoSollbuchungLoeschenAction;
import de.jost_net.JVerein.rmi.Buchung;
import de.jost_net.JVerein.rmi.Mitgliedskonto;
import de.willuhn.datasource.rmi.DBIterator;
import de.willuhn.jameica.gui.Action;
import de.willuhn.jameica.gui.parts.CheckedContextMenuItem;
import de.willuhn.jameica.gui.parts.CheckedSingleContextMenuItem;
import de.willuhn.jameica.gui.parts.ContextMenu;
import de.willuhn.jameica.gui.parts.ContextMenuItem;
import de.willuhn.logging.Logger;

/**
* Kontext-Menu zu den Mitgliedskonten.
Expand All @@ -33,9 +46,50 @@ public class Mitgliedskonto2Menu extends ContextMenu
*/
public Mitgliedskonto2Menu()
{
addItem(new CheckedContextMenuItem("Rechnung...",
addItem(new CheckedSingleContextMenuItem("Sollbuchung bearbeiten",
new MitgliedskontoSollbuchungEditAction(), "text-x-generic.png"));
addItem(new SollOhneIstItem("Sollbuchung löschen",
new MitgliedskontoSollbuchungLoeschenAction(), "user-trash-full.png"));
addItem(ContextMenuItem.SEPARATOR);
addItem(new CheckedSingleContextMenuItem("Mitglied anzeigen",
new MitgliedDetailAction(), "text-x-generic.png"));
addItem(new CheckedContextMenuItem("Rechnung erstellen",
new MitgliedskontoRechnungAction(), "file-invoice.png"));
addItem(new CheckedContextMenuItem("Mahnung...",
addItem(new CheckedContextMenuItem("Mahnung erstellen",
new MitgliedskontoMahnungAction(), "file-invoice.png"));
}

private static class SollOhneIstItem extends CheckedContextMenuItem
{

private SollOhneIstItem(String text, Action action, String icon)
{
super(text, action, icon);
}

@Override
public boolean isEnabledFor(Object o)
{
if (o instanceof Mitgliedskonto)
{
Mitgliedskonto mk = (Mitgliedskonto) o;
DBIterator<Buchung> it;
try
{
it = Einstellungen.getDBService().createList(Buchung.class);
it.addFilter("mitgliedskonto = ?", new Object[] { mk.getID() });
if (it.size() == 0)
{
return true;
}
}
catch (RemoteException e)
{
Logger.error("Fehler", e);
}
return false;
}
return false;
}
}
}
2 changes: 1 addition & 1 deletion src/de/jost_net/JVerein/gui/menu/MitgliedskontoMenu.java
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ public MitgliedskontoMenu()
addItem(new SollItem("Sollbuchung bearbeiten",
new MitgliedskontoSollbuchungEditAction(), "text-x-generic.png"));
addItem(new SollOhneIstItem("Sollbuchung löschen",
new MitgliedskontoSollbuchungLoeschenAction(), "list-remove.png"));
new MitgliedskontoSollbuchungLoeschenAction(), "user-trash-full.png"));
addItem(new SollMitIstItem("Istbuchung von Sollbuchung lösen",
new MitgliedskontoIstbuchungLoesenAction(), "unlocked.png"));
addItem(ContextMenuItem.SEPARATOR);
Expand Down
4 changes: 2 additions & 2 deletions src/de/jost_net/JVerein/gui/view/SollbuchungListeView.java
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,8 @@
package de.jost_net.JVerein.gui.view;

import de.jost_net.JVerein.gui.action.DokumentationAction;
import de.jost_net.JVerein.gui.action.MitgliedDetailAction;
import de.jost_net.JVerein.gui.action.MitgliedskontoExportAction;
import de.jost_net.JVerein.gui.action.MitgliedskontoSollbuchungEditAction;
import de.jost_net.JVerein.gui.action.MitgliedskontoExportAction.EXPORT_TYP;
import de.jost_net.JVerein.gui.control.MitgliedskontoControl;
import de.jost_net.JVerein.gui.menu.Mitgliedskonto2Menu;
Expand Down Expand Up @@ -59,7 +59,7 @@ public void handleAction(Object context) throws ApplicationException
button.addButton(suchen);
group.addButtonArea(button);

control.getMitgliedskontoList(new MitgliedDetailAction(),
control.getMitgliedskontoList(new MitgliedskontoSollbuchungEditAction(),
new Mitgliedskonto2Menu(), false).paint(this.getParent());

ButtonArea buttons = new ButtonArea();
Expand Down

0 comments on commit f37b4ac

Please sign in to comment.