Skip to content

Commit

Permalink
Support von Mailvorlagen für Rechnung, Mahnung, Spendenbescheinigung (#…
Browse files Browse the repository at this point in the history
…229)

* Support von Mailvorlagen für Rechnung, Mahnung, Spendenbescheinigung

* Vorlage auch fuer PreNotification

* ohne Rahmen in PreNotification

* Besseres Spendenbescheinigung View Layout

* Vorlage auch in MailDetailView
  • Loading branch information
JohannMaierhofer committed May 29, 2024
1 parent 555b200 commit ea88a2a
Show file tree
Hide file tree
Showing 11 changed files with 160 additions and 32 deletions.
2 changes: 1 addition & 1 deletion src/de/jost_net/JVerein/gui/action/MailDetailAction.java
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ public void handleAction(Object context) throws ApplicationException
{
MailVorlagenAuswahlDialog mvad = new MailVorlagenAuswahlDialog(
new MailVorlageControl(null),
MailVorlagenAuswahlDialog.POSITION_CENTER);
MailVorlagenAuswahlDialog.POSITION_CENTER, true);
m = (Mail) Einstellungen.getDBService().createObject(Mail.class, null);
MailVorlage mv = mvad.open();
if (!mvad.getAbort())
Expand Down
94 changes: 94 additions & 0 deletions src/de/jost_net/JVerein/gui/action/MailVorlageZuweisenAction.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,94 @@
/**********************************************************************
* 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/>.
*
* heiner@jverein.de
* www.jverein.de
**********************************************************************/
package de.jost_net.JVerein.gui.action;

import de.jost_net.JVerein.gui.control.MailVorlageControl;
import de.jost_net.JVerein.gui.control.MitgliedskontoControl;
import de.jost_net.JVerein.gui.control.SpendenbescheinigungMailControl;
import de.jost_net.JVerein.gui.control.PreNotificationControl;
import de.jost_net.JVerein.gui.control.MailControl;
import de.jost_net.JVerein.gui.dialogs.MailVorlagenAuswahlDialog;
import de.jost_net.JVerein.rmi.MailVorlage;
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 MailVorlageZuweisenAction implements Action
{

@Override
public void handleAction(Object context) throws ApplicationException
{
try
{
if (context != null &&
(context instanceof MitgliedskontoControl ||
context instanceof SpendenbescheinigungMailControl ||
context instanceof PreNotificationControl ||
context instanceof MailControl))
{
MailVorlagenAuswahlDialog mvad = new MailVorlagenAuswahlDialog(
new MailVorlageControl(null),
MailVorlagenAuswahlDialog.POSITION_CENTER, false);

MailVorlage mv = mvad.open();
if (!mvad.getAbort() && mv != null)
{
if (context instanceof MitgliedskontoControl)
{
MitgliedskontoControl kto = (MitgliedskontoControl) context;
kto.getBetreff(null).setValue(mv.getBetreff());
kto.getTxt(null).setValue(mv.getTxt());
}
else if (context instanceof SpendenbescheinigungMailControl)
{
SpendenbescheinigungMailControl kto = (SpendenbescheinigungMailControl) context;
kto.getBetreff().setValue(mv.getBetreff());
kto.getTxt().setValue(mv.getTxt());
}
else if (context instanceof PreNotificationControl)
{
PreNotificationControl kto = (PreNotificationControl) context;
kto.getMailSubject().setValue(mv.getBetreff());
kto.getMailBody().setValue(mv.getTxt());
}
else if (context instanceof MailControl)
{
MailControl kto = (MailControl) context;
kto.getBetreff().setValue(mv.getBetreff());
kto.getTxt().setValue(mv.getTxt());
}
}
}
else
{
throw new ApplicationException("Keine Kontext ausgewählt");
}
}
catch (OperationCanceledException oce)
{
throw oce;
}
catch (Exception e)
{
Logger.error("Fehler", e);
GUI.getStatusBar().setErrorText("Fehler bei der Zuweisung eine Mail Vorlage");
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -94,7 +94,7 @@ else if (context instanceof Mitglied[])
}
MailVorlagenAuswahlDialog mvad = new MailVorlagenAuswahlDialog(
new MailVorlageControl(null),
MailVorlagenAuswahlDialog.POSITION_CENTER);
MailVorlagenAuswahlDialog.POSITION_CENTER, true);
Mail mail = (Mail) Einstellungen.getDBService().createObject(Mail.class,
null);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -183,7 +183,6 @@ public TextAreaInput getMailBody() throws RemoteException
return mailbody;
}
mailbody = new TextAreaInput(settings.getString("mail.body", ""), 10000);
mailbody.setHeight(200);
mailbody.setName("Text");
return mailbody;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,8 @@ public class SpendenbescheinigungMailControl extends AbstractControl

