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}