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: Alain Ivars
Subject: Re: [Dolibarr-dev] A propos de l'isolement des modules
Date: Sat, 17 Apr 2010 01:25:18 +0200

Je confirme : même avec :
$this->langfiles = array("@diodm");
le fichier est celui de : /htdocs/langs/fr_FR/diodm.lang
et non celui de : /htdocs/diodm/langs/fr_FR/diodm.lang
demain, je jetterai un oeil pour trouver pourquoi, mais là je ne sais pas trop ou chercher, peut tu m'indiquer la fonction qui traite cela si tu t'en souviens ?  :-)

Pour ce qui est de la page de setup du module:
$this->config_page_url = array("address@hidden");
fonctionne Nickel :-) Merci


Le 16 avril 2010 20:33, Régis Houssin <address@hidden> a écrit :


> 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://alainivars@gmail.com> > 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://alainivars@gmail.com> > a écrit :
>>>> Merci pour tes réponses :-)
>>>>
>>>> Le 15 avril 2010 00:39, Laurent Destailleur (eldy) <address@hidden
>>>> <http://eldy@destailleur.fr> > 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=""> >>>>>> odo.'</a></td>';
>>>>>>     print '<td align="right">';
>>>>>>     print '<a
>>>>>> href=""> >>>>>>     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=""> >>>>>> a></td>';
>>>>>>     print '<td align="right">';
>>>>>>     print '<a
>>>>>> href=""> >>>>>>     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="" //TODO:
>>>>>> Needed for di_odm
>>>>>>             print '<script type="text/_javascript_"
>>>>>> src=""> >>>>>> \n"; //TODO: Needed for di_odm
>>>>>>             print '<script type="text/_javascript_"
>>>>>> src="" //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
------------------------------------------------------

_______________________________________________
Dolibarr-dev mailing list
address@hidden
http://lists.nongnu.org/mailman/listinfo/dolibarr-dev




--
Alain IVARS
Groupement Diagnostiqueurs Immobilier Indépendants (www.GDII.fr)
Tel: 09 53 23 01 91 Mobile: 06 79 00 77 95
Innovativ Method Business Concept (www.IMBC.fr)
Tel: 09 53 23 01 91 Mobile: 06 79 00 77 95
Société Diagnostic Immobilier pour les Particuliers les Professionnels et les Administrations (www.DIPPA.fr)
Tel: 09 53 23 01 91 Mobile: 06 79 00 77 95


reply via email to

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