New: Gestion des permissions du module mailing

This commit is contained in:
Laurent Destailleur 2005-04-06 23:49:06 +00:00
parent 5a3bd72221
commit 95ac9bbb91
7 changed files with 68 additions and 29 deletions

View File

@ -31,8 +31,13 @@ require("./pre.inc.php");
$langs->load("mails");
$dir=DOL_DOCUMENT_ROOT."/includes/modules/mailings";
$user->getrights("mailing");
if (! $user->rights->mailing->lire || $user->societe_id > 0)
accessforbidden();
$dir=DOL_DOCUMENT_ROOT."/includes/modules/mailings";
$mesg = '';

View File

@ -21,7 +21,8 @@
*
*/
/** \file htdocs/comm/mailing/fiche.php
/**
\file htdocs/comm/mailing/fiche.php
\brief Fiche mailing, onglet général
\version $Revision$
*/
@ -30,6 +31,12 @@ require("./pre.inc.php");
$langs->load("mails");
$user->getrights("mailing");
if (! $user->rights->mailing->lire || $user->societe_id > 0)
accessforbidden();
$message = '';
@ -328,7 +335,7 @@ else
{
print "\n\n<div class=\"tabsAction\">\n";
if ($mil->statut == 0)
if ($mil->statut == 0 && $user->rights->mailing->creer)
{
print '<a class="butAction" href="fiche.php?action=edit&amp;id='.$mil->id.'">'.$langs->trans("EditMailing").'</a>';
}
@ -337,17 +344,17 @@ else
print '<a class="butAction" href="fiche.php?action=test&amp;id='.$mil->id.'">'.$langs->trans("TestMailing").'</a>';
if ($mil->statut == 0 && $mil->nbemail > 0)
if ($mil->statut == 0 && $mil->nbemail > 0 && $user->rights->mailing->valider)
{
print '<a class="butAction" href="fiche.php?action=valide&amp;id='.$mil->id.'">'.$langs->trans("ValidMailing").'</a>';
}
if ($mil->statut == 1 && $mil->nbemail > 0)
if ($mil->statut == 1 && $mil->nbemail > 0 && $user->rights->mailing->valider)
{
print '<a class="butAction" href="fiche.php?action=sendall&amp;id='.$mil->id.'">'.$langs->trans("SendMailing").'</a>';
}
if ($mil->statut <= 1)
if ($mil->statut <= 1 && $user->rights->mailing->supprimer)
{
print '<a class="butActionDelete" href="fiche.php?action=delete&amp;id='.$mil->id.'">'.$langs->trans("DeleteMailing").'</a>';
}

View File

@ -30,14 +30,16 @@
require("./pre.inc.php");
if ($user->societe_id > 0)
{
accessforbidden();
}
$langs->load("commercial");
$langs->load("orders");
$user->getrights("mailing");
if (! $user->rights->mailing->lire || $user->societe_id > 0)
accessforbidden();
llxHeader('','Mailing');
/*

View File

@ -21,7 +21,8 @@
*
*/
/** \file htdocs/comm/mailing/pre.inc.php
/**
\file htdocs/comm/mailing/pre.inc.php
\brief Fichier de gestion du menu gauche de l'espace mailing
\version $Revision$
*/
@ -41,9 +42,14 @@ function llxHeader($head = "", $title = "") {
$menu = new Menu();
$menu->add(DOL_URL_ROOT."/comm/mailing/index.php", $langs->trans("Mailings"));
$menu->add_submenu(DOL_URL_ROOT."/comm/mailing/fiche.php?action=create", $langs->trans("NewMailing"));
if ($user->rights->mailing->lire) {
$menu->add(DOL_URL_ROOT."/comm/mailing/index.php", $langs->trans("Mailings"));
}
if ($user->rights->mailing->creer) {
$menu->add_submenu(DOL_URL_ROOT."/comm/mailing/fiche.php?action=create", $langs->trans("NewMailing"));
}
left_menu($menu->liste);
}

View File

@ -20,7 +20,8 @@
*
*/
/** \file htdocs/includes/menus/barre_left/eldy.php
/**
\file htdocs/includes/menus/barre_left/eldy.php
\brief Gestionnaire du menu du gauche Eldy
\version $Revision$
@ -33,7 +34,8 @@
*/
/** \class MenuLeft
/**
\class MenuLeft
\brief Classe permettant la gestion du menu du gauche Eldy
*/
@ -448,13 +450,13 @@ class MenuLeft {
*/
if ($mainmenu == 'tools') {
$newmenu->add(DOL_URL_ROOT."/comm/mailing/index.php?leftmenu=mailing", $langs->trans("EMailings"));
if($user->admin) // \todo en attendant droits d'un module mailing
if ($conf->mailing->enabled)
{
$langs->load("admin");
$langs->load("mails");
$newmenu->add_submenu(DOL_URL_ROOT."/comm/mailing/fiche.php?leftmenu=mailing&action=create", $langs->trans("NewMailing"));
$newmenu->add(DOL_URL_ROOT."/comm/mailing/index.php?leftmenu=mailing", $langs->trans("EMailings"),0,$user->rights->mailing->lire);
$newmenu->add_submenu(DOL_URL_ROOT."/comm/mailing/fiche.php?leftmenu=mailing&action=create", $langs->trans("NewMailing"),1,$user->rights->mailing->creer);
}
if ($conf->projet->enabled)

View File

@ -1,5 +1,6 @@
<?php
/* Copyright (C) 2004-2005 Rodolphe Quiedeville <rodolphe@quiedeville.org>
/* Copyright (C) 2005 Rodolphe Quiedeville <rodolphe@quiedeville.org>
* Copyright (C) 2005 Laurent Destailleur <eldy@users.sourceforge.net>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@ -22,13 +23,13 @@
/**
\defgroup mailing Module mailing
\brief Module pour gérer la téléphonie
\brief Module pour gérer les mailings
*/
/**
\file htdocs/includes/modules/modMailing.class.php
\ingroup mailing
\brief Fichier de description et activation du module de Téléphonie
\brief Fichier de description et activation du module Mailing
*/
include_once "DolibarrModules.class.php";
@ -51,13 +52,13 @@ class modMailing extends DolibarrModules
$this->numero = 22 ;
$this->family = "technic";
$this->name = "Mailing";
$this->description = "Gestion des Mailing";
$this->version = 'experimental'; // 'experimental' or 'dolibarr' or version
$this->name = "Mailings";
$this->description = "Gestion des Mailings";
$this->version = 'dolibarr'; // 'experimental' or 'dolibarr' or version
$this->const_name = "MAIN_MODULE_MAILING";
$this->const_config = MAIN_MODULE_MAILING;
$this->special = 1;
//$this->picto='phoning';
$this->picto='email';
// Dir
$this->dirs = array();
@ -93,10 +94,22 @@ class modMailing extends DolibarrModules
$this->rights[1][4] = 'lire';
$this->rights[2][0] = 222;
$this->rights[2][1] = 'Créer des mailing';
$this->rights[2][1] = 'Créer/modifier les mailings (sujet, destinataires...)';
$this->rights[2][2] = 'w';
$this->rights[2][3] = 0;
$this->rights[2][4] = 'creer';
$this->rights[3][0] = 223;
$this->rights[3][1] = 'Valider les mailings (permet leur envoi)';
$this->rights[3][2] = 'w';
$this->rights[3][3] = 0;
$this->rights[3][4] = 'valider';
$this->rights[4][0] = 229;
$this->rights[4][1] = 'Supprimer les mailings)';
$this->rights[4][2] = 'd';
$this->rights[4][3] = 0;
$this->rights[4][4] = 'supprimer';
return $this->_init($sql);
}

View File

@ -187,6 +187,10 @@ if (defined("MAIN_MODULE_DEPLACEMENT"))
{
$conf->deplacement->enabled=MAIN_MODULE_DEPLACEMENT;
}
if (defined("MAIN_MODULE_MAILING"))
{
$conf->mailing->enabled=MAIN_MODULE_MAILING;
}
if (defined("MAIN_MODULE_EXTERNALRSS"))
{
$conf->externalrss->enabled=MAIN_MODULE_EXTERNALRSS;