NEW Can add filter actiontype and notactiontype on event ical export

This commit is contained in:
Laurent Destailleur 2018-02-28 20:06:28 +01:00
parent 7d42ceab20
commit f545d2a134
4 changed files with 19 additions and 12 deletions

View File

@ -177,7 +177,8 @@ $message=$langs->trans("AgendaUrlOptions1",$user->login,$user->login).'<br>';
$message.=$langs->trans("AgendaUrlOptions3",$user->login,$user->login).'<br>'; $message.=$langs->trans("AgendaUrlOptions3",$user->login,$user->login).'<br>';
$message.=$langs->trans("AgendaUrlOptionsNotAdmin",$user->login,$user->login).'<br>'; $message.=$langs->trans("AgendaUrlOptionsNotAdmin",$user->login,$user->login).'<br>';
$message.=$langs->trans("AgendaUrlOptions4",$user->login,$user->login).'<br>'; $message.=$langs->trans("AgendaUrlOptions4",$user->login,$user->login).'<br>';
$message.=$langs->trans("AgendaUrlOptionsProject",$user->login,$user->login); $message.=$langs->trans("AgendaUrlOptionsProject",$user->login,$user->login).'<br>';
$message.=$langs->trans("AgendaUrlOptionsNotAutoEvent",'systemauto','systemauto').'<br>';
print info_admin($message); print info_admin($message);

View File

@ -1329,7 +1329,7 @@ class ActionComm extends CommonObject
* @param string $type 'event' or 'journal' * @param string $type 'event' or 'journal'
* @param int $cachedelay Do not rebuild file if date older than cachedelay seconds * @param int $cachedelay Do not rebuild file if date older than cachedelay seconds
* @param string $filename Force filename * @param string $filename Force filename
* @param array $filters Array of filters * @param array $filters Array of filters. Exemple array('notolderthan'=>99, 'year'=>..., 'idfrom'=>..., 'notactiontype'=>'systemauto', 'project'=>123, ...)
* @return int <0 if error, nb of events in new file if ok * @return int <0 if error, nb of events in new file if ok
*/ */
function build_exportfile($format,$type,$cachedelay,$filename,$filters) function build_exportfile($format,$type,$cachedelay,$filename,$filters)
@ -1410,6 +1410,8 @@ class ActionComm extends CommonObject
if ($key == 'idfrom') $sql.=" AND a.id >= ".(is_numeric($value)?$value:0); if ($key == 'idfrom') $sql.=" AND a.id >= ".(is_numeric($value)?$value:0);
if ($key == 'idto') $sql.=" AND a.id <= ".(is_numeric($value)?$value:0); if ($key == 'idto') $sql.=" AND a.id <= ".(is_numeric($value)?$value:0);
if ($key == 'project') $sql.=" AND a.fk_project=".(is_numeric($value)?$value:0); if ($key == 'project') $sql.=" AND a.fk_project=".(is_numeric($value)?$value:0);
if ($key == 'actiontype') $sql.=" AND c.type = '".$this->db->escape($value)."'";
if ($key == 'notactiontype') $sql.=" AND c.type <> '".$this->db->escape($value)."'";
// We must filter on assignement table // We must filter on assignement table
if ($key == 'logint') $sql.= " AND ar.fk_actioncomm = a.id AND ar.element_type='user'"; if ($key == 'logint') $sql.= " AND ar.fk_actioncomm = a.id AND ar.element_type='user'";
if ($key == 'logina') if ($key == 'logina')

View File

@ -98,6 +98,7 @@ AgendaUrlOptions3=<b>logina=%s</b> to restrict output to actions owned by a user
AgendaUrlOptionsNotAdmin=<b>logina=!%s</b> to restrict output to actions not owned by user <b>%s</b>. AgendaUrlOptionsNotAdmin=<b>logina=!%s</b> to restrict output to actions not owned by user <b>%s</b>.
AgendaUrlOptions4=<b>logint=%s</b> to restrict output to actions assigned to user <b>%s</b> (owner and others). AgendaUrlOptions4=<b>logint=%s</b> to restrict output to actions assigned to user <b>%s</b> (owner and others).
AgendaUrlOptionsProject=<b>project=__PROJECT_ID__</b> to restrict output to actions linked to project <b>__PROJECT_ID__</b>. AgendaUrlOptionsProject=<b>project=__PROJECT_ID__</b> to restrict output to actions linked to project <b>__PROJECT_ID__</b>.
AgendaUrlOptionsNotAutoEvent=<b>notactiontype=systemauto</b> to exclude automatic event.
AgendaShowBirthdayEvents=Show birthdays of contacts AgendaShowBirthdayEvents=Show birthdays of contacts
AgendaHideBirthdayEvents=Hide birthdays of contacts AgendaHideBirthdayEvents=Hide birthdays of contacts
Busy=Busy Busy=Busy

View File

@ -76,6 +76,8 @@ if (GETPOST("idto",'int')) $filters['idto']=GETPOST("idto",'int');
if (GETPOST("project",'apha')) $filters['project']=GETPOST("project",'apha'); if (GETPOST("project",'apha')) $filters['project']=GETPOST("project",'apha');
if (GETPOST("logina",'apha')) $filters['logina']=GETPOST("logina",'apha'); if (GETPOST("logina",'apha')) $filters['logina']=GETPOST("logina",'apha');
if (GETPOST("logint",'apha')) $filters['logint']=GETPOST("logint",'apha'); if (GETPOST("logint",'apha')) $filters['logint']=GETPOST("logint",'apha');
if (GETPOST("notactiontype",'apha')) $filters['notactiontype']=GETPOST("notactiontype",'apha');
if (GETPOST("actiontype",'apha')) $filters['actiontype']=GETPOST("actiontype",'apha');
if (GETPOST("notolderthan",'int')) $filters['notolderthan']=GETPOST("notolderthan","int"); if (GETPOST("notolderthan",'int')) $filters['notolderthan']=GETPOST("notolderthan","int");
else $filters['notolderthan']=$conf->global->MAIN_AGENDA_EXPORT_PAST_DELAY; else $filters['notolderthan']=$conf->global->MAIN_AGENDA_EXPORT_PAST_DELAY;
@ -116,6 +118,7 @@ foreach ($filters as $key => $value)
if ($key == 'project') $filename.='-project'.$value; if ($key == 'project') $filename.='-project'.$value;
if ($key == 'logina') $filename.='-logina'.$value; // Author if ($key == 'logina') $filename.='-logina'.$value; // Author
if ($key == 'logint') $filename.='-logint'.$value; // Assigned to if ($key == 'logint') $filename.='-logint'.$value; // Assigned to
if ($key == 'notactiontype') $filename.='-notactiontype'.$value;
} }
// Add extension // Add extension
if ($format == 'vcal') { $shortfilename.='.vcs'; $filename.='.vcs'; } if ($format == 'vcal') { $shortfilename.='.vcs'; $filename.='.vcs'; }