Ceci est une ancienne révision du document !


Accélérer navigation dans dolibarr

Variables globales

configuration > divers

ADHERENT_DEFAULT_SENDINFOBYMAIL=true 
MAIN_AUTOFILL_DATE=true
MAIN_MENU_HIDE_UNAUTHORIZED=true

Lien vers fiche Client au lieu de sa Fiche

  • Dans la page Tiers pour remplacer le lien vers l'onglet “Fiche” d'un Tiers, par le lien vers l'onglet “Client” dans le tableau des derniers tiers modifiés et ajouter un lien de création de commande direct. remplacer dans le fichier htdocs/societe/index.php vers la ligne 300 :
                print $thirdparty_static->getNomUrl(1);

par

            if ($thirdparty_static->client==1 || $thirdparty_static->client==3)
            {
                    print $thirdparty_static->getNomUrl(0,'customer',0,1);
                    print '<td><a href="https://YOURDOMAIN/DOLIPATH/commande/card.php?socid='.$thirdparty_static->id.'&action=create">Creer commande</a></td>'."\n";
            }
            else
            {
                    print $thirdparty_static->getNomUrl(1);
                    print "<td></td>\n";
            }
  • Recherche de Tiers. Modifier htdocs/societe/list.php vers la ligne 420

remplacer

         print $companystatic->getNomUrl(1,'',100);

par

        if (($obj->client==1 || $obj->client==3) && empty($conf->global->SOCIETE_DISABLE_CUSTOMERS))
        {
            print $companystatic->getNomUrl(0,'customer');
        }

~ ligne 500 htdoc/comm/card.php

ajouter la visu de l'état de la cotisation dans le If du module adhérent :

 // Status
         print '<tr><td>'.$langs->trans("Status").'</td><td class="valeur">'.$adh->getLibStatut(4).'</td></tr>';

ajouter notification en cas de cotisation non à jour vers la ligne 980

             //modif antho
 
             echo '<script type="text/javascript">
             var TESTADH="'.$adh->getLibStatut(1).'";
             if ( TESTADH.match(/^No.*/)  ){
                 var RALERTADH = confirm("Adhérent Non à jour - Voulez vous mettre à jour la cotisation");
             if ( RALERTADH == true ) {
                     window.location.href="'.DOL_URL_ROOT.'/adherents/card_subscriptions.php?rowid='.$adh->id.'&action=addsubscription";
                     //window.open("'.DOL_URL_ROOT.'/adherents/card_subscriptions.php?rowid='.$adh->id.'","_blank"); 
                }
             }
             </script>';

Création d'Adhérent

Modifier le fichier htdocs/adherent/fiche

valeur “Physique” par défaut pour le champ “Nature” : remplacer ~ ligne 780

        print $form->selectarray("morphy", $morphys, GETPOST('morphy','alpha')?GETPOST('morphy','alpha'):$object->morphy, 1);

par

        print $form->selectarray("morphy", $morphys, "phy", 1);

valeur “Membre” par défaut pour le champ “Type” : remplacer ~ ligne 790

print $form->selectarray("typeid", $listetype, GETPOST('typeid','int')?GETPOST('typeid','int'):$typeid, count($listetype)>1?1:0);

par

print $form->selectarray("typeid", $listetype, 2, count($listetype)>1?1:0);

Adhérents

configurations>divers ajouter variable

ADHERENT_DEFAULT_SENDINFOBYMAIL true

pour notifier des cotisations

Cotisations

Sélection du compte en fonction du moyen de paiement

modifier htdocs/adherents/card_subscriptions ligne 905, en y ajoutant l'appel à la fonction checkcount()

print '<form name="cotisation" method="POST" action="'.$_SERVER["PHP_SELF"].'" onchange="checkcount()">';

et ajouter la fonction après

print '
<script type="text/javascript">
function checkcount() {
    var moyen_payment = document.getElementById("selectoperation").value
    f ( moyen_payment == ""){
        document.getElementById("selectaccountid").value = "-1"
    }
    else if (moyen_payment == "LIQ"){
        //caisse
        document.getElementById("selectaccountid").value = "2"
    }
    else{
         //credi coop
         document.getElementById("selectaccountid").value = "1"
    }
}
</script>';

