Skip to content

Commit

Permalink
PDF Encryt nur bei Spendenbescheinigung mit Unterschrift (#597)
Browse files Browse the repository at this point in the history
  • Loading branch information
lenilsas authored Jan 22, 2025
1 parent 98642ff commit 622c88a
Show file tree
Hide file tree
Showing 8 changed files with 21 additions and 16 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -325,7 +325,7 @@ public void handleAction(Object context) throws ApplicationException
map.put(RechnungVar.SUMME_OFFEN.getName(), 700);
map.put(RechnungVar.QRCODE_INTRO.getName(),
Einstellungen.getEinstellung().getQRCodeIntro());
FormularAufbereitung fab = new FormularAufbereitung(file, false);
FormularAufbereitung fab = new FormularAufbereitung(file, false, false);
fab.writeForm(formular, map);
fab.showFormular();
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -112,7 +112,7 @@ private void generiereFreiesFormular(Mitglied[] m) throws Exception
final File file = new File(s);
settings.setAttribute("lastdir", file.getParent());

FormularAufbereitung fa = new FormularAufbereitung(file, false);
FormularAufbereitung fa = new FormularAufbereitung(file, false, false);
for (Mitglied mi : m)
{
Formular fo = (Formular) Einstellungen.getDBService().createObject(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -251,7 +251,10 @@ else if (context instanceof Spendenbescheinigung[])
map = new AllgemeineMap().getMap(map);
if(spb.getMitglied() != null)
map = new MitgliedMap().getMap(spb.getMitglied(), map);
FormularAufbereitung fa = new FormularAufbereitung(file, false);
boolean encrypt = Einstellungen.getEinstellung()
.getUnterschriftdrucken();
FormularAufbereitung fa = new FormularAufbereitung(file, false,
encrypt);
fa.writeForm(fo, map);
if (adressblatt != Adressblatt.OHNE_ADRESSBLATT)
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -378,7 +378,7 @@ else if (currentObject instanceof Lastschrift[])
.createObject(Formular.class, form.getID());
if (!einzelnePdfs)
{
fa = new FormularAufbereitung(file, false);
fa = new FormularAufbereitung(file, false, false);
}

int dateinummer = 0;
Expand All @@ -405,7 +405,7 @@ else if (currentObject instanceof Lastschrift[])
sb.append(postfix);

final File fx = new File(sb.toString());
fa = new FormularAufbereitung(fx, false);
fa = new FormularAufbereitung(fx, false, false);
}

aufbereitenFormular(ls, fo);
Expand Down
14 changes: 9 additions & 5 deletions src/de/jost_net/JVerein/io/FormularAufbereitung.java
Original file line number Diff line number Diff line change
Expand Up @@ -123,7 +123,8 @@ public class FormularAufbereitung
* Die Datei, in die geschrieben werden soll
* @throws RemoteException
*/
public FormularAufbereitung(final File f, boolean pdfa) throws RemoteException
public FormularAufbereitung(final File f, boolean pdfa, boolean encrypt)
throws RemoteException
{
this.f = f;
try
Expand All @@ -150,10 +151,13 @@ public FormularAufbereitung(final File f, boolean pdfa) throws RemoteException
else
{
writer = PdfWriter.getInstance(doc, fos);
writer.setEncryption(null, null,
PdfWriter.ALLOW_PRINTING | PdfWriter.ALLOW_SCREENREADERS,
PdfWriter.ENCRYPTION_AES_256);
doc.open();
if (encrypt)
{
writer.setEncryption(null, null,
PdfWriter.ALLOW_PRINTING | PdfWriter.ALLOW_SCREENREADERS,
PdfWriter.ENCRYPTION_AES_256);
doc.open();
}
}
}
catch (IOException e)
Expand Down
4 changes: 2 additions & 2 deletions src/de/jost_net/JVerein/io/FreiesFormularAusgabe.java
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ public FreiesFormularAusgabe(FreieFormulareControl control)
{
case DRUCK:
file = getDateiAuswahl("pdf", formular.getBezeichnung());
formularaufbereitung = new FormularAufbereitung(file, false);
formularaufbereitung = new FormularAufbereitung(file, false, false);
break;
case MAIL:
file = getDateiAuswahl("zip", formular.getBezeichnung());
Expand Down Expand Up @@ -96,7 +96,7 @@ public void aufbereitung(Formular formular, ArrayList<Mitglied> mitglieder)
continue;
}
File f = File.createTempFile(getDateiname(m), ".pdf");
formularaufbereitung = new FormularAufbereitung(f, false);
formularaufbereitung = new FormularAufbereitung(f, false, false);
aufbereitenFormular(m, formularaufbereitung, formular);
formularaufbereitung.closeFormular();
zos.putNextEntry(new ZipEntry(getDateiname(m) + ".pdf"));
Expand Down
4 changes: 2 additions & 2 deletions src/de/jost_net/JVerein/io/Rechnungsausgabe.java
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@ public Rechnungsausgabe(RechnungControl control, RechnungControl.TYP typ)
{
case DRUCK:
file = getDateiAuswahl("pdf");
formularaufbereitung = new FormularAufbereitung(file, true);
formularaufbereitung = new FormularAufbereitung(file, true, false);
break;
case MAIL:
file = getDateiAuswahl("zip");
Expand Down Expand Up @@ -132,7 +132,7 @@ public void aufbereitung(Formular formular)
break;
case MAIL:
File f = File.createTempFile(getDateiname(re), ".pdf");
formularaufbereitung = new FormularAufbereitung(f, true);
formularaufbereitung = new FormularAufbereitung(f, true, false);
aufbereitenFormular(re, formularaufbereitung, formular);
formularaufbereitung.closeFormular();
formularaufbereitung.addZUGFeRD(re, typ == TYP.MAHNUNG);
Expand Down
2 changes: 0 additions & 2 deletions src/de/jost_net/JVerein/io/Reporter.java
Original file line number Diff line number Diff line change
Expand Up @@ -133,8 +133,6 @@ public Reporter(OutputStream out, String title, String subtitle,
rpt = new Document();
hyph = new HyphenationAuto("de", "DE", 2, 2);
PdfWriter writer = PdfWriter.getInstance(rpt, out);
writer.setEncryption(null, null,
PdfWriter.ALLOW_PRINTING | PdfWriter.ALLOW_SCREENREADERS, PdfWriter.ENCRYPTION_AES_256);
rpt.setMargins(linkerRand, rechterRand, obererRand, untererRand);
AbstractPlugin plugin = Application.getPluginLoader()
.getPlugin(JVereinPlugin.class);
Expand Down

0 comments on commit 622c88a

Please sign in to comment.