diff --git a/htdocs/comm/action/fiche.php b/htdocs/comm/action/fiche.php
index 0c348058288..0ff75aa3498 100644
--- a/htdocs/comm/action/fiche.php
+++ b/htdocs/comm/action/fiche.php
@@ -294,8 +294,8 @@ if ($_REQUEST["action"] == 'confirm_delete' && $_REQUEST["confirm"] == 'yes')
$actioncomm = new ActionComm($db);
$actioncomm->fetch($_GET["id"]);
- if ($user->rights->agenda->myactions->create
- || $user->rights->agenda->allactions->create)
+ if ($user->rights->agenda->myactions->delete
+ || $user->rights->agenda->allactions->delete)
{
$result=$actioncomm->delete();
@@ -313,7 +313,6 @@ if ($_REQUEST["action"] == 'confirm_delete' && $_REQUEST["confirm"] == 'yes')
/*
* Action mise a jour de l'action
- *
*/
if ($_POST["action"] == 'update')
{
@@ -441,11 +440,9 @@ llxHeader('',$langs->trans("Agenda"),$help_url);
$html = new Form($db);
$htmlactions = new FormActions($db);
-/* ************************************************************************** */
-/* */
-/* Affichage fiche en mode creation */
-/* */
-/* ************************************************************************** */
+/*
+ * Affichage fiche en mode creation
+ */
if ($_GET["action"] == 'create')
{
@@ -861,7 +858,7 @@ if ($_GET["id"])
print $act->priority;
print '';
- // Objet lie
+ // Linked object
if ($act->objet_url)
{
print '
| '.$langs->trans("LinkedObject").' | ';
@@ -879,7 +876,7 @@ if ($_GET["id"])
print "\n";
- /**
+ /*
* Barre d'actions
*
*/
@@ -888,7 +885,9 @@ if ($_GET["id"])
if ($_GET["action"] != 'edit')
{
- if ($user->rights->agenda->allactions->create)
+ if ($user->rights->agenda->allactions->modify ||
+ (($act->author->id == $user->id && $user->rights->agenda->myactions->modify) ||
+ ($act->usertodo->id == $user->id && $user->rights->agenda->myactions->modify)))
{
print ''.$langs->trans("Modify").'';
}
@@ -897,7 +896,9 @@ if ($_GET["id"])
print ''.$langs->trans("Modify").'';
}
- if ($user->rights->agenda->allactions->create)
+ if ($user->rights->agenda->allactions->delete ||
+ (($act->author->id == $user->id && $user->rights->agenda->myactions->delete) ||
+ ($act->usertodo->id == $user->id && $user->rights->agenda->myactions->delete)))
{
print ''.$langs->trans("Delete").'';
}
@@ -916,8 +917,8 @@ llxFooter('$Date$ - $Revision$');
/**
- \brief Ajoute une ligne de tableau a 2 colonnes pour avoir l'option synchro calendrier
- \return int Retourne le nombre de lignes ajoutees
+ * \brief Ajoute une ligne de tableau a 2 colonnes pour avoir l'option synchro calendrier
+ * \return int Retourne le nombre de lignes ajoutees
*/
function add_row_for_calendar_link()
{
diff --git a/htdocs/includes/modules/modAgenda.class.php b/htdocs/includes/modules/modAgenda.class.php
index 2cc1b4c777a..27a72c57933 100644
--- a/htdocs/includes/modules/modAgenda.class.php
+++ b/htdocs/includes/modules/modAgenda.class.php
@@ -109,14 +109,22 @@ class modAgenda extends DolibarrModules
$r++;
$this->rights[$r][0] = 2402;
- $this->rights[$r][1] = 'Create/modify/delete actions/tasks linked to his account';
+ $this->rights[$r][1] = 'Create/delete actions/tasks linked to his account';
$this->rights[$r][2] = 'w';
$this->rights[$r][3] = 0;
$this->rights[$r][4] = 'myactions';
$this->rights[$r][5] = 'create';
$r++;
-
+
$this->rights[$r][0] = 2403;
+ $this->rights[$r][1] = 'Modify actions/tasks linked to his account';
+ $this->rights[$r][2] = 'w';
+ $this->rights[$r][3] = 0;
+ $this->rights[$r][4] = 'myactions';
+ $this->rights[$r][5] = 'modify';
+ $r++;
+
+ $this->rights[$r][0] = 2411;
$this->rights[$r][1] = 'Read actions/tasks of others';
$this->rights[$r][2] = 'r';
$this->rights[$r][3] = 0;
@@ -124,13 +132,21 @@ class modAgenda extends DolibarrModules
$this->rights[$r][5] = 'read';
$r++;
- $this->rights[$r][0] = 2405;
- $this->rights[$r][1] = 'Create/modify/delete actions/tasks of others';
+ $this->rights[$r][0] = 2412;
+ $this->rights[$r][1] = 'Create/delete actions/tasks of others';
$this->rights[$r][2] = 'w';
$this->rights[$r][3] = 0;
$this->rights[$r][4] = 'allactions';
$this->rights[$r][5] = 'create';
$r++;
+
+ $this->rights[$r][0] = 2413;
+ $this->rights[$r][1] = 'Modify actions/tasks of others';
+ $this->rights[$r][2] = 'w';
+ $this->rights[$r][3] = 0;
+ $this->rights[$r][4] = 'allactions';
+ $this->rights[$r][5] = 'modify';
+ $r++;
// Main menu entries
$this->menu = array(); // List of menus to add
diff --git a/htdocs/langs/en_US/admin.lang b/htdocs/langs/en_US/admin.lang
index d8a7bf616d9..348a5e34f50 100644
--- a/htdocs/langs/en_US/admin.lang
+++ b/htdocs/langs/en_US/admin.lang
@@ -548,9 +548,11 @@ Permission1251=Run mass imports of external data into database (data load)
Permission1321=Export customer invoices, attributes and payments
Permission1421=Export customer orders and attributes
Permission2401=Read actions (events or tasks) linked to his account
-Permission2402=Create/modify/delete actions (events or tasks) linked to his account
-Permission2403=Read actions (events or tasks) of others
-Permission2405=Create/modify/delete actions (events or tasks) of others
+Permission2402=Create/delete actions (events or tasks) linked to his account
+Permission2403=Modify actions (events or tasks) linked to his account
+Permission2411=Read actions (events or tasks) of others
+Permission2412=Create/delete actions (events or tasks) of others
+Permission2413=Modify actions (events or tasks) of others
Permission2500=Read documents
Permission2501=Submit or delete documents
Permission2515=Setup documents directories
diff --git a/htdocs/langs/fr_FR/admin.lang b/htdocs/langs/fr_FR/admin.lang
index 887e826f3ae..839b30c5550 100644
--- a/htdocs/langs/fr_FR/admin.lang
+++ b/htdocs/langs/fr_FR/admin.lang
@@ -548,9 +548,11 @@ Permission1251 = Lancer des imports de masse dans la base (chargement de donnée
Permission1321 = Exporter les factures clients, attributs et règlements
Permission1421 = Exporter les commandes clients et attributs
Permission2401 = Lire les actions (évènements ou tâches) liées à son compte
-Permission2402 = Creer/modifier/supprimer les actions (évènements ou tâches) liées à son compte
-Permission2403 = Lire les actions (évènements ou tâches) des autres
-Permission2405 = Creer/modifier/supprimer les actions (évènements ou tâches) pour les autres
+Permission2402 = Creer/supprimer les actions (évènements ou tâches) liées à son compte
+Permission2403 = Modifier les actions (évènements ou tâches) liées à son compte
+Permission2411 = Lire les actions (évènements ou tâches) des autres
+Permission2412 = Creer/supprimer les actions (évènements ou tâches) pour les autres
+Permission2413 = Modifier les actions (évènements ou tâches) pour les autres
Permission2500 = Consulter les documents
Permission2501 = Soumettre ou supprimer des documents
Permission2515 = Administrer les rubriques de documents