Compare commits

...

2 commits

Author SHA1 Message Date
Chl 0b08f125c9 readme: specify 'customer invoice'
Following the arrival of supplier invoice templates in Dolibarr 16, it's better
to specify than this module only manage customer invoices.

Adding the management of supplier invoice seems possible but I don't really see
a use case at the moment.
2024-03-13 18:54:01 +01:00
Chl a7532db483 Execute the hook only for customer invoices
With the introduction of supplier invoice templates in Dolibarr 16, with the
same hook but different table, this module tried to load the customer invoice
having the same id than the supplier invoice template being treated. This could
result in severe information disclosure.

Fixes gh-10
2024-03-13 18:29:27 +01:00
4 changed files with 21 additions and 3 deletions

View file

@ -1,5 +1,15 @@
# CHANGELOG SENDRECURRINGINVOICEBYMAIL FOR [DOLIBARR ERP CRM](https://www.dolibarr.org)
## 0.3.4
Fix: the hook was also triggered by supplier invoices.
Thanks to jpardenoy for the report and the fix.
## 0.3.3
Fix: adds CSRF protection.
## 0.3.2

View file

@ -2,9 +2,9 @@
## Features
(en) This module sends by email the invoice generated with recurring invoices via scheduled jobs.
(en) This module sends by email the customer invoice generated with a recurring invoice template via scheduled jobs.
(fr) Ce module envoie par mail les factures générées automatiquement par les travaux planifiés et les factures modèles.
(fr) Ce module envoie par mail les factures clientes générées automatiquement par les travaux planifiés et les factures modèles.
You can customize the mail globally or by recurring invoice.

View file

@ -84,6 +84,14 @@ class Actionssendrecurringinvoicebymail
$error = 0; // Error counter
$facturerec = $parameters['facturerec'];
// Since Dolibarr 16, this hook is also used for the FactureFournisseurRec class.
if (! $facturerec instanceof FactureRec) {
return 0;
}
// Load our own object, linked to this facture
// (if it doesn't exist in database, fetch(,,true) will fill the object
// from the global mail template)
$mailObject = new SRIBMCustomMailInfo($this->db);
if ($mailObject->fetch(null, $facturerec->id, true) != 1) {
dol_syslog("Error loading SRIBMCustomMailInfo for facture rec " . (isset($facturerec->id) ? $facturerec->id : "(facturerec->id not set ??)"));

View file

@ -69,7 +69,7 @@ class modsendrecurringinvoicebymail extends DolibarrModules
$this->editor_url = 'https://code.bugness.org/Dolibarr/sendrecurringinvoicebymail';
// Possible values for version are: 'development', 'experimental', 'dolibarr', 'dolibarr_deprecated' or a version string like 'x.y.z'
$this->version = '0.3.3';
$this->version = '0.3.4';
//Url to the file with your last numberversion of this module
//$this->url_last_version = 'http://www.example.com/versionmodule.txt';