mirror of
https://github.com/go-gitea/gitea.git
synced 2025-02-21 00:34:26 +01:00
Dear Gitea team, first of all, thanks for the great work you're doing with this project. I'm planning to introduce Gitea at a client site, and noticed that while there is time recording, there are no project-manager-friendly reports to actually make use of that data, as were also mentioned by others in #4870 #8684 and #13531. Since I had a little time last weekend, I had put together something that I hope to be a useful contribution to this great project (while of course useful for me too). This PR adds a new "Worktime" tab to the Organisation level. There is a date range selector (by default set to the current month), and there are three possible views: - by repository, - by milestone, and - by team member. Happy to receive any feedback! There are several possible future improvements of course (predefined date ranges, charts, a member time sheet, matrix of repos/members, etc) but I hope that even in this relatively simple state this would be useful to lots of people. <img width="1161" alt="Screen Shot 2022-05-25 at 22 12 58" src="https://user-images.githubusercontent.com/118010/170366976-af00c7af-c4f3-4117-86d7-00356d6797a5.png"> Keep up the good work! Kristof --------- Co-authored-by: user <user@kk-git1> Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
41 lines
2.0 KiB
Handlebars
41 lines
2.0 KiB
Handlebars
{{template "base/head" .}}
|
|
<div class="page-content organization times">
|
|
{{template "org/header" .}}
|
|
<div class="ui container">
|
|
<div class="ui grid">
|
|
<div class="three wide column">
|
|
<form class="ui form" method="get">
|
|
<input type="hidden" name="by" value="{{$.WorktimeBy}}">
|
|
<div class="field">
|
|
<label>{{ctx.Locale.Tr "org.worktime.date_range_start"}}</label>
|
|
<input type="date" name="from" value="{{.RangeFrom}}">
|
|
</div>
|
|
<div class="field">
|
|
<label>{{ctx.Locale.Tr "org.worktime.date_range_end"}}</label>
|
|
<input type="date" name="to" value="{{.RangeTo}}">
|
|
</div>
|
|
<button class="ui primary button">{{ctx.Locale.Tr "org.worktime.query"}}</button>
|
|
</form>
|
|
</div>
|
|
<div class="thirteen wide column">
|
|
<div class="ui column">
|
|
<div class="ui compact small menu">
|
|
{{$queryParams := QueryBuild "from" .RangeFrom "to" .RangeTo}}
|
|
<a class="{{Iif .WorktimeByRepos "active"}} item" href="{{$.Org.OrganisationLink}}/worktime?by=repos&{{$queryParams}}">{{svg "octicon-repo"}} {{ctx.Locale.Tr "org.worktime.by_repositories"}}</a>
|
|
<a class="{{Iif .WorktimeByMilestones "active"}} item" href="{{$.Org.OrganisationLink}}/worktime?by=milestones&{{$queryParams}}">{{svg "octicon-milestone"}} {{ctx.Locale.Tr "org.worktime.by_milestones"}}</a>
|
|
<a class="{{Iif .WorktimeByMembers "active"}} item" href="{{$.Org.OrganisationLink}}/worktime?by=members&{{$queryParams}}">{{svg "octicon-people"}} {{ctx.Locale.Tr "org.worktime.by_members"}}</a>
|
|
</div>
|
|
</div>
|
|
{{if .WorktimeByRepos}}
|
|
{{template "org/worktime/table_repos" dict "Org" .Org "WorktimeSumResult" .WorktimeSumResult}}
|
|
{{else if .WorktimeByMilestones}}
|
|
{{template "org/worktime/table_milestones" dict "Org" .Org "WorktimeSumResult" .WorktimeSumResult}}
|
|
{{else if .WorktimeByMembers}}
|
|
{{template "org/worktime/table_members" dict "Org" .Org "WorktimeSumResult" .WorktimeSumResult}}
|
|
{{end}}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
{{template "base/footer" .}}
|