New: early development of multi-company module

This commit is contained in:
Regis Houssin 2009-04-16 08:23:00 +00:00
parent fd7d9b5d5a
commit 0d7195c40f
4 changed files with 56 additions and 15 deletions

View File

@ -46,7 +46,7 @@ if ($_POST["action"] == 'update' || $_POST["action"] == 'add')
if ($_GET["action"] == 'delete')
{
if (! dolibarr_del_const($db, $_GET["rowid"]));
if (! dolibarr_del_const($db, $_GET["rowid"],$_GET["entity"]));
{
print $db->error();
}
@ -66,6 +66,7 @@ print '<tr class="liste_titre">';
print '<td>'.$langs->trans("Name").'</td>';
print '<td>'.$langs->trans("Value").'</td>';
print '<td>'.$langs->trans("Note").'</td>';
if ($conf->multicompany->enabled) print '<td>'.$langs->trans("Entity").'</td>';
print '<td align="center">'.$langs->trans("Action").'</td>';
print "</tr>\n";
@ -83,7 +84,18 @@ print '<td>';
print '<input type="text" class="flat" size="30" name="constvalue" value="">';
print '</td><td>';
print '<input type="text" class="flat" size="40" name="constnote" value="">';
print '</td><td align="center">';
print '</td>';
if ($conf->multicompany->enabled)
{
print '<td>';
print '<input type="text" class="flat" size="1" name="entity" value="'.$conf->entity.'">';
print '</td>';
}
else
{
print '<input type="hidden" name="entity" value="'.$conf->entity.'">';
}
print '<td align="center">';
print '<input type="submit" class="button" value="'.$langs->trans("Add").'" name="Button"><br>';
print "</td>\n";
print '</tr>';
@ -120,7 +132,6 @@ if ($result)
print '<input type="hidden" name="action" value="update">';
print '<input type="hidden" name="rowid" value="'.$rowid.'">';
print '<input type="hidden" name="constname" value="'.$obj->name.'">';
print '<input type="hidden" name="entity" value="'.$obj->entity.'">';
print "<tr $bc[$var] class=value><td>$obj->name</td>\n";
@ -131,9 +142,23 @@ if ($result)
// Note
print '<input type="text" class="flat" size="40" name="constnote" value="'.stripslashes(nl2br($obj->note)).'">';
print '</td><td align="center">';
print '</td>';
// Entity
if ($conf->multicompany->enabled)
{
print '<td>';
print '<input type="text" class="flat" size="1" name="entity" value="'.$obj->entity.'">';
print '</td>';
}
else
{
print '<input type="hidden" name="entity" value="'.$obj->entity.'">';
}
print '<td align="center">';
print '<input type="submit" class="button" value="'.$langs->trans("Modify").'" name="button"> &nbsp; ';
print '<a href="const.php?rowid='.$obj->rowid.'&action=delete">'.img_delete().'</a>';
print '<a href="const.php?rowid='.$obj->rowid.'&entity='.$obj->entity.'&action=delete">'.img_delete().'</a>';
print "</td></tr>\n";
print '</form>';

View File

@ -392,6 +392,8 @@ class DolibarrModules
global $conf;
$err = 0;
if ($this->family == "base") $conf->entity = 0; // Common module
$sql = "DELETE FROM ".MAIN_DB_PREFIX."const ";
$sql.= "WHERE name = '".$this->const_name."' ";
@ -420,6 +422,8 @@ class DolibarrModules
global $conf;
$err = 0;
if ($this->family == "base") $conf->entity = 0; // Common module
$sql = "DELETE FROM ".MAIN_DB_PREFIX."const ";
$sql.= "WHERE name = '".$this->const_name."'";

View File

@ -83,7 +83,7 @@ class modMultiCompany extends DolibarrModules
$this->depends = array(); // List of modules id that must be enabled if this module is enabled
$this->requiredby = array(); // List of modules id to disable if this one is disabled
$this->phpmin = array(4,3); // Minimum version of PHP required by module
$this->need_dolibarr_version = array(2,5); // Minimum version of Dolibarr required by module
$this->need_dolibarr_version = array(2,6); // Minimum version of Dolibarr required by module
$this->langfiles = array("multicompany");
// Constants
@ -204,7 +204,7 @@ class modMultiCompany extends DolibarrModules
{
$sql = array();
$result=$this->load_tables();
//$result=$this->load_tables();
return $this->_init($sql);
}
@ -217,10 +217,12 @@ class modMultiCompany extends DolibarrModules
*/
function remove()
{
$sql = array();
return $this->_remove($sql);
}
$sql = array();
$result = $this->destroy_cookie();
return $this->_remove($sql);
}
/**
@ -232,8 +234,18 @@ class modMultiCompany extends DolibarrModules
*/
function load_tables()
{
return $this->_load_tables('/mymodule/sql/');
return $this->_load_tables('/multicompany/sql/');
}
/**
* \brief Destroy a cookie
*/
function destroy_cookie()
{
// Destroy entity cookie
$entityCookieName = "DOLENTITYID_dolibarr";
setcookie($entityCookieName, '', 1, "/");
}
}
?>
?>

View File

@ -385,8 +385,8 @@ function dolibarr_set_const($db, $name, $value, $type='chaine', $visible=0, $not
}
else
{
$this->error=$db->lasterror();
dol_syslog("admin.lib::dolibarr_set_const ".$this->error, LOG_ERR);
$error=$db->lasterror();
dol_syslog("admin.lib::dolibarr_set_const ".$error, LOG_ERR);
$db->rollback();
return -1;
}