Merge remote-tracking branch 'Dolibarr/14.0' into 14
This commit is contained in:
commit
394e2b9db9
44
ChangeLog
44
ChangeLog
@ -2,6 +2,50 @@
|
|||||||
English Dolibarr ChangeLog
|
English Dolibarr ChangeLog
|
||||||
--------------------------------------------------------------
|
--------------------------------------------------------------
|
||||||
|
|
||||||
|
***** ChangeLog for 14.0.2 compared to 14.0.1 *****
|
||||||
|
|
||||||
|
FIX: #18353 Invoice list translation issue
|
||||||
|
FIX: #18375 SQL Error on tasks statistics
|
||||||
|
FIX: #18465
|
||||||
|
FIX: #18484
|
||||||
|
FIX: #18531
|
||||||
|
FIX: #18542 REST API: set global $user variable to DolibarrApiAccess::user.
|
||||||
|
FIX: #18544 Shipment REST API: load thirdparty object into the shipment before validating.
|
||||||
|
FIX: #18544 Shipment rest api: load thirdparty object when validating
|
||||||
|
FIX: #18565
|
||||||
|
FIX: #18589 #18617
|
||||||
|
FIX: #18591 : Remove double quotes of SQL Queries for postgresql compatibility
|
||||||
|
FIX: #18666 Order / Shipment list: Don't SQL JOIN category table when not necessary.
|
||||||
|
FIX: Accountancy - Some problems of length with general & subledger account
|
||||||
|
FIX: add DISTINCT
|
||||||
|
FIX: Add option $noescapecommand in executeCLI for better compatibility
|
||||||
|
FIX: Add token to remove error when removing widget
|
||||||
|
FIX: Add token when remove the last widget on home page
|
||||||
|
FIX: an approved holiday can be canceled by an admin.
|
||||||
|
FIX: better sql request
|
||||||
|
FIX: change LOG_DEBUG with LOG_WARNING in syslog and remove sql error in syslog (already done)
|
||||||
|
FIX: Collapsing of extrafields has disappeared.
|
||||||
|
FIX: Date of payment of subscription must not be set to 1970-01-01.
|
||||||
|
FIX: Export of website generates a package that contains a sql error
|
||||||
|
FIX: Field already present in SQL request
|
||||||
|
FIX: increase maxlength of password input
|
||||||
|
FIX: invoice fetch not found syslog debug level instead of error
|
||||||
|
FIX: Invoice list - Wrong name for column total_tva
|
||||||
|
FIX: invoice validation: when checking if any vat rate has a negative amount, prevent false positives with -1E-14 amounts
|
||||||
|
FIX: Manage credit note on situation invoice for calculate margin
|
||||||
|
FIX: Menu List of project was not visible.
|
||||||
|
FIX: migration script
|
||||||
|
FIX: multicompany transverse mode compatibility
|
||||||
|
FIX: option "Default value for field 'Refuse bulk emailings'"
|
||||||
|
FIX: Recommended session.cookie_samesite must be 'Lax' not 'Strict'.
|
||||||
|
FIX: Relative discount with high nb of decimals
|
||||||
|
FIX: salary extrafields don't work and table is not well named
|
||||||
|
FIX: Supplier invoice list - Wrong language key used
|
||||||
|
FIX: wrong table_element_line
|
||||||
|
FIX: wrong users count in multicompany transverse mode
|
||||||
|
FIX: #yogosha6944 Protection against traversal path.
|
||||||
|
|
||||||
|
|
||||||
***** ChangeLog for 14.0.1 compared to 14.0.0 *****
|
***** ChangeLog for 14.0.1 compared to 14.0.0 *****
|
||||||
|
|
||||||
FIX: $conf->task used but it does not exist, use $conf->projet instead
|
FIX: $conf->task used but it does not exist, use $conf->projet instead
|
||||||
|
|||||||
@ -239,11 +239,19 @@ fclose($fp);
|
|||||||
if (empty($buildzip)) {
|
if (empty($buildzip)) {
|
||||||
print "File ".$outputfile." generated\n";
|
print "File ".$outputfile." generated\n";
|
||||||
} else {
|
} else {
|
||||||
$result = dol_compress_file($outputfile, $outputfile.'.zip');
|
if ($buildzip == '1' || $buildzip == 'zip') {
|
||||||
|
$result = dol_compress_file($outputfile, $outputfile.'.zip', 'zip');
|
||||||
if ($result > 0) {
|
if ($result > 0) {
|
||||||
dol_delete_file($outputfile);
|
dol_delete_file($outputfile);
|
||||||
print "File ".$outputfile.".zip generated\n";
|
print "File ".$outputfile.".zip generated\n";
|
||||||
}
|
}
|
||||||
|
} elseif ($buildzip == '2' || $buildzip == 'gz') {
|
||||||
|
$result = dol_compress_file($outputfile, $outputfile.'.gz', 'gz');
|
||||||
|
if ($result > 0) {
|
||||||
|
dol_delete_file($outputfile);
|
||||||
|
print "File ".$outputfile.".gz generated\n";
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
exit(0);
|
exit(0);
|
||||||
|
|||||||
@ -3,11 +3,26 @@
|
|||||||
#
|
#
|
||||||
# Use this sample to search into a ldap
|
# Use this sample to search into a ldap
|
||||||
#
|
#
|
||||||
# ldapsearch -h hostname -x
|
|
||||||
# ldapsearch -h hostname -x -b "ou=people,dc=teclib,dc=infra"
|
# Anonymous access
|
||||||
# ldapsearch -h hostname -x -z 0 -b "o=somecompany.com" -D "cn=manager,o=somecompany.com" -w password "(objectclass=*)"
|
# ldapsearch -h hostname -p 389
|
||||||
# ldapsearch -h hostname -x -b "o=somecompany.com" -D "cn=manager,o=somecompany.com" -w password "(objectclass=*)"
|
#
|
||||||
|
# Login access (using a Bind DN)
|
||||||
|
# ldapsearch -h hostname -p 389 -z 0 -D "uid=root,cn=users,dc=ldap,dc=test,dc=local" -w password
|
||||||
|
# ldapsearch -H ldap://hostname:389 -z 0 -D "uid=root,cn=users,dc=ldap,dc=test,dc=local" -w password
|
||||||
|
# ldapsearch -d1 -H ldap://hostname:389 -x -z 0 -D "uid=root,cn=users,dc=ldap,dc=test,dc=local" -w password
|
||||||
|
# ldapsearch -H ldap://hostname:389 -z 0 -D "uid=root,cn=users,dc=ldap,dc=test,dc=local" -w password
|
||||||
|
#
|
||||||
|
# Login access in SSL (using a Bind DN)
|
||||||
|
# ldapsearch -H ldaps://hostnamme:636 -z 0 -D "uid=root,cn=users,dc=ldap,dc=test,dc=local" -w password -b "cn=users,dc=ldap,dc=test,dc=local
|
||||||
|
# If it fails, you may try to use "hostname" that is real name of certificate.
|
||||||
|
# You must also check that /etc/ldap/ldap.conf contains the line TLS_CACERT /etc/ssl/certs/ca-certificates.crt
|
||||||
|
|
||||||
|
# What to search
|
||||||
|
# ldapsearch -h hostname -p 389 -x -D "uid=root,cn=users,dc=ldap,dc=test,dc=local" -w password -b "cn=users,dc=ldap,dc=test,dc=local"
|
||||||
|
# ldapsearch -h hostname -p 389 -x -D "cn=manager,o=somecompany.com" -w password -b "ou=people,dc=teclib,dc=infra"
|
||||||
|
# ldapsearch -h hostname -p 389 -x -D "cn=manager,o=somecompany.com" -w password -b "o=somecompany.com" "(objectclass=*)"
|
||||||
#
|
#
|
||||||
# Example to test a ldap search:
|
# Example to test a ldap search:
|
||||||
# ldapsearch -h hostname -x -z 5 -b 'OU=Collaborateurs,OU=Utilisateurs,OU=MyCompany,DC=bocal,DC=lan' -D 'CN=UserAdmin,OU=Informatique,OU=Utilisateurs,OU=MyCompany,DC=bocal,DC=lan' -w password
|
# ldapsearch -h hostname -p 389 -x -z 5 -b 'OU=Collaborateurs,OU=Utilisateurs,OU=MyCompany,DC=bocal,DC=lan' -D 'CN=UserAdmin,OU=Informatique,OU=Utilisateurs,OU=MyCompany,DC=bocal,DC=lan' -w password
|
||||||
|
|
||||||
|
|||||||
@ -468,7 +468,7 @@ class AccountancyExport
|
|||||||
/**
|
/**
|
||||||
* Export format : CIEL (Format XIMPORT)
|
* Export format : CIEL (Format XIMPORT)
|
||||||
* Format since 2003 compatible CIEL version > 2002 / Sage50
|
* Format since 2003 compatible CIEL version > 2002 / Sage50
|
||||||
* Last review for this format : 2021/07/28 Alexandre Spangaro (aspangaro@open-dsi.fr)
|
* Last review for this format : 2021-09-13 Alexandre Spangaro (aspangaro@open-dsi.fr)
|
||||||
*
|
*
|
||||||
* Help : https://sage50c.online-help.sage.fr/aide-technique/
|
* Help : https://sage50c.online-help.sage.fr/aide-technique/
|
||||||
* In sage software | Use menu : "Exchange" > "Importing entries..."
|
* In sage software | Use menu : "Exchange" > "Importing entries..."
|
||||||
@ -496,7 +496,7 @@ class AccountancyExport
|
|||||||
|
|
||||||
$Tab = array();
|
$Tab = array();
|
||||||
$Tab['num_ecriture'] = str_pad($data->piece_num, 5);
|
$Tab['num_ecriture'] = str_pad($data->piece_num, 5);
|
||||||
$Tab['code_journal'] = str_pad($data->code_journal, 2);
|
$Tab['code_journal'] = str_pad(self::trunc($data->code_journal, 2), 2);
|
||||||
$Tab['date_ecriture'] = str_pad($date_document, 8, ' ', STR_PAD_LEFT);
|
$Tab['date_ecriture'] = str_pad($date_document, 8, ' ', STR_PAD_LEFT);
|
||||||
$Tab['date_echeance'] = str_pad($date_echeance, 8, ' ', STR_PAD_LEFT);
|
$Tab['date_echeance'] = str_pad($date_echeance, 8, ' ', STR_PAD_LEFT);
|
||||||
$Tab['num_piece'] = str_pad(self::trunc($data->doc_ref, 12), 12);
|
$Tab['num_piece'] = str_pad(self::trunc($data->doc_ref, 12), 12);
|
||||||
@ -504,9 +504,9 @@ class AccountancyExport
|
|||||||
$Tab['libelle_ecriture'] = str_pad(self::trunc(dol_string_unaccent($data->doc_ref).dol_string_unaccent($data->label_operation), 25), 25);
|
$Tab['libelle_ecriture'] = str_pad(self::trunc(dol_string_unaccent($data->doc_ref).dol_string_unaccent($data->label_operation), 25), 25);
|
||||||
$Tab['montant'] = str_pad(price2fec(abs($data->debit - $data->credit)), 13, ' ', STR_PAD_LEFT);
|
$Tab['montant'] = str_pad(price2fec(abs($data->debit - $data->credit)), 13, ' ', STR_PAD_LEFT);
|
||||||
$Tab['type_montant'] = str_pad($data->sens, 1);
|
$Tab['type_montant'] = str_pad($data->sens, 1);
|
||||||
$Tab['vide'] = str_repeat(' ', 18);
|
$Tab['vide'] = str_repeat(' ', 18); // Analytical accounting - Not managed in Dolibarr
|
||||||
$Tab['intitule_compte'] = str_pad(self::trunc(dol_string_unaccent($data->label_operation), 34), 34);
|
$Tab['intitule_compte'] = str_pad(self::trunc(dol_string_unaccent($data->label_operation), 34), 34);
|
||||||
$Tab['end'] = 'O2003';
|
$Tab['end'] = 'O2003'; // 0 = EUR | 2003 = Format Ciel
|
||||||
|
|
||||||
$Tab['end_line'] = $end_line;
|
$Tab['end_line'] = $end_line;
|
||||||
|
|
||||||
|
|||||||
@ -265,8 +265,8 @@ print_barre_liste($langs->trans("OverviewOfAmountOfLinesNotBound"), '', '', '',
|
|||||||
|
|
||||||
print '<div class="div-table-responsive-no-min">';
|
print '<div class="div-table-responsive-no-min">';
|
||||||
print '<table class="noborder centpercent">';
|
print '<table class="noborder centpercent">';
|
||||||
print '<tr class="liste_titre"><td width="200">'.$langs->trans("Account").'</td>';
|
print '<tr class="liste_titre"><td class="minwidth100">'.$langs->trans("Account").'</td>';
|
||||||
print '<td width="200" class="left">'.$langs->trans("Label").'</td>';
|
print '<td class="left">'.$langs->trans("Label").'</td>';
|
||||||
for ($i = 1; $i <= 12; $i++) {
|
for ($i = 1; $i <= 12; $i++) {
|
||||||
$j = $i + ($conf->global->SOCIETE_FISCAL_MONTH_START ? $conf->global->SOCIETE_FISCAL_MONTH_START : 1) - 1;
|
$j = $i + ($conf->global->SOCIETE_FISCAL_MONTH_START ? $conf->global->SOCIETE_FISCAL_MONTH_START : 1) - 1;
|
||||||
if ($j > 12) {
|
if ($j > 12) {
|
||||||
@ -314,7 +314,7 @@ if ($resql) {
|
|||||||
while ($row = $db->fetch_row($resql)) {
|
while ($row = $db->fetch_row($resql)) {
|
||||||
print '<tr class="oddeven"><td>';
|
print '<tr class="oddeven"><td>';
|
||||||
if ($row[0] == 'tobind') {
|
if ($row[0] == 'tobind') {
|
||||||
print $langs->trans("Unknown");
|
print '<span class="opacitymedium">'.$langs->trans("Unknown").'</span>';
|
||||||
} else {
|
} else {
|
||||||
print length_accountg($row[0]);
|
print length_accountg($row[0]);
|
||||||
}
|
}
|
||||||
@ -349,8 +349,8 @@ print_barre_liste($langs->trans("OverviewOfAmountOfLinesBound"), '', '', '', '',
|
|||||||
|
|
||||||
print '<div class="div-table-responsive-no-min">';
|
print '<div class="div-table-responsive-no-min">';
|
||||||
print '<table class="noborder centpercent">';
|
print '<table class="noborder centpercent">';
|
||||||
print '<tr class="liste_titre"><td width="200">'.$langs->trans("Account").'</td>';
|
print '<tr class="liste_titre"><td class="minwidth100">'.$langs->trans("Account").'</td>';
|
||||||
print '<td width="200" class="left">'.$langs->trans("Label").'</td>';
|
print '<td class="left">'.$langs->trans("Label").'</td>';
|
||||||
for ($i = 1; $i <= 12; $i++) {
|
for ($i = 1; $i <= 12; $i++) {
|
||||||
$j = $i + ($conf->global->SOCIETE_FISCAL_MONTH_START ? $conf->global->SOCIETE_FISCAL_MONTH_START : 1) - 1;
|
$j = $i + ($conf->global->SOCIETE_FISCAL_MONTH_START ? $conf->global->SOCIETE_FISCAL_MONTH_START : 1) - 1;
|
||||||
if ($j > 12) {
|
if ($j > 12) {
|
||||||
@ -436,7 +436,7 @@ if ($conf->global->MAIN_FEATURES_LEVEL > 0) { // This part of code looks strange
|
|||||||
|
|
||||||
print '<div class="div-table-responsive-no-min">';
|
print '<div class="div-table-responsive-no-min">';
|
||||||
print '<table class="noborder centpercent">';
|
print '<table class="noborder centpercent">';
|
||||||
print '<tr class="liste_titre"><td width="400" class="left">'.$langs->trans("TotalVente").'</td>';
|
print '<tr class="liste_titre"><td lass="left">'.$langs->trans("TotalVente").'</td>';
|
||||||
for ($i = 1; $i <= 12; $i++) {
|
for ($i = 1; $i <= 12; $i++) {
|
||||||
$j = $i + ($conf->global->SOCIETE_FISCAL_MONTH_START ? $conf->global->SOCIETE_FISCAL_MONTH_START : 1) - 1;
|
$j = $i + ($conf->global->SOCIETE_FISCAL_MONTH_START ? $conf->global->SOCIETE_FISCAL_MONTH_START : 1) - 1;
|
||||||
if ($j > 12) {
|
if ($j > 12) {
|
||||||
@ -497,7 +497,7 @@ if ($conf->global->MAIN_FEATURES_LEVEL > 0) { // This part of code looks strange
|
|||||||
print "<br>\n";
|
print "<br>\n";
|
||||||
print '<div class="div-table-responsive-no-min">';
|
print '<div class="div-table-responsive-no-min">';
|
||||||
print '<table class="noborder centpercent">';
|
print '<table class="noborder centpercent">';
|
||||||
print '<tr class="liste_titre"><td width="400">'.$langs->trans("TotalMarge").'</td>';
|
print '<tr class="liste_titre"><td>'.$langs->trans("TotalMarge").'</td>';
|
||||||
for ($i = 1; $i <= 12; $i++) {
|
for ($i = 1; $i <= 12; $i++) {
|
||||||
$j = $i + ($conf->global->SOCIETE_FISCAL_MONTH_START ? $conf->global->SOCIETE_FISCAL_MONTH_START : 1) - 1;
|
$j = $i + ($conf->global->SOCIETE_FISCAL_MONTH_START ? $conf->global->SOCIETE_FISCAL_MONTH_START : 1) - 1;
|
||||||
if ($j > 12) {
|
if ($j > 12) {
|
||||||
|
|||||||
@ -154,8 +154,8 @@ print_barre_liste($langs->trans("OverviewOfAmountOfLinesNotBound"), '', '', '',
|
|||||||
|
|
||||||
print '<div class="div-table-responsive-no-min">';
|
print '<div class="div-table-responsive-no-min">';
|
||||||
print '<table class="noborder centpercent">';
|
print '<table class="noborder centpercent">';
|
||||||
print '<tr class="liste_titre"><td width="200">'.$langs->trans("Account").'</td>';
|
print '<tr class="liste_titre"><td class="minwidth100">'.$langs->trans("Account").'</td>';
|
||||||
print '<td width="200" class="left">'.$langs->trans("Label").'</td>';
|
print '<td class="left">'.$langs->trans("Label").'</td>';
|
||||||
for ($i = 1; $i <= 12; $i++) {
|
for ($i = 1; $i <= 12; $i++) {
|
||||||
$j = $i + ($conf->global->SOCIETE_FISCAL_MONTH_START ? $conf->global->SOCIETE_FISCAL_MONTH_START : 1) - 1;
|
$j = $i + ($conf->global->SOCIETE_FISCAL_MONTH_START ? $conf->global->SOCIETE_FISCAL_MONTH_START : 1) - 1;
|
||||||
if ($j > 12) {
|
if ($j > 12) {
|
||||||
@ -197,7 +197,7 @@ if ($resql) {
|
|||||||
while ($row = $db->fetch_row($resql)) {
|
while ($row = $db->fetch_row($resql)) {
|
||||||
print '<tr class="oddeven"><td>';
|
print '<tr class="oddeven"><td>';
|
||||||
if ($row[0] == 'tobind') {
|
if ($row[0] == 'tobind') {
|
||||||
print $langs->trans("Unknown");
|
print '<span class="opacitymedium">'.$langs->trans("Unknown").'</span>';
|
||||||
} else {
|
} else {
|
||||||
print length_accountg($row[0]);
|
print length_accountg($row[0]);
|
||||||
}
|
}
|
||||||
@ -233,8 +233,8 @@ print_barre_liste($langs->trans("OverviewOfAmountOfLinesBound"), '', '', '', '',
|
|||||||
|
|
||||||
print '<div class="div-table-responsive-no-min">';
|
print '<div class="div-table-responsive-no-min">';
|
||||||
print '<table class="noborder centpercent">';
|
print '<table class="noborder centpercent">';
|
||||||
print '<tr class="liste_titre"><td width="200">'.$langs->trans("Account").'</td>';
|
print '<tr class="liste_titre"><td class="minwidth100">'.$langs->trans("Account").'</td>';
|
||||||
print '<td width="200" class="left">'.$langs->trans("Label").'</td>';
|
print '<td class="left">'.$langs->trans("Label").'</td>';
|
||||||
for ($i = 1; $i <= 12; $i++) {
|
for ($i = 1; $i <= 12; $i++) {
|
||||||
$j = $i + ($conf->global->SOCIETE_FISCAL_MONTH_START ? $conf->global->SOCIETE_FISCAL_MONTH_START : 1) - 1;
|
$j = $i + ($conf->global->SOCIETE_FISCAL_MONTH_START ? $conf->global->SOCIETE_FISCAL_MONTH_START : 1) - 1;
|
||||||
if ($j > 12) {
|
if ($j > 12) {
|
||||||
@ -276,7 +276,7 @@ if ($resql) {
|
|||||||
while ($row = $db->fetch_row($resql)) {
|
while ($row = $db->fetch_row($resql)) {
|
||||||
print '<tr class="oddeven"><td>';
|
print '<tr class="oddeven"><td>';
|
||||||
if ($row[0] == 'tobind') {
|
if ($row[0] == 'tobind') {
|
||||||
print $langs->trans("Unknown");
|
print '<span class="opacitymedium">'.$langs->trans("Unknown").'</span>';
|
||||||
} else {
|
} else {
|
||||||
print length_accountg($row[0]);
|
print length_accountg($row[0]);
|
||||||
}
|
}
|
||||||
@ -314,7 +314,7 @@ if ($conf->global->MAIN_FEATURES_LEVEL > 0) { // This part of code looks strange
|
|||||||
|
|
||||||
print '<div class="div-table-responsive-no-min">';
|
print '<div class="div-table-responsive-no-min">';
|
||||||
print '<table class="noborder centpercent">';
|
print '<table class="noborder centpercent">';
|
||||||
print '<tr class="liste_titre"><td width="400" class="left">'.$langs->trans("Total").'</td>';
|
print '<tr class="liste_titre"><td class="left">'.$langs->trans("Total").'</td>';
|
||||||
for ($i = 1; $i <= 12; $i++) {
|
for ($i = 1; $i <= 12; $i++) {
|
||||||
$j = $i + ($conf->global->SOCIETE_FISCAL_MONTH_START ? $conf->global->SOCIETE_FISCAL_MONTH_START : 1) - 1;
|
$j = $i + ($conf->global->SOCIETE_FISCAL_MONTH_START ? $conf->global->SOCIETE_FISCAL_MONTH_START : 1) - 1;
|
||||||
if ($j > 12) {
|
if ($j > 12) {
|
||||||
|
|||||||
@ -610,7 +610,7 @@ if (empty($action) || $action == 'view') {
|
|||||||
$userstatic->id = $tabuser[$key]['id'];
|
$userstatic->id = $tabuser[$key]['id'];
|
||||||
$userstatic->name = $tabuser[$key]['name'];
|
$userstatic->name = $tabuser[$key]['name'];
|
||||||
print "<td>".$userstatic->getNomUrl(0, 'user', 16).' - '.$accountingaccount->label."</td>";
|
print "<td>".$userstatic->getNomUrl(0, 'user', 16).' - '.$accountingaccount->label."</td>";
|
||||||
print '<td class="right nowraponall amount amount">'.($mt >= 0 ? price($mt) : '')."</td>";
|
print '<td class="right nowraponall amount">'.($mt >= 0 ? price($mt) : '')."</td>";
|
||||||
print '<td class="right nowraponall amount">'.($mt < 0 ? price(-$mt) : '')."</td>";
|
print '<td class="right nowraponall amount">'.($mt < 0 ? price(-$mt) : '')."</td>";
|
||||||
print "</tr>";
|
print "</tr>";
|
||||||
}
|
}
|
||||||
|
|||||||
@ -265,8 +265,8 @@ print_barre_liste($langs->trans("OverviewOfAmountOfLinesNotBound"), '', '', '',
|
|||||||
|
|
||||||
print '<div class="div-table-responsive-no-min">';
|
print '<div class="div-table-responsive-no-min">';
|
||||||
print '<table class="noborder centpercent">';
|
print '<table class="noborder centpercent">';
|
||||||
print '<tr class="liste_titre"><td width="200">'.$langs->trans("Account").'</td>';
|
print '<tr class="liste_titre"><td class="minwidth100">'.$langs->trans("Account").'</td>';
|
||||||
print '<td width="200" class="left">'.$langs->trans("Label").'</td>';
|
print '<td class="left">'.$langs->trans("Label").'</td>';
|
||||||
for ($i = 1; $i <= 12; $i++) {
|
for ($i = 1; $i <= 12; $i++) {
|
||||||
$j = $i + ($conf->global->SOCIETE_FISCAL_MONTH_START ? $conf->global->SOCIETE_FISCAL_MONTH_START : 1) - 1;
|
$j = $i + ($conf->global->SOCIETE_FISCAL_MONTH_START ? $conf->global->SOCIETE_FISCAL_MONTH_START : 1) - 1;
|
||||||
if ($j > 12) {
|
if ($j > 12) {
|
||||||
@ -309,7 +309,7 @@ if ($resql) {
|
|||||||
while ($row = $db->fetch_row($resql)) {
|
while ($row = $db->fetch_row($resql)) {
|
||||||
print '<tr class="oddeven"><td>';
|
print '<tr class="oddeven"><td>';
|
||||||
if ($row[0] == 'tobind') {
|
if ($row[0] == 'tobind') {
|
||||||
print $langs->trans("Unknown");
|
print '<span class="opacitymedium">'.$langs->trans("Unknown").'</span>';
|
||||||
} else {
|
} else {
|
||||||
print length_accountg($row[0]);
|
print length_accountg($row[0]);
|
||||||
}
|
}
|
||||||
@ -344,8 +344,8 @@ print_barre_liste($langs->trans("OverviewOfAmountOfLinesBound"), '', '', '', '',
|
|||||||
|
|
||||||
print '<div class="div-table-responsive-no-min">';
|
print '<div class="div-table-responsive-no-min">';
|
||||||
print '<table class="noborder centpercent">';
|
print '<table class="noborder centpercent">';
|
||||||
print '<tr class="liste_titre"><td width="200">'.$langs->trans("Account").'</td>';
|
print '<tr class="liste_titre"><td class="minwidth100">'.$langs->trans("Account").'</td>';
|
||||||
print '<td width="200" class="left">'.$langs->trans("Label").'</td>';
|
print '<td class="left">'.$langs->trans("Label").'</td>';
|
||||||
for ($i = 1; $i <= 12; $i++) {
|
for ($i = 1; $i <= 12; $i++) {
|
||||||
$j = $i + ($conf->global->SOCIETE_FISCAL_MONTH_START ? $conf->global->SOCIETE_FISCAL_MONTH_START : 1) - 1;
|
$j = $i + ($conf->global->SOCIETE_FISCAL_MONTH_START ? $conf->global->SOCIETE_FISCAL_MONTH_START : 1) - 1;
|
||||||
if ($j > 12) {
|
if ($j > 12) {
|
||||||
@ -425,7 +425,7 @@ if ($conf->global->MAIN_FEATURES_LEVEL > 0) { // This part of code looks strange
|
|||||||
|
|
||||||
print '<div class="div-table-responsive-no-min">';
|
print '<div class="div-table-responsive-no-min">';
|
||||||
print '<table class="noborder centpercent">';
|
print '<table class="noborder centpercent">';
|
||||||
print '<tr class="liste_titre"><td width="400" class="left">'.$langs->trans("Total").'</td>';
|
print '<tr class="liste_titre"><td class="left">'.$langs->trans("Total").'</td>';
|
||||||
for ($i = 1; $i <= 12; $i++) {
|
for ($i = 1; $i <= 12; $i++) {
|
||||||
$j = $i + ($conf->global->SOCIETE_FISCAL_MONTH_START ? $conf->global->SOCIETE_FISCAL_MONTH_START : 1) - 1;
|
$j = $i + ($conf->global->SOCIETE_FISCAL_MONTH_START ? $conf->global->SOCIETE_FISCAL_MONTH_START : 1) - 1;
|
||||||
if ($j > 12) {
|
if ($j > 12) {
|
||||||
|
|||||||
@ -620,11 +620,13 @@ if ($result) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Level 3: Search suggested account for this thirdparty (similar code exists in page index.php to make automatic binding)
|
// Level 3: Search suggested account for this thirdparty (similar code exists in page index.php to make automatic binding)
|
||||||
|
if (!empty($conf->global->ACCOUNTANCY_USE_PRODUCT_ACCOUNT_ON_THIRDPARTY)) {
|
||||||
if (!empty($objp->company_code_buy)) {
|
if (!empty($objp->company_code_buy)) {
|
||||||
$objp->code_buy_t = $objp->company_code_buy;
|
$objp->code_buy_t = $objp->company_code_buy;
|
||||||
$objp->aarowid_suggest = $objp->aarowid_thirdparty;
|
$objp->aarowid_suggest = $objp->aarowid_thirdparty;
|
||||||
$suggestedaccountingaccountfor = '';
|
$suggestedaccountingaccountfor = '';
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (!empty($objp->code_buy_p)) {
|
if (!empty($objp->code_buy_p)) {
|
||||||
// Value was defined previously
|
// Value was defined previously
|
||||||
@ -724,11 +726,13 @@ if ($result) {
|
|||||||
$s .= $langs->trans("NotDefined");
|
$s .= $langs->trans("NotDefined");
|
||||||
print $form->textwithpicto($s, $shelp, 1, 'help', '', 0, 2, '', 1);
|
print $form->textwithpicto($s, $shelp, 1, 'help', '', 0, 2, '', 1);
|
||||||
}
|
}
|
||||||
|
if (!empty($conf->global->ACCOUNTANCY_USE_PRODUCT_ACCOUNT_ON_THIRDPARTY)) {
|
||||||
print '<br>';
|
print '<br>';
|
||||||
$s = '3. '.(($objp->type_l == 1) ? $langs->trans("ServiceForThisThirdparty") : $langs->trans("ProductForThisThirdparty")).': ';
|
$s = '3. '.(($objp->type_l == 1) ? $langs->trans("ServiceForThisThirdparty") : $langs->trans("ProductForThisThirdparty")).': ';
|
||||||
$shelp = '';
|
$shelp = '';
|
||||||
$s .= ($objp->code_buy_t > 0 ? length_accountg($objp->code_buy_t) : '<span style="'.$code_buy_t_notset.'">'.$langs->trans("NotDefined").'</span>');
|
$s .= ($objp->code_buy_t > 0 ? length_accountg($objp->code_buy_t) : '<span style="'.$code_buy_t_notset.'">'.$langs->trans("NotDefined").'</span>');
|
||||||
print $form->textwithpicto($s, $shelp, 1, 'help', '', 0, 2, '', 1);
|
print $form->textwithpicto($s, $shelp, 1, 'help', '', 0, 2, '', 1);
|
||||||
|
}
|
||||||
print '</td>';
|
print '</td>';
|
||||||
|
|
||||||
// Suggested accounting account
|
// Suggested accounting account
|
||||||
|
|||||||
@ -25,7 +25,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \file htdocs/adherents/admin/adherent.php
|
* \file htdocs/adherents/admin/member.php
|
||||||
* \ingroup member
|
* \ingroup member
|
||||||
* \brief Page to setup the module Foundation
|
* \brief Page to setup the module Foundation
|
||||||
*/
|
*/
|
||||||
@ -205,16 +205,16 @@ print '<td>'.$langs->trans("Description").'</td>';
|
|||||||
print '<td>'.$langs->trans("Value").'</td>';
|
print '<td>'.$langs->trans("Value").'</td>';
|
||||||
print "</tr>\n";
|
print "</tr>\n";
|
||||||
|
|
||||||
// Login/Pass required for members
|
|
||||||
print '<tr class="oddeven"><td>'.$langs->trans("AdherentLoginRequired").'</td><td>';
|
|
||||||
print $form->selectyesno('ADHERENT_LOGIN_NOT_REQUIRED', (!empty($conf->global->ADHERENT_LOGIN_NOT_REQUIRED) ? 0 : 1), 1);
|
|
||||||
print "</td></tr>\n";
|
|
||||||
|
|
||||||
// Mail required for members
|
// Mail required for members
|
||||||
print '<tr class="oddeven"><td>'.$langs->trans("AdherentMailRequired").'</td><td>';
|
print '<tr class="oddeven"><td>'.$langs->trans("AdherentMailRequired").'</td><td>';
|
||||||
print $form->selectyesno('ADHERENT_MAIL_REQUIRED', (!empty($conf->global->ADHERENT_MAIL_REQUIRED) ? $conf->global->ADHERENT_MAIL_REQUIRED : 0), 1);
|
print $form->selectyesno('ADHERENT_MAIL_REQUIRED', (!empty($conf->global->ADHERENT_MAIL_REQUIRED) ? $conf->global->ADHERENT_MAIL_REQUIRED : 0), 1);
|
||||||
print "</td></tr>\n";
|
print "</td></tr>\n";
|
||||||
|
|
||||||
|
// Login/Pass required for members
|
||||||
|
print '<tr class="oddeven"><td>'.$langs->trans("AdherentLoginRequired").'</td><td>';
|
||||||
|
print $form->selectyesno('ADHERENT_LOGIN_NOT_REQUIRED', (!empty($conf->global->ADHERENT_LOGIN_NOT_REQUIRED) ? 0 : 1), 1);
|
||||||
|
print "</td></tr>\n";
|
||||||
|
|
||||||
// Send mail information is on by default
|
// Send mail information is on by default
|
||||||
print '<tr class="oddeven"><td>'.$langs->trans("MemberSendInformationByMailByDefault").'</td><td>';
|
print '<tr class="oddeven"><td>'.$langs->trans("MemberSendInformationByMailByDefault").'</td><td>';
|
||||||
print $form->selectyesno('ADHERENT_DEFAULT_SENDINFOBYMAIL', (!empty($conf->global->ADHERENT_DEFAULT_SENDINFOBYMAIL) ? $conf->global->ADHERENT_DEFAULT_SENDINFOBYMAIL : 0), 1);
|
print $form->selectyesno('ADHERENT_DEFAULT_SENDINFOBYMAIL', (!empty($conf->global->ADHERENT_DEFAULT_SENDINFOBYMAIL) ? $conf->global->ADHERENT_DEFAULT_SENDINFOBYMAIL : 0), 1);
|
||||||
|
|||||||
@ -56,7 +56,7 @@ if ($action == 'setMEMBER_ENABLE_PUBLIC') {
|
|||||||
|
|
||||||
if ($action == 'update') {
|
if ($action == 'update') {
|
||||||
$public = GETPOST('MEMBER_ENABLE_PUBLIC');
|
$public = GETPOST('MEMBER_ENABLE_PUBLIC');
|
||||||
$amount = GETPOST('MEMBER_NEWFORM_AMOUNT');
|
$amount = price2num(GETPOST('MEMBER_NEWFORM_AMOUNT'), 'MT', 2);
|
||||||
$editamount = GETPOST('MEMBER_NEWFORM_EDITAMOUNT');
|
$editamount = GETPOST('MEMBER_NEWFORM_EDITAMOUNT');
|
||||||
$payonline = GETPOST('MEMBER_NEWFORM_PAYONLINE');
|
$payonline = GETPOST('MEMBER_NEWFORM_PAYONLINE');
|
||||||
$forcetype = GETPOST('MEMBER_NEWFORM_FORCETYPE', 'int');
|
$forcetype = GETPOST('MEMBER_NEWFORM_FORCETYPE', 'int');
|
||||||
@ -205,7 +205,7 @@ if (!empty($conf->global->MEMBER_ENABLE_PUBLIC)) {
|
|||||||
print '<tr class="oddeven" id="tramount"><td>';
|
print '<tr class="oddeven" id="tramount"><td>';
|
||||||
print $langs->trans("DefaultAmount");
|
print $langs->trans("DefaultAmount");
|
||||||
print '</td><td class="right">';
|
print '</td><td class="right">';
|
||||||
print '<input type="text" id="MEMBER_NEWFORM_AMOUNT" name="MEMBER_NEWFORM_AMOUNT" size="5" value="'.(!empty($conf->global->MEMBER_NEWFORM_AMOUNT) ? $conf->global->MEMBER_NEWFORM_AMOUNT : '').'">';
|
print '<input type="text" class="right width75" id="MEMBER_NEWFORM_AMOUNT" name="MEMBER_NEWFORM_AMOUNT" value="'.(!empty($conf->global->MEMBER_NEWFORM_AMOUNT) ? $conf->global->MEMBER_NEWFORM_AMOUNT : '').'">';
|
||||||
print "</td></tr>\n";
|
print "</td></tr>\n";
|
||||||
|
|
||||||
// Can edit
|
// Can edit
|
||||||
|
|||||||
@ -645,7 +645,7 @@ if (empty($reshook)) {
|
|||||||
$outputlangs = new Translate('', $conf);
|
$outputlangs = new Translate('', $conf);
|
||||||
$outputlangs->setDefaultLang(empty($object->thirdparty->default_lang) ? $mysoc->default_lang : $object->thirdparty->default_lang);
|
$outputlangs->setDefaultLang(empty($object->thirdparty->default_lang) ? $mysoc->default_lang : $object->thirdparty->default_lang);
|
||||||
// Load traductions files required by page
|
// Load traductions files required by page
|
||||||
$outputlangs->loadLangs(array("main", "members"));
|
$outputlangs->loadLangs(array("main", "members", "companies", "install", "other"));
|
||||||
// Get email content from template
|
// Get email content from template
|
||||||
$arraydefaultmessage = null;
|
$arraydefaultmessage = null;
|
||||||
$labeltouse = $conf->global->ADHERENT_EMAIL_TEMPLATE_MEMBER_VALIDATION;
|
$labeltouse = $conf->global->ADHERENT_EMAIL_TEMPLATE_MEMBER_VALIDATION;
|
||||||
@ -716,7 +716,7 @@ if (empty($reshook)) {
|
|||||||
$outputlangs = new Translate('', $conf);
|
$outputlangs = new Translate('', $conf);
|
||||||
$outputlangs->setDefaultLang(empty($object->thirdparty->default_lang) ? $mysoc->default_lang : $object->thirdparty->default_lang);
|
$outputlangs->setDefaultLang(empty($object->thirdparty->default_lang) ? $mysoc->default_lang : $object->thirdparty->default_lang);
|
||||||
// Load traductions files required by page
|
// Load traductions files required by page
|
||||||
$outputlangs->loadLangs(array("main", "members"));
|
$outputlangs->loadLangs(array("main", "members", "companies", "install", "other"));
|
||||||
// Get email content from template
|
// Get email content from template
|
||||||
$arraydefaultmessage = null;
|
$arraydefaultmessage = null;
|
||||||
$labeltouse = $conf->global->ADHERENT_EMAIL_TEMPLATE_CANCELATION;
|
$labeltouse = $conf->global->ADHERENT_EMAIL_TEMPLATE_CANCELATION;
|
||||||
@ -787,7 +787,7 @@ if (empty($reshook)) {
|
|||||||
$outputlangs = new Translate('', $conf);
|
$outputlangs = new Translate('', $conf);
|
||||||
$outputlangs->setDefaultLang(empty($object->thirdparty->default_lang) ? $mysoc->default_lang : $object->thirdparty->default_lang);
|
$outputlangs->setDefaultLang(empty($object->thirdparty->default_lang) ? $mysoc->default_lang : $object->thirdparty->default_lang);
|
||||||
// Load traductions files required by page
|
// Load traductions files required by page
|
||||||
$outputlangs->loadLangs(array("main", "members"));
|
$outputlangs->loadLangs(array("main", "members", "companies", "install", "other"));
|
||||||
// Get email content from template
|
// Get email content from template
|
||||||
$arraydefaultmessage = null;
|
$arraydefaultmessage = null;
|
||||||
$labeltouse = $conf->global->ADHERENT_EMAIL_TEMPLATE_EXCLUSION;
|
$labeltouse = $conf->global->ADHERENT_EMAIL_TEMPLATE_EXCLUSION;
|
||||||
@ -1506,7 +1506,7 @@ if (is_object($objcanvas) && $objcanvas->displayCanvasExists($action)) {
|
|||||||
$outputlangs = new Translate('', $conf);
|
$outputlangs = new Translate('', $conf);
|
||||||
$outputlangs->setDefaultLang(empty($object->thirdparty->default_lang) ? $mysoc->default_lang : $object->thirdparty->default_lang);
|
$outputlangs->setDefaultLang(empty($object->thirdparty->default_lang) ? $mysoc->default_lang : $object->thirdparty->default_lang);
|
||||||
// Load traductions files required by page
|
// Load traductions files required by page
|
||||||
$outputlangs->loadLangs(array("main", "members"));
|
$outputlangs->loadLangs(array("main", "members", "companies", "install", "other"));
|
||||||
// Get email content from template
|
// Get email content from template
|
||||||
$arraydefaultmessage = null;
|
$arraydefaultmessage = null;
|
||||||
$labeltouse = $conf->global->ADHERENT_EMAIL_TEMPLATE_MEMBER_VALIDATION;
|
$labeltouse = $conf->global->ADHERENT_EMAIL_TEMPLATE_MEMBER_VALIDATION;
|
||||||
@ -1949,7 +1949,7 @@ if (is_object($objcanvas) && $objcanvas->displayCanvasExists($action)) {
|
|||||||
if (!empty($conf->societe->enabled) && !$object->socid) {
|
if (!empty($conf->societe->enabled) && !$object->socid) {
|
||||||
if ($user->rights->societe->creer) {
|
if ($user->rights->societe->creer) {
|
||||||
if (Adherent::STATUS_DRAFT != $object->statut) {
|
if (Adherent::STATUS_DRAFT != $object->statut) {
|
||||||
print '<a class="butAction" href="'.$_SERVER["PHP_SELF"].'?rowid='.$object->id.'&action=create_thirdparty">'.$langs->trans("CreateDolibarrThirdParty").'</a>'."\n";;
|
print '<a class="butAction" href="'.$_SERVER["PHP_SELF"].'?rowid='.$object->id.'&action=create_thirdparty" title="'.dol_escape_htmltag($langs->trans("CreateDolibarrThirdPartyDesc")).'">'.$langs->trans("CreateDolibarrThirdParty").'</a>'."\n";;
|
||||||
} else {
|
} else {
|
||||||
print '<a class="butActionRefused classfortooltip" href="#" title="'.dol_escape_htmltag($langs->trans("ValidateBefore")).'">'.$langs->trans("CreateDolibarrThirdParty").'</a>'."\n";
|
print '<a class="butActionRefused classfortooltip" href="#" title="'.dol_escape_htmltag($langs->trans("ValidateBefore")).'">'.$langs->trans("CreateDolibarrThirdParty").'</a>'."\n";
|
||||||
}
|
}
|
||||||
@ -1962,7 +1962,7 @@ if (is_object($objcanvas) && $objcanvas->displayCanvasExists($action)) {
|
|||||||
if (!$user->socid && !$object->user_id) {
|
if (!$user->socid && !$object->user_id) {
|
||||||
if ($user->rights->user->user->creer) {
|
if ($user->rights->user->user->creer) {
|
||||||
if (Adherent::STATUS_DRAFT != $object->statut) {
|
if (Adherent::STATUS_DRAFT != $object->statut) {
|
||||||
print '<a class="butAction" href="'.$_SERVER["PHP_SELF"].'?rowid='.$object->id.'&action=create_user">'.$langs->trans("CreateDolibarrLogin").'</a>'."\n";
|
print '<a class="butAction" href="'.$_SERVER["PHP_SELF"].'?rowid='.$object->id.'&action=create_user" title="'.dol_escape_htmltag($langs->trans("CreateDolibarrLoginDesc")).'">'.$langs->trans("CreateDolibarrLogin").'</a>'."\n";
|
||||||
} else {
|
} else {
|
||||||
print '<a class="butActionRefused classfortooltip" href="#" title="'.dol_escape_htmltag($langs->trans("ValidateBefore")).'">'.$langs->trans("CreateDolibarrLogin").'</a>'."\n";
|
print '<a class="butActionRefused classfortooltip" href="#" title="'.dol_escape_htmltag($langs->trans("ValidateBefore")).'">'.$langs->trans("CreateDolibarrLogin").'</a>'."\n";
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1900,8 +1900,8 @@ class Adherent extends CommonObject
|
|||||||
$sql = "UPDATE ".MAIN_DB_PREFIX."adherent SET";
|
$sql = "UPDATE ".MAIN_DB_PREFIX."adherent SET";
|
||||||
$sql .= " statut = ".self::STATUS_VALIDATED;
|
$sql .= " statut = ".self::STATUS_VALIDATED;
|
||||||
$sql .= ", datevalid = '".$this->db->idate($now)."'";
|
$sql .= ", datevalid = '".$this->db->idate($now)."'";
|
||||||
$sql .= ", fk_user_valid=".$user->id;
|
$sql .= ", fk_user_valid=".((int) $user->id);
|
||||||
$sql .= " WHERE rowid = ".$this->id;
|
$sql .= " WHERE rowid = ".((int) $this->id);
|
||||||
|
|
||||||
dol_syslog(get_class($this)."::validate", LOG_DEBUG);
|
dol_syslog(get_class($this)."::validate", LOG_DEBUG);
|
||||||
$result = $this->db->query($sql);
|
$result = $this->db->query($sql);
|
||||||
|
|||||||
@ -961,7 +961,8 @@ while ($i < min($num, $limit)) {
|
|||||||
// Firstname
|
// Firstname
|
||||||
if (!empty($arrayfields['d.firstname']['checked'])) {
|
if (!empty($arrayfields['d.firstname']['checked'])) {
|
||||||
print '<td class="tdoverflowmax150" title="'.dol_escape_htmltag($obj->firstname).'">';
|
print '<td class="tdoverflowmax150" title="'.dol_escape_htmltag($obj->firstname).'">';
|
||||||
print $obj->firstname;
|
print $memberstatic->getNomUrl(0, 0, 'card', 'fistname');
|
||||||
|
//print $obj->firstname;
|
||||||
print "</td>\n";
|
print "</td>\n";
|
||||||
if (!$i) {
|
if (!$i) {
|
||||||
$totalarray['nbfield']++;
|
$totalarray['nbfield']++;
|
||||||
@ -970,7 +971,8 @@ while ($i < min($num, $limit)) {
|
|||||||
// Lastname
|
// Lastname
|
||||||
if (!empty($arrayfields['d.lastname']['checked'])) {
|
if (!empty($arrayfields['d.lastname']['checked'])) {
|
||||||
print '<td class="tdoverflowmax150" title="'.dol_escape_htmltag($obj->lastname).'">';
|
print '<td class="tdoverflowmax150" title="'.dol_escape_htmltag($obj->lastname).'">';
|
||||||
print $obj->lastname;
|
print $memberstatic->getNomUrl(0, 0, 'card', 'lastname');
|
||||||
|
//print $obj->lastname;
|
||||||
print "</td>\n";
|
print "</td>\n";
|
||||||
if (!$i) {
|
if (!$i) {
|
||||||
$totalarray['nbfield']++;
|
$totalarray['nbfield']++;
|
||||||
@ -1100,7 +1102,9 @@ while ($i < min($num, $limit)) {
|
|||||||
}
|
}
|
||||||
// EMail
|
// EMail
|
||||||
if (!empty($arrayfields['d.email']['checked'])) {
|
if (!empty($arrayfields['d.email']['checked'])) {
|
||||||
print '<td class="tdoverflowmax150" title="'.dol_escape_htmltag($obj->email).'">'.dol_print_email($obj->email, 0, 0, 1)."</td>\n";
|
print '<td class="tdoverflowmax150" title="'.dol_escape_htmltag($obj->email).'">';
|
||||||
|
print dol_print_email($obj->email, 0, 0, 1, 64, 1, 1);
|
||||||
|
print "</td>\n";
|
||||||
}
|
}
|
||||||
// End of subscription date
|
// End of subscription date
|
||||||
$datefin = $db->jdate($obj->datefin);
|
$datefin = $db->jdate($obj->datefin);
|
||||||
|
|||||||
@ -696,7 +696,7 @@ $tooltiphelp = '';
|
|||||||
if ($mysoc->country_code == 'FR') {
|
if ($mysoc->country_code == 'FR') {
|
||||||
$tooltiphelp = '<i>'.$langs->trans("Example").': '.$langs->trans("VATIsUsedExampleFR")."</i>";
|
$tooltiphelp = '<i>'.$langs->trans("Example").': '.$langs->trans("VATIsUsedExampleFR")."</i>";
|
||||||
}
|
}
|
||||||
print "<label for=\"use_vat\">".$form->textwithpicto($langs->trans("VATIsUsedDesc"), $tooltiphelp)."</label>";
|
print '<label for="use_vat">'.$form->textwithpicto($langs->trans("VATIsUsedDesc"), $tooltiphelp)."</label>";
|
||||||
print "</td></tr>\n";
|
print "</td></tr>\n";
|
||||||
|
|
||||||
|
|
||||||
@ -706,7 +706,7 @@ $tooltiphelp = '';
|
|||||||
if ($mysoc->country_code == 'FR') {
|
if ($mysoc->country_code == 'FR') {
|
||||||
$tooltiphelp = "<i>".$langs->trans("Example").': '.$langs->trans("VATIsNotUsedExampleFR")."</i>\n";
|
$tooltiphelp = "<i>".$langs->trans("Example").': '.$langs->trans("VATIsNotUsedExampleFR")."</i>\n";
|
||||||
}
|
}
|
||||||
print "<label for=\"no_vat\">".$form->textwithpicto($langs->trans("VATIsNotUsedDesc"), $tooltiphelp)."</label>";
|
print '<label for="no_vat">'.$form->textwithpicto($langs->trans("VATIsNotUsedDesc"), $tooltiphelp)."</label>";
|
||||||
print "</td></tr>\n";
|
print "</td></tr>\n";
|
||||||
|
|
||||||
print "</table>";
|
print "</table>";
|
||||||
@ -721,12 +721,12 @@ print "</tr>\n";
|
|||||||
|
|
||||||
if ($mysoc->useLocalTax(1)) {
|
if ($mysoc->useLocalTax(1)) {
|
||||||
// Note: When option is not set, it must not appears as set on on, because there is no default value for this option
|
// Note: When option is not set, it must not appears as set on on, because there is no default value for this option
|
||||||
print '<tr class="oddeven"><td><input type="radio" name="optionlocaltax1" id="lt1" value="localtax1on"'.(($conf->global->FACTURE_LOCAL_TAX1_OPTION == '1' || $conf->global->FACTURE_LOCAL_TAX1_OPTION == "localtax1on") ? " checked" : "")."> ".$langs->transcountry("LocalTax1IsUsed", $mysoc->country_code)."</td>";
|
print '<tr class="oddeven"><td><input type="radio" name="optionlocaltax1" id="lt1" value="localtax1on"'.(($conf->global->FACTURE_LOCAL_TAX1_OPTION == '1' || $conf->global->FACTURE_LOCAL_TAX1_OPTION == "localtax1on") ? " checked" : "").'> <label for="lt1">'.$langs->transcountry("LocalTax1IsUsed", $mysoc->country_code)."</label></td>";
|
||||||
print '<td colspan="2">';
|
print '<td colspan="2">';
|
||||||
print '<div class="nobordernopadding">';
|
print '<div class="nobordernopadding">';
|
||||||
$tooltiphelp = $langs->transcountry("LocalTax1IsUsedExample", $mysoc->country_code);
|
$tooltiphelp = $langs->transcountry("LocalTax1IsUsedExample", $mysoc->country_code);
|
||||||
$tooltiphelp = ($tooltiphelp != "LocalTax1IsUsedExample" ? "<i>".$langs->trans("Example").': '.$langs->transcountry("LocalTax1IsUsedExample", $mysoc->country_code)."</i>\n" : "");
|
$tooltiphelp = ($tooltiphelp != "LocalTax1IsUsedExample" ? "<i>".$langs->trans("Example").': '.$langs->transcountry("LocalTax1IsUsedExample", $mysoc->country_code)."</i>\n" : "");
|
||||||
print '<label for="lt1">'.$form->textwithpicto($langs->transcountry("LocalTax1IsUsedDesc", $mysoc->country_code), $tooltiphelp)."</label>";
|
print $form->textwithpicto($langs->transcountry("LocalTax1IsUsedDesc", $mysoc->country_code), $tooltiphelp);
|
||||||
if (!isOnlyOneLocalTax(1)) {
|
if (!isOnlyOneLocalTax(1)) {
|
||||||
print '<br><label for="lt1">'.$langs->trans("LTRate").'</label>: ';
|
print '<br><label for="lt1">'.$langs->trans("LTRate").'</label>: ';
|
||||||
$formcompany->select_localtax(1, $conf->global->MAIN_INFO_VALUE_LOCALTAX1, "lt1");
|
$formcompany->select_localtax(1, $conf->global->MAIN_INFO_VALUE_LOCALTAX1, "lt1");
|
||||||
@ -739,11 +739,11 @@ if ($mysoc->useLocalTax(1)) {
|
|||||||
print "</div>";
|
print "</div>";
|
||||||
print "</td></tr>\n";
|
print "</td></tr>\n";
|
||||||
|
|
||||||
print '<tr class="oddeven"><td><input type="radio" name="optionlocaltax1" id="nolt1" value="localtax1off"'.((empty($conf->global->FACTURE_LOCAL_TAX1_OPTION) || $conf->global->FACTURE_LOCAL_TAX1_OPTION == "localtax1off") ? " checked" : "")."> ".$langs->transcountry("LocalTax1IsNotUsed", $mysoc->country_code)."</td>";
|
print '<tr class="oddeven"><td><input type="radio" name="optionlocaltax1" id="nolt1" value="localtax1off"'.((empty($conf->global->FACTURE_LOCAL_TAX1_OPTION) || $conf->global->FACTURE_LOCAL_TAX1_OPTION == "localtax1off") ? " checked" : "").'> <label for="nolt1">'.$langs->transcountry("LocalTax1IsNotUsed", $mysoc->country_code)."</label></td>";
|
||||||
print '<td colspan="2">';
|
print '<td colspan="2">';
|
||||||
$tooltiphelp = $langs->transcountry("LocalTax1IsNotUsedExample", $mysoc->country_code);
|
$tooltiphelp = $langs->transcountry("LocalTax1IsNotUsedExample", $mysoc->country_code);
|
||||||
$tooltiphelp = ($tooltiphelp != "LocalTax1IsNotUsedExample" ? "<i>".$langs->trans("Example").': '.$langs->transcountry("LocalTax1IsNotUsedExample", $mysoc->country_code)."</i>\n" : "");
|
$tooltiphelp = ($tooltiphelp != "LocalTax1IsNotUsedExample" ? "<i>".$langs->trans("Example").': '.$langs->transcountry("LocalTax1IsNotUsedExample", $mysoc->country_code)."</i>\n" : "");
|
||||||
print "<label for=\"nolt1\">".$form->textwithpicto($langs->transcountry("LocalTax1IsNotUsedDesc", $mysoc->country_code), $tooltiphelp)."</label>";
|
print $form->textwithpicto($langs->transcountry("LocalTax1IsNotUsedDesc", $mysoc->country_code), $tooltiphelp);
|
||||||
print "</td></tr>\n";
|
print "</td></tr>\n";
|
||||||
} else {
|
} else {
|
||||||
if (empty($mysoc->country_code)) {
|
if (empty($mysoc->country_code)) {
|
||||||
@ -765,7 +765,7 @@ print "</tr>\n";
|
|||||||
|
|
||||||
if ($mysoc->useLocalTax(2)) {
|
if ($mysoc->useLocalTax(2)) {
|
||||||
// Note: When option is not set, it must not appears as set on on, because there is no default value for this option
|
// Note: When option is not set, it must not appears as set on on, because there is no default value for this option
|
||||||
print '<tr class="oddeven"><td><input type="radio" name="optionlocaltax2" id="lt2" value="localtax2on"'.(($conf->global->FACTURE_LOCAL_TAX2_OPTION == '1' || $conf->global->FACTURE_LOCAL_TAX2_OPTION == "localtax2on") ? " checked" : "")."> ".$langs->transcountry("LocalTax2IsUsed", $mysoc->country_code)."</td>";
|
print '<tr class="oddeven"><td><input type="radio" name="optionlocaltax2" id="lt2" value="localtax2on"'.(($conf->global->FACTURE_LOCAL_TAX2_OPTION == '1' || $conf->global->FACTURE_LOCAL_TAX2_OPTION == "localtax2on") ? " checked" : "").'> <label for="lt2">'.$langs->transcountry("LocalTax2IsUsed", $mysoc->country_code)."</label></td>";
|
||||||
print '<td colspan="2">';
|
print '<td colspan="2">';
|
||||||
print '<div class="nobordernopadding">';
|
print '<div class="nobordernopadding">';
|
||||||
print '<label for="lt2">'.$langs->transcountry("LocalTax2IsUsedDesc", $mysoc->country_code)."</label>";
|
print '<label for="lt2">'.$langs->transcountry("LocalTax2IsUsedDesc", $mysoc->country_code)."</label>";
|
||||||
@ -780,7 +780,7 @@ if ($mysoc->useLocalTax(2)) {
|
|||||||
print "</div>";
|
print "</div>";
|
||||||
print "</td></tr>\n";
|
print "</td></tr>\n";
|
||||||
|
|
||||||
print '<tr class="oddeven"><td><input type="radio" name="optionlocaltax2" id="nolt2" value="localtax2off"'.((empty($conf->global->FACTURE_LOCAL_TAX2_OPTION) || $conf->global->FACTURE_LOCAL_TAX2_OPTION == "localtax2off") ? " checked" : "")."> ".$langs->transcountry("LocalTax2IsNotUsed", $mysoc->country_code)."</td>";
|
print '<tr class="oddeven"><td><input type="radio" name="optionlocaltax2" id="nolt2" value="localtax2off"'.((empty($conf->global->FACTURE_LOCAL_TAX2_OPTION) || $conf->global->FACTURE_LOCAL_TAX2_OPTION == "localtax2off") ? " checked" : "").'> <label for="nolt2">'.$langs->transcountry("LocalTax2IsNotUsed", $mysoc->country_code)."</label></td>";
|
||||||
print '<td colspan="2">';
|
print '<td colspan="2">';
|
||||||
print "<div>";
|
print "<div>";
|
||||||
$tooltiphelp = $langs->transcountry("LocalTax2IsNotUsedExample", $mysoc->country_code);
|
$tooltiphelp = $langs->transcountry("LocalTax2IsNotUsedExample", $mysoc->country_code);
|
||||||
@ -803,7 +803,7 @@ print "</table>";
|
|||||||
print '<br>';
|
print '<br>';
|
||||||
print '<table class="noborder centpercent editmode">';
|
print '<table class="noborder centpercent editmode">';
|
||||||
print '<tr class="liste_titre">';
|
print '<tr class="liste_titre">';
|
||||||
print '<td width="25%">'.$form->textwithpicto($langs->trans("RevenueStamp"), $langs->trans("RevenueStampDesc")).'</td><td>'.$langs->trans("Description").'</td>';
|
print '<td>'.$form->textwithpicto($langs->trans("RevenueStamp"), $langs->trans("RevenueStampDesc")).'</td><td>'.$langs->trans("Description").'</td>';
|
||||||
print '<td class="right"> </td>';
|
print '<td class="right"> </td>';
|
||||||
print "</tr>\n";
|
print "</tr>\n";
|
||||||
if ($mysoc->useRevenueStamp()) {
|
if ($mysoc->useRevenueStamp()) {
|
||||||
|
|||||||
@ -217,15 +217,15 @@ class Dolistore
|
|||||||
for ($i = 0; $i < $nbofcateg; $i++) {
|
for ($i = 0; $i < $nbofcateg; $i++) {
|
||||||
$cat = $this->categories[$i];
|
$cat = $this->categories[$i];
|
||||||
if ($cat->is_root_category == 1 && $parent == 0) {
|
if ($cat->is_root_category == 1 && $parent == 0) {
|
||||||
$html .= '<li class="root"><h3 class="nomargesupinf"><a class="nomargesupinf link2cat" href="?mode=marketplace&categorie='.$cat->id.'" ';
|
$html .= '<li class="root"><h3 class="nomargesupinf"><a class="nomargesupinf link2cat" href="?mode=marketplace&categorie='.((int) $cat->id).'" ';
|
||||||
$html .= 'title="'.dol_escape_htmltag(strip_tags($cat->description->language[$this->lang - 1])).'">'.$cat->name->language[$this->lang - 1].' <sup>'.$cat->nb_products_recursive.'</sup></a></h3>';
|
$html .= 'title="'.dol_escape_htmltag(strip_tags($cat->description->language[$this->lang - 1])).'">'.dol_escape_htmltag($cat->name->language[$this->lang - 1]).' <sup>'.dol_escape_htmltag($cat->nb_products_recursive).'</sup></a></h3>';
|
||||||
$html .= self::get_categories($cat->id);
|
$html .= self::get_categories($cat->id);
|
||||||
$html .= "</li>\n";
|
$html .= "</li>\n";
|
||||||
} elseif (trim($cat->id_parent) == $parent && $cat->active == 1 && trim($cat->id_parent) != 0) { // si cat est de ce niveau
|
} elseif (trim($cat->id_parent) == $parent && $cat->active == 1 && trim($cat->id_parent) != 0) { // si cat est de ce niveau
|
||||||
$select = ($cat->id == $this->categorie) ? ' selected' : '';
|
$select = ($cat->id == $this->categorie) ? ' selected' : '';
|
||||||
$html .= '<li><a class="link2cat'.$select.'" href="?mode=marketplace&categorie='.$cat->id.'"';
|
$html .= '<li><a class="link2cat'.$select.'" href="?mode=marketplace&categorie='.((int) $cat->id).'"';
|
||||||
$html .= ' title="'.dol_escape_htmltag(strip_tags($cat->description->language[$this->lang - 1])).'" ';
|
$html .= ' title="'.dol_escape_htmltag(strip_tags($cat->description->language[$this->lang - 1])).'" ';
|
||||||
$html .= '>'.$cat->name->language[$this->lang - 1].' <sup>'.$cat->nb_products_recursive.'</sup></a>';
|
$html .= '>'.dol_escape_htmltag($cat->name->language[$this->lang - 1]).' <sup>'.dol_escape_htmltag($cat->nb_products_recursive).'</sup></a>';
|
||||||
$html .= self::get_categories($cat->id);
|
$html .= self::get_categories($cat->id);
|
||||||
$html .= "</li>\n";
|
$html .= "</li>\n";
|
||||||
}
|
}
|
||||||
@ -267,9 +267,9 @@ class Dolistore
|
|||||||
|
|
||||||
// add image or default ?
|
// add image or default ?
|
||||||
if ($product->id_default_image != '') {
|
if ($product->id_default_image != '') {
|
||||||
$image_url = DOL_URL_ROOT.'/admin/dolistore/ajax/image.php?id_product='.$product->id.'&id_image='.$product->id_default_image;
|
$image_url = DOL_URL_ROOT.'/admin/dolistore/ajax/image.php?id_product='.((int) $product->id).'&id_image='.((int) $product->id_default_image);
|
||||||
$images = '<a href="'.$image_url.'" class="documentpreview" target="_blank" mime="image/png" title="'.$product->name->language[$this->lang - 1].', '.$langs->trans('Version').' '.$product->module_version.'">';
|
$images = '<a href="'.urlencode($image_url).'" class="documentpreview" target="_blank" mime="image/png" title="'.dol_escape_htmltag($product->name->language[$this->lang - 1].', '.$langs->trans('Version').' '.$product->module_version).'">';
|
||||||
$images .= '<img src="'.$image_url.'&quality=home_default" style="max-height:250px;max-width: 210px;" alt="" /></a>';
|
$images .= '<img src="'.urlencode($image_url).'&quality=home_default" style="max-height:250px;max-width: 210px;" alt="" /></a>';
|
||||||
} else {
|
} else {
|
||||||
$images = '<img src="'.DOL_URL_ROOT.'/admin/dolistore/img/NoImageAvailable.png" />';
|
$images = '<img src="'.DOL_URL_ROOT.'/admin/dolistore/img/NoImageAvailable.png" />';
|
||||||
}
|
}
|
||||||
@ -277,11 +277,11 @@ class Dolistore
|
|||||||
// free or pay ?
|
// free or pay ?
|
||||||
if ($product->price > 0) {
|
if ($product->price > 0) {
|
||||||
$price = '<h3>'.price(price2num($product->price, 'MT'), 0, $langs, 1, -1, -1, 'EUR').' '.$langs->trans("HT").'</h3>';
|
$price = '<h3>'.price(price2num($product->price, 'MT'), 0, $langs, 1, -1, -1, 'EUR').' '.$langs->trans("HT").'</h3>';
|
||||||
$download_link = '<a target="_blank" href="'.$this->shop_url.$product->id.'"><img width="32" src="'.DOL_URL_ROOT.'/admin/dolistore/img/follow.png" /></a>';
|
$download_link = '<a target="_blank" href="'.urlencode($this->shop_url.$product->id).'"><img width="32" src="'.DOL_URL_ROOT.'/admin/dolistore/img/follow.png" /></a>';
|
||||||
} else {
|
} else {
|
||||||
$price = '<h3>'.$langs->trans('Free').'</h3>';
|
$price = '<h3>'.$langs->trans('Free').'</h3>';
|
||||||
$download_link = '<a target="_blank" href="'.$this->shop_url.$product->id.'"><img width="32" src="'.DOL_URL_ROOT.'/admin/dolistore/img/Download-128.png" /></a>';
|
$download_link = '<a target="_blank" href="'.urlencode($this->shop_url.$product->id).'"><img width="32" src="'.DOL_URL_ROOT.'/admin/dolistore/img/Download-128.png" /></a>';
|
||||||
$download_link .= '<br><br><a target="_blank" href="'.$this->shop_url.$product->id.'"><img width="32" src="'.DOL_URL_ROOT.'/admin/dolistore/img/follow.png" /></a>';
|
$download_link .= '<br><br><a target="_blank" href="'.urlencode($this->shop_url.$product->id).'"><img width="32" src="'.DOL_URL_ROOT.'/admin/dolistore/img/follow.png" /></a>';
|
||||||
}
|
}
|
||||||
|
|
||||||
//checking versions
|
//checking versions
|
||||||
@ -319,14 +319,14 @@ class Dolistore
|
|||||||
//.'<br><a class="inline-block valignmiddle" target="_blank" href="'.$this->shop_url.$product->id.'"><span class="details button">'.$langs->trans("SeeInMarkerPlace").'</span></a>
|
//.'<br><a class="inline-block valignmiddle" target="_blank" href="'.$this->shop_url.$product->id.'"><span class="details button">'.$langs->trans("SeeInMarkerPlace").'</span></a>
|
||||||
|
|
||||||
//output template
|
//output template
|
||||||
$html .= '<tr class="app oddeven '.$compatible.'">
|
$html .= '<tr class="app oddeven '.dol_escape_htmltag($compatible).'">
|
||||||
<td class="center" width="210"><div class="newAppParent">'.$newapp.$images.'</div></td>
|
<td class="center" width="210"><div class="newAppParent">'.dol_escape_htmltag($newapp.$images).'</div></td>
|
||||||
<td class="margeCote"><h2 class="appTitle">'.$product->name->language[$this->lang - 1]
|
<td class="margeCote"><h2 class="appTitle">'.dol_escape_htmltag($product->name->language[$this->lang - 1])
|
||||||
.'<br><small>'.$version.'</small></h2>
|
.'<br><small>'.dol_escape_htmltag($version).'</small></h2>
|
||||||
<small> '.dol_print_date(dol_stringtotime($product->date_upd), 'dayhour').' - '.$langs->trans('Ref').': '.$product->reference.' - '.$langs->trans('Id').': '.$product->id.'</small><br><br>'.$product->description_short->language[$this->lang - 1].'</td>';
|
<small> '.dol_print_date(dol_stringtotime($product->date_upd), 'dayhour').' - '.$langs->trans('Ref').': '.dol_escape_htmltag($product->reference).' - '.dol_escape_htmltag($langs->trans('Id')).': '.((int) $product->id).'</small><br><br>'.dol_escape_htmltag($product->description_short->language[$this->lang - 1]).'</td>';
|
||||||
// do not load if display none
|
// do not load if display none
|
||||||
//$html .= '<td style="display:none;" class="long_description">'.$product->description->language[$this->lang - 1].'</td>';
|
//$html .= '<td style="display:none;" class="long_description">'.$product->description->language[$this->lang - 1].'</td>';
|
||||||
$html .= '<td class="margeCote center">'.$price.'</td>';
|
$html .= '<td class="margeCote center">'.dol_escape_htmltag($price).'</td>';
|
||||||
$html .= '<td class="margeCote">'.$download_link.'</td>';
|
$html .= '<td class="margeCote">'.$download_link.'</td>';
|
||||||
$html .= '</tr>';
|
$html .= '</tr>';
|
||||||
}
|
}
|
||||||
@ -343,7 +343,7 @@ class Dolistore
|
|||||||
public function get_previous_link($text = '<<')
|
public function get_previous_link($text = '<<')
|
||||||
{
|
{
|
||||||
// phpcs:enable
|
// phpcs:enable
|
||||||
return '<a href="'.$this->get_previous_url().'" class="button">'.$text.'</a>';
|
return '<a href="'.$this->get_previous_url().'" class="button">'.dol_escape_htmltag($text).'</a>';
|
||||||
}
|
}
|
||||||
|
|
||||||
// phpcs:disable PEAR.NamingConventions.ValidFunctionName.ScopeNotCamelCaps
|
// phpcs:disable PEAR.NamingConventions.ValidFunctionName.ScopeNotCamelCaps
|
||||||
@ -356,7 +356,7 @@ class Dolistore
|
|||||||
public function get_next_link($text = '>>')
|
public function get_next_link($text = '>>')
|
||||||
{
|
{
|
||||||
// phpcs:enable
|
// phpcs:enable
|
||||||
return '<a href="'.$this->get_next_url().'" class="button">'.$text.'</a>';
|
return '<a href="'.$this->get_next_url().'" class="button">'.dol_escape_htmltag($text).'</a>';
|
||||||
}
|
}
|
||||||
|
|
||||||
// phpcs:disable PEAR.NamingConventions.ValidFunctionName.ScopeNotCamelCaps
|
// phpcs:disable PEAR.NamingConventions.ValidFunctionName.ScopeNotCamelCaps
|
||||||
|
|||||||
@ -48,8 +48,8 @@ $arrayofparameters = array(
|
|||||||
'EVENTORGANIZATION_TASK_LABEL'=>array('type'=>'textarea','enabled'=>1),
|
'EVENTORGANIZATION_TASK_LABEL'=>array('type'=>'textarea','enabled'=>1),
|
||||||
'EVENTORGANIZATION_CATEG_THIRDPARTY_CONF'=>array('type'=>'category:'.Categorie::TYPE_CUSTOMER, 'enabled'=>1),
|
'EVENTORGANIZATION_CATEG_THIRDPARTY_CONF'=>array('type'=>'category:'.Categorie::TYPE_CUSTOMER, 'enabled'=>1),
|
||||||
'EVENTORGANIZATION_CATEG_THIRDPARTY_BOOTH'=>array('type'=>'category:'.Categorie::TYPE_CUSTOMER, 'enabled'=>1),
|
'EVENTORGANIZATION_CATEG_THIRDPARTY_BOOTH'=>array('type'=>'category:'.Categorie::TYPE_CUSTOMER, 'enabled'=>1),
|
||||||
//'EVENTORGANIZATION_FILTERATTENDEES_CAT'=>array('type'=>'category:'.Categorie::TYPE_CUSTOMER, 'enabled'=>1),
|
'EVENTORGANIZATION_FILTERATTENDEES_CAT'=>array('type'=>'category:'.Categorie::TYPE_CUSTOMER, 'enabled'=>1),
|
||||||
//'EVENTORGANIZATION_FILTERATTENDEES_TYPE'=>array('type'=>'thirdparty_type:', 'enabled'=>1),
|
'EVENTORGANIZATION_FILTERATTENDEES_TYPE'=>array('type'=>'thirdparty_type:', 'enabled'=>1),
|
||||||
'EVENTORGANIZATION_TEMPLATE_EMAIL_ASK_CONF'=>array('type'=>'emailtemplate:conferenceorbooth', 'enabled'=>1),
|
'EVENTORGANIZATION_TEMPLATE_EMAIL_ASK_CONF'=>array('type'=>'emailtemplate:conferenceorbooth', 'enabled'=>1),
|
||||||
'EVENTORGANIZATION_TEMPLATE_EMAIL_ASK_BOOTH'=>array('type'=>'emailtemplate:conferenceorbooth', 'enabled'=>1),
|
'EVENTORGANIZATION_TEMPLATE_EMAIL_ASK_BOOTH'=>array('type'=>'emailtemplate:conferenceorbooth', 'enabled'=>1),
|
||||||
'EVENTORGANIZATION_TEMPLATE_EMAIL_AFT_SUBS_BOOTH'=>array('type'=>'emailtemplate:conferenceorbooth', 'enabled'=>1),
|
'EVENTORGANIZATION_TEMPLATE_EMAIL_AFT_SUBS_BOOTH'=>array('type'=>'emailtemplate:conferenceorbooth', 'enabled'=>1),
|
||||||
@ -213,7 +213,7 @@ if ($action == 'edit') {
|
|||||||
print '<input type="hidden" name="action" value="update">';
|
print '<input type="hidden" name="action" value="update">';
|
||||||
|
|
||||||
print '<table class="noborder centpercent">';
|
print '<table class="noborder centpercent">';
|
||||||
print '<tr class="liste_titre"><td>'.$langs->trans("Parameter").'</td><td>'.$langs->trans("Value").'</td></tr>';
|
print '<tr class="liste_titre"><td class="titlefieldmiddle">'.$langs->trans("Parameter").'</td><td>'.$langs->trans("Value").'</td></tr>';
|
||||||
|
|
||||||
foreach ($arrayofparameters as $constname => $val) {
|
foreach ($arrayofparameters as $constname => $val) {
|
||||||
if ($val['enabled']==1) {
|
if ($val['enabled']==1) {
|
||||||
@ -264,7 +264,7 @@ if ($action == 'edit') {
|
|||||||
} elseif (preg_match('/thirdparty_type/', $val['type'])) {
|
} elseif (preg_match('/thirdparty_type/', $val['type'])) {
|
||||||
require_once DOL_DOCUMENT_ROOT.'/core/class/html.formcompany.class.php';
|
require_once DOL_DOCUMENT_ROOT.'/core/class/html.formcompany.class.php';
|
||||||
$formcompany = new FormCompany($db);
|
$formcompany = new FormCompany($db);
|
||||||
print $formcompany->selectProspectCustomerType($conf->global->{$constname}, $constname);
|
print $formcompany->selectProspectCustomerType($conf->global->{$constname}, $constname, 'customerorprospect', 'form', '', 1);
|
||||||
} elseif ($val['type'] == 'securekey') {
|
} elseif ($val['type'] == 'securekey') {
|
||||||
print '<input required="required" type="text" class="flat" id="'.$constname.'" name="'.$constname.'" value="'.(GETPOST($constname, 'alpha') ?GETPOST($constname, 'alpha') : $conf->global->{$constname}).'" size="40">';
|
print '<input required="required" type="text" class="flat" id="'.$constname.'" name="'.$constname.'" value="'.(GETPOST($constname, 'alpha') ?GETPOST($constname, 'alpha') : $conf->global->{$constname}).'" size="40">';
|
||||||
if (!empty($conf->use_javascript_ajax)) {
|
if (!empty($conf->use_javascript_ajax)) {
|
||||||
@ -309,7 +309,7 @@ if ($action == 'edit') {
|
|||||||
} else {
|
} else {
|
||||||
if (!empty($arrayofparameters)) {
|
if (!empty($arrayofparameters)) {
|
||||||
print '<table class="noborder centpercent">';
|
print '<table class="noborder centpercent">';
|
||||||
print '<tr class="liste_titre"><td>'.$langs->trans("Parameter").'</td><td>'.$langs->trans("Value").'</td></tr>';
|
print '<tr class="liste_titre"><td class="titlefieldmiddle">'.$langs->trans("Parameter").'</td><td>'.$langs->trans("Value").'</td></tr>';
|
||||||
|
|
||||||
foreach ($arrayofparameters as $constname => $val) {
|
foreach ($arrayofparameters as $constname => $val) {
|
||||||
if ($val['enabled']==1) {
|
if ($val['enabled']==1) {
|
||||||
@ -366,7 +366,7 @@ if ($action == 'edit') {
|
|||||||
$product = new Product($db);
|
$product = new Product($db);
|
||||||
$resprod = $product->fetch($conf->global->{$constname});
|
$resprod = $product->fetch($conf->global->{$constname});
|
||||||
if ($resprod > 0) {
|
if ($resprod > 0) {
|
||||||
print $product->ref;
|
print $product->getNomUrl(1);
|
||||||
} elseif ($resprod < 0) {
|
} elseif ($resprod < 0) {
|
||||||
setEventMessages(null, $object->errors, "errors");
|
setEventMessages(null, $object->errors, "errors");
|
||||||
}
|
}
|
||||||
|
|||||||
@ -47,6 +47,8 @@ if (!$user->admin) {
|
|||||||
|
|
||||||
// Constant and translation of the module description
|
// Constant and translation of the module description
|
||||||
$modules = array(
|
$modules = array(
|
||||||
|
'NOTE_PUBLIC' => 'FCKeditorForNotePublic',
|
||||||
|
'NOTE_PRIVATE' => 'FCKeditorForNotePrivate',
|
||||||
'SOCIETE' => 'FCKeditorForCompany',
|
'SOCIETE' => 'FCKeditorForCompany',
|
||||||
'PRODUCTDESC' => 'FCKeditorForProduct',
|
'PRODUCTDESC' => 'FCKeditorForProduct',
|
||||||
'DETAILS' => 'FCKeditorForProductDetails',
|
'DETAILS' => 'FCKeditorForProductDetails',
|
||||||
@ -54,11 +56,11 @@ $modules = array(
|
|||||||
'MAILING' => 'FCKeditorForMailing',
|
'MAILING' => 'FCKeditorForMailing',
|
||||||
'MAIL' => 'FCKeditorForMail',
|
'MAIL' => 'FCKeditorForMail',
|
||||||
'TICKET' => 'FCKeditorForTicket',
|
'TICKET' => 'FCKeditorForTicket',
|
||||||
'NOTE_PUBLIC' => 'FCKeditorForNotePublic',
|
|
||||||
'NOTE_PRIVATE' => 'FCKeditorForNotePrivate',
|
|
||||||
);
|
);
|
||||||
// Conditions for the option to be offered
|
// Conditions for the option to be offered
|
||||||
$conditions = array(
|
$conditions = array(
|
||||||
|
'NOTE_PUBLIC' => 1,
|
||||||
|
'NOTE_PRIVATE' => 1,
|
||||||
'SOCIETE' => 1,
|
'SOCIETE' => 1,
|
||||||
'PRODUCTDESC' => (!empty($conf->product->enabled) || !empty($conf->service->enabled)),
|
'PRODUCTDESC' => (!empty($conf->product->enabled) || !empty($conf->service->enabled)),
|
||||||
'DETAILS' => (!empty($conf->facture->enabled) || !empty($conf->propal->enabled) || !empty($conf->commande->enabled) || !empty($conf->supplier_proposal->enabled) || (!empty($conf->fournisseur->enabled) && empty($conf->global->MAIN_USE_NEW_SUPPLIERMOD)) || !empty($conf->supplier_order->enabled) || !empty($conf->supplier_invoice->enabled)),
|
'DETAILS' => (!empty($conf->facture->enabled) || !empty($conf->propal->enabled) || !empty($conf->commande->enabled) || !empty($conf->supplier_proposal->enabled) || (!empty($conf->fournisseur->enabled) && empty($conf->global->MAIN_USE_NEW_SUPPLIERMOD)) || !empty($conf->supplier_order->enabled) || !empty($conf->supplier_invoice->enabled)),
|
||||||
@ -66,11 +68,11 @@ $conditions = array(
|
|||||||
'MAILING' => !empty($conf->mailing->enabled),
|
'MAILING' => !empty($conf->mailing->enabled),
|
||||||
'MAIL' => (!empty($conf->facture->enabled) || !empty($conf->propal->enabled) || !empty($conf->commande->enabled)),
|
'MAIL' => (!empty($conf->facture->enabled) || !empty($conf->propal->enabled) || !empty($conf->commande->enabled)),
|
||||||
'TICKET' => !empty($conf->ticket->enabled),
|
'TICKET' => !empty($conf->ticket->enabled),
|
||||||
'NOTE_PUBLIC' => 1,
|
|
||||||
'NOTE_PRIVATE' => 1,
|
|
||||||
);
|
);
|
||||||
// Picto
|
// Picto
|
||||||
$picto = array(
|
$picto = array(
|
||||||
|
'NOTE_PUBLIC' => 'generic',
|
||||||
|
'NOTE_PRIVATE' => 'generic',
|
||||||
'SOCIETE' => 'generic',
|
'SOCIETE' => 'generic',
|
||||||
'PRODUCTDESC' => 'product',
|
'PRODUCTDESC' => 'product',
|
||||||
'DETAILS' => 'product',
|
'DETAILS' => 'product',
|
||||||
@ -78,8 +80,6 @@ $picto = array(
|
|||||||
'MAILING' => 'email',
|
'MAILING' => 'email',
|
||||||
'MAIL' => 'email',
|
'MAIL' => 'email',
|
||||||
'TICKET' => 'ticket',
|
'TICKET' => 'ticket',
|
||||||
'NOTE_PUBLIC' => 'generic',
|
|
||||||
'NOTE_PRIVATE' => 'generic',
|
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -43,6 +43,7 @@ $action = GETPOST('action', 'aZ09');
|
|||||||
// Initialize technical object to manage hooks of page. Note that conf->hooks_modules contains array of hook context
|
// Initialize technical object to manage hooks of page. Note that conf->hooks_modules contains array of hook context
|
||||||
$hookmanager->initHooks(array('adminldap', 'globaladmin'));
|
$hookmanager->initHooks(array('adminldap', 'globaladmin'));
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Actions
|
* Actions
|
||||||
*/
|
*/
|
||||||
@ -150,7 +151,7 @@ $arraylist['0'] = $langs->trans("No");
|
|||||||
$arraylist['ldap2dolibarr'] = $langs->trans("LDAPToDolibarr");
|
$arraylist['ldap2dolibarr'] = $langs->trans("LDAPToDolibarr");
|
||||||
$arraylist['dolibarr2ldap'] = $langs->trans("DolibarrToLDAP");
|
$arraylist['dolibarr2ldap'] = $langs->trans("DolibarrToLDAP");
|
||||||
print $form->selectarray('activesynchro', $arraylist, $conf->global->LDAP_SYNCHRO_ACTIVE);
|
print $form->selectarray('activesynchro', $arraylist, $conf->global->LDAP_SYNCHRO_ACTIVE);
|
||||||
print '</td><td>'.$langs->trans("LDAPDnSynchroActiveExample");
|
print '</td><td><span class="opacitymedium">'.$langs->trans("LDAPDnSynchroActiveExample").'</span>';
|
||||||
if ($conf->global->LDAP_SYNCHRO_ACTIVE && !$conf->global->LDAP_USER_DN) {
|
if ($conf->global->LDAP_SYNCHRO_ACTIVE && !$conf->global->LDAP_USER_DN) {
|
||||||
print '<br><font class="error">'.$langs->trans("LDAPSetupNotComplete").'</font>';
|
print '<br><font class="error">'.$langs->trans("LDAPSetupNotComplete").'</font>';
|
||||||
}
|
}
|
||||||
@ -163,7 +164,7 @@ if (!empty($conf->societe->enabled)) {
|
|||||||
$arraylist['0'] = $langs->trans("No");
|
$arraylist['0'] = $langs->trans("No");
|
||||||
$arraylist['1'] = $langs->trans("DolibarrToLDAP");
|
$arraylist['1'] = $langs->trans("DolibarrToLDAP");
|
||||||
print $form->selectarray('activecontact', $arraylist, $conf->global->LDAP_CONTACT_ACTIVE);
|
print $form->selectarray('activecontact', $arraylist, $conf->global->LDAP_CONTACT_ACTIVE);
|
||||||
print '</td><td>'.$langs->trans("LDAPDnContactActiveExample").'</td></tr>';
|
print '</td><td><span class="opacitymedium">'.$langs->trans("LDAPDnContactActiveExample").'</span></td></tr>';
|
||||||
}
|
}
|
||||||
|
|
||||||
// Synchro member active
|
// Synchro member active
|
||||||
@ -174,7 +175,7 @@ if (!empty($conf->adherent->enabled)) {
|
|||||||
$arraylist['1'] = $langs->trans("DolibarrToLDAP");
|
$arraylist['1'] = $langs->trans("DolibarrToLDAP");
|
||||||
$arraylist['ldap2dolibarr'] = $langs->trans("LDAPToDolibarr").' ('.$langs->trans("SupportedForLDAPImportScriptOnly").')';
|
$arraylist['ldap2dolibarr'] = $langs->trans("LDAPToDolibarr").' ('.$langs->trans("SupportedForLDAPImportScriptOnly").')';
|
||||||
print $form->selectarray('activemembers', $arraylist, $conf->global->LDAP_MEMBER_ACTIVE);
|
print $form->selectarray('activemembers', $arraylist, $conf->global->LDAP_MEMBER_ACTIVE);
|
||||||
print '</td><td>'.$langs->trans("LDAPDnMemberActiveExample").'</td></tr>';
|
print '</td><td><span class="opacitymedium">'.$langs->trans("LDAPDnMemberActiveExample").'</span></td></tr>';
|
||||||
}
|
}
|
||||||
|
|
||||||
// Synchro member type active
|
// Synchro member type active
|
||||||
@ -185,7 +186,7 @@ if (!empty($conf->adherent->enabled)) {
|
|||||||
$arraylist['1'] = $langs->trans("DolibarrToLDAP");
|
$arraylist['1'] = $langs->trans("DolibarrToLDAP");
|
||||||
$arraylist['ldap2dolibarr'] = $langs->trans("LDAPToDolibarr").' ('.$langs->trans("SupportedForLDAPImportScriptOnly").')';
|
$arraylist['ldap2dolibarr'] = $langs->trans("LDAPToDolibarr").' ('.$langs->trans("SupportedForLDAPImportScriptOnly").')';
|
||||||
print $form->selectarray('activememberstypes', $arraylist, $conf->global->LDAP_MEMBER_TYPE_ACTIVE);
|
print $form->selectarray('activememberstypes', $arraylist, $conf->global->LDAP_MEMBER_TYPE_ACTIVE);
|
||||||
print '</td><td>'.$langs->trans("LDAPDnMemberTypeActiveExample").'</td></tr>';
|
print '</td><td><span class="opacitymedium">'.$langs->trans("LDAPDnMemberTypeActiveExample").'</span></td></tr>';
|
||||||
}
|
}
|
||||||
|
|
||||||
// Fields from hook
|
// Fields from hook
|
||||||
@ -214,33 +215,33 @@ $arraylist = array();
|
|||||||
$arraylist['3'] = 'Version 3';
|
$arraylist['3'] = 'Version 3';
|
||||||
$arraylist['2'] = 'Version 2';
|
$arraylist['2'] = 'Version 2';
|
||||||
print $form->selectarray('LDAP_SERVER_PROTOCOLVERSION', $arraylist, $conf->global->LDAP_SERVER_PROTOCOLVERSION);
|
print $form->selectarray('LDAP_SERVER_PROTOCOLVERSION', $arraylist, $conf->global->LDAP_SERVER_PROTOCOLVERSION);
|
||||||
print '</td><td>'.$langs->trans("LDAPServerProtocolVersion").'</td></tr>';
|
print '</td><td><span class="opacitymedium">'.$langs->trans("LDAPServerProtocolVersion").'</span></td></tr>';
|
||||||
|
|
||||||
// Serveur primaire
|
// Serveur primaire
|
||||||
print '<tr class="oddeven"><td>';
|
print '<tr class="oddeven"><td>';
|
||||||
print $langs->trans("LDAPPrimaryServer").'</td><td>';
|
print $langs->trans("LDAPPrimaryServer").'</td><td>';
|
||||||
print '<input size="25" type="text" name="host" value="'.$conf->global->LDAP_SERVER_HOST.'">';
|
print '<input class="minwidth200" type="text" name="host" value="'.$conf->global->LDAP_SERVER_HOST.'">';
|
||||||
print '</td><td>'.$langs->trans("LDAPServerExample").'</td></tr>';
|
print '</td><td><span class="opacitymedium">'.$langs->trans("LDAPServerExample").'</span></td></tr>';
|
||||||
|
|
||||||
// Serveur secondaire
|
// Serveur secondaire
|
||||||
print '<tr class="oddeven"><td>';
|
print '<tr class="oddeven"><td>';
|
||||||
print $langs->trans("LDAPSecondaryServer").'</td><td>';
|
print $langs->trans("LDAPSecondaryServer").'</td><td>';
|
||||||
print '<input size="25" type="text" name="slave" value="'.$conf->global->LDAP_SERVER_HOST_SLAVE.'">';
|
print '<input class="minwidth200" type="text" name="slave" value="'.$conf->global->LDAP_SERVER_HOST_SLAVE.'">';
|
||||||
print '</td><td>'.$langs->trans("LDAPServerExample").'</td></tr>';
|
print '</td><td><span class="opacitymedium">'.$langs->trans("LDAPServerExample").'</span></td></tr>';
|
||||||
|
|
||||||
// Port
|
// Port
|
||||||
print '<tr class="oddeven"><td>'.$langs->trans("LDAPServerPort").'</td><td>';
|
print '<tr class="oddeven"><td>'.$langs->trans("LDAPServerPort").'</td><td>';
|
||||||
if (!empty($conf->global->LDAP_SERVER_PORT)) {
|
if (!empty($conf->global->LDAP_SERVER_PORT)) {
|
||||||
print '<input size="25" type="text" name="port" value="'.$conf->global->LDAP_SERVER_PORT.'">';
|
print '<input class="width75" type="text" name="port" value="'.$conf->global->LDAP_SERVER_PORT.'">';
|
||||||
} else {
|
} else {
|
||||||
print '<input size="25" type="text" name="port" value="389">';
|
print '<input class="width75" type="text" name="port" value="389">';
|
||||||
}
|
}
|
||||||
print '</td><td>'.$langs->trans("LDAPServerPortExample").'</td></tr>';
|
print '</td><td><span class="opacitymedium">'.$langs->trans("LDAPServerPortExample").'</span></td></tr>';
|
||||||
|
|
||||||
// DNserver
|
// DNserver
|
||||||
print '<tr class="oddeven"><td>'.$langs->trans("LDAPServerDn").'</td><td>';
|
print '<tr class="oddeven"><td>'.$langs->trans("LDAPServerDn").'</td><td>';
|
||||||
print '<input size="25" type="text" name="dn" value="'.$conf->global->LDAP_SERVER_DN.'">';
|
print '<input class="minwidth300" type="text" name="dn" value="'.$conf->global->LDAP_SERVER_DN.'">';
|
||||||
print '</td><td>'.$langs->trans("LDAPServerDnExample").'</td></tr>';
|
print '</td><td><span class="opacitymedium">'.$langs->trans("LDAPServerDnExample").'</span></td></tr>';
|
||||||
|
|
||||||
// Utiliser TLS
|
// Utiliser TLS
|
||||||
print '<tr class="oddeven"><td>'.$langs->trans("LDAPServerUseTLS").'</td><td>';
|
print '<tr class="oddeven"><td>'.$langs->trans("LDAPServerUseTLS").'</td><td>';
|
||||||
@ -248,7 +249,7 @@ $arraylist = array();
|
|||||||
$arraylist['0'] = $langs->trans("No");
|
$arraylist['0'] = $langs->trans("No");
|
||||||
$arraylist['1'] = $langs->trans("Yes");
|
$arraylist['1'] = $langs->trans("Yes");
|
||||||
print $form->selectarray('usetls', $arraylist, $conf->global->LDAP_SERVER_USE_TLS);
|
print $form->selectarray('usetls', $arraylist, $conf->global->LDAP_SERVER_USE_TLS);
|
||||||
print '</td><td>'.$langs->trans("LDAPServerUseTLSExample").'</td></tr>';
|
print '</td><td><span class="opacitymedium">'.$langs->trans("LDAPServerUseTLSExample").'</span></td></tr>';
|
||||||
|
|
||||||
print '<tr class="liste_titre">';
|
print '<tr class="liste_titre">';
|
||||||
print '<td colspan="3">'.$langs->trans("ForANonAnonymousAccess").'</td>';
|
print '<td colspan="3">'.$langs->trans("ForANonAnonymousAccess").'</td>';
|
||||||
@ -257,18 +258,18 @@ print "</tr>\n";
|
|||||||
// DNAdmin
|
// DNAdmin
|
||||||
print '<!-- LDAP_ADMIN_DN -->';
|
print '<!-- LDAP_ADMIN_DN -->';
|
||||||
print '<tr class="oddeven"><td>'.$langs->trans("LDAPAdminDn").'</td><td>';
|
print '<tr class="oddeven"><td>'.$langs->trans("LDAPAdminDn").'</td><td>';
|
||||||
print '<input size="25" type="text" name="admin" value="'.$conf->global->LDAP_ADMIN_DN.'">';
|
print '<input class="minwidth300" type="text" name="admin" value="'.$conf->global->LDAP_ADMIN_DN.'">';
|
||||||
print '</td><td>'.$langs->trans("LDAPAdminDnExample").'</td></tr>';
|
print '</td><td class="maxwidthhalf"><span class="opacitymedium">'.$langs->trans("LDAPAdminDnExample").'</span></td></tr>';
|
||||||
|
|
||||||
// Pass
|
// Pass
|
||||||
print '<!-- LDAP_ADMIN_PASS -->';
|
print '<!-- LDAP_ADMIN_PASS -->';
|
||||||
print '<tr class="oddeven"><td>'.$langs->trans("LDAPPassword").'</td><td>';
|
print '<tr class="oddeven"><td>'.$langs->trans("LDAPPassword").'</td><td>';
|
||||||
if (!empty($conf->global->LDAP_ADMIN_PASS)) {
|
if (!empty($conf->global->LDAP_ADMIN_PASS)) {
|
||||||
print '<input size="25" type="password" name="pass" value="'.$conf->global->LDAP_ADMIN_PASS.'">'; // je le met en visible pour test
|
print '<input class="minwidth150" type="password" name="pass" value="'.$conf->global->LDAP_ADMIN_PASS.'">'; // je le met en visible pour test
|
||||||
} else {
|
} else {
|
||||||
print '<input size="25" type="text" name="pass" value="'.$conf->global->LDAP_ADMIN_PASS.'">';
|
print '<input class="minwidth150" type="text" name="pass" value="'.$conf->global->LDAP_ADMIN_PASS.'">';
|
||||||
}
|
}
|
||||||
print '</td><td>'.$langs->trans('Password').' (ex: secret)</td></tr>';
|
print '</td><td><span class="opacitymedium">'.$langs->trans('Password').' (ex: secret)</span></td></tr>';
|
||||||
|
|
||||||
print '</table>';
|
print '</table>';
|
||||||
|
|
||||||
|
|||||||
@ -132,6 +132,7 @@ print '<table class="noborder centpercent">';
|
|||||||
print '<tr class="liste_titre">';
|
print '<tr class="liste_titre">';
|
||||||
print '<td>'.$langs->trans("Parameter").'</td>';
|
print '<td>'.$langs->trans("Parameter").'</td>';
|
||||||
print '<td>'.$langs->trans("Value").'</td>';
|
print '<td>'.$langs->trans("Value").'</td>';
|
||||||
|
print '<td>'.$langs->trans("Example").'</td>';
|
||||||
print "</tr>\n";
|
print "</tr>\n";
|
||||||
|
|
||||||
print '<tr class="oddeven"><td>';
|
print '<tr class="oddeven"><td>';
|
||||||
@ -140,7 +141,8 @@ print '<input size="32" type="text" name="MAILING_EMAIL_FROM" value="'.$conf->gl
|
|||||||
if (!empty($conf->global->MAILING_EMAIL_FROM) && !isValidEmail($conf->global->MAILING_EMAIL_FROM)) {
|
if (!empty($conf->global->MAILING_EMAIL_FROM) && !isValidEmail($conf->global->MAILING_EMAIL_FROM)) {
|
||||||
print ' '.img_warning($langs->trans("BadEMail"));
|
print ' '.img_warning($langs->trans("BadEMail"));
|
||||||
}
|
}
|
||||||
print '</td></tr>';
|
print '</td><td><span class="opacitymedium">'.dol_escape_htmltag(($mysoc->name ? $mysoc->name : 'MyName').' <noreply@example.com>').'</span></td>';
|
||||||
|
print '</tr>';
|
||||||
|
|
||||||
print '<tr class="oddeven"><td>';
|
print '<tr class="oddeven"><td>';
|
||||||
print $langs->trans("MailingEMailError").'</td><td>';
|
print $langs->trans("MailingEMailError").'</td><td>';
|
||||||
@ -148,12 +150,14 @@ print '<input size="32" type="text" name="MAILING_EMAIL_ERRORSTO" value="'.$conf
|
|||||||
if (!empty($conf->global->MAILING_EMAIL_ERRORSTO) && !isValidEmail($conf->global->MAILING_EMAIL_ERRORSTO)) {
|
if (!empty($conf->global->MAILING_EMAIL_ERRORSTO) && !isValidEmail($conf->global->MAILING_EMAIL_ERRORSTO)) {
|
||||||
print ' '.img_warning($langs->trans("BadEMail"));
|
print ' '.img_warning($langs->trans("BadEMail"));
|
||||||
}
|
}
|
||||||
print '</td></tr>';
|
print '</td><td><span class="opacitymedium">webmaster@example.com></span></td>';
|
||||||
|
print '</tr>';
|
||||||
|
|
||||||
print '<tr class="oddeven"><td>';
|
print '<tr class="oddeven"><td>';
|
||||||
print $langs->trans("MailingDelay").'</td><td>';
|
print $langs->trans("MailingDelay").'</td><td>';
|
||||||
print '<input class="width75" type="text" name="MAILING_DELAY" value="'.$conf->global->MAILING_DELAY.'">';
|
print '<input class="width75" type="text" name="MAILING_DELAY" value="'.$conf->global->MAILING_DELAY.'">';
|
||||||
print '</td></tr>';
|
print '</td><td></td>';
|
||||||
|
print '</tr>';
|
||||||
|
|
||||||
|
|
||||||
// Constant to add salt into the unsubscribe and check read tag.
|
// Constant to add salt into the unsubscribe and check read tag.
|
||||||
@ -165,15 +169,17 @@ print '<input size="32" type="text" name="MAILING_EMAIL_UNSUBSCRIBE_KEY" id="MAI
|
|||||||
if (!empty($conf->use_javascript_ajax)) {
|
if (!empty($conf->use_javascript_ajax)) {
|
||||||
print ' '.img_picto($langs->trans('Generate'), 'refresh', 'id="generate_token" class="linkobject"');
|
print ' '.img_picto($langs->trans('Generate'), 'refresh', 'id="generate_token" class="linkobject"');
|
||||||
}
|
}
|
||||||
print '</td></tr>';
|
print '</td><td></td>';
|
||||||
|
print '</tr>';
|
||||||
|
|
||||||
// default blacklist from mailing
|
// default blacklist from mailing
|
||||||
print '<tr class="oddeven">';
|
print '<tr class="oddeven">';
|
||||||
print '<td>' . $langs->trans("DefaultBlacklistMailingStatus") . '</td>';
|
print '<td>' . $langs->trans("DefaultBlacklistMailingStatus", $langs->transnoentitiesnoconv("No_Email")) . '</td>';
|
||||||
print '<td>';
|
print '<td>';
|
||||||
$blacklist_setting=array(0=>$langs->trans('No'),1=>$langs->trans('Yes'),-1=>$langs->trans('DefaultStatusEmptyMandatory'));
|
$blacklist_setting=array(0=>$langs->trans('No'), 1=>$langs->trans('Yes'), 2=>$langs->trans('DefaultStatusEmptyMandatory'));
|
||||||
print $form->selectarray("MAILING_CONTACT_DEFAULT_BULK_STATUS", $blacklist_setting, $conf->global->MAILING_CONTACT_DEFAULT_BULK_STATUS);
|
print $form->selectarray("MAILING_CONTACT_DEFAULT_BULK_STATUS", $blacklist_setting, $conf->global->MAILING_CONTACT_DEFAULT_BULK_STATUS);
|
||||||
print '</td>';
|
print '</td>';
|
||||||
|
print '<td></td>';
|
||||||
print '</tr>';
|
print '</tr>';
|
||||||
|
|
||||||
|
|
||||||
@ -181,7 +187,8 @@ if (!empty($conf->use_javascript_ajax) && $conf->global->MAIN_FEATURES_LEVEL >=
|
|||||||
print '<tr class="oddeven"><td>';
|
print '<tr class="oddeven"><td>';
|
||||||
print $langs->trans("MailAdvTargetRecipients").'</td><td>';
|
print $langs->trans("MailAdvTargetRecipients").'</td><td>';
|
||||||
print ajax_constantonoff('EMAILING_USE_ADVANCED_SELECTOR');
|
print ajax_constantonoff('EMAILING_USE_ADVANCED_SELECTOR');
|
||||||
print '</td></tr>';
|
print '</td><td></td>';
|
||||||
|
print '</tr>';
|
||||||
}
|
}
|
||||||
|
|
||||||
print '</table>';
|
print '</table>';
|
||||||
|
|||||||
@ -228,7 +228,7 @@ if (!empty($conf->agenda->enabled)) {
|
|||||||
$elementList['actioncomm_send'] = img_picto('', 'action', 'class="paddingright"').dol_escape_htmltag($langs->trans('MailToSendEventPush'));
|
$elementList['actioncomm_send'] = img_picto('', 'action', 'class="paddingright"').dol_escape_htmltag($langs->trans('MailToSendEventPush'));
|
||||||
}
|
}
|
||||||
if (!empty($conf->eventorganization->enabled) && !empty($user->rights->eventorganization->read)) {
|
if (!empty($conf->eventorganization->enabled) && !empty($user->rights->eventorganization->read)) {
|
||||||
$elementList['eventorganization_send'] = img_picto('', 'action', 'class="paddingright"').dol_escape_htmltag($langs->trans('MailToSendEventOrganization'));
|
$elementList['conferenceorbooth'] = img_picto('', 'action', 'class="paddingright"').dol_escape_htmltag($langs->trans('MailToSendEventOrganization'));
|
||||||
}
|
}
|
||||||
if (!empty($conf->partnership->enabled) && !empty($user->rights->partnership->read)) {
|
if (!empty($conf->partnership->enabled) && !empty($user->rights->partnership->read)) {
|
||||||
$elementList['partnership_send'] = img_picto('', 'partnership', 'class="paddingright"').dol_escape_htmltag($langs->trans('MailToPartnership'));
|
$elementList['partnership_send'] = img_picto('', 'partnership', 'class="paddingright"').dol_escape_htmltag($langs->trans('MailToPartnership'));
|
||||||
@ -1071,8 +1071,8 @@ if ($resql) {
|
|||||||
if ($showfield) {
|
if ($showfield) {
|
||||||
print '<!-- '.$fieldlist[$field].' -->';
|
print '<!-- '.$fieldlist[$field].' -->';
|
||||||
print '<td class="'.$class.'"';
|
print '<td class="'.$class.'"';
|
||||||
if ($value == 'topic') {
|
if (in_array($value, array('code', 'label', 'topic'))) {
|
||||||
print ' title="'.$valuetoshow.'"';
|
print ' title="'.dol_escape_htmltag($valuetoshow).'"';
|
||||||
}
|
}
|
||||||
print '>';
|
print '>';
|
||||||
print $valuetoshow;
|
print $valuetoshow;
|
||||||
|
|||||||
@ -1025,16 +1025,16 @@ if ($mode == 'marketplace') {
|
|||||||
|
|
||||||
print '<div class="liste_titre liste_titre_bydiv centpercent"><div class="divsearchfield">';
|
print '<div class="liste_titre liste_titre_bydiv centpercent"><div class="divsearchfield">';
|
||||||
|
|
||||||
print '<form method="POST" class="centpercent" id="searchFormList" action="'.$dolistore->url.'">';
|
print '<form method="POST" class="centpercent" id="searchFormList" action="'.urlencode($dolistore->url).'">';
|
||||||
?>
|
?>
|
||||||
<input type="hidden" name="token" value="<?php echo newToken(); ?>">
|
<input type="hidden" name="token" value="<?php echo newToken(); ?>">
|
||||||
<input type="hidden" name="mode" value="marketplace">
|
<input type="hidden" name="mode" value="marketplace">
|
||||||
<div class="divsearchfield">
|
<div class="divsearchfield">
|
||||||
<input name="search_keyword" placeholder="<?php echo $langs->trans('Keyword') ?>" id="search_keyword" type="text" class="minwidth200" value="<?php echo $options['search'] ?>"><br>
|
<input name="search_keyword" placeholder="<?php echo $langs->trans('Keyword') ?>" id="search_keyword" type="text" class="minwidth200" value="<?php echo dol_escape_htmltag($options['search']) ?>"><br>
|
||||||
</div>
|
</div>
|
||||||
<div class="divsearchfield">
|
<div class="divsearchfield">
|
||||||
<input class="button buttongen" value="<?php echo $langs->trans('Rechercher') ?>" type="submit">
|
<input class="button buttongen" value="<?php echo $langs->trans('Rechercher') ?>" type="submit">
|
||||||
<a class="buttonreset" href="<?php echo $dolistore->url ?>"><?php echo $langs->trans('Reset') ?></a>
|
<a class="buttonreset" href="<?php echo urlencode($dolistore->url) ?>"><?php echo $langs->trans('Reset') ?></a>
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
@ -1051,7 +1051,7 @@ if ($mode == 'marketplace') {
|
|||||||
|
|
||||||
<div id="category-tree-left">
|
<div id="category-tree-left">
|
||||||
<ul class="tree">
|
<ul class="tree">
|
||||||
<?php echo $dolistore->get_categories(); ?>
|
<?php echo dol_escape_htmltag($dolistore->get_categories()); ?>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
<div id="listing-content">
|
<div id="listing-content">
|
||||||
|
|||||||
@ -55,7 +55,8 @@ if ($action == 'update') {
|
|||||||
if (GETPOSTISSET('MAIN_PDF_FORMAT')) dolibarr_set_const($db, "MAIN_PDF_FORMAT", GETPOST("MAIN_PDF_FORMAT"), 'chaine', 0, '', $conf->entity);
|
if (GETPOSTISSET('MAIN_PDF_FORMAT')) dolibarr_set_const($db, "MAIN_PDF_FORMAT", GETPOST("MAIN_PDF_FORMAT"), 'chaine', 0, '', $conf->entity);
|
||||||
|
|
||||||
if (GETPOSTISSET('MAIN_PDF_MARGIN_LEFT')) dolibarr_set_const($db, "MAIN_PDF_MARGIN_LEFT", GETPOST("MAIN_PDF_MARGIN_LEFT"), 'chaine', 0, '', $conf->entity);
|
if (GETPOSTISSET('MAIN_PDF_MARGIN_LEFT')) dolibarr_set_const($db, "MAIN_PDF_MARGIN_LEFT", GETPOST("MAIN_PDF_MARGIN_LEFT"), 'chaine', 0, '', $conf->entity);
|
||||||
if (GETPOSTISSET('MAIN_PDF_MARGIN_RIGHT')) dolibarr_set_const($db, "MAIN_PDF_MARGIN_RIGHT", GETPOST("MAIN_PDF_MARGIN_TOP"), 'chaine', 0, '', $conf->entity);
|
if (GETPOSTISSET('MAIN_PDF_MARGIN_RIGHT')) dolibarr_set_const($db, "MAIN_PDF_MARGIN_RIGHT", GETPOST("MAIN_PDF_MARGIN_RIGHT"), 'chaine', 0, '', $conf->entity);
|
||||||
|
if (GETPOSTISSET('MAIN_PDF_MARGIN_TOP')) dolibarr_set_const($db, "MAIN_PDF_MARGIN_TOP", GETPOST("MAIN_PDF_MARGIN_TOP"), 'chaine', 0, '', $conf->entity);
|
||||||
if (GETPOSTISSET('MAIN_PDF_MARGIN_BOTTOM')) dolibarr_set_const($db, "MAIN_PDF_MARGIN_BOTTOM", GETPOST("MAIN_PDF_MARGIN_BOTTOM"), 'chaine', 0, '', $conf->entity);
|
if (GETPOSTISSET('MAIN_PDF_MARGIN_BOTTOM')) dolibarr_set_const($db, "MAIN_PDF_MARGIN_BOTTOM", GETPOST("MAIN_PDF_MARGIN_BOTTOM"), 'chaine', 0, '', $conf->entity);
|
||||||
|
|
||||||
if (GETPOSTISSET('MAIN_PROFID1_IN_ADDRESS')) dolibarr_set_const($db, "MAIN_PROFID1_IN_ADDRESS", GETPOST("MAIN_PROFID1_IN_ADDRESS"), 'chaine', 0, '', $conf->entity);
|
if (GETPOSTISSET('MAIN_PROFID1_IN_ADDRESS')) dolibarr_set_const($db, "MAIN_PROFID1_IN_ADDRESS", GETPOST("MAIN_PROFID1_IN_ADDRESS"), 'chaine', 0, '', $conf->entity);
|
||||||
|
|||||||
@ -505,7 +505,7 @@ if ($resql) {
|
|||||||
$obj = $db->fetch_object($resql);
|
$obj = $db->fetch_object($resql);
|
||||||
|
|
||||||
print '<tr class="oddeven">';
|
print '<tr class="oddeven">';
|
||||||
print '<td class="tdoverflowmax300">'.$obj->name.'</td>'."\n";
|
print '<td class="tdoverflowmax600" title="'.dol_escape_htmltag($obj->name).'">'.dol_escape_htmltag($obj->name).'</td>'."\n";
|
||||||
print '<td class="tdoverflowmax300">';
|
print '<td class="tdoverflowmax300">';
|
||||||
if (isASecretKey($obj->name)) {
|
if (isASecretKey($obj->name)) {
|
||||||
if (empty($dolibarr_main_prod)) {
|
if (empty($dolibarr_main_prod)) {
|
||||||
|
|||||||
@ -541,7 +541,7 @@ if ($mode == 'searchkey') {
|
|||||||
print $form->textwithpicto('', $htmltext, 1, 'info');
|
print $form->textwithpicto('', $htmltext, 1, 'info');
|
||||||
} elseif (!empty($conf->global->MAIN_ENABLE_OVERWRITE_TRANSLATION)) {
|
} elseif (!empty($conf->global->MAIN_ENABLE_OVERWRITE_TRANSLATION)) {
|
||||||
//print $key.'-'.$val;
|
//print $key.'-'.$val;
|
||||||
print '<a class="reposition paddingrightonly" href="'.$_SERVER['PHP_SELF'].'?mode=overwrite&langcode='.urlencode($langcode).'&transkey='.urlencode($key).'">'.img_edit_add($langs->trans("Overwrite")).'</a>';
|
print '<a class="reposition paddingrightonly" href="'.$_SERVER['PHP_SELF'].'?mode=overwrite&langcode='.urlencode($langcode).'&transkey='.urlencode($key).'">'.img_edit_add($langs->trans("TranslationOverwriteKey")).'</a>';
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!empty($conf->global->MAIN_FEATURES_LEVEL)) {
|
if (!empty($conf->global->MAIN_FEATURES_LEVEL)) {
|
||||||
|
|||||||
@ -80,7 +80,7 @@ class DolibarrApiAccess implements iAuthenticate
|
|||||||
public function __isAllowed()
|
public function __isAllowed()
|
||||||
{
|
{
|
||||||
// phpcs:enable
|
// phpcs:enable
|
||||||
global $conf, $db;
|
global $conf, $db, $user;
|
||||||
|
|
||||||
$login = '';
|
$login = '';
|
||||||
$stored_key = '';
|
$stored_key = '';
|
||||||
@ -147,8 +147,13 @@ class DolibarrApiAccess implements iAuthenticate
|
|||||||
if ($result <= 0) {
|
if ($result <= 0) {
|
||||||
throw new RestException(503, 'Error when fetching user :'.$fuser->error.' (conf->entity='.$conf->entity.')');
|
throw new RestException(503, 'Error when fetching user :'.$fuser->error.' (conf->entity='.$conf->entity.')');
|
||||||
}
|
}
|
||||||
|
|
||||||
$fuser->getrights();
|
$fuser->getrights();
|
||||||
|
|
||||||
|
// Set the property $user to the $user of API
|
||||||
static::$user = $fuser;
|
static::$user = $fuser;
|
||||||
|
// Set also the global variable $user to the $user of API
|
||||||
|
$user = $fuser;
|
||||||
|
|
||||||
if ($fuser->socid) {
|
if ($fuser->socid) {
|
||||||
static::$role = 'external';
|
static::$role = 'external';
|
||||||
|
|||||||
@ -431,13 +431,13 @@ class BOM extends CommonObject
|
|||||||
if (count($filter) > 0) {
|
if (count($filter) > 0) {
|
||||||
foreach ($filter as $key => $value) {
|
foreach ($filter as $key => $value) {
|
||||||
if ($key == 't.rowid') {
|
if ($key == 't.rowid') {
|
||||||
$sqlwhere[] = $key.'='.$value;
|
$sqlwhere[] = $key.' = '.((int) $value);
|
||||||
} elseif (strpos($key, 'date') !== false) {
|
} elseif (strpos($key, 'date') !== false) {
|
||||||
$sqlwhere[] = $key.' = \''.$this->db->idate($value).'\'';
|
$sqlwhere[] = $key." = '".$this->db->idate($value)."'";
|
||||||
} elseif ($key == 'customsql') {
|
} elseif ($key == 'customsql') {
|
||||||
$sqlwhere[] = $value;
|
$sqlwhere[] = $value;
|
||||||
} else {
|
} else {
|
||||||
$sqlwhere[] = $key.' LIKE \'%'.$this->db->escape($value).'%\'';
|
$sqlwhere[] = $key." LIKE '%".$this->db->escape($value)."%'";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -946,7 +946,7 @@ class BOM extends CommonObject
|
|||||||
$this->lines = array();
|
$this->lines = array();
|
||||||
|
|
||||||
$objectline = new BOMLine($this->db);
|
$objectline = new BOMLine($this->db);
|
||||||
$result = $objectline->fetchAll('ASC', 'position', 0, 0, array('customsql'=>'fk_bom = '.$this->id));
|
$result = $objectline->fetchAll('ASC', 'position', 0, 0, array('customsql'=>'fk_bom = '.((int) $this->id)));
|
||||||
|
|
||||||
if (is_numeric($result)) {
|
if (is_numeric($result)) {
|
||||||
$this->error = $this->error;
|
$this->error = $this->error;
|
||||||
|
|||||||
@ -205,10 +205,14 @@ foreach ($fulltree as $key => $val) {
|
|||||||
$entry .= '<a href="'.DOL_URL_ROOT.'/categories/viewcat.php?id='.$val['id'].'&type='.$type.$moreparam.'&backtolist='.urlencode($_SERVER["PHP_SELF"].'?type='.$type).'">'.img_view().'</a>';
|
$entry .= '<a href="'.DOL_URL_ROOT.'/categories/viewcat.php?id='.$val['id'].'&type='.$type.$moreparam.'&backtolist='.urlencode($_SERVER["PHP_SELF"].'?type='.$type).'">'.img_view().'</a>';
|
||||||
$entry .= '</td>';
|
$entry .= '</td>';
|
||||||
$entry .= '<td class="right" width="20px;">';
|
$entry .= '<td class="right" width="20px;">';
|
||||||
|
if ($user->rights->categorie->creer) {
|
||||||
$entry .= '<a class="editfielda" href="' . DOL_URL_ROOT . '/categories/edit.php?id=' . $val['id'] . '&type=' . $type . $moreparam . '&backtopage=' . urlencode($_SERVER["PHP_SELF"] . '?type=' . $type) . '">' . img_edit() . '</a>';
|
$entry .= '<a class="editfielda" href="' . DOL_URL_ROOT . '/categories/edit.php?id=' . $val['id'] . '&type=' . $type . $moreparam . '&backtopage=' . urlencode($_SERVER["PHP_SELF"] . '?type=' . $type) . '">' . img_edit() . '</a>';
|
||||||
|
}
|
||||||
$entry .= '</td>';
|
$entry .= '</td>';
|
||||||
$entry .= '<td class="right" width="20px;">';
|
$entry .= '<td class="right" width="20px;">';
|
||||||
|
if ($user->rights->categorie->supprimer) {
|
||||||
$entry .= '<a class="deletefilelink" href="' . DOL_URL_ROOT . '/categories/viewcat.php?action=delete&token=' . newToken() . '&id=' . $val['id'] . '&type=' . $type . $moreparam . '&backtopage=' . urlencode($_SERVER["PHP_SELF"] . '?type=' . $type . $moreparam) . '&backtolist=' . urlencode($_SERVER["PHP_SELF"] . '?type=' . $type . $moreparam) . '">' . img_delete() . '</a>';
|
$entry .= '<a class="deletefilelink" href="' . DOL_URL_ROOT . '/categories/viewcat.php?action=delete&token=' . newToken() . '&id=' . $val['id'] . '&type=' . $type . $moreparam . '&backtopage=' . urlencode($_SERVER["PHP_SELF"] . '?type=' . $type . $moreparam) . '&backtolist=' . urlencode($_SERVER["PHP_SELF"] . '?type=' . $type . $moreparam) . '">' . img_delete() . '</a>';
|
||||||
|
}
|
||||||
$entry .= '</td>';
|
$entry .= '</td>';
|
||||||
|
|
||||||
$entry .= '</tr>';
|
$entry .= '</tr>';
|
||||||
|
|||||||
@ -70,6 +70,10 @@ $offsetvalue = GETPOST('offsetvalue', 'int');
|
|||||||
$offsetunit = GETPOST('offsetunittype_duration', 'aZ09');
|
$offsetunit = GETPOST('offsetunittype_duration', 'aZ09');
|
||||||
$remindertype = GETPOST('selectremindertype', 'aZ09');
|
$remindertype = GETPOST('selectremindertype', 'aZ09');
|
||||||
$modelmail = GETPOST('actioncommsendmodel_mail', 'int');
|
$modelmail = GETPOST('actioncommsendmodel_mail', 'int');
|
||||||
|
$complete = GETPOST('complete', 'alpha'); // 'na' must be allowed
|
||||||
|
if ($complete == 'na' || $complete == -2) {
|
||||||
|
$complete = -1;
|
||||||
|
}
|
||||||
|
|
||||||
$datep = dol_mktime($fulldayevent ? '00' : $aphour, $fulldayevent ? '00' : $apmin, 0, GETPOST("apmonth", 'int'), GETPOST("apday", 'int'), GETPOST("apyear", 'int'));
|
$datep = dol_mktime($fulldayevent ? '00' : $aphour, $fulldayevent ? '00' : $apmin, 0, GETPOST("apmonth", 'int'), GETPOST("apday", 'int'), GETPOST("apyear", 'int'));
|
||||||
$datef = dol_mktime($fulldayevent ? '23' : $p2hour, $fulldayevent ? '59' : $p2min, $fulldayevent ? '59' : '0', GETPOST("p2month", 'int'), GETPOST("p2day", 'int'), GETPOST("p2year", 'int'));
|
$datef = dol_mktime($fulldayevent ? '23' : $p2hour, $fulldayevent ? '59' : $p2min, $fulldayevent ? '59' : '0', GETPOST("p2month", 'int'), GETPOST("p2day", 'int'), GETPOST("p2year", 'int'));
|
||||||
@ -240,7 +244,7 @@ if (empty($reshook) && $action == 'add') {
|
|||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
|
|
||||||
$percentage = in_array(GETPOST('status'), array(-1, 100)) ?GETPOST('status') : (in_array(GETPOST('complete'), array(-1, 100)) ?GETPOST('complete') : GETPOST("percentage")); // If status is -1 or 100, percentage is not defined and we must use status
|
$percentage = in_array(GETPOST('status'), array(-1, 100)) ? GETPOST('status') : (in_array($complete, array(-1, 100)) ? $complete : GETPOST("percentage", 'int')); // If status is -1 or 100, percentage is not defined and we must use status
|
||||||
|
|
||||||
// Clean parameters
|
// Clean parameters
|
||||||
$datep = dol_mktime($fulldayevent ? '00' : GETPOST("aphour", 'int'), $fulldayevent ? '00' : GETPOST("apmin", 'int'), $fulldayevent ? '00' : GETPOST("apsec", 'int'), GETPOST("apmonth", 'int'), GETPOST("apday", 'int'), GETPOST("apyear", 'int'), 'tzuser');
|
$datep = dol_mktime($fulldayevent ? '00' : GETPOST("aphour", 'int'), $fulldayevent ? '00' : GETPOST("apmin", 'int'), $fulldayevent ? '00' : GETPOST("apsec", 'int'), GETPOST("apmonth", 'int'), GETPOST("apday", 'int'), GETPOST("apyear", 'int'), 'tzuser');
|
||||||
@ -471,7 +475,7 @@ if (empty($reshook) && $action == 'update') {
|
|||||||
$apmin = GETPOST('apmin', 'int');
|
$apmin = GETPOST('apmin', 'int');
|
||||||
$p2hour = GETPOST('p2hour', 'int');
|
$p2hour = GETPOST('p2hour', 'int');
|
||||||
$p2min = GETPOST('p2min', 'int');
|
$p2min = GETPOST('p2min', 'int');
|
||||||
$percentage = in_array(GETPOST('status'), array(-1, 100)) ?GETPOST('status') : (in_array(GETPOST('complete'), array(-1, 100)) ?GETPOST('complete') : GETPOST("percentage")); // If status is -1 or 100, percentage is not defined and we must use status
|
$percentage = in_array(GETPOST('status'), array(-1, 100)) ? GETPOST('status') : (in_array($complete, array(-1, 100)) ? $complete : GETPOST("percentage", 'int')); // If status is -1 or 100, percentage is not defined and we must use status
|
||||||
|
|
||||||
// Clean parameters
|
// Clean parameters
|
||||||
if ($aphour == -1) {
|
if ($aphour == -1) {
|
||||||
@ -1074,15 +1078,15 @@ if ($action == 'create') {
|
|||||||
// Status
|
// Status
|
||||||
print '<tr><td>'.$langs->trans("Status").' / '.$langs->trans("Percentage").'</td>';
|
print '<tr><td>'.$langs->trans("Status").' / '.$langs->trans("Percentage").'</td>';
|
||||||
print '<td>';
|
print '<td>';
|
||||||
$percent = GETPOST('complete')!=='' ? GETPOST('complete') : -1;
|
$percent = $complete !=='' ? $complete : -1;
|
||||||
if (GETPOSTISSET('status')) {
|
if (GETPOSTISSET('status')) {
|
||||||
$percent = GETPOST('status');
|
$percent = GETPOST('status');
|
||||||
} elseif (GETPOSTISSET('percentage')) {
|
} elseif (GETPOSTISSET('percentage')) {
|
||||||
$percent = GETPOST('percentage');
|
$percent = GETPOST('percentage', 'int');
|
||||||
} else {
|
} else {
|
||||||
if (GETPOST('complete') == '0' || GETPOST("afaire") == 1) {
|
if ($complete == '0' || GETPOST("afaire") == 1) {
|
||||||
$percent = '0';
|
$percent = '0';
|
||||||
} elseif (GETPOST('complete') == 100 || GETPOST("afaire") == 2) {
|
} elseif ($complete == 100 || GETPOST("afaire") == 2) {
|
||||||
$percent = 100;
|
$percent = 100;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1348,7 +1352,7 @@ if ($id > 0) {
|
|||||||
$result5 = $object->fetch_optionals();
|
$result5 = $object->fetch_optionals();
|
||||||
|
|
||||||
if ($listUserAssignedUpdated || $donotclearsession) {
|
if ($listUserAssignedUpdated || $donotclearsession) {
|
||||||
$percentage = in_array(GETPOST('status'), array(-1, 100)) ?GETPOST('status') : (in_array(GETPOST('complete'), array(-1, 100)) ?GETPOST('complete') : GETPOST("percentage")); // If status is -1 or 100, percentage is not defined and we must use status
|
$percentage = in_array(GETPOST('status'), array(-1, 100)) ? GETPOST('status') : (in_array($complete, array(-1, 100)) ? $complete : GETPOST("percentage", 'int')); // If status is -1 or 100, percentage is not defined and we must use status
|
||||||
|
|
||||||
$datep = dol_mktime($fulldayevent ? '00' : $aphour, $fulldayevent ? '00' : $apmin, 0, GETPOST("apmonth", 'int'), GETPOST("apday", 'int'), GETPOST("apyear", 'int'), 'tzuser');
|
$datep = dol_mktime($fulldayevent ? '00' : $aphour, $fulldayevent ? '00' : $apmin, 0, GETPOST("apmonth", 'int'), GETPOST("apday", 'int'), GETPOST("apyear", 'int'), 'tzuser');
|
||||||
$datef = dol_mktime($fulldayevent ? '23' : $p2hour, $fulldayevent ? '59' : $p2min, $fulldayevent ? '59' : '0', GETPOST("p2month", 'int'), GETPOST("p2day", 'int'), GETPOST("p2year", 'int'), 'tzuser');
|
$datef = dol_mktime($fulldayevent ? '23' : $p2hour, $fulldayevent ? '59' : $p2min, $fulldayevent ? '59' : '0', GETPOST("p2month", 'int'), GETPOST("p2day", 'int'), GETPOST("p2year", 'int'), 'tzuser');
|
||||||
@ -1542,7 +1546,7 @@ if ($id > 0) {
|
|||||||
|
|
||||||
// Status
|
// Status
|
||||||
print '<tr><td class="nowrap">'.$langs->trans("Status").' / '.$langs->trans("Percentage").'</td><td colspan="3">';
|
print '<tr><td class="nowrap">'.$langs->trans("Status").' / '.$langs->trans("Percentage").'</td><td colspan="3">';
|
||||||
$percent = GETPOST("percentage") ? GETPOST("percentage") : $object->percentage;
|
$percent = GETPOSTISSET("percentage") ? GETPOST("percentage", "int") : $object->percentage;
|
||||||
$formactions->form_select_status_action('formaction', $percent, 1, 'complete', 0, 0, 'maxwidth200');
|
$formactions->form_select_status_action('formaction', $percent, 1, 'complete', 0, 0, 'maxwidth200');
|
||||||
print '</td></tr>';
|
print '</td></tr>';
|
||||||
|
|
||||||
|
|||||||
@ -892,15 +892,23 @@ while ($currentdaytoshow < $lastdaytoshow) {
|
|||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
/* Use this list to have for all users */
|
/* Use this list to have for all users */
|
||||||
$sql = "SELECT u.rowid, u.lastname as lastname, u.firstname, u.statut, u.login, u.admin, u.entity";
|
$sql = "SELECT DISTINCT u.rowid, u.lastname as lastname, u.firstname, u.statut, u.login, u.admin, u.entity";
|
||||||
$sql .= " FROM ".MAIN_DB_PREFIX."user as u";
|
$sql .= " FROM ".MAIN_DB_PREFIX."user as u";
|
||||||
|
if (!empty($conf->multicompany->enabled) && !empty($conf->global->MULTICOMPANY_TRANSVERSE_MODE)) {
|
||||||
|
$sql .= ", ".MAIN_DB_PREFIX."usergroup_user as ug";
|
||||||
|
$sql .= " WHERE ug.entity IN (".getEntity('usergroup').")";
|
||||||
|
$sql .= " AND ug.fk_user = u.rowid ";
|
||||||
|
} else {
|
||||||
if ($usergroup > 0) {
|
if ($usergroup > 0) {
|
||||||
$sql .= " LEFT JOIN ".MAIN_DB_PREFIX."usergroup_user as ug ON u.rowid = ug.fk_user";
|
$sql .= " LEFT JOIN ".MAIN_DB_PREFIX."usergroup_user as ug ON u.rowid = ug.fk_user";
|
||||||
}
|
}
|
||||||
$sql .= " WHERE u.statut = 1 AND u.entity IN (".getEntity('user').")";
|
$sql .= " WHERE u.entity IN (".getEntity('user').")";
|
||||||
|
}
|
||||||
|
$sql .= " AND u.statut = 1";
|
||||||
if ($usergroup > 0) {
|
if ($usergroup > 0) {
|
||||||
$sql .= " AND ug.fk_usergroup = ".((int) $usergroup);
|
$sql .= " AND ug.fk_usergroup = ".((int) $usergroup);
|
||||||
}
|
}
|
||||||
|
|
||||||
//print $sql;
|
//print $sql;
|
||||||
$resql = $db->query($sql);
|
$resql = $db->query($sql);
|
||||||
if ($resql) {
|
if ($resql) {
|
||||||
|
|||||||
@ -635,11 +635,11 @@ if ($object->fetch($id) >= 0) {
|
|||||||
$obj = $db->fetch_object($resql);
|
$obj = $db->fetch_object($resql);
|
||||||
|
|
||||||
print '<tr class="oddeven">';
|
print '<tr class="oddeven">';
|
||||||
print '<td>'.$obj->email.'</td>';
|
print '<td class="tdoverflowmax150">'.img_picto('$obj->email', 'email', 'class="paddingright"').$obj->email.'</td>';
|
||||||
print '<td>'.$obj->lastname.'</td>';
|
print '<td class="tdoverflowmax150" title="'.dol_escape_htmltag($obj->lastname).'">'.$obj->lastname.'</td>';
|
||||||
print '<td>'.$obj->firstname.'</td>';
|
print '<td class="tdoverflowmax150" title="'.dol_escape_htmltag($obj->firstname).'">'.$obj->firstname.'</td>';
|
||||||
print '<td>'.$obj->other.'</td>';
|
print '<td>'.$obj->other.'</td>';
|
||||||
print '<td class="center">';
|
print '<td class="center tdoverflowmax150">';
|
||||||
if (empty($obj->source_id) || empty($obj->source_type)) {
|
if (empty($obj->source_id) || empty($obj->source_type)) {
|
||||||
print empty($obj->source_url) ? '' : $obj->source_url; // For backward compatibility
|
print empty($obj->source_url) ? '' : $obj->source_url; // For backward compatibility
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
@ -384,8 +384,8 @@ if (empty($reshook)) {
|
|||||||
$object->cond_reglement_id = GETPOST('cond_reglement_id');
|
$object->cond_reglement_id = GETPOST('cond_reglement_id');
|
||||||
$object->mode_reglement_id = GETPOST('mode_reglement_id');
|
$object->mode_reglement_id = GETPOST('mode_reglement_id');
|
||||||
$object->fk_account = GETPOST('fk_account', 'int');
|
$object->fk_account = GETPOST('fk_account', 'int');
|
||||||
$object->remise_percent = price2num(GETPOST('remise_percent'), 2);
|
$object->remise_percent = price2num(GETPOST('remise_percent'), '', 2);
|
||||||
$object->remise_absolue = price2num(GETPOST('remise_absolue'), 'MU');
|
$object->remise_absolue = price2num(GETPOST('remise_absolue'), 'MU', 2);
|
||||||
$object->socid = GETPOST('socid', 'int');
|
$object->socid = GETPOST('socid', 'int');
|
||||||
$object->contact_id = GETPOST('contactid', 'int');
|
$object->contact_id = GETPOST('contactid', 'int');
|
||||||
$object->fk_project = GETPOST('projectid', 'int');
|
$object->fk_project = GETPOST('projectid', 'int');
|
||||||
@ -826,8 +826,8 @@ if (empty($reshook)) {
|
|||||||
$tva_tx = '';
|
$tva_tx = '';
|
||||||
}
|
}
|
||||||
|
|
||||||
$qty = price2num(GETPOST('qty'.$predef, 'alpha'), 'MS');
|
$qty = price2num(GETPOST('qty'.$predef, 'alpha'), 'MS', 2);
|
||||||
$remise_percent = price2num(GETPOST('remise_percent'.$predef), 2);
|
$remise_percent = price2num(GETPOST('remise_percent'.$predef), '', 2);
|
||||||
if (empty($remise_percent)) {
|
if (empty($remise_percent)) {
|
||||||
$remise_percent = 0;
|
$remise_percent = 0;
|
||||||
}
|
}
|
||||||
@ -1214,6 +1214,8 @@ if (empty($reshook)) {
|
|||||||
$date_start = dol_mktime(GETPOST('date_starthour'), GETPOST('date_startmin'), GETPOST('date_startsec'), GETPOST('date_startmonth'), GETPOST('date_startday'), GETPOST('date_startyear'));
|
$date_start = dol_mktime(GETPOST('date_starthour'), GETPOST('date_startmin'), GETPOST('date_startsec'), GETPOST('date_startmonth'), GETPOST('date_startday'), GETPOST('date_startyear'));
|
||||||
$date_end = dol_mktime(GETPOST('date_endhour'), GETPOST('date_endmin'), GETPOST('date_endsec'), GETPOST('date_endmonth'), GETPOST('date_endday'), GETPOST('date_endyear'));
|
$date_end = dol_mktime(GETPOST('date_endhour'), GETPOST('date_endmin'), GETPOST('date_endsec'), GETPOST('date_endmonth'), GETPOST('date_endday'), GETPOST('date_endyear'));
|
||||||
|
|
||||||
|
$remise_percent = price2num(GETPOST('remise_percent'), '', 2);
|
||||||
|
|
||||||
// Extrafields
|
// Extrafields
|
||||||
$extralabelsline = $extrafields->fetch_name_optionals_label($object->table_element_line);
|
$extralabelsline = $extrafields->fetch_name_optionals_label($object->table_element_line);
|
||||||
$array_options = $extrafields->getOptionalsFromPost($object->table_element_line);
|
$array_options = $extrafields->getOptionalsFromPost($object->table_element_line);
|
||||||
@ -1226,7 +1228,7 @@ if (empty($reshook)) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Define special_code for special lines
|
// Define special_code for special lines
|
||||||
$special_code = GETPOST('special_code');
|
$special_code = GETPOST('special_code', 'int');
|
||||||
if (!GETPOST('qty')) {
|
if (!GETPOST('qty')) {
|
||||||
$special_code = 3;
|
$special_code = 3;
|
||||||
}
|
}
|
||||||
@ -1245,7 +1247,7 @@ if (empty($reshook)) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
$label = ((GETPOST('update_label') && GETPOST('product_label')) ? GETPOST('product_label') : '');
|
$label = ((GETPOST('update_label') && GETPOST('product_label')) ? GETPOST('product_label') : '');
|
||||||
if (((!empty($conf->global->MAIN_USE_ADVANCED_PERMS) && empty($user->rights->produit->ignore_price_min_advance)) || empty($conf->global->MAIN_USE_ADVANCED_PERMS)) && ($price_min && (price2num($pu_ht) * (1 - price2num(GETPOST('remise_percent'), 2) / 100) < price2num($price_min)))) {
|
if (((!empty($conf->global->MAIN_USE_ADVANCED_PERMS) && empty($user->rights->produit->ignore_price_min_advance)) || empty($conf->global->MAIN_USE_ADVANCED_PERMS)) && ($price_min && (price2num($pu_ht) * (1 - $remise_percent / 100) < price2num($price_min)))) {
|
||||||
setEventMessages($langs->trans("CantBeLessThanMinPrice", price(price2num($price_min, 'MU'), 0, $langs, 0, 0, - 1, $conf->currency)), null, 'errors');
|
setEventMessages($langs->trans("CantBeLessThanMinPrice", price(price2num($price_min, 'MU'), 0, $langs, 0, 0, - 1, $conf->currency)), null, 'errors');
|
||||||
$error++;
|
$error++;
|
||||||
}
|
}
|
||||||
@ -1275,7 +1277,7 @@ if (empty($reshook)) {
|
|||||||
|
|
||||||
$qty = price2num(GETPOST('qty', 'alpha'), 'MS');
|
$qty = price2num(GETPOST('qty', 'alpha'), 'MS');
|
||||||
|
|
||||||
$result = $object->updateline(GETPOST('lineid', 'int'), $pu_ht, $qty, price2num(GETPOST('remise_percent'), 2), $vat_rate, $localtax1_rate, $localtax2_rate, $description, 'HT', $info_bits, $special_code, GETPOST('fk_parent_line'), 0, $fournprice, $buyingprice, $label, $type, $date_start, $date_end, $array_options, GETPOST("units"), $pu_ht_devise);
|
$result = $object->updateline(GETPOST('lineid', 'int'), $pu_ht, $qty, $remise_percent, $vat_rate, $localtax1_rate, $localtax2_rate, $description, 'HT', $info_bits, $special_code, GETPOST('fk_parent_line'), 0, $fournprice, $buyingprice, $label, $type, $date_start, $date_end, $array_options, GETPOST("units"), $pu_ht_devise);
|
||||||
|
|
||||||
if ($result >= 0) {
|
if ($result >= 0) {
|
||||||
$db->commit();
|
$db->commit();
|
||||||
@ -1343,9 +1345,9 @@ if (empty($reshook)) {
|
|||||||
// Terms of payment
|
// Terms of payment
|
||||||
$result = $object->setPaymentTerms(GETPOST('cond_reglement_id', 'int'));
|
$result = $object->setPaymentTerms(GETPOST('cond_reglement_id', 'int'));
|
||||||
} elseif ($action == 'setremisepercent' && $usercancreate) {
|
} elseif ($action == 'setremisepercent' && $usercancreate) {
|
||||||
$result = $object->set_remise_percent($user, price2num(GETPOST('remise_percent')));
|
$result = $object->set_remise_percent($user, price2num(GETPOST('remise_percent'), '', 2));
|
||||||
} elseif ($action == 'setremiseabsolue' && $usercancreate) {
|
} elseif ($action == 'setremiseabsolue' && $usercancreate) {
|
||||||
$result = $object->set_remise_absolue($user, price2num(GETPOST('remise_absolue')));
|
$result = $object->set_remise_absolue($user, price2num(GETPOST('remise_absolue'), 'MU', 2));
|
||||||
} elseif ($action == 'setmode' && $usercancreate) {
|
} elseif ($action == 'setmode' && $usercancreate) {
|
||||||
// Payment choice
|
// Payment choice
|
||||||
$result = $object->setPaymentMethods(GETPOST('mode_reglement_id', 'int'));
|
$result = $object->setPaymentMethods(GETPOST('mode_reglement_id', 'int'));
|
||||||
|
|||||||
@ -709,8 +709,8 @@ if ($socid > 0) {
|
|||||||
//$sql.= " UNION ";
|
//$sql.= " UNION ";
|
||||||
// Discount linked to invoices
|
// Discount linked to invoices
|
||||||
$sql2 = "SELECT rc.rowid, rc.amount_ht, rc.amount_tva, rc.amount_ttc, rc.tva_tx, rc.vat_src_code,";
|
$sql2 = "SELECT rc.rowid, rc.amount_ht, rc.amount_tva, rc.amount_ttc, rc.tva_tx, rc.vat_src_code,";
|
||||||
$sql2 .= " rc.datec as dc, rc.description, rc.fk_facture_line, rc.fk_facture,";
|
$sql2 .= " rc.multicurrency_amount_ht, rc.multicurrency_amount_tva, rc.multicurrency_amount_ttc,";
|
||||||
$sql2 .= " rc.fk_facture_source,";
|
$sql2 .= " rc.datec as dc, rc.description, rc.fk_facture, rc.fk_facture_source,";
|
||||||
$sql2 .= " u.login, u.rowid as user_id,";
|
$sql2 .= " u.login, u.rowid as user_id,";
|
||||||
$sql2 .= " f.rowid as invoiceid, f.ref,";
|
$sql2 .= " f.rowid as invoiceid, f.ref,";
|
||||||
$sql2 .= " fa.ref as invoice_source_ref, fa.type as type";
|
$sql2 .= " fa.ref as invoice_source_ref, fa.type as type";
|
||||||
@ -850,7 +850,7 @@ if ($socid > 0) {
|
|||||||
// Discount linked to invoice lines
|
// Discount linked to invoice lines
|
||||||
$sql = "SELECT rc.rowid, rc.amount_ht, rc.amount_tva, rc.amount_ttc, rc.tva_tx, rc.vat_src_code,";
|
$sql = "SELECT rc.rowid, rc.amount_ht, rc.amount_tva, rc.amount_ttc, rc.tva_tx, rc.vat_src_code,";
|
||||||
$sql .= " rc.multicurrency_amount_ht, rc.multicurrency_amount_tva, rc.multicurrency_amount_ttc,";
|
$sql .= " rc.multicurrency_amount_ht, rc.multicurrency_amount_tva, rc.multicurrency_amount_ttc,";
|
||||||
$sql .= " rc.datec as dc, rc.description, rc.fk_invoice_supplier_line, rc.fk_invoice_supplier,";
|
$sql .= " rc.datec as dc, rc.description, rc.fk_invoice_supplier_line,";
|
||||||
$sql .= " rc.fk_invoice_supplier_source,";
|
$sql .= " rc.fk_invoice_supplier_source,";
|
||||||
$sql .= " u.login, u.rowid as user_id,";
|
$sql .= " u.login, u.rowid as user_id,";
|
||||||
$sql .= " f.rowid as invoiceid, f.ref as ref,";
|
$sql .= " f.rowid as invoiceid, f.ref as ref,";
|
||||||
@ -869,7 +869,8 @@ if ($socid > 0) {
|
|||||||
//$sql.= " UNION ";
|
//$sql.= " UNION ";
|
||||||
// Discount linked to invoices
|
// Discount linked to invoices
|
||||||
$sql2 = "SELECT rc.rowid, rc.amount_ht, rc.amount_tva, rc.amount_ttc, rc.tva_tx, rc.vat_src_code,";
|
$sql2 = "SELECT rc.rowid, rc.amount_ht, rc.amount_tva, rc.amount_ttc, rc.tva_tx, rc.vat_src_code,";
|
||||||
$sql2 .= " rc.datec as dc, rc.description, rc.fk_invoice_supplier_line, rc.fk_invoice_supplier,";
|
$sql2 .= " rc.multicurrency_amount_ht, rc.multicurrency_amount_tva, rc.multicurrency_amount_ttc,";
|
||||||
|
$sql2 .= " rc.datec as dc, rc.description, rc.fk_invoice_supplier,";
|
||||||
$sql2 .= " rc.fk_invoice_supplier_source,";
|
$sql2 .= " rc.fk_invoice_supplier_source,";
|
||||||
$sql2 .= " u.login, u.rowid as user_id,";
|
$sql2 .= " u.login, u.rowid as user_id,";
|
||||||
$sql2 .= " f.rowid as invoiceid, f.ref as ref,";
|
$sql2 .= " f.rowid as invoiceid, f.ref as ref,";
|
||||||
|
|||||||
@ -597,9 +597,9 @@ if (empty($reshook)) {
|
|||||||
setEventMessages($object->error, $object->errors, 'errors');
|
setEventMessages($object->error, $object->errors, 'errors');
|
||||||
}
|
}
|
||||||
} elseif ($action == 'setremisepercent' && $usercancreate) {
|
} elseif ($action == 'setremisepercent' && $usercancreate) {
|
||||||
$result = $object->setDiscount($user, price2num(GETPOST('remise_percent'), 2));
|
$result = $object->setDiscount($user, price2num(GETPOST('remise_percent'), '', 2));
|
||||||
} elseif ($action == 'setremiseabsolue' && $usercancreate) {
|
} elseif ($action == 'setremiseabsolue' && $usercancreate) {
|
||||||
$result = $object->set_remise_absolue($user, price2num(GETPOST('remise_absolue'), 'MU'));
|
$result = $object->set_remise_absolue($user, price2num(GETPOST('remise_absolue'), 'MU', 2));
|
||||||
} elseif ($action == 'addline' && GETPOST('submitforalllines', 'alpha') && GETPOST('vatforalllines', 'alpha') !== '') {
|
} elseif ($action == 'addline' && GETPOST('submitforalllines', 'alpha') && GETPOST('vatforalllines', 'alpha') !== '') {
|
||||||
// Define vat_rate
|
// Define vat_rate
|
||||||
$vat_rate = (GETPOST('vatforalllines') ? GETPOST('vatforalllines') : 0);
|
$vat_rate = (GETPOST('vatforalllines') ? GETPOST('vatforalllines') : 0);
|
||||||
@ -629,7 +629,7 @@ if (empty($reshook)) {
|
|||||||
|
|
||||||
$qty = price2num(GETPOST('qty'.$predef, 'alpha'), 'MS');
|
$qty = price2num(GETPOST('qty'.$predef, 'alpha'), 'MS');
|
||||||
|
|
||||||
$remise_percent = (GETPOSTISSET('remise_percent'.$predef) ? price2num(GETPOST('remise_percent'.$predef, 'alpha')) : 0);
|
$remise_percent = (GETPOSTISSET('remise_percent'.$predef) ? price2num(GETPOST('remise_percent'.$predef, 'alpha'), '', 2) : 0);
|
||||||
if (empty($remise_percent)) {
|
if (empty($remise_percent)) {
|
||||||
$remise_percent = 0;
|
$remise_percent = 0;
|
||||||
}
|
}
|
||||||
@ -1019,6 +1019,8 @@ if (empty($reshook)) {
|
|||||||
$special_code = 3;
|
$special_code = 3;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$remise_percent = price2num(GETPOST('remise_percent'), '', 2);
|
||||||
|
|
||||||
// Check minimum price
|
// Check minimum price
|
||||||
$productid = GETPOST('productid', 'int');
|
$productid = GETPOST('productid', 'int');
|
||||||
if (!empty($productid)) {
|
if (!empty($productid)) {
|
||||||
@ -1034,7 +1036,7 @@ if (empty($reshook)) {
|
|||||||
|
|
||||||
$label = ((GETPOST('update_label') && GETPOST('product_label')) ? GETPOST('product_label') : '');
|
$label = ((GETPOST('update_label') && GETPOST('product_label')) ? GETPOST('product_label') : '');
|
||||||
|
|
||||||
if (((!empty($conf->global->MAIN_USE_ADVANCED_PERMS) && empty($user->rights->produit->ignore_price_min_advance)) || empty($conf->global->MAIN_USE_ADVANCED_PERMS)) && ($price_min && (price2num($pu_ht) * (1 - price2num(GETPOST('remise_percent'), 2) / 100) < price2num($price_min)))) {
|
if (((!empty($conf->global->MAIN_USE_ADVANCED_PERMS) && empty($user->rights->produit->ignore_price_min_advance)) || empty($conf->global->MAIN_USE_ADVANCED_PERMS)) && ($price_min && (price2num($pu_ht) * (1 - $remise_percent / 100) < price2num($price_min)))) {
|
||||||
setEventMessages($langs->trans("CantBeLessThanMinPrice", price(price2num($price_min, 'MU'), 0, $langs, 0, 0, - 1, $conf->currency)), null, 'errors');
|
setEventMessages($langs->trans("CantBeLessThanMinPrice", price(price2num($price_min, 'MU'), 0, $langs, 0, 0, - 1, $conf->currency)), null, 'errors');
|
||||||
$error++;
|
$error++;
|
||||||
}
|
}
|
||||||
@ -1059,7 +1061,7 @@ if (empty($reshook)) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
$result = $object->updateline(GETPOST('lineid', 'int'), $description, $pu_ht, price2num(GETPOST('qty'), 'MS'), price2num(GETPOST('remise_percent'), 2), $vat_rate, $localtax1_rate, $localtax2_rate, 'HT', $info_bits, $date_start, $date_end, $type, GETPOST('fk_parent_line'), 0, $fournprice, $buyingprice, $label, $special_code, $array_options, GETPOST('units'), $pu_ht_devise);
|
$result = $object->updateline(GETPOST('lineid', 'int'), $description, $pu_ht, price2num(GETPOST('qty'), 'MS'), $remise_percent, $vat_rate, $localtax1_rate, $localtax2_rate, 'HT', $info_bits, $date_start, $date_end, $type, GETPOST('fk_parent_line'), 0, $fournprice, $buyingprice, $label, $special_code, $array_options, GETPOST('units'), $pu_ht_devise);
|
||||||
|
|
||||||
if ($result >= 0) {
|
if ($result >= 0) {
|
||||||
if (empty($conf->global->MAIN_DISABLE_PDF_AUTOUPDATE)) {
|
if (empty($conf->global->MAIN_DISABLE_PDF_AUTOUPDATE)) {
|
||||||
|
|||||||
@ -717,6 +717,8 @@ class Orders extends DolibarrApi
|
|||||||
throw new RestException(404, 'Order not found');
|
throw new RestException(404, 'Order not found');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$result = $this->commande->fetch_thirdparty(); // do not check result, as failure is not fatal (used only for mail notification substitutes)
|
||||||
|
|
||||||
if (!DolibarrApi::_checkAccessToResource('commande', $this->commande->id)) {
|
if (!DolibarrApi::_checkAccessToResource('commande', $this->commande->id)) {
|
||||||
throw new RestException(401, 'Access not allowed for login '.DolibarrApiAccess::$user->login);
|
throw new RestException(401, 'Access not allowed for login '.DolibarrApiAccess::$user->login);
|
||||||
}
|
}
|
||||||
@ -729,13 +731,6 @@ class Orders extends DolibarrApi
|
|||||||
throw new RestException(500, 'Error when validating Order: '.$this->commande->error);
|
throw new RestException(500, 'Error when validating Order: '.$this->commande->error);
|
||||||
}
|
}
|
||||||
$result = $this->commande->fetch($id);
|
$result = $this->commande->fetch($id);
|
||||||
if (!$result) {
|
|
||||||
throw new RestException(404, 'Order not found');
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!DolibarrApi::_checkAccessToResource('commande', $this->commande->id)) {
|
|
||||||
throw new RestException(401, 'Access not allowed for login '.DolibarrApiAccess::$user->login);
|
|
||||||
}
|
|
||||||
|
|
||||||
$this->commande->fetchObjectLinked();
|
$this->commande->fetchObjectLinked();
|
||||||
|
|
||||||
|
|||||||
@ -429,7 +429,7 @@ $sql .= ' p.rowid as project_id, p.ref as project_ref, p.title as project_label,
|
|||||||
$sql .= ' u.login, u.lastname, u.firstname, u.email, u.statut, u.entity, u.photo, u.office_phone, u.office_fax, u.user_mobile, u.job, u.gender,';
|
$sql .= ' u.login, u.lastname, u.firstname, u.email, u.statut, u.entity, u.photo, u.office_phone, u.office_fax, u.user_mobile, u.job, u.gender,';
|
||||||
$sql .= ' c.fk_cond_reglement,c.fk_mode_reglement,c.fk_shipping_method,';
|
$sql .= ' c.fk_cond_reglement,c.fk_mode_reglement,c.fk_shipping_method,';
|
||||||
$sql .= ' c.fk_input_reason';
|
$sql .= ' c.fk_input_reason';
|
||||||
if ($search_categ_cus) {
|
if (($search_categ_cus > 0) || ($search_categ_cus == -2)) {
|
||||||
$sql .= ", cc.fk_categorie, cc.fk_soc";
|
$sql .= ", cc.fk_categorie, cc.fk_soc";
|
||||||
}
|
}
|
||||||
// Add fields from extrafields
|
// Add fields from extrafields
|
||||||
@ -446,7 +446,7 @@ $sql .= ' FROM '.MAIN_DB_PREFIX.'societe as s';
|
|||||||
$sql .= " LEFT JOIN ".MAIN_DB_PREFIX."c_country as country on (country.rowid = s.fk_pays)";
|
$sql .= " LEFT JOIN ".MAIN_DB_PREFIX."c_country as country on (country.rowid = s.fk_pays)";
|
||||||
$sql .= " LEFT JOIN ".MAIN_DB_PREFIX."c_typent as typent on (typent.id = s.fk_typent)";
|
$sql .= " LEFT JOIN ".MAIN_DB_PREFIX."c_typent as typent on (typent.id = s.fk_typent)";
|
||||||
$sql .= " LEFT JOIN ".MAIN_DB_PREFIX."c_departements as state on (state.rowid = s.fk_departement)";
|
$sql .= " LEFT JOIN ".MAIN_DB_PREFIX."c_departements as state on (state.rowid = s.fk_departement)";
|
||||||
if (!empty($search_categ_cus)) {
|
if (($search_categ_cus > 0) || ($search_categ_cus == -2)) {
|
||||||
$sql .= ' LEFT JOIN '.MAIN_DB_PREFIX."categorie_societe as cc ON s.rowid = cc.fk_soc"; // We'll need this table joined to the select in order to filter by categ
|
$sql .= ' LEFT JOIN '.MAIN_DB_PREFIX."categorie_societe as cc ON s.rowid = cc.fk_soc"; // We'll need this table joined to the select in order to filter by categ
|
||||||
}
|
}
|
||||||
$sql .= ', '.MAIN_DB_PREFIX.'commande as c';
|
$sql .= ', '.MAIN_DB_PREFIX.'commande as c';
|
||||||
@ -793,7 +793,7 @@ if ($resql) {
|
|||||||
if ($search_product_category != '') {
|
if ($search_product_category != '') {
|
||||||
$param .= '&search_product_category='.urlencode($search_product_category);
|
$param .= '&search_product_category='.urlencode($search_product_category);
|
||||||
}
|
}
|
||||||
if ($search_categ_cus > 0) {
|
if (($search_categ_cus > 0) || ($search_categ_cus == -2)) {
|
||||||
$param .= '&search_categ_cus='.urlencode($search_categ_cus);
|
$param .= '&search_categ_cus='.urlencode($search_categ_cus);
|
||||||
}
|
}
|
||||||
if ($show_files) {
|
if ($show_files) {
|
||||||
|
|||||||
@ -433,8 +433,8 @@ if (empty($reshook)) {
|
|||||||
$tva_tx = '';
|
$tva_tx = '';
|
||||||
}
|
}
|
||||||
|
|
||||||
$qty = price2num(GETPOST('qty'.$predef, 'alpha'), 'MS');
|
$qty = price2num(GETPOST('qty'.$predef, 'alpha'), 'MS', 2);
|
||||||
$remise_percent = price2num(GETPOST('remise_percent'.$predef), 2);
|
$remise_percent = price2num(GETPOST('remise_percent'.$predef), '', 2);
|
||||||
|
|
||||||
// Extrafields
|
// Extrafields
|
||||||
$extralabelsline = $extrafields->fetch_name_optionals_label($object->table_element_line);
|
$extralabelsline = $extrafields->fetch_name_optionals_label($object->table_element_line);
|
||||||
@ -781,6 +781,8 @@ if (empty($reshook)) {
|
|||||||
$result = -1;
|
$result = -1;
|
||||||
}*/
|
}*/
|
||||||
|
|
||||||
|
$remise_percent = price2num(GETPOST('remise_percent'), '', 2);
|
||||||
|
|
||||||
// Check minimum price
|
// Check minimum price
|
||||||
$productid = GETPOST('productid', 'int');
|
$productid = GETPOST('productid', 'int');
|
||||||
if (!empty($productid)) {
|
if (!empty($productid)) {
|
||||||
@ -797,7 +799,7 @@ if (empty($reshook)) {
|
|||||||
$label = ((GETPOST('update_label') && GETPOST('product_label')) ? GETPOST('product_label') : '');
|
$label = ((GETPOST('update_label') && GETPOST('product_label')) ? GETPOST('product_label') : '');
|
||||||
|
|
||||||
// Check price is not lower than minimum (check is done only for standard or replacement invoices)
|
// Check price is not lower than minimum (check is done only for standard or replacement invoices)
|
||||||
if (((!empty($conf->global->MAIN_USE_ADVANCED_PERMS) && empty($user->rights->produit->ignore_price_min_advance)) || empty($conf->global->MAIN_USE_ADVANCED_PERMS)) && (($object->type == Facture::TYPE_STANDARD || $object->type == Facture::TYPE_REPLACEMENT) && $price_min && (price2num($pu_ht) * (1 - price2num(GETPOST('remise_percent', 2)) / 100) < price2num($price_min)))) {
|
if (((!empty($conf->global->MAIN_USE_ADVANCED_PERMS) && empty($user->rights->produit->ignore_price_min_advance)) || empty($conf->global->MAIN_USE_ADVANCED_PERMS)) && (($object->type == Facture::TYPE_STANDARD || $object->type == Facture::TYPE_REPLACEMENT) && $price_min && (price2num($pu_ht) * (1 - $remise_percent / 100) < price2num($price_min)))) {
|
||||||
setEventMessages($langs->trans("CantBeLessThanMinPrice", price(price2num($price_min, 'MU'), 0, $langs, 0, 0, - 1, $conf->currency)), null, 'errors');
|
setEventMessages($langs->trans("CantBeLessThanMinPrice", price(price2num($price_min, 'MU'), 0, $langs, 0, 0, - 1, $conf->currency)), null, 'errors');
|
||||||
$error++;
|
$error++;
|
||||||
}
|
}
|
||||||
@ -830,8 +832,8 @@ if (empty($reshook)) {
|
|||||||
$vat_rate,
|
$vat_rate,
|
||||||
$localtax1_rate,
|
$localtax1_rate,
|
||||||
$localtax1_rate,
|
$localtax1_rate,
|
||||||
GETPOST('productid'),
|
GETPOST('productid', 'int'),
|
||||||
price2num(GETPOST('remise_percent'), 2),
|
$remise_percent,
|
||||||
'HT',
|
'HT',
|
||||||
$info_bits,
|
$info_bits,
|
||||||
0,
|
0,
|
||||||
@ -1228,6 +1230,8 @@ if ($action == 'create') {
|
|||||||
}
|
}
|
||||||
$morehtmlref .= '</div>';
|
$morehtmlref .= '</div>';
|
||||||
|
|
||||||
|
$morehtmlright = '';
|
||||||
|
|
||||||
dol_banner_tab($object, 'ref', $linkback, 1, 'title', 'none', $morehtmlref, '', 0, '', $morehtmlright);
|
dol_banner_tab($object, 'ref', $linkback, 1, 'title', 'none', $morehtmlref, '', 0, '', $morehtmlright);
|
||||||
|
|
||||||
print '<div class="fichecenter">';
|
print '<div class="fichecenter">';
|
||||||
|
|||||||
@ -506,7 +506,7 @@ if (empty($reshook)) {
|
|||||||
$result = $object->setBankAccount(GETPOST('fk_account', 'int'));
|
$result = $object->setBankAccount(GETPOST('fk_account', 'int'));
|
||||||
} elseif ($action == 'setremisepercent' && $usercancreate) {
|
} elseif ($action == 'setremisepercent' && $usercancreate) {
|
||||||
$object->fetch($id);
|
$object->fetch($id);
|
||||||
$result = $object->setDiscount($user, price2num(GETPOST('remise_percent'), 2));
|
$result = $object->setDiscount($user, price2num(GETPOST('remise_percent'), '', 2));
|
||||||
} elseif ($action == "setabsolutediscount" && $usercancreate) {
|
} elseif ($action == "setabsolutediscount" && $usercancreate) {
|
||||||
// POST[remise_id] or POST[remise_id_for_payment]
|
// POST[remise_id] or POST[remise_id_for_payment]
|
||||||
|
|
||||||
@ -834,7 +834,7 @@ if (empty($reshook)) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// If some payments were already done, we change the amount to pay using same prorate
|
// If some payments were already done, we change the amount to pay using same prorate
|
||||||
if (!empty($conf->global->INVOICE_ALLOW_REUSE_OF_CREDIT_WHEN_PARTIALLY_REFUNDED)) {
|
if (!empty($conf->global->INVOICE_ALLOW_REUSE_OF_CREDIT_WHEN_PARTIALLY_REFUNDED) && $object->type == Facture::TYPE_CREDIT_NOTE) {
|
||||||
$alreadypaid = $object->getSommePaiement(); // This can be not 0 if we allow to create credit to reuse from credit notes partially refunded.
|
$alreadypaid = $object->getSommePaiement(); // This can be not 0 if we allow to create credit to reuse from credit notes partially refunded.
|
||||||
if ($alreadypaid && abs($alreadypaid) < abs($object->total_ttc)) {
|
if ($alreadypaid && abs($alreadypaid) < abs($object->total_ttc)) {
|
||||||
$ratio = abs(($object->total_ttc - $alreadypaid) / $object->total_ttc);
|
$ratio = abs(($object->total_ttc - $alreadypaid) / $object->total_ttc);
|
||||||
@ -1022,8 +1022,8 @@ if (empty($reshook)) {
|
|||||||
$object->cond_reglement_id = GETPOST('cond_reglement_id', 'int');
|
$object->cond_reglement_id = GETPOST('cond_reglement_id', 'int');
|
||||||
$object->mode_reglement_id = GETPOST('mode_reglement_id', 'int');
|
$object->mode_reglement_id = GETPOST('mode_reglement_id', 'int');
|
||||||
$object->fk_account = GETPOST('fk_account', 'int');
|
$object->fk_account = GETPOST('fk_account', 'int');
|
||||||
$object->remise_absolue = price2num(GETPOST('remise_absolue'), 'MU');
|
$object->remise_absolue = price2num(GETPOST('remise_absolue'), 'MU', 2);
|
||||||
$object->remise_percent = price2num(GETPOST('remise_percent'), 2);
|
$object->remise_percent = price2num(GETPOST('remise_percent'), '', 2);
|
||||||
$object->fk_incoterms = GETPOST('incoterm_id', 'int');
|
$object->fk_incoterms = GETPOST('incoterm_id', 'int');
|
||||||
$object->location_incoterms = GETPOST('location_incoterms', 'alpha');
|
$object->location_incoterms = GETPOST('location_incoterms', 'alpha');
|
||||||
$object->multicurrency_code = GETPOST('multicurrency_code', 'alpha');
|
$object->multicurrency_code = GETPOST('multicurrency_code', 'alpha');
|
||||||
@ -1079,7 +1079,7 @@ if (empty($reshook)) {
|
|||||||
$object->mode_reglement_id = GETPOST('mode_reglement_id', 'int');
|
$object->mode_reglement_id = GETPOST('mode_reglement_id', 'int');
|
||||||
$object->fk_account = GETPOST('fk_account', 'int');
|
$object->fk_account = GETPOST('fk_account', 'int');
|
||||||
$object->remise_absolue = price2num(GETPOST('remise_absolue'), 'MU');
|
$object->remise_absolue = price2num(GETPOST('remise_absolue'), 'MU');
|
||||||
$object->remise_percent = price2num(GETPOST('remise_percent'), 2);
|
$object->remise_percent = price2num(GETPOST('remise_percent'), '', 2);
|
||||||
$object->fk_incoterms = GETPOST('incoterm_id', 'int');
|
$object->fk_incoterms = GETPOST('incoterm_id', 'int');
|
||||||
$object->location_incoterms = GETPOST('location_incoterms', 'alpha');
|
$object->location_incoterms = GETPOST('location_incoterms', 'alpha');
|
||||||
$object->multicurrency_code = GETPOST('multicurrency_code', 'alpha');
|
$object->multicurrency_code = GETPOST('multicurrency_code', 'alpha');
|
||||||
@ -1294,7 +1294,7 @@ if (empty($reshook)) {
|
|||||||
$object->fk_account = GETPOST('fk_account', 'int');
|
$object->fk_account = GETPOST('fk_account', 'int');
|
||||||
$object->amount = price2num(GETPOST('amount'));
|
$object->amount = price2num(GETPOST('amount'));
|
||||||
$object->remise_absolue = price2num(GETPOST('remise_absolue'), 'MU');
|
$object->remise_absolue = price2num(GETPOST('remise_absolue'), 'MU');
|
||||||
$object->remise_percent = price2num(GETPOST('remise_percent'), 2);
|
$object->remise_percent = price2num(GETPOST('remise_percent'), '', 2);
|
||||||
$object->fk_incoterms = GETPOST('incoterm_id', 'int');
|
$object->fk_incoterms = GETPOST('incoterm_id', 'int');
|
||||||
$object->location_incoterms = GETPOST('location_incoterms', 'alpha');
|
$object->location_incoterms = GETPOST('location_incoterms', 'alpha');
|
||||||
$object->multicurrency_code = GETPOST('multicurrency_code', 'alpha');
|
$object->multicurrency_code = GETPOST('multicurrency_code', 'alpha');
|
||||||
@ -1375,7 +1375,7 @@ if (empty($reshook)) {
|
|||||||
$object->fk_account = GETPOST('fk_account', 'int');
|
$object->fk_account = GETPOST('fk_account', 'int');
|
||||||
$object->amount = price2num(GETPOST('amount'));
|
$object->amount = price2num(GETPOST('amount'));
|
||||||
$object->remise_absolue = price2num(GETPOST('remise_absolue'), 'MU');
|
$object->remise_absolue = price2num(GETPOST('remise_absolue'), 'MU');
|
||||||
$object->remise_percent = price2num(GETPOST('remise_percent'), 2);
|
$object->remise_percent = price2num(GETPOST('remise_percent'), '', 2);
|
||||||
$object->fk_incoterms = GETPOST('incoterm_id', 'int');
|
$object->fk_incoterms = GETPOST('incoterm_id', 'int');
|
||||||
$object->location_incoterms = GETPOST('location_incoterms', 'alpha');
|
$object->location_incoterms = GETPOST('location_incoterms', 'alpha');
|
||||||
$object->multicurrency_code = GETPOST('multicurrency_code', 'alpha');
|
$object->multicurrency_code = GETPOST('multicurrency_code', 'alpha');
|
||||||
@ -1798,7 +1798,7 @@ if (empty($reshook)) {
|
|||||||
$product->fetch(GETPOST('idprod'.$i, 'int'));
|
$product->fetch(GETPOST('idprod'.$i, 'int'));
|
||||||
$startday = dol_mktime(12, 0, 0, GETPOST('date_start'.$i.'month'), GETPOST('date_start'.$i.'day'), GETPOST('date_start'.$i.'year'));
|
$startday = dol_mktime(12, 0, 0, GETPOST('date_start'.$i.'month'), GETPOST('date_start'.$i.'day'), GETPOST('date_start'.$i.'year'));
|
||||||
$endday = dol_mktime(12, 0, 0, GETPOST('date_end'.$i.'month'), GETPOST('date_end'.$i.'day'), GETPOST('date_end'.$i.'year'));
|
$endday = dol_mktime(12, 0, 0, GETPOST('date_end'.$i.'month'), GETPOST('date_end'.$i.'day'), GETPOST('date_end'.$i.'year'));
|
||||||
$result = $object->addline($product->description, $product->price, price2num(GETPOST('qty'.$i), 'MS'), $product->tva_tx, $product->localtax1_tx, $product->localtax2_tx, GETPOST('idprod'.$i, 'int'), price2num(GETPOST('remise_percent'.$i)), $startday, $endday, 0, 0, '', $product->price_base_type, $product->price_ttc, $product->type, -1, 0, '', 0, 0, null, 0, '', 0, 100, '', $product->fk_unit);
|
$result = $object->addline($product->description, $product->price, price2num(GETPOST('qty'.$i), 'MS'), $product->tva_tx, $product->localtax1_tx, $product->localtax2_tx, GETPOST('idprod'.$i, 'int'), price2num(GETPOST('remise_percent'.$i), '', 2), $startday, $endday, 0, 0, '', $product->price_base_type, $product->price_ttc, $product->type, -1, 0, '', 0, 0, null, 0, '', 0, 100, '', $product->fk_unit);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1899,8 +1899,8 @@ if (empty($reshook)) {
|
|||||||
$object->fk_project = GETPOST('projectid', 'int');
|
$object->fk_project = GETPOST('projectid', 'int');
|
||||||
$object->cond_reglement_id = GETPOST('cond_reglement_id', 'int');
|
$object->cond_reglement_id = GETPOST('cond_reglement_id', 'int');
|
||||||
$object->mode_reglement_id = GETPOST('mode_reglement_id', 'int');
|
$object->mode_reglement_id = GETPOST('mode_reglement_id', 'int');
|
||||||
$object->remise_absolue =price2num(GETPOST('remise_absolue'), 'MU');
|
$object->remise_absolue =price2num(GETPOST('remise_absolue'), 'MU', 2);
|
||||||
$object->remise_percent = price2num(GETPOST('remise_percent'), 2);
|
$object->remise_percent = price2num(GETPOST('remise_percent'), '', 2);
|
||||||
|
|
||||||
// Proprietes particulieres a facture de remplacement
|
// Proprietes particulieres a facture de remplacement
|
||||||
|
|
||||||
@ -1986,8 +1986,8 @@ if (empty($reshook)) {
|
|||||||
$tva_tx = '';
|
$tva_tx = '';
|
||||||
}
|
}
|
||||||
|
|
||||||
$qty = price2num(GETPOST('qty'.$predef), 'MS');
|
$qty = price2num(GETPOST('qty'.$predef), 'MS', 2);
|
||||||
$remise_percent = price2num(GETPOST('remise_percent'.$predef), 2);
|
$remise_percent = price2num(GETPOST('remise_percent'.$predef), '', 2);
|
||||||
|
|
||||||
// Extrafields
|
// Extrafields
|
||||||
$extralabelsline = $extrafields->fetch_name_optionals_label($object->table_element_line);
|
$extralabelsline = $extrafields->fetch_name_optionals_label($object->table_element_line);
|
||||||
@ -2389,6 +2389,8 @@ if (empty($reshook)) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$remise_percent = price2num(GETPOST('remise_percent'), '', 2);
|
||||||
|
|
||||||
// Check minimum price
|
// Check minimum price
|
||||||
$productid = GETPOST('productid', 'int');
|
$productid = GETPOST('productid', 'int');
|
||||||
if (!empty($productid)) {
|
if (!empty($productid)) {
|
||||||
@ -2405,7 +2407,7 @@ if (empty($reshook)) {
|
|||||||
$label = ((GETPOST('update_label') && GETPOST('product_label')) ? GETPOST('product_label') : '');
|
$label = ((GETPOST('update_label') && GETPOST('product_label')) ? GETPOST('product_label') : '');
|
||||||
|
|
||||||
// Check price is not lower than minimum (check is done only for standard or replacement invoices)
|
// Check price is not lower than minimum (check is done only for standard or replacement invoices)
|
||||||
if ($usercanproductignorepricemin && (($object->type == Facture::TYPE_STANDARD || $object->type == Facture::TYPE_REPLACEMENT) && $price_min && (price2num($pu_ht) * (1 - price2num(GETPOST('remise_percent'), 2) / 100) < price2num($price_min)))) {
|
if ($usercanproductignorepricemin && (($object->type == Facture::TYPE_STANDARD || $object->type == Facture::TYPE_REPLACEMENT) && $price_min && (price2num($pu_ht) * (1 - $remise_percent / 100) < price2num($price_min)))) {
|
||||||
setEventMessages($langs->trans("CantBeLessThanMinPrice", price(price2num($price_min, 'MU'), 0, $langs, 0, 0, - 1, $conf->currency)), null, 'errors');
|
setEventMessages($langs->trans("CantBeLessThanMinPrice", price(price2num($price_min, 'MU'), 0, $langs, 0, 0, - 1, $conf->currency)), null, 'errors');
|
||||||
$error++;
|
$error++;
|
||||||
}
|
}
|
||||||
@ -2458,7 +2460,7 @@ if (empty($reshook)) {
|
|||||||
$description,
|
$description,
|
||||||
$pu_ht,
|
$pu_ht,
|
||||||
$qty,
|
$qty,
|
||||||
price2num(GETPOST('remise_percent'), 2),
|
$remise_percent,
|
||||||
$date_start,
|
$date_start,
|
||||||
$date_end,
|
$date_end,
|
||||||
$vat_rate,
|
$vat_rate,
|
||||||
|
|||||||
@ -678,8 +678,8 @@ class Facture extends CommonInvoice
|
|||||||
$sql .= ", ".($this->fk_facture_source ? "'".$this->db->escape($this->fk_facture_source)."'" : "null");
|
$sql .= ", ".($this->fk_facture_source ? "'".$this->db->escape($this->fk_facture_source)."'" : "null");
|
||||||
$sql .= ", ".($user->id > 0 ? (int) $user->id : "null");
|
$sql .= ", ".($user->id > 0 ? (int) $user->id : "null");
|
||||||
$sql .= ", ".($this->fk_project ? $this->fk_project : "null");
|
$sql .= ", ".($this->fk_project ? $this->fk_project : "null");
|
||||||
$sql .= ", ".$this->cond_reglement_id;
|
$sql .= ", ".((int) $this->cond_reglement_id);
|
||||||
$sql .= ", ".$this->mode_reglement_id;
|
$sql .= ", ".((int) $this->mode_reglement_id);
|
||||||
$sql .= ", '".$this->db->idate($this->date_lim_reglement)."'";
|
$sql .= ", '".$this->db->idate($this->date_lim_reglement)."'";
|
||||||
$sql .= ", ".(isset($this->model_pdf) ? "'".$this->db->escape($this->model_pdf)."'" : "null");
|
$sql .= ", ".(isset($this->model_pdf) ? "'".$this->db->escape($this->model_pdf)."'" : "null");
|
||||||
$sql .= ", ".($this->situation_cycle_ref ? "'".$this->db->escape($this->situation_cycle_ref)."'" : "null");
|
$sql .= ", ".($this->situation_cycle_ref ? "'".$this->db->escape($this->situation_cycle_ref)."'" : "null");
|
||||||
|
|||||||
@ -95,7 +95,9 @@ if (empty($reshook)) {
|
|||||||
require_once DOL_DOCUMENT_ROOT.'/compta/bank/class/account.class.php';
|
require_once DOL_DOCUMENT_ROOT.'/compta/bank/class/account.class.php';
|
||||||
$bank = new Account($db);
|
$bank = new Account($db);
|
||||||
$bank->fetch($conf->global->{$default_account});
|
$bank->fetch($conf->global->{$default_account});
|
||||||
if (empty($bank->ics) || empty($bank->ics_transfer)) {
|
if ((empty($bank->ics) && $type !== 'bank-transfer')
|
||||||
|
|| (empty($bank->ics_transfer) && $type === 'bank-transfer')
|
||||||
|
) {
|
||||||
$errormessage = str_replace('{url}', $bank->getNomUrl(1, '', '', -1, 1), $langs->trans("ErrorICSmissing", '{url}'));
|
$errormessage = str_replace('{url}', $bank->getNomUrl(1, '', '', -1, 1), $langs->trans("ErrorICSmissing", '{url}'));
|
||||||
setEventMessages($errormessage, null, 'errors');
|
setEventMessages($errormessage, null, 'errors');
|
||||||
header("Location: ".DOL_URL_ROOT.'/compta/prelevement/create.php');
|
header("Location: ".DOL_URL_ROOT.'/compta/prelevement/create.php');
|
||||||
|
|||||||
@ -437,7 +437,7 @@ if ($action == 'create') {
|
|||||||
print '<tr><td colspan="2"><hr></td></tr>';
|
print '<tr><td colspan="2"><hr></td></tr>';
|
||||||
|
|
||||||
// Auto create payment
|
// Auto create payment
|
||||||
print '<tr><td>'.$langs->trans('AutomaticCreationPayment').'</td>';
|
print '<tr><td><label for="auto_create_paiement">'.$langs->trans('AutomaticCreationPayment').'</label></td>';
|
||||||
print '<td><input id="auto_create_paiement" name="auto_create_paiement" type="checkbox" ' . (empty($auto_create_payment) ? '' : 'checked="checked"') . ' value="1"></td></tr>'."\n";
|
print '<td><input id="auto_create_paiement" name="auto_create_paiement" type="checkbox" ' . (empty($auto_create_payment) ? '' : 'checked="checked"') . ' value="1"></td></tr>'."\n";
|
||||||
|
|
||||||
print '<tr class="hide_if_no_auto_create_payment">';
|
print '<tr class="hide_if_no_auto_create_payment">';
|
||||||
|
|||||||
@ -225,7 +225,7 @@ if (empty($reshook)) {
|
|||||||
$action = 'create';
|
$action = 'create';
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!empty($conf->mailing->enabled) && $conf->global->MAILING_CONTACT_DEFAULT_BULK_STATUS == -1 && $object->no_email == -1 && !empty($object->email)) {
|
if (!empty($conf->mailing->enabled) && $conf->global->MAILING_CONTACT_DEFAULT_BULK_STATUS == 2 && $object->no_email == -1 && !empty($object->email)) {
|
||||||
$error++;
|
$error++;
|
||||||
$errors[] = $langs->trans("ErrorFieldRequired", $langs->transnoentities("No_Email"));
|
$errors[] = $langs->trans("ErrorFieldRequired", $langs->transnoentities("No_Email"));
|
||||||
$action = 'create';
|
$action = 'create';
|
||||||
@ -317,7 +317,7 @@ if (empty($reshook)) {
|
|||||||
$action = 'edit';
|
$action = 'edit';
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!empty($conf->mailing->enabled) && $conf->global->MAILING_CONTACT_DEFAULT_BULK_STATUS == -1 && GETPOST("no_email", "int") == -1 && !empty(GETPOST('email', 'custom', 0, FILTER_SANITIZE_EMAIL))) {
|
if (!empty($conf->mailing->enabled) && $conf->global->MAILING_CONTACT_DEFAULT_BULK_STATUS == 2 && GETPOST("no_email", "int") == -1 && !empty(GETPOST('email', 'custom', 0, FILTER_SANITIZE_EMAIL))) {
|
||||||
$error++;
|
$error++;
|
||||||
$errors[] = $langs->trans("ErrorFieldRequired", $langs->transnoentities("No_Email"));
|
$errors[] = $langs->trans("ErrorFieldRequired", $langs->transnoentities("No_Email"));
|
||||||
$action = 'edit';
|
$action = 'edit';
|
||||||
@ -780,7 +780,7 @@ if (is_object($objcanvas) && $objcanvas->displayCanvasExists($action)) {
|
|||||||
|
|
||||||
// Unsubscribe
|
// Unsubscribe
|
||||||
if (!empty($conf->mailing->enabled)) {
|
if (!empty($conf->mailing->enabled)) {
|
||||||
if ($conf->use_javascript_ajax && $conf->global->MAILING_CONTACT_DEFAULT_BULK_STATUS == -1) {
|
if ($conf->use_javascript_ajax && $conf->global->MAILING_CONTACT_DEFAULT_BULK_STATUS == 2) {
|
||||||
print "\n".'<script type="text/javascript" language="javascript">'."\n";
|
print "\n".'<script type="text/javascript" language="javascript">'."\n";
|
||||||
print '$(document).ready(function () {
|
print '$(document).ready(function () {
|
||||||
$("#email").keyup(function() {
|
$("#email").keyup(function() {
|
||||||
@ -801,7 +801,7 @@ if (is_object($objcanvas) && $objcanvas->displayCanvasExists($action)) {
|
|||||||
}
|
}
|
||||||
print '<tr>';
|
print '<tr>';
|
||||||
print '<td class="noemail"><label for="no_email">'.$langs->trans("No_Email").'</label></td>';
|
print '<td class="noemail"><label for="no_email">'.$langs->trans("No_Email").'</label></td>';
|
||||||
print '<td>'.$form->selectyesno('no_email', (GETPOSTISSET("no_email") ? GETPOST("no_email", 'int') : $conf->global->MAILING_CONTACT_DEFAULT_BULK_STATUS), 1, false, ($conf->global->MAILING_CONTACT_DEFAULT_BULK_STATUS == -1)).'</td>';
|
print '<td>'.$form->selectyesno('no_email', (GETPOSTISSET("no_email") ? GETPOST("no_email", 'int') : $conf->global->MAILING_CONTACT_DEFAULT_BULK_STATUS), 1, false, ($conf->global->MAILING_CONTACT_DEFAULT_BULK_STATUS == 2)).'</td>';
|
||||||
print '</tr>';
|
print '</tr>';
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1060,7 +1060,7 @@ if (is_object($objcanvas) && $objcanvas->displayCanvasExists($action)) {
|
|||||||
|
|
||||||
// Unsubscribe
|
// Unsubscribe
|
||||||
if (!empty($conf->mailing->enabled)) {
|
if (!empty($conf->mailing->enabled)) {
|
||||||
if ($conf->use_javascript_ajax && isset($conf->global->MAILING_CONTACT_DEFAULT_BULK_STATUS) && $conf->global->MAILING_CONTACT_DEFAULT_BULK_STATUS == -1) {
|
if ($conf->use_javascript_ajax && isset($conf->global->MAILING_CONTACT_DEFAULT_BULK_STATUS) && $conf->global->MAILING_CONTACT_DEFAULT_BULK_STATUS == 2) {
|
||||||
print "\n".'<script type="text/javascript" language="javascript">'."\n";
|
print "\n".'<script type="text/javascript" language="javascript">'."\n";
|
||||||
|
|
||||||
print '
|
print '
|
||||||
@ -1087,7 +1087,7 @@ if (is_object($objcanvas) && $objcanvas->displayCanvasExists($action)) {
|
|||||||
}
|
}
|
||||||
print '<tr>';
|
print '<tr>';
|
||||||
print '<td class="noemail"><label for="no_email">'.$langs->trans("No_Email").'</label></td>';
|
print '<td class="noemail"><label for="no_email">'.$langs->trans("No_Email").'</label></td>';
|
||||||
$useempty = (isset($conf->global->MAILING_CONTACT_DEFAULT_BULK_STATUS) && ($conf->global->MAILING_CONTACT_DEFAULT_BULK_STATUS == -1));
|
$useempty = (isset($conf->global->MAILING_CONTACT_DEFAULT_BULK_STATUS) && ($conf->global->MAILING_CONTACT_DEFAULT_BULK_STATUS == 2));
|
||||||
print '<td>'.$form->selectyesno('no_email', (GETPOSTISSET("no_email") ? GETPOST("no_email", 'int') : $object->no_email), 1, false, $useempty).'</td>';
|
print '<td>'.$form->selectyesno('no_email', (GETPOSTISSET("no_email") ? GETPOST("no_email", 'int') : $object->no_email), 1, false, $useempty).'</td>';
|
||||||
print '</tr>';
|
print '</tr>';
|
||||||
}
|
}
|
||||||
@ -1164,25 +1164,25 @@ if (is_object($objcanvas) && $objcanvas->displayCanvasExists($action)) {
|
|||||||
|
|
||||||
if (!empty($conf->commande->enabled)) {
|
if (!empty($conf->commande->enabled)) {
|
||||||
print '<tr><td>'.$langs->trans("ContactForOrders").'</td><td colspan="3">';
|
print '<tr><td>'.$langs->trans("ContactForOrders").'</td><td colspan="3">';
|
||||||
print $object->ref_commande ? $object->ref_commande : $langs->trans("NoContactForAnyOrder");
|
print $object->ref_commande ? $object->ref_commande : ('<span class="opacitymedium">'.$langs->trans("NoContactForAnyOrder").'</span>');
|
||||||
print '</td></tr>';
|
print '</td></tr>';
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!empty($conf->propal->enabled)) {
|
if (!empty($conf->propal->enabled)) {
|
||||||
print '<tr><td>'.$langs->trans("ContactForProposals").'</td><td colspan="3">';
|
print '<tr><td>'.$langs->trans("ContactForProposals").'</td><td colspan="3">';
|
||||||
print $object->ref_propal ? $object->ref_propal : $langs->trans("NoContactForAnyProposal");
|
print $object->ref_propal ? $object->ref_propal : ('<span class="opacitymedium">'.$langs->trans("NoContactForAnyProposal").'</span>');
|
||||||
print '</td></tr>';
|
print '</td></tr>';
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!empty($conf->contrat->enabled)) {
|
if (!empty($conf->contrat->enabled)) {
|
||||||
print '<tr><td>'.$langs->trans("ContactForContracts").'</td><td colspan="3">';
|
print '<tr><td>'.$langs->trans("ContactForContracts").'</td><td colspan="3">';
|
||||||
print $object->ref_contrat ? $object->ref_contrat : $langs->trans("NoContactForAnyContract");
|
print $object->ref_contrat ? $object->ref_contrat : ('<span class="opacitymedium">'.$langs->trans("NoContactForAnyContract").'</span>');
|
||||||
print '</td></tr>';
|
print '</td></tr>';
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!empty($conf->facture->enabled)) {
|
if (!empty($conf->facture->enabled)) {
|
||||||
print '<tr><td>'.$langs->trans("ContactForInvoices").'</td><td colspan="3">';
|
print '<tr><td>'.$langs->trans("ContactForInvoices").'</td><td colspan="3">';
|
||||||
print $object->ref_facturation ? $object->ref_facturation : $langs->trans("NoContactForAnyInvoice");
|
print $object->ref_facturation ? $object->ref_facturation : ('<span class="opacitymedium">'.$langs->trans("NoContactForAnyInvoice").'</span>');
|
||||||
print '</td></tr>';
|
print '</td></tr>';
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1193,7 +1193,7 @@ if (is_object($objcanvas) && $objcanvas->displayCanvasExists($action)) {
|
|||||||
$result = $dolibarr_user->fetch($object->user_id);
|
$result = $dolibarr_user->fetch($object->user_id);
|
||||||
print $dolibarr_user->getLoginUrl(1);
|
print $dolibarr_user->getLoginUrl(1);
|
||||||
} else {
|
} else {
|
||||||
print $langs->trans("NoDolibarrAccess");
|
print '<span class="opacitymedium">'.$langs->trans("NoDolibarrAccess").'</span>';
|
||||||
}
|
}
|
||||||
print '</td></tr>';
|
print '</td></tr>';
|
||||||
|
|
||||||
|
|||||||
@ -90,21 +90,19 @@ class Contact extends CommonObject
|
|||||||
*/
|
*/
|
||||||
public $fields = array(
|
public $fields = array(
|
||||||
'rowid' =>array('type'=>'integer', 'label'=>'TechnicalID', 'enabled'=>1, 'visible'=>-1, 'notnull'=>1, 'position'=>10),
|
'rowid' =>array('type'=>'integer', 'label'=>'TechnicalID', 'enabled'=>1, 'visible'=>-1, 'notnull'=>1, 'position'=>10),
|
||||||
'datec' =>array('type'=>'datetime', 'label'=>'DateCreation', 'enabled'=>1, 'visible'=>-1, 'position'=>15),
|
|
||||||
'tms' =>array('type'=>'timestamp', 'label'=>'DateModification', 'enabled'=>1, 'visible'=>-1, 'notnull'=>1, 'position'=>20),
|
|
||||||
'fk_soc' =>array('type'=>'integer', 'label'=>'ThirdParty', 'enabled'=>1, 'visible'=>1, 'position'=>25, 'searchall'=>1),
|
|
||||||
'entity' =>array('type'=>'integer', 'label'=>'Entity', 'default'=>1, 'enabled'=>1, 'visible'=>3, 'notnull'=>1, 'position'=>30, 'index'=>1),
|
'entity' =>array('type'=>'integer', 'label'=>'Entity', 'default'=>1, 'enabled'=>1, 'visible'=>3, 'notnull'=>1, 'position'=>30, 'index'=>1),
|
||||||
'ref_ext' =>array('type'=>'varchar(255)', 'label'=>'Ref ext', 'enabled'=>1, 'visible'=>3, 'position'=>35),
|
'ref_ext' =>array('type'=>'varchar(255)', 'label'=>'Ref ext', 'enabled'=>1, 'visible'=>3, 'position'=>35),
|
||||||
'civility' =>array('type'=>'varchar(6)', 'label'=>'Civility', 'enabled'=>1, 'visible'=>3, 'position'=>40),
|
'civility' =>array('type'=>'varchar(6)', 'label'=>'Civility', 'enabled'=>1, 'visible'=>3, 'position'=>40),
|
||||||
'lastname' =>array('type'=>'varchar(50)', 'label'=>'Lastname', 'enabled'=>1, 'visible'=>1, 'position'=>45, 'showoncombobox'=>1, 'searchall'=>1),
|
'lastname' =>array('type'=>'varchar(50)', 'label'=>'Lastname', 'enabled'=>1, 'visible'=>1, 'position'=>45, 'showoncombobox'=>1, 'searchall'=>1),
|
||||||
'firstname' =>array('type'=>'varchar(50)', 'label'=>'Firstname', 'enabled'=>1, 'visible'=>1, 'position'=>50, 'showoncombobox'=>1, 'searchall'=>1),
|
'firstname' =>array('type'=>'varchar(50)', 'label'=>'Firstname', 'enabled'=>1, 'visible'=>1, 'position'=>50, 'showoncombobox'=>1, 'searchall'=>1),
|
||||||
|
'poste' =>array('type'=>'varchar(80)', 'label'=>'PostOrFunction', 'enabled'=>1, 'visible'=>-1, 'position'=>52),
|
||||||
'address' =>array('type'=>'varchar(255)', 'label'=>'Address', 'enabled'=>1, 'visible'=>-1, 'position'=>55),
|
'address' =>array('type'=>'varchar(255)', 'label'=>'Address', 'enabled'=>1, 'visible'=>-1, 'position'=>55),
|
||||||
'zip' =>array('type'=>'varchar(25)', 'label'=>'Zip', 'enabled'=>1, 'visible'=>1, 'position'=>60),
|
'zip' =>array('type'=>'varchar(25)', 'label'=>'Zip', 'enabled'=>1, 'visible'=>1, 'position'=>60),
|
||||||
'town' =>array('type'=>'text', 'label'=>'Town', 'enabled'=>1, 'visible'=>-1, 'position'=>65),
|
'town' =>array('type'=>'text', 'label'=>'Town', 'enabled'=>1, 'visible'=>-1, 'position'=>65),
|
||||||
'fk_departement' =>array('type'=>'integer', 'label'=>'Fk departement', 'enabled'=>1, 'visible'=>3, 'position'=>70),
|
'fk_departement' =>array('type'=>'integer', 'label'=>'Fk departement', 'enabled'=>1, 'visible'=>3, 'position'=>70),
|
||||||
'fk_pays' =>array('type'=>'integer', 'label'=>'Fk pays', 'enabled'=>1, 'visible'=>3, 'position'=>75),
|
'fk_pays' =>array('type'=>'integer', 'label'=>'Fk pays', 'enabled'=>1, 'visible'=>3, 'position'=>75),
|
||||||
|
'fk_soc' =>array('type'=>'integer', 'label'=>'ThirdParty', 'enabled'=>1, 'visible'=>1, 'position'=>77, 'searchall'=>1),
|
||||||
'birthday' =>array('type'=>'date', 'label'=>'Birthday', 'enabled'=>1, 'visible'=>3, 'position'=>80),
|
'birthday' =>array('type'=>'date', 'label'=>'Birthday', 'enabled'=>1, 'visible'=>3, 'position'=>80),
|
||||||
'poste' =>array('type'=>'varchar(80)', 'label'=>'PostOrFunction', 'enabled'=>1, 'visible'=>-1, 'position'=>85),
|
|
||||||
'phone' =>array('type'=>'varchar(30)', 'label'=>'Phone', 'enabled'=>1, 'visible'=>1, 'position'=>90, 'searchall'=>1),
|
'phone' =>array('type'=>'varchar(30)', 'label'=>'Phone', 'enabled'=>1, 'visible'=>1, 'position'=>90, 'searchall'=>1),
|
||||||
'phone_perso' =>array('type'=>'varchar(30)', 'label'=>'PhonePerso', 'enabled'=>1, 'visible'=>-1, 'position'=>95, 'searchall'=>1),
|
'phone_perso' =>array('type'=>'varchar(30)', 'label'=>'PhonePerso', 'enabled'=>1, 'visible'=>-1, 'position'=>95, 'searchall'=>1),
|
||||||
'phone_mobile' =>array('type'=>'varchar(30)', 'label'=>'PhoneMobile', 'enabled'=>1, 'visible'=>1, 'position'=>100, 'searchall'=>1),
|
'phone_mobile' =>array('type'=>'varchar(30)', 'label'=>'PhoneMobile', 'enabled'=>1, 'visible'=>1, 'position'=>100, 'searchall'=>1),
|
||||||
@ -113,15 +111,17 @@ class Contact extends CommonObject
|
|||||||
'socialnetworks' =>array('type'=>'text', 'label'=>'SocialNetworks', 'enabled'=>1, 'visible'=>3, 'position'=>115),
|
'socialnetworks' =>array('type'=>'text', 'label'=>'SocialNetworks', 'enabled'=>1, 'visible'=>3, 'position'=>115),
|
||||||
'photo' =>array('type'=>'varchar(255)', 'label'=>'Photo', 'enabled'=>1, 'visible'=>3, 'position'=>170),
|
'photo' =>array('type'=>'varchar(255)', 'label'=>'Photo', 'enabled'=>1, 'visible'=>3, 'position'=>170),
|
||||||
'priv' =>array('type'=>'smallint(6)', 'label'=>'ContactVisibility', 'enabled'=>1, 'visible'=>1, 'notnull'=>1, 'position'=>175),
|
'priv' =>array('type'=>'smallint(6)', 'label'=>'ContactVisibility', 'enabled'=>1, 'visible'=>1, 'notnull'=>1, 'position'=>175),
|
||||||
'fk_stcommcontact' =>array('type'=>'integer', 'label'=>'Fk stcommcontact', 'enabled'=>1, 'visible'=>-1, 'notnull'=>1, 'position'=>220),
|
'fk_stcommcontact' =>array('type'=>'integer', 'label'=>'ProspectStatus', 'enabled'=>1, 'visible'=>-1, 'notnull'=>1, 'position'=>220),
|
||||||
'fk_prospectlevel' =>array('type'=>'varchar(12)', 'label'=>'ProspectLevel', 'enabled'=>1, 'visible'=>-1, 'position'=>255),
|
'fk_prospectlevel' =>array('type'=>'varchar(12)', 'label'=>'ProspectLevel', 'enabled'=>1, 'visible'=>-1, 'position'=>255),
|
||||||
'no_email' =>array('type'=>'smallint(6)', 'label'=>'No_Email', 'enabled'=>1, 'visible'=>-1, 'notnull'=>1, 'position'=>180),
|
'no_email' =>array('type'=>'smallint(6)', 'label'=>'No_Email', 'enabled'=>1, 'visible'=>-1, 'notnull'=>1, 'position'=>180),
|
||||||
'fk_user_creat' =>array('type'=>'integer', 'label'=>'UserAuthor', 'enabled'=>1, 'visible'=>3, 'position'=>185),
|
|
||||||
'fk_user_modif' =>array('type'=>'integer', 'label'=>'UserModif', 'enabled'=>1, 'visible'=>3, 'position'=>190),
|
|
||||||
'note_private' =>array('type'=>'text', 'label'=>'NotePrivate', 'enabled'=>1, 'visible'=>3, 'position'=>195, 'searchall'=>1),
|
'note_private' =>array('type'=>'text', 'label'=>'NotePrivate', 'enabled'=>1, 'visible'=>3, 'position'=>195, 'searchall'=>1),
|
||||||
'note_public' =>array('type'=>'text', 'label'=>'NotePublic', 'enabled'=>1, 'visible'=>3, 'position'=>200, 'searchall'=>1),
|
'note_public' =>array('type'=>'text', 'label'=>'NotePublic', 'enabled'=>1, 'visible'=>3, 'position'=>200, 'searchall'=>1),
|
||||||
'default_lang' =>array('type'=>'varchar(6)', 'label'=>'Default lang', 'enabled'=>1, 'visible'=>3, 'position'=>205),
|
'default_lang' =>array('type'=>'varchar(6)', 'label'=>'Default lang', 'enabled'=>1, 'visible'=>3, 'position'=>205),
|
||||||
'canvas' =>array('type'=>'varchar(32)', 'label'=>'Canvas', 'enabled'=>1, 'visible'=>3, 'position'=>210),
|
'canvas' =>array('type'=>'varchar(32)', 'label'=>'Canvas', 'enabled'=>1, 'visible'=>3, 'position'=>210),
|
||||||
|
'datec' =>array('type'=>'datetime', 'label'=>'DateCreation', 'enabled'=>1, 'visible'=>-1, 'position'=>300),
|
||||||
|
'tms' =>array('type'=>'timestamp', 'label'=>'DateModification', 'enabled'=>1, 'visible'=>-1, 'notnull'=>1, 'position'=>305),
|
||||||
|
'fk_user_creat' =>array('type'=>'integer', 'label'=>'UserAuthor', 'enabled'=>1, 'visible'=>3, 'position'=>310),
|
||||||
|
'fk_user_modif' =>array('type'=>'integer', 'label'=>'UserModif', 'enabled'=>1, 'visible'=>3, 'position'=>315),
|
||||||
'statut' =>array('type'=>'tinyint(4)', 'label'=>'Status', 'enabled'=>1, 'visible'=>1, 'notnull'=>1, 'position'=>500),
|
'statut' =>array('type'=>'tinyint(4)', 'label'=>'Status', 'enabled'=>1, 'visible'=>1, 'notnull'=>1, 'position'=>500),
|
||||||
'import_key' =>array('type'=>'varchar(14)', 'label'=>'ImportId', 'enabled'=>1, 'visible'=>-1, 'position'=>1000),
|
'import_key' =>array('type'=>'varchar(14)', 'label'=>'ImportId', 'enabled'=>1, 'visible'=>-1, 'position'=>1000),
|
||||||
);
|
);
|
||||||
|
|||||||
@ -204,7 +204,7 @@ if (empty($reshook)) {
|
|||||||
$object->note_private = GETPOST('note_private', 'alpha');
|
$object->note_private = GETPOST('note_private', 'alpha');
|
||||||
$object->note_public = GETPOST('note_public', 'alpha');
|
$object->note_public = GETPOST('note_public', 'alpha');
|
||||||
$object->fk_project = GETPOST('projectid', 'int');
|
$object->fk_project = GETPOST('projectid', 'int');
|
||||||
$object->remise_percent = price2num(GETPOST('remise_percent'), 2);
|
$object->remise_percent = price2num(GETPOST('remise_percent'), '', 2);
|
||||||
$object->ref = GETPOST('ref', 'alpha');
|
$object->ref = GETPOST('ref', 'alpha');
|
||||||
$object->ref_customer = GETPOST('ref_customer', 'alpha');
|
$object->ref_customer = GETPOST('ref_customer', 'alpha');
|
||||||
$object->ref_supplier = GETPOST('ref_supplier', 'alpha');
|
$object->ref_supplier = GETPOST('ref_supplier', 'alpha');
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
<?php
|
<?php
|
||||||
/* Copyright (C) 2010-2015 Regis Houssin <regis.houssin@inodbox.com>
|
/* Copyright (C) 2010-2021 Regis Houssin <regis.houssin@inodbox.com>
|
||||||
* Copyright (C) 2017 Laurent Destailleur <eldy@users.sourceforge.net>
|
* Copyright (C) 2017 Laurent Destailleur <eldy@users.sourceforge.net>
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* This program is free software; you can redistribute it and/or modify
|
||||||
@ -79,7 +79,7 @@ if (GETPOST('roworder', 'alpha', 3) && GETPOST('table_element_line', 'aZ09', 3)
|
|||||||
$perm = 1;
|
$perm = 1;
|
||||||
} elseif ($table_element_line == 'facturedet' && $user->rights->facture->creer) {
|
} elseif ($table_element_line == 'facturedet' && $user->rights->facture->creer) {
|
||||||
$perm = 1;
|
$perm = 1;
|
||||||
} elseif ($table_element_line == 'facturerecdet' && $user->rights->facture->creer) {
|
} elseif ($table_element_line == 'facturedet_rec' && $user->rights->facture->creer) {
|
||||||
$perm = 1;
|
$perm = 1;
|
||||||
} elseif ($table_element_line == 'ecm_files' && $user->rights->ecm->creer) {
|
} elseif ($table_element_line == 'ecm_files' && $user->rights->ecm->creer) {
|
||||||
$perm = 1;
|
$perm = 1;
|
||||||
@ -89,7 +89,7 @@ if (GETPOST('roworder', 'alpha', 3) && GETPOST('table_element_line', 'aZ09', 3)
|
|||||||
$perm = 1;
|
$perm = 1;
|
||||||
} elseif ($table_element_line == 'mrp_production' && $user->rights->mrp->write) {
|
} elseif ($table_element_line == 'mrp_production' && $user->rights->mrp->write) {
|
||||||
$perm = 1;
|
$perm = 1;
|
||||||
} elseif ($table_element_line == 'supplier_proposaldet' && $user->rights->supplier_proposal->write) {
|
} elseif ($table_element_line == 'supplier_proposaldet' && $user->rights->supplier_proposal->creer) {
|
||||||
$perm = 1;
|
$perm = 1;
|
||||||
} elseif ($table_element_line == 'commande_fournisseurdet' && $user->rights->fournisseur->commande->creer) {
|
} elseif ($table_element_line == 'commande_fournisseurdet' && $user->rights->fournisseur->commande->creer) {
|
||||||
$perm = 1;
|
$perm = 1;
|
||||||
|
|||||||
@ -2001,6 +2001,11 @@ abstract class CommonObject
|
|||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// For backward compatibility
|
||||||
|
if ($this->table_element == 'facture_rec' && $fieldid == 'title') {
|
||||||
|
$fieldid = 'titre';
|
||||||
|
}
|
||||||
|
|
||||||
// Security on socid
|
// Security on socid
|
||||||
$socid = 0;
|
$socid = 0;
|
||||||
if ($user->socid > 0) {
|
if ($user->socid > 0) {
|
||||||
@ -6688,9 +6693,9 @@ abstract class CommonObject
|
|||||||
foreach ($fields_label as $field_toshow) {
|
foreach ($fields_label as $field_toshow) {
|
||||||
$translabel = $langs->trans($obj->$field_toshow);
|
$translabel = $langs->trans($obj->$field_toshow);
|
||||||
if ($translabel != $obj->$field_toshow) {
|
if ($translabel != $obj->$field_toshow) {
|
||||||
$labeltoshow = dol_trunc($translabel, 18).' ';
|
$labeltoshow = dol_trunc($translabel).' ';
|
||||||
} else {
|
} else {
|
||||||
$labeltoshow = dol_trunc($obj->$field_toshow, 18).' ';
|
$labeltoshow = dol_trunc($obj->$field_toshow).' ';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
$out .= '<option value="'.$obj->rowid.'" selected>'.$labeltoshow.'</option>';
|
$out .= '<option value="'.$obj->rowid.'" selected>'.$labeltoshow.'</option>';
|
||||||
@ -6700,7 +6705,7 @@ abstract class CommonObject
|
|||||||
if ($translabel != $obj->{$InfoFieldList[1]}) {
|
if ($translabel != $obj->{$InfoFieldList[1]}) {
|
||||||
$labeltoshow = dol_trunc($translabel, 18);
|
$labeltoshow = dol_trunc($translabel, 18);
|
||||||
} else {
|
} else {
|
||||||
$labeltoshow = dol_trunc($obj->{$InfoFieldList[1]}, 18);
|
$labeltoshow = dol_trunc($obj->{$InfoFieldList[1]});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (empty($labeltoshow)) {
|
if (empty($labeltoshow)) {
|
||||||
|
|||||||
@ -71,7 +71,7 @@ abstract class CommonObjectLine extends CommonObject
|
|||||||
{
|
{
|
||||||
global $langs;
|
global $langs;
|
||||||
|
|
||||||
if (!$this->fk_unit) {
|
if (empty($this->fk_unit)) {
|
||||||
return '';
|
return '';
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -86,7 +86,7 @@ abstract class CommonObjectLine extends CommonObject
|
|||||||
$label_type = 'code';
|
$label_type = 'code';
|
||||||
}
|
}
|
||||||
|
|
||||||
$sql = 'select '.$label_type.', code from '.MAIN_DB_PREFIX.'c_units where rowid='.$this->fk_unit;
|
$sql = 'select '.$label_type.', code from '.MAIN_DB_PREFIX.'c_units where rowid = '.((int) $this->fk_unit);
|
||||||
$resql = $this->db->query($sql);
|
$resql = $this->db->query($sql);
|
||||||
if ($resql && $this->db->num_rows($resql) > 0) {
|
if ($resql && $this->db->num_rows($resql) > 0) {
|
||||||
$res = $this->db->fetch_array($resql);
|
$res = $this->db->fetch_array($resql);
|
||||||
|
|||||||
@ -388,9 +388,9 @@ class dolReceiptPrinter extends Printer
|
|||||||
{
|
{
|
||||||
global $conf;
|
global $conf;
|
||||||
$error = 0;
|
$error = 0;
|
||||||
$sql = 'INSERT INTO '.MAIN_DB_PREFIX.'printer_receipt';
|
$sql = "INSERT INTO ".MAIN_DB_PREFIX."printer_receipt";
|
||||||
$sql .= ' (name, fk_type, fk_profile, parameter, entity)';
|
$sql .= " (name, fk_type, fk_profile, parameter, entity)";
|
||||||
$sql .= ' VALUES ("'.$this->db->escape($name).'", '.((int) $type).', '.((int) $profile).', "'.$this->db->escape($parameter).'", '.$conf->entity.')';
|
$sql .= " VALUES ('".$this->db->escape($name)."', ".((int) $type).", ".((int) $profile).", '".$this->db->escape($parameter)."', ".((int) $conf->entity).")";
|
||||||
$resql = $this->db->query($sql);
|
$resql = $this->db->query($sql);
|
||||||
if (!$resql) {
|
if (!$resql) {
|
||||||
$error++;
|
$error++;
|
||||||
@ -413,12 +413,14 @@ class dolReceiptPrinter extends Printer
|
|||||||
{
|
{
|
||||||
global $conf;
|
global $conf;
|
||||||
$error = 0;
|
$error = 0;
|
||||||
$sql = 'UPDATE '.MAIN_DB_PREFIX.'printer_receipt';
|
|
||||||
$sql .= ' SET name="'.$this->db->escape($name).'"';
|
$sql = "UPDATE ".MAIN_DB_PREFIX."printer_receipt";
|
||||||
$sql .= ', fk_type='.((int) $type);
|
$sql .= " SET name='".$this->db->escape($name)."'";
|
||||||
$sql .= ', fk_profile='.((int) $profile);
|
$sql .= ", fk_type=".((int) $type);
|
||||||
$sql .= ', parameter="'.$this->db->escape($parameter).'"';
|
$sql .= ", fk_profile=".((int) $profile);
|
||||||
$sql .= ' WHERE rowid='.((int) $printerid);
|
$sql .= ", parameter='".$this->db->escape($parameter)."'";
|
||||||
|
$sql .= " WHERE rowid=".((int) $printerid);
|
||||||
|
|
||||||
$resql = $this->db->query($sql);
|
$resql = $this->db->query($sql);
|
||||||
if (!$resql) {
|
if (!$resql) {
|
||||||
$error++;
|
$error++;
|
||||||
@ -458,9 +460,9 @@ class dolReceiptPrinter extends Printer
|
|||||||
{
|
{
|
||||||
global $conf;
|
global $conf;
|
||||||
$error = 0;
|
$error = 0;
|
||||||
$sql = 'INSERT INTO '.MAIN_DB_PREFIX.'printer_receipt_template';
|
$sql = "INSERT INTO ".MAIN_DB_PREFIX."printer_receipt_template";
|
||||||
$sql .= ' (name, template, entity) VALUES ("'.$this->db->escape($name).'"';
|
$sql .= " (name, template, entity) VALUES ('".$this->db->escape($name)."'";
|
||||||
$sql .= ', "'.$this->db->escape($template).'", '.$conf->entity.')';
|
$sql .= ", '".$this->db->escape($template)."', ".$conf->entity.")";
|
||||||
$resql = $this->db->query($sql);
|
$resql = $this->db->query($sql);
|
||||||
if (!$resql) {
|
if (!$resql) {
|
||||||
$error++;
|
$error++;
|
||||||
@ -502,10 +504,11 @@ class dolReceiptPrinter extends Printer
|
|||||||
{
|
{
|
||||||
global $conf;
|
global $conf;
|
||||||
$error = 0;
|
$error = 0;
|
||||||
$sql = 'UPDATE '.MAIN_DB_PREFIX.'printer_receipt_template';
|
|
||||||
$sql .= ' SET name="'.$this->db->escape($name).'"';
|
$sql = "UPDATE ".MAIN_DB_PREFIX."printer_receipt_template";
|
||||||
$sql .= ', template="'.$this->db->escape($template).'"';
|
$sql .= " SET name='".$this->db->escape($name)."'";
|
||||||
$sql .= ' WHERE rowid='.((int) $templateid);
|
$sql .= ", template='".$this->db->escape($template)."'";
|
||||||
|
$sql .= " WHERE rowid=".((int) $templateid);
|
||||||
$resql = $this->db->query($sql);
|
$resql = $this->db->query($sql);
|
||||||
if (!$resql) {
|
if (!$resql) {
|
||||||
$error++;
|
$error++;
|
||||||
|
|||||||
@ -1976,7 +1976,7 @@ class ExtraFields
|
|||||||
*/
|
*/
|
||||||
public function showSeparator($key, $object, $colspan = 2, $display_type = 'card')
|
public function showSeparator($key, $object, $colspan = 2, $display_type = 'card')
|
||||||
{
|
{
|
||||||
global $langs;
|
global $conf, $langs;
|
||||||
|
|
||||||
if ($display_type=='card') {
|
if ($display_type=='card') {
|
||||||
$tagtype='tr';
|
$tagtype='tr';
|
||||||
@ -1989,6 +1989,7 @@ class ExtraFields
|
|||||||
|
|
||||||
$out = '<'.$tagtype.' id="trextrafieldseparator'.$key.(!empty($object->id)?'_'.$object->id:'').'" class="trextrafieldseparator trextrafieldseparator'.$key.(!empty($object->id)?'_'.$object->id:'').'">';
|
$out = '<'.$tagtype.' id="trextrafieldseparator'.$key.(!empty($object->id)?'_'.$object->id:'').'" class="trextrafieldseparator trextrafieldseparator'.$key.(!empty($object->id)?'_'.$object->id:'').'">';
|
||||||
$out .= '<'.$tagtype_dyn.' '.(!empty($colspan)?'colspan="' . $colspan . '"':'').'>';
|
$out .= '<'.$tagtype_dyn.' '.(!empty($colspan)?'colspan="' . $colspan . '"':'').'>';
|
||||||
|
// Some js code will be injected here to manage the collapsing of extrafields
|
||||||
$out .='<strong>';
|
$out .='<strong>';
|
||||||
$out .= $langs->trans($this->attributes[$object->table_element]['label'][$key]);
|
$out .= $langs->trans($this->attributes[$object->table_element]['label'][$key]);
|
||||||
$out .= '</strong>';
|
$out .= '</strong>';
|
||||||
@ -2011,15 +2012,17 @@ class ExtraFields
|
|||||||
$out .= '<script type="text/javascript">'."\n";
|
$out .= '<script type="text/javascript">'."\n";
|
||||||
$out .= 'jQuery(document).ready(function(){'."\n";
|
$out .= 'jQuery(document).ready(function(){'."\n";
|
||||||
if ($collapse_display === false) {
|
if ($collapse_display === false) {
|
||||||
|
$out .= ' console.log("Inject js for the collapsing of extrafield '.$key.' - hide");';
|
||||||
$out .= ' jQuery("#trextrafieldseparator'.$key.(!empty($object->id)?'_'.$object->id:'').' '.$tagtype_dyn.'").prepend("<span class=\"cursorpointer far fa-plus-square\"></span> ");'."\n";
|
$out .= ' jQuery("#trextrafieldseparator'.$key.(!empty($object->id)?'_'.$object->id:'').' '.$tagtype_dyn.'").prepend("<span class=\"cursorpointer far fa-plus-square\"></span> ");'."\n";
|
||||||
$out .= ' jQuery(".trextrafields_collapse'.$extrafields_collapse_num.'").hide();'."\n";
|
$out .= ' jQuery(".trextrafields_collapse'.$extrafields_collapse_num.'").hide();'."\n";
|
||||||
} else {
|
} else {
|
||||||
|
$out .= ' console.log("Inject js for collapsing of extrafield '.$key.' - keep visible and set cookie");';
|
||||||
$out .= ' jQuery("#trextrafieldseparator'.$key.(!empty($object->id)?'_'.$object->id:'').' '.$tagtype_dyn.'").prepend("<span class=\"cursorpointer far fa-minus-square\"></span> ");'."\n";
|
$out .= ' jQuery("#trextrafieldseparator'.$key.(!empty($object->id)?'_'.$object->id:'').' '.$tagtype_dyn.'").prepend("<span class=\"cursorpointer far fa-minus-square\"></span> ");'."\n";
|
||||||
$out .= ' document.cookie = "DOLCOLLAPSE_'.$object->table_element.'_extrafields_'.$key.'=1; path='.$_SERVER["PHP_SELF"].'"'."\n";
|
$out .= ' document.cookie = "DOLCOLLAPSE_'.$object->table_element.'_extrafields_'.$key.'=1; path='.$_SERVER["PHP_SELF"].'"'."\n";
|
||||||
}
|
}
|
||||||
$out .= ' jQuery("#trextrafieldseparator'.$key.(!empty($object->id)?'_'.$object->id:'').'").click(function(){'."\n";
|
$out .= ' jQuery("#trextrafieldseparator'.$key.(!empty($object->id)?'_'.$object->id:'').'").click(function(){'."\n";
|
||||||
$out .= ' console.log("We click on collapse/uncollapse .trextrafields_collapse'.$extrafields_collapse_num.'");'."\n";
|
$out .= ' console.log("We click on collapse/uncollapse .trextrafields_collapse'.$extrafields_collapse_num.'");'."\n";
|
||||||
$out .= ' jQuery(".trextrafields_collapse'.$extrafields_collapse_num.'").toggle(300, function(){'."\n";
|
$out .= ' jQuery(".trextrafields_collapse'.$extrafields_collapse_num.'").toggle(100, function(){'."\n";
|
||||||
$out .= ' if (jQuery(".trextrafields_collapse'.$extrafields_collapse_num.'").is(":hidden")) {'."\n";
|
$out .= ' if (jQuery(".trextrafields_collapse'.$extrafields_collapse_num.'").is(":hidden")) {'."\n";
|
||||||
$out .= ' jQuery("#trextrafieldseparator'.$key.(!empty($object->id)?'_'.$object->id:'').' '.$tagtype_dyn.' span").addClass("fa-plus-square").removeClass("fa-minus-square");'."\n";
|
$out .= ' jQuery("#trextrafieldseparator'.$key.(!empty($object->id)?'_'.$object->id:'').' '.$tagtype_dyn.' span").addClass("fa-plus-square").removeClass("fa-minus-square");'."\n";
|
||||||
$out .= ' document.cookie = "DOLCOLLAPSE_'.$object->table_element.'_extrafields_'.$key.'=0; path='.$_SERVER["PHP_SELF"].'"'."\n";
|
$out .= ' document.cookie = "DOLCOLLAPSE_'.$object->table_element.'_extrafields_'.$key.'=0; path='.$_SERVER["PHP_SELF"].'"'."\n";
|
||||||
|
|||||||
@ -1359,7 +1359,7 @@ class Form
|
|||||||
$sql .= " AND s.status <> 0";
|
$sql .= " AND s.status <> 0";
|
||||||
}
|
}
|
||||||
if (!empty($excludeids)) {
|
if (!empty($excludeids)) {
|
||||||
$sql .= " AND rowid NOT IN (".$this->db->sanitize(join(',', $excludeids)).")";
|
$sql .= " AND s.rowid NOT IN (".$this->db->sanitize(join(',', $excludeids)).")";
|
||||||
}
|
}
|
||||||
// Add criteria
|
// Add criteria
|
||||||
if ($filterkey && $filterkey != '') {
|
if ($filterkey && $filterkey != '') {
|
||||||
@ -3380,7 +3380,7 @@ class Form
|
|||||||
if (!empty($objp->idprodfournprice) && $objp->idprodfournprice > 0) {
|
if (!empty($objp->idprodfournprice) && $objp->idprodfournprice > 0) {
|
||||||
$opt .= ' data-qty="'.$objp->quantity.'" data-up="'.$objp->unitprice.'" data-discount="'.$outdiscount.'"';
|
$opt .= ' data-qty="'.$objp->quantity.'" data-up="'.$objp->unitprice.'" data-discount="'.$outdiscount.'"';
|
||||||
}
|
}
|
||||||
$opt .= ' data-description="'.dol_escape_htmltag($objp->description).'"';
|
$opt .= ' data-description="'.dol_escape_htmltag($objp->description, 0, 1).'"';
|
||||||
$opt .= ' data-html="'.dol_escape_htmltag($optlabel).'"';
|
$opt .= ' data-html="'.dol_escape_htmltag($optlabel).'"';
|
||||||
$opt .= '>';
|
$opt .= '>';
|
||||||
|
|
||||||
|
|||||||
@ -717,6 +717,8 @@ class FormCompany extends Form
|
|||||||
print ' onChange="'.$javaScript.'"';
|
print ' onChange="'.$javaScript.'"';
|
||||||
}
|
}
|
||||||
print '>';
|
print '>';
|
||||||
|
print '<option value="-1"> </option>';
|
||||||
|
|
||||||
$num = $this->db->num_rows($resql);
|
$num = $this->db->num_rows($resql);
|
||||||
$i = 0;
|
$i = 0;
|
||||||
if ($num) {
|
if ($num) {
|
||||||
@ -779,7 +781,7 @@ class FormCompany extends Form
|
|||||||
|
|
||||||
$out .= '<select class="flat valignmiddle'.($morecss ? ' '.$morecss : '').'" name="'.$htmlname.'" id="'.$htmlname.'">';
|
$out .= '<select class="flat valignmiddle'.($morecss ? ' '.$morecss : '').'" name="'.$htmlname.'" id="'.$htmlname.'">';
|
||||||
if ($showempty) {
|
if ($showempty) {
|
||||||
$out .= '<option value="0"></option>';
|
$out .= '<option value="0"> </option>';
|
||||||
}
|
}
|
||||||
foreach ($lesTypes as $key => $value) {
|
foreach ($lesTypes as $key => $value) {
|
||||||
$out .= '<option value="'.$key.'"';
|
$out .= '<option value="'.$key.'"';
|
||||||
@ -996,16 +998,16 @@ class FormCompany extends Form
|
|||||||
/**
|
/**
|
||||||
* Return a HTML select for thirdparty type
|
* Return a HTML select for thirdparty type
|
||||||
*
|
*
|
||||||
* @param int $selected selected value
|
* @param int $selected Selected value
|
||||||
* @param string $htmlname HTML select name
|
* @param string $htmlname HTML select name
|
||||||
* @param string $htmlidname HTML select id
|
* @param string $htmlidname HTML select id
|
||||||
* @param string $typeinput HTML output
|
* @param string $typeinput HTML output
|
||||||
* @param string $morecss More css
|
* @param string $morecss More css
|
||||||
|
* @param string $allowempty Allow empty value or not
|
||||||
* @return string HTML string
|
* @return string HTML string
|
||||||
*/
|
*/
|
||||||
public function selectProspectCustomerType($selected, $htmlname = 'client', $htmlidname = 'customerprospect', $typeinput = 'form', $morecss = '')
|
public function selectProspectCustomerType($selected, $htmlname = 'client', $htmlidname = 'customerprospect', $typeinput = 'form', $morecss = '', $allowempty = '')
|
||||||
{
|
{
|
||||||
|
|
||||||
global $conf, $langs;
|
global $conf, $langs;
|
||||||
if (!empty($conf->global->SOCIETE_DISABLE_PROSPECTS) && !empty($conf->global->SOCIETE_DISABLE_CUSTOMERS) && empty($conf->fournisseur->enabled)) {
|
if (!empty($conf->global->SOCIETE_DISABLE_PROSPECTS) && !empty($conf->global->SOCIETE_DISABLE_CUSTOMERS) && empty($conf->fournisseur->enabled)) {
|
||||||
return '' ;
|
return '' ;
|
||||||
@ -1013,8 +1015,14 @@ class FormCompany extends Form
|
|||||||
|
|
||||||
$out = '<select class="flat '.$morecss.'" name="'.$htmlname.'" id="'.$htmlidname.'">';
|
$out = '<select class="flat '.$morecss.'" name="'.$htmlname.'" id="'.$htmlidname.'">';
|
||||||
if ($typeinput == 'form') {
|
if ($typeinput == 'form') {
|
||||||
if ($selected == '' || $selected == '-1') {
|
if ($allowempty || ($selected == '' || $selected == '-1')) {
|
||||||
$out .= '<option value="-1"> </option>';
|
$out .= '<option value="-1">';
|
||||||
|
if (is_numeric($allowempty)) {
|
||||||
|
$out .= ' ';
|
||||||
|
} else {
|
||||||
|
$out .= $langs->trans($allowempty);
|
||||||
|
}
|
||||||
|
$out .= '</option>';
|
||||||
}
|
}
|
||||||
if (empty($conf->global->SOCIETE_DISABLE_PROSPECTS)) {
|
if (empty($conf->global->SOCIETE_DISABLE_PROSPECTS)) {
|
||||||
$out .= '<option value="2"'.($selected == 2 ? ' selected' : '').'>'.$langs->trans('Prospect').'</option>';
|
$out .= '<option value="2"'.($selected == 2 ? ' selected' : '').'>'.$langs->trans('Prospect').'</option>';
|
||||||
|
|||||||
@ -1206,7 +1206,7 @@ class FormOther
|
|||||||
async: false
|
async: false
|
||||||
});
|
});
|
||||||
// We force reload to be sure to get all boxes into list
|
// We force reload to be sure to get all boxes into list
|
||||||
window.location.search=\'mainmenu='.GETPOST("mainmenu", "aZ09").'&leftmenu='.GETPOST('leftmenu', "aZ09").'&action=delbox\';
|
window.location.search=\'mainmenu='.GETPOST("mainmenu", "aZ09").'&leftmenu='.GETPOST('leftmenu', "aZ09").'&action=delbox&token='.newToken().'\';
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|||||||
@ -204,15 +204,27 @@ class Ldap
|
|||||||
|
|
||||||
if ($this->serverPing($host, $this->serverPort) === true) {
|
if ($this->serverPing($host, $this->serverPort) === true) {
|
||||||
$this->connection = ldap_connect($host, $this->serverPort);
|
$this->connection = ldap_connect($host, $this->serverPort);
|
||||||
|
} else {
|
||||||
|
if (preg_match('/^ldaps/i', $host)) {
|
||||||
|
// With host = ldaps://server, the serverPing to ssl://server sometimes fails, even if the ldap_connect succeed, so
|
||||||
|
// we test this case and continue in suche a case even if serverPing fails.
|
||||||
|
$this->connection = ldap_connect($host, $this->serverPort);
|
||||||
} else {
|
} else {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (is_resource($this->connection)) {
|
if (is_resource($this->connection)) {
|
||||||
// Begin TLS if requested by the configuration
|
// Upgrade connexion to TLS, if requested by the configuration
|
||||||
if (!empty($conf->global->LDAP_SERVER_USE_TLS)) {
|
if (!empty($conf->global->LDAP_SERVER_USE_TLS)) {
|
||||||
if (!ldap_start_tls($this->connection)) {
|
// For test/debug
|
||||||
|
//ldap_set_option($this->connection, LDAP_OPT_DEBUG_LEVEL, 7);
|
||||||
|
//ldap_set_option($this->connection, LDAP_OPT_PROTOCOL_VERSION, 3);
|
||||||
|
|
||||||
|
$resulttls = ldap_start_tls($this->connection);
|
||||||
|
if (!$resulttls) {
|
||||||
dol_syslog(get_class($this)."::connect_bind failed to start tls", LOG_WARNING);
|
dol_syslog(get_class($this)."::connect_bind failed to start tls", LOG_WARNING);
|
||||||
|
$this->error = 'ldap_start_tls Failed to start TLS '.ldap_errno($this->connection).' '.ldap_error($this->connection);
|
||||||
$connected = 0;
|
$connected = 0;
|
||||||
$this->close();
|
$this->close();
|
||||||
}
|
}
|
||||||
@ -696,15 +708,31 @@ class Ldap
|
|||||||
*/
|
*/
|
||||||
public function serverPing($host, $port = 389, $timeout = 1)
|
public function serverPing($host, $port = 389, $timeout = 1)
|
||||||
{
|
{
|
||||||
// Replace ldaps:// by ssl://
|
$regs = array();
|
||||||
if (preg_match('/^ldaps:\/\/([^\/]+)\/?$/', $host, $regs)) {
|
if (preg_match('/^ldaps:\/\/([^\/]+)\/?$/', $host, $regs)) {
|
||||||
|
// Replace ldaps:// by ssl://
|
||||||
$host = 'ssl://'.$regs[1];
|
$host = 'ssl://'.$regs[1];
|
||||||
}
|
} elseif (preg_match('/^ldap:\/\/([^\/]+)\/?$/', $host, $regs)) {
|
||||||
// Remove ldap://
|
// Remove ldap://
|
||||||
if (preg_match('/^ldap:\/\/([^\/]+)\/?$/', $host, $regs)) {
|
|
||||||
$host = $regs[1];
|
$host = $regs[1];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//var_dump($newhostforstream); var_dump($host); var_dump($port);
|
||||||
|
//$host = 'ssl://ldap.test.local:636';
|
||||||
|
//$port = 636;
|
||||||
|
|
||||||
|
$errno = $errstr = 0;
|
||||||
|
/*
|
||||||
|
if ($methodtochecktcpconnect == 'socket') {
|
||||||
|
Try to use socket_create() method.
|
||||||
|
Method that use stream_context_create() works only on registered listed in stream stream_get_wrappers(): http, https, ftp, ...
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
|
// Use the method fsockopen to test tcp connect. No way to ignore ssl certificate errors with this method !
|
||||||
$op = @fsockopen($host, $port, $errno, $errstr, $timeout);
|
$op = @fsockopen($host, $port, $errno, $errstr, $timeout);
|
||||||
|
|
||||||
|
//var_dump($op);
|
||||||
if (!$op) {
|
if (!$op) {
|
||||||
return false; //DC is N/A
|
return false; //DC is N/A
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
@ -110,14 +110,13 @@ print '
|
|||||||
}
|
}
|
||||||
|
|
||||||
a.alilevel0 {
|
a.alilevel0 {
|
||||||
background-image: url(\''.DOL_URL_ROOT.'/theme/'.$conf->theme.'/img/next.png\') !important;
|
background-image: url(\''.DOL_URL_ROOT.'/theme/'.urlencode($conf->theme).'/img/next.png\') !important;
|
||||||
background-repeat: no-repeat !important;
|
background-repeat: no-repeat !important;
|
||||||
background-position-x: 10px;
|
background-position-x: 10px;
|
||||||
background-position-y: 16px;
|
background-position-y: 16px;
|
||||||
padding: 1em 15px 1em 40px;
|
padding: 1em 15px 1em 40px;
|
||||||
}
|
}
|
||||||
li.lilevel0 font.vsmenudisabled {
|
li.lilevel0 font.vsmenudisabled {
|
||||||
/* background-image: url(/dolibarr_dev/htdocs/theme/eldy/img/next.png) !important; */
|
|
||||||
background-repeat: no-repeat !important;
|
background-repeat: no-repeat !important;
|
||||||
background-position-x: 10px;
|
background-position-x: 10px;
|
||||||
background-position-y: 16px;
|
background-position-y: 16px;
|
||||||
@ -178,6 +177,9 @@ print '
|
|||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
display: block;
|
display: block;
|
||||||
}
|
}
|
||||||
|
.vsmenudisabled .fa, .vsmenudisabled .fas, .vsmenudisabled .far {
|
||||||
|
color: #aaa !important;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
|
|||||||
@ -1548,7 +1548,7 @@ function show_actions_done($conf, $langs, $db, $filterobj, $objcon = '', $noprin
|
|||||||
$sql .= "OR (";
|
$sql .= "OR (";
|
||||||
}
|
}
|
||||||
if (!empty($code)) {
|
if (!empty($code)) {
|
||||||
addEventTypeSQL($sql, $code, $donetodo, $now, $filters, "");
|
addEventTypeSQL($sql, $code);
|
||||||
}
|
}
|
||||||
if ($key != 0) {
|
if ($key != 0) {
|
||||||
$sql .= ")";
|
$sql .= ")";
|
||||||
@ -1556,9 +1556,11 @@ function show_actions_done($conf, $langs, $db, $filterobj, $objcon = '', $noprin
|
|||||||
}
|
}
|
||||||
$sql .= ')';
|
$sql .= ')';
|
||||||
} elseif (!empty($actioncode)) {
|
} elseif (!empty($actioncode)) {
|
||||||
addEventTypeSQL($sql, $actioncode, $donetodo, $now, $filters);
|
addEventTypeSQL($sql, $actioncode);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
addOtherFilterSQL($sql, $donetodo, $now, $filters);
|
||||||
|
|
||||||
if (is_array($actioncode)) {
|
if (is_array($actioncode)) {
|
||||||
foreach ($actioncode as $code) {
|
foreach ($actioncode as $code) {
|
||||||
$sql2 = addMailingEventTypeSQL($code, $objcon, $filterobj);
|
$sql2 = addMailingEventTypeSQL($code, $objcon, $filterobj);
|
||||||
@ -2021,13 +2023,10 @@ function show_subsidiaries($conf, $langs, $db, $object)
|
|||||||
*
|
*
|
||||||
* @param string $sql $sql modified
|
* @param string $sql $sql modified
|
||||||
* @param string $actioncode Action code
|
* @param string $actioncode Action code
|
||||||
* @param string $donetodo donetodo
|
|
||||||
* @param string $now now
|
|
||||||
* @param string $filters array
|
|
||||||
* @param string $sqlANDOR "AND", "OR" or "" sql condition
|
* @param string $sqlANDOR "AND", "OR" or "" sql condition
|
||||||
* @return string sql request
|
* @return string sql request
|
||||||
*/
|
*/
|
||||||
function addEventTypeSQL(&$sql, $actioncode, $donetodo, $now, $filters, $sqlANDOR = "AND")
|
function addEventTypeSQL(&$sql, $actioncode, $sqlANDOR = "AND")
|
||||||
{
|
{
|
||||||
global $conf, $db;
|
global $conf, $db;
|
||||||
// Condition on actioncode
|
// Condition on actioncode
|
||||||
@ -2054,6 +2053,23 @@ function addEventTypeSQL(&$sql, $actioncode, $donetodo, $now, $filters, $sqlANDO
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return $sql;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Add Event Type SQL
|
||||||
|
*
|
||||||
|
* @param string $sql $sql modified
|
||||||
|
* @param string $donetodo donetodo
|
||||||
|
* @param string $now now
|
||||||
|
* @param string $filters array
|
||||||
|
* @return string sql request
|
||||||
|
*/
|
||||||
|
function addOtherFilterSQL(&$sql, $donetodo, $now, $filters)
|
||||||
|
{
|
||||||
|
global $conf, $db;
|
||||||
|
// Condition on actioncode
|
||||||
|
|
||||||
if ($donetodo == 'todo') {
|
if ($donetodo == 'todo') {
|
||||||
$sql .= " AND ((a.percent >= 0 AND a.percent < 100) OR (a.percent = -1 AND a.datep > '".$db->idate($now)."'))";
|
$sql .= " AND ((a.percent >= 0 AND a.percent < 100) OR (a.percent = -1 AND a.datep > '".$db->idate($now)."'))";
|
||||||
} elseif ($donetodo == 'done') {
|
} elseif ($donetodo == 'done') {
|
||||||
|
|||||||
@ -2291,9 +2291,13 @@ function dol_check_secure_access_document($modulepart, $original_file, $entity,
|
|||||||
$sqlprotectagainstexternals = '';
|
$sqlprotectagainstexternals = '';
|
||||||
$ret = array();
|
$ret = array();
|
||||||
|
|
||||||
// Find the subdirectory name as the reference. For exemple original_file='10/myfile.pdf' -> refname='10'
|
// Find the subdirectory name as the reference. For example original_file='10/myfile.pdf' -> refname='10'
|
||||||
if (empty($refname)) {
|
if (empty($refname)) {
|
||||||
$refname = basename(dirname($original_file)."/");
|
$refname = basename(dirname($original_file)."/");
|
||||||
|
if ($refname == 'thumbs') {
|
||||||
|
// If we get the thumbns directory, we must go one step higher. For example original_file='10/thumbs/myfile_small.jpg' -> refname='10'
|
||||||
|
$refname = basename(dirname(dirname($original_file))."/");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Define possible keys to use for permission check
|
// Define possible keys to use for permission check
|
||||||
|
|||||||
@ -2191,13 +2191,19 @@ function dol_format_address($object, $withcountry = 0, $sep = "\n", $outputlangs
|
|||||||
if (!empty($object->state)) {
|
if (!empty($object->state)) {
|
||||||
$ret .= "\n".$object->state;
|
$ret .= "\n".$object->state;
|
||||||
}
|
}
|
||||||
|
} elseif (isset($object->country_code) && in_array($object->country_code, array('JP'))) {
|
||||||
|
// JP: In romaji, title firstname name\n address lines \n [state,] town zip \n country
|
||||||
|
// See https://www.sljfaq.org/afaq/addresses.html
|
||||||
|
$town = ($extralangcode ? $object->array_languages['town'][$extralangcode] : (empty($object->town) ? '' : $object->town));
|
||||||
|
$ret .= ($ret ? $sep : '').($object->state ? $object->state.', ' : '').$town.($object->zip ? ' ' : '').$object->zip;
|
||||||
} elseif (isset($object->country_code) && in_array($object->country_code, array('IT'))) {
|
} elseif (isset($object->country_code) && in_array($object->country_code, array('IT'))) {
|
||||||
// IT: tile firstname name\n address lines \n zip (Code Departement) \n country
|
// IT: title firstname name\n address lines \n zip town state_code \n country
|
||||||
$ret .= ($ret ? $sep : '').$object->zip;
|
$ret .= ($ret ? $sep : '').$object->zip;
|
||||||
$town = ($extralangcode ? $object->array_languages['town'][$extralangcode] : (empty($object->town) ? '' : $object->town));
|
$town = ($extralangcode ? $object->array_languages['town'][$extralangcode] : (empty($object->town) ? '' : $object->town));
|
||||||
$ret .= ($town ? (($object->zip ? ' ' : '').$town) : '');
|
$ret .= ($town ? (($object->zip ? ' ' : '').$town) : '');
|
||||||
$ret .= (empty($object->state_code) ? '' : (' '.$object->state_code));
|
$ret .= (empty($object->state_code) ? '' : (' '.$object->state_code));
|
||||||
} else { // Other: title firstname name \n address lines \n zip town \n country
|
} else {
|
||||||
|
// Other: title firstname name \n address lines \n zip town[, state] \n country
|
||||||
$town = ($extralangcode ? $object->array_languages['town'][$extralangcode] : (empty($object->town) ? '' : $object->town));
|
$town = ($extralangcode ? $object->array_languages['town'][$extralangcode] : (empty($object->town) ? '' : $object->town));
|
||||||
$ret .= !empty($object->zip) ? (($ret ? $sep : '').$object->zip) : '';
|
$ret .= !empty($object->zip) ? (($ret ? $sep : '').$object->zip) : '';
|
||||||
$ret .= ($town ? (($object->zip ? ' ' : ($ret ? $sep : '')).$town) : '');
|
$ret .= ($town ? (($object->zip ? ' ' : ($ret ? $sep : '')).$town) : '');
|
||||||
|
|||||||
@ -31,16 +31,17 @@ require_once DOL_DOCUMENT_ROOT.'/projet/class/project.class.php';
|
|||||||
* Prepare array with list of tabs
|
* Prepare array with list of tabs
|
||||||
*
|
*
|
||||||
* @param Project $project Object related to tabs
|
* @param Project $project Object related to tabs
|
||||||
|
* @param string $moreparam More param on url
|
||||||
* @return array Array of tabs to show
|
* @return array Array of tabs to show
|
||||||
*/
|
*/
|
||||||
function project_prepare_head(Project $project)
|
function project_prepare_head(Project $project, $moreparam = '')
|
||||||
{
|
{
|
||||||
global $db, $langs, $conf, $user;
|
global $db, $langs, $conf, $user;
|
||||||
|
|
||||||
$h = 0;
|
$h = 0;
|
||||||
$head = array();
|
$head = array();
|
||||||
|
|
||||||
$head[$h][0] = DOL_URL_ROOT.'/projet/card.php?id='.$project->id;
|
$head[$h][0] = DOL_URL_ROOT.'/projet/card.php?id='.((int) $project->id).($moreparam ? '&'.$moreparam : '');
|
||||||
$head[$h][1] = $langs->trans("Project");
|
$head[$h][1] = $langs->trans("Project");
|
||||||
$head[$h][2] = 'project';
|
$head[$h][2] = 'project';
|
||||||
$h++;
|
$h++;
|
||||||
@ -56,7 +57,7 @@ function project_prepare_head(Project $project)
|
|||||||
$nbContacts = count($project->liste_contact(-1, 'internal')) + count($project->liste_contact(-1, 'external'));
|
$nbContacts = count($project->liste_contact(-1, 'internal')) + count($project->liste_contact(-1, 'external'));
|
||||||
dol_setcache($cachekey, $nbContacts, 120); // If setting cache fails, this is not a problem, so we do not test result.
|
dol_setcache($cachekey, $nbContacts, 120); // If setting cache fails, this is not a problem, so we do not test result.
|
||||||
}
|
}
|
||||||
$head[$h][0] = DOL_URL_ROOT.'/projet/contact.php?id='.$project->id;
|
$head[$h][0] = DOL_URL_ROOT.'/projet/contact.php?id='.((int) $project->id).($moreparam ? '&'.$moreparam : '');
|
||||||
$head[$h][1] = $langs->trans("ProjectContact");
|
$head[$h][1] = $langs->trans("ProjectContact");
|
||||||
if ($nbContacts > 0) {
|
if ($nbContacts > 0) {
|
||||||
$head[$h][1] .= '<span class="badge marginleftonlyshort">'.$nbContacts.'</span>';
|
$head[$h][1] .= '<span class="badge marginleftonlyshort">'.$nbContacts.'</span>';
|
||||||
@ -80,7 +81,7 @@ function project_prepare_head(Project $project)
|
|||||||
$nbTasks = count($taskstatic->getTasksArray(0, 0, $project->id, 0, 0));
|
$nbTasks = count($taskstatic->getTasksArray(0, 0, $project->id, 0, 0));
|
||||||
dol_setcache($cachekey, $nbTasks, 120); // If setting cache fails, this is not a problem, so we do not test result.
|
dol_setcache($cachekey, $nbTasks, 120); // If setting cache fails, this is not a problem, so we do not test result.
|
||||||
}
|
}
|
||||||
$head[$h][0] = DOL_URL_ROOT.'/projet/tasks.php?id='.$project->id;
|
$head[$h][0] = DOL_URL_ROOT.'/projet/tasks.php?id='.((int) $project->id).($moreparam ? '&'.$moreparam : '');
|
||||||
$head[$h][1] = $langs->trans("Tasks");
|
$head[$h][1] = $langs->trans("Tasks");
|
||||||
if ($nbTasks > 0) {
|
if ($nbTasks > 0) {
|
||||||
$head[$h][1] .= '<span class="badge marginleftonlyshort">'.($nbTasks).'</span>';
|
$head[$h][1] .= '<span class="badge marginleftonlyshort">'.($nbTasks).'</span>';
|
||||||
@ -113,7 +114,7 @@ function project_prepare_head(Project $project)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$head[$h][0] = DOL_URL_ROOT.'/projet/tasks/time.php?withproject=1&projectid='.urlencode($project->id);
|
$head[$h][0] = DOL_URL_ROOT.'/projet/tasks/time.php?withproject=1&projectid='.((int) $project->id).($moreparam ? '&'.$moreparam : '');
|
||||||
$head[$h][1] = $langs->trans("TimeSpent");
|
$head[$h][1] = $langs->trans("TimeSpent");
|
||||||
if ($nbTimeSpent > 0) {
|
if ($nbTimeSpent > 0) {
|
||||||
$head[$h][1] .= '<span class="badge marginleftonlyshort">...</span>';
|
$head[$h][1] .= '<span class="badge marginleftonlyshort">...</span>';
|
||||||
@ -207,7 +208,7 @@ function project_prepare_head(Project $project)
|
|||||||
if ($conf->eventorganization->enabled && !empty($project->usage_organize_event)) {
|
if ($conf->eventorganization->enabled && !empty($project->usage_organize_event)) {
|
||||||
$langs->load('eventorganization');
|
$langs->load('eventorganization');
|
||||||
$head[$h][0] = DOL_URL_ROOT . '/eventorganization/conferenceorbooth_list.php?projectid=' . $project->id;
|
$head[$h][0] = DOL_URL_ROOT . '/eventorganization/conferenceorbooth_list.php?projectid=' . $project->id;
|
||||||
$head[$h][1] = $langs->trans("ConferenceOrBoothTab");
|
$head[$h][1] = $langs->trans("EventOrganization");
|
||||||
|
|
||||||
// Enable caching of conf or booth count
|
// Enable caching of conf or booth count
|
||||||
$nbConfOrBooth = 0;
|
$nbConfOrBooth = 0;
|
||||||
|
|||||||
@ -611,7 +611,7 @@ function checkUserAccessToObject($user, array $featuresarray, $objectid = 0, $ta
|
|||||||
$feature = 'projet_task';
|
$feature = 'projet_task';
|
||||||
}
|
}
|
||||||
|
|
||||||
$check = array('adherent', 'banque', 'bom', 'don', 'mrp', 'user', 'usergroup', 'payment', 'payment_supplier', 'product', 'produit', 'service', 'produit|service', 'categorie', 'resource', 'expensereport', 'holiday', 'salary', 'website'); // Test on entity only (Objects with no link to company)
|
$check = array('adherent', 'banque', 'bom', 'don', 'mrp', 'user', 'usergroup', 'payment', 'payment_supplier', 'product', 'produit', 'service', 'produit|service', 'categorie', 'resource', 'expensereport', 'holiday', 'salaries', 'website'); // Test on entity only (Objects with no link to company)
|
||||||
$checksoc = array('societe'); // Test for societe object
|
$checksoc = array('societe'); // Test for societe object
|
||||||
$checkother = array('contact', 'agenda'); // Test on entity + link to third party on field $dbt_keyfield. Allowed if link is empty (Ex: contacts...).
|
$checkother = array('contact', 'agenda'); // Test on entity + link to third party on field $dbt_keyfield. Allowed if link is empty (Ex: contacts...).
|
||||||
$checkproject = array('projet', 'project'); // Test for project object
|
$checkproject = array('projet', 'project'); // Test for project object
|
||||||
|
|||||||
@ -382,12 +382,18 @@ function print_eldy_menu($db, $atarget, $type_user, &$tabMenu, &$menu, $noout =
|
|||||||
'submenus' => array(),
|
'submenus' => array(),
|
||||||
);
|
);
|
||||||
|
|
||||||
// Tickets and knwoledge base
|
// Tickets and knowledge base
|
||||||
$tmpentry = array(
|
$tmpentry = array(
|
||||||
'enabled'=>(!empty($conf->ticket->enabled) || !empty($conf->knwoledgemanagement->enabled)),
|
'enabled'=>(!empty($conf->ticket->enabled) || !empty($conf->knowledgemanagement->enabled)),
|
||||||
'perms'=>(!empty($user->rights->ticket->read) || !empty($user->rights->knwoledgemanagement->read)),
|
'perms'=>(!empty($user->rights->ticket->read) || !empty($user->rights->knowledgemanagement->knowledgerecord->read)),
|
||||||
'module'=>'ticket|knwoledgemanagement'
|
'module'=>'ticket|knowledgemanagement'
|
||||||
);
|
);
|
||||||
|
$link = '';
|
||||||
|
if (!empty($conf->ticket->enabled)) {
|
||||||
|
$link = '/ticket/index.php?mainmenu=ticket&leftmenu=';
|
||||||
|
} else {
|
||||||
|
$link = '/knowledgemanagement/knowledgerecord_list.php?mainmenu=ticket&leftmenu=';
|
||||||
|
}
|
||||||
$menu_arr[] = array(
|
$menu_arr[] = array(
|
||||||
'name' => 'Ticket',
|
'name' => 'Ticket',
|
||||||
'link' => '/ticket/index.php?mainmenu=ticket&leftmenu=',
|
'link' => '/ticket/index.php?mainmenu=ticket&leftmenu=',
|
||||||
@ -1732,7 +1738,7 @@ function print_left_eldy_menu($db, $menu_array_before, $menu_array_after, &$tabM
|
|||||||
|
|
||||||
$titleboth = $langs->trans("LeadsOrProjects");
|
$titleboth = $langs->trans("LeadsOrProjects");
|
||||||
$titlenew = $langs->trans("NewLeadOrProject"); // Leads and opportunities by default
|
$titlenew = $langs->trans("NewLeadOrProject"); // Leads and opportunities by default
|
||||||
if (isset($conf->global->PROJECT_USE_OPPORTUNITIES) && $conf->global->PROJECT_USE_OPPORTUNITIES == 0) {
|
if (empty($conf->global->PROJECT_USE_OPPORTUNITIES)) {
|
||||||
$titleboth = $langs->trans("Projects");
|
$titleboth = $langs->trans("Projects");
|
||||||
$titlenew = $langs->trans("NewProject");
|
$titlenew = $langs->trans("NewProject");
|
||||||
}
|
}
|
||||||
@ -1745,7 +1751,7 @@ function print_left_eldy_menu($db, $menu_array_before, $menu_array_after, &$tabM
|
|||||||
$newmenu->add("/projet/index.php?leftmenu=projects".($search_project_user ? '&search_project_user='.$search_project_user : ''), $titleboth, 0, $user->rights->projet->lire, '', $mainmenu, 'projects', 0, '', '', '', img_picto('', 'project', 'class="pictofixedwidth"'));
|
$newmenu->add("/projet/index.php?leftmenu=projects".($search_project_user ? '&search_project_user='.$search_project_user : ''), $titleboth, 0, $user->rights->projet->lire, '', $mainmenu, 'projects', 0, '', '', '', img_picto('', 'project', 'class="pictofixedwidth"'));
|
||||||
$newmenu->add("/projet/card.php?leftmenu=projects&action=create".($search_project_user ? '&search_project_user='.$search_project_user : ''), $titlenew, 1, $user->rights->projet->creer);
|
$newmenu->add("/projet/card.php?leftmenu=projects&action=create".($search_project_user ? '&search_project_user='.$search_project_user : ''), $titlenew, 1, $user->rights->projet->creer);
|
||||||
|
|
||||||
if (isset($conf->global->PROJECT_USE_OPPORTUNITIES) && $conf->global->PROJECT_USE_OPPORTUNITIES == 0) {
|
if (empty($conf->global->PROJECT_USE_OPPORTUNITIES)) {
|
||||||
$newmenu->add("/projet/list.php?leftmenu=projets".($search_project_user ? '&search_project_user='.$search_project_user : '').'&search_status=99', $langs->trans("List"), 1, $showmode, '', 'project', 'list');
|
$newmenu->add("/projet/list.php?leftmenu=projets".($search_project_user ? '&search_project_user='.$search_project_user : '').'&search_status=99', $langs->trans("List"), 1, $showmode, '', 'project', 'list');
|
||||||
} elseif (isset($conf->global->PROJECT_USE_OPPORTUNITIES) && $conf->global->PROJECT_USE_OPPORTUNITIES == 1) {
|
} elseif (isset($conf->global->PROJECT_USE_OPPORTUNITIES) && $conf->global->PROJECT_USE_OPPORTUNITIES == 1) {
|
||||||
$newmenu->add("/projet/list.php?leftmenu=projets".($search_project_user ? '&search_project_user='.$search_project_user : ''), $langs->trans("List"), 1, $showmode, '', 'project', 'list');
|
$newmenu->add("/projet/list.php?leftmenu=projets".($search_project_user ? '&search_project_user='.$search_project_user : ''), $langs->trans("List"), 1, $showmode, '', 'project', 'list');
|
||||||
@ -2069,8 +2075,10 @@ function print_left_eldy_menu($db, $menu_array_before, $menu_array_after, &$tabM
|
|||||||
$cssmenu = ' menu_contenu'.dol_string_nospecial(preg_replace('/\.php.*$/', '', $menu_array[$i]['url']));
|
$cssmenu = ' menu_contenu'.dol_string_nospecial(preg_replace('/\.php.*$/', '', $menu_array[$i]['url']));
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($menu_array[$i]['enabled'] && $lastlevel0 == 'enabled') { // Enabled so visible, except if parent was not enabled.
|
if ($menu_array[$i]['enabled'] && $lastlevel0 == 'enabled') {
|
||||||
print '<div class="menu_contenu'.$cssmenu.'">'.$tabstring;
|
// Enabled so visible, except if parent was not enabled.
|
||||||
|
print '<div class="menu_contenu'.$cssmenu.'">';
|
||||||
|
print $tabstring;
|
||||||
if ($shorturlwithoutparam) {
|
if ($shorturlwithoutparam) {
|
||||||
print '<a class="vsmenu" title="'.dol_escape_htmltag(dol_string_nohtmltag($menu_array[$i]['titre'])).'" href="'.$url.'"'.($menu_array[$i]['target'] ? ' target="'.$menu_array[$i]['target'].'"' : '').'>';
|
print '<a class="vsmenu" title="'.dol_escape_htmltag(dol_string_nohtmltag($menu_array[$i]['titre'])).'" href="'.$url.'"'.($menu_array[$i]['target'] ? ' target="'.$menu_array[$i]['target'].'"' : '').'>';
|
||||||
} else {
|
} else {
|
||||||
@ -2087,8 +2095,11 @@ function print_left_eldy_menu($db, $menu_array_before, $menu_array_after, &$tabM
|
|||||||
print '<br>';
|
print '<br>';
|
||||||
}
|
}
|
||||||
print '</div>'."\n";
|
print '</div>'."\n";
|
||||||
} elseif ($showmenu && $lastlevel0 == 'enabled') { // Not enabled but visible (so greyed), except if parent was not enabled.
|
} elseif ($showmenu && $lastlevel0 == 'enabled') {
|
||||||
print '<div class="menu_contenu'.$cssmenu.'">'.$tabstring.'<font class="vsmenudisabled vsmenudisabledmargin">'.$menu_array[$i]['titre'].'</font><br></div>'."\n";
|
// Not enabled but visible (so greyed), except if parent was not enabled.
|
||||||
|
print '<div class="menu_contenu'.$cssmenu.'">';
|
||||||
|
print $tabstring;
|
||||||
|
print '<font class="vsmenudisabled vsmenudisabledmargin">'.$menu_array[$i]['titre'].'</font><br></div>'."\n";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -206,6 +206,7 @@ class MenuManager
|
|||||||
$canonnexturl = preg_replace('/\?.*$/', '', $nexturl);
|
$canonnexturl = preg_replace('/\?.*$/', '', $nexturl);
|
||||||
//var_dump($canonrelurl);
|
//var_dump($canonrelurl);
|
||||||
//var_dump($canonnexturl);
|
//var_dump($canonnexturl);
|
||||||
|
|
||||||
print '<ul>'."\n";
|
print '<ul>'."\n";
|
||||||
if (($canonrelurl != $canonnexturl && !in_array($val['mainmenu'], array('tools')))
|
if (($canonrelurl != $canonnexturl && !in_array($val['mainmenu'], array('tools')))
|
||||||
|| (strpos($canonrelurl, '/product/index.php') !== false || strpos($canonrelurl, '/compta/bank/list.php') !== false)) {
|
|| (strpos($canonrelurl, '/product/index.php') !== false || strpos($canonrelurl, '/compta/bank/list.php') !== false)) {
|
||||||
@ -225,15 +226,18 @@ class MenuManager
|
|||||||
print '</li>'."\n";
|
print '</li>'."\n";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
if ($val['level'] == 0) {
|
if ($val['level'] == 0) {
|
||||||
if ($val['enabled']) {
|
if ($val['enabled']) {
|
||||||
$lastlevel[0] = 'enabled';
|
$lastlevel[0] = 'enabled';
|
||||||
} elseif ($showmenu) { // Not enabled but visible (so greyed)
|
} elseif ($showmenu) {
|
||||||
|
// Not enabled but visible (so greyed)
|
||||||
$lastlevel[0] = 'greyed';
|
$lastlevel[0] = 'greyed';
|
||||||
} else {
|
} else {
|
||||||
$lastlevel[0] = 'hidden';
|
$lastlevel[0] = 'hidden';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
$lastlevel2 = array();
|
$lastlevel2 = array();
|
||||||
foreach ($submenu->liste as $key2 => $val2) { // $val['url','titre','level','enabled'=0|1|2,'target','mainmenu','leftmenu'
|
foreach ($submenu->liste as $key2 => $val2) { // $val['url','titre','level','enabled'=0|1|2,'target','mainmenu','leftmenu'
|
||||||
@ -313,7 +317,14 @@ class MenuManager
|
|||||||
print '</ul>';
|
print '</ul>';
|
||||||
}
|
}
|
||||||
if ($val['enabled'] == 2) {
|
if ($val['enabled'] == 2) {
|
||||||
print '<font class="vsmenudisabled">'.$val['titre'].'</font>';
|
print '<font class="vsmenudisabled">';
|
||||||
|
// Add font-awesome
|
||||||
|
if ($val['level'] == 0 && !empty($val['prefix'])) {
|
||||||
|
print $val['prefix'];
|
||||||
|
}
|
||||||
|
|
||||||
|
print $val['titre'];
|
||||||
|
print '</font>';
|
||||||
}
|
}
|
||||||
print '</li>';
|
print '</li>';
|
||||||
print '</ul>'."\n";
|
print '</ul>'."\n";
|
||||||
|
|||||||
@ -285,13 +285,12 @@ class MenuManager
|
|||||||
}
|
}
|
||||||
print $disabled.'">'; // ui-btn to highlight on clic
|
print $disabled.'">'; // ui-btn to highlight on clic
|
||||||
if ($relurl2) {
|
if ($relurl2) {
|
||||||
if ($val2['enabled']) { // Allowed
|
if ($val2['enabled']) {
|
||||||
print '<a href="'.$relurl2.'"';
|
// Allowed
|
||||||
//print ' data-ajax="false"';
|
print '<a href="'.$relurl2.'">';
|
||||||
print '>';
|
|
||||||
$lastlevel2[$val2['level']] = 'enabled';
|
$lastlevel2[$val2['level']] = 'enabled';
|
||||||
} else // Not allowed but visible (greyed)
|
} else {
|
||||||
{
|
// Not allowed but visible (greyed)
|
||||||
print '<a href="#" class="vsmenudisabled">';
|
print '<a href="#" class="vsmenudisabled">';
|
||||||
$lastlevel2[$val2['level']] = 'greyed';
|
$lastlevel2[$val2['level']] = 'greyed';
|
||||||
}
|
}
|
||||||
@ -310,6 +309,7 @@ class MenuManager
|
|||||||
// Allowed
|
// Allowed
|
||||||
print '</a>';
|
print '</a>';
|
||||||
} else {
|
} else {
|
||||||
|
// Not allowed
|
||||||
print '</a>';
|
print '</a>';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1195,6 +1195,14 @@ class pdf_crabe extends ModelePDFFactures
|
|||||||
|
|
||||||
$default_font_size = pdf_getPDFFontSize($outputlangs);
|
$default_font_size = pdf_getPDFFontSize($outputlangs);
|
||||||
|
|
||||||
|
$outputlangsbis = null;
|
||||||
|
if (!empty($conf->global->PDF_USE_ALSO_LANGUAGE_CODE) && $outputlangs->defaultlang != $conf->global->PDF_USE_ALSO_LANGUAGE_CODE) {
|
||||||
|
$outputlangsbis = new Translate('', $conf);
|
||||||
|
$outputlangsbis->setDefaultLang($conf->global->PDF_USE_ALSO_LANGUAGE_CODE);
|
||||||
|
$outputlangsbis->loadLangs(array("main", "dict", "companies", "bills", "products", "propal"));
|
||||||
|
$default_font_size--;
|
||||||
|
}
|
||||||
|
|
||||||
$tab2_top = $posy;
|
$tab2_top = $posy;
|
||||||
$tab2_hl = 4;
|
$tab2_hl = 4;
|
||||||
$pdf->SetFont('', '', $default_font_size - 1);
|
$pdf->SetFont('', '', $default_font_size - 1);
|
||||||
@ -1213,7 +1221,7 @@ class pdf_crabe extends ModelePDFFactures
|
|||||||
// Total HT
|
// Total HT
|
||||||
$pdf->SetFillColor(255, 255, 255);
|
$pdf->SetFillColor(255, 255, 255);
|
||||||
$pdf->SetXY($col1x, $tab2_top + 0);
|
$pdf->SetXY($col1x, $tab2_top + 0);
|
||||||
$pdf->MultiCell($col2x - $col1x, $tab2_hl, $outputlangs->transnoentities("TotalHT"), 0, 'L', 1);
|
$pdf->MultiCell($col2x - $col1x, $tab2_hl, $outputlangs->transnoentities(empty($conf->global->MAIN_GENERATE_DOCUMENTS_WITHOUT_VAT) ? "TotalHT" : "Total").(is_object($outputlangsbis) ? ' / '.$outputlangsbis->transnoentities(empty($conf->global->MAIN_GENERATE_DOCUMENTS_WITHOUT_VAT) ? "TotalHT" : "Total") : ''), 0, 'L', 1);
|
||||||
|
|
||||||
$total_ht = ((!empty($conf->multicurrency->enabled) && isset($object->multicurrency_tx) && $object->multicurrency_tx != 1) ? $object->multicurrency_total_ht : $object->total_ht);
|
$total_ht = ((!empty($conf->multicurrency->enabled) && isset($object->multicurrency_tx) && $object->multicurrency_tx != 1) ? $object->multicurrency_total_ht : $object->total_ht);
|
||||||
$pdf->SetXY($col2x, $tab2_top + 0);
|
$pdf->SetXY($col2x, $tab2_top + 0);
|
||||||
|
|||||||
@ -1353,7 +1353,7 @@ class pdf_sponge extends ModelePDFFactures
|
|||||||
$posy = $pdf->GetY();
|
$posy = $pdf->GetY();
|
||||||
}
|
}
|
||||||
|
|
||||||
// cumul TVA précédent
|
// Cumulate preceding VAT
|
||||||
$index++;
|
$index++;
|
||||||
$pdf->SetFillColor(255, 255, 255);
|
$pdf->SetFillColor(255, 255, 255);
|
||||||
$pdf->SetXY($col1x, $posy);
|
$pdf->SetXY($col1x, $posy);
|
||||||
@ -1427,7 +1427,7 @@ class pdf_sponge extends ModelePDFFactures
|
|||||||
// Total remise
|
// Total remise
|
||||||
$total_line_remise = 0;
|
$total_line_remise = 0;
|
||||||
foreach ($object->lines as $i => $line) {
|
foreach ($object->lines as $i => $line) {
|
||||||
$total_line_remise += pdfGetLineTotalDiscountAmount($object, $i, $outputlangs, 2); // TODO: add this methode to core/lib/pdf.lib
|
$total_line_remise += pdfGetLineTotalDiscountAmount($object, $i, $outputlangs, 2); // TODO: add this method to core/lib/pdf.lib
|
||||||
// Gestion remise sous forme de ligne négative
|
// Gestion remise sous forme de ligne négative
|
||||||
if ($line->total_ht < 0) {
|
if ($line->total_ht < 0) {
|
||||||
$total_line_remise += -$line->total_ht;
|
$total_line_remise += -$line->total_ht;
|
||||||
@ -1458,7 +1458,7 @@ class pdf_sponge extends ModelePDFFactures
|
|||||||
// Total HT
|
// Total HT
|
||||||
$pdf->SetFillColor(255, 255, 255);
|
$pdf->SetFillColor(255, 255, 255);
|
||||||
$pdf->SetXY($col1x, $tab2_top + $tab2_hl * $index);
|
$pdf->SetXY($col1x, $tab2_top + $tab2_hl * $index);
|
||||||
$pdf->MultiCell($col2x - $col1x, $tab2_hl, $outputlangs->transnoentities("TotalHT").(is_object($outputlangsbis) ? ' / '.$outputlangsbis->transnoentities("TotalHT") : ''), 0, 'L', 1);
|
$pdf->MultiCell($col2x - $col1x, $tab2_hl, $outputlangs->transnoentities(empty($conf->global->MAIN_GENERATE_DOCUMENTS_WITHOUT_VAT) ? "TotalHT" : "Total").(is_object($outputlangsbis) ? ' / '.$outputlangsbis->transnoentities(empty($conf->global->MAIN_GENERATE_DOCUMENTS_WITHOUT_VAT) ? "TotalHT" : "Total") : ''), 0, 'L', 1);
|
||||||
|
|
||||||
$total_ht = ((!empty($conf->multicurrency->enabled) && isset($object->multicurrency_tx) && $object->multicurrency_tx != 1) ? $object->multicurrency_total_ht : $object->total_ht);
|
$total_ht = ((!empty($conf->multicurrency->enabled) && isset($object->multicurrency_tx) && $object->multicurrency_tx != 1) ? $object->multicurrency_total_ht : $object->total_ht);
|
||||||
$pdf->SetXY($col2x, $tab2_top + $tab2_hl * $index);
|
$pdf->SetXY($col2x, $tab2_top + $tab2_hl * $index);
|
||||||
|
|||||||
@ -79,7 +79,7 @@ class modMailing extends DolibarrModules
|
|||||||
$this->const[$r][0] = "MAILING_CONTACT_DEFAULT_BULK_STATUS";
|
$this->const[$r][0] = "MAILING_CONTACT_DEFAULT_BULK_STATUS";
|
||||||
$this->const[$r][1] = "chaine";
|
$this->const[$r][1] = "chaine";
|
||||||
$this->const[$r][2] = "0";
|
$this->const[$r][2] = "0";
|
||||||
$this->const[$r][3] = 'Default black list mailing';
|
$this->const[$r][3] = 'Default value for field "Refuse bulk email" when creating a contact';
|
||||||
$this->const[$r][4] = 0;
|
$this->const[$r][4] = 0;
|
||||||
$r++;
|
$r++;
|
||||||
|
|
||||||
|
|||||||
@ -66,7 +66,7 @@ class modProjet extends DolibarrModules
|
|||||||
// Dependencies
|
// Dependencies
|
||||||
$this->hidden = false; // A condition to hide module
|
$this->hidden = false; // A condition to hide module
|
||||||
$this->depends = array(); // List of module class names as string that must be enabled if this module is enabled
|
$this->depends = array(); // List of module class names as string that must be enabled if this module is enabled
|
||||||
$this->requiredby = array(); // List of module ids to disable if this one is disabled
|
$this->requiredby = array('modEventOrganization'); // List of module ids to disable if this one is disabled
|
||||||
$this->conflictwith = array(); // List of module class names as string this module is in conflict with
|
$this->conflictwith = array(); // List of module class names as string this module is in conflict with
|
||||||
$this->phpmin = array(5, 6); // Minimum version of PHP required by module
|
$this->phpmin = array(5, 6); // Minimum version of PHP required by module
|
||||||
$this->langfiles = array('projects');
|
$this->langfiles = array('projects');
|
||||||
|
|||||||
@ -212,6 +212,7 @@ class pdf_canelle extends ModelePDFSuppliersInvoices
|
|||||||
if (!is_object($object->thirdparty)) {
|
if (!is_object($object->thirdparty)) {
|
||||||
$object->thirdparty = $mysoc; // If fetch_thirdparty fails, object has no socid (specimen)
|
$object->thirdparty = $mysoc; // If fetch_thirdparty fails, object has no socid (specimen)
|
||||||
}
|
}
|
||||||
|
|
||||||
$this->emetteur = $object->thirdparty;
|
$this->emetteur = $object->thirdparty;
|
||||||
if (!$this->emetteur->country_code) {
|
if (!$this->emetteur->country_code) {
|
||||||
$this->emetteur->country_code = substr($langs->defaultlang, -2); // By default, if was not defined
|
$this->emetteur->country_code = substr($langs->defaultlang, -2); // By default, if was not defined
|
||||||
@ -231,8 +232,6 @@ class pdf_canelle extends ModelePDFSuppliersInvoices
|
|||||||
$nblines = count($object->lines);
|
$nblines = count($object->lines);
|
||||||
|
|
||||||
if ($conf->fournisseur->facture->dir_output) {
|
if ($conf->fournisseur->facture->dir_output) {
|
||||||
$object->fetch_thirdparty();
|
|
||||||
|
|
||||||
$deja_regle = $object->getSommePaiement((!empty($conf->multicurrency->enabled) && $object->multicurrency_tx != 1) ? 1 : 0);
|
$deja_regle = $object->getSommePaiement((!empty($conf->multicurrency->enabled) && $object->multicurrency_tx != 1) ? 1 : 0);
|
||||||
$amount_credit_notes_included = $object->getSumCreditNotesUsed((!empty($conf->multicurrency->enabled) && $object->multicurrency_tx != 1) ? 1 : 0);
|
$amount_credit_notes_included = $object->getSumCreditNotesUsed((!empty($conf->multicurrency->enabled) && $object->multicurrency_tx != 1) ? 1 : 0);
|
||||||
$amount_deposits_included = $object->getSumDepositsUsed((!empty($conf->multicurrency->enabled) && $object->multicurrency_tx != 1) ? 1 : 0);
|
$amount_deposits_included = $object->getSumDepositsUsed((!empty($conf->multicurrency->enabled) && $object->multicurrency_tx != 1) ? 1 : 0);
|
||||||
|
|||||||
@ -177,7 +177,7 @@ if ($action == 'presend') {
|
|||||||
$listeuser = array();
|
$listeuser = array();
|
||||||
$fuserdest = new User($db);
|
$fuserdest = new User($db);
|
||||||
|
|
||||||
$result = $fuserdest->fetchAll('ASC', 't.lastname', 0, 0, array('customsql'=>'t.statut=1 AND t.employee=1 AND t.email IS NOT NULL AND t.email<>\'\''), 'AND', true);
|
$result = $fuserdest->fetchAll('ASC', 't.lastname', 0, 0, array('customsql'=>"t.statut=1 AND t.employee=1 AND t.email IS NOT NULL AND t.email <> ''"), 'AND', true);
|
||||||
if ($result > 0 && is_array($fuserdest->users) && count($fuserdest->users) > 0) {
|
if ($result > 0 && is_array($fuserdest->users) && count($fuserdest->users) > 0) {
|
||||||
foreach ($fuserdest->users as $uuserdest) {
|
foreach ($fuserdest->users as $uuserdest) {
|
||||||
$listeuser[$uuserdest->id] = $uuserdest->user_get_property($uuserdest->id, 'email');
|
$listeuser[$uuserdest->id] = $uuserdest->user_get_property($uuserdest->id, 'email');
|
||||||
|
|||||||
@ -89,7 +89,7 @@ if ($permission) {
|
|||||||
|
|
||||||
?>
|
?>
|
||||||
<form class="tagtr liste_titre">
|
<form class="tagtr liste_titre">
|
||||||
<div class="tagtd liste_titre"><?php echo $langs->trans("ThirdParty"); ?></div>
|
<div class="tagtd liste_titre"><?php echo img_object('', 'company', 'class="optiongrey paddingright"').$langs->trans("ThirdParty"); ?></div>
|
||||||
<div class="tagtd liste_titre"><?php echo img_picto($langs->trans("Users"), 'user', 'class="optiongrey paddingright"').$langs->trans("Users").' | '.img_picto($langs->trans("Contacts"), 'contact', 'class="optiongrey paddingright"').$langs->trans("Contacts"); ?></div>
|
<div class="tagtd liste_titre"><?php echo img_picto($langs->trans("Users"), 'user', 'class="optiongrey paddingright"').$langs->trans("Users").' | '.img_picto($langs->trans("Contacts"), 'contact', 'class="optiongrey paddingright"').$langs->trans("Contacts"); ?></div>
|
||||||
<div class="tagtd liste_titre"><?php echo $langs->trans("ContactType"); ?></div>
|
<div class="tagtd liste_titre"><?php echo $langs->trans("ContactType"); ?></div>
|
||||||
<div class="tagtd liste_titre"> </div>
|
<div class="tagtd liste_titre"> </div>
|
||||||
@ -140,11 +140,8 @@ if ($permission) {
|
|||||||
} ?>
|
} ?>
|
||||||
|
|
||||||
<div class="tagtd nowrap maxwidthonsmartphone noborderbottom">
|
<div class="tagtd nowrap maxwidthonsmartphone noborderbottom">
|
||||||
<?php $selectedCompany = isset($_GET["newcompany"]) ? $_GET["newcompany"] : (empty($object->socid) ? 0 : $object->socid);
|
<?php
|
||||||
// add company icon before select list
|
$selectedCompany = GETPOSTISSET("newcompany") ? GETPOST("newcompany", 'int') : (empty($object->socid) ? 0 : $object->socid);
|
||||||
if ($selectedCompany) {
|
|
||||||
echo img_object('', 'company', 'class="hideonsmartphone"');
|
|
||||||
}
|
|
||||||
$selectedCompany = $formcompany->selectCompaniesForNewContact($object, 'id', $selectedCompany, 'newcompany', '', 0, '', 'minwidth300imp'); ?>
|
$selectedCompany = $formcompany->selectCompaniesForNewContact($object, 'id', $selectedCompany, 'newcompany', '', 0, '', 'minwidth300imp'); ?>
|
||||||
</div>
|
</div>
|
||||||
<!-- <div class="tagtd nowrap noborderbottom"><?php echo img_object('', 'contact').' '.$langs->trans("ThirdPartyContacts"); ?></div>-->
|
<!-- <div class="tagtd nowrap noborderbottom"><?php echo img_object('', 'contact').' '.$langs->trans("ThirdPartyContacts"); ?></div>-->
|
||||||
|
|||||||
@ -194,6 +194,9 @@ if (empty($reshook) && isset($extrafields->attributes[$object->table_element]['l
|
|||||||
if ($object->element == 'contact') {
|
if ($object->element == 'contact') {
|
||||||
$permok = $user->rights->societe->contact->creer;
|
$permok = $user->rights->societe->contact->creer;
|
||||||
}
|
}
|
||||||
|
if ($object->element == 'salary') {
|
||||||
|
$permok = $user->rights->salaries->read;
|
||||||
|
}
|
||||||
|
|
||||||
$isdraft = ((isset($object->statut) && $object->statut == 0) || (isset($object->status) && $object->status == 0));
|
$isdraft = ((isset($object->statut) && $object->statut == 0) || (isset($object->status) && $object->status == 0));
|
||||||
if (($isdraft || !empty($extrafields->attributes[$object->table_element]['alwayseditable'][$tmpkeyextra]))
|
if (($isdraft || !empty($extrafields->attributes[$object->table_element]['alwayseditable'][$tmpkeyextra]))
|
||||||
|
|||||||
@ -196,7 +196,7 @@ if ($disablenofollow) {
|
|||||||
</div></div>
|
</div></div>
|
||||||
|
|
||||||
<?php
|
<?php
|
||||||
if ($captcha) {
|
if (!empty($captcha)) {
|
||||||
// Add a variable param to force not using cache (jmobile)
|
// Add a variable param to force not using cache (jmobile)
|
||||||
$php_self = preg_replace('/[&\?]time=(\d+)/', '', $php_self); // Remove param time
|
$php_self = preg_replace('/[&\?]time=(\d+)/', '', $php_self); // Remove param time
|
||||||
if (preg_match('/\?/', $php_self)) {
|
if (preg_match('/\?/', $php_self)) {
|
||||||
@ -208,7 +208,7 @@ if ($captcha) {
|
|||||||
?>
|
?>
|
||||||
<!-- Captcha -->
|
<!-- Captcha -->
|
||||||
<div class="trinputlogin">
|
<div class="trinputlogin">
|
||||||
<div class="tagtd none valignmiddle tdinputlogin">
|
<div class="tagtd none valignmiddle tdinputlogin nowrap">
|
||||||
|
|
||||||
<span class="fa fa-unlock"></span>
|
<span class="fa fa-unlock"></span>
|
||||||
<span class="span-icon-security inline-block">
|
<span class="span-icon-security inline-block">
|
||||||
|
|||||||
@ -146,7 +146,7 @@ if (!empty($captcha)) {
|
|||||||
?>
|
?>
|
||||||
<!-- Captcha -->
|
<!-- Captcha -->
|
||||||
<div class="trinputlogin">
|
<div class="trinputlogin">
|
||||||
<div class="tagtd tdinputlogin nowraponall none valignmiddle">
|
<div class="tagtd tdinputlogin nowrap none valignmiddle">
|
||||||
|
|
||||||
<span class="fa fa-unlock"></span>
|
<span class="fa fa-unlock"></span>
|
||||||
<span class="nofa inline-block">
|
<span class="nofa inline-block">
|
||||||
@ -186,7 +186,7 @@ if (!empty($morelogincontent)) {
|
|||||||
<div id="login_line2" style="clear: both">
|
<div id="login_line2" style="clear: both">
|
||||||
|
|
||||||
<!-- Button "Regenerate and Send password" -->
|
<!-- Button "Regenerate and Send password" -->
|
||||||
<br><input type="submit" <?php echo $disabled; ?> class="button" name="button_password" value="<?php echo $langs->trans('SendNewPassword'); ?>" tabindex="4" />
|
<br><input type="submit" <?php echo $disabled; ?> class="button small" name="button_password" value="<?php echo $langs->trans('SendNewPassword'); ?>" tabindex="4" />
|
||||||
|
|
||||||
<br>
|
<br>
|
||||||
<div class="center" style="margin-top: 15px;">
|
<div class="center" style="margin-top: 15px;">
|
||||||
|
|||||||
@ -66,6 +66,8 @@ class InterfaceWorkflowManager extends DolibarrTriggers
|
|||||||
return 0; // Module not active, we do nothing
|
return 0; // Module not active, we do nothing
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$ret = 0;
|
||||||
|
|
||||||
// Proposals to order
|
// Proposals to order
|
||||||
if ($action == 'PROPAL_CLOSE_SIGNED') {
|
if ($action == 'PROPAL_CLOSE_SIGNED') {
|
||||||
dol_syslog("Trigger '".$this->name."' for action '$action' launched by ".__FILE__.". id=".$object->id);
|
dol_syslog("Trigger '".$this->name."' for action '$action' launched by ".__FILE__.". id=".$object->id);
|
||||||
@ -191,7 +193,8 @@ class InterfaceWorkflowManager extends DolibarrTriggers
|
|||||||
if ($action == 'BILL_SUPPLIER_VALIDATE') {
|
if ($action == 'BILL_SUPPLIER_VALIDATE') {
|
||||||
dol_syslog("Trigger '".$this->name."' for action '$action' launched by ".__FILE__.". id=".$object->id);
|
dol_syslog("Trigger '".$this->name."' for action '$action' launched by ".__FILE__.". id=".$object->id);
|
||||||
|
|
||||||
// First classify billed the order to allow the proposal classify process
|
// Firstly, we set to purchase order to "Billed" if WORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_SUPPLIER_ORDER is set.
|
||||||
|
// After we will set proposals
|
||||||
if (((!empty($conf->fournisseur->enabled) && empty($conf->global->MAIN_USE_NEW_SUPPLIERMOD)) || !empty($conf->supplier_order->enabled) || !empty($conf->supplier_invoice->enabled)) && !empty($conf->global->WORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_SUPPLIER_ORDER)) {
|
if (((!empty($conf->fournisseur->enabled) && empty($conf->global->MAIN_USE_NEW_SUPPLIERMOD)) || !empty($conf->supplier_order->enabled) || !empty($conf->supplier_invoice->enabled)) && !empty($conf->global->WORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_SUPPLIER_ORDER)) {
|
||||||
$object->fetchObjectLinked('', 'order_supplier', $object->id, $object->element);
|
$object->fetchObjectLinked('', 'order_supplier', $object->id, $object->element);
|
||||||
if (!empty($object->linkedObjects)) {
|
if (!empty($object->linkedObjects)) {
|
||||||
@ -205,13 +208,15 @@ class InterfaceWorkflowManager extends DolibarrTriggers
|
|||||||
if ($this->shouldClassify($conf, $totalonlinkedelements, $object->total_ht)) {
|
if ($this->shouldClassify($conf, $totalonlinkedelements, $object->total_ht)) {
|
||||||
foreach ($object->linkedObjects['order_supplier'] as $element) {
|
foreach ($object->linkedObjects['order_supplier'] as $element) {
|
||||||
$ret = $element->classifyBilled($user);
|
$ret = $element->classifyBilled($user);
|
||||||
}
|
if ($ret < 0) {
|
||||||
}
|
|
||||||
}
|
|
||||||
return $ret;
|
return $ret;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Second classify billed the proposal.
|
// Secondly, we set to linked Proposal to "Billed" if WORKFLOW_INVOICE_CLASSIFY_BILLED_SUPPLIER_PROPOSAL is set.
|
||||||
if (!empty($conf->supplier_proposal->enabled) && !empty($conf->global->WORKFLOW_INVOICE_CLASSIFY_BILLED_SUPPLIER_PROPOSAL)) {
|
if (!empty($conf->supplier_proposal->enabled) && !empty($conf->global->WORKFLOW_INVOICE_CLASSIFY_BILLED_SUPPLIER_PROPOSAL)) {
|
||||||
$object->fetchObjectLinked('', 'supplier_proposal', $object->id, $object->element);
|
$object->fetchObjectLinked('', 'supplier_proposal', $object->id, $object->element);
|
||||||
if (!empty($object->linkedObjects)) {
|
if (!empty($object->linkedObjects)) {
|
||||||
@ -225,12 +230,36 @@ class InterfaceWorkflowManager extends DolibarrTriggers
|
|||||||
if ($this->shouldClassify($conf, $totalonlinkedelements, $object->total_ht)) {
|
if ($this->shouldClassify($conf, $totalonlinkedelements, $object->total_ht)) {
|
||||||
foreach ($object->linkedObjects['supplier_proposal'] as $element) {
|
foreach ($object->linkedObjects['supplier_proposal'] as $element) {
|
||||||
$ret = $element->classifyBilled($user);
|
$ret = $element->classifyBilled($user);
|
||||||
}
|
if ($ret < 0) {
|
||||||
}
|
|
||||||
}
|
|
||||||
return $ret;
|
return $ret;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Then set reception to "Billed" if WORKFLOW_BILL_ON_RECEPTION is set
|
||||||
|
if (!empty($conf->reception->enabled) && !empty($conf->global->WORKFLOW_BILL_ON_RECEPTION)) {
|
||||||
|
$object->fetchObjectLinked('', 'reception', $object->id, $object->element);
|
||||||
|
if (!empty($object->linkedObjects)) {
|
||||||
|
$totalonlinkedelements = 0;
|
||||||
|
foreach ($object->linkedObjects['reception'] as $element) {
|
||||||
|
if ($element->statut == Reception::STATUS_VALIDATED) $totalonlinkedelements += $element->total_ht;
|
||||||
|
}
|
||||||
|
dol_syslog("Amount of linked reception = ".$totalonlinkedelements.", of invoice = ".$object->total_ht.", egality is ".($totalonlinkedelements == $object->total_ht), LOG_DEBUG);
|
||||||
|
if ($totalonlinkedelements == $object->total_ht) {
|
||||||
|
foreach ($object->linkedObjects['reception'] as $element) {
|
||||||
|
$ret = $element->set_billed();
|
||||||
|
if ($ret < 0) {
|
||||||
|
return $ret;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return $ret;
|
||||||
|
}
|
||||||
|
|
||||||
// Invoice classify billed order
|
// Invoice classify billed order
|
||||||
if ($action == 'BILL_PAYED') {
|
if ($action == 'BILL_PAYED') {
|
||||||
@ -318,29 +347,6 @@ class InterfaceWorkflowManager extends DolibarrTriggers
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// classify billed reception
|
|
||||||
if ($action == 'BILL_SUPPLIER_VALIDATE') {
|
|
||||||
dol_syslog("Trigger '".$this->name."' for action '$action' launched by ".__FILE__.". id=".$object->id, LOG_DEBUG);
|
|
||||||
|
|
||||||
if (!empty($conf->reception->enabled) && !empty($conf->global->WORKFLOW_BILL_ON_RECEPTION)) {
|
|
||||||
$object->fetchObjectLinked('', 'reception', $object->id, $object->element);
|
|
||||||
if (!empty($object->linkedObjects)) {
|
|
||||||
$totalonlinkedelements = 0;
|
|
||||||
foreach ($object->linkedObjects['reception'] as $element) {
|
|
||||||
if ($element->statut == Reception::STATUS_VALIDATED) {
|
|
||||||
$totalonlinkedelements += $element->total_ht;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
dol_syslog("Amount of linked proposals = ".$totalonlinkedelements.", of invoice = ".$object->total_ht.", egality is ".($totalonlinkedelements == $object->total_ht), LOG_DEBUG);
|
|
||||||
if ($totalonlinkedelements == $object->total_ht) {
|
|
||||||
foreach ($object->linkedObjects['reception'] as $element) {
|
|
||||||
$ret = $element->setBilled();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return $ret;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -73,7 +73,7 @@ class ConferenceOrBooth extends ActionComm
|
|||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 'type' field format ('integer', 'integer:ObjectClass:PathToClass[:AddCreateButtonOrNot[:Filter]]', 'sellist:TableName:LabelFieldName[:KeyFieldName[:KeyFieldParent[:Filter]]]', 'varchar(x)', 'double(24,8)', 'real', 'price', 'text', 'text:none', 'html', 'date', 'datetime', 'timestamp', 'duration', 'mail', 'phone', 'url', 'password')
|
* 'type' field format ('integer', 'integer:ObjectClass:PathToClass[:AddCreateButtonOrNot[:Filter[:Sortfield]]]', 'sellist:TableName:LabelFieldName[:KeyFieldName[:KeyFieldParent[:Filter]]]', 'varchar(x)', 'double(24,8)', 'real', 'price', 'text', 'text:none', 'html', 'date', 'datetime', 'timestamp', 'duration', 'mail', 'phone', 'url', 'password')
|
||||||
* Note: Filter can be a string like "(t.ref:like:'SO-%') or (t.date_creation:<:'20160101') or (t.nature:is:NULL)"
|
* Note: Filter can be a string like "(t.ref:like:'SO-%') or (t.date_creation:<:'20160101') or (t.nature:is:NULL)"
|
||||||
* 'label' the translation key.
|
* 'label' the translation key.
|
||||||
* 'picto' is code of a picto to show before value in forms
|
* 'picto' is code of a picto to show before value in forms
|
||||||
@ -106,10 +106,10 @@ class ConferenceOrBooth extends ActionComm
|
|||||||
'id' => array('type'=>'integer', 'label'=>'TechnicalID', 'enabled'=>'1', 'position'=>1, 'notnull'=>1, 'visible'=>0, 'noteditable'=>'1', 'index'=>1, 'css'=>'left', 'comment'=>"Id"),
|
'id' => array('type'=>'integer', 'label'=>'TechnicalID', 'enabled'=>'1', 'position'=>1, 'notnull'=>1, 'visible'=>0, 'noteditable'=>'1', 'index'=>1, 'css'=>'left', 'comment'=>"Id"),
|
||||||
'ref' => array('type'=>'integer', 'label'=>'Ref', 'enabled'=>'1', 'position'=>1, 'notnull'=>1, 'visible'=>2, 'noteditable'=>'1', 'index'=>1, 'css'=>'left', 'comment'=>"Id"),
|
'ref' => array('type'=>'integer', 'label'=>'Ref', 'enabled'=>'1', 'position'=>1, 'notnull'=>1, 'visible'=>2, 'noteditable'=>'1', 'index'=>1, 'css'=>'left', 'comment'=>"Id"),
|
||||||
'label' => array('type'=>'varchar(255)', 'label'=>'Label', 'enabled'=>'1', 'position'=>30, 'notnull'=>0, 'visible'=>1, 'searchall'=>1, 'css'=>'minwidth300', 'help'=>"Help text", 'showoncombobox'=>'1',),
|
'label' => array('type'=>'varchar(255)', 'label'=>'Label', 'enabled'=>'1', 'position'=>30, 'notnull'=>0, 'visible'=>1, 'searchall'=>1, 'css'=>'minwidth300', 'help'=>"Help text", 'showoncombobox'=>'1',),
|
||||||
'fk_soc' => array('type'=>'integer:Societe:societe/class/societe.class.php:1:status=1 AND entity IN (__SHARED_ENTITIES__)', 'label'=>'ThirdParty', 'enabled'=>'1', 'position'=>50, 'notnull'=>-1, 'visible'=>1, 'index'=>1, 'help'=>"LinkToThirparty",),
|
'fk_soc' => array('type'=>'integer:Societe:societe/class/societe.class.php:1:status=1 AND entity IN (__SHARED_ENTITIES__)', 'label'=>'ThirdParty', 'enabled'=>'1', 'position'=>50, 'notnull'=>-1, 'visible'=>1, 'index'=>1, 'help'=>"LinkToThirparty", 'picto'=>'company', 'css'=>'maxwidth500'),
|
||||||
'fk_project' => array('type'=>'integer:Project:projet/class/project.class.php:1::eventorganization', 'label'=>'Project', 'enabled'=>'1', 'position'=>52, 'notnull'=>-1, 'visible'=>-1, 'index'=>1,),
|
'fk_project' => array('type'=>'integer:Project:projet/class/project.class.php:1:t.usage_organize_event=1', 'label'=>'Project', 'enabled'=>'1', 'position'=>52, 'notnull'=>-1, 'visible'=>-1, 'index'=>1, 'picto'=>'project'),
|
||||||
'note' => array('type'=>'text', 'label'=>'Description', 'enabled'=>'1', 'position'=>60, 'notnull'=>0, 'visible'=>1),
|
'note' => array('type'=>'text', 'label'=>'Description', 'enabled'=>'1', 'position'=>60, 'notnull'=>0, 'visible'=>1),
|
||||||
'fk_action' => array('type'=>'sellist:c_actioncomm:libelle:id::module LIKE (\'%@eventorganization\')', 'label'=>'Format', 'enabled'=>'1', 'position'=>60, 'notnull'=>1, 'visible'=>1,),
|
'fk_action' => array('type'=>'sellist:c_actioncomm:libelle:id::module LIKE (\'%@eventorganization\')', 'label'=>'Format', 'enabled'=>'1', 'position'=>60, 'notnull'=>1, 'visible'=>1, 'css'=>'width300'),
|
||||||
'datep' => array('type'=>'datetime', 'label'=>'DateStart', 'enabled'=>'1', 'position'=>70, 'notnull'=>0, 'visible'=>1, 'showoncombobox'=>'2',),
|
'datep' => array('type'=>'datetime', 'label'=>'DateStart', 'enabled'=>'1', 'position'=>70, 'notnull'=>0, 'visible'=>1, 'showoncombobox'=>'2',),
|
||||||
'datep2' => array('type'=>'datetime', 'label'=>'DateEnd', 'enabled'=>'1', 'position'=>71, 'notnull'=>0, 'visible'=>1, 'showoncombobox'=>'3',),
|
'datep2' => array('type'=>'datetime', 'label'=>'DateEnd', 'enabled'=>'1', 'position'=>71, 'notnull'=>0, 'visible'=>1, 'showoncombobox'=>'3',),
|
||||||
'datec' => array('type'=>'datetime', 'label'=>'DateCreation', 'enabled'=>'1', 'position'=>500, 'notnull'=>1, 'visible'=>-2,),
|
'datec' => array('type'=>'datetime', 'label'=>'DateCreation', 'enabled'=>'1', 'position'=>500, 'notnull'=>1, 'visible'=>-2,),
|
||||||
@ -246,7 +246,7 @@ class ConferenceOrBooth extends ActionComm
|
|||||||
|
|
||||||
$result = parent::fetch($id, $ref, $ref_ext, $email_msgid);
|
$result = parent::fetch($id, $ref, $ref_ext, $email_msgid);
|
||||||
|
|
||||||
$link_subscription = $dolibarr_main_url_root.'/public/eventorganization/attendee_subscription.php?id='.urlencode($id);
|
$link_subscription = $dolibarr_main_url_root.'/public/eventorganization/attendee_register.php?id='.urlencode($id).'&type=conf';
|
||||||
|
|
||||||
$encodedsecurekey = dol_hash($conf->global->EVENTORGANIZATION_SECUREKEY.'conferenceorbooth'.$id, 2);
|
$encodedsecurekey = dol_hash($conf->global->EVENTORGANIZATION_SECUREKEY.'conferenceorbooth'.$id, 2);
|
||||||
$link_subscription .= '&securekey='.urlencode($encodedsecurekey);
|
$link_subscription .= '&securekey='.urlencode($encodedsecurekey);
|
||||||
@ -565,7 +565,7 @@ class ConferenceOrBooth extends ActionComm
|
|||||||
$label .= '<br>';
|
$label .= '<br>';
|
||||||
$label .= '<b>'.$langs->trans('Ref').':</b> '.$this->id;
|
$label .= '<b>'.$langs->trans('Ref').':</b> '.$this->id;
|
||||||
|
|
||||||
$url = dol_buildpath('/eventorganization/conferenceorbooth_card.php', 1).'?id='.$this->id;
|
$url = DOL_URL_ROOT.'/eventorganization/conferenceorbooth_card.php?id='.$this->id;
|
||||||
|
|
||||||
if ($option != 'nolink') {
|
if ($option != 'nolink') {
|
||||||
// Add param to save lastsearch_values or not
|
// Add param to save lastsearch_values or not
|
||||||
@ -749,7 +749,7 @@ class ConferenceOrBooth extends ActionComm
|
|||||||
$this->lines = array();
|
$this->lines = array();
|
||||||
|
|
||||||
$objectline = new ConferenceOrBoothLine($this->db);
|
$objectline = new ConferenceOrBoothLine($this->db);
|
||||||
$result = $objectline->fetchAll('ASC', 'position', 0, 0, array('customsql'=>'fk_conferenceorbooth = '.$this->id));
|
$result = $objectline->fetchAll('ASC', 'position', 0, 0, array('customsql'=>'fk_conferenceorbooth = '.((int) $this->id)));
|
||||||
|
|
||||||
if (is_numeric($result)) {
|
if (is_numeric($result)) {
|
||||||
$this->error = $this->error;
|
$this->error = $this->error;
|
||||||
|
|||||||
@ -63,6 +63,7 @@ class ConferenceOrBoothAttendee extends CommonObject
|
|||||||
*/
|
*/
|
||||||
public $picto = 'contact';
|
public $picto = 'contact';
|
||||||
|
|
||||||
|
public $paid = 0;
|
||||||
|
|
||||||
const STATUS_DRAFT = 0;
|
const STATUS_DRAFT = 0;
|
||||||
const STATUS_VALIDATED = 1;
|
const STATUS_VALIDATED = 1;
|
||||||
@ -102,11 +103,12 @@ class ConferenceOrBoothAttendee extends CommonObject
|
|||||||
public $fields=array(
|
public $fields=array(
|
||||||
'rowid' => array('type'=>'integer', 'label'=>'TechnicalID', 'enabled'=>'1', 'position'=>1, 'notnull'=>1, 'visible'=>0, 'noteditable'=>'1', 'index'=>1, 'css'=>'left', 'comment'=>"Id"),
|
'rowid' => array('type'=>'integer', 'label'=>'TechnicalID', 'enabled'=>'1', 'position'=>1, 'notnull'=>1, 'visible'=>0, 'noteditable'=>'1', 'index'=>1, 'css'=>'left', 'comment'=>"Id"),
|
||||||
'ref' => array('type'=>'varchar(128)', 'label'=>'Ref', 'enabled'=>'1', 'position'=>10, 'notnull'=>1, 'visible'=>2, 'index'=>1, 'comment'=>"Reference of object"),
|
'ref' => array('type'=>'varchar(128)', 'label'=>'Ref', 'enabled'=>'1', 'position'=>10, 'notnull'=>1, 'visible'=>2, 'index'=>1, 'comment'=>"Reference of object"),
|
||||||
'fk_soc' => array('type'=>'integer:Societe:societe/class/societe.class.php:1:status=1 AND entity IN (__SHARED_ENTITIES__)', 'label'=>'Attendee', 'enabled'=>'1', 'position'=>50, 'notnull'=>-1, 'visible'=>1, 'index'=>1, 'help'=>"LinkToThirparty",),
|
'fk_soc' => array('type'=>'integer:Societe:societe/class/societe.class.php:1:status = 1 AND entity IN (__SHARED_ENTITIES__)', 'label'=>'Attendee', 'enabled'=>'1', 'position'=>50, 'notnull'=>-1, 'visible'=>1, 'index'=>1, 'help'=>"LinkToThirparty", 'picto'=>'company', 'css'=>'maxwidth500'),
|
||||||
'fk_actioncomm' => array('type'=>'integer:ActionComm:comm/action/class/actioncomm.class.php:1', 'label'=>'ConferenceOrBooth', 'enabled'=>'1', 'position'=>53, 'notnull'=>1, 'visible'=>0, 'index'=>1,),
|
'fk_actioncomm' => array('type'=>'integer:ActionComm:comm/action/class/actioncomm.class.php:1', 'label'=>'ConferenceOrBooth', 'enabled'=>'1', 'position'=>53, 'notnull'=>0, 'visible'=>0, 'index'=>1, 'picto'=>'agenda'),
|
||||||
|
'fk_project' => array('type'=>'integer:Project:projet/class/project.class.php:1', 'label'=>'Project', 'enabled'=>'1', 'position'=>54, 'notnull'=>1, 'visible'=>0, 'index'=>1, 'picto'=>'project'),
|
||||||
'email' => array('type'=>'mail', 'label'=>'Email', 'enabled'=>'1', 'position'=>55, 'notnull'=>1, 'visible'=>1, 'index'=>1,),
|
'email' => array('type'=>'mail', 'label'=>'Email', 'enabled'=>'1', 'position'=>55, 'notnull'=>1, 'visible'=>1, 'index'=>1,),
|
||||||
'date_subscription' => array('type'=>'datetime', 'label'=>'DateSubscription', 'enabled'=>'1', 'position'=>56, 'notnull'=>0, 'visible'=>1, 'showoncombobox'=>'1',),
|
'date_subscription' => array('type'=>'datetime', 'label'=>'DateOfRegistration', 'enabled'=>'1', 'position'=>56, 'notnull'=>0, 'visible'=>1, 'showoncombobox'=>'1',),
|
||||||
'amount' => array('type'=>'price', 'label'=>'AmountOfSubscriptionPaid', 'enabled'=>'1', 'position'=>57, 'notnull'=>0, 'visible'=>1, 'default'=>'null', 'isameasure'=>'1', 'help'=>"AmountOfSubscriptionPaid",),
|
'amount' => array('type'=>'price', 'label'=>'AmountPaid', 'enabled'=>'1', 'position'=>57, 'notnull'=>0, 'visible'=>1, 'default'=>'null', 'isameasure'=>'1', 'help'=>"AmountOfSubscriptionPaid",),
|
||||||
'note_public' => array('type'=>'html', 'label'=>'NotePublic', 'enabled'=>'1', 'position'=>61, 'notnull'=>0, 'visible'=>0,),
|
'note_public' => array('type'=>'html', 'label'=>'NotePublic', 'enabled'=>'1', 'position'=>61, 'notnull'=>0, 'visible'=>0,),
|
||||||
'note_private' => array('type'=>'html', 'label'=>'NotePrivate', 'enabled'=>'1', 'position'=>62, 'notnull'=>0, 'visible'=>0,),
|
'note_private' => array('type'=>'html', 'label'=>'NotePrivate', 'enabled'=>'1', 'position'=>62, 'notnull'=>0, 'visible'=>0,),
|
||||||
'date_creation' => array('type'=>'datetime', 'label'=>'DateCreation', 'enabled'=>'1', 'position'=>500, 'notnull'=>1, 'visible'=>-2,),
|
'date_creation' => array('type'=>'datetime', 'label'=>'DateCreation', 'enabled'=>'1', 'position'=>500, 'notnull'=>1, 'visible'=>-2,),
|
||||||
@ -195,7 +197,9 @@ class ConferenceOrBoothAttendee extends CommonObject
|
|||||||
if (!empty($conf->global->EVENTORGANIZATION_FILTERATTENDEES_CAT)) {
|
if (!empty($conf->global->EVENTORGANIZATION_FILTERATTENDEES_CAT)) {
|
||||||
$this->fields['fk_soc']['type'] .= ' AND rowid IN (SELECT DISTINCT c.fk_soc FROM '.MAIN_DB_PREFIX.'categorie_societe as c WHERE c.fk_categorie='.(int) $conf->global->EVENTORGANIZATION_FILTERATTENDEES_CAT.')';
|
$this->fields['fk_soc']['type'] .= ' AND rowid IN (SELECT DISTINCT c.fk_soc FROM '.MAIN_DB_PREFIX.'categorie_societe as c WHERE c.fk_categorie='.(int) $conf->global->EVENTORGANIZATION_FILTERATTENDEES_CAT.')';
|
||||||
}
|
}
|
||||||
if ($conf->global->EVENTORGANIZATION_FILTERATTENDEES_TYPE!=='') {
|
if (isset($conf->global->EVENTORGANIZATION_FILTERATTENDEES_TYPE)
|
||||||
|
&& $conf->global->EVENTORGANIZATION_FILTERATTENDEES_TYPE !== ''
|
||||||
|
&& $conf->global->EVENTORGANIZATION_FILTERATTENDEES_TYPE !== '-1') {
|
||||||
$this->fields['fk_soc']['type'] .= ' AND client = '.(int) $conf->global->EVENTORGANIZATION_FILTERATTENDEES_TYPE;
|
$this->fields['fk_soc']['type'] .= ' AND client = '.(int) $conf->global->EVENTORGANIZATION_FILTERATTENDEES_TYPE;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -388,7 +392,7 @@ class ConferenceOrBoothAttendee extends CommonObject
|
|||||||
* @param string $sortfield Sort field
|
* @param string $sortfield Sort field
|
||||||
* @param int $limit limit
|
* @param int $limit limit
|
||||||
* @param int $offset Offset
|
* @param int $offset Offset
|
||||||
* @param array $filter Filter array. Example array('field'=>'valueforlike', 'customurl'=>...)
|
* @param array $filter Filter array. Example array('field'=>'valueforlike', 'customurl'=>...). WARNING: customerurl must be a sanitized SQL string.
|
||||||
* @param string $filtermode Filter mode (AND or OR)
|
* @param string $filtermode Filter mode (AND or OR)
|
||||||
* @return array|int int <0 if KO, array of pages if OK
|
* @return array|int int <0 if KO, array of pages if OK
|
||||||
*/
|
*/
|
||||||
@ -403,7 +407,7 @@ class ConferenceOrBoothAttendee extends CommonObject
|
|||||||
$sql = 'SELECT ';
|
$sql = 'SELECT ';
|
||||||
$sql .= $this->getFieldList('t');
|
$sql .= $this->getFieldList('t');
|
||||||
$sql .= ' FROM '.MAIN_DB_PREFIX.$this->table_element.' as t';
|
$sql .= ' FROM '.MAIN_DB_PREFIX.$this->table_element.' as t';
|
||||||
$sql .= " INNER JOIN ".MAIN_DB_PREFIX."actioncomm as a on a.id=t.fk_actioncomm";
|
$sql .= " LEFT JOIN ".MAIN_DB_PREFIX."actioncomm as a on a.id = t.fk_actioncomm";
|
||||||
if (isset($this->ismultientitymanaged) && $this->ismultientitymanaged == 1) {
|
if (isset($this->ismultientitymanaged) && $this->ismultientitymanaged == 1) {
|
||||||
$sql .= ' WHERE t.entity IN ('.getEntity($this->table_element).')';
|
$sql .= ' WHERE t.entity IN ('.getEntity($this->table_element).')';
|
||||||
} else {
|
} else {
|
||||||
@ -414,15 +418,15 @@ class ConferenceOrBoothAttendee extends CommonObject
|
|||||||
if (count($filter) > 0) {
|
if (count($filter) > 0) {
|
||||||
foreach ($filter as $key => $value) {
|
foreach ($filter as $key => $value) {
|
||||||
if ($key == 't.rowid' || $key == 't.fk_soc' || $key == 't.fk_project' || $key == 't.fk_actioncomm') {
|
if ($key == 't.rowid' || $key == 't.fk_soc' || $key == 't.fk_project' || $key == 't.fk_actioncomm') {
|
||||||
$sqlwhere[] = $key.'='.$value;
|
$sqlwhere[] = $key.'='.((int) $value);
|
||||||
} elseif (in_array($this->fields[$key]['type'], array('date', 'datetime', 'timestamp'))) {
|
} elseif (in_array($this->fields[$key]['type'], array('date', 'datetime', 'timestamp'))) {
|
||||||
$sqlwhere[] = $key.' = \''.$this->db->idate($value).'\'';
|
$sqlwhere[] = $key." = '".$this->db->idate($value)."'";
|
||||||
} elseif ($key == 'customsql') {
|
} elseif ($key == 'customsql') {
|
||||||
$sqlwhere[] = $value;
|
$sqlwhere[] = $value;
|
||||||
} elseif (strpos($value, '%') === false) {
|
} elseif (strpos($value, '%') === false) {
|
||||||
$sqlwhere[] = $key.' IN ('.$this->db->sanitize($this->db->escape($value)).')';
|
$sqlwhere[] = $key.' IN ('.$this->db->sanitize($this->db->escape($value)).')';
|
||||||
} else {
|
} else {
|
||||||
$sqlwhere[] = $key.' LIKE \'%'.$this->db->escape($value).'%\'';
|
$sqlwhere[] = $key." LIKE '%".$this->db->escape($value)."%'";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -729,6 +733,8 @@ class ConferenceOrBoothAttendee extends CommonObject
|
|||||||
}
|
}
|
||||||
$label .= '<br>';
|
$label .= '<br>';
|
||||||
$label .= '<b>'.$langs->trans('Ref').':</b> '.$this->ref;
|
$label .= '<b>'.$langs->trans('Ref').':</b> '.$this->ref;
|
||||||
|
$label .= '<br><b>'.$langs->trans('DateOfRegistration').':</b> '.dol_print_date($this->date_subscription, 'dayhour');
|
||||||
|
$label .= '<br><b>'.$langs->trans('AmountPaid').':</b> '.$this->amount;
|
||||||
|
|
||||||
$url = dol_buildpath('/eventorganization/conferenceorboothattendee_card.php', 1).'?id='.$this->id;
|
$url = dol_buildpath('/eventorganization/conferenceorboothattendee_card.php', 1).'?id='.$this->id;
|
||||||
|
|
||||||
@ -743,11 +749,15 @@ class ConferenceOrBoothAttendee extends CommonObject
|
|||||||
}
|
}
|
||||||
|
|
||||||
if ($option == 'conforboothid') {
|
if ($option == 'conforboothid') {
|
||||||
$url .= '&conforboothid='.$this->fk_actioncomm;
|
$url .= '&conforboothid='.((int) $this->fk_actioncomm);
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($option == 'projectid') {
|
||||||
|
$url .= '&fk_project='.((int) $this->fk_project).'&withproject=1';
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($option == 'conforboothidproject') {
|
if ($option == 'conforboothidproject') {
|
||||||
$url .= '&conforboothid='.$this->fk_actioncomm.'&withproject=1' ;
|
$url .= '&conforboothid='.((int) $this->fk_actioncomm).'&withproject=1' ;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -848,14 +858,15 @@ class ConferenceOrBoothAttendee extends CommonObject
|
|||||||
public function LibStatut($status, $mode = 0)
|
public function LibStatut($status, $mode = 0)
|
||||||
{
|
{
|
||||||
// phpcs:enable
|
// phpcs:enable
|
||||||
if (empty($this->labelStatus) || empty($this->labelStatusShort)) {
|
|
||||||
global $langs;
|
global $langs;
|
||||||
|
|
||||||
|
if (empty($this->labelStatus) || empty($this->labelStatusShort)) {
|
||||||
//$langs->load("eventorganization@eventorganization");
|
//$langs->load("eventorganization@eventorganization");
|
||||||
$this->labelStatus[self::STATUS_DRAFT] = $langs->trans('Draft');
|
$this->labelStatus[self::STATUS_DRAFT] = $langs->trans('Draft');
|
||||||
$this->labelStatus[self::STATUS_VALIDATED] = $langs->trans('Enabled');
|
$this->labelStatus[self::STATUS_VALIDATED] = $langs->trans('Validated');
|
||||||
$this->labelStatus[self::STATUS_CANCELED] = $langs->trans('Disabled');
|
$this->labelStatus[self::STATUS_CANCELED] = $langs->trans('Disabled');
|
||||||
$this->labelStatusShort[self::STATUS_DRAFT] = $langs->trans('Draft');
|
$this->labelStatusShort[self::STATUS_DRAFT] = $langs->trans('Draft');
|
||||||
$this->labelStatusShort[self::STATUS_VALIDATED] = $langs->trans('Enabled');
|
$this->labelStatusShort[self::STATUS_VALIDATED] = $langs->trans('Validated');
|
||||||
$this->labelStatusShort[self::STATUS_CANCELED] = $langs->trans('Disabled');
|
$this->labelStatusShort[self::STATUS_CANCELED] = $langs->trans('Disabled');
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -865,6 +876,11 @@ class ConferenceOrBoothAttendee extends CommonObject
|
|||||||
$statusType = 'status6';
|
$statusType = 'status6';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ($status == self::STATUS_VALIDATED && $this->date_subscription && $this->amount) {
|
||||||
|
$statusType = 'status4';
|
||||||
|
$this->labelStatus[self::STATUS_VALIDATED] = $langs->trans('Validated').' - '.$langs->trans("Paid");
|
||||||
|
}
|
||||||
|
|
||||||
return dolGetStatus($this->labelStatus[$status], $this->labelStatusShort[$status], '', $statusType, $mode);
|
return dolGetStatus($this->labelStatus[$status], $this->labelStatusShort[$status], '', $statusType, $mode);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -935,7 +951,7 @@ class ConferenceOrBoothAttendee extends CommonObject
|
|||||||
$this->lines = array();
|
$this->lines = array();
|
||||||
|
|
||||||
$objectline = new ConferenceOrBoothAttendeeLine($this->db);
|
$objectline = new ConferenceOrBoothAttendeeLine($this->db);
|
||||||
$result = $objectline->fetchAll('ASC', 'position', 0, 0, array('customsql'=>'fk_conferenceorboothattendee = '.$this->id));
|
$result = $objectline->fetchAll('ASC', 'position', 0, 0, array('customsql'=>'fk_conferenceorboothattendee = '.((int) $this->id)));
|
||||||
|
|
||||||
if (is_numeric($result)) {
|
if (is_numeric($result)) {
|
||||||
$this->error = $this->error;
|
$this->error = $this->error;
|
||||||
|
|||||||
@ -101,7 +101,7 @@ if ($action == 'addcontact' && $permission) { // Add a new contact
|
|||||||
$result = $object->add_contact($contactid, $typeid, GETPOST("source", 'aZ09'));
|
$result = $object->add_contact($contactid, $typeid, GETPOST("source", 'aZ09'));
|
||||||
|
|
||||||
if ($result >= 0) {
|
if ($result >= 0) {
|
||||||
header("Location: ".$_SERVER['PHP_SELF']."?id=".$object->id.(!empty($withproject)?'&withproject=1':''));
|
header("Location: ".$_SERVER['PHP_SELF']."?id=".((int) $object->id).(!empty($withproject)?'&withproject=1':''));
|
||||||
exit;
|
exit;
|
||||||
} else {
|
} else {
|
||||||
if ($object->error == 'DB_ERROR_RECORD_ALREADY_EXISTS') {
|
if ($object->error == 'DB_ERROR_RECORD_ALREADY_EXISTS') {
|
||||||
@ -119,7 +119,7 @@ if ($action == 'addcontact' && $permission) { // Add a new contact
|
|||||||
$result = $object->delete_contact($lineid);
|
$result = $object->delete_contact($lineid);
|
||||||
|
|
||||||
if ($result >= 0) {
|
if ($result >= 0) {
|
||||||
header("Location: ".$_SERVER['PHP_SELF']."?id=".$object->id.(!empty($withproject)?'&withproject=1':''));
|
header("Location: ".$_SERVER['PHP_SELF']."?id=".((int) $object->id).(!empty($withproject)?'&withproject=1':''));
|
||||||
exit;
|
exit;
|
||||||
} else {
|
} else {
|
||||||
dol_print_error($db);
|
dol_print_error($db);
|
||||||
|
|||||||
@ -29,6 +29,8 @@ require_once DOL_DOCUMENT_ROOT.'/core/lib/company.lib.php';
|
|||||||
require_once DOL_DOCUMENT_ROOT.'/core/lib/project.lib.php';
|
require_once DOL_DOCUMENT_ROOT.'/core/lib/project.lib.php';
|
||||||
require_once DOL_DOCUMENT_ROOT.'/projet/class/project.class.php';
|
require_once DOL_DOCUMENT_ROOT.'/projet/class/project.class.php';
|
||||||
require_once DOL_DOCUMENT_ROOT.'/eventorganization/class/conferenceorbooth.class.php';
|
require_once DOL_DOCUMENT_ROOT.'/eventorganization/class/conferenceorbooth.class.php';
|
||||||
|
require_once DOL_DOCUMENT_ROOT.'/eventorganization/lib/eventorganization_conferenceorbooth.lib.php';
|
||||||
|
require_once DOL_DOCUMENT_ROOT.'/eventorganization/class/conferenceorboothattendee.class.php';
|
||||||
if ($conf->categorie->enabled) {
|
if ($conf->categorie->enabled) {
|
||||||
require_once DOL_DOCUMENT_ROOT.'/categories/class/categorie.class.php';
|
require_once DOL_DOCUMENT_ROOT.'/categories/class/categorie.class.php';
|
||||||
}
|
}
|
||||||
@ -145,10 +147,12 @@ if ($user->socid > 0) { // Protection if external user
|
|||||||
$result = restrictedArea($user, 'eventorganization');
|
$result = restrictedArea($user, 'eventorganization');
|
||||||
if (!$permissiontoread) accessforbidden();
|
if (!$permissiontoread) accessforbidden();
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Actions
|
* Actions
|
||||||
*/
|
*/
|
||||||
if (preg_match('/^set/', $action) && $projectid > 0) {
|
|
||||||
|
if (preg_match('/^set/', $action) && $projectid > 0 && !empty($user->rights->eventorganization->write)) {
|
||||||
$project = new Project($db);
|
$project = new Project($db);
|
||||||
//If "set" fields keys is in projects fields
|
//If "set" fields keys is in projects fields
|
||||||
$project_attr=preg_replace('/^set/', '', $action);
|
$project_attr=preg_replace('/^set/', '', $action);
|
||||||
@ -266,7 +270,7 @@ if ($projectid > 0) {
|
|||||||
//print "userAccess=".$userAccess." userWrite=".$userWrite." userDelete=".$userDelete;
|
//print "userAccess=".$userAccess." userWrite=".$userWrite." userDelete=".$userDelete;
|
||||||
|
|
||||||
$head = project_prepare_head($project);
|
$head = project_prepare_head($project);
|
||||||
print dol_get_fiche_head($head, 'eventorganisation', $langs->trans("Project"), -1, ($project->public ? 'projectpub' : 'project'));
|
print dol_get_fiche_head($head, 'eventorganisation', $langs->trans("ConferenceOrBoothTab"), -1, ($project->public ? 'projectpub' : 'project'));
|
||||||
|
|
||||||
// Project card
|
// Project card
|
||||||
$linkback = '<a href="'.DOL_URL_ROOT.'/projet/list.php?restore_lastsearch_values=1">'.$langs->trans("BackToList").'</a>';
|
$linkback = '<a href="'.DOL_URL_ROOT.'/projet/list.php?restore_lastsearch_values=1">'.$langs->trans("BackToList").'</a>';
|
||||||
@ -292,7 +296,7 @@ if ($projectid > 0) {
|
|||||||
print '<div class="fichehalfleft">';
|
print '<div class="fichehalfleft">';
|
||||||
print '<div class="underbanner clearboth"></div>';
|
print '<div class="underbanner clearboth"></div>';
|
||||||
|
|
||||||
print '<table class="border tableforfield" width="100%">';
|
print '<table class="border tableforfield centpercent">';
|
||||||
|
|
||||||
// Usage
|
// Usage
|
||||||
print '<tr><td class="tdtop">';
|
print '<tr><td class="tdtop">';
|
||||||
@ -366,7 +370,7 @@ if ($projectid > 0) {
|
|||||||
print '<div class="ficheaddleft">';
|
print '<div class="ficheaddleft">';
|
||||||
print '<div class="underbanner clearboth"></div>';
|
print '<div class="underbanner clearboth"></div>';
|
||||||
|
|
||||||
print '<table class="border tableforfield" width="100%">';
|
print '<table class="border tableforfield centpercent">';
|
||||||
|
|
||||||
// Description
|
// Description
|
||||||
print '<td class="titlefield tdtop">'.$langs->trans("Description").'</td><td>';
|
print '<td class="titlefield tdtop">'.$langs->trans("Description").'</td><td>';
|
||||||
@ -397,15 +401,15 @@ if ($projectid > 0) {
|
|||||||
print "</td></tr>";
|
print "</td></tr>";
|
||||||
|
|
||||||
print '<tr><td>';
|
print '<tr><td>';
|
||||||
print $form->editfieldkey('PriceOfRegistration', 'price_registration', '', $project, $permissiontoadd, 'amount', '', 0, 0, 'projectid');
|
print $form->editfieldkey($form->textwithpicto($langs->trans('PriceOfBooth'), $langs->trans("PriceOfBoothHelp")), 'price_booth', '', $project, $permissiontoadd, 'amount', '', 0, 0, 'projectid');
|
||||||
print '</td><td>';
|
print '</td><td>';
|
||||||
print $form->editfieldval('PriceOfRegistration', 'price_registration', $project->price_registration, $project, $permissiontoadd, 'amount', '', 0, 0, '', 0, '', 'projectid');
|
print $form->editfieldval($form->textwithpicto($langs->trans('PriceOfBooth'), $langs->trans("PriceOfBoothHelp")), 'price_booth', $project->price_booth, $project, $permissiontoadd, 'amount', '', 0, 0, '', 0, '', 'projectid');
|
||||||
print "</td></tr>";
|
print "</td></tr>";
|
||||||
|
|
||||||
print '<tr><td>';
|
print '<tr><td>';
|
||||||
print $form->editfieldkey('PriceOfBooth', 'price_booth', '', $project, $permissiontoadd, 'amount', '', 0, 0, 'projectid');
|
print $form->editfieldkey($form->textwithpicto($langs->trans('PriceOfRegistration'), $langs->trans("PriceOfRegistrationHelp")), 'price_registration', '', $project, $permissiontoadd, 'amount', '', 0, 0, 'projectid');
|
||||||
print '</td><td>';
|
print '</td><td>';
|
||||||
print $form->editfieldval('PriceOfBooth', 'price_booth', $project->price_booth, $project, $permissiontoadd, 'amount', '', 0, 0, '', 0, '', 'projectid');
|
print $form->editfieldval($form->textwithpicto($langs->trans('PriceOfRegistration'), $langs->trans("PriceOfRegistrationHelp")), 'price_registration', $project->price_registration, $project, $permissiontoadd, 'amount', '', 0, 0, '', 0, '', 'projectid');
|
||||||
print "</td></tr>";
|
print "</td></tr>";
|
||||||
|
|
||||||
print '<tr><td valign="middle">'.$langs->trans("EventOrganizationICSLink").'</td><td>';
|
print '<tr><td valign="middle">'.$langs->trans("EventOrganizationICSLink").'</td><td>';
|
||||||
@ -414,7 +418,7 @@ if ($projectid > 0) {
|
|||||||
$urlwithroot = $urlwithouturlroot.DOL_URL_ROOT;
|
$urlwithroot = $urlwithouturlroot.DOL_URL_ROOT;
|
||||||
|
|
||||||
// Show message
|
// Show message
|
||||||
$message = '<a target="blank" href="'.$urlwithroot.'/public/agenda/agendaexport.php?format=ical'.($conf->entity > 1 ? "&entity=".$conf->entity : "");
|
$message = '<a target="_blank" href="'.$urlwithroot.'/public/agenda/agendaexport.php?format=ical'.($conf->entity > 1 ? "&entity=".$conf->entity : "");
|
||||||
$message .= '&exportkey='.($conf->global->MAIN_AGENDA_XCAL_EXPORTKEY ?urlencode($conf->global->MAIN_AGENDA_XCAL_EXPORTKEY) : '...');
|
$message .= '&exportkey='.($conf->global->MAIN_AGENDA_XCAL_EXPORTKEY ?urlencode($conf->global->MAIN_AGENDA_XCAL_EXPORTKEY) : '...');
|
||||||
$message .= "&project=".$projectid.'&module='.urlencode('@eventorganization').'&status='.ConferenceOrBooth::STATUS_CONFIRMED.'">'.$langs->trans('DownloadICSLink').img_picto('', 'download', 'class="paddingleft"').'</a>';
|
$message .= "&project=".$projectid.'&module='.urlencode('@eventorganization').'&status='.ConferenceOrBooth::STATUS_CONFIRMED.'">'.$langs->trans('DownloadICSLink').img_picto('', 'download', 'class="paddingleft"').'</a>';
|
||||||
print $message;
|
print $message;
|
||||||
@ -427,7 +431,7 @@ if ($projectid > 0) {
|
|||||||
//print '</span>';
|
//print '</span>';
|
||||||
print '</td><td>';
|
print '</td><td>';
|
||||||
$linksuggest = $dolibarr_main_url_root.'/public/project/index.php?id='.$project->id;
|
$linksuggest = $dolibarr_main_url_root.'/public/project/index.php?id='.$project->id;
|
||||||
$encodedsecurekey = dol_hash($conf->global->EVENTORGANIZATION_SECUREKEY.'conferenceorbooth'.$project->id, 2);
|
$encodedsecurekey = dol_hash($conf->global->EVENTORGANIZATION_SECUREKEY.'conferenceorbooth'.$project->id, 'md5');
|
||||||
$linksuggest .= '&securekey='.urlencode($encodedsecurekey);
|
$linksuggest .= '&securekey='.urlencode($encodedsecurekey);
|
||||||
//print '<div class="urllink">';
|
//print '<div class="urllink">';
|
||||||
//print '<input type="text" value="'.$linksuggest.'" id="linkregister" class="quatrevingtpercent paddingrightonly">';
|
//print '<input type="text" value="'.$linksuggest.'" id="linkregister" class="quatrevingtpercent paddingrightonly">';
|
||||||
@ -440,11 +444,11 @@ if ($projectid > 0) {
|
|||||||
// Link to the subscribe
|
// Link to the subscribe
|
||||||
print '<tr><td>';
|
print '<tr><td>';
|
||||||
//print '<span class="opacitymedium">';
|
//print '<span class="opacitymedium">';
|
||||||
print $langs->trans("PublicAttendeeSubscriptionPage");
|
print $langs->trans("PublicAttendeeSubscriptionGlobalPage");
|
||||||
//print '</span>';
|
//print '</span>';
|
||||||
print '</td><td>';
|
print '</td><td>';
|
||||||
$link_subscription = $dolibarr_main_url_root.'/public/eventorganization/attendee_subscription.php?id='.$project->id;
|
$link_subscription = $dolibarr_main_url_root.'/public/eventorganization/attendee_register.php?id='.$project->id.'&type=global';
|
||||||
$encodedsecurekey = dol_hash($conf->global->EVENTORGANIZATION_SECUREKEY.'conferenceorbooth'.$project->id, 2);
|
$encodedsecurekey = dol_hash($conf->global->EVENTORGANIZATION_SECUREKEY.'conferenceorbooth'.$project->id, 'md5');
|
||||||
$link_subscription .= '&securekey='.urlencode($encodedsecurekey);
|
$link_subscription .= '&securekey='.urlencode($encodedsecurekey);
|
||||||
//print '<div class="urllink">';
|
//print '<div class="urllink">';
|
||||||
//print '<input type="text" value="'.$linkregister.'" id="linkregister" class="quatrevingtpercent paddingrightonly">';
|
//print '<input type="text" value="'.$linkregister.'" id="linkregister" class="quatrevingtpercent paddingrightonly">';
|
||||||
@ -465,6 +469,12 @@ if ($projectid > 0) {
|
|||||||
print dol_get_fiche_end();
|
print dol_get_fiche_end();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!empty($project->id)) {
|
||||||
|
$head = conferenceorboothProjectPrepareHead($project);
|
||||||
|
$tab = 'conferenceorbooth';
|
||||||
|
print dol_get_fiche_head($head, $tab, $langs->trans("Project"), -1, ($project->public ? 'projectpub' : 'project'), 0, '', '');
|
||||||
|
}
|
||||||
|
|
||||||
// Build and execute select
|
// Build and execute select
|
||||||
// --------------------------------------------------------------------
|
// --------------------------------------------------------------------
|
||||||
$sql = 'SELECT ';
|
$sql = 'SELECT ';
|
||||||
@ -631,6 +641,8 @@ print '<input type="hidden" name="sortfield" value="'.$sortfield.'">';
|
|||||||
print '<input type="hidden" name="sortorder" value="'.$sortorder.'">';
|
print '<input type="hidden" name="sortorder" value="'.$sortorder.'">';
|
||||||
print '<input type="hidden" name="contextpage" value="'.$contextpage.'">';
|
print '<input type="hidden" name="contextpage" value="'.$contextpage.'">';
|
||||||
|
|
||||||
|
$title = $langs->trans("ListOfConferencesOrBooths");
|
||||||
|
|
||||||
$newcardbutton = dolGetButtonTitle($langs->trans('New'), '', 'fa fa-plus-circle', DOL_URL_ROOT.'/eventorganization/conferenceorbooth_card.php?action=create'.(!empty($project->id)?'&withproject=1&fk_project='.$project->id:'').(!empty($project->socid)?'&fk_soc='.$project->socid:'').'&backtopage='.urlencode($_SERVER['PHP_SELF']).(!empty($project->id)?'?projectid='.$project->id:''), '', $permissiontoadd);
|
$newcardbutton = dolGetButtonTitle($langs->trans('New'), '', 'fa fa-plus-circle', DOL_URL_ROOT.'/eventorganization/conferenceorbooth_card.php?action=create'.(!empty($project->id)?'&withproject=1&fk_project='.$project->id:'').(!empty($project->socid)?'&fk_soc='.$project->socid:'').'&backtopage='.urlencode($_SERVER['PHP_SELF']).(!empty($project->id)?'?projectid='.$project->id:''), '', $permissiontoadd);
|
||||||
|
|
||||||
print_barre_liste($title, $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder, $massactionbutton, $num, $nbtotalofrecords, $object->picto, 0, $newcardbutton, '', $limit, 0, 0, 1);
|
print_barre_liste($title, $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder, $massactionbutton, $num, $nbtotalofrecords, $object->picto, 0, $newcardbutton, '', $limit, 0, 0, 1);
|
||||||
|
|||||||
@ -47,6 +47,7 @@ $backtopageforcancel = GETPOST('backtopageforcancel', 'alpha');
|
|||||||
//$lineid = GETPOST('lineid', 'int');
|
//$lineid = GETPOST('lineid', 'int');
|
||||||
|
|
||||||
$conf_or_booth_id = GETPOST('conforboothid', 'int');
|
$conf_or_booth_id = GETPOST('conforboothid', 'int');
|
||||||
|
$fk_project = GETPOST('fk_project', 'int');
|
||||||
$withproject = GETPOST('withproject', 'int');
|
$withproject = GETPOST('withproject', 'int');
|
||||||
|
|
||||||
// Initialize technical objects
|
// Initialize technical objects
|
||||||
@ -110,22 +111,33 @@ if (empty($reshook)) {
|
|||||||
$error = 0;
|
$error = 0;
|
||||||
|
|
||||||
if (!empty($withproject)) {
|
if (!empty($withproject)) {
|
||||||
$backurlforlist = dol_buildpath('/eventorganization/conferenceorboothattendee_list.php?withproject=1', 1);
|
$backurlforlist = DOL_URL_ROOT.'/eventorganization/conferenceorboothattendee_list.php?withproject=1';
|
||||||
} else {
|
} else {
|
||||||
$backurlforlist = dol_buildpath('/eventorganization/conferenceorboothattendee_list.php', 1);
|
$backurlforlist = DOL_URL_ROOT.'/eventorganization/conferenceorboothattendee_list.php';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
if (empty($backtopage) || ($cancel && empty($id))) {
|
if (empty($backtopage) || ($cancel && empty($id))) {
|
||||||
if (empty($backtopage) || ($cancel && strpos($backtopage, '__ID__'))) {
|
if (empty($backtopage) || ($cancel && strpos($backtopage, '__ID__'))) {
|
||||||
if (empty($id) && (($action != 'add' && $action != 'create') || $cancel)) {
|
if (empty($id) && (($action != 'add' && $action != 'create') || $cancel)) {
|
||||||
$backtopage = $backurlforlist;
|
$backtopage = $backurlforlist;
|
||||||
} else {
|
} else {
|
||||||
$backtopage = dol_buildpath('/eventorganization/conferenceorboothattendee_card.php', 1).'?id='.($id > 0 ? $id : '__ID__');
|
$backtopage = DOL_URL_ROOT.'/eventorganization/conferenceorboothattendee_card.php?id='.($id > 0 ? $id : '__ID__');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ($cancel) {
|
||||||
|
if (!empty($backtopageforcancel)) {
|
||||||
|
header("Location: ".$backtopageforcancel);
|
||||||
|
exit;
|
||||||
|
} elseif (!empty($backtopage)) {
|
||||||
|
header("Location: ".$backtopage);
|
||||||
|
exit;
|
||||||
|
}
|
||||||
|
$action = '';
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
$triggermodname = 'EVENTORGANIZATION_CONFERENCEORBOOTHATTENDEE_MODIFY'; // Name of trigger action code to execute when we modify record
|
$triggermodname = 'EVENTORGANIZATION_CONFERENCEORBOOTHATTENDEE_MODIFY'; // Name of trigger action code to execute when we modify record
|
||||||
|
|
||||||
// Actions cancel, add, update, update_extras, confirm_validate, confirm_delete, confirm_deleteline, confirm_clone, confirm_close, confirm_setdraft, confirm_reopen
|
// Actions cancel, add, update, update_extras, confirm_validate, confirm_delete, confirm_deleteline, confirm_clone, confirm_close, confirm_setdraft, confirm_reopen
|
||||||
@ -174,7 +186,7 @@ $title = $langs->trans("ConferenceOrBoothAttendee");
|
|||||||
$help_url = '';
|
$help_url = '';
|
||||||
llxHeader('', $title, $help_url);
|
llxHeader('', $title, $help_url);
|
||||||
|
|
||||||
$result = $projectstatic->fetch($confOrBooth->fk_project);
|
$result = $projectstatic->fetch(empty($confOrBooth->fk_project)?$fk_project:$confOrBooth->fk_project);
|
||||||
if (!empty($conf->global->PROJECT_ALLOW_COMMENT_ON_PROJECT) && method_exists($projectstatic, 'fetchComments') && empty($projectstatic->comments)) {
|
if (!empty($conf->global->PROJECT_ALLOW_COMMENT_ON_PROJECT) && method_exists($projectstatic, 'fetchComments') && empty($projectstatic->comments)) {
|
||||||
$projectstatic->fetchComments();
|
$projectstatic->fetchComments();
|
||||||
}
|
}
|
||||||
@ -343,10 +355,44 @@ if (!empty($withproject)) {
|
|||||||
// Show message
|
// Show message
|
||||||
$message = '<a href="'.$urlwithroot.'/public/agenda/agendaexport.php?format=ical'.($conf->entity > 1 ? "&entity=".$conf->entity : "");
|
$message = '<a href="'.$urlwithroot.'/public/agenda/agendaexport.php?format=ical'.($conf->entity > 1 ? "&entity=".$conf->entity : "");
|
||||||
$message .= '&exportkey='.($conf->global->MAIN_AGENDA_XCAL_EXPORTKEY ?urlencode($conf->global->MAIN_AGENDA_XCAL_EXPORTKEY) : '...');
|
$message .= '&exportkey='.($conf->global->MAIN_AGENDA_XCAL_EXPORTKEY ?urlencode($conf->global->MAIN_AGENDA_XCAL_EXPORTKEY) : '...');
|
||||||
$message .= "&project=".$projectstatic->id.'&module='.urlencode('@eventorganization').'&status='.ConferenceOrBooth::STATUS_CONFIRMED.'">'.$langs->trans('DownloadICSLink').'</a>';
|
$message .= "&project=".$projectstatic->id.'&module='.urlencode('@eventorganization').'&status='.ConferenceOrBooth::STATUS_CONFIRMED.'">'.$langs->trans('DownloadICSLink').img_picto('', 'download', 'class="paddingleft"').'</a>';
|
||||||
print $message;
|
print $message;
|
||||||
print "</td></tr>";
|
print "</td></tr>";
|
||||||
|
|
||||||
|
// Link to the submit vote/register page
|
||||||
|
print '<tr><td>';
|
||||||
|
//print '<span class="opacitymedium">';
|
||||||
|
print $form->textwithpicto($langs->trans("SuggestOrVoteForConfOrBooth"), $langs->trans("EvntOrgRegistrationHelpMessage"));
|
||||||
|
//print '</span>';
|
||||||
|
print '</td><td>';
|
||||||
|
$linksuggest = $dolibarr_main_url_root.'/public/project/index.php?id='.$projectstatic->id;
|
||||||
|
$encodedsecurekey = dol_hash($conf->global->EVENTORGANIZATION_SECUREKEY.'conferenceorbooth'.$projectstatic->id, 2);
|
||||||
|
$linksuggest .= '&securekey='.urlencode($encodedsecurekey);
|
||||||
|
//print '<div class="urllink">';
|
||||||
|
//print '<input type="text" value="'.$linksuggest.'" id="linkregister" class="quatrevingtpercent paddingrightonly">';
|
||||||
|
print '<div class="tdoverflowmax200 inline-block valignmiddle"><a target="_blank" href="'.$linksuggest.'" class="quatrevingtpercent">'.$linksuggest.'</a></div>';
|
||||||
|
print '<a target="_blank" href="'.$linksuggest.'">'.img_picto('', 'globe').'</a>';
|
||||||
|
//print '</div>';
|
||||||
|
//print ajax_autoselect("linkregister");
|
||||||
|
print '</td></tr>';
|
||||||
|
|
||||||
|
// Link to the subscribe
|
||||||
|
print '<tr><td>';
|
||||||
|
//print '<span class="opacitymedium">';
|
||||||
|
print $langs->trans("PublicAttendeeSubscriptionGlobalPage");
|
||||||
|
//print '</span>';
|
||||||
|
print '</td><td>';
|
||||||
|
$link_subscription = $dolibarr_main_url_root.'/public/eventorganization/attendee_register.php?id='.$projectstatic->id.'&type=global';
|
||||||
|
$encodedsecurekey = dol_hash($conf->global->EVENTORGANIZATION_SECUREKEY.'conferenceorbooth'.$projectstatic->id, 2);
|
||||||
|
$link_subscription .= '&securekey='.urlencode($encodedsecurekey);
|
||||||
|
//print '<div class="urllink">';
|
||||||
|
//print '<input type="text" value="'.$linkregister.'" id="linkregister" class="quatrevingtpercent paddingrightonly">';
|
||||||
|
print '<div class="tdoverflowmax200 inline-block valignmiddle"><a target="_blank" href="'.$link_subscription.'" class="quatrevingtpercent">'.$link_subscription.'</a></div>';
|
||||||
|
print '<a target="_blank" href="'.$link_subscription.'">'.img_picto('', 'globe').'</a>';
|
||||||
|
//print '</div>';
|
||||||
|
//print ajax_autoselect("linkregister");
|
||||||
|
print '</td></tr>';
|
||||||
|
|
||||||
print '</table>';
|
print '</table>';
|
||||||
|
|
||||||
print '</div>';
|
print '</div>';
|
||||||
@ -370,6 +416,11 @@ if ($action == 'create') {
|
|||||||
if ($confOrBooth->id > 0) {
|
if ($confOrBooth->id > 0) {
|
||||||
print '<input type="hidden" name="conforboothid" value="'.$confOrBooth->id.'">';
|
print '<input type="hidden" name="conforboothid" value="'.$confOrBooth->id.'">';
|
||||||
}
|
}
|
||||||
|
if ($projectstatic->id > 0) {
|
||||||
|
print '<input type="hidden" name="fk_project" value="'.$projectstatic->id.'">';
|
||||||
|
print '<input type="hidden" name="projectid" value="'.$projectstatic->id.'">';
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
print '<input type="hidden" name="action" value="add">';
|
print '<input type="hidden" name="action" value="add">';
|
||||||
if ($backtopage) {
|
if ($backtopage) {
|
||||||
@ -381,9 +432,6 @@ if ($action == 'create') {
|
|||||||
|
|
||||||
print dol_get_fiche_head(array(), '');
|
print dol_get_fiche_head(array(), '');
|
||||||
|
|
||||||
// Set some default values
|
|
||||||
//if (! GETPOSTISSET('fieldname')) $_POST['fieldname'] = 'myvalue';
|
|
||||||
|
|
||||||
print '<table class="border centpercent tableforfieldcreate">'."\n";
|
print '<table class="border centpercent tableforfieldcreate">'."\n";
|
||||||
|
|
||||||
// Common attributes
|
// Common attributes
|
||||||
@ -427,6 +475,9 @@ if (($id || $ref) && $action == 'edit') {
|
|||||||
if ($backtopageforcancel) {
|
if ($backtopageforcancel) {
|
||||||
print '<input type="hidden" name="backtopageforcancel" value="'.$backtopageforcancel.'">';
|
print '<input type="hidden" name="backtopageforcancel" value="'.$backtopageforcancel.'">';
|
||||||
}
|
}
|
||||||
|
if ($projectstatic->id > 0) {
|
||||||
|
print '<input type="hidden" name="fk_project" value="'.$projectstatic->id.'">';
|
||||||
|
}
|
||||||
|
|
||||||
print dol_get_fiche_head();
|
print dol_get_fiche_head();
|
||||||
|
|
||||||
@ -451,7 +502,15 @@ if (($id || $ref) && $action == 'edit') {
|
|||||||
|
|
||||||
// Part to show record
|
// Part to show record
|
||||||
if ($object->id > 0 && (empty($action) || ($action != 'edit' && $action != 'create'))) {
|
if ($object->id > 0 && (empty($action) || ($action != 'edit' && $action != 'create'))) {
|
||||||
$res = $object->fetch_optionals();
|
$object->fetch_optionals();
|
||||||
|
|
||||||
|
$moreparam = '';
|
||||||
|
if ($withproject) {
|
||||||
|
$moreparam .= '&withproject=1';
|
||||||
|
}
|
||||||
|
if ($fk_project) {
|
||||||
|
$moreparam .= '&fk_project='.((int) $fk_project);
|
||||||
|
}
|
||||||
|
|
||||||
$head = conferenceorboothattendeePrepareHead($object);
|
$head = conferenceorboothattendeePrepareHead($object);
|
||||||
print dol_get_fiche_head($head, 'card', $langs->trans("ConferenceOrBoothAttendee"), -1, $object->picto);
|
print dol_get_fiche_head($head, 'card', $langs->trans("ConferenceOrBoothAttendee"), -1, $object->picto);
|
||||||
@ -476,16 +535,6 @@ if ($object->id > 0 && (empty($action) || ($action != 'edit' && $action != 'crea
|
|||||||
// Confirmation of action xxxx
|
// Confirmation of action xxxx
|
||||||
if ($action == 'xxx') {
|
if ($action == 'xxx') {
|
||||||
$formquestion = array();
|
$formquestion = array();
|
||||||
/*
|
|
||||||
$forcecombo=0;
|
|
||||||
if ($conf->browser->name == 'ie') $forcecombo = 1; // There is a bug in IE10 that make combo inside popup crazy
|
|
||||||
$formquestion = array(
|
|
||||||
// 'text' => $langs->trans("ConfirmClone"),
|
|
||||||
// array('type' => 'checkbox', 'name' => 'clone_content', 'label' => $langs->trans("CloneMainAttributes"), 'value' => 1),
|
|
||||||
// array('type' => 'checkbox', 'name' => 'update_prices', 'label' => $langs->trans("PuttingPricesUpToDate"), 'value' => 1),
|
|
||||||
// array('type' => 'other', 'name' => 'idwarehouse', 'label' => $langs->trans("SelectWarehouseForStockDecrease"), 'value' => $formproduct->selectWarehouses(GETPOST('idwarehouse')?GETPOST('idwarehouse'):'ifone', 'idwarehouse', '', 1, 0, 0, '', 0, $forcecombo))
|
|
||||||
);
|
|
||||||
*/
|
|
||||||
$formconfirm = $form->formconfirm($_SERVER["PHP_SELF"].'?id='.$object->id, $langs->trans('XXX'), $text, 'confirm_xxx', $formquestion, 0, 1, 220);
|
$formconfirm = $form->formconfirm($_SERVER["PHP_SELF"].'?id='.$object->id, $langs->trans('XXX'), $text, 'confirm_xxx', $formquestion, 0, 1, 220);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -501,51 +550,15 @@ if ($object->id > 0 && (empty($action) || ($action != 'edit' && $action != 'crea
|
|||||||
// Print form confirm
|
// Print form confirm
|
||||||
print $formconfirm;
|
print $formconfirm;
|
||||||
|
|
||||||
|
|
||||||
// Object card
|
// Object card
|
||||||
// ------------------------------------------------------------
|
// ------------------------------------------------------------
|
||||||
$linkback = '<a href="'.dol_buildpath('/eventorganization/conferenceorboothattendee_list.php', 1).'?restore_lastsearch_values=1&conforboothid='.$confOrBooth->id .$withProjectUrl.'">'.$langs->trans("BackToList").'</a>';
|
$linkback = '<a href="'.dol_buildpath('/eventorganization/conferenceorboothattendee_list.php', 1).'?restore_lastsearch_values=1'.($confOrBooth->id > 0 ? '&conforboothid='.((int) $confOrBooth->id) : '').$moreparam.'">'.$langs->trans("BackToList").'</a>';
|
||||||
|
|
||||||
$morehtmlref = '<div class="refidno">';
|
$morehtmlref = '<div class="refidno">';
|
||||||
/*
|
|
||||||
// Ref customer
|
|
||||||
$morehtmlref.=$form->editfieldkey("RefCustomer", 'ref_client', $object->ref_client, $object, 0, 'string', '', 0, 1);
|
|
||||||
$morehtmlref.=$form->editfieldval("RefCustomer", 'ref_client', $object->ref_client, $object, 0, 'string', '', null, null, '', 1);
|
|
||||||
// Thirdparty
|
|
||||||
$morehtmlref.='<br>'.$langs->trans('ThirdParty') . ' : ' . (is_object($object->thirdparty) ? $object->thirdparty->getNomUrl(1) : '');
|
|
||||||
// Project
|
|
||||||
if (! empty($conf->projet->enabled)) {
|
|
||||||
$langs->load("projects");
|
|
||||||
$morehtmlref .= '<br>'.$langs->trans('Project') . ' ';
|
|
||||||
if ($permissiontoadd) {
|
|
||||||
//if ($action != 'classify') $morehtmlref.='<a class="editfielda" href="' . $_SERVER['PHP_SELF'] . '?action=classify&id=' . $object->id . '">' . img_edit($langs->transnoentitiesnoconv('SetProject')) . '</a> ';
|
|
||||||
$morehtmlref .= ' : ';
|
|
||||||
if ($action == 'classify') {
|
|
||||||
//$morehtmlref .= $form->form_project($_SERVER['PHP_SELF'] . '?id=' . $object->id, $object->socid, $object->fk_project, 'projectid', 0, 0, 1, 1);
|
|
||||||
$morehtmlref .= '<form method="post" action="'.$_SERVER['PHP_SELF'].'?id='.$object->id.'">';
|
|
||||||
$morehtmlref .= '<input type="hidden" name="action" value="classin">';
|
|
||||||
$morehtmlref .= '<input type="hidden" name="token" value="'.newToken().'">';
|
|
||||||
$morehtmlref .= $formproject->select_projects($object->socid, $object->fk_project, 'projectid', $maxlength, 0, 1, 0, 1, 0, 0, '', 1);
|
|
||||||
$morehtmlref .= '<input type="submit" class="button valignmiddle" value="'.$langs->trans("Modify").'">';
|
|
||||||
$morehtmlref .= '</form>';
|
|
||||||
} else {
|
|
||||||
$morehtmlref.=$form->form_project($_SERVER['PHP_SELF'] . '?id=' . $object->id, $object->socid, $object->fk_project, 'none', 0, 0, 0, 1);
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
if (! empty($object->fk_project)) {
|
|
||||||
$proj = new Project($db);
|
|
||||||
$proj->fetch($object->fk_project);
|
|
||||||
$morehtmlref .= ': '.$proj->getNomUrl();
|
|
||||||
} else {
|
|
||||||
$morehtmlref .= '';
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}*/
|
|
||||||
$morehtmlref .= '</div>';
|
$morehtmlref .= '</div>';
|
||||||
|
|
||||||
|
dol_banner_tab($object, 'ref', $linkback, 1, 'ref', 'ref', $morehtmlref, $moreparam);
|
||||||
dol_banner_tab($object, 'ref', $linkback, 1, 'ref', 'ref', $morehtmlref);
|
|
||||||
|
|
||||||
|
|
||||||
print '<div class="fichecenter">';
|
print '<div class="fichecenter">';
|
||||||
print '<div class="fichehalfleft">';
|
print '<div class="fichehalfleft">';
|
||||||
@ -553,9 +566,6 @@ if ($object->id > 0 && (empty($action) || ($action != 'edit' && $action != 'crea
|
|||||||
print '<table class="border centpercent tableforfield">'."\n";
|
print '<table class="border centpercent tableforfield">'."\n";
|
||||||
|
|
||||||
// Common attributes
|
// Common attributes
|
||||||
//$keyforbreak='fieldkeytoswitchonsecondcolumn'; // We change column just before this field
|
|
||||||
//unset($object->fields['fk_project']); // Hide field already shown in banner
|
|
||||||
//unset($object->fields['fk_soc']); // Hide field already shown in banner
|
|
||||||
include DOL_DOCUMENT_ROOT.'/core/tpl/commonfields_view.tpl.php';
|
include DOL_DOCUMENT_ROOT.'/core/tpl/commonfields_view.tpl.php';
|
||||||
|
|
||||||
// Other attributes. Fields from hook formObjectOptions and Extrafields.
|
// Other attributes. Fields from hook formObjectOptions and Extrafields.
|
||||||
@ -634,29 +644,13 @@ if ($object->id > 0 && (empty($action) || ($action != 'edit' && $action != 'crea
|
|||||||
if (empty($reshook)) {
|
if (empty($reshook)) {
|
||||||
// Send
|
// Send
|
||||||
if (empty($user->socid)) {
|
if (empty($user->socid)) {
|
||||||
print dolGetButtonAction($langs->trans('SendMail'), '', 'default', $_SERVER["PHP_SELF"].'?id='.$object->id.'&action=presend&mode=init#formmailbeforetitle');
|
print dolGetButtonAction($langs->trans('SendMail'), '', 'default', $_SERVER["PHP_SELF"].'?id='.$object->id.(!empty($confOrBooth->id)?'&conforboothid='.$confOrBooth->id:'').(!empty($projectstatic->id)?'&fk_project='.$projectstatic->id:'').'&action=presend&mode=init#formmailbeforetitle');
|
||||||
}
|
}
|
||||||
print dolGetButtonAction($langs->trans('Modify'), '', 'default', $_SERVER["PHP_SELF"].'?id='.$object->id.'&conforboothid='.$confOrBooth->id.'&action=edit', '', $permissiontoadd);
|
print dolGetButtonAction($langs->trans('Modify'), '', 'default', $_SERVER["PHP_SELF"].'?id='.$object->id.(!empty($confOrBooth->id)?'&conforboothid='.$confOrBooth->id:'').(!empty($projectstatic->id)?'&fk_project='.$projectstatic->id:'').'&action=edit', '', $permissiontoadd);
|
||||||
|
|
||||||
// Clone
|
// Clone
|
||||||
print dolGetButtonAction($langs->trans('ToClone'), '', 'default', $_SERVER['PHP_SELF'].'?id='.$object->id.'&socid='.$object->socid.'&action=clone&object=scrumsprint', '', $permissiontoadd);
|
print dolGetButtonAction($langs->trans('ToClone'), '', 'default', $_SERVER['PHP_SELF'].'?id='.$object->id.'&socid='.$object->socid.'&action=clone&object=scrumsprint', '', $permissiontoadd);
|
||||||
|
|
||||||
/*
|
|
||||||
if ($permissiontoadd) {
|
|
||||||
if ($object->status == $object::STATUS_ENABLED) {
|
|
||||||
print '<a class="butActionDelete" href="'.$_SERVER["PHP_SELF"].'?id='.$object->id.'&action=disable&token='.newToken().'">'.$langs->trans("Disable").'</a>'."\n";
|
|
||||||
} else {
|
|
||||||
print '<a class="butAction" href="'.$_SERVER["PHP_SELF"].'?id='.$object->id.'&action=enable&token='.newToken().'">'.$langs->trans("Enable").'</a>'."\n";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if ($permissiontoadd) {
|
|
||||||
if ($object->status == $object::STATUS_VALIDATED) {
|
|
||||||
print '<a class="butActionDelete" href="'.$_SERVER["PHP_SELF"].'?id='.$object->id.'&action=close&token='.newToken().'">'.$langs->trans("Cancel").'</a>'."\n";
|
|
||||||
} else {
|
|
||||||
print '<a class="butAction" href="'.$_SERVER["PHP_SELF"].'?id='.$object->id.'&action=reopen&token='.newToken().'">'.$langs->trans("Re-Open").'</a>'."\n";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
|
|
||||||
// Delete (need delete permission, or if draft, just need create/modify permission)
|
// Delete (need delete permission, or if draft, just need create/modify permission)
|
||||||
print dolGetButtonAction($langs->trans('Delete'), '', 'delete', $_SERVER['PHP_SELF'].'?id='.$object->id.'&action=delete', '', $permissiontodelete || ($object->status == $object::STATUS_DRAFT && $permissiontoadd));
|
print dolGetButtonAction($langs->trans('Delete'), '', 'delete', $_SERVER['PHP_SELF'].'?id='.$object->id.'&action=delete', '', $permissiontodelete || ($object->status == $object::STATUS_DRAFT && $permissiontoadd));
|
||||||
|
|||||||
@ -27,22 +27,22 @@ require '../main.inc.php';
|
|||||||
require_once DOL_DOCUMENT_ROOT.'/core/class/html.formcompany.class.php';
|
require_once DOL_DOCUMENT_ROOT.'/core/class/html.formcompany.class.php';
|
||||||
require_once DOL_DOCUMENT_ROOT.'/core/lib/date.lib.php';
|
require_once DOL_DOCUMENT_ROOT.'/core/lib/date.lib.php';
|
||||||
require_once DOL_DOCUMENT_ROOT.'/core/lib/company.lib.php';
|
require_once DOL_DOCUMENT_ROOT.'/core/lib/company.lib.php';
|
||||||
require_once DOL_DOCUMENT_ROOT.'/projet/class/project.class.php';
|
|
||||||
require_once DOL_DOCUMENT_ROOT.'/core/lib/project.lib.php';
|
require_once DOL_DOCUMENT_ROOT.'/core/lib/project.lib.php';
|
||||||
|
require_once DOL_DOCUMENT_ROOT.'/projet/class/project.class.php';
|
||||||
require_once DOL_DOCUMENT_ROOT.'/eventorganization/class/conferenceorbooth.class.php';
|
require_once DOL_DOCUMENT_ROOT.'/eventorganization/class/conferenceorbooth.class.php';
|
||||||
require_once DOL_DOCUMENT_ROOT.'/eventorganization/lib/eventorganization_conferenceorbooth.lib.php';
|
require_once DOL_DOCUMENT_ROOT.'/eventorganization/lib/eventorganization_conferenceorbooth.lib.php';
|
||||||
|
require_once DOL_DOCUMENT_ROOT.'/eventorganization/class/conferenceorboothattendee.class.php';
|
||||||
if ($conf->categorie->enabled) {
|
if ($conf->categorie->enabled) {
|
||||||
require_once DOL_DOCUMENT_ROOT.'/categories/class/categorie.class.php';
|
require_once DOL_DOCUMENT_ROOT.'/categories/class/categorie.class.php';
|
||||||
}
|
}
|
||||||
|
|
||||||
// load eventorganization libraries
|
global $dolibarr_main_url_root;
|
||||||
require_once DOL_DOCUMENT_ROOT.'/eventorganization/class/conferenceorboothattendee.class.php';
|
|
||||||
|
|
||||||
// for other modules
|
// for other modules
|
||||||
//dol_include_once('/othermodule/class/otherobject.class.php');
|
//dol_include_once('/othermodule/class/otherobject.class.php');
|
||||||
|
|
||||||
// Load translation files required by the page
|
// Load translation files required by the page
|
||||||
$langs->loadLangs(array("eventorganization", "other"));
|
$langs->loadLangs(array("eventorganization", "other", "projects"));
|
||||||
|
|
||||||
$action = GETPOST('action', 'aZ09') ?GETPOST('action', 'aZ09') : 'view'; // The action 'add', 'create', 'edit', 'update', 'view', ...
|
$action = GETPOST('action', 'aZ09') ?GETPOST('action', 'aZ09') : 'view'; // The action 'add', 'create', 'edit', 'update', 'view', ...
|
||||||
$massaction = GETPOST('massaction', 'alpha'); // The bulk action (combo box choice into lists)
|
$massaction = GETPOST('massaction', 'alpha'); // The bulk action (combo box choice into lists)
|
||||||
@ -58,7 +58,7 @@ $id = GETPOST('id', 'int');
|
|||||||
$conf_or_booth_id = GETPOST('conforboothid', 'int');
|
$conf_or_booth_id = GETPOST('conforboothid', 'int');
|
||||||
|
|
||||||
$withproject = GETPOST('withproject', 'int');
|
$withproject = GETPOST('withproject', 'int');
|
||||||
$project_ref = GETPOST('project_ref', 'alpha');
|
$fk_project = GETPOST('fk_project', 'int') ? GETPOST('fk_project', 'int') : GETPOST('projectid', 'int');
|
||||||
|
|
||||||
$withProjectUrl='';
|
$withProjectUrl='';
|
||||||
|
|
||||||
@ -159,6 +159,24 @@ if (!$permissiontoread) accessforbidden();
|
|||||||
* Actions
|
* Actions
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
if (preg_match('/^set/', $action) && $projectid > 0 && !empty($user->rights->eventorganization->write)) {
|
||||||
|
$project = new Project($db);
|
||||||
|
//If "set" fields keys is in projects fields
|
||||||
|
$project_attr=preg_replace('/^set/', '', $action);
|
||||||
|
if (array_key_exists($project_attr, $project->fields)) {
|
||||||
|
$result = $project->fetch($projectid);
|
||||||
|
if ($result < 0) {
|
||||||
|
setEventMessages(null, $project->errors, 'errors');
|
||||||
|
} else {
|
||||||
|
$project->{$project_attr}=GETPOST($project_attr);
|
||||||
|
$result=$project->update($user);
|
||||||
|
if ($result < 0) {
|
||||||
|
setEventMessages(null, $project->errors, 'errors');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (GETPOST('cancel', 'alpha')) {
|
if (GETPOST('cancel', 'alpha')) {
|
||||||
$action = 'list';
|
$action = 'list';
|
||||||
$massaction = '';
|
$massaction = '';
|
||||||
@ -208,16 +226,36 @@ if (empty($reshook)) {
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
$form = new Form($db);
|
$form = new Form($db);
|
||||||
|
|
||||||
$now = dol_now();
|
$now = dol_now();
|
||||||
|
|
||||||
|
//$help_url="EN:Module_ConferenceOrBoothAttendee|FR:Module_ConferenceOrBoothAttendee_FR|ES:Módulo_ConferenceOrBoothAttendee";
|
||||||
|
$help_url = '';
|
||||||
|
if ($confOrBooth->id > 0) {
|
||||||
|
$title = $langs->trans('ListOfAttendeesPerConference');
|
||||||
|
} else {
|
||||||
|
$title = $langs->trans('ListOfAttendeesOfEvent');
|
||||||
|
}
|
||||||
|
$morejs = array();
|
||||||
|
$morecss = array();
|
||||||
|
|
||||||
$confOrBooth = new ConferenceOrBooth($db);
|
$confOrBooth = new ConferenceOrBooth($db);
|
||||||
if ($conf_or_booth_id > 0) {
|
if ($conf_or_booth_id > 0) {
|
||||||
$result = $confOrBooth->fetch($conf_or_booth_id);
|
$result = $confOrBooth->fetch($conf_or_booth_id);
|
||||||
if ($result < 0) {
|
if ($result < 0) {
|
||||||
setEventMessages(null, $confOrBooth->errors, 'errors');
|
setEventMessages(null, $confOrBooth->errors, 'errors');
|
||||||
|
} else {
|
||||||
|
$fk_project = $confOrBooth->fk_project;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ($fk_project > 0) {
|
||||||
|
$result = $projectstatic->fetch($fk_project);
|
||||||
|
if ($result < 0) {
|
||||||
|
setEventMessages(null, $projectstatic->errors, 'errors');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
// Build and execute select
|
// Build and execute select
|
||||||
// --------------------------------------------------------------------
|
// --------------------------------------------------------------------
|
||||||
$sql = 'SELECT ';
|
$sql = 'SELECT ';
|
||||||
@ -234,7 +272,9 @@ $reshook = $hookmanager->executeHooks('printFieldListSelect', $parameters, $obje
|
|||||||
$sql .= preg_replace('/^,/', '', $hookmanager->resPrint);
|
$sql .= preg_replace('/^,/', '', $hookmanager->resPrint);
|
||||||
$sql = preg_replace('/,\s*$/', '', $sql);
|
$sql = preg_replace('/,\s*$/', '', $sql);
|
||||||
$sql .= " FROM ".MAIN_DB_PREFIX.$object->table_element." as t";
|
$sql .= " FROM ".MAIN_DB_PREFIX.$object->table_element." as t";
|
||||||
|
if (!empty($confOrBooth->id)) {
|
||||||
$sql .= " INNER JOIN ".MAIN_DB_PREFIX."actioncomm as a on a.id=t.fk_actioncomm AND a.id=".((int) $confOrBooth->id);
|
$sql .= " INNER JOIN ".MAIN_DB_PREFIX."actioncomm as a on a.id=t.fk_actioncomm AND a.id=".((int) $confOrBooth->id);
|
||||||
|
}
|
||||||
if (is_array($extrafields->attributes[$object->table_element]['label']) && count($extrafields->attributes[$object->table_element]['label'])) {
|
if (is_array($extrafields->attributes[$object->table_element]['label']) && count($extrafields->attributes[$object->table_element]['label'])) {
|
||||||
$sql .= " LEFT JOIN ".MAIN_DB_PREFIX.$object->table_element."_extrafields as ef on (t.rowid = ef.fk_object)";
|
$sql .= " LEFT JOIN ".MAIN_DB_PREFIX.$object->table_element."_extrafields as ef on (t.rowid = ef.fk_object)";
|
||||||
}
|
}
|
||||||
@ -247,6 +287,9 @@ if ($object->ismultientitymanaged == 1) {
|
|||||||
} else {
|
} else {
|
||||||
$sql .= " WHERE 1 = 1";
|
$sql .= " WHERE 1 = 1";
|
||||||
}
|
}
|
||||||
|
if (!empty($projectstatic->id)) {
|
||||||
|
$sql .= " AND t.fk_project=".((int) $projectstatic->id);
|
||||||
|
}
|
||||||
foreach ($search as $key => $val) {
|
foreach ($search as $key => $val) {
|
||||||
if (array_key_exists($key, $object->fields)) {
|
if (array_key_exists($key, $object->fields)) {
|
||||||
if ($key == 'status' && $search[$key] == -1) {
|
if ($key == 'status' && $search[$key] == -1) {
|
||||||
@ -329,15 +372,11 @@ if ($num == 1 && !empty($conf->global->MAIN_SEARCH_DIRECT_OPEN_IF_ONLY_ONE) && $
|
|||||||
// Output page
|
// Output page
|
||||||
// --------------------------------------------------------------------
|
// --------------------------------------------------------------------
|
||||||
|
|
||||||
//$help_url="EN:Module_ConferenceOrBoothAttendee|FR:Module_ConferenceOrBoothAttendee_FR|ES:Módulo_ConferenceOrBoothAttendee";
|
|
||||||
$help_url = '';
|
|
||||||
$title = $langs->trans('ListOf', $langs->transnoentitiesnoconv("ConferenceOrBoothAttendee"));
|
|
||||||
$morejs = array();
|
|
||||||
$morecss = array();
|
|
||||||
llxHeader('', $title, $help_url, '', 0, 0, $morejs, $morecss, '', 'classforhorizontalscrolloftabs');
|
llxHeader('', $title, $help_url, '', 0, 0, $morejs, $morecss, '', 'classforhorizontalscrolloftabs');
|
||||||
|
|
||||||
if ($confOrBooth->id > 0) {
|
|
||||||
$result = $projectstatic->fetch($confOrBooth->fk_project);
|
|
||||||
|
if ($projectstatic->id > 0 || $confOrBooth > 0) {
|
||||||
if (!empty($conf->global->PROJECT_ALLOW_COMMENT_ON_PROJECT) && method_exists($projectstatic, 'fetchComments') && empty($projectstatic->comments)) {
|
if (!empty($conf->global->PROJECT_ALLOW_COMMENT_ON_PROJECT) && method_exists($projectstatic, 'fetchComments') && empty($projectstatic->comments)) {
|
||||||
$projectstatic->fetchComments();
|
$projectstatic->fetchComments();
|
||||||
}
|
}
|
||||||
@ -353,6 +392,7 @@ if ($confOrBooth->id > 0) {
|
|||||||
$tab = 'eventorganisation';
|
$tab = 'eventorganisation';
|
||||||
$withProjectUrl = "&withproject=1";
|
$withProjectUrl = "&withproject=1";
|
||||||
$head = project_prepare_head($projectstatic);
|
$head = project_prepare_head($projectstatic);
|
||||||
|
|
||||||
print dol_get_fiche_head($head, $tab, $langs->trans("Project"), -1, ($projectstatic->public ? 'projectpub' : 'project'), 0, '', '');
|
print dol_get_fiche_head($head, $tab, $langs->trans("Project"), -1, ($projectstatic->public ? 'projectpub' : 'project'), 0, '', '');
|
||||||
|
|
||||||
$param = ($mode == 'mine' ? '&mode=mine' : '');
|
$param = ($mode == 'mine' ? '&mode=mine' : '');
|
||||||
@ -446,7 +486,10 @@ if ($confOrBooth->id > 0) {
|
|||||||
|
|
||||||
// Other attributes
|
// Other attributes
|
||||||
$cols = 2;
|
$cols = 2;
|
||||||
//include DOL_DOCUMENT_ROOT . '/core/tpl/extrafields_view.tpl.php';
|
$objectconf = $object;
|
||||||
|
$object = $projectstatic;
|
||||||
|
include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_view.tpl.php';
|
||||||
|
$object = $objectconf;
|
||||||
|
|
||||||
print '</table>';
|
print '</table>';
|
||||||
|
|
||||||
@ -456,7 +499,7 @@ if ($confOrBooth->id > 0) {
|
|||||||
print '<div class="ficheaddleft">';
|
print '<div class="ficheaddleft">';
|
||||||
print '<div class="underbanner clearboth"></div>';
|
print '<div class="underbanner clearboth"></div>';
|
||||||
|
|
||||||
print '<table class="border centpercent">';
|
print '<table class="border tableforfield centpercent">';
|
||||||
|
|
||||||
// Description
|
// Description
|
||||||
print '<td class="titlefield tdtop">'.$langs->trans("Description").'</td><td>';
|
print '<td class="titlefield tdtop">'.$langs->trans("Description").'</td><td>';
|
||||||
@ -470,7 +513,7 @@ if ($confOrBooth->id > 0) {
|
|||||||
print "</td></tr>";
|
print "</td></tr>";
|
||||||
}
|
}
|
||||||
|
|
||||||
print '<tr><td>';
|
print '<tr><td class="nowrap">';
|
||||||
$typeofdata = 'checkbox:'.($projectstatic->accept_conference_suggestions ? ' checked="checked"' : '');
|
$typeofdata = 'checkbox:'.($projectstatic->accept_conference_suggestions ? ' checked="checked"' : '');
|
||||||
$htmltext = $langs->trans("AllowUnknownPeopleSuggestConfHelp");
|
$htmltext = $langs->trans("AllowUnknownPeopleSuggestConfHelp");
|
||||||
print $form->editfieldkey('AllowUnknownPeopleSuggestConf', 'accept_conference_suggestions', '', $projectstatic, 0, $typeofdata, '', 0, 0, 'projectid', $htmltext);
|
print $form->editfieldkey('AllowUnknownPeopleSuggestConf', 'accept_conference_suggestions', '', $projectstatic, 0, $typeofdata, '', 0, 0, 'projectid', $htmltext);
|
||||||
@ -487,15 +530,15 @@ if ($confOrBooth->id > 0) {
|
|||||||
print "</td></tr>";
|
print "</td></tr>";
|
||||||
|
|
||||||
print '<tr><td>';
|
print '<tr><td>';
|
||||||
print $form->editfieldkey('PriceOfRegistration', 'price_registration', '', $projectstatic, 0, 'amount', '', 0, 0, 'projectid');
|
print $form->editfieldkey($form->textwithpicto($langs->trans('PriceOfBooth'), $langs->trans("PriceOfBoothHelp")), 'price_booth', '', $projectstatic, 0, 'amount', '', 0, 0, 'projectid');
|
||||||
print '</td><td>';
|
print '</td><td>';
|
||||||
print $form->editfieldval('PriceOfRegistration', 'price_registration', $projectstatic->price_registration, $projectstatic, 0, 'amount', '', 0, 0, '', 0, '', 'projectid');
|
print $form->editfieldval($form->textwithpicto($langs->trans('PriceOfBooth'), $langs->trans("PriceOfBoothHelp")), 'price_booth', $projectstatic->price_booth, $projectstatic, 0, 'amount', '', 0, 0, '', 0, '', 'projectid');
|
||||||
print "</td></tr>";
|
print "</td></tr>";
|
||||||
|
|
||||||
print '<tr><td>';
|
print '<tr><td>';
|
||||||
print $form->editfieldkey('PriceOfBooth', 'price_booth', '', $projectstatic, 0, 'amount', '', 0, 0, 'projectid');
|
print $form->editfieldkey($form->textwithpicto($langs->trans('PriceOfRegistration'), $langs->trans("PriceOfRegistrationHelp")), 'price_registration', '', $projectstatic, 0, 'amount', '', 0, 0, 'projectid');
|
||||||
print '</td><td>';
|
print '</td><td>';
|
||||||
print $form->editfieldval('PriceOfBooth', 'price_booth', $projectstatic->price_booth, $projectstatic, 0, 'amount', '', 0, 0, '', 0, '', 'projectid');
|
print $form->editfieldval($form->textwithpicto($langs->trans('PriceOfRegistration'), $langs->trans("PriceOfRegistrationHelp")), 'price_registration', $projectstatic->price_registration, $projectstatic, 0, 'amount', '', 0, 0, '', 0, '', 'projectid');
|
||||||
print "</td></tr>";
|
print "</td></tr>";
|
||||||
|
|
||||||
print '<tr><td valign="middle">'.$langs->trans("EventOrganizationICSLink").'</td><td>';
|
print '<tr><td valign="middle">'.$langs->trans("EventOrganizationICSLink").'</td><td>';
|
||||||
@ -504,12 +547,46 @@ if ($confOrBooth->id > 0) {
|
|||||||
$urlwithroot = $urlwithouturlroot.DOL_URL_ROOT;
|
$urlwithroot = $urlwithouturlroot.DOL_URL_ROOT;
|
||||||
|
|
||||||
// Show message
|
// Show message
|
||||||
$message = '<a href="'.$urlwithroot.'/public/agenda/agendaexport.php?format=ical'.($conf->entity > 1 ? "&entity=".$conf->entity : "");
|
$message = '<a target="_blank" href="'.$urlwithroot.'/public/agenda/agendaexport.php?format=ical'.($conf->entity > 1 ? "&entity=".$conf->entity : "");
|
||||||
$message .= '&exportkey='.($conf->global->MAIN_AGENDA_XCAL_EXPORTKEY ?urlencode($conf->global->MAIN_AGENDA_XCAL_EXPORTKEY) : '...');
|
$message .= '&exportkey='.($conf->global->MAIN_AGENDA_XCAL_EXPORTKEY ?urlencode($conf->global->MAIN_AGENDA_XCAL_EXPORTKEY) : '...');
|
||||||
$message .= "&project=".$projectstatic->id.'&module='.urlencode('@eventorganization').'&status='.ConferenceOrBooth::STATUS_CONFIRMED.'">'.$langs->trans('DownloadICSLink').'</a>';
|
$message .= "&project=".$projectstatic->id.'&module='.urlencode('@eventorganization').'&status='.ConferenceOrBooth::STATUS_CONFIRMED.'">'.$langs->trans('DownloadICSLink').img_picto('', 'download', 'class="paddingleft"').'</a>';
|
||||||
print $message;
|
print $message;
|
||||||
print "</td></tr>";
|
print "</td></tr>";
|
||||||
|
|
||||||
|
// Link to the submit vote/register page
|
||||||
|
print '<tr><td>';
|
||||||
|
//print '<span class="opacitymedium">';
|
||||||
|
print $form->textwithpicto($langs->trans("SuggestOrVoteForConfOrBooth"), $langs->trans("EvntOrgRegistrationHelpMessage"));
|
||||||
|
//print '</span>';
|
||||||
|
print '</td><td>';
|
||||||
|
$linksuggest = $dolibarr_main_url_root.'/public/project/index.php?id='.$projectstatic->id;
|
||||||
|
$encodedsecurekey = dol_hash($conf->global->EVENTORGANIZATION_SECUREKEY.'conferenceorbooth'.$projectstatic->id, 'md5');
|
||||||
|
$linksuggest .= '&securekey='.urlencode($encodedsecurekey);
|
||||||
|
//print '<div class="urllink">';
|
||||||
|
//print '<input type="text" value="'.$linksuggest.'" id="linkregister" class="quatrevingtpercent paddingrightonly">';
|
||||||
|
print '<div class="tdoverflowmax200 inline-block valignmiddle"><a target="_blank" href="'.$linksuggest.'" class="quatrevingtpercent">'.$linksuggest.'</a></div>';
|
||||||
|
print '<a target="_blank" href="'.$linksuggest.'">'.img_picto('', 'globe').'</a>';
|
||||||
|
//print '</div>';
|
||||||
|
//print ajax_autoselect("linkregister");
|
||||||
|
print '</td></tr>';
|
||||||
|
|
||||||
|
// Link to the subscribe
|
||||||
|
print '<tr><td>';
|
||||||
|
//print '<span class="opacitymedium">';
|
||||||
|
print $langs->trans("PublicAttendeeSubscriptionGlobalPage");
|
||||||
|
//print '</span>';
|
||||||
|
print '</td><td>';
|
||||||
|
$link_subscription = $dolibarr_main_url_root.'/public/eventorganization/attendee_register.php?id='.$projectstatic->id.'&type=global';
|
||||||
|
$encodedsecurekey = dol_hash($conf->global->EVENTORGANIZATION_SECUREKEY.'conferenceorbooth'.$projectstatic->id, 'md5');
|
||||||
|
$link_subscription .= '&securekey='.urlencode($encodedsecurekey);
|
||||||
|
//print '<div class="urllink">';
|
||||||
|
//print '<input type="text" value="'.$linkregister.'" id="linkregister" class="quatrevingtpercent paddingrightonly">';
|
||||||
|
print '<div class="tdoverflowmax200 inline-block valignmiddle"><a target="_blank" href="'.$link_subscription.'" class="quatrevingtpercent">'.$link_subscription.'</a></div>';
|
||||||
|
print '<a target="_blank" href="'.$link_subscription.'">'.img_picto('', 'globe').'</a>';
|
||||||
|
//print '</div>';
|
||||||
|
//print ajax_autoselect("linkregister");
|
||||||
|
print '</td></tr>';
|
||||||
|
|
||||||
print '</table>';
|
print '</table>';
|
||||||
|
|
||||||
print '</div>';
|
print '</div>';
|
||||||
@ -520,16 +597,18 @@ if ($confOrBooth->id > 0) {
|
|||||||
|
|
||||||
print dol_get_fiche_end();
|
print dol_get_fiche_end();
|
||||||
|
|
||||||
print '<br>';
|
if (empty($confOrBooth->id)) {
|
||||||
|
$head = conferenceorboothProjectPrepareHead($projectstatic);
|
||||||
|
$tab = 'attendees';
|
||||||
|
print dol_get_fiche_head($head, $tab, $langs->trans("Project"), -1, ($project->public ? 'projectpub' : 'project'), 0, '', '');
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ($confOrBooth->id > 0) {
|
||||||
$head = conferenceorboothPrepareHead($confOrBooth, $withproject);
|
$head = conferenceorboothPrepareHead($confOrBooth, $withproject);
|
||||||
|
|
||||||
print dol_get_fiche_head($head, 'attendees', $langs->trans("ConferenceOrBooth"), -1, $object->picto);
|
print dol_get_fiche_head($head, 'attendees', $langs->trans("ConferenceOrBooth"), -1, $object->picto);
|
||||||
|
|
||||||
|
|
||||||
//$help_url = "EN:Module_Projects|FR:Module_Projets|ES:Módulo_Proyectos";
|
|
||||||
$title = $langs->trans("ConferenceOrBooth") . ' - ' . $langs->trans("Attendees") . ' - ' . $confOrBooth->id;
|
|
||||||
|
|
||||||
$object_evt = $object;
|
$object_evt = $object;
|
||||||
$object = $confOrBooth;
|
$object = $confOrBooth;
|
||||||
|
|
||||||
@ -553,6 +632,7 @@ if ($confOrBooth->id > 0) {
|
|||||||
|
|
||||||
print dol_get_fiche_end();
|
print dol_get_fiche_end();
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
$arrayofselected = is_array($toselect) ? $toselect : array();
|
$arrayofselected = is_array($toselect) ? $toselect : array();
|
||||||
|
|
||||||
@ -575,6 +655,9 @@ foreach ($search as $key => $val) {
|
|||||||
if ($confOrBooth->id > 0) {
|
if ($confOrBooth->id > 0) {
|
||||||
$param .= '&conforboothid='.urlencode($confOrBooth->id).$withProjectUrl;
|
$param .= '&conforboothid='.urlencode($confOrBooth->id).$withProjectUrl;
|
||||||
}
|
}
|
||||||
|
if ($projectstatic->id > 0) {
|
||||||
|
$param .= '&fk_project='.urlencode($projectstatic->id).$withProjectUrl;
|
||||||
|
}
|
||||||
|
|
||||||
if ($optioncss != '') {
|
if ($optioncss != '') {
|
||||||
$param .= '&optioncss='.urlencode($optioncss);
|
$param .= '&optioncss='.urlencode($optioncss);
|
||||||
@ -612,9 +695,9 @@ print '<input type="hidden" name="sortfield" value="'.$sortfield.'">';
|
|||||||
print '<input type="hidden" name="sortorder" value="'.$sortorder.'">';
|
print '<input type="hidden" name="sortorder" value="'.$sortorder.'">';
|
||||||
print '<input type="hidden" name="contextpage" value="'.$contextpage.'">';
|
print '<input type="hidden" name="contextpage" value="'.$contextpage.'">';
|
||||||
|
|
||||||
$newcardbutton = dolGetButtonTitle($langs->trans('New'), '', 'fa fa-plus-circle', DOL_URL_ROOT.'/eventorganization/conferenceorboothattendee_card.php?action=create'.(!empty($confOrBooth->id)?'&conforboothid='.$confOrBooth->id:'').$withProjectUrl.'&backtopage='.urlencode($_SERVER['PHP_SELF'].(!empty($confOrBooth->id)?'?conforboothid='.$confOrBooth->id:'').$withProjectUrl), '', $permissiontoadd);
|
$newcardbutton = dolGetButtonTitle($langs->trans('New'), '', 'fa fa-plus-circle', DOL_URL_ROOT.'/eventorganization/conferenceorboothattendee_card.php?action=create'.(!empty($confOrBooth->id)?'&conforboothid='.$confOrBooth->id:'').(!empty($projectstatic->id)?'&fk_project='.$projectstatic->id:'').$withProjectUrl.'&backtopage='.urlencode($_SERVER['PHP_SELF'].'?projectid='.$projectstatic->id.(empty($confOrBooth->id) ? '' : '&conforboothid='.$confOrBooth->id).$withProjectUrl), '', $permissiontoadd);
|
||||||
|
|
||||||
print_barre_liste($title, $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder, $massactionbutton, $num, $nbtotalofrecords, 'object_'.$object->picto, 0, $newcardbutton, '', $limit, 0, 0, 1);
|
print_barre_liste($title, $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder, $massactionbutton, $num, $nbtotalofrecords, $object->picto, 0, $newcardbutton, '', $limit, 0, 0, 1);
|
||||||
|
|
||||||
// Add code for pre mass action (confirmation or email presend form)
|
// Add code for pre mass action (confirmation or email presend form)
|
||||||
$topicmail = "SendConferenceOrBoothAttendeeRef";
|
$topicmail = "SendConferenceOrBoothAttendeeRef";
|
||||||
@ -668,7 +751,7 @@ foreach ($object->fields as $key => $val) {
|
|||||||
$cssforfield .= ($cssforfield ? ' ' : '').'center';
|
$cssforfield .= ($cssforfield ? ' ' : '').'center';
|
||||||
} elseif (in_array($val['type'], array('timestamp'))) {
|
} elseif (in_array($val['type'], array('timestamp'))) {
|
||||||
$cssforfield .= ($cssforfield ? ' ' : '').'nowrap';
|
$cssforfield .= ($cssforfield ? ' ' : '').'nowrap';
|
||||||
} elseif (in_array($val['type'], array('double(24,8)', 'double(6,3)', 'integer', 'real', 'price')) && $val['label'] != 'TechnicalID') {
|
} elseif (in_array($val['type'], array('double(24,8)', 'double(6,3)', 'integer', 'real', 'price')) && !in_array($key, array('rowid', 'ref')) && $val['label'] != 'TechnicalID') {
|
||||||
$cssforfield .= ($cssforfield ? ' ' : '').'right';
|
$cssforfield .= ($cssforfield ? ' ' : '').'right';
|
||||||
}
|
}
|
||||||
if (!empty($arrayfields['t.'.$key]['checked'])) {
|
if (!empty($arrayfields['t.'.$key]['checked'])) {
|
||||||
@ -716,7 +799,7 @@ foreach ($object->fields as $key => $val) {
|
|||||||
$cssforfield .= ($cssforfield ? ' ' : '').'center';
|
$cssforfield .= ($cssforfield ? ' ' : '').'center';
|
||||||
} elseif (in_array($val['type'], array('timestamp'))) {
|
} elseif (in_array($val['type'], array('timestamp'))) {
|
||||||
$cssforfield .= ($cssforfield ? ' ' : '').'nowrap';
|
$cssforfield .= ($cssforfield ? ' ' : '').'nowrap';
|
||||||
} elseif (in_array($val['type'], array('double(24,8)', 'double(6,3)', 'integer', 'real', 'price')) && $val['label'] != 'TechnicalID') {
|
} elseif (in_array($val['type'], array('double(24,8)', 'double(6,3)', 'integer', 'real', 'price')) && !in_array($key, array('rowid', 'ref')) && $val['label'] != 'TechnicalID') {
|
||||||
$cssforfield .= ($cssforfield ? ' ' : '').'right';
|
$cssforfield .= ($cssforfield ? ' ' : '').'right';
|
||||||
}
|
}
|
||||||
if (!empty($arrayfields['t.'.$key]['checked'])) {
|
if (!empty($arrayfields['t.'.$key]['checked'])) {
|
||||||
@ -769,12 +852,12 @@ while ($i < ($limit ? min($num, $limit) : $num)) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (in_array($val['type'], array('timestamp'))) {
|
if (in_array($val['type'], array('timestamp'))) {
|
||||||
$cssforfield .= ($cssforfield ? ' ' : '').'nowrap';
|
$cssforfield .= ($cssforfield ? ' ' : '').'nowrap left';
|
||||||
} elseif ($key == 'ref') {
|
} elseif ($key == 'ref') {
|
||||||
$cssforfield .= ($cssforfield ? ' ' : '').'nowrap';
|
$cssforfield .= ($cssforfield ? ' ' : '').'nowrap';
|
||||||
}
|
}
|
||||||
|
|
||||||
if (in_array($val['type'], array('double(24,8)', 'double(6,3)', 'integer', 'real', 'price')) && !in_array($key, array('rowid', 'status'))) {
|
if (in_array($val['type'], array('double(24,8)', 'double(6,3)', 'integer', 'real', 'price')) && !in_array($key, array('rowid', 'ref', 'status'))) {
|
||||||
$cssforfield .= ($cssforfield ? ' ' : '').'right';
|
$cssforfield .= ($cssforfield ? ' ' : '').'right';
|
||||||
}
|
}
|
||||||
//if (in_array($key, array('fk_soc', 'fk_user', 'fk_warehouse'))) $cssforfield = 'tdoverflowmax100';
|
//if (in_array($key, array('fk_soc', 'fk_user', 'fk_warehouse'))) $cssforfield = 'tdoverflowmax100';
|
||||||
@ -784,7 +867,11 @@ while ($i < ($limit ? min($num, $limit) : $num)) {
|
|||||||
if ($key == 'status') {
|
if ($key == 'status') {
|
||||||
print $object->getLibStatut(5);
|
print $object->getLibStatut(5);
|
||||||
} elseif ($key == 'ref') {
|
} elseif ($key == 'ref') {
|
||||||
print $object->getNomUrl(1, (!empty($withproject)?'conforboothidproject':'conforboothid'));
|
$optionLink = (!empty($withproject)?'conforboothidproject':'conforboothid');
|
||||||
|
if (empty($confOrBooth->id)) {
|
||||||
|
$optionLink='projectid';
|
||||||
|
}
|
||||||
|
print $object->getNomUrl(1, $optionLink);
|
||||||
} else {
|
} else {
|
||||||
print $object->showOutputField($val, $key, $object->$key, '');
|
print $object->showOutputField($val, $key, $object->$key, '');
|
||||||
}
|
}
|
||||||
|
|||||||
@ -42,17 +42,17 @@ function conferenceorboothPrepareHead($object, $with_project = 0)
|
|||||||
$withProjectUrl = "&withproject=1";
|
$withProjectUrl = "&withproject=1";
|
||||||
}
|
}
|
||||||
|
|
||||||
$head[$h][0] = dol_buildpath("/eventorganization/conferenceorbooth_card.php", 1).'?id='.$object->id.$withProjectUrl;
|
$head[$h][0] = DOL_URL_ROOT.'/eventorganization/conferenceorbooth_card.ph?id='.$object->id.$withProjectUrl;
|
||||||
$head[$h][1] = $langs->trans("Card");
|
$head[$h][1] = $langs->trans("Card");
|
||||||
$head[$h][2] = 'card';
|
$head[$h][2] = 'card';
|
||||||
$h++;
|
$h++;
|
||||||
|
|
||||||
$head[$h][0] = dol_buildpath("/eventorganization/conferenceorbooth_contact.php", 1).'?id='.$object->id.$withProjectUrl;
|
$head[$h][0] = DOL_URL_ROOT.'/eventorganization/conferenceorbooth_contact.php?id='.$object->id.$withProjectUrl;
|
||||||
$head[$h][1] = $langs->trans("ContactsAddresses");
|
$head[$h][1] = $langs->trans("ContactsAddresses");
|
||||||
$head[$h][2] = 'contact';
|
$head[$h][2] = 'contact';
|
||||||
$h++;
|
$h++;
|
||||||
|
|
||||||
$head[$h][0] = dol_buildpath("/eventorganization/conferenceorboothattendee_list.php", 1).'?conforboothid='.$object->id.$withProjectUrl;
|
$head[$h][0] = DOL_URL_ROOT.'/eventorganization/conferenceorboothattendee_list.php?conforboothid='.$object->id.$withProjectUrl;
|
||||||
$head[$h][1] = $langs->trans("Attendees");
|
$head[$h][1] = $langs->trans("Attendees");
|
||||||
$head[$h][2] = 'attendees';
|
$head[$h][2] = 'attendees';
|
||||||
// Enable caching of conf or booth count attendees
|
// Enable caching of conf or booth count attendees
|
||||||
@ -106,6 +106,80 @@ function conferenceorboothPrepareHead($object, $with_project = 0)
|
|||||||
return $head;
|
return $head;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Prepare array of tabs for ConferenceOrBooth Project tab
|
||||||
|
*
|
||||||
|
* @param $object Project Project
|
||||||
|
* @return array
|
||||||
|
*/
|
||||||
|
function conferenceorboothProjectPrepareHead($object)
|
||||||
|
{
|
||||||
|
|
||||||
|
global $db, $langs, $conf;
|
||||||
|
|
||||||
|
$langs->load("eventorganization");
|
||||||
|
|
||||||
|
$h = 0;
|
||||||
|
$head = array();
|
||||||
|
|
||||||
|
$head[$h][0] = dol_buildpath("/eventorganization/conferenceorbooth_list.php", 1).'?projectid='.$object->id;
|
||||||
|
$head[$h][1] = $langs->trans("ConferenceOrBooth");
|
||||||
|
$head[$h][2] = 'conferenceorbooth';
|
||||||
|
// Enable caching of conf or booth count attendees
|
||||||
|
$nbAttendees = 0;
|
||||||
|
require_once DOL_DOCUMENT_ROOT.'/core/lib/memory.lib.php';
|
||||||
|
$cachekey = 'count_conferenceorbooth_project_'.$object->id;
|
||||||
|
$dataretrieved = dol_getcache($cachekey);
|
||||||
|
if (!is_null($dataretrieved)) {
|
||||||
|
$nbAttendees = $dataretrieved;
|
||||||
|
} else {
|
||||||
|
require_once DOL_DOCUMENT_ROOT.'/eventorganization/class/conferenceorbooth.class.php';
|
||||||
|
$conforbooth=new ConferenceOrBooth($db);
|
||||||
|
$result = $conforbooth->fetchAll('', '', 0, 0, array('t.fk_project'=>$object->id));
|
||||||
|
if (!is_array($result) && $result<0) {
|
||||||
|
setEventMessages($conforbooth->error, $conforbooth->errors, 'errors');
|
||||||
|
} else {
|
||||||
|
$nbConferenceOrBooth = count($result);
|
||||||
|
}
|
||||||
|
dol_setcache($cachekey, $nbConferenceOrBooth, 120); // If setting cache fails, this is not a problem, so we do not test result.
|
||||||
|
}
|
||||||
|
if ($nbConferenceOrBooth > 0) {
|
||||||
|
$head[$h][1] .= '<span class="badge marginleftonlyshort">'.$nbConferenceOrBooth.'</span>';
|
||||||
|
}
|
||||||
|
$h++;
|
||||||
|
|
||||||
|
$head[$h][0] = dol_buildpath("/eventorganization/conferenceorboothattendee_list.php", 1).'?fk_project='.$object->id.'&withproject=1';
|
||||||
|
$head[$h][1] = $langs->trans("Attendees");
|
||||||
|
$head[$h][2] = 'attendees';
|
||||||
|
// Enable caching of conf or booth count attendees
|
||||||
|
$nbAttendees = 0;
|
||||||
|
require_once DOL_DOCUMENT_ROOT.'/core/lib/memory.lib.php';
|
||||||
|
$cachekey = 'count_attendees_conferenceorbooth_project_'.$object->id;
|
||||||
|
$dataretrieved = dol_getcache($cachekey);
|
||||||
|
if (!is_null($dataretrieved)) {
|
||||||
|
$nbAttendees = $dataretrieved;
|
||||||
|
} else {
|
||||||
|
require_once DOL_DOCUMENT_ROOT.'/eventorganization/class/conferenceorboothattendee.class.php';
|
||||||
|
$attendees=new ConferenceOrBoothAttendee($db);
|
||||||
|
$result = $attendees->fetchAll('', '', 0, 0, array('t.fk_project'=>$object->id));
|
||||||
|
if (!is_array($result) && $result<0) {
|
||||||
|
setEventMessages($attendees->error, $attendees->errors, 'errors');
|
||||||
|
} else {
|
||||||
|
$nbAttendees = count($result);
|
||||||
|
}
|
||||||
|
dol_setcache($cachekey, $nbAttendees, 120); // If setting cache fails, this is not a problem, so we do not test result.
|
||||||
|
}
|
||||||
|
if ($nbAttendees > 0) {
|
||||||
|
$head[$h][1] .= '<span class="badge marginleftonlyshort">'.$nbAttendees.'</span>';
|
||||||
|
}
|
||||||
|
|
||||||
|
complete_head_from_modules($conf, $langs, $object, $head, $h, 'conferenceorboothproject@eventorganization');
|
||||||
|
|
||||||
|
complete_head_from_modules($conf, $langs, $object, $head, $h, 'conferenceorboothproject@eventorganization', 'remove');
|
||||||
|
|
||||||
|
return $head;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Prepare array of tabs for ConferenceOrBoothAttendees
|
* Prepare array of tabs for ConferenceOrBoothAttendees
|
||||||
@ -122,7 +196,7 @@ function conferenceorboothattendeePrepareHead($object)
|
|||||||
$h = 0;
|
$h = 0;
|
||||||
$head = array();
|
$head = array();
|
||||||
|
|
||||||
$head[$h][0] = dol_buildpath("/eventorganization/conferenceorboothattendee_card.php", 1).'?id='.$object->id.'&conforboothid='.$object->fk_actioncomm;
|
$head[$h][0] = DOL_URL_ROOT."/eventorganization/conferenceorboothattendee_card.php?id=".((int) $object->id).($object->fk_actioncomm > 0 ? '&conforboothid='.((int) $object->fk_actioncomm) : '').($object->fk_project > 0 ? '&withproject=1&fk_project='.((int) $object->fk_project) : '');
|
||||||
$head[$h][1] = $langs->trans("Card");
|
$head[$h][1] = $langs->trans("Card");
|
||||||
$head[$h][2] = 'card';
|
$head[$h][2] = 'card';
|
||||||
$h++;
|
$h++;
|
||||||
|
|||||||
@ -235,7 +235,7 @@ $sql .= " typent.code as typent_code,";
|
|||||||
$sql .= " state.code_departement as state_code, state.nom as state_name,";
|
$sql .= " state.code_departement as state_code, state.nom as state_name,";
|
||||||
$sql .= " e.date_creation as date_creation, e.tms as date_update,";
|
$sql .= " e.date_creation as date_creation, e.tms as date_update,";
|
||||||
$sql .= " u.login";
|
$sql .= " u.login";
|
||||||
if ($search_categ_cus) {
|
if (($search_categ_cus > 0) || ($search_categ_cus == -2)) {
|
||||||
$sql .= ", cc.fk_categorie, cc.fk_soc";
|
$sql .= ", cc.fk_categorie, cc.fk_soc";
|
||||||
}
|
}
|
||||||
// Add fields from extrafields
|
// Add fields from extrafields
|
||||||
@ -260,7 +260,7 @@ if ($search_product_category > 0) {
|
|||||||
$sql .= ' LEFT JOIN '.MAIN_DB_PREFIX.'categorie_product as cp ON cp.fk_product=pd.fk_product';
|
$sql .= ' LEFT JOIN '.MAIN_DB_PREFIX.'categorie_product as cp ON cp.fk_product=pd.fk_product';
|
||||||
}
|
}
|
||||||
$sql .= " LEFT JOIN ".MAIN_DB_PREFIX."societe as s ON s.rowid = e.fk_soc";
|
$sql .= " LEFT JOIN ".MAIN_DB_PREFIX."societe as s ON s.rowid = e.fk_soc";
|
||||||
if (!empty($search_categ_cus)) {
|
if (($search_categ_cus > 0) || ($search_categ_cus == -2)) {
|
||||||
$sql .= ' LEFT JOIN '.MAIN_DB_PREFIX."categorie_societe as cc ON s.rowid = cc.fk_soc"; // We'll need this table joined to the select in order to filter by categ
|
$sql .= ' LEFT JOIN '.MAIN_DB_PREFIX."categorie_societe as cc ON s.rowid = cc.fk_soc"; // We'll need this table joined to the select in order to filter by categ
|
||||||
}
|
}
|
||||||
$sql .= " LEFT JOIN ".MAIN_DB_PREFIX."c_country as country on (country.rowid = s.fk_pays)";
|
$sql .= " LEFT JOIN ".MAIN_DB_PREFIX."c_country as country on (country.rowid = s.fk_pays)";
|
||||||
@ -449,7 +449,7 @@ if ($search_datereceipt_end) {
|
|||||||
if ($search_product_category != '') {
|
if ($search_product_category != '') {
|
||||||
$param .= '&search_product_category='.urlencode($search_product_category);
|
$param .= '&search_product_category='.urlencode($search_product_category);
|
||||||
}
|
}
|
||||||
if ($search_categ_cus > 0) {
|
if (($search_categ_cus > 0) || ($search_categ_cus == -2)) {
|
||||||
$param .= '&search_categ_cus='.urlencode($search_categ_cus);
|
$param .= '&search_categ_cus='.urlencode($search_categ_cus);
|
||||||
}
|
}
|
||||||
if ($search_status != '') {
|
if ($search_status != '') {
|
||||||
|
|||||||
@ -981,12 +981,12 @@ class ExpenseReport extends CommonObject
|
|||||||
if ($result) {
|
if ($result) {
|
||||||
$num = $this->db->num_rows($result);
|
$num = $this->db->num_rows($result);
|
||||||
$i = 0;
|
$i = 0;
|
||||||
while ($i < $num) :
|
while ($i < $num) {
|
||||||
$objp = $this->db->fetch_object($result);
|
$objp = $this->db->fetch_object($result);
|
||||||
$total_ht += $objp->total_ht;
|
$total_ht += $objp->total_ht;
|
||||||
$total_tva += $objp->total_tva;
|
$total_tva += $objp->total_tva;
|
||||||
$i++;
|
$i++;
|
||||||
endwhile;
|
}
|
||||||
|
|
||||||
$total_ttc = $total_ht + $total_tva;
|
$total_ttc = $total_ht + $total_tva;
|
||||||
$sql = "UPDATE ".MAIN_DB_PREFIX.$this->table_element." SET";
|
$sql = "UPDATE ".MAIN_DB_PREFIX.$this->table_element." SET";
|
||||||
@ -995,14 +995,14 @@ class ExpenseReport extends CommonObject
|
|||||||
$sql .= " , total_tva = ".price2num($total_tva, 'MT');
|
$sql .= " , total_tva = ".price2num($total_tva, 'MT');
|
||||||
$sql .= " WHERE rowid = ".((int) $id);
|
$sql .= " WHERE rowid = ".((int) $id);
|
||||||
$result = $this->db->query($sql);
|
$result = $this->db->query($sql);
|
||||||
if ($result) :
|
if ($result) {
|
||||||
$this->db->free($result);
|
$this->db->free($result);
|
||||||
return 1;
|
return 1;
|
||||||
else :
|
} else {
|
||||||
$this->error = $this->db->lasterror();
|
$this->error = $this->db->lasterror();
|
||||||
dol_syslog(get_class($this)."::recalculer: Error ".$this->error, LOG_ERR);
|
dol_syslog(get_class($this)."::recalculer: Error ".$this->error, LOG_ERR);
|
||||||
return -3;
|
return -3;
|
||||||
endif;
|
}
|
||||||
} else {
|
} else {
|
||||||
$this->error = $this->db->lasterror();
|
$this->error = $this->db->lasterror();
|
||||||
dol_syslog(get_class($this)."::recalculer: Error ".$this->error, LOG_ERR);
|
dol_syslog(get_class($this)."::recalculer: Error ".$this->error, LOG_ERR);
|
||||||
@ -1749,12 +1749,12 @@ class ExpenseReport extends CommonObject
|
|||||||
$sql .= " WHERE rowid = ".$this->id;
|
$sql .= " WHERE rowid = ".$this->id;
|
||||||
|
|
||||||
$result = $this->db->query($sql);
|
$result = $this->db->query($sql);
|
||||||
if ($result) :
|
if ($result) {
|
||||||
return 1;
|
return 1;
|
||||||
else :
|
} else {
|
||||||
$this->error = $this->db->error();
|
$this->error = $this->db->error();
|
||||||
return -1;
|
return -1;
|
||||||
endif;
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// phpcs:disable PEAR.NamingConventions.ValidFunctionName.ScopeNotCamelCaps
|
// phpcs:disable PEAR.NamingConventions.ValidFunctionName.ScopeNotCamelCaps
|
||||||
@ -1779,12 +1779,12 @@ class ExpenseReport extends CommonObject
|
|||||||
$sql .= " WHERE rowid = ".$this->id;
|
$sql .= " WHERE rowid = ".$this->id;
|
||||||
|
|
||||||
$result = $this->db->query($sql);
|
$result = $this->db->query($sql);
|
||||||
if ($result) :
|
if ($result) {
|
||||||
return 1;
|
return 1;
|
||||||
else :
|
} else {
|
||||||
$this->error = $this->db->error();
|
$this->error = $this->db->error();
|
||||||
return -1;
|
return -1;
|
||||||
endif;
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@ -34,7 +34,7 @@ if (!defined('DOL_APPLICATION_TITLE')) {
|
|||||||
define('DOL_APPLICATION_TITLE', 'Dolibarr');
|
define('DOL_APPLICATION_TITLE', 'Dolibarr');
|
||||||
}
|
}
|
||||||
if (!defined('DOL_VERSION')) {
|
if (!defined('DOL_VERSION')) {
|
||||||
define('DOL_VERSION', '14.0.1'); // a.b.c-alpha, a.b.c-beta, a.b.c-rcX or a.b.c
|
define('DOL_VERSION', '14.0.3'); // a.b.c-alpha, a.b.c-beta, a.b.c-rcX or a.b.c
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!defined('EURO')) {
|
if (!defined('EURO')) {
|
||||||
|
|||||||
@ -224,7 +224,7 @@ class SupplierOrders extends DolibarrApi
|
|||||||
*/
|
*/
|
||||||
public function post($request_data = null)
|
public function post($request_data = null)
|
||||||
{
|
{
|
||||||
if (!DolibarrApiAccess::$user->rights->fournisseur->commande->creer || !DolibarrApiAccess::$user->rights->supplier_order->creer) {
|
if (empty(DolibarrApiAccess::$user->rights->fournisseur->commande->creer) && empty(DolibarrApiAccess::$user->rights->supplier_order->creer)) {
|
||||||
throw new RestException(401, "Insuffisant rights");
|
throw new RestException(401, "Insuffisant rights");
|
||||||
}
|
}
|
||||||
// Check mandatory fields
|
// Check mandatory fields
|
||||||
@ -260,7 +260,7 @@ class SupplierOrders extends DolibarrApi
|
|||||||
*/
|
*/
|
||||||
public function put($id, $request_data = null)
|
public function put($id, $request_data = null)
|
||||||
{
|
{
|
||||||
if (!DolibarrApiAccess::$user->rights->fournisseur->commande->creer || !DolibarrApiAccess::$user->rights->supplier_order->creer) {
|
if (empty(DolibarrApiAccess::$user->rights->fournisseur->commande->creer) && empty(DolibarrApiAccess::$user->rights->supplier_order->creer)) {
|
||||||
throw new RestException(401);
|
throw new RestException(401);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -340,7 +340,7 @@ class SupplierOrders extends DolibarrApi
|
|||||||
*/
|
*/
|
||||||
public function validate($id, $idwarehouse = 0, $notrigger = 0)
|
public function validate($id, $idwarehouse = 0, $notrigger = 0)
|
||||||
{
|
{
|
||||||
if (!DolibarrApiAccess::$user->rights->fournisseur->commande->creer || !DolibarrApiAccess::$user->rights->supplier_order->creer) {
|
if (empty(DolibarrApiAccess::$user->rights->fournisseur->commande->creer) && empty(DolibarrApiAccess::$user->rights->supplier_order->creer)) {
|
||||||
throw new RestException(401);
|
throw new RestException(401);
|
||||||
}
|
}
|
||||||
$result = $this->order->fetch($id);
|
$result = $this->order->fetch($id);
|
||||||
|
|||||||
@ -31,7 +31,7 @@ require_once DOL_DOCUMENT_ROOT."/reception/class/reception.class.php";
|
|||||||
/**
|
/**
|
||||||
* Class to manage table commandefournisseurdispatch
|
* Class to manage table commandefournisseurdispatch
|
||||||
*/
|
*/
|
||||||
class CommandeFournisseurDispatch extends CommonObject
|
class CommandeFournisseurDispatch extends CommonObjectLine
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* @var DoliDB Database handler.
|
* @var DoliDB Database handler.
|
||||||
|
|||||||
@ -748,7 +748,7 @@ if (empty($reshook)) {
|
|||||||
GETPOST('product_desc', 'restricthtml'),
|
GETPOST('product_desc', 'restricthtml'),
|
||||||
$ht,
|
$ht,
|
||||||
price2num(GETPOST('qty'), 'MS'),
|
price2num(GETPOST('qty'), 'MS'),
|
||||||
price2num(GETPOST('remise_percent'), 2),
|
price2num(GETPOST('remise_percent'), '', 2),
|
||||||
$vat_rate,
|
$vat_rate,
|
||||||
$localtax1_rate,
|
$localtax1_rate,
|
||||||
$localtax2_rate,
|
$localtax2_rate,
|
||||||
|
|||||||
@ -538,7 +538,7 @@ if (empty($reshook)) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// If some payments were already done, we change the amount to pay using same prorate
|
// If some payments were already done, we change the amount to pay using same prorate
|
||||||
if (!empty($conf->global->SUPPLIER_INVOICE_ALLOW_REUSE_OF_CREDIT_WHEN_PARTIALLY_REFUNDED)) {
|
if (!empty($conf->global->SUPPLIER_INVOICE_ALLOW_REUSE_OF_CREDIT_WHEN_PARTIALLY_REFUNDED) && $object->type == FactureFournisseur::TYPE_CREDIT_NOTE) {
|
||||||
$alreadypaid = $object->getSommePaiement(); // This can be not 0 if we allow to create credit to reuse from credit notes partially refunded.
|
$alreadypaid = $object->getSommePaiement(); // This can be not 0 if we allow to create credit to reuse from credit notes partially refunded.
|
||||||
if ($alreadypaid && abs($alreadypaid) < abs($object->total_ttc)) {
|
if ($alreadypaid && abs($alreadypaid) < abs($object->total_ttc)) {
|
||||||
$ratio = abs(($object->total_ttc - $alreadypaid) / $object->total_ttc);
|
$ratio = abs(($object->total_ttc - $alreadypaid) / $object->total_ttc);
|
||||||
@ -725,8 +725,8 @@ if (empty($reshook)) {
|
|||||||
$object->date_echeance = $datedue;
|
$object->date_echeance = $datedue;
|
||||||
$object->note_public = GETPOST('note_public', 'restricthtml');
|
$object->note_public = GETPOST('note_public', 'restricthtml');
|
||||||
$object->note_private = GETPOST('note_private', 'restricthtml');
|
$object->note_private = GETPOST('note_private', 'restricthtml');
|
||||||
$object->cond_reglement_id = GETPOST('cond_reglement_id');
|
$object->cond_reglement_id = GETPOST('cond_reglement_id', 'int');
|
||||||
$object->mode_reglement_id = GETPOST('mode_reglement_id');
|
$object->mode_reglement_id = GETPOST('mode_reglement_id', 'int');
|
||||||
$object->fk_account = GETPOST('fk_account', 'int');
|
$object->fk_account = GETPOST('fk_account', 'int');
|
||||||
$object->fk_project = ($tmpproject > 0) ? $tmpproject : null;
|
$object->fk_project = ($tmpproject > 0) ? $tmpproject : null;
|
||||||
$object->fk_incoterms = GETPOST('incoterm_id', 'int');
|
$object->fk_incoterms = GETPOST('incoterm_id', 'int');
|
||||||
@ -736,7 +736,7 @@ if (empty($reshook)) {
|
|||||||
$object->transport_mode_id = GETPOST('transport_mode_id', 'int');
|
$object->transport_mode_id = GETPOST('transport_mode_id', 'int');
|
||||||
|
|
||||||
// Proprietes particulieres a facture de remplacement
|
// Proprietes particulieres a facture de remplacement
|
||||||
$object->fk_facture_source = GETPOST('fac_replacement');
|
$object->fk_facture_source = GETPOST('fac_replacement', 'int');
|
||||||
$object->type = FactureFournisseur::TYPE_REPLACEMENT;
|
$object->type = FactureFournisseur::TYPE_REPLACEMENT;
|
||||||
|
|
||||||
$id = $object->createFromCurrent($user);
|
$id = $object->createFromCurrent($user);
|
||||||
@ -1272,8 +1272,8 @@ if (empty($reshook)) {
|
|||||||
$localtax1_tx = get_localtax($tva_tx, 1, $mysoc, $object->thirdparty);
|
$localtax1_tx = get_localtax($tva_tx, 1, $mysoc, $object->thirdparty);
|
||||||
$localtax2_tx = get_localtax($tva_tx, 2, $mysoc, $object->thirdparty);
|
$localtax2_tx = get_localtax($tva_tx, 2, $mysoc, $object->thirdparty);
|
||||||
|
|
||||||
$remise_percent = price2num(GETPOST('remise_percent'), 2);
|
$remise_percent = price2num(GETPOST('remise_percent'), '', 2);
|
||||||
$pu_ht_devise = price2num(GETPOST('multicurrency_subprice'), 'MU');
|
$pu_ht_devise = price2num(GETPOST('multicurrency_subprice'), 'MU', 2);
|
||||||
|
|
||||||
// Extrafields Lines
|
// Extrafields Lines
|
||||||
$extralabelsline = $extrafields->fetch_name_optionals_label($object->table_element_line);
|
$extralabelsline = $extrafields->fetch_name_optionals_label($object->table_element_line);
|
||||||
|
|||||||
@ -550,9 +550,10 @@ if (empty($reshook)) {
|
|||||||
$nbopenedday = num_open_day($object->date_debut_gmt, $object->date_fin_gmt, 0, 1, $object->halfday);
|
$nbopenedday = num_open_day($object->date_debut_gmt, $object->date_fin_gmt, 0, 1, $object->halfday);
|
||||||
$soldeActuel = $object->getCpforUser($object->fk_user, $object->fk_type);
|
$soldeActuel = $object->getCpforUser($object->fk_user, $object->fk_type);
|
||||||
$newSolde = ($soldeActuel - $nbopenedday);
|
$newSolde = ($soldeActuel - $nbopenedday);
|
||||||
|
$label = $langs->transnoentitiesnoconv("Holidays").' - '.$object->ref;
|
||||||
|
|
||||||
// The modification is added to the LOG
|
// The modification is added to the LOG
|
||||||
$result = $object->addLogCP($user->id, $object->fk_user, $langs->transnoentitiesnoconv("Holidays"), $newSolde, $object->fk_type);
|
$result = $object->addLogCP($user->id, $object->fk_user, $label, $newSolde, $object->fk_type);
|
||||||
if ($result < 0) {
|
if ($result < 0) {
|
||||||
$error++;
|
$error++;
|
||||||
setEventMessages(null, $object->errors, 'errors');
|
setEventMessages(null, $object->errors, 'errors');
|
||||||
|
|||||||
@ -714,12 +714,12 @@ class Holiday extends CommonObject
|
|||||||
// Update status
|
// Update status
|
||||||
$sql = "UPDATE ".MAIN_DB_PREFIX."holiday SET";
|
$sql = "UPDATE ".MAIN_DB_PREFIX."holiday SET";
|
||||||
if (!empty($this->statut) && is_numeric($this->statut)) {
|
if (!empty($this->statut) && is_numeric($this->statut)) {
|
||||||
$sql .= " statut = ".$this->statut.",";
|
$sql .= " statut = ".((int) $this->statut).",";
|
||||||
} else {
|
} else {
|
||||||
$error++;
|
$error++;
|
||||||
}
|
}
|
||||||
$sql .= " ref = '".$this->db->escape($num)."'";
|
$sql .= " ref = '".$this->db->escape($num)."'";
|
||||||
$sql .= " WHERE rowid= ".$this->id;
|
$sql .= " WHERE rowid= ".((int) $this->id);
|
||||||
|
|
||||||
$this->db->begin();
|
$this->db->begin();
|
||||||
|
|
||||||
@ -1937,7 +1937,7 @@ class Holiday extends CommonObject
|
|||||||
*
|
*
|
||||||
* @param int $fk_user_action Id user creation
|
* @param int $fk_user_action Id user creation
|
||||||
* @param int $fk_user_update Id user update
|
* @param int $fk_user_update Id user update
|
||||||
* @param string $label Label
|
* @param string $label Label (Example: 'Leave', 'Manual update', 'Leave request cancelation'...)
|
||||||
* @param int $new_solde New value
|
* @param int $new_solde New value
|
||||||
* @param int $fk_type Type of vacation
|
* @param int $fk_type Type of vacation
|
||||||
* @return int Id of record added, 0 if nothing done, < 0 if KO
|
* @return int Id of record added, 0 if nothing done, < 0 if KO
|
||||||
|
|||||||
@ -411,7 +411,7 @@ a.button:hover {
|
|||||||
/* background-color: rgba(70, 3, 62, 0.3); */
|
/* background-color: rgba(70, 3, 62, 0.3); */
|
||||||
padding: 2px 4px;
|
padding: 2px 4px;
|
||||||
border-radius: 4px;
|
border-radius: 4px;
|
||||||
white-space: nowrap;
|
/* white-space: nowrap; */
|
||||||
}
|
}
|
||||||
.choiceselected {
|
.choiceselected {
|
||||||
background-color: #f4f6f4;
|
background-color: #f4f6f4;
|
||||||
@ -464,7 +464,8 @@ table.tablesupport {
|
|||||||
@media only screen and (max-width: 570px)
|
@media only screen and (max-width: 570px)
|
||||||
{
|
{
|
||||||
.blocksupport {
|
.blocksupport {
|
||||||
width: 90%;
|
width: calc(100% - 4px);
|
||||||
|
padding: 4px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.tablesupport {
|
.tablesupport {
|
||||||
|
|||||||
@ -29,7 +29,7 @@ INSERT INTO llx_c_email_templates (entity, module, type_template, lang, private,
|
|||||||
INSERT INTO llx_c_email_templates (entity, module, type_template, lang, private, fk_user, datec, label, position, enabled, active, topic, content, content_lines, joinfiles) VALUES (0, 'adherent','member','',0,null,null,'(SendingEmailOnNewSubscription)' ,30,'$conf->adherent->enabled',1,'[__[MAIN_INFO_SOCIETE_NOM]__] __(YourSubscriptionWasRecorded)__', '__(Hello)__ __MEMBER_FULLNAME__,<br><br>\n\n__(ThisIsContentOfYourSubscriptionWasRecorded)__<br>\n\n<br><br>\n__(Sincerely)__<br>__USER_SIGNATURE__',null, 1);
|
INSERT INTO llx_c_email_templates (entity, module, type_template, lang, private, fk_user, datec, label, position, enabled, active, topic, content, content_lines, joinfiles) VALUES (0, 'adherent','member','',0,null,null,'(SendingEmailOnNewSubscription)' ,30,'$conf->adherent->enabled',1,'[__[MAIN_INFO_SOCIETE_NOM]__] __(YourSubscriptionWasRecorded)__', '__(Hello)__ __MEMBER_FULLNAME__,<br><br>\n\n__(ThisIsContentOfYourSubscriptionWasRecorded)__<br>\n\n<br><br>\n__(Sincerely)__<br>__USER_SIGNATURE__',null, 1);
|
||||||
INSERT INTO llx_c_email_templates (entity, module, type_template, lang, private, fk_user, datec, label, position, enabled, active, topic, content, content_lines, joinfiles) VALUES (0, 'adherent','member','',0,null,null,'(SendingReminderForExpiredSubscription)',40,'$conf->adherent->enabled',1,'[__[MAIN_INFO_SOCIETE_NOM]__] __(SubscriptionReminderEmail)__', '__(Hello)__ __MEMBER_FULLNAME__,<br><br>\n\n__(ThisIsContentOfSubscriptionReminderEmail)__<br>\n<br>__ONLINE_PAYMENT_TEXT_AND_URL__<br>\n<br><br>\n__(Sincerely)__<br>__USER_SIGNATURE__',null, 0);
|
INSERT INTO llx_c_email_templates (entity, module, type_template, lang, private, fk_user, datec, label, position, enabled, active, topic, content, content_lines, joinfiles) VALUES (0, 'adherent','member','',0,null,null,'(SendingReminderForExpiredSubscription)',40,'$conf->adherent->enabled',1,'[__[MAIN_INFO_SOCIETE_NOM]__] __(SubscriptionReminderEmail)__', '__(Hello)__ __MEMBER_FULLNAME__,<br><br>\n\n__(ThisIsContentOfSubscriptionReminderEmail)__<br>\n<br>__ONLINE_PAYMENT_TEXT_AND_URL__<br>\n<br><br>\n__(Sincerely)__<br>__USER_SIGNATURE__',null, 0);
|
||||||
INSERT INTO llx_c_email_templates (entity, module, type_template, lang, private, fk_user, datec, label, position, enabled, active, topic, content, content_lines, joinfiles) VALUES (0, 'adherent','member','',0,null,null,'(SendingEmailOnCancelation)' ,50,'$conf->adherent->enabled',1,'[__[MAIN_INFO_SOCIETE_NOM]__] __(YourMembershipWasCanceled)__', '__(Hello)__ __MEMBER_FULLNAME__,<br><br>\n\n__(YourMembershipWasCanceled)__<br>\n<br><br>\n__(Sincerely)__<br>__USER_SIGNATURE__',null, 0);
|
INSERT INTO llx_c_email_templates (entity, module, type_template, lang, private, fk_user, datec, label, position, enabled, active, topic, content, content_lines, joinfiles) VALUES (0, 'adherent','member','',0,null,null,'(SendingEmailOnCancelation)' ,50,'$conf->adherent->enabled',1,'[__[MAIN_INFO_SOCIETE_NOM]__] __(YourMembershipWasCanceled)__', '__(Hello)__ __MEMBER_FULLNAME__,<br><br>\n\n__(YourMembershipWasCanceled)__<br>\n<br><br>\n__(Sincerely)__<br>__USER_SIGNATURE__',null, 0);
|
||||||
INSERT INTO llx_c_email_templates (entity, module, type_template, lang, private, fk_user, datec, label, position, enabled, active, topic, content, content_lines, joinfiles) VALUES (0, 'adherent','member','',0,null,null,'(SendingAnEMailToMember)' ,60,'$conf->adherent->enabled',1,'[__[MAIN_INFO_SOCIETE_NOM]__] __(CardContent)__', '__(Hello)__,<br><br>\n\n__(ThisIsContentOfYourCard)__<br>\n__(ID)__ : __ID__<br>\n__(Civiliyty)__ : __MEMBER_CIVILITY__<br>\n__(Firstname)__ : __MEMBER_FIRSTNAME__<br>\n__(Lastname)__ : __MEMBER_LASTNAME__<br>\n__(Fullname)__ : __MEMBER_FULLNAME__<br>\n__(Company)__ : __MEMBER_COMPANY__<br>\n__(Address)__ : __MEMBER_ADDRESS__<br>\n__(Zip)__ : __MEMBER_ZIP__<br>\n__(Town)__ : __MEMBER_TOWN__<br>\n__(Country)__ : __MEMBER_COUNTRY__<br>\n__(Email)__ : __MEMBER_EMAIL__<br>\n__(Birthday)__ : __MEMBER_BIRTH__<br>\n__(Photo)__ : __MEMBER_PHOTO__<br>\n__(Login)__ : __MEMBER_LOGIN__<br>\n__(Password)__ : __MEMBER_PASSWORD__<br>\n__(Phone)__ : __MEMBER_PHONE__<br>\n__(PhonePerso)__ : __MEMBER_PHONEPRO__<br>\n__(PhoneMobile)__ : __MEMBER_PHONEMOBILE__<br><br>\n__(Sincerely)__<br>__USER_SIGNATURE__',null, 0);
|
INSERT INTO llx_c_email_templates (entity, module, type_template, lang, private, fk_user, datec, label, position, enabled, active, topic, content, content_lines, joinfiles) VALUES (0, 'adherent','member','',0,null,null,'(SendingAnEMailToMember)' ,60,'$conf->adherent->enabled',1,'[__[MAIN_INFO_SOCIETE_NOM]__] __(CardContent)__', '__(Hello)__,<br><br>\n\n__(ThisIsContentOfYourCard)__<br>\n__(ID)__ : __ID__<br>\n__(Civility)__ : __MEMBER_CIVILITY__<br>\n__(Firstname)__ : __MEMBER_FIRSTNAME__<br>\n__(Lastname)__ : __MEMBER_LASTNAME__<br>\n__(Fullname)__ : __MEMBER_FULLNAME__<br>\n__(Company)__ : __MEMBER_COMPANY__<br>\n__(Address)__ : __MEMBER_ADDRESS__<br>\n__(Zip)__ : __MEMBER_ZIP__<br>\n__(Town)__ : __MEMBER_TOWN__<br>\n__(Country)__ : __MEMBER_COUNTRY__<br>\n__(Email)__ : __MEMBER_EMAIL__<br>\n__(Birthday)__ : __MEMBER_BIRTH__<br>\n__(Photo)__ : __MEMBER_PHOTO__<br>\n__(Login)__ : __MEMBER_LOGIN__<br>\n__(Phone)__ : __MEMBER_PHONE__<br>\n__(PhonePerso)__ : __MEMBER_PHONEPRO__<br>\n__(PhoneMobile)__ : __MEMBER_PHONEMOBILE__<br><br>\n__(Sincerely)__<br>__USER_SIGNATURE__',null, 0);
|
||||||
|
|
||||||
-- Recruiting
|
-- Recruiting
|
||||||
INSERT INTO llx_c_email_templates (entity, module, type_template, lang, private, fk_user, datec, label, position, enabled, active, topic, content, content_lines, joinfiles) VALUES (0, 'recruitment','recruitmentcandidature_send','',0,null,null,'(AnswerCandidature)' ,100,'$conf->recruitment->enabled',1,'[__[MAIN_INFO_SOCIETE_NOM]__] __(YourCandidature)__', '__(Hello)__ __CANDIDATE_FULLNAME__,<br><br>\n\n__(YourCandidatureAnswerMessage)__<br>__ONLINE_INTERVIEW_SCHEDULER_TEXT_AND_URL__\n<br><br>\n__(Sincerely)__<br>__USER_SIGNATURE__',null, 0);
|
INSERT INTO llx_c_email_templates (entity, module, type_template, lang, private, fk_user, datec, label, position, enabled, active, topic, content, content_lines, joinfiles) VALUES (0, 'recruitment','recruitmentcandidature_send','',0,null,null,'(AnswerCandidature)' ,100,'$conf->recruitment->enabled',1,'[__[MAIN_INFO_SOCIETE_NOM]__] __(YourCandidature)__', '__(Hello)__ __CANDIDATE_FULLNAME__,<br><br>\n\n__(YourCandidatureAnswerMessage)__<br>__ONLINE_INTERVIEW_SCHEDULER_TEXT_AND_URL__\n<br><br>\n__(Sincerely)__<br>__USER_SIGNATURE__',null, 0);
|
||||||
|
|||||||
@ -47,9 +47,9 @@ insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 1
|
|||||||
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 133, 13, '19','0','TVA 19%', 1);
|
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 133, 13, '19','0','TVA 19%', 1);
|
||||||
|
|
||||||
-- ANGOLA (id country=35)
|
-- ANGOLA (id country=35)
|
||||||
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 351, 35, '0','0','VAT Rate 0', 1);
|
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 351, 35, '0','0','VAT rate 0', 1);
|
||||||
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 352, 35, '7','0','VAT reduced rate',1);
|
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 352, 35, '7','0','VAT rate - reduced',1);
|
||||||
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 353, 35, '14','0','VAT standard rate',1);
|
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 353, 35, '14','0','VAT rate - standard',1);
|
||||||
|
|
||||||
-- ARGENTINA (id country=23)
|
-- ARGENTINA (id country=23)
|
||||||
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (231, 23, '0','0','IVA Rate 0', 1);
|
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (231, 23, '0','0','IVA Rate 0', 1);
|
||||||
@ -57,31 +57,31 @@ insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (23
|
|||||||
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (233, 23, '21','0','IVA standard rate',1);
|
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (233, 23, '21','0','IVA standard rate',1);
|
||||||
|
|
||||||
-- AUSTRALIA (id country=28)
|
-- AUSTRALIA (id country=28)
|
||||||
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (281, 28, '0','0','VAT Rate 0', 1);
|
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (281, 28, '0','0','VAT rate 0', 1);
|
||||||
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (282, 28, '10','0','VAT standard rate',1);
|
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (282, 28, '10','0','VAT rate - standard',1);
|
||||||
|
|
||||||
-- AUSTRIA (id country=41)
|
-- AUSTRIA (id country=41)
|
||||||
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (411, 41, '0','0','VAT Rate 0',1);
|
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (411, 41, '0','0','VAT rate 0',1);
|
||||||
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (412, 41, '10','0','VAT reduced rate', 1);
|
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (412, 41, '10','0','VAT rate - reduced', 1);
|
||||||
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (413, 41, '20','0','VAT standard rate',1);
|
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (413, 41, '20','0','VAT rate - standard',1);
|
||||||
|
|
||||||
-- BRASIL (id country=56)
|
-- BRASIL (id country=56)
|
||||||
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (561, 56, '0','0','VAT reduced rate',1);
|
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (561, 56, '0','0','VAT rate - reduced',1);
|
||||||
|
|
||||||
-- BULGARIA (id country=59)
|
-- BULGARIA (id country=59)
|
||||||
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (591, 59, '0','0','VAT Rate 0',1);
|
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (591, 59, '0','0','VAT rate 0',1);
|
||||||
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (592, 59, '7','0','VAT reduced rate', 1);
|
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (592, 59, '7','0','VAT rate - reduced', 1);
|
||||||
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (593, 59, '20','0','VAT standard rate',1);
|
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (593, 59, '20','0','VAT rate - standard',1);
|
||||||
|
|
||||||
-- BELGIUM (id country=2)
|
-- BELGIUM (id country=2)
|
||||||
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 21, 2, '0','0','VAT Rate 0 ou non applicable',1);
|
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 21, 2, '0','0','VAT rate 0 ou non applicable',1);
|
||||||
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 22, 2, '6','0','VAT reduced rate', 1);
|
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 22, 2, '6','0','VAT rate - reduced', 1);
|
||||||
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 23, 2, '21','0','VAT standard rate',1);
|
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 23, 2, '21','0','VAT rate - standard',1);
|
||||||
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 24, 2, '12','0','VAT reduced rate', 1);
|
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 24, 2, '12','0','VAT rate - reduced', 1);
|
||||||
|
|
||||||
-- CANADA (id country=14)
|
-- CANADA (id country=14)
|
||||||
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (141, 14, '0','0','VAT Rate 0',1);
|
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (141, 14, '0','0','VAT rate 0',1);
|
||||||
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (142, 14, '7','0','VAT standard rate',1);
|
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (142, 14, '7','0','VAT rate - standard',1);
|
||||||
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,localtax1,localtax1_type,note,active) values (143, 14,'5','0','9.975','1','GST/TPS and PST/TVQ rate for Province',1);
|
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,localtax1,localtax1_type,note,active) values (143, 14,'5','0','9.975','1','GST/TPS and PST/TVQ rate for Province',1);
|
||||||
--insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,localtax1,localtax1_type,note,active) values (143, 14,'5','0','9.975','1','GST/TPS and PST/TVQ rate for Quebec',1);
|
--insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,localtax1,localtax1_type,note,active) values (143, 14,'5','0','9.975','1','GST/TPS and PST/TVQ rate for Quebec',1);
|
||||||
--insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,localtax1,localtax1_type,note,active) values (144, 14,'5','0','7','1','GST/TPS and PST/TVQ rate for British Columbia',1);
|
--insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,localtax1,localtax1_type,note,active) values (144, 14,'5','0','7','1','GST/TPS and PST/TVQ rate for British Columbia',1);
|
||||||
@ -89,43 +89,43 @@ insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,localtax1,localtax1_typ
|
|||||||
|
|
||||||
|
|
||||||
-- CAMEROUN (id country=24)
|
-- CAMEROUN (id country=24)
|
||||||
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (241, 24, '0','0','VAT Rate 0',1);
|
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (241, 24, '0','0','VAT rate 0',1);
|
||||||
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (242, 24, '19.25','0','VAT standard rate',1);
|
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (242, 24, '19.25','0','VAT rate - standard',1);
|
||||||
|
|
||||||
-- CHILE (id country=67)
|
-- CHILE (id country=67)
|
||||||
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (671, 67, '0','0','VAT Rate 0',1);
|
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (671, 67, '0','0','VAT rate 0',1);
|
||||||
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (672, 67, '19','0','VAT standard rate',1);
|
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (672, 67, '19','0','VAT rate - standard',1);
|
||||||
|
|
||||||
-- CHINA (id country=9)
|
-- CHINA (id country=9)
|
||||||
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 91, 9, '0','0','VAT Rate 0',1);
|
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 91, 9, '0','0','VAT rate 0',1);
|
||||||
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 92, 9, '13','0','VAT reduced rate 0',1);
|
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 92, 9, '13','0','VAT rate - reduced 0',1);
|
||||||
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 93, 9, '3','0','VAT super reduced rate 0',1);
|
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 93, 9, '3','0','VAT rate - super-reduced 0',1);
|
||||||
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 94, 9, '17','0','VAT standard rate',1);
|
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 94, 9, '17','0','VAT rate - standard',1);
|
||||||
|
|
||||||
-- CONGO = REPUBLIQUE DU CONGO (id country=72)
|
-- CONGO = REPUBLIQUE DU CONGO (id country=72)
|
||||||
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (721, 72, '0','0','VAT Rate 0',1);
|
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (721, 72, '0','0','VAT rate 0',1);
|
||||||
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,localtax1,localtax1_type,note,active) values (722, 72, '18','0', '0.9', '1', 'VAT Rate 18+0.9', 1);
|
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,localtax1,localtax1_type,note,active) values (722, 72, '18','0', '0.9', '1', 'VAT rate 18+0.9', 1);
|
||||||
|
|
||||||
-- CYPRUS (id country=78)
|
-- CYPRUS (id country=78)
|
||||||
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (781, 78, '0','0','VAT Rate 0',1);
|
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (781, 78, '0','0','VAT rate 0',1);
|
||||||
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (782, 78, '9','0','VAT Rate 9',1);
|
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (782, 78, '9','0','VAT rate 9',1);
|
||||||
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (783, 78, '5','0','VAT Rate 5',1);
|
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (783, 78, '5','0','VAT rate 5',1);
|
||||||
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (784, 78, '19','0','VAT standard rate',1);
|
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (784, 78, '19','0','VAT rate - standard',1);
|
||||||
|
|
||||||
-- DANMERK (id country=80)
|
-- DANMERK (id country=80)
|
||||||
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (801, 80, '0','0','VAT Rate 0',1);
|
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (801, 80, '0','0','VAT rate 0',1);
|
||||||
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (802, 80, '25','0','VAT standard rate',1);
|
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (802, 80, '25','0','VAT rate - standard',1);
|
||||||
|
|
||||||
-- FRANCE (id country=1)
|
-- FRANCE (id country=1)
|
||||||
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 11, 1, '0','0','VAT Rate 0 ou non applicable',1);
|
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 11, 1, '0','0','VAT rate 0 ou non applicable',1);
|
||||||
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 12, 1, '20','0','VAT standard rate (France hors DOM-TOM)',1);
|
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 12, 1, '20','0','VAT rate - standard (France hors DOM-TOM)',1);
|
||||||
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 13, 1, '10','0','VAT reduced rate',1);
|
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 13, 1, '10','0','VAT rate - reduced',1);
|
||||||
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 14, 1, '5.5','0','VAT reduced rate (France hors DOM-TOM)',1);
|
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 14, 1, '5.5','0','VAT rate - reduced (France hors DOM-TOM)',1);
|
||||||
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 15, 1, '2.1','0','VAT super-reduced rate',1);
|
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 15, 1, '2.1','0','VAT rate - super-reduced',1);
|
||||||
insert into llx_c_tva(rowid,fk_pays,taux,code,recuperableonly,note,active) values (16, 1, '8.5', '85', '0', 'VAT standard rate (DOM sauf Guyane et Saint-Martin)',0);
|
insert into llx_c_tva(rowid,fk_pays,taux,code,recuperableonly,note,active) values (16, 1, '8.5', '85', '0', 'VAT rate - standard (DOM sauf Guyane et Saint-Martin)',0);
|
||||||
insert into llx_c_tva(rowid,fk_pays,taux,code,recuperableonly,note,active) values (17, 1, '8.5', '85NPR', '1', 'VAT standard rate (DOM sauf Guyane et Saint-Martin), non perçu par le vendeur mais récupérable par acheteur',0);
|
insert into llx_c_tva(rowid,fk_pays,taux,code,recuperableonly,note,active) values (17, 1, '8.5', '85NPR', '1', 'VAT rate - standard (DOM sauf Guyane et Saint-Martin), non perçu par le vendeur mais récupérable par acheteur',0);
|
||||||
insert into llx_c_tva(rowid,fk_pays,taux,code,recuperableonly,localtax1,localtax1_type,note,active) values (18, 1, '8.5', '85NPROM', '1', 2, 3, 'VAT standard rate (DOM sauf Guyane et Saint-Martin), NPR, Octroi de Mer',0);
|
insert into llx_c_tva(rowid,fk_pays,taux,code,recuperableonly,localtax1,localtax1_type,note,active) values (18, 1, '8.5', '85NPROM', '1', 2, 3, 'VAT rate - standard (DOM sauf Guyane et Saint-Martin), NPR, Octroi de Mer',0);
|
||||||
insert into llx_c_tva(rowid,fk_pays,taux,code,recuperableonly,localtax1,localtax1_type,localtax2,localtax2_type,note,active) values (19, 1, '8.5', '85NPROMOMR', '1', 2, 3, 2.5, 3, 'VAT standard rate (DOM sauf Guyane et Saint-Martin), NPR, Octroi de Mer et Octroi de Mer Regional',0);
|
insert into llx_c_tva(rowid,fk_pays,taux,code,recuperableonly,localtax1,localtax1_type,localtax2,localtax2_type,note,active) values (19, 1, '8.5', '85NPROMOMR', '1', 2, 3, 2.5, 3, 'VAT rate - standard (DOM sauf Guyane et Saint-Martin), NPR, Octroi de Mer et Octroi de Mer Regional',0);
|
||||||
|
|
||||||
-- GERMANY (id country=5)
|
-- GERMANY (id country=5)
|
||||||
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 51, 5, '0','0','No VAT', 1);
|
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 51, 5, '0','0','No VAT', 1);
|
||||||
@ -147,11 +147,11 @@ insert into llx_c_tva(rowid,fk_pays,taux,localtax1,localtax1_type,localtax2,loca
|
|||||||
|
|
||||||
-- ICELAND (id country=116)
|
-- ICELAND (id country=116)
|
||||||
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1161, 116, '0','0','VAT rate 0',1);
|
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1161, 116, '0','0','VAT rate 0',1);
|
||||||
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1163, 116,'25.5','0','VAT standard rate',1);
|
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1163, 116,'25.5','0','VAT rate - standard',1);
|
||||||
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1162, 116, '7','0','VAT reduced rate',1);
|
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1162, 116, '7','0','VAT rate - reduced',1);
|
||||||
|
|
||||||
-- INDIA (id country=117)
|
-- INDIA (id country=117)
|
||||||
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1171, 117, '0','0','VAT Rate 0', 0);
|
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1171, 117, '0','0','VAT rate 0', 0);
|
||||||
|
|
||||||
insert into llx_c_tva(rowid,fk_pays,code,taux,localtax1,localtax1_type,localtax2,localtax2_type,recuperableonly,note,active) values (1172, 117, 'C+S-5' , 0, 2.5, '1', 2.5, '1', 0, 'CGST+SGST - Same state sales', 1);
|
insert into llx_c_tva(rowid,fk_pays,code,taux,localtax1,localtax1_type,localtax2,localtax2_type,recuperableonly,note,active) values (1172, 117, 'C+S-5' , 0, 2.5, '1', 2.5, '1', 0, 'CGST+SGST - Same state sales', 1);
|
||||||
insert into llx_c_tva(rowid,fk_pays,code,taux,localtax1,localtax1_type,localtax2,localtax2_type,recuperableonly,note,active) values (1173, 117, 'I-5' , 5, 0, '0', 0, '0', 0, 'IGST', 1);
|
insert into llx_c_tva(rowid,fk_pays,code,taux,localtax1,localtax1_type,localtax2,localtax2_type,recuperableonly,note,active) values (1173, 117, 'I-5' , 5, 0, '0', 0, '0', 0, 'IGST', 1);
|
||||||
@ -163,54 +163,58 @@ insert into llx_c_tva(rowid,fk_pays,code,taux,localtax1,localtax1_type,localtax2
|
|||||||
insert into llx_c_tva(rowid,fk_pays,code,taux,localtax1,localtax1_type,localtax2,localtax2_type,recuperableonly,note,active) values (1179, 117, 'I-28' , 28, 0, '0', 0, '0', 0, 'IGST', 1);
|
insert into llx_c_tva(rowid,fk_pays,code,taux,localtax1,localtax1_type,localtax2,localtax2_type,recuperableonly,note,active) values (1179, 117, 'I-28' , 28, 0, '0', 0, '0', 0, 'IGST', 1);
|
||||||
|
|
||||||
-- IRELAND (id country=8)
|
-- IRELAND (id country=8)
|
||||||
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 81, 8, '0','0','VAT Rate 0',1);
|
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 81, 8, '0','0','VAT rate 0',1);
|
||||||
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 82, 8, '23','0','VAT standard rate',1);
|
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 82, 8, '23','0','VAT rate - standard',1);
|
||||||
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 83, 8, '13.5','0','VAT reduced rate',1);
|
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 83, 8, '13.5','0','VAT rate - reduced',1);
|
||||||
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 84, 8, '9','0','VAT reduced rate',1);
|
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 84, 8, '9','0','VAT rate - reduced',1);
|
||||||
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 85, 8, '4.8','0','VAT reduced rate',1);
|
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 85, 8, '4.8','0','VAT rate - reduced',1);
|
||||||
|
|
||||||
-- ITALY (id country=3)
|
-- ITALY (id country=3)
|
||||||
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 31, 3, '0','0','VAT Rate 0',1);
|
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 31, 3, '0','0','VAT rate 0',1);
|
||||||
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 32, 3, '10','0','VAT reduced rate',1);
|
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 32, 3, '10','0','VAT rate - reduced',1);
|
||||||
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 33, 3, '4','0','VAT super-reduced rate',1);
|
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 33, 3, '4','0','VAT rate - super-reduced',1);
|
||||||
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 34, 3, '22','0','VAT standard rate',1);
|
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 34, 3, '22','0','VAT rate - standard',1);
|
||||||
|
|
||||||
-- IVORY COST (id country=21)
|
-- IVORY COST (id country=21)
|
||||||
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,localtax1,localtax1_type,localtax2,localtax2_type,note,active) values (211, 21, '0','0',0,0,0,0,'IVA Rate 0',1);
|
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,localtax1,localtax1_type,localtax2,localtax2_type,note,active) values (211, 21, '0','0',0,0,0,0,'IVA Rate 0',1);
|
||||||
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,localtax1,localtax1_type,localtax2,localtax2_type,note,active) values (212, 21, '18','0',7.5,2,0,0,'IVA standard rate',1);
|
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,localtax1,localtax1_type,localtax2,localtax2_type,note,active) values (212, 21, '18','0',7.5,2,0,0,'IVA standard rate',1);
|
||||||
|
|
||||||
-- JAPAN (id country=123)
|
-- JAPAN (id country=123)
|
||||||
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1231, 123, '0','0','VAT Rate 0',1);
|
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1231, 123, '0','0','VAT rate 0',1);
|
||||||
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1232, 123, '5','0','VAT Rate 5',1);
|
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1232, 123, '5','0','VAT rate 5',1);
|
||||||
|
|
||||||
-- LUXEMBOURG (id country=140)
|
-- LUXEMBOURG (id country=140)
|
||||||
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1401, 140, '0','0','VAT Rate 0', 1);
|
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1401, 140, '0','0','VAT rate 0', 1);
|
||||||
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1402, 140, '14','0','VAT intermediary rate',1);
|
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1402, 140, '14','0','VAT rate - intermediary',1);
|
||||||
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1403, 140, '8','0','VAT reduced rate', 1);
|
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1403, 140, '8','0','VAT rate - reduced', 1);
|
||||||
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1404, 140, '3','0','VAT super-reduced rate', 1);
|
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1404, 140, '3','0','VAT rate - super-reduced', 1);
|
||||||
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1405, 140, '17','0','VAT standard rate',1);
|
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1405, 140, '17','0','VAT rate - standard',1);
|
||||||
|
|
||||||
|
-- MALI (id country=147)
|
||||||
|
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1471, 147, '0','0','VAT rate 0', 1);
|
||||||
|
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1471, 147, '18','0','VAT rate - standard', 1);
|
||||||
|
|
||||||
-- MONACO (id country=27)
|
-- MONACO (id country=27)
|
||||||
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 271, 27, '0','0','VAT Rate 0 ou non applicable',1);
|
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 271, 27, '0','0','VAT rate 0 ou non applicable',1);
|
||||||
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 272, 27, '8.5','0','VAT standard rate (DOM sauf Guyane et Saint-Martin)',0);
|
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 272, 27, '8.5','0','VAT rate - standard (DOM sauf Guyane et Saint-Martin)',0);
|
||||||
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 273, 27, '8.5','1','VAT standard rate (DOM sauf Guyane et Saint-Martin), non perçu par le vendeur mais récupérable par acheteur',0);
|
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 273, 27, '8.5','1','VAT rate - standard (DOM sauf Guyane et Saint-Martin), non perçu par le vendeur mais récupérable par acheteur',0);
|
||||||
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 274, 27, '5.5','0','VAT reduced rate (France hors DOM-TOM)',0);
|
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 274, 27, '5.5','0','VAT rate - reduced (France hors DOM-TOM)',0);
|
||||||
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 275, 27,'19.6','0','VAT standard rate (France hors DOM-TOM)',1);
|
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 275, 27,'19.6','0','VAT rate - standard (France hors DOM-TOM)',1);
|
||||||
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 276, 27, '2.1','0','VAT super-reduced rate',1);
|
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 276, 27, '2.1','0','VAT rate - super-reduced',1);
|
||||||
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 277, 27, '7','0','VAT reduced rate',1);
|
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 277, 27, '7','0','VAT rate - reduced',1);
|
||||||
|
|
||||||
-- MAROCO (id country=12)
|
-- MAROCO (id country=12)
|
||||||
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 121, 12, '0','0','VAT Rate 0', 1);
|
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 121, 12, '0','0','VAT rate 0', 1);
|
||||||
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 122, 12, '14','0','VAT reduced rate',1);
|
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 122, 12, '14','0','VAT rate - reduced',1);
|
||||||
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 123, 12, '10','0','VAT reduced rate',1);
|
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 123, 12, '10','0','VAT rate - reduced',1);
|
||||||
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 124, 12, '7','0','VAT super-reduced rate', 1);
|
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 124, 12, '7','0','VAT rate - super-reduced', 1);
|
||||||
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 125, 12, '20','0','VAT standard rate',1);
|
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 125, 12, '20','0','VAT rate - standard',1);
|
||||||
|
|
||||||
-- MALTA (id country=148)
|
-- MALTA (id country=148)
|
||||||
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1481, 148, '0','0','VAT Rate 0', 1);
|
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1481, 148, '0','0','VAT rate 0', 1);
|
||||||
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1482, 148, '7','0','VAT reduced rate',1);
|
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1482, 148, '7','0','VAT rate - reduced',1);
|
||||||
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1483, 148, '5','0','VAT super-reduced rate', 1);
|
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1483, 148, '5','0','VAT rate - super-reduced', 1);
|
||||||
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1484, 148, '18','0','VAT standard rate',1);
|
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1484, 148, '18','0','VAT rate - standard',1);
|
||||||
|
|
||||||
-- NEDERLAND (id country=17)
|
-- NEDERLAND (id country=17)
|
||||||
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 171, 17, '0','0','0 BTW tarief', 1);
|
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 171, 17, '0','0','0 BTW tarief', 1);
|
||||||
@ -219,96 +223,96 @@ insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 1
|
|||||||
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 174, 17, '21','0','Algemeen BTW tarief (vanaf 1 oktober 2012)',0);
|
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 174, 17, '21','0','Algemeen BTW tarief (vanaf 1 oktober 2012)',0);
|
||||||
|
|
||||||
-- NEW CALEDONIA (id country=165)
|
-- NEW CALEDONIA (id country=165)
|
||||||
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1651, 165, '0','0','VAT Rate 0', 1);
|
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1651, 165, '0','0','VAT rate 0', 1);
|
||||||
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1652, 165, '3','0','VAT standard 3', 1);
|
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1652, 165, '3','0','VAT standard 3', 1);
|
||||||
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1653, 165, '6','0','VAT standard 6', 1);
|
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1653, 165, '6','0','VAT standard 6', 1);
|
||||||
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1654, 165, '11','0','VAT standard rate', 1);
|
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1654, 165, '11','0','VAT rate - standard', 1);
|
||||||
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1655, 165, '22','0','VAT standard high', 1);
|
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1655, 165, '22','0','VAT standard high', 1);
|
||||||
|
|
||||||
-- NEW ZEALAND (id country=166)
|
-- NEW ZEALAND (id country=166)
|
||||||
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1661, 166, '0','0','VAT Rate 0', 1);
|
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1661, 166, '0','0','VAT rate 0', 1);
|
||||||
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1662, 166, '15','0','VAT standard rate', 1);
|
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1662, 166, '15','0','VAT rate - standard', 1);
|
||||||
|
|
||||||
-- NIGERIA (id country=169)
|
-- NIGERIA (id country=169)
|
||||||
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1691, 169, '0','0','VAT Rate 0', 1);
|
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1691, 169, '0','0','VAT rate 0', 1);
|
||||||
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1692, 169, '5','0','VAT standard rate', 1);
|
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1692, 169, '5','0','VAT rate - standard', 1);
|
||||||
|
|
||||||
-- NORWAY (id country=173)
|
-- NORWAY (id country=173)
|
||||||
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1731, 173, '0','0','VAT Rate 0', 1);
|
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1731, 173, '0','0','VAT rate 0', 1);
|
||||||
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1732, 173, '14','0','VAT reduced rate', 1);
|
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1732, 173, '14','0','VAT rate - reduced', 1);
|
||||||
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1733, 173, '8','0','VAT reduced rate', 1);
|
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1733, 173, '8','0','VAT rate - reduced', 1);
|
||||||
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1734, 173, '25','0','VAT standard rate', 1);
|
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1734, 173, '25','0','VAT rate - standard', 1);
|
||||||
|
|
||||||
-- PANAMA (id country=178)
|
-- PANAMA (id country=178)
|
||||||
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1781, 178, '0','0','ITBMS Rate 0',1);
|
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1781, 178, '0','0','ITBMS Rate 0',1);
|
||||||
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1782, 178, '7','0','ITBMS standard rate',1);
|
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1782, 178, '7','0','ITBMS standard rate',1);
|
||||||
|
|
||||||
-- PERU (id country=181)
|
-- PERU (id country=181)
|
||||||
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1811, 181, '0','0','VAT Rate 0',1);
|
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1811, 181, '0','0','VAT rate 0',1);
|
||||||
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1818, 181, '18','0','VAT standard rate',1);
|
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1818, 181, '18','0','VAT rate - standard',1);
|
||||||
|
|
||||||
-- POLAND (id country=184)
|
-- POLAND (id country=184)
|
||||||
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1841, 184, '0','0','VAT Rate 0', 1);
|
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1841, 184, '0','0','VAT rate 0', 1);
|
||||||
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1842, 184, '8','0','VAT reduced rate',1);
|
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1842, 184, '8','0','VAT rate - reduced',1);
|
||||||
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1843, 184, '3','0','VAT reduced rate',1);
|
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1843, 184, '3','0','VAT rate - reduced',1);
|
||||||
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1844, 184, '23','0','VAT standard rate',1);
|
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1844, 184, '23','0','VAT rate - standard',1);
|
||||||
|
|
||||||
-- PORTUGAL (id country=25)
|
-- PORTUGAL (id country=25)
|
||||||
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 251, 25, '0','0','VAT Rate 0', 1);
|
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 251, 25, '0','0','VAT rate 0', 1);
|
||||||
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 252, 25, '13','0','VAT reduced rate',1);
|
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 252, 25, '13','0','VAT rate - reduced',1);
|
||||||
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 253, 25, '23','0','VAT standard rate',1);
|
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 253, 25, '23','0','VAT rate - standard',1);
|
||||||
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 254, 25, '6','0','VAT reduced rate',1);
|
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 254, 25, '6','0','VAT rate - reduced',1);
|
||||||
|
|
||||||
-- ROMANIA (id country=188)
|
-- ROMANIA (id country=188)
|
||||||
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1881, 188, '0','0','VAT Rate 0', 1);
|
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1881, 188, '0','0','VAT rate 0', 1);
|
||||||
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1882, 188, '9','0','VAT reduced rate',1);
|
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1882, 188, '9','0','VAT rate - reduced',1);
|
||||||
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1883, 188, '19','0','VAT standard rate',1);
|
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1883, 188, '19','0','VAT rate - standard',1);
|
||||||
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1884, 188, '5','0','VAT reduced rate',1);
|
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1884, 188, '5','0','VAT rate - reduced',1);
|
||||||
|
|
||||||
-- SAUDI ARABIA (id country=26)
|
-- SAUDI ARABIA (id country=26)
|
||||||
INSERT INTO llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) VALUES ( 261, 26, '0', '0', 'VAT Rate 0', 1);
|
INSERT INTO llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) VALUES ( 261, 26, '0', '0', 'VAT rate 0', 1);
|
||||||
INSERT INTO llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) VALUES ( 262, 26, '5', '0', 'VAT Rate 5', 1);
|
INSERT INTO llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) VALUES ( 262, 26, '5', '0', 'VAT rate 5', 1);
|
||||||
|
|
||||||
-- SAN SALVADOR (id country=86)
|
-- SAN SALVADOR (id country=86)
|
||||||
INSERT INTO llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) VALUES ( 861, 86, '0', '0', 'SIN IVA', 1);
|
INSERT INTO llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) VALUES ( 861, 86, '0', '0', 'SIN IVA', 1);
|
||||||
INSERT INTO llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) VALUES ( 862, 86, '13', '0', 'IVA 13', 1);
|
INSERT INTO llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) VALUES ( 862, 86, '13', '0', 'IVA 13', 1);
|
||||||
|
|
||||||
-- SENEGAL (id country=22)
|
-- SENEGAL (id country=22)
|
||||||
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 221, 22, '0', '0', 'VAT Rate 0', 1);
|
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 221, 22, '0', '0', 'VAT rate 0', 1);
|
||||||
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 222, 22, '10', '0', 'VAT reduced rate',1);
|
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 222, 22, '10', '0', 'VAT rate - reduced',1);
|
||||||
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 223, 22, '18', '0', 'VAT standard rate',1);
|
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 223, 22, '18', '0', 'VAT rate - standard',1);
|
||||||
|
|
||||||
-- SLOVAKIA (id country=201)
|
-- SLOVAKIA (id country=201)
|
||||||
INSERT INTO llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) VALUES (2011, 201, '0', '0', 'VAT Rate 0', 1);
|
INSERT INTO llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) VALUES (2011, 201, '0', '0', 'VAT rate 0', 1);
|
||||||
INSERT INTO llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) VALUES (2012, 201, '10', '0', 'VAT reduced rate', 1);
|
INSERT INTO llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) VALUES (2012, 201, '10', '0', 'VAT rate - reduced', 1);
|
||||||
INSERT INTO llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) VALUES (2013, 201, '19', '0', 'VAT standard rate', 1);
|
INSERT INTO llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) VALUES (2013, 201, '19', '0', 'VAT rate - standard', 1);
|
||||||
|
|
||||||
-- SLOVENIA (id country=202)
|
-- SLOVENIA (id country=202)
|
||||||
INSERT INTO llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) VALUES (2021, 202, '0', '0', 'VAT Rate 0', 1);
|
INSERT INTO llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) VALUES (2021, 202, '0', '0', 'VAT rate 0', 1);
|
||||||
INSERT INTO llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) VALUES (2022, 202,'9.5', '0', 'VAT reduced rate', 1);
|
INSERT INTO llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) VALUES (2022, 202,'9.5', '0', 'VAT rate - reduced', 1);
|
||||||
INSERT INTO llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) VALUES (2023, 202, '22', '0', 'VAT standard rate', 1);
|
INSERT INTO llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) VALUES (2023, 202, '22', '0', 'VAT rate - standard', 1);
|
||||||
|
|
||||||
-- SOUTH AFRICA (id country=205)
|
-- SOUTH AFRICA (id country=205)
|
||||||
INSERT INTO llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) VALUES (2051, 205, '0', '0', 'VAT Rate 0', 1);
|
INSERT INTO llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) VALUES (2051, 205, '0', '0', 'VAT rate 0', 1);
|
||||||
INSERT INTO llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) VALUES (2052, 205, '15', '0', 'VAT standard rate', 1);
|
INSERT INTO llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) VALUES (2052, 205, '15', '0', 'VAT rate - standard', 1);
|
||||||
|
|
||||||
-- SPAIN (id country=4)
|
-- SPAIN (id country=4)
|
||||||
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,localtax1,localtax1_type,localtax2,localtax2_type,note,active) values ( 41, 4, '0','0', '0','3','-19:-15:-9','5','VAT Rate 0',1);
|
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,localtax1,localtax1_type,localtax2,localtax2_type,note,active) values ( 41, 4, '0','0', '0','3','-19:-15:-9','5','VAT rate 0',1);
|
||||||
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,localtax1,localtax1_type,localtax2,localtax2_type,note,active) values ( 42, 4,'10','0','1.4','3','-19:-15:-9','5','VAT reduced rate',1);
|
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,localtax1,localtax1_type,localtax2,localtax2_type,note,active) values ( 42, 4,'10','0','1.4','3','-19:-15:-9','5','VAT rate - reduced',1);
|
||||||
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,localtax1,localtax1_type,localtax2,localtax2_type,note,active) values ( 43, 4, '4','0','0.5','3','-19:-15:-9','5','VAT super-reduced rate',1);
|
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,localtax1,localtax1_type,localtax2,localtax2_type,note,active) values ( 43, 4, '4','0','0.5','3','-19:-15:-9','5','VAT rate - super-reduced',1);
|
||||||
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,localtax1,localtax1_type,localtax2,localtax2_type,note,active) values ( 44, 4,'21','0','5.2','3','-19:-15:-9','5','VAT standard rate',1);
|
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,localtax1,localtax1_type,localtax2,localtax2_type,note,active) values ( 44, 4,'21','0','5.2','3','-19:-15:-9','5','VAT rate - standard',1);
|
||||||
|
|
||||||
-- SWEDEN (id country=20)
|
-- SWEDEN (id country=20)
|
||||||
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 201, 20, '0','0','VAT Rate 0', 1);
|
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 201, 20, '0','0','VAT rate 0', 1);
|
||||||
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 202, 20, '12','0','VAT reduced rate',1);
|
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 202, 20, '12','0','VAT rate - reduced',1);
|
||||||
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 203, 20, '6','0','VAT super-reduced rate',1);
|
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 203, 20, '6','0','VAT rate - super-reduced',1);
|
||||||
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 204, 20, '25','0','VAT standard rate',1);
|
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 204, 20, '25','0','VAT rate - standard',1);
|
||||||
|
|
||||||
-- SWITZERLAND (id country=6)
|
-- SWITZERLAND (id country=6)
|
||||||
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 61, 6, '0','0','VAT Rate 0', 1);
|
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 61, 6, '0','0','VAT rate 0', 1);
|
||||||
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 62, 6, '3.7','0','VAT reduced rate',1);
|
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 62, 6, '3.7','0','VAT rate - reduced',1);
|
||||||
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 63, 6, '2.5','0','VAT super-reduced rate',1);
|
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 63, 6, '2.5','0','VAT rate - super-reduced',1);
|
||||||
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 64, 6, '7.7','0','VAT standard rate',1);
|
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 64, 6, '7.7','0','VAT rate - standard',1);
|
||||||
|
|
||||||
-- SRI LANKA (id country=207)
|
-- SRI LANKA (id country=207)
|
||||||
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (2071, 207, '0','0','VAT 0', 1);
|
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (2071, 207, '0','0','VAT 0', 1);
|
||||||
@ -319,7 +323,7 @@ insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (21
|
|||||||
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (2132, 213, '5','0','VAT 5%',1);
|
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (2132, 213, '5','0','VAT 5%',1);
|
||||||
|
|
||||||
-- TUNISIA (id country=10)
|
-- TUNISIA (id country=10)
|
||||||
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (101,10, '0','0','VAT Rate 0',1);
|
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (101,10, '0','0','VAT rate 0',1);
|
||||||
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (102,10, '12','0','VAT 12%',1);
|
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (102,10, '12','0','VAT 12%',1);
|
||||||
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (103,10, '18','0','VAT 18%',1);
|
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (103,10, '18','0','VAT 18%',1);
|
||||||
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (104,10, '7.5','0','VAT 6% Majoré à 25% (7.5%)',1);
|
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (104,10, '7.5','0','VAT 6% Majoré à 25% (7.5%)',1);
|
||||||
@ -329,14 +333,14 @@ insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (10
|
|||||||
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active,localtax1,localtax1_type,localtax2,localtax2_type) values (107,10,'18.18','0','VAT 18%+FODEC', 1, 1, '4', 0, 0);
|
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active,localtax1,localtax1_type,localtax2,localtax2_type) values (107,10,'18.18','0','VAT 18%+FODEC', 1, 1, '4', 0, 0);
|
||||||
|
|
||||||
-- UKRAINE (id country=226)
|
-- UKRAINE (id country=226)
|
||||||
INSERT INTO llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (2261,226, '0','0','VAT Rate 0',1);
|
INSERT INTO llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (2261,226, '0','0','VAT rate 0',1);
|
||||||
INSERT INTO llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (2262,226, '20','0','VAT standart rate',1);
|
INSERT INTO llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (2262,226, '20','0','VAT standart rate',1);
|
||||||
|
|
||||||
-- UNITED OF KINGDOM (id country=7)
|
-- UNITED OF KINGDOM (id country=7)
|
||||||
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 71, 7, '0','0','VAT Rate 0', 1);
|
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 71, 7, '0','0','VAT rate 0', 1);
|
||||||
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 72, 7, '17.5','0','VAT standard rate before 2011',1);
|
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 72, 7, '17.5','0','VAT rate - standard before 2011',1);
|
||||||
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 73, 7, '5','0','VAT reduced rate', 1);
|
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 73, 7, '5','0','VAT rate - reduced', 1);
|
||||||
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 74, 7, '20','0','VAT standard rate',1);
|
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 74, 7, '20','0','VAT rate - standard',1);
|
||||||
|
|
||||||
-- UNITED STATES (id country=11)
|
-- UNITED STATES (id country=11)
|
||||||
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (111,11, '0','0','No Sales Tax',1);
|
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (111,11, '0','0','No Sales Tax',1);
|
||||||
@ -350,16 +354,16 @@ insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (11
|
|||||||
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1931,193, '0','0','No VAT in SPM',1);
|
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1931,193, '0','0','No VAT in SPM',1);
|
||||||
|
|
||||||
-- SAINT MARTIN (id country=24)
|
-- SAINT MARTIN (id country=24)
|
||||||
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (2461,246, '0','0','VAT Rate 0',1);
|
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (2461,246, '0','0','VAT rate 0',1);
|
||||||
|
|
||||||
|
|
||||||
-- MAURITANIA (id country=151)
|
-- MAURITANIA (id country=151)
|
||||||
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1511,151, '0','0','VAT Rate 0',1);
|
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1511,151, '0','0','VAT rate 0',1);
|
||||||
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1512,151, '14','0','VAT Rate 14',1);
|
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1512,151, '14','0','VAT rate 14',1);
|
||||||
|
|
||||||
-- MAURITIUS (id country=152)
|
-- MAURITIUS (id country=152)
|
||||||
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1521,152, '0','0','VAT Rate 0',1);
|
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1521,152, '0','0','VAT rate 0',1);
|
||||||
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1522,152, '15','0','VAT Rate 15',1);
|
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1522,152, '15','0','VAT rate 15',1);
|
||||||
|
|
||||||
-- HONDURAS (id country=114)
|
-- HONDURAS (id country=114)
|
||||||
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1141,114, '0','0','No ISV',1);
|
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1141,114, '0','0','No ISV',1);
|
||||||
@ -384,7 +388,7 @@ insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (23
|
|||||||
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (2322,232, '12','0','VAT 12%',1);
|
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (2322,232, '12','0','VAT 12%',1);
|
||||||
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (2323,232, '8','0','VAT 8%',1);
|
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (2323,232, '8','0','VAT 8%',1);
|
||||||
|
|
||||||
-- Example of code to insert a vat rate 0 for each country
|
-- Example of code to insert a VAT rate 0 for each country
|
||||||
--delete from llx_c_tva where rowid = 1181; -- to delete a record that does not follow rules for rowid (fk_pays+'1')
|
--delete from llx_c_tva where rowid = 1181; -- to delete a record that does not follow rules for rowid (fk_pays+'1')
|
||||||
--insert into llx_c_tva(rowid, fk_pays, taux, recuperableonly, note, active) SELECT CONCAT(c.rowid, '1'), c.rowid, 0, 0, 'No VAT', 1 from llx_c_country as c where c.rowid not in (select fk_pays from llx_c_tva);
|
--insert into llx_c_tva(rowid, fk_pays, taux, recuperableonly, note, active) SELECT CONCAT(c.rowid, '1'), c.rowid, 0, 0, 'No VAT', 1 from llx_c_country as c where c.rowid not in (select fk_pays from llx_c_tva);
|
||||||
|
|
||||||
|
|||||||
@ -86,7 +86,7 @@ insert into llx_const (name, value, type, note, visible) values ('MAIN_DELAY_EXP
|
|||||||
-- Mail Mailing
|
-- Mail Mailing
|
||||||
--
|
--
|
||||||
insert into llx_const (name, value, type, note, visible) values ('MAIN_FIX_FOR_BUGGED_MTA','1','chaine','Set constant to fix email ending from PHP with some linux ike system',1);
|
insert into llx_const (name, value, type, note, visible) values ('MAIN_FIX_FOR_BUGGED_MTA','1','chaine','Set constant to fix email ending from PHP with some linux ike system',1);
|
||||||
insert into llx_const (name, value, type, note, visible) values ('MAILING_EMAIL_FROM','dolibarr@domain.com','chaine','EMail emmetteur pour les envois d emailings',0);
|
insert into llx_const (name, value, type, note, visible) values ('MAILING_EMAIL_FROM','no-reply@mydomain.com','chaine','EMail emmetteur pour les envois d emailings',0);
|
||||||
|
|
||||||
|
|
||||||
--
|
--
|
||||||
@ -103,3 +103,9 @@ insert into llx_const (name, value, type, visible, entity) VALUES ('USER_ADDON_P
|
|||||||
--
|
--
|
||||||
INSERT INTO llx_const (name, entity, value, type, visible) VALUES ('PRODUCT_PRICE_BASE_TYPE', 0, 'HT', 'string', 0);
|
INSERT INTO llx_const (name, entity, value, type, visible) VALUES ('PRODUCT_PRICE_BASE_TYPE', 0, 'HT', 'string', 0);
|
||||||
|
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Membership
|
||||||
|
--
|
||||||
|
INSERT INTO llx_const (name, entity, value, type, visible) VALUES ('ADHERENT_LOGIN_NOT_REQUIRED', 0, '1', 'string', 0);
|
||||||
|
|
||||||
|
|||||||
@ -12,8 +12,8 @@
|
|||||||
-- To change type of field: ALTER TABLE llx_table MODIFY COLUMN name varchar(60);
|
-- To change type of field: ALTER TABLE llx_table MODIFY COLUMN name varchar(60);
|
||||||
-- To drop a foreign key: ALTER TABLE llx_table DROP FOREIGN KEY fk_name;
|
-- To drop a foreign key: ALTER TABLE llx_table DROP FOREIGN KEY fk_name;
|
||||||
-- To create a unique index ALTER TABLE llx_table ADD UNIQUE INDEX uk_table_field (field);
|
-- To create a unique index ALTER TABLE llx_table ADD UNIQUE INDEX uk_table_field (field);
|
||||||
-- To drop an index: -- VMYSQL4.1 DROP INDEX nomindex on llx_table
|
-- To drop an index: -- VMYSQL4.1 DROP INDEX nomindex on llx_table;
|
||||||
-- To drop an index: -- VPGSQL8.2 DROP INDEX nomindex
|
-- To drop an index: -- VPGSQL8.2 DROP INDEX nomindex;
|
||||||
-- To make pk to be auto increment (mysql): -- VMYSQL4.3 ALTER TABLE llx_table CHANGE COLUMN rowid rowid INTEGER NOT NULL AUTO_INCREMENT;
|
-- To make pk to be auto increment (mysql): -- VMYSQL4.3 ALTER TABLE llx_table CHANGE COLUMN rowid rowid INTEGER NOT NULL AUTO_INCREMENT;
|
||||||
-- To make pk to be auto increment (postgres):
|
-- To make pk to be auto increment (postgres):
|
||||||
-- -- VPGSQL8.2 CREATE SEQUENCE llx_table_rowid_seq OWNED BY llx_table.rowid;
|
-- -- VPGSQL8.2 CREATE SEQUENCE llx_table_rowid_seq OWNED BY llx_table.rowid;
|
||||||
@ -267,12 +267,13 @@ INSERT INTO llx_payment_vat (rowid, fk_tva, datec, datep, amount, fk_typepaiemen
|
|||||||
ALTER TABLE llx_tva ALTER COLUMN paye SET DEFAULT 0;
|
ALTER TABLE llx_tva ALTER COLUMN paye SET DEFAULT 0;
|
||||||
|
|
||||||
|
|
||||||
INSERT INTO llx_c_email_templates (entity, module, type_template, lang, private, fk_user, datec, tms, label, position, active, topic, content, content_lines, enabled, joinfiles) values (0, '', 'eventorganization_send', '', 0, null, null, '2021-02-14 14:42:41', 'EventOrganizationEmailAskConf', 10, 1, '[__[MAIN_INFO_SOCIETE_NOM]__] __(EventOrganizationEmailAskConf)__', '__(Hello)__ __THIRDPARTY_NAME__,<br /><br />__(ThisIsContentOfYourOrganizationEventConfRequestWasReceived)__<br /><br />__ONLINE_PAYMENT_TEXT_AND_URL__<br /><br /><br />__(Sincerely)__<br />__USER_SIGNATURE__', null, '1', null);
|
-- Event organization
|
||||||
INSERT INTO llx_c_email_templates (entity, module, type_template, lang, private, fk_user, datec, tms, label, position, active, topic, content, content_lines, enabled, joinfiles) values (0, '', 'eventorganization_send', '', 0, null, null, '2021-02-14 14:42:41', 'EventOrganizationEmailAskBooth', 20, 1, '[__[MAIN_INFO_SOCIETE_NOM]__] __(EventOrganizationEmailAskBooth)__', '__(Hello)__ __THIRDPARTY_NAME__,<br /><br />__(ThisIsContentOfYourOrganizationEventBoothRequestWasReceived)__<br /><br />__ONLINE_PAYMENT_TEXT_AND_URL__<br /><br /><br />__(Sincerely)__<br />__USER_SIGNATURE__', null, '1', null);
|
INSERT INTO llx_c_email_templates (entity, module, type_template, lang, private, fk_user, datec, label, position, active, topic, content, content_lines, enabled, joinfiles) values (0, '', 'conferenceorbooth', '', 0, null, null, '(EventOrganizationEmailAskConf)', 10, 1, '[__[MAIN_INFO_SOCIETE_NOM]__] __(EventOrganizationEmailAskConf)__', '__(Hello)__ __THIRDPARTY_NAME__,<br /><br />__(ThisIsContentOfYourOrganizationEventConfRequestWasReceived)__<br /><br />__ONLINE_PAYMENT_TEXT_AND_URL__<br /><br /><br />__(Sincerely)__<br />__USER_SIGNATURE__', null, '1', null);
|
||||||
INSERT INTO llx_c_email_templates (entity, module, type_template, lang, private, fk_user, datec, tms, label, position, active, topic, content, content_lines, enabled, joinfiles) values (0, '', 'eventorganization_send', '', 0, null, null, '2021-02-14 14:42:41', 'EventOrganizationEmailSubsBooth', 30, 1, '[__[MAIN_INFO_SOCIETE_NOM]__] __(EventOrganizationEmailSubsBooth)__', '__(Hello)__ __THIRDPARTY_NAME__,<br /><br />__(ThisIsContentOfYourOrganizationEventBoothSubscriptionWasReceived)__<br /><br />__ONLINE_PAYMENT_TEXT_AND_URL__<br /><br /><br />__(Sincerely)__<br />__USER_SIGNATURE__', null, '1', null);
|
INSERT INTO llx_c_email_templates (entity, module, type_template, lang, private, fk_user, datec, label, position, active, topic, content, content_lines, enabled, joinfiles) values (0, '', 'conferenceorbooth', '', 0, null, null, '(EventOrganizationEmailAskBooth)', 20, 1, '[__[MAIN_INFO_SOCIETE_NOM]__] __(EventOrganizationEmailAskBooth)__', '__(Hello)__ __THIRDPARTY_NAME__,<br /><br />__(ThisIsContentOfYourOrganizationEventBoothRequestWasReceived)__<br /><br />__ONLINE_PAYMENT_TEXT_AND_URL__<br /><br /><br />__(Sincerely)__<br />__USER_SIGNATURE__', null, '1', null);
|
||||||
INSERT INTO llx_c_email_templates (entity, module, type_template, lang, private, fk_user, datec, tms, label, position, active, topic, content, content_lines, enabled, joinfiles) values (0, '', 'eventorganization_send', '', 0, null, null, '2021-02-14 14:42:41', 'EventOrganizationEmailSubsEvent', 40, 1, '[__[MAIN_INFO_SOCIETE_NOM]__] __(EventOrganizationEmailSubsEvent)__', '__(Hello)__ __THIRDPARTY_NAME__,<br /><br />__(ThisIsContentOfYourOrganizationEventEventSubscriptionWasReceived)__<br /><br />__(Sincerely)__<br /><br />__MYCOMPANY_NAME__<br />__USER_SIGNATURE__', null, '1', null);
|
INSERT INTO llx_c_email_templates (entity, module, type_template, lang, private, fk_user, datec, label, position, active, topic, content, content_lines, enabled, joinfiles) values (0, '', 'conferenceorbooth', '', 0, null, null, '(EventOrganizationEmailSubsBooth)', 30, 1, '[__[MAIN_INFO_SOCIETE_NOM]__] __(EventOrganizationEmailSubsBooth)__', '__(Hello)__ __THIRDPARTY_NAME__,<br /><br />__(ThisIsContentOfYourOrganizationEventBoothSubscriptionWasReceived)__<br /><br />__ONLINE_PAYMENT_TEXT_AND_URL__<br /><br /><br />__(Sincerely)__<br />__USER_SIGNATURE__', null, '1', null);
|
||||||
INSERT INTO llx_c_email_templates (entity, module, type_template, lang, private, fk_user, datec, tms, label, position, active, topic, content, content_lines, enabled, joinfiles) values (0, '', 'eventorganization_send', '', 0, null, null, '2021-02-14 14:42:41', 'EventOrganizationMassEmailAttendees', 50, 1, '[__[MAIN_INFO_SOCIETE_NOM]__] __(EventOrganizationMassEmailAttendees)__', '__(Hello)__ __THIRDPARTY_NAME__,<br /><br />__(ThisIsContentOfYourOrganizationEventBulkMailToAttendees)__<br /><br />__(Sincerely)__<br />__USER_SIGNATURE__', null, '1', null);
|
INSERT INTO llx_c_email_templates (entity, module, type_template, lang, private, fk_user, datec, label, position, active, topic, content, content_lines, enabled, joinfiles) values (0, '', 'conferenceorbooth', '', 0, null, null, '(EventOrganizationEmailSubsEvent)', 40, 1, '[__[MAIN_INFO_SOCIETE_NOM]__] __(EventOrganizationEmailSubsEvent)__', '__(Hello)__ __THIRDPARTY_NAME__,<br /><br />__(ThisIsContentOfYourOrganizationEventEventSubscriptionWasReceived)__<br /><br />__(Sincerely)__<br /><br />__MYCOMPANY_NAME__<br />__USER_SIGNATURE__', null, '1', null);
|
||||||
INSERT INTO llx_c_email_templates (entity, module, type_template, lang, private, fk_user, datec, tms, label, position, active, topic, content, content_lines, enabled, joinfiles) values (0, '', 'eventorganization_send', '', 0, null, null, '2021-02-14 14:42:41', 'EventOrganizationMassEmailSpeakers', 60, 1, '[__[MAIN_INFO_SOCIETE_NOM]__] __(EventOrganizationMassEmailSpeakers)__', '__(Hello)__ __THIRDPARTY_NAME__,<br /><br />__(ThisIsContentOfYourOrganizationEventBulkMailToSpeakers)__<br /><br />__(Sincerely)__<br />__USER_SIGNATURE__', null, '1', null);
|
INSERT INTO llx_c_email_templates (entity, module, type_template, lang, private, fk_user, datec, label, position, active, topic, content, content_lines, enabled, joinfiles) values (0, '', 'conferenceorbooth', '', 0, null, null, '(EventOrganizationMassEmailAttendees)', 50, 1, '[__[MAIN_INFO_SOCIETE_NOM]__] __(EventOrganizationMassEmailAttendees)__', '__(Hello)__ __THIRDPARTY_NAME__,<br /><br />__(ThisIsContentOfYourOrganizationEventBulkMailToAttendees)__<br /><br />__(Sincerely)__<br />__USER_SIGNATURE__', null, '1', null);
|
||||||
|
INSERT INTO llx_c_email_templates (entity, module, type_template, lang, private, fk_user, datec, label, position, active, topic, content, content_lines, enabled, joinfiles) values (0, '', 'conferenceorbooth', '', 0, null, null, '(EventOrganizationMassEmailSpeakers)', 60, 1, '[__[MAIN_INFO_SOCIETE_NOM]__] __(EventOrganizationMassEmailSpeakers)__', '__(Hello)__ __THIRDPARTY_NAME__,<br /><br />__(ThisIsContentOfYourOrganizationEventBulkMailToSpeakers)__<br /><br />__(Sincerely)__<br />__USER_SIGNATURE__', null, '1', null);
|
||||||
|
|
||||||
ALTER TABLE llx_projet ADD COLUMN accept_conference_suggestions integer DEFAULT 0;
|
ALTER TABLE llx_projet ADD COLUMN accept_conference_suggestions integer DEFAULT 0;
|
||||||
ALTER TABLE llx_projet ADD COLUMN accept_booth_suggestions integer DEFAULT 0;
|
ALTER TABLE llx_projet ADD COLUMN accept_booth_suggestions integer DEFAULT 0;
|
||||||
@ -349,6 +350,13 @@ UPDATE llx_payment_salary SET ref = rowid WHERE ref IS NULL;
|
|||||||
|
|
||||||
ALTER TABLE llx_salary ALTER COLUMN paye set default 0;
|
ALTER TABLE llx_salary ALTER COLUMN paye set default 0;
|
||||||
|
|
||||||
|
UPDATE llx_extrafields SET elementtype = 'salary' WHERE elementtype = 'payment_salary';
|
||||||
|
ALTER TABLE llx_payment_salary_extrafields RENAME TO llx_salary_extrafields;
|
||||||
|
-- VMYSQL4.1 DROP INDEX idx_payment_salary_extrafields on llx_salary_extrafields;
|
||||||
|
-- VPGSQL8.2 DROP INDEX idx_payment_salary_extrafields;
|
||||||
|
ALTER TABLE llx_salary_extrafields ADD INDEX idx_salary_extrafields (fk_object);
|
||||||
|
|
||||||
|
|
||||||
DELETE FROM llx_boxes WHERE box_id IN (SELECT rowid FROM llx_boxes_def WHERE file IN ('box_graph_ticket_by_severity', 'box_ticket_by_severity.php', 'box_nb_ticket_last_x_days.php', 'box_nb_tickets_type.php', 'box_new_vs_close_ticket.php'));
|
DELETE FROM llx_boxes WHERE box_id IN (SELECT rowid FROM llx_boxes_def WHERE file IN ('box_graph_ticket_by_severity', 'box_ticket_by_severity.php', 'box_nb_ticket_last_x_days.php', 'box_nb_tickets_type.php', 'box_new_vs_close_ticket.php'));
|
||||||
DELETE FROM llx_boxes_def WHERE file IN ('box_graph_ticket_by_severity', 'box_ticket_by_severity.php', 'box_nb_ticket_last_x_days.php', 'box_nb_tickets_type.php', 'box_new_vs_close_ticket.php');
|
DELETE FROM llx_boxes_def WHERE file IN ('box_graph_ticket_by_severity', 'box_ticket_by_severity.php', 'box_nb_ticket_last_x_days.php', 'box_nb_tickets_type.php', 'box_new_vs_close_ticket.php');
|
||||||
|
|
||||||
@ -392,7 +400,8 @@ CREATE TABLE llx_eventorganization_conferenceorboothattendee(
|
|||||||
rowid integer AUTO_INCREMENT PRIMARY KEY NOT NULL,
|
rowid integer AUTO_INCREMENT PRIMARY KEY NOT NULL,
|
||||||
ref varchar(128) NOT NULL,
|
ref varchar(128) NOT NULL,
|
||||||
fk_soc integer,
|
fk_soc integer,
|
||||||
fk_actioncomm integer NOT NULL,
|
fk_actioncomm integer,
|
||||||
|
fk_project integer NOT NULL,
|
||||||
email varchar(100),
|
email varchar(100),
|
||||||
date_subscription datetime,
|
date_subscription datetime,
|
||||||
amount double DEFAULT NULL,
|
amount double DEFAULT NULL,
|
||||||
@ -408,6 +417,11 @@ CREATE TABLE llx_eventorganization_conferenceorboothattendee(
|
|||||||
status smallint NOT NULL
|
status smallint NOT NULL
|
||||||
) ENGINE=innodb;
|
) ENGINE=innodb;
|
||||||
|
|
||||||
|
-- VMYSQL4.3 ALTER TABLE llx_eventorganization_conferenceorboothattendee MODIFY COLUMN fk_actioncomm integer NULL;
|
||||||
|
-- VPGSQL8.2 ALTER TABLE llx_eventorganization_conferenceorboothattendee ALTER COLUMN fk_actioncomm DROP NOT NULL;
|
||||||
|
|
||||||
|
ALTER TABLE llx_eventorganization_conferenceorboothattendee ADD COLUMN fk_project integer NOT NULL;
|
||||||
|
|
||||||
ALTER TABLE llx_eventorganization_conferenceorboothattendee ADD INDEX idx_eventorganization_conferenceorboothattendee_rowid (rowid);
|
ALTER TABLE llx_eventorganization_conferenceorboothattendee ADD INDEX idx_eventorganization_conferenceorboothattendee_rowid (rowid);
|
||||||
ALTER TABLE llx_eventorganization_conferenceorboothattendee ADD INDEX idx_eventorganization_conferenceorboothattendee_ref (ref);
|
ALTER TABLE llx_eventorganization_conferenceorboothattendee ADD INDEX idx_eventorganization_conferenceorboothattendee_ref (ref);
|
||||||
ALTER TABLE llx_eventorganization_conferenceorboothattendee ADD INDEX idx_eventorganization_conferenceorboothattendee_fk_soc (fk_soc);
|
ALTER TABLE llx_eventorganization_conferenceorboothattendee ADD INDEX idx_eventorganization_conferenceorboothattendee_fk_soc (fk_soc);
|
||||||
@ -583,7 +597,7 @@ DROP TABLE llx_categorie_association;
|
|||||||
DROP TABLE llx_cond_reglement;
|
DROP TABLE llx_cond_reglement;
|
||||||
DROP TABLE llx_zapier_hook_extrafields;
|
DROP TABLE llx_zapier_hook_extrafields;
|
||||||
|
|
||||||
create table llx_onlinesignature
|
CREATE TABLE llx_onlinesignature
|
||||||
(
|
(
|
||||||
rowid integer AUTO_INCREMENT PRIMARY KEY,
|
rowid integer AUTO_INCREMENT PRIMARY KEY,
|
||||||
entity integer DEFAULT 1 NOT NULL,
|
entity integer DEFAULT 1 NOT NULL,
|
||||||
@ -598,3 +612,6 @@ create table llx_onlinesignature
|
|||||||
|
|
||||||
-- VMYSQL4.3 ALTER TABLE llx_partnership MODIFY COLUMN date_partnership_end date NULL;
|
-- VMYSQL4.3 ALTER TABLE llx_partnership MODIFY COLUMN date_partnership_end date NULL;
|
||||||
-- VPGSQL8.2 ALTER TABLE llx_partnership ALTER COLUMN date_partnership_end DROP NOT NULL;
|
-- VPGSQL8.2 ALTER TABLE llx_partnership ALTER COLUMN date_partnership_end DROP NOT NULL;
|
||||||
|
|
||||||
|
ALTER TABLE llx_facture_fourn CHANGE COLUMN fk_mode_transport fk_transport_mode integer;
|
||||||
|
|
||||||
|
|||||||
@ -21,10 +21,12 @@ ALTER TABLE llx_eventorganization_conferenceorboothattendee ADD INDEX idx_evento
|
|||||||
ALTER TABLE llx_eventorganization_conferenceorboothattendee ADD CONSTRAINT fx_eventorganization_conferenceorboothattendee_fk_soc FOREIGN KEY (fk_soc) REFERENCES llx_societe(rowid);
|
ALTER TABLE llx_eventorganization_conferenceorboothattendee ADD CONSTRAINT fx_eventorganization_conferenceorboothattendee_fk_soc FOREIGN KEY (fk_soc) REFERENCES llx_societe(rowid);
|
||||||
ALTER TABLE llx_eventorganization_conferenceorboothattendee ADD INDEX idx_eventorganization_conferenceorboothattendee_fk_actioncomm (fk_actioncomm);
|
ALTER TABLE llx_eventorganization_conferenceorboothattendee ADD INDEX idx_eventorganization_conferenceorboothattendee_fk_actioncomm (fk_actioncomm);
|
||||||
ALTER TABLE llx_eventorganization_conferenceorboothattendee ADD CONSTRAINT fx_eventorganization_conferenceorboothattendee_fk_actioncomm FOREIGN KEY (fk_actioncomm) REFERENCES llx_actioncomm(id);
|
ALTER TABLE llx_eventorganization_conferenceorboothattendee ADD CONSTRAINT fx_eventorganization_conferenceorboothattendee_fk_actioncomm FOREIGN KEY (fk_actioncomm) REFERENCES llx_actioncomm(id);
|
||||||
|
ALTER TABLE llx_eventorganization_conferenceorboothattendee ADD INDEX idx_eventorganization_conferenceorboothattendee_fk_project (fk_project);
|
||||||
|
ALTER TABLE llx_eventorganization_conferenceorboothattendee ADD CONSTRAINT fx_eventorganization_conferenceorboothattendee_fk_project FOREIGN KEY (fk_project) REFERENCES llx_projet(rowid);
|
||||||
ALTER TABLE llx_eventorganization_conferenceorboothattendee ADD INDEX idx_eventorganization_conferenceorboothattendee_email (email);
|
ALTER TABLE llx_eventorganization_conferenceorboothattendee ADD INDEX idx_eventorganization_conferenceorboothattendee_email (email);
|
||||||
ALTER TABLE llx_eventorganization_conferenceorboothattendee ADD INDEX idx_eventorganization_conferenceorboothattendee_status (status);
|
ALTER TABLE llx_eventorganization_conferenceorboothattendee ADD INDEX idx_eventorganization_conferenceorboothattendee_status (status);
|
||||||
-- END MODULEBUILDER INDEXES
|
-- END MODULEBUILDER INDEXES
|
||||||
|
|
||||||
ALTER TABLE llx_eventorganization_conferenceorboothattendee ADD UNIQUE INDEX uk_eventorganization_conferenceorboothattendee(fk_soc, fk_actioncomm, email);
|
ALTER TABLE llx_eventorganization_conferenceorboothattendee ADD UNIQUE INDEX uk_eventorganization_conferenceorboothattendee(fk_soc, fk_project, fk_actioncomm, email);
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -19,7 +19,8 @@ CREATE TABLE llx_eventorganization_conferenceorboothattendee(
|
|||||||
rowid integer AUTO_INCREMENT PRIMARY KEY NOT NULL,
|
rowid integer AUTO_INCREMENT PRIMARY KEY NOT NULL,
|
||||||
ref varchar(128) NOT NULL,
|
ref varchar(128) NOT NULL,
|
||||||
fk_soc integer,
|
fk_soc integer,
|
||||||
fk_actioncomm integer NOT NULL,
|
fk_actioncomm integer,
|
||||||
|
fk_project integer NOT NULL,
|
||||||
email varchar(100),
|
email varchar(100),
|
||||||
date_subscription datetime,
|
date_subscription datetime,
|
||||||
amount double DEFAULT NULL,
|
amount double DEFAULT NULL,
|
||||||
|
|||||||
@ -17,4 +17,4 @@
|
|||||||
-- ===================================================================
|
-- ===================================================================
|
||||||
|
|
||||||
|
|
||||||
ALTER TABLE llx_payment_salary_extrafields ADD INDEX idx_payment_salary_extrafields (fk_object);
|
ALTER TABLE llx_salary_extrafields ADD INDEX idx_salary_extrafields (fk_object);
|
||||||
@ -16,10 +16,10 @@
|
|||||||
--
|
--
|
||||||
-- ===================================================================
|
-- ===================================================================
|
||||||
|
|
||||||
create table llx_payment_salary_extrafields
|
create table llx_salary_extrafields
|
||||||
(
|
(
|
||||||
rowid integer AUTO_INCREMENT PRIMARY KEY,
|
rowid integer AUTO_INCREMENT PRIMARY KEY,
|
||||||
tms timestamp DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
tms timestamp DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||||||
fk_object integer NOT NULL, -- salary payment id
|
fk_object integer NOT NULL, -- salary id
|
||||||
import_key varchar(14) -- import key
|
import_key varchar(14) -- import key
|
||||||
)ENGINE=innodb;
|
)ENGINE=innodb;
|
||||||
@ -899,7 +899,7 @@ class KnowledgeRecord extends CommonObject
|
|||||||
$this->lines = array();
|
$this->lines = array();
|
||||||
|
|
||||||
$objectline = new KnowledgeRecordLine($this->db);
|
$objectline = new KnowledgeRecordLine($this->db);
|
||||||
$result = $objectline->fetchAll('ASC', 'position', 0, 0, array('customsql'=>'fk_knowledgerecord = '.$this->id));
|
$result = $objectline->fetchAll('ASC', 'position', 0, 0, array('customsql'=>'fk_knowledgerecord = '.((int) $this->id)));
|
||||||
|
|
||||||
if (is_numeric($result)) {
|
if (is_numeric($result)) {
|
||||||
$this->error = $this->error;
|
$this->error = $this->error;
|
||||||
|
|||||||
@ -75,7 +75,7 @@ Dictionary=Dictionaries
|
|||||||
ErrorReservedTypeSystemSystemAuto=Value 'system' and 'systemauto' for type is reserved. You can use 'user' as value to add your own record
|
ErrorReservedTypeSystemSystemAuto=Value 'system' and 'systemauto' for type is reserved. You can use 'user' as value to add your own record
|
||||||
ErrorCodeCantContainZero=Code can't contain value 0
|
ErrorCodeCantContainZero=Code can't contain value 0
|
||||||
DisableJavascript=Disable JavaScript and Ajax functions
|
DisableJavascript=Disable JavaScript and Ajax functions
|
||||||
DisableJavascriptNote=Note: For test or debug purpose. For optimization for blind person or text browsers, you may prefer to use the setup on the profile of user
|
DisableJavascriptNote=Note: For test or debug purpose only. For optimization for blind person or text browsers, you may prefer to use the setup on the profile of user
|
||||||
UseSearchToSelectCompanyTooltip=Also if you have a large number of third parties (> 100 000), you can increase speed by setting constant COMPANY_DONOTSEARCH_ANYWHERE to 1 in Setup->Other. Search will then be limited to start of string.
|
UseSearchToSelectCompanyTooltip=Also if you have a large number of third parties (> 100 000), you can increase speed by setting constant COMPANY_DONOTSEARCH_ANYWHERE to 1 in Setup->Other. Search will then be limited to start of string.
|
||||||
UseSearchToSelectContactTooltip=Also if you have a large number of third parties (> 100 000), you can increase speed by setting constant CONTACT_DONOTSEARCH_ANYWHERE to 1 in Setup->Other. Search will then be limited to start of string.
|
UseSearchToSelectContactTooltip=Also if you have a large number of third parties (> 100 000), you can increase speed by setting constant CONTACT_DONOTSEARCH_ANYWHERE to 1 in Setup->Other. Search will then be limited to start of string.
|
||||||
DelaiedFullListToSelectCompany=Wait until a key is pressed before loading content of Third Parties combo list.<br>This may increase performance if you have a large number of third parties, but it is less convenient.
|
DelaiedFullListToSelectCompany=Wait until a key is pressed before loading content of Third Parties combo list.<br>This may increase performance if you have a large number of third parties, but it is less convenient.
|
||||||
@ -496,7 +496,7 @@ WarningPHPMail=WARNING: The setup to send emails from the application is using t
|
|||||||
WarningPHPMailA=- Using the server of the Email Service Provider increases the trustability of your email, so it increases the deliverablity without being flagged as SPAM
|
WarningPHPMailA=- Using the server of the Email Service Provider increases the trustability of your email, so it increases the deliverablity without being flagged as SPAM
|
||||||
WarningPHPMailB=- Some Email Service Providers (like Yahoo) do not allow you to send an email from another server than their own server. Your current setup uses the server of the application to send email and not the server of your email provider, so some recipients (the one compatible with the restrictive DMARC protocol), will ask your email provider if they can accept your email and some email providers (like Yahoo) may respond "no" because the server is not theirs, so few of your sent Emails may not be accepted for delivery (be careful also of your email provider's sending quota).
|
WarningPHPMailB=- Some Email Service Providers (like Yahoo) do not allow you to send an email from another server than their own server. Your current setup uses the server of the application to send email and not the server of your email provider, so some recipients (the one compatible with the restrictive DMARC protocol), will ask your email provider if they can accept your email and some email providers (like Yahoo) may respond "no" because the server is not theirs, so few of your sent Emails may not be accepted for delivery (be careful also of your email provider's sending quota).
|
||||||
WarningPHPMailC=- Using the SMTP server of your own Email Service Provider to send emails is also interesting so all emails sent from application will also be saved into your "Sent" directory of your mailbox.
|
WarningPHPMailC=- Using the SMTP server of your own Email Service Provider to send emails is also interesting so all emails sent from application will also be saved into your "Sent" directory of your mailbox.
|
||||||
WarningPHPMailD=If the method 'PHP Mail' is really the method you would like to use, you can remove this warning by adding the constant MAIN_HIDE_WARNING_TO_ENCOURAGE_SMTP_SETUP to 1 in Home - Setup - Other.
|
WarningPHPMailD=Also, it is therefore recommended to change the sending method of e-mails to the value "SMTP". If you really want to keep the default "PHP" method to send emails, just ignore this warning, or remove it by setting the MAIN_HIDE_WARNING_TO_ENCOURAGE_SMTP_SETUP constant to 1 in Home - Setup - Other.
|
||||||
WarningPHPMail2=If your email SMTP provider need to restrict email client to some IP addresses (very rare), this is the IP address of the mail user agent (MUA) for your ERP CRM application: <strong>%s</strong>.
|
WarningPHPMail2=If your email SMTP provider need to restrict email client to some IP addresses (very rare), this is the IP address of the mail user agent (MUA) for your ERP CRM application: <strong>%s</strong>.
|
||||||
WarningPHPMailSPF=If the domain name in your sender email address is protected by a SPF record (ask you domain name registar), you must add the following IPs in the SPF record of the DNS of your domain: <strong>%s</strong>.
|
WarningPHPMailSPF=If the domain name in your sender email address is protected by a SPF record (ask you domain name registar), you must add the following IPs in the SPF record of the DNS of your domain: <strong>%s</strong>.
|
||||||
ClickToShowDescription=Click to show description
|
ClickToShowDescription=Click to show description
|
||||||
@ -604,7 +604,7 @@ Module400Desc=Management of projects, leads/opportunities and/or tasks. You can
|
|||||||
Module410Name=Webcalendar
|
Module410Name=Webcalendar
|
||||||
Module410Desc=Webcalendar integration
|
Module410Desc=Webcalendar integration
|
||||||
Module500Name=Taxes & Special Expenses
|
Module500Name=Taxes & Special Expenses
|
||||||
Module500Desc=Management of other expenses (sale taxes, social or fiscal taxes, dividends, ...)
|
Module500Desc=Management of other expenses (sales taxes, social or fiscal taxes, dividends, ...)
|
||||||
Module510Name=Salaries
|
Module510Name=Salaries
|
||||||
Module510Desc=Record and track employee payments
|
Module510Desc=Record and track employee payments
|
||||||
Module520Name=Loans
|
Module520Name=Loans
|
||||||
@ -1467,10 +1467,10 @@ LDAPSynchronizeMembersTypes=Organization of foundation's members types in LDAP
|
|||||||
LDAPPrimaryServer=Primary server
|
LDAPPrimaryServer=Primary server
|
||||||
LDAPSecondaryServer=Secondary server
|
LDAPSecondaryServer=Secondary server
|
||||||
LDAPServerPort=Server port
|
LDAPServerPort=Server port
|
||||||
LDAPServerPortExample=Default port: 389
|
LDAPServerPortExample=Standard or StartTLS: 389, LDAPs: 636
|
||||||
LDAPServerProtocolVersion=Protocol version
|
LDAPServerProtocolVersion=Protocol version
|
||||||
LDAPServerUseTLS=Use TLS
|
LDAPServerUseTLS=Use TLS
|
||||||
LDAPServerUseTLSExample=Your LDAP server use TLS
|
LDAPServerUseTLSExample=Your LDAP server use StartTLS
|
||||||
LDAPServerDn=Server DN
|
LDAPServerDn=Server DN
|
||||||
LDAPAdminDn=Administrator DN
|
LDAPAdminDn=Administrator DN
|
||||||
LDAPAdminDnExample=Complete DN (ex: cn=admin,dc=example,dc=com or cn=Administrator,cn=Users,dc=example,dc=com for active directory)
|
LDAPAdminDnExample=Complete DN (ex: cn=admin,dc=example,dc=com or cn=Administrator,cn=Users,dc=example,dc=com for active directory)
|
||||||
@ -1700,8 +1700,10 @@ FreeLegalTextOnDeliveryReceipts=Free text on delivery receipts
|
|||||||
##### FCKeditor #####
|
##### FCKeditor #####
|
||||||
AdvancedEditor=Advanced editor
|
AdvancedEditor=Advanced editor
|
||||||
ActivateFCKeditor=Activate advanced editor for:
|
ActivateFCKeditor=Activate advanced editor for:
|
||||||
FCKeditorForCompany=WYSIWIG creation/edition of elements description and note (except products/services)
|
FCKeditorForNotePublic=WYSIWIG creation/edition of the field public notes of elements
|
||||||
FCKeditorForProduct=WYSIWIG creation/edition of products/services description and note
|
FCKeditorForNotePrivate=WYSIWIG creation/edition of the field private notes of elements
|
||||||
|
FCKeditorForCompany=WYSIWIG creation/edition of the field description of elements (except products/services)
|
||||||
|
FCKeditorForProduct=WYSIWIG creation/edition of the field description of products/services
|
||||||
FCKeditorForProductDetails=WYSIWIG creation/edition of products details lines for all entities (proposals, orders, invoices, etc...). <span class="warning">Warning: Using this option for this case is seriously not recommended as it can create problems with special characters and page formatting when building PDF files.</span>
|
FCKeditorForProductDetails=WYSIWIG creation/edition of products details lines for all entities (proposals, orders, invoices, etc...). <span class="warning">Warning: Using this option for this case is seriously not recommended as it can create problems with special characters and page formatting when building PDF files.</span>
|
||||||
FCKeditorForMailing= WYSIWIG creation/edition for mass eMailings (Tools->eMailing)
|
FCKeditorForMailing= WYSIWIG creation/edition for mass eMailings (Tools->eMailing)
|
||||||
FCKeditorForUserSignature=WYSIWIG creation/edition of user signature
|
FCKeditorForUserSignature=WYSIWIG creation/edition of user signature
|
||||||
@ -1910,7 +1912,7 @@ UnicodeCurrency=Enter here between braces, list of byte number that represent th
|
|||||||
ColorFormat=The RGB color is in HEX format, eg: FF0000
|
ColorFormat=The RGB color is in HEX format, eg: FF0000
|
||||||
PictoHelp=Icon name in dolibarr format ('image.png' if into the current theme directory, 'image.png@nom_du_module' if into the directory /img/ of a module)
|
PictoHelp=Icon name in dolibarr format ('image.png' if into the current theme directory, 'image.png@nom_du_module' if into the directory /img/ of a module)
|
||||||
PositionIntoComboList=Position of line into combo lists
|
PositionIntoComboList=Position of line into combo lists
|
||||||
SellTaxRate=Sale tax rate
|
SellTaxRate=Sales tax rate
|
||||||
RecuperableOnly=Yes for VAT "Not Perceived but Recoverable" dedicated for some state in France. Keep value to "No" in all other cases.
|
RecuperableOnly=Yes for VAT "Not Perceived but Recoverable" dedicated for some state in France. Keep value to "No" in all other cases.
|
||||||
UrlTrackingDesc=If the provider or transport service offers a page or web site to check the status of your shipments, you may enter it here. You can use the key {TRACKID} in the URL parameters so the system will replace it with the tracking number the user entered into the shipment card.
|
UrlTrackingDesc=If the provider or transport service offers a page or web site to check the status of your shipments, you may enter it here. You can use the key {TRACKID} in the URL parameters so the system will replace it with the tracking number the user entered into the shipment card.
|
||||||
OpportunityPercent=When you create a lead, you will define an estimated amount of project/lead. According to status of the lead, this amount may be multiplied by this rate to evaluate a total amount all your leads may generate. Value is a percentage (between 0 and 100).
|
OpportunityPercent=When you create a lead, you will define an estimated amount of project/lead. According to status of the lead, this amount may be multiplied by this rate to evaluate a total amount all your leads may generate. Value is a percentage (between 0 and 100).
|
||||||
@ -2151,3 +2153,5 @@ DatabasePasswordNotObfuscated=Database password is NOT obfuscated in conf file
|
|||||||
APIsAreNotEnabled=APIs modules are not enabled
|
APIsAreNotEnabled=APIs modules are not enabled
|
||||||
YouShouldSetThisToOff=You should set this to 0 or off
|
YouShouldSetThisToOff=You should set this to 0 or off
|
||||||
InstallAndUpgradeLockedBy=Install and upgrades are locked by the file <b>%s</b>
|
InstallAndUpgradeLockedBy=Install and upgrades are locked by the file <b>%s</b>
|
||||||
|
IfYouUseASecondTaxYouMustSetYouUseTheMainTax=If you want to use a second tax, you must enable also the first sales tax
|
||||||
|
IfYouUseAThirdTaxYouMustSetYouUseTheMainTax=If you want to use a third tax, you must enable also the first sales tax
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user