FIX multicompany compatibility

This commit is contained in:
Regis Houssin 2023-09-15 14:41:48 +02:00
parent 21bcc807d1
commit 80bc47948c
3 changed files with 10 additions and 5 deletions

View file

@ -260,6 +260,7 @@ function societe_prepare_head(Societe $object)
$sql = "SELECT COUNT(n.rowid) as nb";
$sql .= " FROM ".MAIN_DB_PREFIX."societe_account as n";
$sql .= " WHERE fk_soc = ".((int) $object->id);
$sql .= " AND entity IN (".getEntity('thirdpartyaccount').")";
if (!empty($site_filter_list)) {
$sql .= " AND n.site IN (".$db->sanitize("'".implode("','", $site_filter_list)."'", 1).")";
}
@ -287,6 +288,7 @@ function societe_prepare_head(Societe $object)
$sql = "SELECT COUNT(n.rowid) as nb";
$sql .= " FROM ".MAIN_DB_PREFIX."partnership as n";
$sql .= " WHERE fk_soc = ".((int) $object->id);
$sql .= " AND entity IN (".getEntity('partnership').")";
$resql = $db->query($sql);
if ($resql) {
$obj = $db->fetch_object($resql);
@ -400,7 +402,8 @@ function societe_prepare_head(Societe $object)
} else {
$sql = "SELECT COUNT(id) as nb";
$sql .= " FROM ".MAIN_DB_PREFIX."actioncomm";
$sql .= " WHERE fk_soc = ".((int) $object->id);
$sql .= " WHERE entity = ".((int) $conf->entity);
$sql .= " AND fk_soc = ".((int) $object->id);
$resql = $db->query($sql);
if ($resql) {
$obj = $db->fetch_object($resql);

View file

@ -16,8 +16,10 @@
--
-- ===================================================================
CREATE TABLE llx_partnership(
rowid integer AUTO_INCREMENT PRIMARY KEY NOT NULL,
CREATE TABLE llx_partnership
(
rowid integer AUTO_INCREMENT PRIMARY KEY NOT NULL,
entity integer DEFAULT 1 NOT NULL, -- multi company id, 0 = all
ref varchar(128) DEFAULT '(PROV)' NOT NULL,
status smallint DEFAULT 0 NOT NULL,
fk_type integer DEFAULT 0 NOT NULL,
@ -26,7 +28,6 @@ CREATE TABLE llx_partnership(
email_partnership varchar(64), -- if different than email of thirdparty or member
date_partnership_start date NOT NULL,
date_partnership_end date NULL,
entity integer DEFAULT 1 NOT NULL, -- multi company id, 0 = all
reason_decline_or_cancel text NULL,
date_creation datetime NOT NULL,
fk_user_creat integer NULL, -- can be null if created from public page
@ -41,4 +42,5 @@ CREATE TABLE llx_partnership(
ip varchar(250),
import_key varchar(14),
model_pdf varchar(255)
) ENGINE=innodb;

View file

@ -290,7 +290,7 @@ if (isset($extrafields->attributes[$object->table_element]['label']) && is_array
$sql .= " LEFT JOIN ".MAIN_DB_PREFIX.$object->table_element."_extrafields as ef on (t.rowid = ef.fk_object)";
}
if ($objectwebsiteaccount->ismultientitymanaged == 1) {
$sql .= " WHERE t.entity IN (".getEntity('societeaccount').")";
$sql .= " WHERE t.entity IN (".getEntity('thirdpartyaccount').")";
} else {
$sql .= " WHERE 1 = 1";
}