Skip to content
Snippets Groups Projects
Commit c98695cd authored by Alexandre SPANGARO's avatar Alexandre SPANGARO
Browse files

Merge branch '2022.5.3_rc' into 2022.5.3

parents 79005d0a fba064c1
No related branches found
No related tags found
No related merge requests found
ChangeLog.md 100755 → 100644
# Changelog
Le format du fichier est basé sur [Tenez un ChangeLog](http://keepachangelog.com/fr/1.0.0/).
Le format du fichier est basé sur [Tenez un ChangeLog](https://keepachangelog.com/fr/1.0.0/).
## [Non Distribué]
## [7.0.50] - 21-09-2023
- Changement de marque OpenDsi > Easya Solutions
- Possibilité d'envoyer une demande de support depuis l'onglet "À propos / Support" avec les informations de base qui vous sont normalement demandées.
- Correction affichage onglet dans l'administration du module
- UX - Restructuration de la page d'administration du module
## [7.0.49] - 28-04-2023
- Ajout d'une option maintenance pour désactiver le bouton d'envoi
......@@ -12,7 +18,7 @@ Le format du fichier est basé sur [Tenez un ChangeLog](http://keepachangelog.co
- Change le texte du bouton "Envoi Chorus" en "Re-déposer Chorus" si l'on renvoie la facture
## [7.0.47] - 02-03-2023
- Mise à jour de GuzzleHTTP
- Mise à jour de Guzzlehttps
## [7.0.46] - 07-02-2023
- Correction erreur php 500 (function _purgeExpiredFile())
......@@ -189,54 +195,55 @@ Le format du fichier est basé sur [Tenez un ChangeLog](http://keepachangelog.co
## [7.0.0] - 15-07-2019
- Version initial.
[Non Distribué]: http://git.open-dsi.fr/dolibarr-extension/demat4dolibarr/compare/v7.0.49...HEAD
[7.0.49]: http://git.open-dsi.fr/dolibarr-extension/demat4dolibarr/commits/v7.0.49
[7.0.48]: http://git.open-dsi.fr/dolibarr-extension/demat4dolibarr/commits/v7.0.48
[7.0.47]: http://git.open-dsi.fr/dolibarr-extension/demat4dolibarr/commits/v7.0.47
[7.0.46]: http://git.open-dsi.fr/dolibarr-extension/demat4dolibarr/commits/v7.0.46
[7.0.45]: http://git.open-dsi.fr/dolibarr-extension/demat4dolibarr/commits/v7.0.45
[7.0.44]: http://git.open-dsi.fr/dolibarr-extension/demat4dolibarr/commits/v7.0.44
[7.0.43]: http://git.open-dsi.fr/dolibarr-extension/demat4dolibarr/commits/v7.0.43
[7.0.42]: http://git.open-dsi.fr/dolibarr-extension/demat4dolibarr/commits/v7.0.42
[7.0.41]: http://git.open-dsi.fr/dolibarr-extension/demat4dolibarr/commits/v7.0.41
[7.0.40]: http://git.open-dsi.fr/dolibarr-extension/demat4dolibarr/commits/v7.0.40
[7.0.39]: http://git.open-dsi.fr/dolibarr-extension/demat4dolibarr/commits/v7.0.39
[7.0.38]: http://git.open-dsi.fr/dolibarr-extension/demat4dolibarr/commits/v7.0.38
[7.0.37]: http://git.open-dsi.fr/dolibarr-extension/demat4dolibarr/commits/v7.0.37
[7.0.36]: http://git.open-dsi.fr/dolibarr-extension/demat4dolibarr/commits/v7.0.36
[7.0.35]: http://git.open-dsi.fr/dolibarr-extension/demat4dolibarr/commits/v7.0.35
[7.0.34]: http://git.open-dsi.fr/dolibarr-extension/demat4dolibarr/commits/v7.0.34
[7.0.33]: http://git.open-dsi.fr/dolibarr-extension/demat4dolibarr/commits/v7.0.33
[7.0.32]: http://git.open-dsi.fr/dolibarr-extension/demat4dolibarr/commits/v7.0.32
[7.0.31]: http://git.open-dsi.fr/dolibarr-extension/demat4dolibarr/commits/v7.0.31
[7.0.30]: http://git.open-dsi.fr/dolibarr-extension/demat4dolibarr/commits/v7.0.30
[7.0.29]: http://git.open-dsi.fr/dolibarr-extension/demat4dolibarr/commits/v7.0.29
[7.0.28]: http://git.open-dsi.fr/dolibarr-extension/demat4dolibarr/commits/v7.0.28
[7.0.27]: http://git.open-dsi.fr/dolibarr-extension/demat4dolibarr/commits/v7.0.27
[7.0.26]: http://git.open-dsi.fr/dolibarr-extension/demat4dolibarr/commits/v7.0.26
[7.0.25]: http://git.open-dsi.fr/dolibarr-extension/demat4dolibarr/commits/v7.0.25
[7.0.24]: http://git.open-dsi.fr/dolibarr-extension/demat4dolibarr/commits/v7.0.24
[7.0.23]: http://git.open-dsi.fr/dolibarr-extension/demat4dolibarr/commits/v7.0.23
[7.0.22]: http://git.open-dsi.fr/dolibarr-extension/demat4dolibarr/commits/v7.0.22
[7.0.21]: http://git.open-dsi.fr/dolibarr-extension/demat4dolibarr/commits/v7.0.21
[7.0.20]: http://git.open-dsi.fr/dolibarr-extension/demat4dolibarr/commits/v7.0.20
[7.0.19]: http://git.open-dsi.fr/dolibarr-extension/demat4dolibarr/commits/v7.0.19
[7.0.18]: http://git.open-dsi.fr/dolibarr-extension/demat4dolibarr/commits/v7.0.18
[7.0.17]: http://git.open-dsi.fr/dolibarr-extension/demat4dolibarr/commits/v7.0.17
[7.0.16]: http://git.open-dsi.fr/dolibarr-extension/demat4dolibarr/commits/v7.0.16
[7.0.15]: http://git.open-dsi.fr/dolibarr-extension/demat4dolibarr/commits/v7.0.15
[7.0.14]: http://git.open-dsi.fr/dolibarr-extension/demat4dolibarr/commits/v7.0.14
[7.0.13]: http://git.open-dsi.fr/dolibarr-extension/demat4dolibarr/commits/v7.0.13
[7.0.12]: http://git.open-dsi.fr/dolibarr-extension/demat4dolibarr/commits/v7.0.12
[7.0.11]: http://git.open-dsi.fr/dolibarr-extension/demat4dolibarr/commits/v7.0.11
[7.0.10]: http://git.open-dsi.fr/dolibarr-extension/demat4dolibarr/commits/v7.0.10
[7.0.9]: http://git.open-dsi.fr/dolibarr-extension/demat4dolibarr/commits/v7.0.9
[7.0.8]: http://git.open-dsi.fr/dolibarr-extension/demat4dolibarr/commits/v7.0.8
[7.0.7]: http://git.open-dsi.fr/dolibarr-extension/demat4dolibarr/commits/v7.0.7
[7.0.6]: http://git.open-dsi.fr/dolibarr-extension/demat4dolibarr/commits/v7.0.6
[7.0.5]: http://git.open-dsi.fr/dolibarr-extension/demat4dolibarr/commits/v7.0.5
[7.0.4]: http://git.open-dsi.fr/dolibarr-extension/demat4dolibarr/commits/v7.0.4
[7.0.3]: http://git.open-dsi.fr/dolibarr-extension/demat4dolibarr/commits/v7.0.3
[7.0.2]: http://git.open-dsi.fr/dolibarr-extension/demat4dolibarr/commits/v7.0.2
[7.0.1]: http://git.open-dsi.fr/dolibarr-extension/demat4dolibarr/commits/v7.0.1
[7.0.0]: http://git.open-dsi.fr/dolibarr-extension/demat4dolibarr/commits/v7.0.0
[Non Distribué]: httpss://git.open-dsi.fr/dolibarr-extension/demat4dolibarr/compare/v7.0.50...HEAD
[7.0.50]: https://git.open-dsi.fr/dolibarr-extension/demat4dolibarr/commits/v7.0.50
[7.0.49]: https://git.open-dsi.fr/dolibarr-extension/demat4dolibarr/commits/v7.0.49
[7.0.48]: https://git.open-dsi.fr/dolibarr-extension/demat4dolibarr/commits/v7.0.48
[7.0.47]: https://git.open-dsi.fr/dolibarr-extension/demat4dolibarr/commits/v7.0.47
[7.0.46]: https://git.open-dsi.fr/dolibarr-extension/demat4dolibarr/commits/v7.0.46
[7.0.45]: https://git.open-dsi.fr/dolibarr-extension/demat4dolibarr/commits/v7.0.45
[7.0.44]: https://git.open-dsi.fr/dolibarr-extension/demat4dolibarr/commits/v7.0.44
[7.0.43]: https://git.open-dsi.fr/dolibarr-extension/demat4dolibarr/commits/v7.0.43
[7.0.42]: https://git.open-dsi.fr/dolibarr-extension/demat4dolibarr/commits/v7.0.42
[7.0.41]: https://git.open-dsi.fr/dolibarr-extension/demat4dolibarr/commits/v7.0.41
[7.0.40]: https://git.open-dsi.fr/dolibarr-extension/demat4dolibarr/commits/v7.0.40
[7.0.39]: https://git.open-dsi.fr/dolibarr-extension/demat4dolibarr/commits/v7.0.39
[7.0.38]: https://git.open-dsi.fr/dolibarr-extension/demat4dolibarr/commits/v7.0.38
[7.0.37]: https://git.open-dsi.fr/dolibarr-extension/demat4dolibarr/commits/v7.0.37
[7.0.36]: https://git.open-dsi.fr/dolibarr-extension/demat4dolibarr/commits/v7.0.36
[7.0.35]: https://git.open-dsi.fr/dolibarr-extension/demat4dolibarr/commits/v7.0.35
[7.0.34]: https://git.open-dsi.fr/dolibarr-extension/demat4dolibarr/commits/v7.0.34
[7.0.33]: https://git.open-dsi.fr/dolibarr-extension/demat4dolibarr/commits/v7.0.33
[7.0.32]: https://git.open-dsi.fr/dolibarr-extension/demat4dolibarr/commits/v7.0.32
[7.0.31]: https://git.open-dsi.fr/dolibarr-extension/demat4dolibarr/commits/v7.0.31
[7.0.30]: https://git.open-dsi.fr/dolibarr-extension/demat4dolibarr/commits/v7.0.30
[7.0.29]: https://git.open-dsi.fr/dolibarr-extension/demat4dolibarr/commits/v7.0.29
[7.0.28]: https://git.open-dsi.fr/dolibarr-extension/demat4dolibarr/commits/v7.0.28
[7.0.27]: https://git.open-dsi.fr/dolibarr-extension/demat4dolibarr/commits/v7.0.27
[7.0.26]: https://git.open-dsi.fr/dolibarr-extension/demat4dolibarr/commits/v7.0.26
[7.0.25]: https://git.open-dsi.fr/dolibarr-extension/demat4dolibarr/commits/v7.0.25
[7.0.24]: https://git.open-dsi.fr/dolibarr-extension/demat4dolibarr/commits/v7.0.24
[7.0.23]: https://git.open-dsi.fr/dolibarr-extension/demat4dolibarr/commits/v7.0.23
[7.0.22]: https://git.open-dsi.fr/dolibarr-extension/demat4dolibarr/commits/v7.0.22
[7.0.21]: https://git.open-dsi.fr/dolibarr-extension/demat4dolibarr/commits/v7.0.21
[7.0.20]: https://git.open-dsi.fr/dolibarr-extension/demat4dolibarr/commits/v7.0.20
[7.0.19]: https://git.open-dsi.fr/dolibarr-extension/demat4dolibarr/commits/v7.0.19
[7.0.18]: https://git.open-dsi.fr/dolibarr-extension/demat4dolibarr/commits/v7.0.18
[7.0.17]: https://git.open-dsi.fr/dolibarr-extension/demat4dolibarr/commits/v7.0.17
[7.0.16]: https://git.open-dsi.fr/dolibarr-extension/demat4dolibarr/commits/v7.0.16
[7.0.15]: https://git.open-dsi.fr/dolibarr-extension/demat4dolibarr/commits/v7.0.15
[7.0.14]: https://git.open-dsi.fr/dolibarr-extension/demat4dolibarr/commits/v7.0.14
[7.0.13]: https://git.open-dsi.fr/dolibarr-extension/demat4dolibarr/commits/v7.0.13
[7.0.12]: https://git.open-dsi.fr/dolibarr-extension/demat4dolibarr/commits/v7.0.12
[7.0.11]: https://git.open-dsi.fr/dolibarr-extension/demat4dolibarr/commits/v7.0.11
[7.0.10]: https://git.open-dsi.fr/dolibarr-extension/demat4dolibarr/commits/v7.0.10
[7.0.9]: https://git.open-dsi.fr/dolibarr-extension/demat4dolibarr/commits/v7.0.9
[7.0.8]: https://git.open-dsi.fr/dolibarr-extension/demat4dolibarr/commits/v7.0.8
[7.0.7]: https://git.open-dsi.fr/dolibarr-extension/demat4dolibarr/commits/v7.0.7
[7.0.6]: https://git.open-dsi.fr/dolibarr-extension/demat4dolibarr/commits/v7.0.6
[7.0.5]: https://git.open-dsi.fr/dolibarr-extension/demat4dolibarr/commits/v7.0.5
[7.0.4]: https://git.open-dsi.fr/dolibarr-extension/demat4dolibarr/commits/v7.0.4
[7.0.3]: https://git.open-dsi.fr/dolibarr-extension/demat4dolibarr/commits/v7.0.3
[7.0.2]: https://git.open-dsi.fr/dolibarr-extension/demat4dolibarr/commits/v7.0.2
[7.0.1]: https://git.open-dsi.fr/dolibarr-extension/demat4dolibarr/commits/v7.0.1
[7.0.0]: https://git.open-dsi.fr/dolibarr-extension/demat4dolibarr/commits/v7.0.0
7.0.50
\ No newline at end of file
......@@ -29,14 +29,12 @@ if (! $res && file_exists("../../../main.inc.php")) $res=@include '../../../main
if (! $res) die("Include of main fails");
require_once DOL_DOCUMENT_ROOT.'/core/lib/admin.lib.php';
dol_include_once('/demat4dolibarr/lib/demat4dolibarr.lib.php');
dol_include_once('/demat4dolibarr/core/modules/modDemat4Dolibarr.class.php');
$langs->load("admin");
$langs->load("demat4dolibarr@demat4dolibarr");
$langs->load("opendsi@demat4dolibarr");
if (!$user->admin) accessforbidden();
/**
* View
*/
......@@ -53,10 +51,25 @@ $head=demat4dolibarr_admin_prepare_head();
dol_fiche_head($head, 'about', $langs->trans("Module163028Name"), 0, 'opendsi@demat4dolibarr');
print '<table width="100%"><tr>'."\n";
$modClass = new modDemat4Dolibarr($db);
$demat4dolibarrVersion = !empty($modClass->getVersion()) ? $modClass->getVersion() : 'NC';
$supportvalue = "/*****"."<br>";
$supportvalue.= " * Module version : ".$demat4dolibarrVersion."<br>";
$supportvalue.= " * Dolibarr version : ".DOL_VERSION."<br>";
$supportvalue.= " * Dolibarr version installation initiale : ".$conf->global->MAIN_VERSION_LAST_INSTALL."<br>";
$supportvalue.= " *****/"."<br><br>";
$supportvalue.= "Description de votre problème :"."<br>";
print '<form id="ticket" method="POST" target="_blank" action="https://support.easya.solutions/create_ticket.php">';
print '<input name=message type="hidden" value="'.$supportvalue.'" />';
print '<input name=email type="hidden" value="'.$user->email.'" />';
print '<table class="centpercent"><tr>'."\n";
print '<td width="310px"><img src="../img/opendsi_dolibarr_preferred_partner.png" /></td>'."\n";
print '<td align="left" valign="top"><p>'.$langs->trans("OpenDsiAboutDesc").'</p></td>'."\n";
print '<td valign="top"><p>'.$langs->trans("OpenDsiAboutDesc1").' <button type="submit" >'.$langs->trans("OpenDsiAboutDesc2").'</button> '.$langs->trans("OpenDsiAboutDesc3").'</p></td>'."\n";
print '</tr></table>'."\n";
print '</form>'."\n";
print dol_get_fiche_end();
......
......@@ -37,7 +37,6 @@ $langs->load("opendsi@demat4dolibarr");
if (!$user->admin) accessforbidden();
/**
* View
*/
......
admin/setup.php 100755 → 100644
<?php
/* Copyright (C) 2007-2015 Laurent Destailleur <eldy@users.sourceforge.net>
* Copyright (C) 2019-2022 Open-DSI <support@open-dsi.fr>
* Copyright (C) 2019-2023 Open-DSI <support@open-dsi.fr>
*
* 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
......@@ -147,7 +147,7 @@ if ($action == 'set_debug') {
$error++;
}
}
} elseif ($action == 'set_options') {
} elseif ($action == 'set_options_api') {
require_once DOL_DOCUMENT_ROOT.'/includes/OAuth/bootstrap.php';
$storage = new OAuth\Common\Storage\DoliStorage($db, $conf);
$storage->clearToken(EdeDoc::SERVICE_NAME . '_' . $conf->entity);
......@@ -166,13 +166,6 @@ if ($action == 'set_debug') {
$error++;
}
$constname = 'DEMAT4DOLIBARR_BOX_SHOW_INVOICES_NOT_SENT_TO_CHORUS_DATE';
$constvalue = dol_mktime(0, 0, 0, GETPOST($constname.'month', 'int'), GETPOST($constname.'day', 'int'), GETPOST($constname.'year', 'int'));
if (!dolibarr_set_const($db, $constname, $constvalue, 'chaine', 0, '', $conf->entity)) {
$error++;
}
$resetAccessToken = false;
$value = GETPOST('DEMAT4DOLIBARR_MODULE_KEY', 'alpha');
$result = OpenDsiModuleKeyD4D::decode($value);
......@@ -199,14 +192,6 @@ if ($action == 'set_debug') {
}
}
$value = GETPOST('DEMAT4DOLIBARR_FILES_TYPE', 'alpha');
$value = empty($value) ? '.pdf' : $value;
$res = dolibarr_set_const($db, 'DEMAT4DOLIBARR_FILES_TYPE', $value, 'chaine', 0, '', $conf->entity);
if (!$res > 0) {
$errors[] = $db->lasterror();
$error++;
}
$value = GETPOST('DEMAT4DOLIBARR_API_TIMEOUT', 'int');
$value = $value > 5 ? $value : 5;
$res = dolibarr_set_const($db, 'DEMAT4DOLIBARR_API_TIMEOUT', $value, 'chaine', 0, '', $conf->entity);
......@@ -214,13 +199,6 @@ if ($action == 'set_debug') {
$errors[] = $db->lasterror();
$error++;
}
$value = GETPOST('DEMAT4DOLIBARR_DEFAULT_BILLING_MODE', 'int');
$res = dolibarr_set_const($db, 'DEMAT4DOLIBARR_DEFAULT_BILLING_MODE', $value, 'chaine', 0, '', $conf->entity);
if (!$res > 0) {
$errors[] = $db->lasterror();
$error++;
}
} elseif ($action == 'set_generate_file') {
$value = GETPOST('value', 'int');
......@@ -255,6 +233,28 @@ if ($action == 'set_debug') {
$error++;
}
}
} elseif ($action == 'set_options') {
$value = GETPOST('DEMAT4DOLIBARR_FILES_TYPE', 'alpha');
$value = empty($value) ? '.pdf' : $value;
$res = dolibarr_set_const($db, 'DEMAT4DOLIBARR_FILES_TYPE', $value, 'chaine', 0, '', $conf->entity);
if (!$res > 0) {
$errors[] = $db->lasterror();
$error++;
}
$value = GETPOST('DEMAT4DOLIBARR_DEFAULT_BILLING_MODE', 'int');
$res = dolibarr_set_const($db, 'DEMAT4DOLIBARR_DEFAULT_BILLING_MODE', $value, 'chaine', 0, '', $conf->entity);
if (!$res > 0) {
$errors[] = $db->lasterror();
$error++;
}
} elseif ($action == 'set_options_widget') {
$constname = 'DEMAT4DOLIBARR_BOX_SHOW_INVOICES_NOT_SENT_TO_CHORUS_DATE';
$constvalue = dol_mktime(0, 0, 0, GETPOST($constname.'month', 'int'), GETPOST($constname.'day', 'int'), GETPOST($constname.'year', 'int'));
if (!dolibarr_set_const($db, $constname, $constvalue, 'chaine', 0, '', $conf->entity)) {
$error++;
}
} elseif (preg_match('/set_(.*)/',$action,$reg)) {
$code = $reg[1];
$value = (GETPOST($code) ? GETPOST($code) : 1);
......@@ -303,27 +303,49 @@ $head=demat4dolibarr_admin_prepare_head();
dol_get_fiche_head($head, 'settings', $langs->trans("Module163028Name"), 0, 'opendsi@demat4dolibarr');
print '<br>';
/**
* Settings.
*/
print '<div id="options"></div>';
print load_fiche_titre($langs->trans("Demat4DolibarrApi"),'','');
print '<div id="api_options"></div>';
print load_fiche_titre($langs->trans("Demat4DolibarrApiParameters"), '', '');
print '<form method="post" action="'.$_SERVER["PHP_SELF"].'">';
print '<form method="post" action="' . $_SERVER["PHP_SELF"] . '#api_options">';
print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">';
print '<input type="hidden" name="action" value="set_options">';
print '<input type="hidden" name="action" value="set_options_api">';
print '<div class="div-table-responsive-no-min">';
print '<table class="noborder centpercent">';
print '<tr class="liste_titre">';
print '<td class="width20">'.$langs->trans("Parameters").'</td>'."\n";
print '<td>'.$langs->trans("Description").'</td>'."\n";
print '<td class="center">'.$langs->trans("Value").'</td>'."\n";
print '<td class="right">'.$langs->trans("Value").'</td>'."\n";
print "</tr>\n";
// DEMAT4DOLIBARR_PROVIDER_CODE
print '<tr class="oddeven">' . "\n";
print '<td>'.$langs->trans("Demat4DolibarrProviderCodeName").'</td>'."\n";
print '<td>'.$langs->trans("Demat4DolibarrProviderCodeDesc").'</td>'."\n";
print '<td class="right nowrap">'."\n";
print '<input type="text" name="DEMAT4DOLIBARR_PROVIDER_CODE" size="50" value="'.dol_escape_htmltag($conf->global->DEMAT4DOLIBARR_PROVIDER_CODE).'" />'."\n";
print '</td></tr>'."\n";
// DEMAT4DOLIBARR_MODULE_KEY
print '<tr class="oddeven">' . "\n";
print '<td>'.$langs->trans("Demat4DolibarrModuleKeyName").'</td>'."\n";
print '<td>'.$langs->trans("Demat4DolibarrModuleKeyDesc").(empty($conf->global->DEMAT4DOLIBARR_MODULE_KEY) ? $langs->trans("Demat4DolibarrModuleKeyPurchaseDesc") : '').'</td>'."\n";
print '<td class="right nowrap">'."\n";
print '<textarea name="DEMAT4DOLIBARR_MODULE_KEY" rows="8" cols="75">'.$conf->global->DEMAT4DOLIBARR_MODULE_KEY.'</textarea>'."\n";
print '</td></tr>'."\n";
// DEMAT4DOLIBARR_API_TIMEOUT
print '<tr class="oddeven">' . "\n";
print '<td>'.$langs->trans("Demat4DolibarrApiTimeOutName").'</td>'."\n";
print '<td>'.$langs->trans("Demat4DolibarrApiTimeOutDesc").'</td>'."\n";
print '<td class="right nowrap">'."\n";
print '<input type="number" name="DEMAT4DOLIBARR_API_TIMEOUT" size="50" value="'.dol_escape_htmltag($conf->global->DEMAT4DOLIBARR_API_TIMEOUT).'" />'."\n";
print '</td></tr>'."\n";
// DEMAT4DOLIBARR_DEBUG
print '<tr class="oddeven">' . "\n";
print '<td>'.$langs->trans("Demat4DolibarrDebugName").'</td>'."\n";
......@@ -368,36 +390,36 @@ if (!empty($conf->use_javascript_ajax)) {
}
print '</td></tr>' . "\n";
// DEMAT4DOLIBARR_PROVIDER_CODE
print '<tr class="oddeven">' . "\n";
print '<td>'.$langs->trans("Demat4DolibarrProviderCodeName").'</td>'."\n";
print '<td>'.$langs->trans("Demat4DolibarrProviderCodeDesc").'</td>'."\n";
print '<td class="right nowrap">'."\n";
print '<input type="text" name="DEMAT4DOLIBARR_PROVIDER_CODE" size="100" value="'.dol_escape_htmltag($conf->global->DEMAT4DOLIBARR_PROVIDER_CODE).'" />'."\n";
print '</td></tr>'."\n";
print '</table>' . "\n";
// DEMAT4DOLIBARR_MODULE_KEY
print '<tr class="oddeven">' . "\n";
print '<td>'.$langs->trans("Demat4DolibarrModuleKeyName").'</td>'."\n";
print '<td>'.$langs->trans("Demat4DolibarrModuleKeyDesc").(empty($conf->global->DEMAT4DOLIBARR_MODULE_KEY) ? $langs->trans("Demat4DolibarrModuleKeyPurchaseDesc") : '').'</td>'."\n";
print '<td class="right nowrap">'."\n";
print '<textarea name="DEMAT4DOLIBARR_MODULE_KEY" rows="10" cols="100">'.$conf->global->DEMAT4DOLIBARR_MODULE_KEY.'</textarea>'."\n";
print '</td></tr>'."\n";
print '<br>';
print '<div class="center">';
print '<input type="submit" class="button" value="' . $langs->trans("Save") . '">';
print '</div>';
print '</form>';
print '<br>';
print '<div id="options"></div>';
print load_fiche_titre($langs->trans("Parameters"), '', '');
print '<form method="post" action="' . $_SERVER["PHP_SELF"] . '#options">';
print '<input type="hidden" name="token" value="' . newToken() . '">';
print '<input type="hidden" name="action" value="set_options">';
print '<div class="div-table-responsive-no-min">';
print '<table class="noborder centpercent">';
print '<tr class="liste_titre">';
print '<td class="width20">'.$langs->trans("Parameters").'</td>'."\n";
print '<td>'.$langs->trans("Description").'</td>'."\n";
print '<td class="center">'.$langs->trans("Value").'</td>'."\n";
print "</tr>\n";
// DEMAT4DOLIBARR_FILES_TYPE
print '<tr class="oddeven">' . "\n";
print '<td>'.$langs->trans("Demat4DolibarrFilesTypeName").'</td>'."\n";
print '<td>'.$langs->trans("Demat4DolibarrFilesTypeDesc").'</td>'."\n";
print '<td class="right nowrap">'."\n";
print '<input type="text" name="DEMAT4DOLIBARR_FILES_TYPE" size="100" value="'.dol_escape_htmltag($conf->global->DEMAT4DOLIBARR_FILES_TYPE).'" />'."\n";
print '</td></tr>'."\n";
// DEMAT4DOLIBARR_API_TIMEOUT
print '<tr class="oddeven">' . "\n";
print '<td>'.$langs->trans("Demat4DolibarrApiTimeOutName").'</td>'."\n";
print '<td>'.$langs->trans("Demat4DolibarrApiTimeOutDesc").'</td>'."\n";
print '<td class="right nowrap">'."\n";
print '<input type="number" name="DEMAT4DOLIBARR_API_TIMEOUT" size="100" value="'.dol_escape_htmltag($conf->global->DEMAT4DOLIBARR_API_TIMEOUT).'" />'."\n";
print '<input type="text" name="DEMAT4DOLIBARR_FILES_TYPE" size="50" value="'.dol_escape_htmltag($conf->global->DEMAT4DOLIBARR_FILES_TYPE).'" />'."\n";
print '</td></tr>'."\n";
// DEMAT4DOLIBARR_DEFAULT_BILLING_MODE
......@@ -405,9 +427,74 @@ print '<tr class="oddeven">' . "\n";
print '<td>'.$langs->trans("Demat4DolibarrDefaultBillingModeName").'</td>'."\n";
print '<td>'.$langs->trans("Demat4DolibarrDefaultBillingModeDesc").'</td>'."\n";
print '<td class="right nowrap">'."\n";
print $formdictionary->select_dictionary('demat4dolibarr', 'demat4dolibarrbillingmode', $conf->global->DEMAT4DOLIBARR_DEFAULT_BILLING_MODE, 'DEMAT4DOLIBARR_DEFAULT_BILLING_MODE', 1, 'rowid', '{{code}} - {{label}}', array(), array('code' => 'ASC', 'label' => 'ASC'));
$defaultBillingMode = empty($conf->global->DEMAT4DOLIBARR_DEFAULT_BILLING_MODE) ? 1 : $conf->global->DEMAT4DOLIBARR_DEFAULT_BILLING_MODE;
print $formdictionary->select_dictionary('demat4dolibarr', 'demat4dolibarrbillingmode', $defaultBillingMode, 'DEMAT4DOLIBARR_DEFAULT_BILLING_MODE', 1, 'rowid', '{{code}} - {{label}}', array(), array('code' => 'ASC', 'label' => 'ASC'), 0, array(),0, 0, 'maxwidth400 minwidth100 ');
print '</td></tr>'."\n";
// DEMAT4DOLIBARR_INVOICE_GENERATE_FILE_BEFORE_SEND_TO_CHORUS_IF_NO_FILES
print '<tr class="oddeven">' . "\n";
print '<td>'.$langs->trans("Demat4DolibarrInvoiceGenerateFileBeforeSendToChorusIfNoFilesName").'</td>'."\n";
print '<td>'.$langs->trans("Demat4DolibarrInvoiceGenerateFileBeforeSendToChorusIfNoFilesDesc").'</td>'."\n";
print '<td class="right">' . "\n";
if (empty($conf->global->DEMAT4DOLIBARR_INVOICE_GENERATE_FILE_BEFORE_SEND_TO_CHORUS_IF_NO_FILES)) {
print '<a href="' . $_SERVER['PHP_SELF'] . '?action=set_generate_file&token='.newToken().'&value=1">' . img_picto($langs->trans("Disabled"), 'switch_off') . '</a>';
} else {
print '<a href="' . $_SERVER['PHP_SELF'] . '?action=set_generate_file&token='.newToken().'&value=0">' . img_picto($langs->trans("Enabled"), 'switch_on') . '</a>';
}
print '</td></tr>' . "\n";
// DEMAT4DOLIBARR_INVOICE_FORCE_GENERATE_FILE_BEFORE_SEND_TO_CHORUS
print '<tr class="oddeven">' . "\n";
print '<td>'.$langs->trans("Demat4DolibarrInvoiceForceGenerateFileBeforeSendToChorusName").'</td>'."\n";
print '<td>'.$langs->trans("Demat4DolibarrInvoiceForceGenerateFileBeforeSendToChorusDesc").'</td>'."\n";
print '<td class="right">' . "\n";
if (empty($conf->global->DEMAT4DOLIBARR_INVOICE_FORCE_GENERATE_FILE_BEFORE_SEND_TO_CHORUS)) {
print '<a href="' . $_SERVER['PHP_SELF'] . '?action=set_generate_file&token='.newToken().'&value=3">' . img_picto($langs->trans("Disabled"), 'switch_off') . '</a>';
} else {
print '<a href="' . $_SERVER['PHP_SELF'] . '?action=set_generate_file&token='.newToken().'&value=2">' . img_picto($langs->trans("Enabled"), 'switch_on') . '</a>';
}
print '</td></tr>' . "\n";
// DEMAT4DOLIBARR_INVOICE_DIRECT_SEND_TO_CHORUS_IF_ONLY_ONE_FILE
print '<tr class="oddeven">' . "\n";
print '<td>'.$langs->trans("Demat4DolibarrInvoiceDirectSendToChorusIfOnlyOneFileName").'</td>'."\n";
print '<td>'.$langs->trans("Demat4DolibarrInvoiceDirectSendToChorusIfOnlyOneFileDesc").'</td>'."\n";
print '<td class="right">' . "\n";
if (!empty($conf->use_javascript_ajax)) {
print ajax_constantonoff('DEMAT4DOLIBARR_INVOICE_DIRECT_SEND_TO_CHORUS_IF_ONLY_ONE_FILE');
} else {
if (empty($conf->global->DEMAT4DOLIBARR_INVOICE_DIRECT_SEND_TO_CHORUS_IF_ONLY_ONE_FILE)) {
print '<a href="' . $_SERVER['PHP_SELF'] . '?action=set_DEMAT4DOLIBARR_INVOICE_DIRECT_SEND_TO_CHORUS_IF_ONLY_ONE_FILE&token='.newToken().'">' . img_picto($langs->trans("Disabled"), 'switch_off') . '</a>';
} else {
print '<a href="' . $_SERVER['PHP_SELF'] . '?action=del_DEMAT4DOLIBARR_INVOICE_DIRECT_SEND_TO_CHORUS_IF_ONLY_ONE_FILE&token='.newToken().'">' . img_picto($langs->trans("Enabled"), 'switch_on') . '</a>';
}
}
print '</td></tr>' . "\n";
print '</table>' . "\n";
print '<br>';
print '<div class="center">';
print '<input type="submit" class="button" value="' . $langs->trans("Save") . '">';
print '</div>';
print '</form>';
print '<br>';
print '<div id="widget_options"></div>';
print load_fiche_titre($langs->trans("Demat4DolibarrWidgetParameters"), '', '');
print '<form method="post" action="' . $_SERVER["PHP_SELF"] . '#widget_options">';
print '<input type="hidden" name="token" value="' . newToken() . '">';
print '<input type="hidden" name="action" value="set_options_widget">';
print '<div class="div-table-responsive-no-min">';
print '<table class="noborder centpercent">';
print '<tr class="liste_titre">';
print '<td class="width20">'.$langs->trans("Parameters").'</td>'."\n";
print '<td>'.$langs->trans("Description").'</td>'."\n";
print '<td class="center">'.$langs->trans("Value").'</td>'."\n";
print "</tr>\n";
// DEMAT4DOLIBARR_BOX_SHOW_INVOICES_NOT_SENT_TO_CHORUS
print '<tr class="oddeven">' . "\n";
print '<td>'.$langs->trans("Demat4DolibarrBoxShowInvoicesNotSentToChorusName").'</td>'."\n";
......@@ -449,52 +536,12 @@ if (!empty($conf->use_javascript_ajax)) {
}
print '</td></tr>' . "\n";
// DEMAT4DOLIBARR_INVOICE_GENERATE_FILE_BEFORE_SEND_TO_CHORUS_IF_NO_FILES
print '<tr class="oddeven">' . "\n";
print '<td>'.$langs->trans("Demat4DolibarrInvoiceGenerateFileBeforeSendToChorusIfNoFilesName").'</td>'."\n";
print '<td>'.$langs->trans("Demat4DolibarrInvoiceGenerateFileBeforeSendToChorusIfNoFilesDesc").'</td>'."\n";
print '<td class="right">' . "\n";
if (empty($conf->global->DEMAT4DOLIBARR_INVOICE_GENERATE_FILE_BEFORE_SEND_TO_CHORUS_IF_NO_FILES)) {
print '<a href="' . $_SERVER['PHP_SELF'] . '?action=set_generate_file&token='.newToken().'&value=1">' . img_picto($langs->trans("Disabled"), 'switch_off') . '</a>';
} else {
print '<a href="' . $_SERVER['PHP_SELF'] . '?action=set_generate_file&token='.newToken().'&value=0">' . img_picto($langs->trans("Enabled"), 'switch_on') . '</a>';
}
print '</td></tr>' . "\n";
// DEMAT4DOLIBARR_INVOICE_FORCE_GENERATE_FILE_BEFORE_SEND_TO_CHORUS
print '<tr class="oddeven">' . "\n";
print '<td>'.$langs->trans("Demat4DolibarrInvoiceForceGenerateFileBeforeSendToChorusName").'</td>'."\n";
print '<td>'.$langs->trans("Demat4DolibarrInvoiceForceGenerateFileBeforeSendToChorusDesc").'</td>'."\n";
print '<td class="right">' . "\n";
if (empty($conf->global->DEMAT4DOLIBARR_INVOICE_FORCE_GENERATE_FILE_BEFORE_SEND_TO_CHORUS)) {
print '<a href="' . $_SERVER['PHP_SELF'] . '?action=set_generate_file&token='.newToken().'&value=3">' . img_picto($langs->trans("Disabled"), 'switch_off') . '</a>';
} else {
print '<a href="' . $_SERVER['PHP_SELF'] . '?action=set_generate_file&token='.newToken().'&value=2">' . img_picto($langs->trans("Enabled"), 'switch_on') . '</a>';
}
print '</td></tr>' . "\n";
// DEMAT4DOLIBARR_INVOICE_DIRECT_SEND_TO_CHORUS_IF_ONLY_ONE_FILE
print '<tr class="oddeven">' . "\n";
print '<td>'.$langs->trans("Demat4DolibarrInvoiceDirectSendToChorusIfOnlyOneFileName").'</td>'."\n";
print '<td>'.$langs->trans("Demat4DolibarrInvoiceDirectSendToChorusIfOnlyOneFileDesc").'</td>'."\n";
print '<td class="right">' . "\n";
if (!empty($conf->use_javascript_ajax)) {
print ajax_constantonoff('DEMAT4DOLIBARR_INVOICE_DIRECT_SEND_TO_CHORUS_IF_ONLY_ONE_FILE');
} else {
if (empty($conf->global->DEMAT4DOLIBARR_INVOICE_DIRECT_SEND_TO_CHORUS_IF_ONLY_ONE_FILE)) {
print '<a href="' . $_SERVER['PHP_SELF'] . '?action=set_DEMAT4DOLIBARR_INVOICE_DIRECT_SEND_TO_CHORUS_IF_ONLY_ONE_FILE&token='.newToken().'">' . img_picto($langs->trans("Disabled"), 'switch_off') . '</a>';
} else {
print '<a href="' . $_SERVER['PHP_SELF'] . '?action=del_DEMAT4DOLIBARR_INVOICE_DIRECT_SEND_TO_CHORUS_IF_ONLY_ONE_FILE&token='.newToken().'">' . img_picto($langs->trans("Enabled"), 'switch_on') . '</a>';
}
}
print '</td></tr>' . "\n";
print '</table>'."\n";
print '</table>' . "\n";
print '</div>';
print '<br>';
print '<div align="center">';
print '<input type="submit" class="button" value="'.$langs->trans("Save").'">';
print '<div class="center">';
print '<input type="submit" class="button" value="' . $langs->trans("Save") . '">';
print '</div>';
print '</form>';
......
......@@ -54,14 +54,13 @@ class modDemat4Dolibarr extends DolibarrModules
// Key text used to identify module (for permissions, menus, etc...)
$this->rights_class = 'demat4dolibarr';
$family = (!empty($conf->global->EASYA_VERSION) ? 'easya' : 'opendsi');
// Family can be 'crm','financial','hr','projects','products','ecm','technic','interface','other'
// It is used to group modules by family in module setup page
$this->family = $family;
$this->family = 'easya';
// Module position in the family
$this->module_position = 1;
// Gives the possibility to the module, to provide his own family info and position of this family (Overwrite $this->family and $this->module_position. Avoid this)
$this->familyinfo = array($family => array('position' => '001', 'label' => $langs->trans($family."Family")));
$this->familyinfo = array('easya' => array('position' => '001', 'label' => $langs->trans("easyaFamily")));
// Where to store the module in setup page (0=common,1=interface,2=others,3=very specific)
$this->special = 0;
......@@ -69,12 +68,15 @@ class modDemat4Dolibarr extends DolibarrModules
$this->name = preg_replace('/^mod/i', '', get_class($this));
// Module description, used if translation string 'ModuleXXXDesc' not found (where XXX is value of numeric property 'numero' of module)
$this->description = "Description of module Demat4Dolibarr";
$this->descriptionlong = "";
$this->editor_name = 'Open-DSI';
$this->editor_url = 'http://www.open-dsi.fr';
$this->descriptionlong = "";
$this->editor_name = '<b>Easya Solutions</b> (Ex Open-Dsi)';
$this->editor_web = 'https://easya.solutions';
$this->editor_url = "https://easya.solutions";
$this->editor_email = 'support@easya.solutions';
// Possible values for version are: 'development', 'experimental', 'dolibarr', 'dolibarr_deprecated' or a version string like 'x.y.z'
$this->version = '7.0.49';
$this->version = file_get_contents(__DIR__.'/../../VERSION');
$this->url_last_version = 'https://git.open-dsi.fr/dolibarr-extension/'.strtolower($this->name).'/-/raw/2022.5.3/VERSION';
// Key used in llx_const table to save module status enabled/disabled (where MYMODULE is value of property name of module in uppercase)
$this->const_name = 'MAIN_MODULE_' . strtoupper($this->name);
// Name of image file used for this module.
......@@ -124,7 +126,7 @@ class modDemat4Dolibarr extends DolibarrModules
$this->depends = array('modAdvanceDictionaries'); // List of modules id that must be enabled if this module is enabled
$this->requiredby = array(); // List of modules id to disable if this one is disabled
$this->conflictwith = array(); // List of modules id this module is in conflict with
$this->phpmin = array(5, 0); // Minimum version of PHP required by module
$this->phpmin = array(7, 0); // Minimum version of PHP required by module
$this->need_dolibarr_version = array(7, 0); // Minimum version of Dolibarr required by module
$this->langfiles = array("demat4dolibarr@demat4dolibarr", "opendsi@demat4dolibarr");
$langs->load('demat4dolibarr@demat4dolibarr');
......
img/object_opendsi_big.png

13.2 KiB | W: | H:

img/object_opendsi_big.png

36.9 KiB | W: | H:

img/object_opendsi_big.png
img/object_opendsi_big.png
img/object_opendsi_big.png
img/object_opendsi_big.png
  • 2-up
  • Swipe
  • Onion skin
# Dolibarr language file - en_US - demat4dolibarr
CHARSET=UTF-8
Module163028Name = Demat4Dolibarr
Module163028Name = Chorus Pro
Module163028Desc = Module permettant l'ajout de services dématérialisés sur les factures clients (ChorusPro, ...) via le service en ligne EDEDOC (www.ededoc.com).
############################################################
......@@ -23,7 +23,10 @@ ActionAC_D4D_ITEC = Envoi d'une facture vers CHORUS par EDEDOC (Auto)
#######################################################################
# Configuration admin
#######################################################################
Demat4DolibarrSetup = Configuration du module Demat4Dolibarr
Demat4DolibarrSetup = Configuration du module Chorus Pro
Demat4DolibarrApiParameters = Paramètres abonnement
Demat4DolibarrWidgetParameters = Paramètres Widget
Demat4DolibarrDebugName = Mode Debug
Demat4DolibarrDebugDesc = Affiche les messages d'erreurs détaillés
......@@ -39,18 +42,18 @@ Demat4DolibarrModuleKeyPurchaseDesc = <br>Vous p
Demat4DolibarrFilesTypeName = Types de fichiers supportés
Demat4DolibarrFilesTypeDesc = Liste des types de fichiers envoyés vers EdeDoc séparé par des | (ex: .pdf|.txt)
Demat4DolibarrApiTimeOutName = TimeOut de l'API
Demat4DolibarrApiTimeOutDesc = Délai d'attente maximum d'une requête vers l'API (en secondes, par defaut 5)
Demat4DolibarrApiTimeOutDesc = Délai d'attente maximum d'une requête vers l'API (en secondes, par défaut 5)
Demat4DolibarrDefaultBillingModeName = Mode de facturation
Demat4DolibarrDefaultBillingModeDesc = Mode de facturation par défaut lors de la création d'une facture
Demat4DolibarrBoxShowInvoicesNotSentToChorusName = Widget
Demat4DolibarrBoxShowInvoicesNotSentToChorusDesc = Afficher les factures non transmises via Chorus dans le widget "Factures Chorus"
Demat4DolibarrBoxShowInvoicesNotSentToChorusDesc = Afficher les factures non transmises à Chorus dans le widget "Factures Chorus"
Demat4DolibarrBoxShowInvoicesNotSentToChorusDateName = Widget
Demat4DolibarrBoxShowInvoicesNotSentToChorusDateDesc = Définir une date à partir de laquelle les factures non transmises via Chorus sont prises en comptes
Demat4DolibarrBoxShowOnlyStatusWhoHaveInvoiceName = Widget
Demat4DolibarrBoxShowOnlyStatusWhoHaveInvoiceDesc = N'affiche que les status de Chorus qui possèdent des factures dans le widget "Factures Chorus"
Demat4DolibarrInvoiceGenerateFileBeforeSendToChorusIfNoFilesName = Generation du document
Demat4DolibarrInvoiceGenerateFileBeforeSendToChorusIfNoFilesName = Génération du document
Demat4DolibarrInvoiceGenerateFileBeforeSendToChorusIfNoFilesDesc = Génère le document de la facture, si il n'existe pas, avant l'envoi vers chorus
Demat4DolibarrInvoiceForceGenerateFileBeforeSendToChorusName = Generation du document
Demat4DolibarrInvoiceForceGenerateFileBeforeSendToChorusName = Génération du document
Demat4DolibarrInvoiceForceGenerateFileBeforeSendToChorusDesc = Force la génération du document de la facture avant l'envoi vers chorus
Demat4DolibarrInvoiceDirectSendToChorusIfOnlyOneFileName = Envoi rapide
Demat4DolibarrInvoiceDirectSendToChorusIfOnlyOneFileDesc = Envoi directement vers chorus la facture avec son document si il n'y a qu'un document trouvé (n'affiche pas la selection du document)
......@@ -79,13 +82,13 @@ Demat4DolibarrInvoicesNotSentToChorus = Non transmises à Chorus
#######################################################################
Demat4DolibarrWarningAlreadySendToChorus = Attention! Vous avez déjà envoyé cette facture sur chorus.
Demat4DolibarrExceedsMaxRequest = Vous avez effectué %s envois ce mois sur %s prévus dans votre contrat. Il vous reste %s envois avant blocage. Contactez votre prestataire.
Demat4DolibarrChoicePDFFileToSendChorus = Choississez la facture au format PDF à envoyer sur Chorus
Demat4DolibarrChoicePDFFileToSendChorus = Choisissez la facture au format PDF à envoyer sur Chorus
Demat4DolibarrConfirmSendChorus = Êtes-vous sûr de vouloir envoyer cette facture sur Chorus ?
Demat4DolibarrOnlyInvoiceWithOneFileSendToChorus = Seules les factures avec uniquement 1 fichier seront envoyées vers Chorus (via EDEDOC)
Demat4DolibarrExceedsMaxRequestTo = Attention! Vous allez possiblement depasser votre pack de %s envoi vers chrorus de %s envoi. Vous en avez actuellement envoyé %s.
Demat4DolibarrExceedsMaxRequestTo = Attention! Vous allez possiblement dépasser votre pack de %s envoi vers chorus de %s envoi. Vous en avez actuellement envoyé %s.
Demat4DolibarrSendInvoicesChorusSuccess = Envoi sur chorus réussi des factures suivantes
Demat4DolibarrDontSendExceedsDoubleMaxRequest = Vous avez depassé votre pack de %s (x2 max) envoi vers chrorus. Vous en avez actuellement envoyé %s. Vous ne pouvez plus en envoyer pour ce mois-ci.
Demat4DolibarrDontSendExceedsDoubleMaxRequestTo = Vous allez depasser votre pack de %s (x2 max) envoi vers chrorus de %s envois. Vous en avez actuellement envoyé %s. Vous ne pouvez plus en envoyer pour ce mois-ci.
Demat4DolibarrDontSendExceedsDoubleMaxRequest = Vous avez dépassé votre pack de %s (x2 max) envoi vers chorus. Vous en avez actuellement envoyé %s. Vous ne pouvez plus en envoyer pour ce mois-ci.
Demat4DolibarrDontSendExceedsDoubleMaxRequestTo = Vous allez dépasser votre pack de %s (x2 max) envoi vers chorus de %s envois. Vous en avez actuellement envoyé %s. Vous ne pouvez plus en envoyer pour ce mois-ci.
Demat4DolibarrPrincipalFile = Document principal
Demat4DolibarrPrincipalFileShort = Princ.
Demat4DolibarrAttachmentFiles = Documents attachés
......@@ -104,7 +107,7 @@ Demat4DolibarrInvoiceStatus = Statut Chorus de la facture
Demat4DolibarrSeparatorChorusTech = [CHORUS] Infos techniques
Demat4DolibarrJobId = Identifiant EDEDOC
Demat4DolibarrJobWorkflowName = Nom du workflow
Demat4DolibarrJobOwner = Propiétaire du workflow
Demat4DolibarrJobOwner = Propriétaire du workflow
Demat4DolibarrJobCreatedOn = Transmission EDEDOC le
Demat4DolibarrJobSuspensionReason = Raison de la suspension du workflow
Demat4DolibarrChorusId = Identifiant Chorus de transmission
......@@ -242,7 +245,7 @@ Demat4DolibarrNewSendPossible
### Events : Send to CHORUS by EDEDOC
############################################################
Demat4DolibarrSendToChorusByEdeDocActionLabel = Facture %s envoyé sur CHORUS par EDEDOC
Demat4DolibarrSendToChorusByEdeDocActionMessage = L'intentifiant du job sur EDEDOC est %s.<br>Les paramètres envoyés sont:<br><pre>%s</pre>
Demat4DolibarrSendToChorusByEdeDocActionMessage = L'identifiant du job sur EDEDOC est %s.<br>Les paramètres envoyés sont:<br><pre>%s</pre>
#######################################################################
# Dashboards
......@@ -270,46 +273,46 @@ Demat4DolibarrErrorModuleNotConfigured = La configu
Demat4DolibarrErrorAlreadyPayed = Facture déjà payée
Demat4DolibarrErrorAlreadySendToChorus = Facture déjà envoyée vers Chorus
Demat4DolibarrErrorInvoiceMustBeStandardOrDepositOrCreditNote = La facture doit être de type "Standard", "Acompte" ou "Avoir"
Demat4DolibarrErrorCompanyNotFound = Le thiers avec l'ID %s n'a pas été trouvé
Demat4DolibarrErrorCompanyNotFound = Le tiers avec l'ID %s n'a pas été trouvé
Demat4DolibarrErrorProviderCodeNotConfigured = Le "Code fournisseur" n'est pas configuré dans le module
Demat4DolibarrErrorProviderCodeNotDefined = Le "Code fournisseur" n'est pas définie
Demat4DolibarrErrorProviderCodeTooLong = Le "Code fournisseur" est trop long (max: %s charactères)
Demat4DolibarrErrorDebtorIdNotDefined = L'identifiant du débiteur (Id. prof. 2 ou SIRET) du thiers n'a pas été définie sur sa fiche
Demat4DolibarrErrorDebtorIdTooLong = L'identifiant du débiteur (Id. prof. 2 ou SIRET) du thiers sur sa fiche est trop long (max: %s charactères)
Demat4DolibarrErrorProviderCodeTooLong = Le "Code fournisseur" est trop long (max: %s caractères)
Demat4DolibarrErrorDebtorIdNotDefined = L'identifiant du débiteur (Id. prof. 2 ou SIRET) du tiers n'a pas été définie sur sa fiche
Demat4DolibarrErrorDebtorIdTooLong = L'identifiant du débiteur (Id. prof. 2 ou SIRET) du tiers sur sa fiche est trop long (max: %s caractères)
Demat4DolibarrErrorBankNotFound = Le compte bancaire avec l'ID %s n'a pas été trouvé
Demat4DolibarrErrorEncasementAccountNotDefinedForThisBank = Le "Code IBAN" du Compte bancaire sélectionné n'a pas été définie
Demat4DolibarrErrorEncasementInstitutionNotDefinedForThisBank = Le "Code BIC/SWIFT" du Compte bancaire sélectionné n'a pas été définie
Demat4DolibarrErrorEncasementOrganisationNotDefinedForThisBank = Le "Nom du propriétaire du compte" du Compte bancaire sélectionné n'a pas été définie
Demat4DolibarrErrorEncasementAccountTooLongForThisBank = Le "Code IBAN" du Compte bancaire sélectionné est trop long (max: %s charactères)
Demat4DolibarrErrorEncasementInstitutionTooLongForThisBank = Le "Code BIC/SWIFT" du Compte bancaire sélectionné est trop long (max: %s charactères)
Demat4DolibarrErrorEncasementOrganisationTooLongForThisBank = Le "Nom du propriétaire du compte" du Compte bancaire sélectionné est trop long (max: %s charactères)
Demat4DolibarrErrorPromiseCodeTooLong = Le "N° d’engagement" est trop long (max: %s charactères)
Demat4DolibarrErrorEncasementAccountTooLongForThisBank = Le "Code IBAN" du Compte bancaire sélectionné est trop long (max: %s caractères)
Demat4DolibarrErrorEncasementInstitutionTooLongForThisBank = Le "Code BIC/SWIFT" du Compte bancaire sélectionné est trop long (max: %s caractères)
Demat4DolibarrErrorEncasementOrganisationTooLongForThisBank = Le "Nom du propriétaire du compte" du Compte bancaire sélectionné est trop long (max: %s caractères)
Demat4DolibarrErrorPromiseCodeTooLong = Le "N° d’engagement" est trop long (max: %s caractères)
Demat4DolibarrErrorChorusServiceContactNotFound = Le contact de type "Contact service [CHORUS]" avec l'ID %s n'a pas été trouvé
Demat4DolibarrErrorChorusCodeServiceNotDefined = Le "Code service" du contact de type "Contact service [CHORUS]" n'a pas été définie
Demat4DolibarrErrorChorusCodeServiceTooLong = Le "Code service" du contact de type "Contact service [CHORUS]" est trop long (max: %s charactères)
Demat4DolibarrErrorChorusCodeServiceTooLong = Le "Code service" du contact de type "Contact service [CHORUS]" est trop long (max: %s caractères)
Demat4DolibarrErrorTooManySelectedChorusServiceContact = Trop de contacts de type "Contact service [CHORUS]" selectionnés
Demat4DolibarrErrorContractNumberTooLong = Le "N° de marché" est trop long (max: %s charactères)
Demat4DolibarrErrorContractNumberTooLong = Le "N° de marché" est trop long (max: %s caractères)
Demat4DolibarrErrorChorusValidatorContactNotFound = Le contact de type "Contact valideur [CHORUS]" avec l'ID %s n'a pas été trouvé
Demat4DolibarrErrorChorusValidatorTypeIdNotDefined = Le "Type identifiant" du contact de type "Contact valideur [CHORUS]" n'a pas été définie
Demat4DolibarrErrorChorusValidatorIdNotDefined = L' "Identifiant" du contact de type "Contact valideur [CHORUS]" n'a pas été définie
Demat4DolibarrErrorChorusValidatorIdTooLong = L' "Identifiant" du contact de type "Contact valideur [CHORUS]" est trop long (max: %s charactères)
Demat4DolibarrErrorChorusValidatorIdTooLong = L' "Identifiant" du contact de type "Contact valideur [CHORUS]" est trop long (max: %s caractères)
Demat4DolibarrErrorChorusValidatorNameNotDefined = La "Raison sociale" du contact de type "Contact valideur [CHORUS]" n'a pas été définie
Demat4DolibarrErrorChorusValidatorNameTooLong = La "Raison sociale" du contact de type "Contact valideur [CHORUS]" est trop longue (max: %s charactères)
Demat4DolibarrErrorChorusValidatorNameTooLong = La "Raison sociale" du contact de type "Contact valideur [CHORUS]" est trop longue (max: %s caractères)
Demat4DolibarrErrorChorusValidatorCountryNotDefined = Le "Pays" du contact de type "Contact valideur [CHORUS]" n'a pas été définie
Demat4DolibarrErrorChorusValidatorCountryTooLong = Le "Pays" du contact de type "Contact valideur [CHORUS]" est trop long (max: %s charactères)
Demat4DolibarrErrorChorusValidatorCountryTooLong = Le "Pays" du contact de type "Contact valideur [CHORUS]" est trop long (max: %s caractères)
Demat4DolibarrErrorTooManySelectedChorusValidatorContact = Trop de contacts de type "Contact valideur [CHORUS]" selectionnés
Demat4DolibarrErrorInvoiceNumberTooLong = La réf. de la facture est trop longue (max: %s charactères)
Demat4DolibarrErrorInvoiceNumberTooLong = La réf. de la facture est trop longue (max: %s caractères)
Demat4DolibarrErrorBillingModeNotDefined = Le "Mode de facturation" de la facture n'a pas été définie
Demat4DolibarrErrorInvoiceDateNotDefined = Le "Date facturation" de la facture n'a pas été définie
Demat4DolibarrErrorInvoiceCurrencyTooLong = Le code de la devise de la facture est trop longue (max: %s charactères)
Demat4DolibarrErrorInvoiceCurrencyTooLong = Le code de la devise de la facture est trop longue (max: %s caractères)
Demat4DolibarrErrorOriginalInvoiceNotFound = La facture source avec l'ID %s n'a pas été trouvé
Demat4DolibarrErrorOriginalInvoiceNumberTooLong = La réf. de la facture source est trop longue (max: %s charactères)
Demat4DolibarrErrorOriginalInvoiceNumberTooLong = La réf. de la facture source est trop longue (max: %s caractères)
Demat4DolibarrErrorModeReglementNotDefined = Le "Mode de règlement" de la facture n'a pas été définie
Demat4DolibarrErrorPaymentCodeChorusNotFound = Le "Mode de paiement CHORUS" n'a pas de correspondance avec le "Mode de règlement" de la facture
Demat4DolibarrErrorAffectedUserTooLong = Le nom du contact de type "Utilisateur affecté à la pièce CHORUS" est trop longue (max: %s charactères)
Demat4DolibarrErrorIncrementCurrentNumRequest = Erreur lors de l'enrequistrement du compteur d'envoi vers CHORUS
Demat4DolibarrErrorSaveJobId = Erreur lors de l'enrequistrement de l'identifiant du workflow CHORUS
Demat4DolibarrErrorSaveJobStatus = Erreur lors de l'enrequistrement du statut du workflow CHORUS
Demat4DolibarrErrorAffectedUserTooLong = Le nom du contact de type "Utilisateur affecté à la pièce CHORUS" est trop longue (max: %s caractères)
Demat4DolibarrErrorIncrementCurrentNumRequest = Erreur lors de l'enregistrement du compteur d'envoi vers CHORUS
Demat4DolibarrErrorSaveJobId = Erreur lors de l'enregistrement de l'identifiant du workflow CHORUS
Demat4DolibarrErrorSaveJobStatus = Erreur lors de l'enregistrement du statut du workflow CHORUS
Demat4DolibarrErrorInvoice = Erreur facture %s (ID: %s) :
Demat4DolibarrErrorBillingModeNotFound = Mode de facturation non trouvée dans le dictionnaire pour l'ID %s
Demat4DolibarrErrorJobStatusCodeNotFound = Le code du statut du workflow "%s" non trouvée dans le dictionnaire
......
# Dolibarr language file - en_US - opendsi
CHARSET=UTF-8
easyaFamily=Easya Solutions
opendsiFamily=Opendsi
OpenDsiAboutDesc=This module has been developed by <a href="http://www.open-dsi.fr" target="_blank">Open-DSI</a><br><br>For any question or feedback, contact us on <a href="mailto:support@open-dsi.fr">support@open-dsi.fr</a><br><br>For any question, contact us on <a href="mailto:contact@open-dsi.fr">contact@open-dsi.fr</a> or at +33 4 82 53 94 76<br><br>Find our other modules on <a href="http://www.dolistore.com/search.php?orderby=position&orderway=desc&search_query=open-dsi&submit_search=Rechercher" target="_blank">Dolistore</a>
OpenDsiAboutDesc1=This module has been developed by <a href="https://easya.solutions"" target="_blank">Easya Solutions</a><br><br>For any question or feedback, contact us on <a href="mailto:support@open-dsi.fr">support@open-dsi.fr</a><br><br>For any question or feedback, file a support demand at
OpenDsiAboutDesc2=our support ticket
OpenDsiAboutDesc3=or contact us on <a href="mailto:support@easya.solutions">support@easya.solutions</a> or at +33 4 82 53 94 76<br><br>Find our other modules on <a href="http://www.dolistore.com/search.php?orderby=position&orderway=desc&search_query=open-dsi&submit_search=Rechercher" target="_blank">Dolistore</a>
OpenDsiChangeLog=ChangeLog file
Support=Support
# Dolibarr language file - fr_FR - demat4dolibarr
CHARSET=UTF-8
Module163028Name = Demat4Dolibarr
Module163028Name = Chorus Pro
Module163028Desc = Module permettant l'ajout de services dématérialisés sur les factures clients (ChorusPro, ...) via le service en ligne EDEDOC (www.ededoc.com).
############################################################
......@@ -23,7 +23,10 @@ ActionAC_D4D_ITEC = Envoi d'une facture vers CHORUS par EDEDOC (Auto)
#######################################################################
# Configuration admin
#######################################################################
Demat4DolibarrSetup = Configuration du module Demat4Dolibarr
Demat4DolibarrSetup = Configuration du module Chorus Pro
Demat4DolibarrApiParameters = Paramètres abonnement
Demat4DolibarrWidgetParameters = Paramètres Widget
Demat4DolibarrDebugName = Mode Debug
Demat4DolibarrDebugDesc = Affiche les messages d'erreurs détaillés
......
# Dolibarr language file - fr_FR - opendsi
CHARSET=UTF-8
easyaFamily=Easya Solutions
opendsiFamily=Opendsi
OpenDsiAboutDesc=Ce module a été développé par <a href="http://www.open-dsi.fr" target="_blank">Open-DSI</a><br><br>Pour toute question technique ou retour, contactez-nous sur <a href="mailto:support@open-dsi.fr">support@open-dsi.fr</a><br><br>Pour toute question commerciale, contactez-nous sur <a href="mailto:contact@open-dsi.fr">contact@open-dsi.fr</a> ou au +33 4 82 53 94 76<br><br>Retrouvez nos autres modules sur <a href="http://www.dolistore.com/search.php?orderby=position&orderway=desc&search_query=open-dsi&submit_search=Rechercher" target="_blank">Dolistore</a>
OpenDsiAboutDesc1=Ce module a été développé par <a href="https://easya.solutions" target="_blank">Easya Solutions</a><br><br>Pour toute question technique ou retour, déposez une demande de support sur
OpenDsiAboutDesc2=notre support
OpenDsiAboutDesc3=ou contactez-nous sur <a href="mailto:support@easya.solutions">support@easya.solutions</a><br><br>Pour toute question commerciale, contactez-nous sur <a href="mailto:info@easya.solutions">info@easya.solutions</a> ou au +33 4 82 53 94 76<br><br>Retrouvez nos autres modules sur <a href="http://www.dolistore.com/search.php?orderby=position&orderway=desc&search_query=open-dsi&submit_search=Rechercher" target="_blank">Dolistore</a>
OpenDsiChangeLog=Fichier de log
Support=Support
......@@ -49,7 +49,7 @@ function demat4dolibarr_admin_prepare_head()
complete_head_from_modules($conf, $langs, null, $head, $h, 'demat4dolibarr_admin');
$head[$h][0] = dol_buildpath("/demat4dolibarr/admin/about.php", 1);
$head[$h][1] = $langs->trans("About");
$head[$h][1] = $langs->trans("About") . " / " . $langs->trans("Support");
$head[$h][2] = 'about';
$h++;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment