Page 1 of 1

[RESOLU] Droit d'accès à un pluggin

Posted: 31 Jul 2013, 07:21
by sham73
Bonjour,
J'ai créé un nouveau pluggin dans mantis mais pour l'instant seuls les administrateurs peuvent y avoir accès alors que je voudrais que tout le monde ai accès à ce pluggin. Comment dois-je faire pour donner l'accès à tous les utilisateurs?
Merci d'avance;

Re: Droit d'accès à un pluggin

Posted: 31 Jul 2013, 14:34
by Lapinkiller
Bonjour

Peux tu être plus précis stp, il est difficile sinon de t'aider

Que fait ton plugin ?
Comment les admins y acccèdent ils ?
Les utilisateurs peuvent il tenter d'y accéder mais aurait un message d'erreur ? si oui lequel ?

Re: Droit d'accès à un pluggin

Posted: 31 Jul 2013, 14:57
by sham73
Merci pour la réponse ! :) Et désolée de n'avoir pas été assez précise.

Alors en fait mon pluggin est accessible depuis le menu, j'ai inséré à côté de "administration" un lien ( 'indicateur') vers mon pluggin. Il s'agit d'une page avec des indicateurs de performance. Certains utilisateurs avec le droit d'acces "rapporteur" ne voient pas "indicateurs" donc ils n'ont pas acces à ce pluggin. Les autres utilisateurs (avec les droits d'acces de chef de projet et developpeurs) voient "indicateurs" mais quand ils cliquent dessus, une page presque blanche apparait.

Je ne sais pas comment faire pour que tous les utilisateurs sauf les "rapporteurs" voient la même page.. Est ce que vous avez besoin de détails supplémentaires?

Merci.

Re: Droit d'accès à un pluggin

Posted: 01 Aug 2013, 13:21
by Lapinkiller
Peux tu mettre le bout de code qui gère l'affichage du menu stp

Re: Droit d'accès à un pluggin

Posted: 01 Aug 2013, 16:02
by sham73

Code: Select all

$t_menu_options = array();

if( access_has_global_level( config_get( 'access_indicateurs' ) ) ) { //g_access_indicateurs = DEVELOPER
			$t_menu_options[] = '<a href="' . helper_mantis_url( 'plugin.php?page=Indicateurs/accueil">' ) . lang_get( 'indicateurs' ) . '</a>';
		}

Re: Droit d'accès à un pluggin

Posted: 05 Aug 2013, 06:51
by Lapinkiller
vu ton code c'est normal qu'uniquement les développeurs et gestionnaires voient le menu : "g_access_indicateurs = DEVELOPER"

C'est quoi la page "presque" blanche ?

Re: Droit d'accès à un pluggin

Posted: 05 Aug 2013, 12:12
by sham73
Justement, avec ce code, "indicateurs" apparait pour les admin, les chef de projet et les developpeurs dans le menu. Mais n'apparait pas pour les rapporteurs. Ceci fonctionne, par contre, quand je me rend dans le pluggin avec un compte de développeur, (c'est à dire quand je clique sur "indicateurs") une page blanche apparait avec "accès interdit".

Je ne sais donc pas comment permettre aux developpeurs d'accéder à cette page...?
Merci

Re: Droit d'accès à un pluggin

Posted: 06 Aug 2013, 07:05
by Lapinkiller
tu as une vérification des droits dans ta page de plugin ?

Re: Droit d'accès à un pluggin

Posted: 06 Aug 2013, 09:13
by sham73
Euh je ne sais pas.. Ma page de pluggin est la suivante... Je ne sais pas si c'est cela que tu voulais?

Code: Select all

<?php
class IndicateursPlugin extends MantisPlugin {
    function register() {
        $this->name = 'Indicateurs';    # Proper name of plugin
        $this->description = '';    # Short description of the plugin
        $this->page = '';           # Default plugin page

        $this->version = '1.0';     # Plugin version string
        $this->requires = array(    # Plugin dependencies, array of basename => version pairs
            'MantisCore' => '1.2.0',  #   Should always depend on an appropriate version of MantisBT
            );

        $this->author = '';         # Author/team name
        $this->contact = '';        # Author/team e-mail address
        $this->url = '';            # Support webpage
    }

