dolibarr-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Dolibarr-dev] A propos de l'isolement des modules


From: Régis Houssin
Subject: Re: [Dolibarr-dev] A propos de l'isolement des modules
Date: Fri, 16 Apr 2010 20:33:49 +0200
User-agent: Microsoft-Entourage/12.24.0.100205


> Merci mais ca marche pas avec ma version 2.9dev d'il y à 2 jours, doit-je
> l'updater ? 

Ca fonctionne chez moi

> Pour le fichier /monmodule/admin/setup_page.php cela sera pareil avec
> $this->config_page_url = array("@monmodule_setup_page.php");?

Non c'est:

$this->config_page_url = 'address@hidden';

Soit address@hidden

 
> Le 16 avril 2010 19:18, Régis Houssin <address@hidden> a écrit
> :
>> Non ceci tu peux le mettre dans le fichier de langue de ton module sous
>> /htdocs/mymodule/langs/fr_FR/mymodule.lang
>> 
>> Et dans le fichier de conf du module tu ajoute ceci :
>> 
>> $this->langfiles = array("@mymodule");
>> 
>> L¹arobase détermine que le fichier de langue ³mymodule.lang² est dans le
>> répertoire en question
>> 
>> 
>> 
>> 
>> 
>> 
>> Le 16/04/10 18:31, « Alain Ivars » <address@hidden
>> <http://address@hidden> > a écrit :
>> 
>>> Encore un autre point pour la séparation du système et des module, le
>>> fichier "admin.lang", je suis obliger d'y ajouter:
>>> 
>>> ModulexxxName = DI : Ordres de Mission
>>> ModulexxxDesc = Diagnostic Immobilier : Interface de gestion des Ordres de
>>> missions
>>> et
>>> Permissionxxxx = Récupérer le résultat d'un export
>>> Permissionxxxx = Créer/Modifier un export
>>> 
>>> Alors que j'ai déja données ces information dans : "modXXXXXX.class.php aux
>>> lignes:
>>> 
>>> // 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));
>>> // Module description, used if translation string 'ModulexxxDesc' not found
>>> (where xxx is value of numeric property 'numero' of module)
>>> $this->description = "(Diagnostic Immobilier) Interface de gestion des
>>> ordres de mission";
>>> 
>>> A première vue c'est en préparation mais pas encore fait, si quelqu'un
>>> travaille sur la séparation système/modules, il faudra qu'il rajoute le
>>> traitement de ces 2 items.
>>> 
>>> 
>>> Le 16 avril 2010 17:51, Alain Ivars <address@hidden
>>> <http://address@hidden> > a écrit :
>>>> Merci pour tes réponses :-)
>>>> 
>>>> Le 15 avril 2010 00:39, Laurent Destailleur (eldy) <address@hidden
>>>> <http://address@hidden> > a écrit :
>>>> 
>>>>> Pour 1,2 3 tu peux créer une page d'admin des délais indépendante en
>>>>> attendant qu'on mette en place un systeme exploitable par tout module.
>>>>> 
>>>>> Pour 4, cela doit se faire en automatique. Pas besoin d'ajouter ces
>>>>> lignes.
>>>>> 
>>>>> Pour 5 et 6, tu peux utiliser ne direct
>>>>> ($this->global->MAIN_DELAY_DI_ODMS_TO_BILL*24*60*60) dans ton code. Les
>>>>> constantes dans ->warning_xxx ont été ajouté dans le conf pour des raisons
>>>>> historiques mais autant exploité directement ta constante.
>>>>> 
>>>>> Pour 7,8,9,13 je refléchirais a une solution apres la 2.9.
>>>>> 
>>>>> Pour 10 et 11, cela ne devrait pas etre nécessaire. La partie générique du
>>>>> code devrait fonctionner
>>>>> 
>>>>> Pour 12, faut que je modifie pour avoir un else finale générique qui
>>>>> focntionne pour tout module
>>>>> 
>>>>> Pour le 14, ce n'est pas nécessaire. tu peux deja ajouter tes propres
>>>>> liens vers ton propre js an mettant la liste des js dans un tableau passé
>>>>> en paramètre de la fonction llx_header.
>>>>> 
>>>>> 
>>>>> PS: Avec la 2.9, de nombreuses classes dans htdocs sont déplacées dans
>>>>> htocs/xxx, il faudra modifier les includes pour etre compatible avec la
>>>>> future 2.9
>>>>> 
>>>>> 
>>>>> Alain Ivars a écrit :
>>>>>> Salut à tous,
>>>>>> 
>>>>>> En cour de développement d'un module spécialisé pour les Diagnostiqueurs
>>>>>> Immobilier, j'ai plusieurs points à présenter sur lesquels on devra
>>>>>> surement faire des aménagements pour permettre une meuilleure isolation:
>>>>>> 
>>>>>> Dans:
>>>>>> ******
>>>>>> 1/ htdocs/admin/delais.php ligne 55: j'ai besoin de rajouter:
>>>>>> ***********************************************************
>>>>>>   if ($_POST["di_odmsToBill"]) dolibarr_set_const($db,
>>>>>> "MAIN_DELAY_DI_ODMS_TO_BILL",$_POST["di_odmsToBill"],'chaine',0,'',$conf-
>>>>>> >entity);
>>>>>> 
>>>>>> Je propose de faire une boucle d'include sur tout les modules et de
>>>>>> mettre dans un répertoire htdocs/MonModule/system/ un fichier nommer
>>>>>> delais1.php qui contiendra cette ligne et qui sera inclus si trouvé par
>>>>>> la boucle d'include.
>>>>>> 
>>>>>> 2/ htdocs/admin/delais.php ligne 172: j'ai besoin de rajouter:
>>>>>> ********************************************************************
>>>>>>     if ($conf->di_odm->enabled)
>>>>>>     {
>>>>>>         $var=!$var;
>>>>>>         print '<tr '.$bc[$var].'>';
>>>>>>         print '<td width="20px">'.img_object('','propal').'</td>';
>>>>>>         print
>>>>>> '<td>'.$langs->trans("di_odmDelaysOfToleranceToBill").'</td><td>';
>>>>>>         print '<input size="5" name="di_odmsToBill" value="'.
>>>>>> ($conf->global->MAIN_DELAY_DI_ODMS_TO_BILL+0) . '"> ' .
>>>>>> $langs->trans("days") . '</td></tr>';
>>>>>>     }
>>>>>> Je propose de faire une boucle d'include sur tout les modules et de
>>>>>> mettre dans un répertoire htdocs/MonModule/system/ un fichier nommer
>>>>>> delais2.php qui contiendra cette ligne et qui sera inclus si trouvé par
>>>>>> la boucle d'include.
>>>>>> 
>>>>>> 3/ htdocs/admin/delais.php ligne 292: j'ai besoin de rajouter:
>>>>>> ********************************************************************
>>>>>>     if ($conf->di_odm->enabled)
>>>>>>     {
>>>>>>         $var=!$var;
>>>>>>         print '<tr '.$bc[$var].'>';
>>>>>>         print '<td width="20px">'.img_object('','service').'</td>';
>>>>>>         print
>>>>>> '<td>'.$langs->trans("di_odmDelaysOfToleranceToBill").'</td><td>' .
>>>>>> ($conf->global->MAIN_DELAY_DI_ODMS_TO_BILL+0) . ' ' .
>>>>>> $langs->trans("days") . '</td></tr>';
>>>>>>     }
>>>>>> Je propose de faire une boucle d'include sur tout les modules et de
>>>>>> mettre dans un répertoire htdocs/MonModule/system/ un fichier nommer
>>>>>> delais3.php qui contiendra cette ligne et qui sera inclus si trouvé par
>>>>>> la boucle d'include.
>>>>>> 
>>>>>> 4/ htdocs/core/conf.class.php ligne 273: j'ai besoin de rajouter:
>>>>>> ***********************************************************************
>>>>>>         $this->di_odm->dir_output=DOL_DATA_ROOT."/di_odm";
>>>>>>         $this->di_odm->dir_temp  =DOL_DATA_ROOT."/di_odm/temp";
>>>>>> 
>>>>>> Je propose de faire une boucle d'include sur tout les modules et de
>>>>>> mettre dans un répertoire htdocs/MonModule/system/ un fichier nommer
>>>>>> conf.class1.php qui contiendra cette ligne et qui sera inclus si trouvé
>>>>>> par la boucle d'include.
>>>>>> 
>>>>>> 5/ htdocs/core/conf.class.php ligne 407: j'ai besoin de rajouter:
>>>>>> ***********************************************************************
>>>>>>        
>>>>>>  $this->di_odm->facturation->warning_delay=$this->global->MAIN_DELAY_DI_O
>>>>>> DMS_TO_BILL*24*60*60;
>>>>>> 
>>>>>> Je propose de faire une boucle d'include sur tout les modules et de
>>>>>> mettre dans un répertoire htdocs/MonModule/system/ un fichier nommer
>>>>>> conf.class1.php qui contiendra cette ligne et qui sera inclus si trouvé
>>>>>> par la boucle d'include.
>>>>>> 
>>>>>> 6/ htdocs/core/conf.class.php ligne 407: j'ai besoin de rajouter:
>>>>>> ***********************************************************************
>>>>>>        
>>>>>>  $this->di_odm->facturation->warning_delay=$this->global->MAIN_DELAY_DI_O
>>>>>> DMS_TO_BILL*24*60*60;
>>>>>> 
>>>>>> Je propose de faire une boucle d'include sur tout les modules et de
>>>>>> mettre dans un répertoire htdocs/MonModule/system/ un fichier nommer
>>>>>> conf.class2.php qui contiendra cette ligne et qui sera inclus si trouvé
>>>>>> par la boucle d'include.
>>>>>> 
>>>>>> 7/ htdocs/product/stats/fiche.php ligne 164: j'ai besoin de rajouter:
>>>>>> *************************************************************************
>>>>>> **
>>>>>>         'di_odm'           =>array('modulepart'=>'di_odmproductstats',
>>>>>>         'file' => $product->id.'/di_odm12m.png',
>>>>>>         'label' =>
>>>>>> ($mode=='byunit'?$langs->trans("di_odmNumberOfUnits"):$langs->trans("di_o
>>>>>> dmNumberOf"))),
>>>>>> 
>>>>>> Je propose de faire une boucle d'include sur tout les modules et de
>>>>>> mettre dans un répertoire htdocs/MonModule/system/ un fichier nommer
>>>>>> fiche1.php qui contiendra cette ligne et qui sera inclus si trouvé par la
>>>>>> boucle d'include.
>>>>>> 
>>>>>> 8/ htdocs/product/stats/fiche.php ligne 188: j'ai besoin de rajouter:
>>>>>> *************************************************************************
>>>>>> **
>>>>>>                 if ($key == 'di_odm')            $graph_data =
>>>>>> $product->get_nb_di_odm($socid,$mode);
>>>>>> 
>>>>>> Je propose de faire une boucle d'include sur tout les modules et de
>>>>>> mettre dans un répertoire htdocs/MonModule/system/ un fichier nommer
>>>>>> fiche2.php qui contiendra cette ligne et qui sera inclus si trouvé par la
>>>>>> boucle d'include.
>>>>>> 
>>>>>> 9/ htdocs/product/stats/fiche.php ligne 222: j'ai besoin de rajouter:
>>>>>> *************************************************************************
>>>>>> **
>>>>>>             if ($graphfiles == 'di_odm' && ! $user->right->di_odm->lire)
>>>>>> continue;
>>>>>> 
>>>>>> Je propose de faire une boucle d'include sur tout les modules et de
>>>>>> mettre dans un répertoire htdocs/MonModule/system/ un fichier nommer
>>>>>> fiche3.php qui contiendra cette ligne et qui sera inclus si trouvé par la
>>>>>> boucle d'include.
>>>>>> 
>>>>>> 10/ htdocs/commonObject.php ligne 805: j'ai besoin de rajouter:
>>>>>> *************************************************************************
>>>>>> 805: if ($this->element == 'di_odm') $fieldtva='total_tva';
>>>>>> 
>>>>>> Je propose de faire une boucle d'include sur tout les modules et de
>>>>>> mettre dans un répertoire htdocs/MonModule/system/ un fichier nommer
>>>>>> commonObject1.php qui contiendra cette ligne et qui sera inclus si trouvé
>>>>>> par la boucle d'include.
>>>>>> 
>>>>>> 11/ htdocs/document.php ligne 805: j'ai besoin de rajouter:
>>>>>> *************************************************************************
>>>>>>     // Wrapping pour les di_odm
>>>>>>     if ($modulepart == 'di_odm')
>>>>>>     {
>>>>>>         $user->getrights('di_odm');
>>>>>>         if ($user->rights->di_odm->lire ||
>>>>>> preg_match('/^specimen/i',$original_file))
>>>>>>         {
>>>>>>             $accessallowed=1;
>>>>>>         }
>>>>>>         $original_file=$conf->di_odm->dir_output.'/'.$original_file;
>>>>>>         $sqlprotectagainstexternals = "SELECT fk_soc as fk_soc FROM
>>>>>> ".MAIN_DB_PREFIX."di_ordremission WHERE ref='$refname'";
>>>>>>     }
>>>>>> 
>>>>>> Je propose de faire une boucle d'include sur tout les modules et de
>>>>>> mettre dans un répertoire htdocs/MonModule/system/ un fichier nommer
>>>>>> commonObject1.php qui contiendra cette ligne et qui sera inclus si trouvé
>>>>>> par la boucle d'include.
>>>>>> 
>>>>>> 12/ htdocs/html.formfile.class.php ligne 282: j'ai besoin de rajouter:
>>>>>> **********************************************************************
>>>>>>             else if ($modulepart == 'di_odm')
>>>>>>             {
>>>>>>                 if (is_array($genallowed)) $modellist=$genallowed;
>>>>>>                 else
>>>>>>                 {
>>>>>>                   
>>>>>>  include_once(DOL_DOCUMENT_ROOT.'/includes/modules/di_odm/di_odm_ModelePD
>>>>>> F.php');
>>>>>>                     $model=new di_odm_ModelePDF();
>>>>>>                     $modellist=$model->liste_modeles($this->db);
>>>>>>                 }
>>>>>>             }
>>>>>> 
>>>>>> Je propose de faire une boucle d'include sur tout les modules et de
>>>>>> mettre dans un répertoire htdocs/MonModule/system/ un fichier nommer
>>>>>> html.formfile.class1.php  qui contiendra cette ligne et qui sera inclus
>>>>>> si trouvé par la boucle d'include.
>>>>>> 
>>>>>> 
>>>>>> 13/ htdocs/index.php ligne j'ai besoin de rajouter:
>>>>>> ********************************************************
>>>>>> 128:     ! empty($conf->di_odm->enabled) && $user->rights->di_odm->lire
>>>>>> 142:     DOL_DOCUMENT_ROOT."/di_odm/di_odm.class.php"
>>>>>> 156:                   'di_odm_model'
>>>>>> 198:                  "di_odmTitreMenu"
>>>>>> 212:    DOL_URL_ROOT.'/di_odm/di_odm.php?mainmenu=commercial'
>>>>>> 226:                    "di_odm"
>>>>>> 568 à 617:
>>>>>> // Nbre di_odm ouvertes (expirees)
>>>>>> if ($conf->di_odm->enabled && $user->rights->di_odm->lire)
>>>>>> {
>>>>>>     $langs->load("di_odm");
>>>>>>     include_once(DOL_DOCUMENT_ROOT."/di_odm/di_odm.class.php");
>>>>>>     $board=new di_odm_model($db);
>>>>>>     $board->load_board($user,"opened");
>>>>>>     $var=!$var;
>>>>>>     print '<tr '.$bc[$var].'><td
>>>>>> width="16">'.img_object($langs->trans("di_odmsToClose"),"propal").'</td><
>>>>>> td>'.$langs->trans("di_odmsToClose").'</td>';
>>>>>>     print '<td align="right"><a
>>>>>> href="'.DOL_URL_ROOT.'/di_odm/di_odm_view.php?viewstatut=1">'.$board->nbt
>>>>>> odo.'</a></td>';
>>>>>>     print '<td align="right">';
>>>>>>     print '<a
>>>>>> href="'.DOL_URL_ROOT.'/di_odm/di_odm_view.php?viewstatut=1">';
>>>>>>     print $board->nbtodolate;
>>>>>>     print '</a></td><td nowrap align="right">';
>>>>>>     print ' (>'.ceil($conf->di_odm->cloture->warning_delay/60/60/24).'
>>>>>> '.$langs->trans("days").')';
>>>>>>     print '</td>';
>>>>>>     print '<td>';
>>>>>>     if ($board->nbtodolate > 0) { print
>>>>>> img_picto($langs->trans("NActionsLate",$board->nbtodolate),"warning");
>>>>>> $nboflate+=$board->nbtodolate; }
>>>>>>     else print '&nbsp;';
>>>>>>     print '</td>';
>>>>>>     print '</tr>';
>>>>>> }
>>>>>> // Nbre di_odm fermees signees (a facturer)
>>>>>> if ($conf->di_odm->enabled && $user->rights->di_odm->lire)
>>>>>> {
>>>>>>     $langs->load("di_odm");
>>>>>>     include_once(DOL_DOCUMENT_ROOT."/di_odm/di_odm.class.php");
>>>>>>     $board=new di_odm_model($db);
>>>>>>     $board->load_board($user,"signed");
>>>>>>     $var=!$var;
>>>>>>     print '<tr '.$bc[$var].'><td
>>>>>> width="16">'.img_object($langs->trans("di_odmToBill"),"propal").'</td><td
>>>>>> >'.$langs->trans("di_odmToBill").'</td>';
>>>>>>     print '<td align="right"><a
>>>>>> href="'.DOL_URL_ROOT.'/comm/propal.php?viewstatut=2">'.$board->nbtodo.'</
>>>>>> a></td>';
>>>>>>     print '<td align="right">';
>>>>>>     print '<a
>>>>>> href="'.DOL_URL_ROOT.'/di_odm/di_odm_view.php?viewstatut=2">';
>>>>>>     print $board->nbtodolate;
>>>>>>     print '</a></td><td nowrap align="right">';
>>>>>>     print ' 
>>>>>> (>'.ceil($conf->di_odm->facturation->warning_delay/60/60/24).'
>>>>>> '.$langs->trans("days").')';
>>>>>>     print '</td>';
>>>>>>     print '<td>';
>>>>>>     if ($board->nbtodolate > 0) { print
>>>>>> img_picto($langs->trans("NActionsLate",$board->nbtodolate),"warning");
>>>>>> $nboflate+=$board->nbtodolate; }
>>>>>>     else print '&nbsp;';
>>>>>>     print '</td>';
>>>>>>     print '</tr>';
>>>>>>     print "\n";
>>>>>> }
>>>>>> 
>>>>>> La je ne sais pas quoi proposer
>>>>>> 
>>>>>> 14/ htdocs/main.inc.php lj'ai besoin de rajouter:
>>>>>> ******************************************************
>>>>>>             print '<script type="text/javascript"
>>>>>> src="'.DOL_URL_ROOT.'/di_odm/js/jquery-1.4.2.js"></script>'."\n"; //TODO:
>>>>>> Needed for di_odm
>>>>>>             print '<script type="text/javascript"
>>>>>> src="'.DOL_URL_ROOT.'/di_odm/js/jquery-ui-1.8.custom.min.js"></script>'."
>>>>>> \n"; //TODO: Needed for di_odm
>>>>>>             print '<script type="text/javascript"
>>>>>> src="'.DOL_URL_ROOT.'/di_odm/js/imbc.js"></script>'."\n"; //TODO: Needed
>>>>>> for di_odm
>>>>>> 
>>>>>> Pour ce point la c'est assez simple : jquery sera peut etre rajouter à
>>>>>> Dolibarr, mais il faut quand même une possibilité de rajouter au moins un
>>>>>> .js par module, peut-etre comme le .css dans le fichier modMonModule.php
>>>>>> 
>>>>>> Y a t'il des solutions qui existe déjà dans la 2.8 ou la 2.9 car je suis
>>>>>> en 2.7.1 en ce moment ?
>>>>>> Mon module est-il le seul à avoir ce type de besoin ?
>>>>>> 

-- 
Régis Houssin
------------------------------------------------------
Cap-Networks
30, Quai de Verdun
71700 Tournus
Tél. +33 6 33 02 07 97
Web: http://www.cap-networks.com
Email: address@hidden

Développeur Dolibarr : address@hidden
Portail francophone : www.dolibarr.fr
Offres SaaS de Dolibarr : www.dolibox.fr
Development platform : www.dolibarr.pro
------------------------------------------------------

Attachment: smime.p7s
Description: S/MIME cryptographic signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]