diff --git a/htdocs/eventorganization/class/conferenceorbooth.class.php b/htdocs/eventorganization/class/conferenceorbooth.class.php
index 1d462ddae30..6f3fcd03c60 100644
--- a/htdocs/eventorganization/class/conferenceorbooth.class.php
+++ b/htdocs/eventorganization/class/conferenceorbooth.class.php
@@ -105,7 +105,7 @@ class ConferenceOrBooth extends ActionComm
public $fields = array(
'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"),
- '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', 'csslist'=>'tdoverflowmax125', '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", 'picto'=>'company', 'css'=>'tdoverflowmax150 maxwidth500'),
'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', 'css'=>'tdoverflowmax150 maxwidth500'),
'note' => array('type'=>'text', 'label'=>'Description', 'enabled'=>'1', 'position'=>60, 'notnull'=>0, 'visible'=>1),
diff --git a/htdocs/eventorganization/conferenceorbooth_list.php b/htdocs/eventorganization/conferenceorbooth_list.php
index 943205adca2..05fe0fced5b 100644
--- a/htdocs/eventorganization/conferenceorbooth_list.php
+++ b/htdocs/eventorganization/conferenceorbooth_list.php
@@ -699,15 +699,16 @@ print '
';
foreach ($object->fields as $key => $val) {
- $cssforfield = (empty($val['css']) ? '' : $val['css']);
$searchkey = (empty($search[$key]) ? '' : $search[$key]);
+
+ $cssforfield = (empty($val['csslist']) ? (empty($val['css']) ? '' : $val['css']) : $val['csslist']);
if ($key == 'status') {
$cssforfield .= ($cssforfield ? ' ' : '').'center';
} elseif (in_array($val['type'], array('date', 'datetime', 'timestamp'))) {
$cssforfield .= ($cssforfield ? ' ' : '').'center';
} elseif (in_array($val['type'], array('timestamp'))) {
$cssforfield .= ($cssforfield ? ' ' : '').'nowrap';
- } elseif (in_array($val['type'], array('double(24,8)', 'double(6,3)', 'integer', 'real', 'price')) && !in_array($key, array('rowid', 'ref')) && $val['label'] != 'TechnicalID') {
+ } elseif (in_array($val['type'], array('double(24,8)', 'double(6,3)', 'integer', 'real', 'price')) && $val['label'] != 'TechnicalID' && empty($val['arrayofkeyval'])) {
$cssforfield .= ($cssforfield ? ' ' : '').'right';
}
if (!empty($arrayfields['t.'.$key]['checked'])) {
diff --git a/htdocs/install/mysql/migration/14.0.0-15.0.0.sql b/htdocs/install/mysql/migration/14.0.0-15.0.0.sql
index aa88ff56597..e5c24156965 100644
--- a/htdocs/install/mysql/migration/14.0.0-15.0.0.sql
+++ b/htdocs/install/mysql/migration/14.0.0-15.0.0.sql
@@ -511,6 +511,18 @@ INSERT INTO llx_c_action_trigger (code,label,description,elementtype,rang) value
-- VMYSQL4.3 ALTER TABLE llx_user MODIFY COLUMN fk_soc integer NULL;
-- VPGSQL8.2 ALTER TABLE llx_user ALTER COLUMN fk_soc DROP NOT NULL;
+CREATE TABLE llx_element_tag
+(
+ rowid integer AUTO_INCREMENT PRIMARY KEY,
+ fk_categorie integer NOT NULL,
+ fk_element integer NOT NULL,
+ import_key varchar(14)
+)ENGINE=innodb;
+
+ALTER TABLE llx_element_tag ADD UNIQUE INDEX idx_element_tag_uk (fk_categorie, fk_element);
+
+ALTER TABLE llx_element_tag ADD CONSTRAINT fk_element_tag_categorie_rowid FOREIGN KEY (fk_categorie) REFERENCES llx_categorie (rowid);
+
-- Add column to help to fix a very critical bug when transferring into accounting bank record of a bank account into another currency.
-- Idea is to update this column manually in v15 with value in currency of company for bank that are not into the main currency and the transfer
-- into accounting will use it in priority if value is not null. The script repair.sql contains the sequence to fix datas in llx_bank.
diff --git a/htdocs/install/mysql/tables/llx_societe.sql b/htdocs/install/mysql/tables/llx_societe.sql
index c8b78d42fae..9cb3a9ba3de 100644
--- a/htdocs/install/mysql/tables/llx_societe.sql
+++ b/htdocs/install/mysql/tables/llx_societe.sql
@@ -52,15 +52,6 @@ create table llx_societe
email varchar(128), --
socialnetworks text DEFAULT NULL, -- json with socialnetworks
- --skype varchar(255), -- deprecated
- --twitter varchar(255), -- deprecated
- --facebook varchar(255), -- deprecated
- --linkedin varchar(255), -- deprecated
- --instagram varchar(255), -- deprecated
- --snapchat varchar(255), -- deprecated
- --googleplus varchar(255), -- deprecated
- --youtube varchar(255), -- deprecated
- --whatsapp varchar(255), -- deprecated
fk_effectif integer DEFAULT 0, --
fk_typent integer DEFAULT NULL, -- type ent
diff --git a/htdocs/projet/class/task.class.php b/htdocs/projet/class/task.class.php
index c57586d13a7..18925d8cd09 100644
--- a/htdocs/projet/class/task.class.php
+++ b/htdocs/projet/class/task.class.php
@@ -918,6 +918,7 @@ class Task extends CommonObjectLine
// Add where from extra fields
$extrafieldsobjectkey = 'projet_task';
$extrafieldsobjectprefix = 'efpt.';
+ global $db; // needed for extrafields_list_search_sql.tpl
include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_list_search_sql.tpl.php';
// Add where from hooks
$parameters = array();
diff --git a/htdocs/public/eventorganization/attendee_new.php b/htdocs/public/eventorganization/attendee_new.php
index 55303bcb00e..7c0321dd9ba 100644
--- a/htdocs/public/eventorganization/attendee_new.php
+++ b/htdocs/public/eventorganization/attendee_new.php
@@ -263,6 +263,7 @@ if (empty($reshook) && $action == 'add' && (!empty($conference->id) && $conferen
$confattendee->fk_project = $project->id;
$confattendee->fk_actioncomm = $id;
$confattendee->note_public = $note_public;
+
$resultconfattendee = $confattendee->create($user);
if ($resultconfattendee < 0) {
$error++;
@@ -278,7 +279,7 @@ if (empty($reshook) && $action == 'add' && (!empty($conference->id) && $conferen
$securekeyurl = dol_hash($conf->global->EVENTORGANIZATION_SECUREKEY.'conferenceorbooth'.$id, 'master');
$redirection = $dolibarr_main_url_root.'/public/eventorganization/subscriptionok.php?id='.((int) $id).'&securekey='.urlencode($securekeyurl);
- $mesg = $langs->trans("RegistrationAndPaymentWereAlreadyRecorder", $email);
+ $mesg = $langs->trans("RegistrationAndPaymentWereAlreadyRecorded", $email);
setEventMessages($mesg, null, 'mesgs');
$db->commit();
diff --git a/htdocs/public/payment/paymentok.php b/htdocs/public/payment/paymentok.php
index ecc19b75ab5..c9b8f13c877 100644
--- a/htdocs/public/payment/paymentok.php
+++ b/htdocs/public/payment/paymentok.php
@@ -1260,7 +1260,7 @@ if ($ispaymentok) {
$outputlangs = new Translate('', $conf);
$outputlangs->setDefaultLang(empty($thirdparty->default_lang) ? $mysoc->default_lang : $thirdparty->default_lang);
// Load traductions files required by page
- $outputlangs->loadLangs(array("main", "members"));
+ $outputlangs->loadLangs(array("main", "members", "eventorganization"));
// Get email content from template
$arraydefaultmessage = null;
@@ -1278,7 +1278,6 @@ if ($ispaymentok) {
$msg = $outputlangs->trans("OrganizationEventPaymentOfRegistrationWasReceived");
}
-
$substitutionarray = getCommonSubstitutionArray($outputlangs, 0, null, $thirdparty);
complete_substitutions_array($substitutionarray, $outputlangs, $object);
@@ -1291,7 +1290,22 @@ if ($ispaymentok) {
$ishtml = dol_textishtml($texttosend); // May contain urls
- $mailfile = new CMailFile($subjecttosend, $sendto, $from, $texttosend, array(), array(), array(), '', '', 0, $ishtml);
+ // Attach a file ?
+ $file = '';
+ $listofpaths = array();
+ $listofnames = array();
+ $listofmimes = array();
+ if (is_object($object)) {
+ $invoicediroutput = $conf->facture->dir_output;
+ $fileparams = dol_most_recent_file($invoicediroutput.'/'.$object->ref, preg_quote($object->ref, '/').'[^\-]+');
+ $file = $fileparams['fullname'];
+
+ $listofpaths = array($file);
+ $listofnames = array(basename($file));
+ $listofmimes = array(dol_mimetype($file));
+ }
+
+ $mailfile = new CMailFile($subjecttosend, $sendto, $from, $texttosend, $listofpaths, $listofmimes, $listofnames, '', '', 0, $ishtml);
$result = $mailfile->sendfile();
if ($result) {
@@ -1449,7 +1463,7 @@ if ($ispaymentok) {
$outputlangs = new Translate('', $conf);
$outputlangs->setDefaultLang(empty($thirdparty->default_lang) ? $mysoc->default_lang : $thirdparty->default_lang);
// Load traductions files required by page
- $outputlangs->loadLangs(array("main", "members"));
+ $outputlangs->loadLangs(array("main", "members", "eventorganization"));
// Get email content from template
$arraydefaultmessage = null;