Hallo,
ich benutze Mantis Version 2.4.0
ich habe folgende Einstellungen:
# Turn on Time Tracking accounting
$g_time_tracking_enabled = ON;
ist in der config_inc.php hinterlegt.
Folgendes ist als Konfigurations-Option für ein einzelnes Projekt hinterlegt.
# access level required to view time tracking information
time_tracking_view_threshold int 55
# access level required to add/edit time tracking information
time_tracking_edit_threshold int 55
# access level required to run reports
time_tracking_reporting_threshold int 70
Hierbei ist nun folgendes aufgefallen:
Obwohl es für ein einzelnes Projekt hinterlegt ist, ist es nicht möglich als Manager des Projekts die Zeiterfassung über die Mantis Oberfläche auszugeben. Ich habe herausgefunden, dies funktioniert nur, wenn der Benutzer auch eine Zugangsberechtigung in Mantis als Manager hat. Es wäre für mich sinnvoll, wenn hierbei die Berechtigung auf das Projekt geprüft wird und nicht die globale Zugangsberechtigung.
Gibt es eine Möglichkeit, dass die Zeiterfassung nur für Manager eines Projektes, unabhängig von ihrer globalen Zugangsberechtigung, ausgegeben werden kann?
Freue mich über jede Hilfe, danke im voraus.
Viele Grüße
Zeiterfassung nur für Manager eines Projekts auswertbar
Moderators: Developer, Contributor
Re: Zeiterfassung nur für Manager eines Projekts auswertbar
Habe gerade keine Zeit es selbst auszuprobieren, aber so sollte es funktionieren:
in core/layout_api.php, je nach Version ca. Zeile 808
diese Zeile
ersetzen durch
in core/layout_api.php, je nach Version ca. Zeile 808
diese Zeile
Code: Select all
if( config_get( 'time_tracking_enabled' ) && access_has_global_level( config_get( 'time_tracking_reporting_threshold' ) ) ) {
Code: Select all
if( config_get( 'time_tracking_enabled' ) && access_has_project_level( config_get( 'time_tracking_reporting_threshold' ), $t_current_project ) ) {
Re: Zeiterfassung nur für Manager eines Projekts auswertbar
danke. ich werde das morgen mal testen.
Kann ich dann eine oder (||) abfrage machen, die beide Access Levels prüft? müsste ja funktionieren ich schau morgen einfach mal.
Kann ich dann eine oder (||) abfrage machen, die beide Access Levels prüft? müsste ja funktionieren ich schau morgen einfach mal.
Re: Zeiterfassung nur für Manager eines Projekts auswertbar
Geht natürlich, ich denke aber es ist ein Fehler es zu tun.grisch111 wrote:danke. ich werde das morgen mal testen.
Kann ich dann eine oder (||) abfrage machen, die beide Access Levels prüft? müsste ja funktionieren ich schau morgen einfach mal.
Wenn jemand z.B. global als Manager angelegt ist und außerdem bei einem privaten Projekt P1 als Reporter und bei einem anderen privaten Projekt P2 als
Manager, dann möchte man doch eigentlich nicht, dass er Einblick in die Zeiterfassung des Projektes P1 hat?
Ich muss mir das mal in nächster Zeit in Ruhe anschauen, ich denke es gibt da mindestens noch eine andere Stelle in Mantis wo das derzeit falsch ist.
Re: Zeiterfassung nur für Manager eines Projekts auswertbar
gebe ich dir Recht. Am besten ist wohl ausschließlich die projektbezogene Lösung.
Danke schonmal, vielleicht kann man das tatsächlich für kommende Mantis Versionen anpassen.
Soweit mir bisher aufgefallen ist bei due_date_update_threshold int 70; wird beim Verändern der Zeiterfassung auch die globale Zugangsberechtigung geprüft. Wenn mir noch mehr auffällt schreibe ich es hier rein.
Danke schonmal, vielleicht kann man das tatsächlich für kommende Mantis Versionen anpassen.
Soweit mir bisher aufgefallen ist bei due_date_update_threshold int 70; wird beim Verändern der Zeiterfassung auch die globale Zugangsberechtigung geprüft. Wenn mir noch mehr auffällt schreibe ich es hier rein.
Re: Zeiterfassung nur für Manager eines Projekts auswertbar
Habe ich vor, ist allerdings nur ein Punkt von vielen auf meiner stetig wachsenden Mantis Todo Liste.grisch111 wrote:vielleicht kann man das tatsächlich für kommende Mantis Versionen anpassen.
Re: Zeiterfassung nur für Manager eines Projekts auswertbar
Also deine Codeänderung habe ich getestet, funktioniert danke.
Bei Fälligkeitsdatum will ich es gerne genauso machen, aber da muss ich ja dann einige Dateien verändern, wie die Suche gezeigt hat... gibt es für das Fälligkeitsdatum beim Erstellen von Tickets keine Konfigurations-Option?
Ich habe nur
#$g_due_date_update_threshold = DEVELOPER; -> also bearbeiten
#$g_due_date_view_threshold = VIEWER; -> nur die Sichtbarkeit des Fälligkeitsdatums im Ticket, ist das korrekt?
gefunden. Hier will ich, dass der Developer ein Ticket mit Fälligkeitsdatum anlegen darf, aber nur der Manager das Fälligkeitsdatum ändern kann. Geht das ohne Codeanpassung? Oder muss ich da doch mal einfach bissche die Dateien verändern und testen?
Bei Fälligkeitsdatum will ich es gerne genauso machen, aber da muss ich ja dann einige Dateien verändern, wie die Suche gezeigt hat... gibt es für das Fälligkeitsdatum beim Erstellen von Tickets keine Konfigurations-Option?
Ich habe nur
#$g_due_date_update_threshold = DEVELOPER; -> also bearbeiten
#$g_due_date_view_threshold = VIEWER; -> nur die Sichtbarkeit des Fälligkeitsdatums im Ticket, ist das korrekt?
gefunden. Hier will ich, dass der Developer ein Ticket mit Fälligkeitsdatum anlegen darf, aber nur der Manager das Fälligkeitsdatum ändern kann. Geht das ohne Codeanpassung? Oder muss ich da doch mal einfach bissche die Dateien verändern und testen?
Re: Zeiterfassung nur für Manager eines Projekts auswertbar
Das Vorgehen Ist fragwürdig, auch wenn es der typischen Vorgehensweise einer Manager-Rolle aus den 80-90ern entspricht.grisch111 wrote:Hier will ich, dass der Developer ein Ticket mit Fälligkeitsdatum anlegen darf, aber nur der Manager das Fälligkeitsdatum ändern kann.
Der Manager sollte keine Änderung im Fälligkeitsdatum durchführen dürfen, ohne das mit dem Developer besprochen zu haben, sonst landet hier gerne mal mal ein unrealistisches Wunschdatum des Managers.
Folge: Im besten Fall merkt der Developer, dass der Manager sein Wunschdatum eingetragen hat und verbringt dann unnötige Zeit damit dem Manager zu erklären, warum das nicht machbar ist.
Im schlechtesten Fall merkt der Developer nichts, der Manager merkt zu einem späten Zeitpunkt, dass das Wunschdatum nicht eingehalten werden kann und dann herrscht "gute Stimmung".
Nein, man müsste zunächst eine neue Option einführen, etwas in der Art $g_due_date_create_threshold = DEVELOPER;grisch111 wrote:Geht das ohne Codeanpassung?
und danach $g_due_date_update_threshold = MANAGER; setzen.
Re: Zeiterfassung nur für Manager eines Projekts auswertbar
Ursprüngliches Thema wird hier weiterverfolgt https://www.mantisbt.org/bugs/view.php?id=23191