Hook completeListOfReferent

From Dolibarr ERP CRM Wiki
Jump to navigation Jump to search

Le Hook completeListOfReferent permet d'afficher les informations dans l'onglet vue d'ensemble d'un projet.

Voici un exemple de création d'un module qu'on appelerait "Subventions".

Dans votre de déclaration de Hook (class/actions_nomModule.class.php) :

    require_once DOL_DOCUMENT_ROOT.'/custom/subventions/class/subvention.class.php';

 
    /*
    * Hook pour afficher des informations dans l'onglet vue d'ensemble d'un projet
    */
    public function completeListOfReferent($parameters, &$object, &$action) {
        global $conf, $user, $langs;

 
        if ($object->element == 'project'){
            $this->results = array(
                'subvention' => array(
                'name' => "Subventions",
                'title' => "ListSubventionsAssociatedProject",
                'class' => 'Subvention',
                'table' => 'subventions_subvention',
                'datefieldname' => 'date_creation',
                'margin' => 'add', // add si c'est en plus, minus si c'est en moins, rien si ça ne rentre pas dans le calcul de bénéfice
                'project_field' => 'fk_project', // facultatif si le nom de ta colonne est fk_project
                'url' => DOL_URL_ROOT.'/custom/subventions/subvention_list.php?fk_project='.$object->id, // URL pour lister les subventions
                'urlnew' => DOL_URL_ROOT.'/custom/subventions/subvention_card.php?action=create&origin=project&originid='.$id.'&backtopage='.urlencode($_SERVER['PHP_SELF'].'?id='.$id),
                'lang' => 'subventions',
                'buttonnew' => 'AddSubvention',
                'testnew' => $user->hasRight('subventions', 'subvention', 'write'),
                'test' => isModEnabled('subventions') && $user->hasRight('subventions', 'subvention', 'read'),
            ),
        );
    return 0;
    }
}


Comme vous devez le remarquer, à aucun moment, nous n'indiquons le montant.

Tout ceci est précisé directement dans le fichier element.php dans la gestion des projets.


Pour éviter de modifier ce fichier, on peut gérer les montants autrement en créant ces champs dans ta table :

  • total_ttc
  • total_ht