private TextAreaInput mailtext;

private TextAreaInput info;

private Spendenbescheinigung[] spbArr;

public SpendenbescheinigungMailControl(AbstractView view)
Expand Down Expand Up @@ -108,6 +110,18 @@ public String getInfoText(Object spbArray)
return text;
}

public TextAreaInput getInfo() throws RemoteException
{
if (info != null)
{
return info;
}
info = new TextAreaInput(getInfoText(getCurrentObject()), 10000);
info.setHeight(100);
info.setEnabled(false);
return info;
}

public TextInput getBetreff() throws RemoteException
{
if (mailbetreff != null)
Expand All @@ -127,7 +141,6 @@ public TextAreaInput getTxt() throws RemoteException
}
mailtext = new TextAreaInput(settings.getString("spendenbescheinigungmail.body", ""), 10000);
mailtext.setName("Text");
mailtext.setHeight(300);
return mailtext;
}

Expand Down
25 changes: 16 additions & 9 deletions src/de/jost_net/JVerein/gui/dialogs/MailVorlagenAuswahlDialog.java
Original file line number Diff line number Diff line change
Expand Up @@ -39,11 +39,15 @@ public class MailVorlagenAuswahlDialog extends AbstractDialog<MailVorlage>
private MailVorlage retval;

private boolean abort = true;

private boolean mailsenden = true;

public MailVorlagenAuswahlDialog(MailVorlageControl control, int position)
public MailVorlagenAuswahlDialog(MailVorlageControl control, int position,
boolean mailsenden)
{
super(position);
this.control = control;
this.mailsenden = mailsenden;
setTitle("Mail-Vorlage");
setSize(550, 450);
}
Expand Down Expand Up @@ -75,16 +79,19 @@ public void handleAction(Object context) throws ApplicationException
}
}, null, true, "ok.png");

b.addButton("Ohne Mail-Vorlage", new Action()
if (mailsenden)
{

@Override
public void handleAction(Object context)
b.addButton("Ohne Mail-Vorlage", new Action()
{
abort = false;
close();
}
}, null, true, "go-next.png");

@Override
public void handleAction(Object context)
{
abort = false;
close();
}
}, null, true, "go-next.png");
}