    function events() {
        return array(
            'EVENT_MAINTENANCE_START' => EVENT_TYPE_EXECUTE
        );
    }

}

Re: Droit d'accès à un pluggin

Posted: 06 Aug 2013, 11:05
by Lapinkiller
non je parle de la page que tu souhaite afficher à tes utilisateurs tu n'as pas que ce fichier dans ton dossier de plugin ?

Re: Droit d'accès à un pluggin

Posted: 06 Aug 2013, 12:19
by sham73
Ah oui j'ai plein de pages mais non je n'ai pas de vérification de droits. Par exemple une de mes pages :

Code: Select all

<?php
  require_once( 'core.php' );
  require_once( 'Period.php' );
  require_once('function.php');
  access_ensure_project_level( config_get( 'view_summary_threshold' ) );

  $f_interval = gpc_get_int( 'interval', 0 );
    $t_today = date( 'Y-m-d' );
  $f_type = gpc_get_int( 'graph_type', 0 );
  $f_show_as_table = gpc_get_bool( 'show_table', FALSE );

    html_page_top1( plugin_lang_get( 'graph_page' ) );
  $t_path = config_get( 'path' );
  if( config_get_global( 'minimal_jscss' ) ) {
    echo '<link rel="stylesheet" type="text/css" href="', helper_mantis_url( 'javascript/min/jscalendar/calendar-blue.css' ), '">' . "\n";
  } else {
    echo '<link rel="stylesheet" type="text/css" href="', helper_mantis_url( 'javascript/dev/jscalendar/calendar-blue.css' ), '">' . "\n";
  }
  
  html_javascript_link( 'jscalendar/calendar.js');
  html_javascript_link( 'jscalendar/lang/calendar-en.js');
  html_javascript_link( 'jscalendar/calendar-setup.js');
    html_page_top2();

    $t_period = new Period();
  $t_period->set_period_from_selector( 'interval' );
    $t_types = array(
        0 => plugin_lang_get( 'select' ),
        2 => plugin_lang_get( 'select_bystatus'),
        3 => plugin_lang_get( 'select_summbystatus'),
        4 => plugin_lang_get( 'select_bycat'),
        6 => plugin_lang_get( 'select_both')
    );

    $t_show = array(
        0 => plugin_lang_get( 'show_as_graph' ),
        1 => plugin_lang_get( 'show_as_table' ),
    );
?>
<?php
custom_menu_indicateurs ( );
echo '<link rel="stylesheet" type="text/css" href="', plugin_file( 'page.css' ), '"/>', '<p class="titre">'. lang_get( 'titre_dysfonctionnement' ) . '</p>';
?>

   <?php if (current_user_get_access_level ( ) == ADMINISTRATOR) { 
      echo '<link rel="stylesheet" type="text/css" href="', plugin_file( 'page.css' ), '"/>', '<p class="lien">'. '<a href="' . helper_mantis_url( 'plugin.php?page=Indicateurs/formulaire_dysfonctionnement">' ) . lang_get( 'ajouter_dysfonctionnement' ) . '</a>'. '</p>';
 } ?>
         
<?php
$table_= 'table_dysfonctionnement';
$icon = 'dysfonctionnement';
custom_tableau($table_digi, $icon); ?>

<?php

    html_page_bottom();

Re: Droit d'accès à un pluggin

Posted: 06 Aug 2013, 12:29
by sham73
Merci beaucoup pour ta réponse; j'ai grâce à toi trouver la solution à mon problème :D. C'était la ligne

Code: Select all

access_ensure_project_level( config_get( 'view_summary_threshold' ) );
qui bloquait l'accès.

Merci de m'avoir aider :)

Re: Droit d'accès à un pluggin

Posted: 07 Aug 2013, 15:08
by Lapinkiller
ravi d'avoir pu t'aiguiller sur la bonne voie :)