mirror of
https://github.com/EGroupware/egroupware.git
synced 2024-12-27 00:58:55 +01:00
added new filter for projects
This commit is contained in:
parent
8db94f2471
commit
051b00b199
@ -1413,4 +1413,26 @@ class infolog_bo
|
|||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
/**
|
||||||
|
* returns array with relation link_id and info_id (necessary for project-selection)
|
||||||
|
*
|
||||||
|
* @param int $pm_id ID of selected project
|
||||||
|
* @return array containing link_id and info_id
|
||||||
|
*/
|
||||||
|
function get_pm_infolog_links($pm_id=0)
|
||||||
|
{
|
||||||
|
if($pm_id && isset($GLOBALS['egw_info']['user']['apps']['projectmanager']))
|
||||||
|
{
|
||||||
|
$pm_ids = ExecMethod('projectmanager.projectmanager_bo.children',$pm_id);
|
||||||
|
$pm_ids[] = $pm_id;
|
||||||
|
$links = solink::get_links('projectmanager',$pm_ids,'infolog'); // solink::get_links not egw_links::get_links!
|
||||||
|
if ($links)
|
||||||
|
{
|
||||||
|
$links = array_unique(call_user_func_array('array_merge',$links));
|
||||||
|
}
|
||||||
|
return $links;
|
||||||
|
}
|
||||||
|
return array();
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -297,6 +297,22 @@ class infolog_ui
|
|||||||
{
|
{
|
||||||
$query['csv_fields'] = $this->csv_export_fields($query['col_filter']['info_type']);
|
$query['csv_fields'] = $this->csv_export_fields($query['col_filter']['info_type']);
|
||||||
}
|
}
|
||||||
|
if ($query['col_filter']['pm_id'])
|
||||||
|
//search for projects (project manager filter)
|
||||||
|
if ((string)$query['col_filter']['pm_id'] != '')
|
||||||
|
{
|
||||||
|
$query['col_filter']['info_id'] = $this->bo->get_pm_infolog_links($query['col_filter']['pm_id']);
|
||||||
|
if (!$query['col_filter']['info_id']) $query['col_filter']['info_id'][] = 0;
|
||||||
|
$project = $query['col_filter']['pm_id'];
|
||||||
|
unset($query['col_filter']['pm_id']);
|
||||||
|
}
|
||||||
|
if ((string)$query['col_filter']['pm_id'] != '' && (string)$query['col_filter']['pm_id'] == '0')
|
||||||
|
{
|
||||||
|
$no_projects = true; //to select later the infologs without any projects
|
||||||
|
$project = $query['col_filter']['pm_id'];
|
||||||
|
unset($query['col_filter']['info_id']);
|
||||||
|
}
|
||||||
|
unset($query['col_filter']['pm_id']);
|
||||||
// check if we have a custom, type-specific template
|
// check if we have a custom, type-specific template
|
||||||
unset($query['template']);
|
unset($query['template']);
|
||||||
unset($query['custom_fields']);
|
unset($query['custom_fields']);
|
||||||
@ -368,8 +384,17 @@ class infolog_ui
|
|||||||
unset($info['info_des']);
|
unset($info['info_des']);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (!$no_projects) //searchfilter for projects
|
||||||
|
{
|
||||||
$rows[] = $info;
|
$rows[] = $info;
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (!$info['pm_id']) $rows[] = $info; //ony if we have no projects linked
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if ($no_projects) $query['total'] = count($rows);
|
||||||
|
unset($no_projects);
|
||||||
unset($links);
|
unset($links);
|
||||||
|
|
||||||
if ($query['cat_id']) $rows['no_cat_id'] = true;
|
if ($query['cat_id']) $rows['no_cat_id'] = true;
|
||||||
@ -422,7 +447,7 @@ class infolog_ui
|
|||||||
}
|
}
|
||||||
// disable filemanager icon, if user has no access to it
|
// disable filemanager icon, if user has no access to it
|
||||||
$readonlys['filemanager/navbar'] = !isset($GLOBALS['egw_info']['user']['apps']['filemanager']);
|
$readonlys['filemanager/navbar'] = !isset($GLOBALS['egw_info']['user']['apps']['filemanager']);
|
||||||
|
$query['col_filter']['pm_id'] = $project; //add project back to the colfilter
|
||||||
return $query['total'];
|
return $query['total'];
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -643,9 +668,11 @@ class infolog_ui
|
|||||||
(($this->prefs['limit_des_lines'] ? $this->prefs['limit_des_lines'] : 5) * 1.35). // dono why em is not real lines
|
(($this->prefs['limit_des_lines'] ? $this->prefs['limit_des_lines'] : 5) * 1.35). // dono why em is not real lines
|
||||||
'em; overflow: auto; }}</style>';
|
'em; overflow: auto; }}</style>';
|
||||||
}
|
}
|
||||||
return $this->tmpl->exec('infolog.infolog_ui.index',$values,array(
|
$sel_options = array(
|
||||||
'info_type' => $this->bo->enums['type'],
|
'info_type' => $this->bo->enums['type'],
|
||||||
),$readonlys,$persist,$return_html ? -1 : 0);
|
'pm_id' => array(lang('No project')),
|
||||||
|
);
|
||||||
|
return $this->tmpl->exec('infolog.infolog_ui.index',$values,$sel_options,$readonlys,$persist,$return_html ? -1 : 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -40,6 +40,7 @@ add timesheet entry infolog de Stundenzettel Eintrag hinzfügen
|
|||||||
add: infolog de Hinzufügen:
|
add: infolog de Hinzufügen:
|
||||||
all infolog de alle
|
all infolog de alle
|
||||||
all links and attachments infolog de alle Verknüpfungen und Anhänge
|
all links and attachments infolog de alle Verknüpfungen und Anhänge
|
||||||
|
all projects infolog de Alle Projekte
|
||||||
allows to set the status of an entry, eg. set a todo to done if it's finished (values depend on entry-typ) infolog de erlaubt den Status eines Eintrags zu setzen, zB. eine Aufgabe auf erledigt wenn sie beendet ist (Werte hängen vom Type des Eintrags ab)
|
allows to set the status of an entry, eg. set a todo to done if it's finished (values depend on entry-typ) infolog de erlaubt den Status eines Eintrags zu setzen, zB. eine Aufgabe auf erledigt wenn sie beendet ist (Werte hängen vom Type des Eintrags ab)
|
||||||
alternatives infolog de Alternativen
|
alternatives infolog de Alternativen
|
||||||
apply the changes infolog de Übernimmt die Änderungen
|
apply the changes infolog de Übernimmt die Änderungen
|
||||||
@ -214,6 +215,7 @@ no details infolog de Keine Details
|
|||||||
no entries found, try again ... infolog de Kein Einträge gefunden, nochmal versuchen ...
|
no entries found, try again ... infolog de Kein Einträge gefunden, nochmal versuchen ...
|
||||||
no filter infolog de kein Filter
|
no filter infolog de kein Filter
|
||||||
no links or attachments infolog de keine Verknüpfungen oder Anhänge
|
no links or attachments infolog de keine Verknüpfungen oder Anhänge
|
||||||
|
no project infolog de Kein Projekt
|
||||||
nonactive infolog de Nicht aktiv
|
nonactive infolog de Nicht aktiv
|
||||||
none infolog de keine
|
none infolog de keine
|
||||||
normal infolog de normal
|
normal infolog de normal
|
||||||
|
@ -40,6 +40,7 @@ add timesheet entry infolog en Add timesheet entry
|
|||||||
add: infolog en Add:
|
add: infolog en Add:
|
||||||
all infolog en All
|
all infolog en All
|
||||||
all links and attachments infolog en all links and attachments
|
all links and attachments infolog en all links and attachments
|
||||||
|
all projects infolog en All projects
|
||||||
allows to set the status of an entry, eg. set a todo to done if it's finished (values depend on entry-typ) infolog en allows to set the status of an entry, eg. set a ToDo to done if it's finished (values depend on entry-type)
|
allows to set the status of an entry, eg. set a todo to done if it's finished (values depend on entry-typ) infolog en allows to set the status of an entry, eg. set a ToDo to done if it's finished (values depend on entry-type)
|
||||||
alternatives infolog en Alternatives
|
alternatives infolog en Alternatives
|
||||||
apply the changes infolog en Apply the changes
|
apply the changes infolog en Apply the changes
|
||||||
@ -214,6 +215,7 @@ no details infolog en no details
|
|||||||
no entries found, try again ... infolog en no entries found, try again ...
|
no entries found, try again ... infolog en no entries found, try again ...
|
||||||
no filter infolog en no Filter
|
no filter infolog en no Filter
|
||||||
no links or attachments infolog en no links or attachments
|
no links or attachments infolog en no links or attachments
|
||||||
|
no project infolog en No project
|
||||||
nonactive infolog en nonactive
|
nonactive infolog en nonactive
|
||||||
none infolog en None
|
none infolog en None
|
||||||
normal infolog en normal
|
normal infolog en normal
|
||||||
|
File diff suppressed because one or more lines are too long
Loading…
Reference in New Issue
Block a user