Fix: On first install, default models was not preselected

This commit is contained in:
Laurent Destailleur 2010-07-09 23:15:06 +00:00
parent 391ef13fe7
commit bf6f17f8d3
5 changed files with 254 additions and 208 deletions

View File

@ -80,6 +80,7 @@ if ($_GET["action"] == 'specimen')
} }
} }
// Activate a model
if ($_GET["action"] == 'set') if ($_GET["action"] == 'set')
{ {
$type='shipping'; $type='shipping';
@ -104,6 +105,7 @@ if ($_GET["action"] == 'del')
} }
} }
// Set default model
if ($_GET["action"] == 'setdoc') if ($_GET["action"] == 'setdoc')
{ {
$db->begin(); $db->begin();
@ -132,7 +134,7 @@ if ($_GET["action"] == 'setdoc')
} }
} }
// \todo A quoi servent les methode d'expedition ? // TODO A quoi servent les methode d'expedition ?
if ($_GET["action"] == 'setmethod' || $_GET["action"] == 'setmod') if ($_GET["action"] == 'setmethod' || $_GET["action"] == 'setmod')
{ {
$module=$_GET["module"]; $module=$_GET["module"];
@ -205,7 +207,7 @@ if ($_GET["action"] == 'setmethod' || $_GET["action"] == 'setmod')
if ($_GET["action"] == 'setmod') if ($_GET["action"] == 'setmod')
{ {
// \todo Verifier si module numerotation choisi peut etre active // TODO Verifier si module numerotation choisi peut etre active
// par appel methode canBeActivated // par appel methode canBeActivated
dolibarr_set_const($db, "EXPEDITION_ADDON",$_GET["module"],'chaine',0,'',$conf->entity); dolibarr_set_const($db, "EXPEDITION_ADDON",$_GET["module"],'chaine',0,'',$conf->entity);
@ -342,7 +344,7 @@ if(is_dir($dir))
print "</td>"; print "</td>";
} }
// Defaut // Default
print "<td align=\"center\">"; print "<td align=\"center\">";
if ($conf->global->EXPEDITION_ADDON_PDF == $name) if ($conf->global->EXPEDITION_ADDON_PDF == $name)
{ {

View File

@ -340,7 +340,7 @@ while (($file = readdir($handle))!==false)
else else
{ {
print "<td align=\"center\">\n"; print "<td align=\"center\">\n";
print '<a href="'.$_SERVER["PHP_SELF"].'?action=set&amp;value='.$name.'">'.$langs->trans("Activate").'</a>'; print '<a href="'.$_SERVER["PHP_SELF"].'?action=set&amp;value='.$name.'">'.img_picto($langs->trans("Disabled"),'off').'</a>';
print "</td>"; print "</td>";
} }

View File

@ -1,6 +1,6 @@
<?php <?php
/* Copyright (C) 2003,2005 Rodolphe Quiedeville <rodolphe@quiedeville.org> /* Copyright (C) 2003,2005 Rodolphe Quiedeville <rodolphe@quiedeville.org>
* Copyright (C) 2004-2007 Laurent Destailleur <eldy@users.sourceforge.net> * Copyright (C) 2004-2010 Laurent Destailleur <eldy@users.sourceforge.net>
* Copyright (C) 2005-2009 Regis Houssin <regis@dolibarr.fr> * Copyright (C) 2005-2009 Regis Houssin <regis@dolibarr.fr>
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
@ -19,9 +19,9 @@
*/ */
/** /**
\defgroup don Module donation * \defgroup don Module donation
\brief Module pour gerer le suivi des dons * \brief Module pour gerer le suivi des dons
\version $Id$ * \version $Id$
*/ */
/** /**
@ -72,11 +72,14 @@ class modDon extends DolibarrModules
// Constants // Constants
$this->const = array(); $this->const = array();
$this->const[0][0] = "DON_FORM"; $r=0;
$this->const[0][1] = "chaine";
$this->const[0][2] = "fsfe.fr.php"; $this->const[$r][0] = "DON_ADDON_MODEL";
$this->const[0][3] = 'Nom du gestionnaire de formulaire de dons'; $this->const[$r][1] = "chaine";
$this->const[0][4] = 0; $this->const[$r][2] = "html_cerfafr";
$this->const[$r][3] = 'Nom du gestionnaire de generation de recu de dons';
$this->const[$r][4] = 0;
$r++;
// Boxes // Boxes
$this->boxes = array(); $this->boxes = array();
@ -112,7 +115,12 @@ class modDon extends DolibarrModules
*/ */
function init() function init()
{ {
$sql = array(); global $conf;
$sql = array(
"DELETE FROM ".MAIN_DB_PREFIX."document_model WHERE nom = '".$this->const[0][2]."' AND entity = ".$conf->entity,
"INSERT INTO ".MAIN_DB_PREFIX."document_model (nom, type, entity) VALUES('".$this->const[0][2]."','donation',".$conf->entity.")",
);
return $this->_init($sql); return $this->_init($sql);
} }

View File

@ -1,187 +1,215 @@
<?php <?php
/* Copyright (C) 2003-2005 Rodolphe Quiedeville <rodolphe@quiedeville.org> /* Copyright (C) 2003-2005 Rodolphe Quiedeville <rodolphe@quiedeville.org>
* Copyright (C) 2004-2007 Laurent Destailleur <eldy@users.sourceforge.net> * Copyright (C) 2004-2010 Laurent Destailleur <eldy@users.sourceforge.net>
* Copyright (C) 2005-2009 Regis Houssin <regis@dolibarr.fr> * Copyright (C) 2005-2009 Regis Houssin <regis@dolibarr.fr>
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or * the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version. * (at your option) any later version.
* *
* This program is distributed in the hope that it will be useful, * This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of * but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details. * GNU General Public License for more details.
* *
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software * along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/ */
/** /**
* \defgroup expedition Module shipping * \defgroup expedition Module shipping
* \brief Module pour gerer les expeditions de produits * \brief Module pour gerer les expeditions de produits
*/ */
/** /**
* \file htdocs/includes/modules/modExpedition.class.php * \file htdocs/includes/modules/modExpedition.class.php
* \ingroup expedition * \ingroup expedition
* \brief Fichier de description et activation du module Expedition * \brief Fichier de description et activation du module Expedition
*/ */
include_once(DOL_DOCUMENT_ROOT ."/includes/modules/DolibarrModules.class.php"); include_once(DOL_DOCUMENT_ROOT ."/includes/modules/DolibarrModules.class.php");
/** \class modExpedition /** \class modExpedition
* \brief Classe de description et activation du module Expedition * \brief Classe de description et activation du module Expedition
*/ */
class modExpedition extends DolibarrModules class modExpedition extends DolibarrModules
{ {
/** /**
* \brief Constructeur. Definit les noms, constantes et boites * \brief Constructeur. Definit les noms, constantes et boites
* \param DB handler d'acces base * \param DB handler d'acces base
*/ */
function modExpedition($DB) function modExpedition($DB)
{ {
$this->db = $DB ; $this->db = $DB ;
$this->numero = 80 ; $this->numero = 80 ;
$this->family = "crm"; $this->family = "crm";
// Module label (no space allowed), used if translation string 'ModuleXXXName' not found (where XXX is value of numeric property 'numero' of module) // Module label (no space allowed), used if translation string 'ModuleXXXName' not found (where XXX is value of numeric property 'numero' of module)
$this->name = preg_replace('/^mod/i','',get_class($this)); $this->name = preg_replace('/^mod/i','',get_class($this));
$this->description = "Gestion des expeditions"; $this->description = "Gestion des expeditions";
// Possible values for version are: 'development', 'experimental', 'dolibarr' or version // Possible values for version are: 'development', 'experimental', 'dolibarr' or version
$this->version = 'dolibarr'; $this->version = 'dolibarr';
$this->const_name = 'MAIN_MODULE_'.strtoupper($this->name); $this->const_name = 'MAIN_MODULE_'.strtoupper($this->name);
$this->special = 0; $this->special = 0;
$this->picto = "sending"; $this->picto = "sending";
// Data directories to create when module is enabled // Data directories to create when module is enabled
$this->dirs = array("/expedition/temp", $this->dirs = array("/expedition/temp",
"/expedition/sending", "/expedition/sending",
"/expedition/sending/temp", "/expedition/sending/temp",
"/expedition/receipt", "/expedition/receipt",
"/expedition/receipt/temp" "/expedition/receipt/temp"
); );
// Config pages // Config pages
$this->config_page_url = array("confexped.php"); $this->config_page_url = array("confexped.php");
// Dependances // Dependances
$this->depends = array("modCommande"); $this->depends = array("modCommande");
$this->requiredby = array(); $this->requiredby = array();
// Constantes // Constantes
$this->const = array(); $this->const = array();
$this->const[0][0] = "LIVRAISON_ADDON_PDF"; $r=0;
$this->const[0][1] = "chaine";
$this->const[0][2] = "typhon"; $this->const[$r][0] = "EXPEDITION_ADDON_PDF";
$this->const[0][3] = 'Nom du gestionnaire de generation des commandes en PDF'; $this->const[$r][1] = "chaine";
$this->const[0][4] = 0; $this->const[$r][2] = "rouget";
$this->const[$r][3] = 'Nom du gestionnaire de generation des bons expeditions en PDF';
$this->const[1][0] = "LIVRAISON_ADDON"; $this->const[$r][4] = 0;
$this->const[1][1] = "chaine"; $r++;
$this->const[1][2] = "mod_livraison_jade";
$this->const[1][3] = 'Nom du gestionnaire de numerotation des bons de livraison'; /*$this->const[$r][0] = "EXPEDITION_ADDON";
$this->const[1][4] = 0; $this->const[$r][1] = "chaine";
$this->const[$r][2] = "xxx";
// Boxes $this->const[$r][3] = 'Nom du gestionnaire de generation des bons expeditions en PDF';
$this->boxes = array(); $this->const[$r][4] = 0;
$r++;
// Permissions */
$this->rights = array();
$this->rights_class = 'expedition'; $this->const[$r][0] = "LIVRAISON_ADDON_PDF";
$r=0; $this->const[$r][1] = "chaine";
$this->const[$r][2] = "typhon";
$r++; $this->const[$r][3] = 'Nom du gestionnaire de generation des bons de reception en PDF';
$this->rights[$r][0] = 101; $this->const[$r][4] = 0;
$this->rights[$r][1] = 'Lire les expeditions'; $r++;
$this->rights[$r][2] = 'r';
$this->rights[$r][3] = 1; $this->const[$r][0] = "LIVRAISON_ADDON";
$this->rights[$r][4] = 'lire'; $this->const[$r][1] = "chaine";
$this->const[$r][2] = "mod_livraison_jade";
$r++; $this->const[$r][3] = 'Nom du gestionnaire de numerotation des bons de reception';
$this->rights[$r][0] = 102; $this->const[$r][4] = 0;
$this->rights[$r][1] = 'Creer modifier les expeditions'; $r++;
$this->rights[$r][2] = 'w';
$this->rights[$r][3] = 0; // Boxes
$this->rights[$r][4] = 'creer'; $this->boxes = array();
$r++; // Permissions
$this->rights[$r][0] = 104; $this->rights = array();
$this->rights[$r][1] = 'Valider les expeditions'; $this->rights_class = 'expedition';
$this->rights[$r][2] = 'd'; $r=0;
$this->rights[$r][3] = 0;
$this->rights[$r][4] = 'valider'; $r++;
$this->rights[$r][0] = 101;
$r++; $this->rights[$r][1] = 'Lire les expeditions';
$this->rights[$r][0] = 109; $this->rights[$r][2] = 'r';
$this->rights[$r][1] = 'Supprimer les expeditions'; $this->rights[$r][3] = 1;
$this->rights[$r][2] = 'd'; $this->rights[$r][4] = 'lire';
$this->rights[$r][3] = 0;
$this->rights[$r][4] = 'supprimer'; $r++;
$this->rights[$r][0] = 102;
$r++; $this->rights[$r][1] = 'Creer modifier les expeditions';
$this->rights[$r][0] = 1101; $this->rights[$r][2] = 'w';
$this->rights[$r][1] = 'Lire les bons de livraison'; $this->rights[$r][3] = 0;
$this->rights[$r][2] = 'r'; $this->rights[$r][4] = 'creer';
$this->rights[$r][3] = 1;
$this->rights[$r][4] = 'livraison'; $r++;
$this->rights[$r][5] = 'lire'; $this->rights[$r][0] = 104;
$this->rights[$r][1] = 'Valider les expeditions';
$r++; $this->rights[$r][2] = 'd';
$this->rights[$r][0] = 1102; $this->rights[$r][3] = 0;
$this->rights[$r][1] = 'Creer modifier les bons de livraison'; $this->rights[$r][4] = 'valider';
$this->rights[$r][2] = 'w';
$this->rights[$r][3] = 0; $r++;
$this->rights[$r][4] = 'livraison'; $this->rights[$r][0] = 109;
$this->rights[$r][5] = 'creer'; $this->rights[$r][1] = 'Supprimer les expeditions';
$this->rights[$r][2] = 'd';
$r++; $this->rights[$r][3] = 0;
$this->rights[$r][0] = 1104; $this->rights[$r][4] = 'supprimer';
$this->rights[$r][1] = 'Valider les bons de livraison';
$this->rights[$r][2] = 'd'; $r++;
$this->rights[$r][3] = 0; $this->rights[$r][0] = 1101;
$this->rights[$r][4] = 'livraison'; $this->rights[$r][1] = 'Lire les bons de livraison';
$this->rights[$r][5] = 'valider'; $this->rights[$r][2] = 'r';
$this->rights[$r][3] = 1;
$r++; $this->rights[$r][4] = 'livraison';
$this->rights[$r][0] = 1109; $this->rights[$r][5] = 'lire';
$this->rights[$r][1] = 'Supprimer les bons de livraison';
$this->rights[$r][2] = 'd'; $r++;
$this->rights[$r][3] = 0; $this->rights[$r][0] = 1102;
$this->rights[$r][4] = 'livraison'; $this->rights[$r][1] = 'Creer modifier les bons de livraison';
$this->rights[$r][5] = 'supprimer'; $this->rights[$r][2] = 'w';
$this->rights[$r][3] = 0;
} $this->rights[$r][4] = 'livraison';
$this->rights[$r][5] = 'creer';
/** $r++;
* \brief Fonction appelee lors de l'activation du module. Insere en base les constantes, boites, permissions du module. $this->rights[$r][0] = 1104;
* Definit egalement les repertoires de donnees a creer pour ce module. $this->rights[$r][1] = 'Valider les bons de livraison';
*/ $this->rights[$r][2] = 'd';
function init() $this->rights[$r][3] = 0;
{ $this->rights[$r][4] = 'livraison';
// Permissions $this->rights[$r][5] = 'valider';
$this->remove();
$r++;
$sql = array(); $this->rights[$r][0] = 1109;
$this->rights[$r][1] = 'Supprimer les bons de livraison';
return $this->_init($sql); $this->rights[$r][2] = 'd';
} $this->rights[$r][3] = 0;
$this->rights[$r][4] = 'livraison';
/** $this->rights[$r][5] = 'supprimer';
* \brief Fonction appelee lors de la desactivation d'un module.
* Supprime de la base les constantes, boites et permissions du module. }
*/
function remove()
{ /**
$sql = array(); * \brief Fonction appelee lors de l'activation du module. Insere en base les constantes, boites, permissions du module.
* Definit egalement les repertoires de donnees a creer pour ce module.
return $this->_remove($sql); */
} function init()
} {
?> global $conf;
// Permissions
$this->remove();
$sql = array();
$sql = array(
"DELETE FROM ".MAIN_DB_PREFIX."document_model WHERE nom = '".$this->const[0][2]."' AND entity = ".$conf->entity,
"INSERT INTO ".MAIN_DB_PREFIX."document_model (nom, type, entity) VALUES('".$this->const[0][2]."','shipping',".$conf->entity.")",
"DELETE FROM ".MAIN_DB_PREFIX."document_model WHERE nom = '".$this->const[1][2]."' AND entity = ".$conf->entity,
"INSERT INTO ".MAIN_DB_PREFIX."document_model (nom, type, entity) VALUES('".$this->const[1][2]."','delivery',".$conf->entity.")",
);
return $this->_init($sql);
}
/**
* \brief Fonction appelee lors de la desactivation d'un module.
* Supprime de la base les constantes, boites et permissions du module.
*/
function remove()
{
$sql = array();
return $this->_remove($sql);
}
}
?>

View File

@ -78,14 +78,17 @@ class modFournisseur extends DolibarrModules
// Constantes // Constantes
$this->const = array(); $this->const = array();
$r=0;
$this->const[0][0] = "COMMANDE_SUPPLIER_ADDON_PDF"; $this->const[$r][0] = "COMMANDE_SUPPLIER_ADDON_PDF";
$this->const[0][1] = "chaine"; $this->const[$r][1] = "chaine";
$this->const[0][2] = "muscadet"; $this->const[$r][2] = "muscadet";
$r++;
$this->const[1][0] = "COMMANDE_SUPPLIER_ADDON"; $this->const[$r][0] = "COMMANDE_SUPPLIER_ADDON";
$this->const[1][1] = "chaine"; $this->const[$r][1] = "chaine";
$this->const[1][2] = "mod_commande_fournisseur_muguet"; $this->const[$r][2] = "mod_commande_fournisseur_muguet";
$r++;
// Boxes // Boxes
$this->boxes = array(); $this->boxes = array();
@ -252,9 +255,14 @@ class modFournisseur extends DolibarrModules
*/ */
function init() function init()
{ {
global $conf;
$this->remove(); $this->remove();
$sql = array(); $sql = array(
"DELETE FROM ".MAIN_DB_PREFIX."document_model WHERE nom = '".$this->const[0][2]."' AND entity = ".$conf->entity,
"INSERT INTO ".MAIN_DB_PREFIX."document_model (nom, type, entity) VALUES('".$this->const[0][2]."','supplier_order',".$conf->entity.")",
);
$this->load_datas(); $this->load_datas();