Changeset 59897 in spip-zone


Ignore:
Timestamp:
Mar 28, 2012, 10:34:03 PM (7 years ago)
Author:
jeannolapin@…
Message:

Associaspip Gestion des droits d'accès : debug de la gestion des groupes + application à la gestion des adhérents et au profil de l'association.

Location:
_plugins_/Association/Associaspip
Files:
27 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/Association/Associaspip/action/editer_asso_groupes.php

    r59464 r59897  
    2626    include_spip('base/association');
    2727    if ($id_groupe) { /* modification */
    28         sql_updateq('spip_asso_groupes', $champs "id_groupe=$id_groupe");
     28        sql_updateq('spip_asso_groupes', $champs, "id_groupe=$id_groupe");
    2929    } else { /* ajout */
    3030        $id_groupe = sql_insertq('spip_asso_groupes', $champs);
  • _plugins_/Association/Associaspip/association_autorisations.php

    r59811 r59897  
    1414un auteur non membre peut avoir un access, par exemple le personnel administratif de l'asso) */
    1515/* Mapping des id de groupes et des autorisations associées, qu'ils soient ou non present dans le groupe, les webmestres ont tous les acces, les admins non restreints certains */
    16 /* 1 => edition des groupes y compris ceux d'autorisation */
    17 /* 2 => edition des groupes d'id>100 */
     16/* 1 => edition des groupes y compris ceux d'autorisation. defaut: webmestres */
     17/* 2 => edition des groupes d'id>100. defaut : admin non restreints */
     18/* 3 => voir les groupes d'id>100. defaut : redacteurs */
    1819/* 10 => expert-comptable: toutes les autorisations sur la compta. */
    1920/* 11 => comptable: peut enregistrer des ecritures mais pas modifier le plan comptable */
    2021/* 12 => auditeur: acces en lecture seule a la comptabilité */
     22/* 20 => editer le profil et les options de l'association. defaut : webmestres */
     23/* 21 => voir info association. defaut : redacteurs */
     24/* 30 => editer membres. Ajouter/Supprimer des membres, editer les membres(ajout cotisations, modifications informations). defaut : admin non restreint */
     25/* 31 => voir membres. Lister les membres et voir leur page. defaut : admin non restreint */
     26
    2127
    2228/* teste si un auteur est dans un groupe ou une liste de groupes */
     
    3945}
    4046
    41 /* gestion des autorisations : seuls les webmestres ont acces si non listes */
     47
     48/**** Groupes ****/
     49/* gestion des autorisations. defaut : webmestres */
    4250function autoriser_association_gerer_autorisations_dist($faire, $type, $id, $qui, $opt) {
    4351        if ($qui['statut']=='0minirezo' && $qui['webmestre']=='oui') {
     
    6169}
    6270
     71/* voir les groupes. defaut : redacteurs */
     72function autoriser_association_voir_groupes_dist($faire, $type, $id, $qui, $opt) {
     73        /* si l'id est-il inferieur a 100 et different de 0(creation d'un groupe) -> groupe d'autorisations: on retourne le resultat de la fonction d'autorisation de gestion des autorisations */
     74        if ($id!=0 && $id<100) { /* on n'arrive jamais ici sauf si quelqu'un entre des urls a la main ce qui peut arriver */
     75                return autoriser_association_gerer_autorisations_dist($faire, $type, $id, $qui, $opt); 
     76        }
     77
     78        /* defaut : redacteurs */
     79        if ($qui['statut']=='0minirezo' || $qui['statut']=='1comite') {
     80                return true;
     81        }
     82
     83        return is_in_groups($qui['id_auteur'], array(3)); // c'est le groupe 3 qui a le pouvoir de voir les groupes(mais pas ceux des autorisations)
     84}
     85
     86
     87/**** Profil Association ****/
     88/* modifier le profil de l'association. defaut : webmestre */
     89function autoriser_association_editer_profil_dist($faire, $type, $id, $qui, $opt) {
     90        if ($qui['statut']=='0minirezo' && $qui['webmestre']=='oui') {
     91                return true; // on retourne ok pour tous les webmestres
     92        }
     93
     94        return is_in_groups($qui['id_auteur'], array(20)); // c'est le groupe 20 qui a le pouvoir d'editer le profil de l'association.
     95}
     96
     97/* voir le profil de l'association. defaut : rédacteurs */
     98function autoriser_association_voir_profil_dist($faire, $type, $id, $qui, $opt) {
     99        if ($qui['statut']=='0minirezo' || $qui['statut']=='1comite') return true;
     100
     101        return is_in_groups($qui['id_auteur'], array(21,20)); // c'est le groupe 21 qui a le pouvoir de voir les informations de l'association, le 20 celui de les editer aussi
     102}
     103
     104/* ceux qui peuvent voir les infos de l'association doivent avoir le bouton dans l'espace privé */
     105function autoriser_association_bouton_dist($faire, $type, $id, $qui, $opt) {
     106        return autoriser_association_voir_profil_dist($faire, $type, $id, $qui, $opt);
     107}
     108
     109
     110/**** Gestion des membres ****/
     111/* editer les informations des membres. defaut : admin non restreint. */
     112function autoriser_association_editer_membres($faire, $type, $id, $qui, $opt) {
     113        /* defaut: tous les admins non restreints */
     114        if ($qui['statut']=='0minirezo' && !$qui['restreint']) {
     115                return true;
     116        }
     117
     118        return is_in_groups($qui['id_auteur'], array(30)); // c'est le groupe 30 qui a le pouvoir de modifier les infos de tout le monde
     119}
     120
     121/* voir la page des membres et leurs pages personnelle. defaut : admin non restreint. Pour les pages de membres, le membre en question y a forcement accès */
     122function autoriser_association_voir_membres($faire, $type, $id, $qui, $opt) {
     123        /* defaut: tous les admins non restreints */
     124        if ($qui['statut']=='0minirezo' && !$qui['restreint']) {
     125                return true;
     126        }
     127
     128        /* si l'auteur connecté correspond à la page du membre a visiter c'est ok */
     129        if ($id == intval($GLOBALS['visiteur_session']['id_auteur'])) {
     130                return true;
     131        }
     132
     133        return is_in_groups($qui['id_auteur'], array(31,30)); // c'est le groupe 31 qui a le pouvoir de voir les infos de tout le monde, le 30 celui de les editer
     134}
     135
    63136?>
  • _plugins_/Association/Associaspip/association_options.php

    r59668 r59897  
    7979                return sql_in('statut_interne', $a);
    8080        }
    81 }
    82 
    83 function association_ajouterBoutons($boutons_admin)
    84 {
    85         // si on est admin
    86         if ($GLOBALS['connect_statut']=='0minirezo' && $GLOBALS['connect_toutes_rubriques']) {
    87                 $menu = 'naviguer';
    88                 $icone = 'annonce.gif';
    89                 if (isset($boutons_admin['bando_reactions'])){
    90                         $menu = 'bando_reactions';
    91                         $icone = 'annonce.gif';
    92                 }
    93                 $boutons_admin[$menu]->sousmenu['association'] = new Bouton(
    94                         _DIR_PLUGIN_ASSOCIATION_ICONES.$icone,  // icone
    95                         _T('asso:titre_menu_gestion_association') //titre
    96                 );
    97         }
    98         return $boutons_admin;
    9981}
    10082
  • _plugins_/Association/Associaspip/base/association_gestion.php

    r59811 r59897  
    5656function association_gestion_autorisations_upgrade()
    5757{
    58         spip_log("UPGRADE DEBUG");
    5958        // definir tous les groupes qui doivent exister
    60         $groupes_autorisations = array(1,2);
     59        $groupes_autorisations = array(1,2,3,20,21,30,31);
    6160
    6261        // recuperer tous ceux existants
     
    7473                }
    7574        }
    76         sql_insertq_multi('spip_asso_groupes', $groupes_a_inserer);
     75
     76        if (count($groupes_a_inserer)) {
     77                sql_insertq_multi('spip_asso_groupes', $groupes_a_inserer);
     78        }
    7779}
    7880
     
    588590);
    589591
    590 // introduction des groupes 1 et 2 dans la table spip_asso_groupes
    591 $GLOBALS['association_maj'][59811] = array(
     592// introduction des groupes dans la table spip_asso_groupes
     593$GLOBALS['association_maj'][59886] = array(
    592594        array('association_gestion_autorisations_upgrade')
    593595);
  • _plugins_/Association/Associaspip/exec/action_adherents.php

    r59743 r59897  
    1818function exec_action_adherents()
    1919{
    20         if (!autoriser('associer', 'adherents')) {
     20        $action_adherents = _request('action_adherents');
     21        // pour agir sur les adherents il faut avoir le droit d'edition sur les adherents ainsi que le droit de gestion des groupes si c'est ca qu'on modifie.
     22        if (!autoriser('editer_membres', 'association') ||
     23                (($action_adherents=='grouper' || $action_adherents=='degrouper' ) && !autoriser('editer_groupes', 'association', 100)) ) {
    2124                        include_spip('inc/minipres');
    2225                        echo minipres();
    2326        } else {
    2427                $id_auteurs = _request('id_auteurs');
    25                 $action_adherents = _request('action_adherents');
    2628                if ($action_adherents && $id_auteurs && is_array($id_auteurs)) {
    2729                        onglets_association('titre_onglet_membres');
  • _plugins_/Association/Associaspip/exec/action_relances.php

    r59668 r59897  
    2020function exec_action_relances()
    2121{
    22         if (!autoriser('associer', 'comptes')) {
     22        if (!autoriser('editer_membres', 'association')) {
    2323                        include_spip('inc/minipres');
    2424                        echo minipres();
    2525        } else {
    26                 onglets_association('titre_onglet_membres'));
     26                onglets_association('titre_onglet_membres');
    2727                // notice ?
    2828                echo _T('asso:aide_relances'); //!\ il faut en rajouter
  • _plugins_/Association/Associaspip/exec/adherents.php

    r59743 r59897  
    1818function exec_adherents()
    1919{
    20         if (!autoriser('associer', 'adherents')) {
     20        if (!autoriser('voir_membres', 'association', 0)) { /* on s'assure qu'il n'y ai pas d'id associe a la demande d'autorisation sur voir_membres car on les consulte tous */
    2121                include_spip('inc/minipres');
    2222                echo minipres();
     
    4141                echo totauxinfos_montants(_T('asso:cotisations'), $data['somme_recettes'], $data['somme_depenses']);
    4242                // datation et raccourcis
    43                 $res['gerer_les_groupes'] = array('annonce.gif', 'groupes');
     43                if (autoriser('voir_groupes', 'association', 100)) { // l'id groupe passe en parametre est a 100 car ce sont les groupes definis par l'utilisateur et non ceux des autorisation qu'on liste dans cette page.
     44                        $res['gerer_les_groupes'] = array('annonce.gif', 'groupes');
     45                }
    4446                $res['menu2_titre_relances_cotisations'] = array('relance-24.png', 'edit_relances');
    4547                $res['synchronise_asso_membre_lien'] = array('reload-32.png', 'synchroniser_asso_membres');
     
    279281                }
    280282        }
    281         $res .= "</p></td><td width='48%' class='formulaire'><form>\n"
    282         .  (!$auteurs ? '' : ('<select name="action_adherents"><option value="" selected="">'._T('asso:choisir_action').'</option><option value="desactive">'
    283                 .($statut_interne=='sorti' ? _T('asso:reactiver_adherent') : _T('asso:desactiver_adherent'))
    284                 .'</option><option value="delete">'._T('asso:supprimer_adherent').'</option>'
    285                 .(sql_countsel('spip_asso_groupes', '') ? '<option value="grouper">'._T('asso:rejoindre_groupe').'</option><option value="degrouper">'._T('asso:quitter_un_groupe').'</option>' : '')
    286                 .'</select><input type="submit" value="'._T('asso:bouton_confirmer').'" />'))
    287         . '<input type="hidden" name="statut_courant" value="'.$statut_interne.'" />'
    288         .  '</form></td></tr></table>';
     283        if (autoriser('editer_membres', 'association', 100)) {
     284                $res .= "</p></td><td width='48%' class='formulaire'><form>\n";
     285                if ($auteurs) {
     286                        $res .=  '<select name="action_adherents"><option value="" selected="">'._T('asso:choisir_action').'</option><option value="desactive">'
     287                        .($statut_interne=='sorti' ? _T('asso:reactiver_adherent') : _T('asso:desactiver_adherent'))
     288                        .'</option><option value="delete">'._T('asso:supprimer_adherent').'</option>';
     289                        if (autoriser('editer_groupes', 'association', 100)) {
     290                                $res .=sql_countsel('spip_asso_groupes', '') ? '<option value="grouper">'._T('asso:rejoindre_groupe').'</option><option value="degrouper">'._T('asso:quitter_un_groupe').'</option>' : '';
     291                        }
     292                        $res .='</select><input type="submit" value="'._T('asso:bouton_confirmer').'" />';
     293                }
     294                $res .= '<input type="hidden" name="statut_courant" value="'.$statut_interne.'" />'
     295                .  '</form></td>';
     296        }
     297        $res .= '</tr></table>';
     298
    289299        return  array($liste_id_auteurs, generer_form_ecrire('action_adherents', $res));
    290300}
  • _plugins_/Association/Associaspip/exec/association.php

    r59811 r59897  
    1818function exec_association()
    1919{
    20         if (!autoriser('associer')) {
     20        if (!autoriser('voir_profil', 'association')) {
    2121                include_spip('inc/minipres');
    2222                echo minipres();
     
    2626                echo propre(_T('asso:association_info_doc'));
    2727                // datation et raccourcis
    28                 $res['profil_de_lassociation'] = array('assoc_qui.png', 'configurer_association');
    29                 $res['editer_asso_metas_utilisateur_lien'] = array('assoc_qui.png', 'editer_asso_metas_utilisateur');
     28                if (autoriser('editer_profil', 'association')) {
     29                        $res['profil_de_lassociation'] = array('assoc_qui.png', 'configurer_association');
     30                        $res['editer_asso_metas_utilisateur_lien'] = array('assoc_qui.png', 'editer_asso_metas_utilisateur');
     31                }
    3032                $res['categories_de_cotisations'] = array('cotisation.png', 'categories');
    3133                if (autoriser('gerer_autorisations', 'association')) {
  • _plugins_/Association/Associaspip/exec/edit_adherent.php

    r59668 r59897  
    1818function exec_edit_adherent()
    1919{
    20         if (!autoriser('associer', 'adherents')) {
     20        if (!autoriser('editer_membres', 'association')) {
    2121                        include_spip('inc/minipres');
    2222                        echo minipres();
  • _plugins_/Association/Associaspip/exec/edit_groupe.php

    r59811 r59897  
    2525                onglets_association('gestion_groupes');
    2626                // INFO
    27                 $groupe = sql_fetsel('*', 'spip_asso_groupes', "id_groupe=$id_groupe" );
    28                 $infos['ordre_affichage_groupe'] = $groupe['affichage'];
    29                 $infos['commentaires'] = $groupe['commentaires'];
    30                 $infos['destination_entete_utilise'] = _T('asso:nombre_fois', array('nombre'=>sql_countsel('spip_asso_groupes_liaisons',"id_groupe=$id_groupe")) );
    31                 echo totauxinfos_intro($groupe['nom'], 'groupe', $id_groupe, $infos );
     27                if ($id_groupe>0) {
     28                        $groupe = sql_fetsel('*', 'spip_asso_groupes', "id_groupe=$id_groupe" );
     29                        $infos['ordre_affichage_groupe'] = $groupe['affichage'];
     30                        $infos['commentaires'] = $groupe['commentaires'];
     31                        $infos['destination_entete_utilise'] = _T('asso:nombre_fois', array('nombre'=>sql_countsel('spip_asso_groupes_liaisons',"id_groupe=$id_groupe")) );
     32                        echo totauxinfos_intro($groupe['nom'], 'groupe', $id_groupe, $infos );
     33                }
    3234                // datation et raccourcis
    3335                icones_association(array('groupes'));
    34                 debut_cadre_association('annonce.gif', 'titre_editer_groupe');
     36                debut_cadre_association('annonce.gif', ($id_groupe)?'titre_editer_groupe':'titre_creer_groupe');
    3537                echo recuperer_fond('prive/editer/editer_asso_groupes', array (
    3638                        'id' => $id_groupe
  • _plugins_/Association/Associaspip/exec/edit_relances.php

    r59668 r59897  
    1818function exec_edit_relances()
    1919{
    20         onglets_association('titre_onglet_membres');
    21         // notice
    22         echo _T('asso:aide_relances'); //!\ il faut en rajouter
    23         // datation et raccourcis
    24         icones_association(array('adherents'));
    25         debut_cadre_association('relance-24.png', 'tous_les_membres_a_relancer');
    26         $statut_interne = _request('statut_interne');
    27         if (!$statut_interne)
    28                 $statut_interne = 'echu';
    29         $corps = '';
    30         foreach ($GLOBALS['association_liste_des_statuts'] as $var) {
    31                 $corps .= '<option value="'.$var.'"';
    32                 if ($statut_interne==$var) {
    33                         $corps .= ' selected="selected"';
     20        if (!autoriser('editer_membres', 'association')) {
     21                        include_spip('inc/minipres');
     22                        echo minipres();
     23        } else {
     24                onglets_association('titre_onglet_membres');
     25                // notice
     26                echo _T('asso:aide_relances'); //!\ il faut en rajouter
     27                // datation et raccourcis
     28                icones_association(array('adherents'));
     29                debut_cadre_association('relance-24.png', 'tous_les_membres_a_relancer');
     30                $statut_interne = _request('statut_interne');
     31                if (!$statut_interne)
     32                        $statut_interne = 'echu';
     33                $corps = '';
     34                foreach ($GLOBALS['association_liste_des_statuts'] as $var) {
     35                        $corps .= '<option value="'.$var.'"';
     36                        if ($statut_interne==$var) {
     37                                $corps .= ' selected="selected"';
     38                        }
     39                        $corps .= '> '. _T('asso:adherent_entete_statut_'.$var) .'</option>';
    3440                }
    35                 $corps .= '> '. _T('asso:adherent_entete_statut_'.$var) .'</option>';
     41                if ($corps) {
     42                        $corps = '<div><select name ="statut_interne" onchange="form.submit()">' . $corps . '</select></div>';
     43                        echo generer_form_ecrire('edit_relances', $corps, 'method="get"', '');
     44                }
     45                $corps = relances_while($statut_interne);
     46                if ($corps) {
     47                        $res = '<div class="formulaire_spip formulaire_edit_relance"><form>'
     48                                . '<ul>'
     49                                . '<li class="editer_sujet">'
     50                                . '<label for="sujet">'. _T('asso:sujet') . '</label>'
     51                                . '<input name="sujet" type="text" value="'.stripslashes(_T('asso:titre_relance')).'" id="sujet" class="text" />'
     52                                . "</li>\n"
     53                                . '<li class="editer_message">'
     54                                . '<label for="message">'. _T('asso:message') . '</label>'
     55                                . '<textarea name="message" rows="15" id="message">'.stripslashes(_T('asso:message_relance')).'</textarea>'
     56                                . "</li>\n"
     57                                . "</ul>\n"
     58                                . "<table width='100%' class='asso_tablo' id='asso_tablo_ressources'>\n"
     59                                . "<thead>\n<tr>"
     60                                . '<th>'. _T('asso:entete_id') .'</th>'
     61                                . '<th>' . _T('asso:entete_nom') .'</th>'
     62                                . '<th>' . _T('asso:adherent_libelle_validite') .'</th>'
     63                                . '<th>' . _T('asso:envoi') .'</th>'
     64                                . "</tr>\n</thead><tbody>"
     65                                .  $corps
     66                                . "</tbody>\n</table>\n";
     67                        $bouton = '<p class="boutons">'. isset($action) ? _T('asso:bouton_'.$action) : _T('asso:bouton_envoyer') .'</p>';
     68                        echo generer_form_ecrire('action_relances', $res, '', $bouton);
     69                }
     70                fin_page_association();
    3671        }
    37         if ($corps) {
    38                 $corps = '<div><select name ="statut_interne" onchange="form.submit()">' . $corps . '</select></div>';
    39                 echo generer_form_ecrire('edit_relances', $corps, 'method="get"', '');
    40         }
    41         $corps = relances_while($statut_interne);
    42         if ($corps) {
    43                 $res = '<div class="formulaire_spip formulaire_edit_relance"><form>'
    44                         . '<ul>'
    45                         . '<li class="editer_sujet">'
    46                         . '<label for="sujet">'. _T('asso:sujet') . '</label>'
    47                         . '<input name="sujet" type="text" value="'.stripslashes(_T('asso:titre_relance')).'" id="sujet" class="text" />'
    48                         . "</li>\n"
    49                         . '<li class="editer_message">'
    50                         . '<label for="message">'. _T('asso:message') . '</label>'
    51                         . '<textarea name="message" rows="15" id="message">'.stripslashes(_T('asso:message_relance')).'</textarea>'
    52                         . "</li>\n"
    53                         . "</ul>\n"
    54                         . "<table width='100%' class='asso_tablo' id='asso_tablo_ressources'>\n"
    55                         . "<thead>\n<tr>"
    56                         . '<th>'. _T('asso:entete_id') .'</th>'
    57                         . '<th>' . _T('asso:entete_nom') .'</th>'
    58                         . '<th>' . _T('asso:adherent_libelle_validite') .'</th>'
    59                         . '<th>' . _T('asso:envoi') .'</th>'
    60                         . "</tr>\n</thead><tbody>"
    61                         .  $corps
    62                         . "</tbody>\n</table>\n";
    63                 $bouton = '<p class="boutons">'. isset($action) ? _T('asso:bouton_'.$action) : _T('asso:bouton_envoyer') .'</p>';
    64                 echo generer_form_ecrire('action_relances', $res, '', $bouton);
    65         }
    66         fin_page_association();
    6772}
    6873
  • _plugins_/Association/Associaspip/exec/groupes.php

    r59668 r59897  
    1818function exec_groupes()
    1919{
    20         if (!autoriser('associer', 'comptes')) {
     20        if (!autoriser('voir_groupes', 'association', 100)) { // l'id groupe passe en parametre est a 100 car ce sont les groupes definis par l'utilisateur et non ceux des autorisation qu'on liste dans cette page.
    2121                include_spip('inc/minipres');
    2222                echo minipres();
  • _plugins_/Association/Associaspip/exec/supprimer_groupe.php

    r59668 r59897  
    1818function exec_supprimer_groupe()
    1919{
    20         if (!autoriser('associer', 'comptes')) {
     20        if (!autoriser('editer_groupes', 'association', $id_groupe)) {
    2121                include_spip('inc/minipres');
    2222                echo minipres();
  • _plugins_/Association/Associaspip/exec/voir_adherent.php

    r59743 r59897  
    1919        $id_auteur = intval(_request('id'));
    2020        $full = autoriser('associer', 'adherents');
    21         $data = sql_fetsel('m.sexe, m.nom_famille, m.prenom, m.validite, m.id_asso, c.libelle','spip_asso_membres as m LEFT JOIN spip_asso_categories as c ON m.categorie=c.id_categorie', "m.id_auteur=$id_auteur");
    22         if ((!$full AND ($id_auteur!==intval($GLOBALS['visiteur_session']['id_auteur']))) OR !$data) {
     21        if (!autoriser('voir_membres', 'association', $id_auteur)) {
    2322                include_spip('inc/minipres');
    2423                echo minipres();
    2524        } else {
     25                $data = sql_fetsel('m.sexe, m.nom_famille, m.prenom, m.validite, m.id_asso, c.libelle','spip_asso_membres as m LEFT JOIN spip_asso_categories as c ON m.categorie=c.id_categorie', "m.id_auteur=$id_auteur");
    2626                include_spip('inc/association_coordonnees');
    2727                $nom_membre = association_calculer_nom_membre($data['sexe'], $data['prenom'], $data['nom_famille']);
  • _plugins_/Association/Associaspip/exec/voir_groupe.php

    r59811 r59897  
    1919{
    2020        $id_groupe = intval(_request('id'));
    21         if (!autoriser('editer_groupes', 'association', $id_groupe)) {
     21        if (!autoriser('voir_groupes', 'association', $id_groupe)) {
    2222                include_spip('inc/minipres');
    2323                echo minipres();
  • _plugins_/Association/Associaspip/formulaires/ajouter_membres_groupe.php

    r53901 r59897  
    2828        $action_ajouter_membres = charger_fonction('ajouter_membres_groupe','action');
    2929        $action_ajouter_membres($id_groupe);
    30         $res['message_ok'] = '';
    31         $res['redirect'] = generer_url_ecrire('edit_groupe', 'id='.$id_groupe);
     30        $res['message_ok'] = '';
     31        $id_groupe = intval($id_groupe);
     32        if ($id_groupe>0 && $id_groupe<100) {
     33                $res['redirect'] = generer_url_ecrire('edit_groupe_autorisations', 'id='.$id_groupe);
     34        } else {
     35                $res['redirect'] = generer_url_ecrire('edit_groupe', 'id='.$id_groupe);
     36        }
    3237        return $res;
    3338       
  • _plugins_/Association/Associaspip/formulaires/editer_asso_groupes.html

    r59811 r59897  
    99                                [<span class="erreur_message">(#ENV**{erreurs}|table_valeur{nom_groupe})</span>]
    1010                                <label for="nom"><:asso:nom_groupe:></label>
    11                                 <input [(#ENV{id_groupe}|<{100}|oui) disabled="disabled" [value="(#VAL{asso:groupe_#ENV{id_groupe}}|_T)"]] type="text" name="nom" [(#ENV{id_groupe}|>={100}|oui) [value="(#ENV{nom})"]] id="nom" class="text" />
     11                                <input [(#ENV{_autorisation}|oui) disabled="disabled" [value="(#VAL{asso:groupe_#ENV{id_groupe}}|_T)"]] type="text" name="nom" [(#ENV{_autorisation}|non) [value="(#ENV{nom})"]] id="nom" class="text" />
    1212                        </li>
    1313                        <li class="editer_commentaires">
     
    1515                                <textarea name="commentaires" id="commentaires" rows="3">[(#ENV{commentaires})]</textarea>
    1616                        </li>
    17                  [(#ENV{id_groupe}|>={100}|oui)
     17                 [(#ENV{_autorisation}|non)
    1818                        <li class="editer_affichage">
    1919                                [<span class="erreur_message">(#ENV**{erreurs}|table_valeur{affichage})</span>]
  • _plugins_/Association/Associaspip/formulaires/editer_asso_groupes.php

    r53901 r59897  
    1616function formulaires_editer_asso_groupes_charger_dist($id_groupe='') {
    1717        /* cet appel va charger dans $contexte tous les champs de la table spip_asso_dons associes a l'id_don passe en param */
    18         return formulaires_editer_objet_charger('asso_groupes', $id_groupe, '', '',  generer_url_ecrire('groupes'), '');       
     18        $contexte = formulaires_editer_objet_charger('asso_groupes', $id_groupe, '', '',  generer_url_ecrire('groupes'), '');   
     19        if ($id_groupe>0 && $id_groupe<100) {
     20                $contexte['_autorisation'] = true;
     21        }
     22        return $contexte;
    1923}
    2024
    2125function formulaires_editer_asso_groupes_traiter($id_groupe='') {
    22         return formulaires_editer_objet_traiter('asso_groupes', $id_groupe, '', '',  generer_url_ecrire('groupes'), '');
     26        return formulaires_editer_objet_traiter('asso_groupes', $id_groupe, '', '',  ($id_groupe>0 && $id_groupe<100)?generer_url_ecrire('association_autorisations'):generer_url_ecrire('groupes'), '');
    2327}
    2428?>
  • _plugins_/Association/Associaspip/formulaires/editer_membres_groupe.html

    r59811 r59897  
    1010                                <th><:asso:id:></th>
    1111                                <th><:asso:nom:></th>
    12                                 [(#ENV{id_groupe}|>={100}|oui)<th><:asso:fonction:></th>]
     12                                <th><:asso:fonction:></th>
    1313                                <th><:asso:action:><th>
    1414                        </tr>
     
    1717                                <td>#ID_AUTEUR</td>
    1818                                <td><a title="<:asso:adherent_label_voir_membre:>" href="#URL_ECRIRE{voir_adherent, id=#ID_AUTEUR}">[(#SEXE|association_calculer_nom_membre{#PRENOM, #NOM_FAMILLE}) ]</a></td>
    19                                 [(#ENV{id_groupe}|>={100}|oui)<td><input type="text" value="[(#FONCTION)]" name="fonctions[(#ID_AUTEUR)]" class="text" /></td>]
     19                                <td><input type="text" value="[(#FONCTION)]" name="fonctions[#ID_AUTEUR]" class="text" /></td>
    2020                                <td class="boutons"><a title="<:asso:exclure_du_groupe:>" href="#URL_ACTION_AUTEUR{exclure_du_groupe, #ENV{id_groupe}-#ID_AUTEUR, #SELF}"><img src="#CHEMIN{img_pack/suppr-12.gif}"></a><input type="checkbox" name="id_auteurs[]" value="#ID_AUTEUR" /><td>
    2121                        </tr>
     
    2323                </table>
    2424                <p class="boutons">
    25                         [(#ENV{id_groupe}|>={100}|oui)<input type="submit" value="<:pass_ok:>" title="<:asso:ok_edition_groupe:>" class="submit" name="e_submit" />]
    26                         <input name="s_submit" type="submit" value="<:asso:exclure:>" title="<:asso:supprimer_selectionnes:>" class="submit" />
     25                        [(#ENV{id_groupe}|>={100}|oui)<input type="submit" value="<:pass_ok:>" title="<:asso:ok_edition_groupe:>" class="submit" name="bsubmit" />]
     26                        <input type="submit" value="<:asso:exclure:>" title="<:asso:supprimer_selectionnes:>" class="submit" name="bsubmit" />
    2727                </p>
    2828        </form>
  • _plugins_/Association/Associaspip/formulaires/editer_membres_groupe.php

    r57780 r59897  
    3535        }
    3636        $res['message_ok'] = '';
    37         $res['redirect'] = generer_url_ecrire('edit_groupe', 'id='.$id_groupe);
     37        $id_groupe = intval($id_groupe);
     38        if ($id_groupe>0 && $id_groupe<100) {
     39                $res['redirect'] = generer_url_ecrire('edit_groupe_autorisations', 'id='.$id_groupe);
     40        } else {
     41                $res['redirect'] = generer_url_ecrire('edit_groupe', 'id='.$id_groupe);
     42        }
    3843        return $res;
    3944}
  • _plugins_/Association/Associaspip/inc/lien_page_auteur.php

    r57780 r59897  
    1616        if ($flux['args']['exec']=='auteur_infos') {
    1717                $id_auteur = $flux['args']['id_auteur'];
    18                 $flux['data'] .= recuperer_fond('prive/boite/lien_page_auteur', array ('id_auteur' => $id_auteur));
     18                if (autoriser('voir_membres', 'association', $id_auteur)) {
     19                        $flux['data'] .= recuperer_fond('prive/boite/lien_page_auteur', array ('id_auteur' => $id_auteur));
     20                }
    1921        }
    2022        return $flux;
  • _plugins_/Association/Associaspip/inc/navigation_modules.php

    r59723 r59897  
    1717function onglets_association($titre='', $INSERT_HEAD=TRUE)
    1818{
     19        $res = '';
    1920
    2021        /* onglet de retour a la page d'accueil */
    21         $res = onglet1_association('association', 'association', 'Association', 'annonce.gif');
     22        if (autoriser('voir_profil', 'association')) {
     23                $res .= onglet1_association('association', 'association', 'Association', 'annonce.gif');
     24        }
    2225
    2326        /* onglet de gestion des membres */
    24         $res .= onglet1_association('gestion_membres', 'adherents', 'Membres', 'annonce.gif');
     27        if (autoriser('voir_membres', 'association')) {
     28                $res .= onglet1_association('gestion_membres', 'adherents', 'Membres', 'annonce.gif');
     29        }
    2530
    2631        /* onglet de gestion des dons */
     
    7479function onglet1_association($texte, $objet, $libelle, $image)
    7580{
    76         if (autoriser('associer', $objet)) {
    77                 return onglet(_T("asso:menu2_titre_$texte"), generer_url_ecrire($objet), '', $libelle, _DIR_PLUGIN_ASSOCIATION_ICONES . $image, 'rien.gif');
    78         } else
    79                 return '';
     81        return onglet(_T("asso:menu2_titre_$texte"), generer_url_ecrire($objet), '', $libelle, _DIR_PLUGIN_ASSOCIATION_ICONES . $image, 'rien.gif');
    8082}
    8183
  • _plugins_/Association/Associaspip/lang/asso_fr.php

    r59811 r59897  
    249249        'ajouter_membres_au_groupe' => 'Ajouter ces membres au groupe',
    250250        'titre_editer_groupe' => 'Editer le groupe',
     251        'titre_creer_groupe' => 'Cr&eacute;er un groupe',
    251252        'ajouter' => 'Ajouter',
    252253        'exclure' => 'Exclure',
     
    271272        'aide_gerer_autorisations' => 'Pour donner des autorisations, ajouter simplement la personne au groupe ad&eacute;quat. Voir la <a href="http://www.spip-contrib.net/Associaspip#restriction_access">documentation online</a> pour plus de d&eacute;tails.',
    272273        # nom des groupes d'autorisations (par ordre croissant d'id_groupe)
    273         'groupe_1' => 'Edition des droits acc&egrave;s',
    274         'groupe_2' => 'Edition des groupes',
     274        'groupe_1' => 'Editer les droits acc&egrave;s',
     275        'groupe_2' => 'Editer les groupes',
     276        'groupe_3' => 'Voir les groupes',
     277        'groupe_20' => 'Editer le profil de l\'association',
     278        'groupe_21' => 'Voir le profil de l\'association',
     279        'groupe_30' => 'Editer le profil des membres',
     280        'groupe_31' => 'Voir le profil des membres',
    275281# Association (accueil)
    276282        'association_infos_contacts' => 'Profil de l\'association', // information sur l'association (objet, declaration, etc.), ses coordonnees (adresse, numero et email principaux) et les contacts (nom, fonction, numero, email)
  • _plugins_/Association/Associaspip/plugin.xml

    r59811 r59897  
    66        </auteur>
    77        <version>2.1.0</version>
    8         <version_base>59811</version_base>
     8        <version_base>59886</version_base>
    99        <meta>association_metas</meta>
    1010        <etat>dev</etat>
     
    3434        </pipeline>
    3535
    36 
    37 
    38         <pipeline>
    39                 <nom>ajouter_boutons</nom>
    40                 <action>ajouterBoutons</action>
    41         </pipeline>
    42 
    4336        <!-- Ajout automatique de l'auteur edité comme membre -->
    4437        <pipeline>
     
    6558        </pipeline>
    6659
     60        <bouton id="association" parent="naviguer">
     61                <icone>img_pack/annonce.gif</icone>
     62                <titre>Associaspip</titre>     
     63        </bouton>
     64
     65
    6766        <categorie>divers</categorie>
    6867        <necessite id="SPIP" version="[2.1.8;2.1.99]" />
  • _plugins_/Association/Associaspip/prive/boite/lien_page_auteur.html

    r51420 r59897  
    1010</BOUCLE_auteurs>
    1111</B_auteurs>
    12         [(#AUTORISER{associer, adherents})
     12        [(#AUTORISER{editer_membres, association})
    1313                <div class="iconifier">
    1414                        <div class="cadre cadre-r">
  • _plugins_/Association/Associaspip/prive/editer/editer_asso_groupes.html

    r53901 r59897  
    11#FORMULAIRE_EDITER_ASSO_GROUPES{#ENV{id}}
    22
     3[(#ENV{id}|>{0}|oui)
    34#FORMULAIRE_EDITER_MEMBRES_GROUPE{#ENV{id}}
    45
    56#FORMULAIRE_AJOUTER_MEMBRES_GROUPE{#ENV{id}}
     7]
  • _plugins_/Association/Associaspip/prive/exec/configurer_association.html

    r59668 r59897  
    1 [(#AUTORISER{configurer})
     1[(#AUTORISER{editer_profil, association})
    22
    33<!--#hierarchie-->
Note: See TracChangeset for help on using the changeset viewer.