diff --git a/htdocs/admin/multicompany.php b/htdocs/admin/multicompany.php index d16de70451f..d0cb2a17bf0 100644 --- a/htdocs/admin/multicompany.php +++ b/htdocs/admin/multicompany.php @@ -42,6 +42,7 @@ $mc = new Multicompany($db); if ($_GET["action"] == 'setactive') { $mc->setEntity($_GET['id'],'active',$_GET["value"]); + if ($_GET["value"] == 0) $mc->setEntity($_GET['id'],'visible',$_GET["value"]); } if ($_GET["action"] == 'setvisible') diff --git a/htdocs/lib/security.lib.php b/htdocs/lib/security.lib.php index fcf4ad8cbca..8d8959a13d8 100644 --- a/htdocs/lib/security.lib.php +++ b/htdocs/lib/security.lib.php @@ -158,7 +158,7 @@ function dol_loginfunction($langs,$conf,$mysoc) require_once(DOL_DOCUMENT_ROOT.'/multicompany/multicompany.class.php'); $mc = new Multicompany($db); - $mc->getEntities(); + $mc->getEntities(0,1); $select_entity=$mc->select_entities($mc->entities,$lastentity,'tabindex="3"'); } diff --git a/htdocs/multicompany/multicompany.class.php b/htdocs/multicompany/multicompany.class.php index 7357461b824..bcd973c2354 100644 --- a/htdocs/multicompany/multicompany.class.php +++ b/htdocs/multicompany/multicompany.class.php @@ -131,12 +131,13 @@ class Multicompany /** * \brief List of entities */ - function getEntities($details=0) + function getEntities($details=0,$visible=0) { global $conf; $sql = "SELECT rowid, label, description, visible, active"; $sql.= " FROM ".MAIN_DB_PREFIX."entity"; + if ($visible) $sql.= " WHERE visible = 1"; $result = $this->db->query($sql); if ($result) diff --git a/htdocs/multicompany/templates/admin-entity.tpl b/htdocs/multicompany/templates/admin-entity.tpl index c44d46cc855..b549d525e71 100644 --- a/htdocs/multicompany/templates/admin-entity.tpl +++ b/htdocs/multicompany/templates/admin-entity.tpl @@ -44,7 +44,11 @@ {if $entities[mc].visible} {$img_on} {else} - {$img_off} + {if $entities[mc].active} + {$img_off} + {else} + {$img_off} + {/if} {/if}