Mettre également la ligne du tableau “Payment Mode” avant “Bank Account” vers la ligne 1049

                // Payment mode
                print '<tr class="bankswitchclass"><td class="fieldrequired">'.$langs->trans("PaymentMode").'</td><td>';
                $form->select_types_paiements(GETPOST('operation'),'operation','',2);
                print "</td></tr>\n";
 
                // Bank account
                print '<tr class="bankswitchclass"><td class="fieldrequired">'.$langs->trans("FinancialAccount").'</td><td>';
                $form->select_comptes(GETPOST('accountid'),'accountid',0,'',1);
                print "</td></tr>\n";

Mise à jour automatique de la date de fin d'adhésion

vers la ligne 954 de htdocs/adherents/card_subscriptions.php

// Date end subscription
        if (GETPOST('endday'))
        {
            $dateto=dol_mktime(0,0,0,GETPOST('endmonth'),GETPOST('endday'),GETPOST('endyear'));
        }
        if (! $dateto)
        {
            //$dateto=-1;       // By default, no date is suggested
            if ( $today > $datefrom ){
               $endyear=dol_time_plus_duree($today,1,'y');
            }
            else{
               $endyear=dol_time_plus_duree($datefrom,1,'y');
            }
            $infodateto=getdate($endyear);            
            $dateto=dol_mktime(0,0,1,$infodateto['mon'],$infodateto['mday'],$infodateto['year']);
        }

Commandes

Pré-remplissage de la note publique

Ajout de quelques infos dans la note publique pour rappeler de mettre la description de l'ordinateur et du problème. Fichier à modifier htdocs/commande/card.php :

 $doleditor = new DolEditor('note_public', $note_public."<b>Description ordinateur :</b><br/><b>Problème :</b>", '', 80, 'dolibarr_notes', 'In', 0, false, true, ROWS_3, '90%');

Afficher note publique sur fiche commande

1 - faire une copie de htdocs/core/tpl/notes.tpd.php > htdocs/core/tpl/notes_public.tpd.php 2 - supprimer la partie note privée de notes_public.tpd.php 3 - ajouter après le tableau des données de la commande ( chercher “Statut” )

        include DOL_DOCUMENT_ROOT.'/core/tpl/notes_public.tpl.php';

Factures

Afficher note publique sur fiche commande

modifier htdocs/compta/facture.php ligne ( après le bloc “Other attributes” ~ ligne 3475)

        include DOL_DOCUMENT_ROOT.'/core/tpl/notes_public.tpl.php';

Sélection du compte en fonction du moyen de paiement

modifier htdocs/compta/facture.php ligne 1921

print '<form name="add" action="' . $_SERVER["PHP_SELF"] . '" method="POST">';

en y ajoutant l'appel à une fonction de check

print '<form name="add" action="' . $_SERVER["PHP_SELF"] . '" method="POST" onchange="checkcount()">';
 
print '
<script type="text/javascript">
function checkcount() {
    var moyen_payment = document.getElementById("selectmode_reglement_id").value
    if (moyen_payment == "0"){
        document.getElementById("selectfk_account").value = "-1"
    }    
    else if (moyen_payment == "4"){
        document.getElementById("selectfk_account").value = "2"
    }
    else{
         document.getElementById("selectfk_account").value = "1"
    }
}
</script>';

vérifier les ids correspondant aux mode de paiement (selectmod_reglement_id) et de compte (selectfk_account) pour matcher avant l'introduction de la modification.

Paiement Facture

htdoc/compta/paiement.php ligne 398

print '<form id=“payment_form” name=“add_paiement” action=“'.$_SERVER[“PHP_SELF”].'” method=“POST” onchange=“checkcount()”>';

print '
<script type="text/javascript">
function checkcount() {
    var moyen_payment = document.getElementById("selectpaiementcode").value
    f ( moyen_payment == ""){
        document.getElementById("selectaccountid").value = "-1"
    }
    else if (moyen_payment == "LIQ"){
        //caisse
        document.getElementById("selectaccountid").value = "2"
    }
    else{
         //credi coop
         document.getElementById("selectaccountid").value = "1"
    }
}
</script>';

ligne 475 Compléter émetteur du chèque

            $showchqemetteur=(GETPOST('chqemetteur'))?GETPOST('chqemetteur'):$facture->client->name;
            print '<td><input id="fieldchqemetteur" name="chqemetteur" size="30" type="text" value="'.$showchqemetteur.'"></td></tr>';