source: spip-zone/_plugins_/Association/Association_2.0/exec/edit_plan.php @ 43909

Last change on this file since 43909 was 43909, checked in by jeannolapin@…, 9 years ago

Modifications de la partie Comptabilité du plugin:

  • Ajout de destinations comptables qui permettent de ventiler les operation sur une ou plusieurs destinations et d'avoir le bilan par destination (l'idee serait donc pour l'association ayant de multiples activites de pouvoir faire le bilan d'une seule de ses activite).
  • Ajout d'un mode strict de compta qui force les references du plan comptable a etre soit creditrice soit debitrice mais pas les deux a la fois.
  • Verification au moment d'entrer/editer une operation qu'on n'entre pas a la fois une recette et une depense(meme si le mode compta strict n'est pas on).
  • Verification au moment d'entrer/editer une reference comptable dans le plan que le code est bien libre.

D'un point de vue plus technique:

  • Ajout de la gestion/edition des destination sur le modele du plan (ajout d'une table spip_asso_destination).
  • Modification de la table spip_asso_plan pour assurer la fonctionalite compta mode strict (un champ en plus).
  • Ajout d'une table spip_asso_destination_op qui sert uniquement en jointure avec spip_asso_comptes et stockes les ventilations en destinations des operations.
  • Ajout d'un repertoire javascript contenant un script qui permet d'avoir un nombre de champs dynamique(les destinations) dans le formulaire d'entree d'une operation comptable.
  • Grosse modifs de bilan.php pour pouvoir effectuer le bilan par destinations.
File size: 4.4 KB
Line 
1<?php
2        /**
3        * Plugin Association
4        *
5        * Copyright (c) 2007
6        * Bernard Blazin & François de Montlivault
7        * http://www.plugandspip.com
8        * Ce programme est un logiciel libre distribue sous licence GNU/GPL.
9        * Pour plus de details voir le fichier COPYING.txt.
10        * 
11        **/
12if (!defined("_ECRIRE_INC_VERSION")) return;
13include_spip('inc/presentation');
14include_spip ('inc/navigation_modules');
15       
16function exec_edit_plan(){
17
18        include_spip('inc/autoriser');
19        if (!autoriser('associer', 'comptes')) {
20                include_spip('inc/minipres');
21                echo minipres();
22        } else {
23               
24                $url_asso = generer_url_ecrire('association');
25                $url_plan = generer_url_ecrire('plan');
26                $url_action_plan=generer_url_ecrire('action_plan');
27               
28                $id_plan= intval(_request('id'));
29               
30                $commencer_page = charger_fonction('commencer_page', 'inc');
31                echo $commencer_page(_T('asso:edition_plan_comptable')) ;               
32                association_onglets();
33                echo debut_gauche("",true);
34                echo debut_boite_info(true);
35                echo association_date_du_jour();       
36                echo fin_boite_info(true);
37                echo association_retour();
38                echo debut_droite("",true);
39               
40                debut_cadre_relief(  "", false, "", $titre = _T('asso:edition_plan_comptable'));
41               
42                $data = !$id_plan ? '' : sql_fetsel("*", "spip_asso_plan", "id_plan=$id_plan");
43                if ($data) {
44                        $code=$data['code'];
45                        $classe=$data['classe'];
46                        $intitule=$data['intitule'];
47                        $reference=$data['reference'];
48                        $actif=$data['actif'];
49                        $commentaire=$data["commentaire"];
50                        $solde_anterieur=$data['solde_anterieur'];
51                        $date_anterieure=$data['date_anterieure'];
52                        $direction=$data['direction'];
53                        $action = 'modifier';
54                } else {
55                        $code=$classe=$intitule=$reference=$actif=$commentaire=$solde_anterieur='';
56                        $date_anterieure= date('Y-m-d');
57                        $direction = 'credit';
58                        $action = 'ajouter';
59                }
60                $checked = ($actif=="oui" || $action=="ajouter");
61
62                $res = '<label for="code"><strong>' . _T('asso:code') . '</strong></label>'
63                . '<input name="code" type="text" value="'
64                . $code
65                . '" id="code" class="formo" />'
66                . '<label for="classe"><strong>' . _T('asso:classe') . '&nbsp;:</strong></label>'
67                . '<input name="classe" type="text" value="'
68                . $classe
69                . '" id="classe" class="formo" />'
70                . '<label for="intitule"><strong>' . _T('asso:intitule') . '&nbsp;:</strong></label>'
71                . '<input name="intitule" type="text" value="'
72                . $intitule
73                . '" id="intitule" class="formo" />'
74                . '<label for="reference"><strong>' . _T('asso:reference') . '&nbsp;:</strong></label>'
75                . '<input name="reference" type="text" value="'
76                . $reference
77                . '" id="reference" class="formo" />';
78                if ($GLOBALS['association_metas']['comptes_stricts']=="on") {
79                        if ($direction == "credit") {
80                                $select_credit = 'selected="selected"';
81                                $select_debit = '';
82                        }
83                        else
84                        {
85                                $select_credit = '';
86                                $select_debit = 'selected="selected"';
87                        }
88                        $res .= '<label for="direction"><strong>' . _T('asso:direction_plan'). '</strong></label>'
89                        . '<select name="direction" id="direction" class="formo">'
90                        . '<option value="credit"'.$select_credit.'>credit</option>'
91                        . '<option value="debit"'.$select_debit.'>debit</option>'
92                        . '</select>';
93                }
94                $res .= '<label for="solde_anterieur"><strong>' . _T('asso:solde_reporte_en_euros') . '</strong></label>'
95                . '<input name="solde_anterieur" type="text" value="'
96                . $solde_anterieur
97                . '" id="solde_anterieur" class="formo" />'
98                . '<label for="date_anterieure"><strong>' . _T('asso:date_report_aaa_mm_jj') . '</strong></label>'
99                . '<input name="date_anterieure" type="text" value="'
100                . $date_anterieure
101                . '" id="date_anterieure" class="formo" />'
102                . '<label for="actif"><strong>' . _T('asso:compte_active') . '</strong></label>'
103                . '<input name="actif" type="radio" value="oui" id="actif"';
104                if ($checked) {$res .= ' checked="checked"';}
105                $res .= ' />'._T('asso:plan_libelle_oui')
106                . '<input name="actif" type="radio" value="non"';
107                if (!$checked) {$res .= ' checked="checked"';}
108                $res .= ' />'._T('asso:plan_libelle_non')
109                . '<br /><label for="commentaire"><strong>' . _T('asso:commentaires') . '&nbsp;:</strong></label>'
110                . '<textarea name="commentaire" id="commentaire" class="formo" rows="4" cols="80">'
111                . $commentaire
112                . "</textarea>\n"
113                . '<div style="float:right;">'
114                . '<input type="submit" value="'
115                . _T('asso:bouton_envoyer')
116                . '" class="fondo" /></div>';
117
118                echo redirige_action_post($action . '_plans' , $id_plan, 'plan', "", "<div>$res</div>");
119
120                fin_cadre_relief();     
121                echo fin_page_association();
122        }
123}
124?>
Note: See TracBrowser for help on using the repository browser.