Changeset 48466 in spip-zone


Ignore:
Timestamp:
Jun 3, 2011, 5:28:21 PM (10 years ago)
Author:
jeannolapin@…
Message:

Associaspip Reprise du formulaire de configuration du plugin: plus de verifications. + verification forcee a l'upgrade pour controler que la configuration courante est bien valide, desactivation de modules sinon.

Location:
_plugins_/Association/Associaspip
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/Association/Associaspip/base/association_gestion.php

    r48225 r48466  
    395395        array ('sql_alter', "TABLE spip_asso_activites change maj maj timestamp"),
    396396                                           );
     397
     398/* cette mise a jour introduit un controle sur l'activation des modules de gestions des dons, */
     399/* ventes, prets, activités subordonnes a l'activation de la gestion comptable.               */
     400/* la fonction de mise a jour desactive donc d'eventuels modules actives si la gestion        */
     401/* comptable n'est pas activee                                                               */
     402function association_maj_48466()
     403{
     404        include_spip('inc/association_comptabilite');
     405        /* on verifie la validite du plan comptable existant */
     406        if ($GLOBALS['association_metas']['comptes'] && !association_valider_plan_comptable()) {
     407                ecrire_meta('comptes', '', 'oui', 'association_metas');
     408                echo '<p>'._T('asso:maj_desactive_gestion_comptable').'</p>';
     409        }
     410
     411        $desactivation = false;
     412        if (!$GLOBALS['association_metas']['comptes']) {
     413                if ($GLOBALS['association_metas']['dons']) { ecrire_meta('dons', '', 'oui', 'association_metas'); $desactivation = true; }
     414                if ($GLOBALS['association_metas']['ventes']) { ecrire_meta('ventes', '', 'oui', 'association_metas'); $desactivation = true; }
     415                if ($GLOBALS['association_metas']['prets']) { ecrire_meta('prets', '', 'oui', 'association_metas'); $desactivation = true; }
     416                if ($GLOBALS['association_metas']['activites']) { ecrire_meta('activites', '', 'oui', 'association_metas'); $desactivation = true; }
     417        }
     418
     419        /* si on a desactive des modules, on le signale par un message */
     420        if ($desactivation) echo '<p>'._T('asso:maj_desactive_modules').'</p>';
     421
     422        /* on en profite pour effacer des metas qui ne servent plus */
     423        effacer_meta('comptes_stricts', 'association_metas');
     424        effacer_meta('indexation', 'association_metas');
     425}
     426$GLOBALS['association_maj'][48466] = array(array('association_maj_48466'));
    397427?>
  • _plugins_/Association/Associaspip/formulaires/configurer_association.html

    r47501 r48466  
     1<div class="formulaire_spip formulaire_demo">
    12[<span class='erreur'>(#ENV*{message_erreur})</span>]
    2 <form method="post" action="#ENV{action}">#ACTION_FORMULAIRE<div><br />
    3         <!-- Informations sur l'association -->
    4         <fieldset>
    5                 <legend><:asso:config_info_asso:></legend>
    6                 <label for="nom"><strong><:asso:config_libelle_nom:></strong></label>
    7                 <input type="text" name="nom" [value="(#ENV{nom})"] id="nom" class='formo'/>
    8                 <label for="rue"><strong><:asso:config_libelle_rue:></strong></label>
    9                 <textarea name="rue" id="rue" rows="3" cols="80" class='formo'>[(#ENV{rue})]</textarea>
    10                 <label for="cp"><strong><:asso:config_libelle_codepostal:></strong></label>
    11                 <input type="text" name="cp" [value="(#ENV{cp})"] id="cp"  class='formo'/>
    12                 <label for="ville"><strong><:asso:config_libelle_ville:></strong></label>
    13                 <input type="text" name="ville" [value="(#ENV{ville})"] id="ville"  class='formo'/>     
    14                 <label for="email"><strong><:asso:config_libelle_email:></strong></label>
    15                 <input type="text" name="email" [value="(#ENV{email})"] id="email"  class='formo'/>
    16                 <label for="telephone"><strong><:asso:config_libelle_telephone:></strong></label>
    17                 <input type="text" name="telephone" [value="(#ENV{telephone})"] id="telephone"  class='formo'/>
    18                 <label for="siret"><strong><:asso:config_libelle_siret:></strong></label>
    19                 <input type="text" name="siret" [value="(#ENV{siret})"] id="siret"  class='formo'/>
    20                 <label for="declaration"><strong><:asso:config_libelle_declaration:></strong></label>
    21                 <input type="text" name="declaration" [value="(#ENV{declaration})"] id="declaration"  class='formo'/>
    22                 <label for="prefet"><strong><:asso:config_libelle_prefet:></strong></label>
    23                 <input type="text" name="prefet" [value="(#ENV{prefet})"] id="prefet"  class='formo'/>
    24         </fieldset>
    25 
    26         <!-- Options de gestion des membres -->
    27         <fieldset>
    28                 <legend><:asso:config_info_membres:></legend>
    29                 <p>
    30                 <label for="nom"><strong><:asso:config_libelle_gerer_champs_membres:></strong></label><br/>
    31                 <input type="checkbox" name="civilite" [(#ENV{civilite}|?{checked="checked"})] id="civilite" />
    32                 <label for="nom"><strong><:asso:adherent_libelle_sexe:></strong></label><br/>
    33                 <input type="checkbox" name="prenom" [(#ENV{prenom}|?{checked="checked"})] id="prenom" />
    34                 <label for="nom"><strong><:asso:adherent_libelle_prenom:></strong></label><br/>
    35                 <input type="checkbox" name="id_asso" [(#ENV{id_asso}|?{checked="checked"})] id="id_asso" />
    36                 <label for="nom"><strong><:asso:config_libelle_utiliser_champ_id_asso:></strong></label>
    37                 </p>
    38                 <p>
    39                 <label><strong><:asso:config_libelle_import_nom_auteur:></strong> </label>     
    40                 <select name="import_nom_auteur" id="import_nom_auteur">
    41                         <option value=""><:asso:import_nom_auteur_nom_prenom:></option> <!-- c'est l'option par defaut, elle n'a donc pas de valeur et est donc selectionne meme si on n'a pas touche a ce reglage -->
    42                         <option value="prenom_nom" [(#ENV{import_nom_auteur}|=={prenom_nom}|?{selected="selected"})]><:asso:import_nom_auteur_prenom_nom:></option>
    43                         <option value="nom" [(#ENV{import_nom_auteur}|=={nom}|?{selected="selected"})]><:asso:import_nom_auteur_nom:></option>
    44                 </select>
    45                 </p>
    46         </fieldset>
    47 
    48         <!-- Options du plugin -->
    49         <fieldset>
    50         <legend><:asso:config_info_plugin:></legend>
    51                 <B_classe_banques>
    52                 <input type="checkbox" name="comptes" [(#ENV{comptes}|?{checked="checked"})] id="comptes" />
    53                 <label><strong><:asso:config_libelle_comptes:></strong></label><br />
    54                 <label><strong><:asso:config_libelle_classe_banques:></strong> </label>
    55                 <select name="classe_banques" id="classe_banques" >
    56                 <BOUCLE_classe_banques(ASSO_PLAN){fusion classe}{par classe}>
    57                 <option value="#CLASSE" [(#ENV{classe_banques}|=={#CLASSE}|?{selected="selected"})]>#CLASSE </option>
    58                 </BOUCLE_classe_banques>
    59                 </select>
    60                 </B_classe_banques>
    61                 <label><strong><:asso:config_libelle_comptes:></strong></label><br />
    62                 <span class="spip_form_erreur"><:asso:erreur_pas_de_plan_comptable:></span>
    63                 <//B_classe_banques>
    64                 <p>
    65                 <input type="checkbox" name="destinations" [(#ENV{destinations}|?{checked="checked"})] id="destinations" />
    66                 <label><strong><:asso:config_libelle_destinations:></strong></label><br />
    67                 </p>
    68                 <p>
    69                 <label><strong><:asso:config_libelle_cotisations:></strong> </label><br />
    70                 <label><strong><:asso:config_libelle_num_pc:></strong> </label>
    71                 <B_pc_cotisations>
    72                 <select name="pc_cotisations" id="pc_cotisations">
    73                 <BOUCLE_pc_cotisations(ASSO_PLAN){par classe}{par code}{classe!=#ENV{classe_banques}}>
    74                 <option value="#CODE" [(#ENV{pc_cotisations}|=={#CODE}|?{selected="selected"})]>#CLASSE - #CODE - #INTITULE</option>
    75                 </BOUCLE_pc_cotisations>
    76                 </select>
    77                 </B_pc_cotisations>
    78                 <br/><label><strong><:asso:config_libelle_num_dc:></strong> </label>   
    79                 <B_dc_cotisations>
    80                 <select name="dc_cotisations" id="dc_cotisations">
    81                 <BOUCLE_dc_cotisations(ASSO_DESTINATION){par intitule}>
    82                 <option value="#ID_DESTINATION" [(#ENV{dc_cotisations}|=={#ID_DESTINATION}|?{selected="selected"})]>#INTITULE</option>
    83                 </BOUCLE_dc_cotisations>
    84                 </select>
    85                 </B_dc_cotisations>
    86                 <span class="spip_form_erreur">Aucune destination comptable définie !</span>
    87                 <//B_dc_cotisations>
    88                 </p>
    89                 <p>
    90                 <input type="checkbox" name="dons" [(#ENV{dons}|?{checked="checked"})] id="dons" />
    91                 <label><strong><:asso:config_libelle_dons:></strong> </label><br />
    92                 <label><strong><:asso:config_libelle_num_pc:></strong> </label>
    93                 <B_pc_dons>
    94                 <select name="pc_dons" id="pc_dons" >
    95                 <BOUCLE_pc_dons(ASSO_PLAN){par classe}{par code}>
    96                 <option value="#CODE" [(#ENV{pc_dons}|=={#CODE}|?{selected="selected"})]>#CLASSE - #CODE - #INTITULE</option>
    97                 </BOUCLE_pc_dons>
    98                 </select>
    99                 </B_pc_dons>
    100                 <span class="spip_form_erreur">Aucun plan comptable défini !</span>
    101                 <//B_pc_dons>
    102                 <br/><label><strong><:asso:config_libelle_num_dc:></strong> </label>   
    103                 <B_dc_dons>
    104                 <select name="dc_dons" id="dc_dons">
    105                 <BOUCLE_dc_dons(ASSO_DESTINATION){par intitule}>
    106                 <option value="#ID_DESTINATION" [(#ENV{dc_dons}|=={#ID_DESTINATION}|?{selected="selected"})]>#INTITULE</option>
    107                 </BOUCLE_dc_dons>
    108                 </select>
    109                 </B_dc_dons>
    110                 <span class="spip_form_erreur">Aucune destination comptable définie !</span>
    111                 <//B_dc_dons>
    112                 </p>
    113                 <p>
    114                 <input type="checkbox" name="ventes" [(#ENV{ventes}|?{checked="checked"})] id="ventes" />
    115                 <label><strong><:asso:config_libelle_ventes:></strong> </label><br />           
    116                 <label><strong><:asso:config_libelle_num_pc:></strong> </label>
    117                 <B_pc_ventes>
    118                 <select name="pc_ventes" id="pc_ventes">
    119                 <BOUCLE_pc_ventes(ASSO_PLAN){par classe}{par code}>
    120                 <option value="#CODE" [(#ENV{pc_ventes}|=={#CODE}|?{selected="selected"})]>#CLASSE - #CODE - #INTITULE</option>
    121                 </BOUCLE_pc_ventes>
    122                 </select>
    123                 </B_pc_ventes>
    124                 <span class="spip_form_erreur">Aucun plan comptable défini !</span>
    125                 <//B_pc_ventes>
    126                 <br/><label><strong><:asso:config_libelle_num_pc:>&nbsp;<:asso:config_libelle_frais_envoi:></strong> </label>   
    127                 <B_pc_frais_envoi>
    128                 <select name="pc_frais_envoi" id="pc_frais_envoi">
    129                 <BOUCLE_pc_frais_envoi(ASSO_PLAN){par classe}{par code}>
    130                 <option value="#CODE" [(#ENV{pc_frais_envoi}|=={#CODE}|?{selected="selected"})]>#CLASSE - #CODE - #INTITULE</option>
    131                 </BOUCLE_pc_frais_envoi>
    132                 </select>
    133                 </B_pc_frais_envoi>
    134                 <span class="spip_form_erreur">Aucun plan comptable défini !</span>
    135                 <//B_pc_frais_envoi>
    136                 <br/><label><strong><:asso:config_libelle_num_dc:></strong> </label>   
    137                 <B_dc_ventes>
    138                 <select name="dc_ventes" id="dc_ventes">
    139                 <BOUCLE_dc_ventes(ASSO_DESTINATION){par intitule}>
    140                 <option value="#ID_DESTINATION" [(#ENV{dc_ventes}|=={#ID_DESTINATION}|?{selected="selected"})]>#INTITULE</option>
    141                 </BOUCLE_dc_ventes>
    142                 </select>
    143                 </B_dc_ventes>
    144                 <span class="spip_form_erreur">Aucune destination comptable définie !</span>
    145                 <//B_dc_ventes>
    146                 </p>
    147                 <p>
    148                 <input type="checkbox" name="activites" [(#ENV{activites}|?{checked="checked"})] id="activites" />
    149                 <label><strong><:asso:config_libelle_activites:></strong></label> <br />
    150                 <label><strong><:asso:config_libelle_num_pc:></strong> </label>
    151                 <B_pc_activites>
    152                 <select name="pc_activites" id="pc_activites">
    153                 <BOUCLE_pc_activites(ASSO_PLAN){par classe}{par code}>
    154                 <option value="#CODE" [(#ENV{pc_activites}|=={#CODE}|?{selected="selected"})]>#CLASSE - #CODE - #INTITULE</option>
    155                 </BOUCLE_pc_activites>
    156                 </select>
    157                 </B_pc_activites>
    158                 <span class="spip_form_erreur">Aucun plan comptable défini !</span>
    159                 <//B_pc_activites>
    160                 </p>
    161                 <p>
    162                 <input type="checkbox" name="prets" [(#ENV{prets}|?{checked="checked"})] id="prets" />
    163                 <label><strong><:asso:config_libelle_prets:></strong> </label><br />           
    164                 <label><strong><:asso:config_libelle_num_pc:></strong> </label>
    165                 <B_pc_prets>
    166                 <select name="pc_prets" id="pc_prets">
    167                 <BOUCLE_pc_prets(ASSO_PLAN){par classe}{par code}>
    168                 <option value="#CODE" [(#ENV{pc_prets}|=={#CODE}|?{selected="selected"})]>#CLASSE - #CODE - #INTITULE</option>
    169                 </BOUCLE_pc_prets>
    170                 </select>
    171                 </B_pc_prets>
    172                 <span class="spip_form_erreur">Aucun plan comptable défini !</span>
    173                 <//B_pc_prets>
    174                 </p>
    175         </fieldset>
    176 
    177 <div><input style="float:#LANG_RIGHT;" type="submit" value="<:OK:>" class="fondo" /></div>
     3<form method="post" action="#ENV{action}">#ACTION_FORMULAIRE{#ENV{action}}<div>
     4<ul>
     5        <li class="fieldset">
     6                <!-- Informations sur l'association -->
     7                <fieldset>
     8                        <h3 class="legend"><:asso:config_info_asso:></h3>
     9                        <ul>
     10                                <li>
     11                                        <label for="nom"><strong><:asso:config_libelle_nom:></strong></label>
     12                                        <input type="text" name="nom" [value="(#ENV{nom})"] id="nom" class='formo'/>
     13                                </li>
     14                                <li>
     15                                        <label for="rue"><strong><:asso:config_libelle_rue:></strong></label>
     16                                        <textarea name="rue" id="rue" rows="3" cols="80" class='formo'>[(#ENV{rue})]</textarea>
     17                                </li>
     18                                <li>   
     19                                        <label for="cp"><strong><:asso:config_libelle_codepostal:></strong></label>
     20                                        <input type="text" name="cp" [value="(#ENV{cp})"] id="cp"  class='formo'/>
     21                                </li>
     22                                <li>
     23                                        <label for="ville"><strong><:asso:config_libelle_ville:></strong></label>
     24                                        <input type="text" name="ville" [value="(#ENV{ville})"] id="ville"  class='formo'/>     
     25                                </li>
     26                                <li>
     27                                        <label for="email"><strong><:asso:config_libelle_email:></strong></label>
     28                                        <input type="text" name="email" [value="(#ENV{email})"] id="email"  class='formo'/>
     29                                </li>
     30                                <li>
     31                                        <label for="telephone"><strong><:asso:config_libelle_telephone:></strong></label>
     32                                        <input type="text" name="telephone" [value="(#ENV{telephone})"] id="telephone"  class='formo'/>
     33                                </li>
     34                                <li>
     35                                        <label for="siret"><strong><:asso:config_libelle_siret:></strong></label>
     36                                        <input type="text" name="siret" [value="(#ENV{siret})"] id="siret"  class='formo'/>
     37                                </li>
     38                                <li>
     39                                        <label for="declaration"><strong><:asso:config_libelle_declaration:></strong></label>
     40                                        <input type="text" name="declaration" [value="(#ENV{declaration})"] id="declaration"  class='formo'/>
     41                                </li>
     42                                <li>
     43                                        <label for="prefet"><strong><:asso:config_libelle_prefet:></strong></label>
     44                                        <input type="text" name="prefet" [value="(#ENV{prefet})"] id="prefet"  class='formo'/>
     45                                </li>
     46                        </ul>
     47                </fieldset>
     48        </li>
     49        <li class="fieldset">
     50                <!-- Options de gestion des membres -->
     51                <fieldset>
     52                        <h3 class="legend"><:asso:config_info_membres:></h3>
     53                        <ul>
     54                                <li>
     55                                        <label for="nom"><strong><:asso:config_libelle_gerer_champs_membres:></strong></label><br/>
     56                                        <div class="choix">
     57                                                <input type="checkbox" name="civilite" [(#ENV{civilite}|=={on}|?{checked="checked"})] id="civilite" />
     58                                                <label for="nom"><strong><:asso:adherent_libelle_sexe:></strong></label><br/>
     59                                        </div>
     60                                        <div class="choix">
     61                                                <input type="checkbox" name="prenom" [(#ENV{prenom}|=={on}|?{checked="checked"})] id="prenom" />
     62                                                <label for="nom"><strong><:asso:adherent_libelle_prenom:></strong></label><br/>
     63                                        </div>
     64                                        <div class="choix">
     65                                                <input type="checkbox" name="id_asso" [(#ENV{id_asso}|=={on}|?{checked="checked"})] id="id_asso" />
     66                                                <label for="nom"><strong><:asso:config_libelle_utiliser_champ_id_asso:></strong></label>
     67                                        </div>
     68                                </li>
     69                                <li>
     70                                        <label><strong><:asso:config_libelle_import_nom_auteur:></strong> </label>     
     71                                        <select name="import_nom_auteur" id="import_nom_auteur">
     72                                                <option value=""><:asso:import_nom_auteur_nom_prenom:></option> <!-- c'est l'option par defaut, elle n'a donc pas de valeur et est donc selectionne meme si on n'a pas touche a ce reglage -->
     73                                                <option value="prenom_nom" [(#ENV{import_nom_auteur}|=={prenom_nom}|?{selected="selected"})]><:asso:import_nom_auteur_prenom_nom:></option>
     74                                                <option value="nom" [(#ENV{import_nom_auteur}|=={nom}|?{selected="selected"})]><:asso:import_nom_auteur_nom:></option>
     75                                        </select>
     76                                </li>
     77                        </ul>
     78                </fieldset>
     79        </li>
     80
     81        <li class="fieldset">
     82                <!-- Options du plugin: gestion comptable -->
     83                <fieldset>
     84                        <h3 class="legend"><:asso:config_libelle_comptes:></h3>
     85                        #SET{erreurs,#ENV**{erreurs}|table_valeur{comptes}}
     86                        <ul>
     87                                [<span class='erreur_message'>(#GET{erreurs})</span>]
     88                                <li>
     89                                <B_classe_banques>
     90                                        <div class="choix">
     91                                                <input name= "comptes" [(#ENV{comptes}|=={on}|?{checked="checked"})] id="comptes" type="checkbox"/>
     92                                                <label><strong><:asso:config_libelle_activer_comptes:></strong></label>
     93                                        </div>
     94                                </li>
     95                                <li>
     96                                        <label><strong><:asso:config_libelle_classe_banques:></strong> </label>
     97                                        <select name="classe_banques" id="classe_banques" >
     98                                <BOUCLE_classe_banques(ASSO_PLAN){fusion classe}{par classe}>
     99                                        <option value="#CLASSE" [(#ENV{classe_banques}|=={#CLASSE}|?{selected="selected"})]>#CLASSE </option>
     100                                </BOUCLE_classe_banques>
     101                                        </select>
     102                                        </li>
     103                                        <li>
     104                                                <div class="choix">
     105                                                        <input type="checkbox" name="destinations" [(#ENV{destinations}|=={on}|?{checked="checked"})] id="destinations" />
     106                                                        <label><strong><:asso:config_libelle_destinations:></strong></label>
     107                                                </div>
     108                                        </li>
     109                                        <li>
     110                                                #SET{erreurs,#ENV**{erreurs}|table_valeur{pc_cotisations}}
     111                                                [<span class='erreur_message'>(#GET{erreurs})</span>]
     112                                                <label><strong><:asso:config_libelle_cotisations:></strong> </label>
     113                                        </li>
     114                                        <li>
     115                                                <label><strong><:asso:config_libelle_num_pc:></strong> </label>
     116                                                <B_pc_cotisations>
     117                                                        <select name="pc_cotisations" id="pc_cotisations">
     118                                                <BOUCLE_pc_cotisations(ASSO_PLAN){par classe}{par code}>
     119                                                        <option value="#CODE" [(#ENV{pc_cotisations}|=={#CODE}|?{selected="selected"})]>#CLASSE - #CODE - #INTITULE</option>
     120                                                </BOUCLE_pc_cotisations>
     121                                                        </select>
     122                                                </B_pc_cotisations>
     123                                        </li>
     124                                        <li>
     125                                                <label><strong><:asso:config_libelle_num_dc:></strong> </label>
     126                                                <B_dc_cotisations>
     127                                                        <select name="dc_cotisations" id="dc_cotisations">
     128                                                <BOUCLE_dc_cotisations(ASSO_DESTINATION){par intitule}>
     129                                                        <option value="#ID_DESTINATION" [(#ENV{dc_cotisations}|=={#ID_DESTINATION}|?{selected="selected"})]>#INTITULE</option>
     130                                                </BOUCLE_dc_cotisations>
     131                                                        </select>
     132                                                </B_dc_cotisations>
     133                                                        <span class="spip_form_erreur"><:asso:erreur_pas_de_destination:></span>
     134                                                <//B_dc_cotisations>
     135                                </B_classe_banques>
     136                                        <a class="spip_form_erreur" href="#URL_ECRIRE{plan}"><:asso:erreur_creer_un_plan_pour_activer_ce_module:></a>
     137                                        <input type="hidden" name="comptes" id="comptes" value="" /> <!-- pour etre bien sur de desactiver la gestion comptable -->
     138                                <//B_classe_banques>
     139                                </li>
     140                        </ul>
     141                </fieldset>
     142        </li>
     143
     144        <li class="fieldset">
     145                <!-- Options du plugin: gestion des dons et colis -->
     146                <fieldset>
     147                        <h3 class="legend"><:asso:config_libelle_dons:></h3>
     148                        #SET{erreurs,#ENV**{erreurs}|table_valeur{dons}}
     149                        <ul>
     150                                [<span class='erreur_message'>(#GET{erreurs})</span>]
     151                                <li>
     152                                        <B_pc_dons>
     153                                                <div class="choix">
     154                                                        <input type="checkbox" name="dons" [(#ENV{dons}|=={on}|?{checked="checked"})] id="dons" />
     155                                                        <label><strong><:asso:config_libelle_activer_dons:></strong> </label>
     156                                                </div>
     157                                        </li>
     158                                        <li>
     159                                                <label><strong><:asso:config_libelle_num_pc:></strong> </label>
     160                                                <select name="pc_dons" id="pc_dons" >
     161                                        <BOUCLE_pc_dons(ASSO_PLAN){par classe}{par code}>
     162                                                <option value="#CODE" [(#ENV{pc_dons}|=={#CODE}|?{selected="selected"})]>#CLASSE - #CODE - #INTITULE</option>
     163                                        </BOUCLE_pc_dons>
     164                                                </select>
     165                                                </li>   
     166                                                <li>
     167                                                        <label><strong><:asso:config_libelle_num_dc:></strong> </label>
     168                                                        <B_dc_dons>
     169                                                                <select name="dc_dons" id="dc_dons">
     170                                                        <BOUCLE_dc_dons(ASSO_DESTINATION){par intitule}>
     171                                                                <option value="#ID_DESTINATION" [(#ENV{dc_dons}|=={#ID_DESTINATION}|?{selected="selected"})]>#INTITULE</option>
     172                                                        </BOUCLE_dc_dons>
     173                                                                </select>
     174                                                        </B_dc_dons>
     175                                                                <span class="spip_form_erreur">Aucune destination comptable définie !</span>
     176                                                        <//B_dc_dons>
     177                                        </B_pc_dons>
     178                                                <a class="spip_form_erreur" href="#URL_ECRIRE{plan}"><:asso:erreur_creer_un_plan_et_activer_gestion_comptable_pour_activer_ce_module:></a>
     179                                        <//B_pc_dons>
     180                                </li>
     181                        </ul>
     182                </fieldset>
     183        </li>
     184        <li class="fieldset">
     185                <!-- Options du plugin: gestion des ventes -->
     186                <fieldset>
     187                        <h3 class="legend"><:asso:config_libelle_ventes:></h3>
     188                        #SET{erreurs,#ENV**{erreurs}|table_valeur{ventes}}
     189                        <ul>
     190                                [<span class='erreur_message'>(#GET{erreurs})</span>]
     191                                <li>
     192                                <B_pc_ventes>
     193                                        <div class="choix"
     194                                                <input type="checkbox" name="ventes" [(#ENV{ventes}|=={on}|?{checked="checked"})] id="ventes" />
     195                                                <label><strong><:asso:config_libelle_activer_ventes:></strong> </label>
     196                                        </div>
     197                                </li>
     198                                <li>
     199                                        <label><strong><:asso:config_libelle_num_pc:></strong> </label>
     200                                        <select name="pc_ventes" id="pc_ventes">
     201                                <BOUCLE_pc_ventes(ASSO_PLAN){par classe}{par code}>
     202                                        <option value="#CODE" [(#ENV{pc_ventes}|=={#CODE}|?{selected="selected"})]>#CLASSE - #CODE - #INTITULE</option>
     203                                </BOUCLE_pc_ventes>
     204                                        </select>
     205                                </li>
     206                                <li>
     207                                        #SET{erreurs,#ENV**{erreurs}|table_valeur{frais_envoi}}
     208                                        [<span class='erreur_message'>(#GET{erreurs})</span>]
     209                                        <label><strong><:asso:config_libelle_num_pc:>&nbsp;<:asso:config_libelle_frais_envoi:></strong> </label>       
     210                                        <B_pc_frais_envoi>
     211                                                <select name="pc_frais_envoi" id="pc_frais_envoi">
     212                                        <BOUCLE_pc_frais_envoi(ASSO_PLAN){par classe}{par code}>
     213                                                <option value="#CODE" [(#ENV{pc_frais_envoi}|=={#CODE}|?{selected="selected"})]>#CLASSE - #CODE - #INTITULE</option>
     214                                        </BOUCLE_pc_frais_envoi>
     215                                                </select>
     216                                        </B_pc_frais_envoi>
     217                                </li>
     218                                <li>
     219                                        <label><strong><:asso:config_libelle_num_dc:></strong> </label>
     220                                        <B_dc_ventes>
     221                                                <select name="dc_ventes" id="dc_ventes">
     222                                        <BOUCLE_dc_ventes(ASSO_DESTINATION){par intitule}>
     223                                                <option value="#ID_DESTINATION" [(#ENV{dc_ventes}|=={#ID_DESTINATION}|?{selected="selected"})]>#INTITULE</option>
     224                                        </BOUCLE_dc_ventes>
     225                                                </select>
     226                                        </B_dc_ventes>
     227                                </B_pc_ventes>
     228                                        <a class="spip_form_erreur" href="#URL_ECRIRE{plan}"><:asso:erreur_creer_un_plan_et_activer_gestion_comptable_pour_activer_ce_module:></a>
     229                                <//B_pc_ventes>
     230                                </li>
     231                        </ul>
     232                </fieldset>
     233        </li>
     234        <li class="fieldset">
     235                <!-- Options du plugin: gestion des activites -->
     236                <fieldset>
     237                        <h3 class="legend"><:asso:config_libelle_activites:></h3>
     238                        #SET{erreurs,#ENV**{erreurs}|table_valeur{activites}}
     239                        <ul>
     240                                [<span class='erreur_message'>(#GET{erreurs})</span>]
     241                                <li>
     242                                <B_pc_activites>
     243                                        <div class="choix">
     244                                                <input type="checkbox" name="activites" [(#ENV{activites}|=={on}|?{checked="checked"})] id="activites" />
     245                                                <label><strong><:asso:config_libelle_activer_activites:></strong></label> <br />
     246                                        </div>
     247                                </li>
     248                                <li>
     249                                        <label><strong><:asso:config_libelle_num_pc:></strong> </label>
     250                                        <select name="pc_activites" id="pc_activites">
     251                                <BOUCLE_pc_activites(ASSO_PLAN){par classe}{par code}>
     252                                        <option value="#CODE" [(#ENV{pc_activites}|=={#CODE}|?{selected="selected"})]>#CLASSE - #CODE - #INTITULE</option>
     253                                </BOUCLE_pc_activites>
     254                                        </select>
     255                                </B_pc_activites>
     256                                        <a class="spip_form_erreur" href="#URL_ECRIRE{plan}"><:asso:erreur_creer_un_plan_et_activer_gestion_comptable_pour_activer_ce_module:></a>
     257                                <//B_pc_activites>
     258                                </li>
     259                        </ul>
     260                </fieldset>
     261        </li>
     262        <li class="fieldset">
     263                <!-- Options du plugin: gestion des prets -->
     264                <fieldset>
     265                        <h3 class="legend"><:asso:config_libelle_prets:></h3>
     266                        #SET{erreurs,#ENV**{erreurs}|table_valeur{prets}}
     267                        <ul>
     268                                [<span class='erreur_message'>(#GET{erreurs})</span>]
     269                                <li>
     270                                <B_pc_prets>
     271                                        <div class="choix">
     272                                                <input type="checkbox" name="prets" [(#ENV{prets}|=={on}|?{checked="checked"})] id="prets" />
     273                                                <label><strong><:asso:config_libelle_activer_prets:></strong> </label><br />           
     274                                        </div>
     275                                </li>
     276                                <li>   
     277                                        <label><strong><:asso:config_libelle_num_pc:></strong> </label>
     278                                        <select name="pc_prets" id="pc_prets">
     279                                <BOUCLE_pc_prets(ASSO_PLAN){par classe}{par code}>
     280                                        <option value="#CODE" [(#ENV{pc_prets}|=={#CODE}|?{selected="selected"})]>#CLASSE - #CODE - #INTITULE</option>
     281                                </BOUCLE_pc_prets>
     282                                        </select>
     283                                </B_pc_prets>
     284                                        <a class="spip_form_erreur" href="#URL_ECRIRE{plan}"><:asso:erreur_creer_un_plan_et_activer_gestion_comptable_pour_activer_ce_module:></a>
     285                                <//B_pc_prets>
     286                                </li>
     287                        </ul>
     288                </fieldset>
     289        </li>
     290</ul>
     291
     292<p class="boutons"><input type="submit" value="<:pass_ok:>" class="submit" /></p>
    178293
    179294</div>
    180295</form>
     296</div>
  • _plugins_/Association/Associaspip/formulaires/configurer_association.php

    r46893 r48466  
    1212function formulaires_configurer_association_verifier_dist() {
    1313        $erreurs = array();
    14         $erreur = false;
     14        $erreurs['message_erreur'] = _T('asso:erreur_configurer_association_titre'); /* on insere directement un titre de message d'erreurs, si on n'a que lui a la fin on renvoie un tableau vide */
    1515
    16         $ref_attribuee = array();
    17         // on verifie qu'il n'a pas deux fois la meme reference comptable en incluant celle des cotisations
    18         $ref_attribuee[_request('pc_cotisations')]=0;
    19         if ((_request('dons') == 'on') AND $ref_dons = _request('pc_dons')) {
    20                 if (!array_key_exists($ref_dons,$ref_attribuee)) {
    21                         $ref_attribuee[$ref_dons]=0;
     16
     17        $dons = _request('dons');
     18        $ventes = _request('ventes');
     19        $prets = _request('prets');
     20        $activites = _request('activites');
     21        $pc_cotisations = _request('pc_cotisations');
     22        $pc_dons = _request('pc_dons');
     23        $pc_ventes = _request('pc_ventes');
     24        $pc_frais_envoi = _request('pc_frais_envoi');
     25        $pc_prets = _request('pc_prets');
     26        $pc_activites = _request('pc_activites');
     27        $comptes = _request('comptes');
     28
     29        // si la gestion comptable est activee, on valide le plan comptable
     30        if ($comptes) {
     31                include_spip('inc/association_comptabilite');
     32                if (!association_valider_plan_comptable()) {   
     33                        $erreurs['comptes'] = _T('asso:erreur_configurer_association_plan_comptable_non_valide');
     34                        return $erreurs;
    2235                }
    23                 else $erreur = true;
     36
     37                // on verifie qu'il n'a pas deux fois la meme reference comptable en incluant celle des cotisations ou qu'on n'a pas attribue aux cotisations ou modules de gestion une reference comptable de la classe des comptes financiers
     38                $ref_attribuee = array();
     39                $classe_financier = _request('classe_banques');
     40                $ref_attribuee[$pc_cotisations]='pc_cotisations';
     41       
     42                // le premier caractere du code de la reference comptable est sa classe
     43                if ($pc_cotisations[0] == $classe_financier) $erreurs['pc_cotisations'] = _T('asso:erreur_configurer_association_reference_financier');
    2444        }
    2545
    26         if ((_request('ventes') == 'on' AND $ref_ventes = _request('pc_ventes'))) {
    27          
    28                 $ref_frais_envoi = _request('pc_frais_envoi');
    29                 if (!array_key_exists($ref_ventes,$ref_attribuee)) {
    30                         $ref_attribuee[$ref_ventes]=0;
    31                 }
    32                 else $erreur = true;
    33                 if ($ref_ventes != $ref_frais_envoi) {
    34                         /* vente et frais_envoi peuvent etre associes a la meme reference comptable meme si c'est deconseille d'un point de vue comptable */
    35                         if (!array_key_exists($ref_frais_envoi,$ref_attribuee)) {
    36                                 $ref_attribuee[$ref_frais_envoi]=0;
     46        if ($dons == 'on') {
     47                if (!$comptes) { $erreurs['dons'] = _T('asso:erreur_configurer_association_gestion_comptable_non_activee');}
     48                else {
     49                        if (!array_key_exists($pc_dons,$ref_attribuee)) {
     50                                // le premier caractere du code de la reference comptable est sa classe
     51                                if ($pc_dons[0] == $classe_financier) $erreurs['dons'] = _T('asso:erreur_configurer_association_reference_financier');
    3752                        }
    38                         else $erreur = true;
     53                        else {
     54                                $erreurs['dons'] = _T('asso:erreur_configurer_association_reference_multiple');
     55                                $erreurs[$ref_attribuee[$pc_dons]] = _T('asso:erreur_configurer_association_reference_multiple');
     56                        }
     57                        $ref_attribuee[$pc_dons]='dons';
    3958                }
    4059        }
    4160
    42         if ((_request('prets') == 'on') AND $ref_prets = _request('pc_prets')){
    43                 if (!array_key_exists($ref_prets,$ref_attribuee)) {
    44                         $ref_attribuee[$ref_prets]=0;
     61        if ($ventes == 'on') {
     62                if (!$comptes) { $erreurs['ventes'] = _T('asso:erreur_configurer_association_gestion_comptable_non_activee'); }
     63                else {
     64                        if (!array_key_exists($pc_ventes,$ref_attribuee)) {
     65                                // le premier caractere du code de la reference comptable est sa classe
     66                                if ($pc_ventes[0] == $classe_financier) $erreurs['ventes'] = _T('asso:erreur_configurer_association_reference_financier');
     67                        }
     68                        else {
     69                                $erreurs['ventes'] = _T('asso:erreur_configurer_association_reference_multiple');
     70                                $erreurs[$ref_attribuee[$pc_ventes]] = _T('asso:erreur_configurer_association_reference_multiple');
     71                        }
     72                        $ref_attribuee[$pc_ventes]='ventes';
     73
     74                        if ($pc_ventes != $pc_frais_envoi) {
     75                                /* vente et frais_envoi peuvent etre associes a la meme reference comptable meme si c'est deconseille d'un point de vue comptable */
     76                                if (!array_key_exists($pc_frais_envoi,$ref_attribuee)) {
     77                                        // le premier caractere du code de la reference comptable est sa classe
     78                                        if ($pc_frais_envoi[0] == $classe_financier) $erreurs['frais_envoi'] = _T('asso:erreur_configurer_association_reference_financier');
     79                                }
     80                                else {
     81                                        $erreurs['frais_envoi'] = _T('asso:erreur_configurer_association_reference_multiple');
     82                                        $erreurs[$ref_attribuee[$pc_frais_envoi]] = _T('asso:erreur_configurer_association_reference_multiple');
     83                                }
     84                                $ref_attribuee[$pc_frais_envoi]='frais_envoi';
     85                        }
    4586                }
    46                 else $erreur = true;
     87        }
     88
     89        if ($prets == 'on') {
     90                if (!$comptes) { $erreurs['prets'] = _T('asso:erreur_configurer_association_gestion_comptable_non_activee'); }
     91                else {
     92                        if (!array_key_exists($pc_prets,$ref_attribuee)) {
     93                                // le premier caractere du code de la reference comptable est sa classe
     94                                if ($pc_prets[0] == $classe_financier) $erreurs['prets'] = _T('asso:erreur_configurer_association_reference_financier');
     95                        }
     96                        else {
     97                                $erreurs['prets'] = _T('asso:erreur_configurer_association_reference_multiple');
     98                                $erreurs[$ref_attribuee[$pc_prets]] = _T('asso:erreur_configurer_association_reference_multiple');
     99                        }
     100                        $ref_attribuee[$pc_prets]='prets';
     101                }
    47102        }       
    48103
    49         if ((_request('activites') == 'on') AND $ref_activites = _request('pc_activites')) {
    50                 if (!array_key_exists($ref_activites,$ref_attribuee)) {
    51                         $ref_attribuee[$ref_activites]=0;
     104        if ($activites == 'on') {
     105                if (!$comptes) { $erreurs['activites'] = _T('asso:erreur_configurer_association_gestion_comptable_non_activee'); }
     106                else {
     107                        if (!array_key_exists($pc_activites,$ref_attribuee)) {
     108                                // le premier caractere du code de la reference comptable est sa classe
     109                                if ($pc_activites[0] == $classe_financier) $erreurs['activites'] = _T('asso:erreur_configurer_association_reference_financier');
     110                        }
     111                        else {
     112                                $erreurs['activites'] = _T('asso:erreur_configurer_association_reference_multiple');
     113                                $erreurs[$ref_attribuee[$pc_activites]] = _T('asso:erreur_configurer_association_reference_multiple');
     114                        }
     115                        $ref_attribuee[$pc_activites]='activites';
    52116                }
    53                 else $erreur = true;
    54         }       
    55         return !$erreur ? array()
    56           : array('message_erreur' => _T('asso:erreur_configurer_association_titre').'<br/>'._T('asso:erreur_configurer_association_reference_multiple')) ;
     117        }
     118
     119        if (count($erreurs)==1) { /* si on n'a qu'un entree dans la table des erreurs, c'est le titre qu'on a mis au debut, on n'a pas d'erreur, on renvoie un tableau vide */
     120                /* vilain hack pour conserver la fonction traiter des metas : on fait potentiellement ici des modifs dans la table */
     121                /* A-t-on modifie les metas pc_XXX si oui il faut faire suivre dans la table des comptes la modif, sinon on perd toutes les operations deja enregistrees */
     122                if ($pc_cotisations != $GLOBALS['association_metas']['pc_cotisations']) {
     123                        $erreurs['pc_cotisations']="PC COTI: ".$pc_cotisations." GLOB: ".$GLOBALS['association_metas']['pc_cotisations']." lignes a modifier :".print_r(sql_allfetsel("id_compte, imputation", 'spip_asso_comptes', "imputation=".$GLOBALS['association_metas']['pc_cotisations']),true);
     124                        //return $erreurs;
     125                        sql_updateq('spip_asso_comptes', array('imputation' => $pc_cotisations), "imputation=".$GLOBALS['association_metas']['pc_cotisations']);
     126                }
     127                return array();
     128        }
     129
     130        /* on a des erreurs, pour conserver l'etat des checkbox vides, il faut faire un set_request en mettant une valeur differente de on sinon le retour de verif mange les eventuelles modifs */
     131        if (!$comptes) set_request('comptes', 'off');
     132        if (!$dons) set_request('dons', 'off');
     133        if (!$ventes) set_request ('ventes', 'off');
     134        if (!$prets) set_request ('prets', 'off');
     135        if (!$activites) set_request ('activites', 'off');
     136
     137        if (!_request('$destinations')) set_request ('destinations', 'off');
     138        if (!_request('civilite')) set_request ('civilite', 'off');
     139        if (!_request('prenom')) set_request ('prenom', 'off');
     140        if (!_request('id_asso')) set_request ('id_asso', 'off');
     141
     142        return $erreurs;
    57143}
    58144?>
  • _plugins_/Association/Associaspip/lang/asso_fr.php

    r48462 r48466  
    529529
    530530        # MaJ activation des modules seulement si la gestion comptable est active
     531                        'maj_desactive_gestion_comptable' => 'Gestion d\'association: &agrave; partir de cette mise &agrave; jour, il n\'est plus possible d\'activer la gestion comptable si le plan comptable n\'est pas valide. Votre plan comptable n\'est pas valide, la gestion comptable a donc &eacute;t&eacute; desactiv&eacute;e. Pour la reactiver, rendez vous sur la d\'&eacute;dition du plan comptable puis celle de configuration du plugin',
    531532                        'maj_desactive_modules' => 'Gestion d\'association : &agrave; partir de cette mise &agrave; jour, il n\'est plus possible d\'activer les modules de gestion de dons, ventes, prets ou activit&eacute;s si la gestion comptable n\'est pas activ&eacute;e. Votre configuration actuelle du plugin n\'&eacute;tant plus autoris&eacute;e, les modules de gestions activ&eacute;s ont &eacute;t&eacute; d&eacute;sactiv&eacute;s(aucune donn&eacute; n\'a  &eacute;t&eacute; &eacute;ffac&eacute;e). Rendez vous sur la page de configuration du plugin pour les r&eacute;activer.',
    532533
  • _plugins_/Association/Associaspip/plugin.xml

    r48225 r48466  
    66        </auteur>
    77        <version>2.1.0</version>
    8         <version_base>48225</version_base>
     8        <version_base>48466</version_base>
    99        <meta>association_metas</meta>
    1010        <etat>dev</etat>
Note: See TracChangeset for help on using the changeset viewer.