diff --git a/htdocs/comm/action/card.php b/htdocs/comm/action/card.php
index 960cddfac27..1997423d3a8 100644
--- a/htdocs/comm/action/card.php
+++ b/htdocs/comm/action/card.php
@@ -287,19 +287,21 @@ if ($action == 'add')
{
unset($_SESSION['assignedtouser']);
+ if ($user->id != $object->ownerid) $moreparam="&usertodo=-1"; // We force to remove filter so created record is visible when going back to per user view.
+
$db->commit();
if (! empty($backtopage))
{
- dol_syslog("Back to ".$backtopage);
- header("Location: ".$backtopage);
+ dol_syslog("Back to ".$backtopage.$moreparam);
+ header("Location: ".$backtopage.$moreparam);
}
elseif($idaction)
{
- header("Location: ".DOL_URL_ROOT.'/comm/action/card.php?id='.$idaction);
+ header("Location: ".DOL_URL_ROOT.'/comm/action/card.php?id='.$idaction.$moreparam);
}
else
{
- header("Location: ".DOL_URL_ROOT.'/comm/action/index.php');
+ header("Location: ".DOL_URL_ROOT.'/comm/action/index.php'.($moreparam?'?'.$moreparam:''));
}
exit;
}
diff --git a/htdocs/comm/action/peruser.php b/htdocs/comm/action/peruser.php
index 303ca3dc2a3..0e50e75451e 100644
--- a/htdocs/comm/action/peruser.php
+++ b/htdocs/comm/action/peruser.php
@@ -566,19 +566,50 @@ echo "\n";
$usernames = array(); //init
$usernamesid = array();
/* Use this to have list of users only if users have events */
-foreach ($eventarray as $daykey => $notused)
+if (! empty($conf->global->AGENDA_SHOWOWNERONLY_ONPERUSERVIEW))
{
- // Get all assigned users for each event
- foreach ($eventarray[$daykey] as $index => $event)
- {
- $event->fetch_userassigned();
- $listofuserid=$event->userassigned;
- foreach($listofuserid as $userid => $tmp)
- {
- if (! in_array($userid, $usernamesid)) $usernamesid[$userid] = $userid;
- }
- }
+ foreach ($eventarray as $daykey => $notused)
+ {
+ // Get all assigned users for each event
+ foreach ($eventarray[$daykey] as $index => $event)
+ {
+ $event->fetch_userassigned();
+ $listofuserid=$event->userassigned;
+ foreach($listofuserid as $userid => $tmp)
+ {
+ if (! in_array($userid, $usernamesid)) $usernamesid[$userid] = $userid;
+ }
+ }
+ }
}
+/* Use this list to have for all users */
+else
+{
+ $sql = "SELECT u.rowid, u.lastname as lastname, u.firstname, u.statut, u.login, u.admin, u.entity";
+ $sql.= " FROM ".MAIN_DB_PREFIX."user as u";
+ if ($usergroup > 0) $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."usergroup_user as ug ON u.rowid = ug.fk_user";
+ $sql.= " WHERE u.entity IN (".getEntity('user').")";
+ if ($usergroup > 0) $sql.= " AND ug.fk_usergroup = ".$usergroup;
+ if (GETPOST("usertodo","int",3) > 0) $sql.=" AND u.rowid = ".GETPOST("usertodo","int",3);
+ //print $sql;
+ $resql=$db->query($sql);
+ if ($resql)
+ {
+ $num = $db->num_rows($resql);
+ $i = 0;
+ if ($num)
+ {
+ while ($i < $num)
+ {
+ $obj = $db->fetch_object($resql);
+ $usernamesid[$obj->rowid]=$obj->rowid;
+ $i++;
+ }
+ }
+ }
+ else dol_print_error($db);
+}
+//var_dump($usernamesid);
foreach($usernamesid as $id)
{
$tmpuser=new User($db);
@@ -608,11 +639,13 @@ else
// Load array of colors by type
$colorsbytype=array();
-$sql="SELECT code, color FROM ".MAIN_DB_PREFIX."c_actioncomm";
+$labelbytype=array();
+$sql="SELECT code, color, libelle FROM ".MAIN_DB_PREFIX."c_actioncomm";
$resql=$db->query($sql);
while ($obj = $db->fetch_object($resql))
{
$colorsbytype[$obj->code]=$obj->color;
+ $labelbytype[$obj->code]=$obj->libelle;
}
// Loop on each user to show calendar
@@ -658,6 +691,27 @@ foreach ($usernames as $username)
echo "\n";
+
+if (! empty($conf->global->AGENDA_USE_EVENT_TYPE))
+{
+ $langs->load("commercial");
+ print '
'.$langs->trans("Legend").':
';
+ foreach($colorsbytype as $code => $color)
+ {
+ if ($color)
+ {
+ print '