b.addButton("Abbrechen", new Action()
{
Expand Down
3 changes: 3 additions & 0 deletions src/de/jost_net/JVerein/gui/view/MailDetailView.java
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@

import de.jost_net.JVerein.Einstellungen;
import de.jost_net.JVerein.gui.action.DokumentationAction;
import de.jost_net.JVerein.gui.action.MailVorlageZuweisenAction;
import de.jost_net.JVerein.gui.control.MailControl;
import de.jost_net.JVerein.gui.dialogs.MailEmpfaengerAuswahlDialog;
import de.jost_net.JVerein.gui.util.JameicaUtil;
Expand Down Expand Up @@ -163,6 +164,8 @@ public void handleAction(Object context) throws ApplicationException
ButtonArea buttons = new ButtonArea();
buttons.addButton("Hilfe", new DokumentationAction(),
DokumentationUtil.MAIL, false, "question-circle.png");
buttons.addButton(new Button("Mail-Vorlage", new MailVorlageZuweisenAction(),
control, false, "view-refresh.png"));
buttons.addButton(control.getMailSpeichernButton());
buttons.addButton(control.getMailReSendButton());
buttons.addButton(control.getMailSendButton());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@
import de.jost_net.JVerein.gui.action.DokumentationAction;
import de.jost_net.JVerein.gui.action.MitgliedskontoExportAction;
import de.jost_net.JVerein.gui.action.MitgliedskontoExportAction.EXPORT_TYP;
import de.jost_net.JVerein.gui.action.MailVorlageZuweisenAction;
import de.jost_net.JVerein.gui.control.MitgliedskontoControl;
import de.jost_net.JVerein.gui.control.MitgliedskontoControl.DIFFERENZ;
import de.jost_net.JVerein.keys.FormularArt;
Expand Down Expand Up @@ -60,6 +61,8 @@ public void bind() throws Exception
ButtonArea buttons = new ButtonArea();
buttons.addButton("Hilfe", new DokumentationAction(),
DokumentationUtil.MAHNUNG, false, "question-circle.png");
buttons.addButton(new Button("Mail-Vorlage", new MailVorlageZuweisenAction(),
control, false, "view-refresh.png"));
buttons.addButton(new Button("Export", new MitgliedskontoExportAction(
EXPORT_TYP.MAHNUNGEN, getCurrentObject()), control, false, "document-save.png"));
buttons.addButton(control.getStartMahnungButton(this.getCurrentObject()));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@
package de.jost_net.JVerein.gui.view;

import de.jost_net.JVerein.gui.action.DokumentationAction;
import de.jost_net.JVerein.gui.action.MailVorlageZuweisenAction;
import de.jost_net.JVerein.gui.action.MitgliedskontoExportAction;
import de.jost_net.JVerein.gui.action.MitgliedskontoExportAction.EXPORT_TYP;
import de.jost_net.JVerein.gui.control.MitgliedskontoControl;
Expand Down Expand Up @@ -60,6 +61,8 @@ public void bind() throws Exception
ButtonArea buttons = new ButtonArea();
buttons.addButton("Hilfe", new DokumentationAction(),
DokumentationUtil.RECHNUNG, false, "question-circle.png");
buttons.addButton(new Button("Mail-Vorlage", new MailVorlageZuweisenAction(),
control, false, "view-refresh.png"));
buttons.addButton(new Button("Export",
new MitgliedskontoExportAction(EXPORT_TYP.RECHNUNGEN,
getCurrentObject()),
Expand Down
34 changes: 19 additions & 15 deletions src/de/jost_net/JVerein/gui/view/PreNotificationView.java
Original file line number Diff line number Diff line change
Expand Up @@ -20,13 +20,15 @@
import org.eclipse.swt.widgets.TabFolder;

import de.jost_net.JVerein.gui.action.DokumentationAction;
import de.jost_net.JVerein.gui.action.MailVorlageZuweisenAction;
import de.jost_net.JVerein.gui.control.PreNotificationControl;
import de.jost_net.JVerein.keys.FormularArt;
import de.willuhn.jameica.gui.AbstractView;
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.util.Color;
import de.willuhn.jameica.gui.util.TabGroup;
import de.willuhn.jameica.gui.util.SimpleContainer;

public class PreNotificationView extends AbstractView
{
Expand All @@ -40,38 +42,40 @@ public void bind() throws Exception

TabFolder folder = control.getFolder(getParent());
folder.setLayoutData(new GridData(GridData.FILL_BOTH));
folder.setBackground(Color.BACKGROUND.getSWTColor());

TabGroup tabMailPDF = new TabGroup(folder, "Mail + PDF");
SimpleContainer grtabMailPDF = new SimpleContainer(tabMailPDF.getComposite(), true);

tabMailPDF.addHeadline("Parameter");
tabMailPDF.addInput(control.getOutput());
tabMailPDF.addInput(control.getPdfModus());
tabMailPDF.addLabelPair("Formular",
grtabMailPDF.addHeadline("Parameter");
grtabMailPDF.addInput(control.getOutput());
grtabMailPDF.addInput(control.getPdfModus());
grtabMailPDF.addLabelPair("Formular",
control.getFormular(FormularArt.SEPA_PRENOTIFICATION));

tabMailPDF.addHeadline("Mail");
grtabMailPDF.addHeadline("Mail");

tabMailPDF.addInput(control.getMailSubject());
tabMailPDF.addInput(control.getMailBody());
grtabMailPDF.addInput(control.getMailSubject());
grtabMailPDF.addInput(control.getMailBody());

ButtonArea buttons1 = new ButtonArea();
buttons1.addButton("Hilfe", new DokumentationAction(),
DokumentationUtil.PRENOTIFICATION, false, "question-circle.png");
buttons1.addButton(new Button("Mail-Vorlage", new MailVorlageZuweisenAction(),
control, false, "view-refresh.png"));
buttons1.addButton(control.getStartButton(this.getCurrentObject()));
buttons1.paint(tabMailPDF.getComposite());
grtabMailPDF.addButtonArea(buttons1);

TabGroup tab2 = new TabGroup(folder, "1 ct-Überweisung");
SimpleContainer grtab2 = new SimpleContainer(tab2.getComposite(), true);

tab2.addInput(control.getct1Ausgabe());
tab2.addInput(control.getAusfuehrungsdatum());
tab2.addInput(control.getVerwendungszweck());
grtab2.addInput(control.getct1Ausgabe());
grtab2.addInput(control.getAusfuehrungsdatum());
grtab2.addInput(control.getVerwendungszweck());
ButtonArea buttons2 = new ButtonArea();
buttons2.addButton("Hilfe", new DokumentationAction(),
DokumentationUtil.PRENOTIFICATION, false, "question-circle.png");
buttons2.addButton(
control.getStart1ctUeberweisungButton(this.getCurrentObject()));
buttons2.paint(tab2.getComposite());

grtab2.addButtonArea(buttons2);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -17,11 +17,12 @@
package de.jost_net.JVerein.gui.view;

import de.jost_net.JVerein.gui.action.DokumentationAction;
import de.jost_net.JVerein.gui.action.MailVorlageZuweisenAction;
import de.jost_net.JVerein.gui.control.SpendenbescheinigungMailControl;
import de.willuhn.jameica.gui.AbstractView;
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.TextPart;
import de.willuhn.jameica.gui.util.SimpleContainer;

public class SpendenbescheinigungMailView extends AbstractView
Expand All @@ -34,10 +35,9 @@ public void bind() throws Exception

final SpendenbescheinigungMailControl control = new SpendenbescheinigungMailControl(this);

SimpleContainer cont1 = new SimpleContainer(getParent(), true);
SimpleContainer cont1 = new SimpleContainer(getParent(), false);
cont1.addHeadline("Info");
TextPart part = new TextPart(control.getInfoText(getCurrentObject()));
part.paint(cont1.getComposite());
cont1.addInput(control.getInfo());

SimpleContainer cont = new SimpleContainer(getParent(), true);
cont.addHeadline("Mail");
Expand All @@ -47,6 +47,8 @@ public void bind() throws Exception
ButtonArea buttons = new ButtonArea();
buttons.addButton("Hilfe", new DokumentationAction(),
DokumentationUtil.SPENDENBESCHEINIGUNG, false, "question-circle.png");
buttons.addButton(new Button("Mail-Vorlage", new MailVorlageZuweisenAction(),
control, false, "view-refresh.png"));
buttons.addButton(control.getStartButton(this.getCurrentObject()));
buttons.paint(this.getParent());
}
Expand Down

0 comments on commit ea88a2a

Please sign in to comment.