mirror of
https://codeberg.org/forgejo/forgejo.git
synced 2024-11-09 03:11:51 +01:00
Refactor: TotalTimest return seconds (#25370)
so template/browser can deal with string format --- *Sponsored by Kithara Software GmbH*
This commit is contained in:
parent
bd2e3226be
commit
749802c922
3 changed files with 11 additions and 11 deletions
|
@ -199,8 +199,8 @@ func addTime(ctx context.Context, user *user_model.User, issue *Issue, amount in
|
||||||
return tt, db.Insert(ctx, tt)
|
return tt, db.Insert(ctx, tt)
|
||||||
}
|
}
|
||||||
|
|
||||||
// TotalTimes returns the spent time for each user by an issue
|
// TotalTimes returns the spent time in seconds for each user by an issue
|
||||||
func TotalTimes(options *FindTrackedTimesOptions) (map[*user_model.User]string, error) {
|
func TotalTimes(options *FindTrackedTimesOptions) (map[*user_model.User]int64, error) {
|
||||||
trackedTimes, err := GetTrackedTimes(db.DefaultContext, options)
|
trackedTimes, err := GetTrackedTimes(db.DefaultContext, options)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
|
@ -211,7 +211,7 @@ func TotalTimes(options *FindTrackedTimesOptions) (map[*user_model.User]string,
|
||||||
totalTimesByUser[t.UserID] += t.Time
|
totalTimesByUser[t.UserID] += t.Time
|
||||||
}
|
}
|
||||||
|
|
||||||
totalTimes := make(map[*user_model.User]string)
|
totalTimes := make(map[*user_model.User]int64)
|
||||||
// Fetching User and making time human readable
|
// Fetching User and making time human readable
|
||||||
for userID, total := range totalTimesByUser {
|
for userID, total := range totalTimesByUser {
|
||||||
user, err := user_model.GetUserByID(db.DefaultContext, userID)
|
user, err := user_model.GetUserByID(db.DefaultContext, userID)
|
||||||
|
@ -221,7 +221,7 @@ func TotalTimes(options *FindTrackedTimesOptions) (map[*user_model.User]string,
|
||||||
}
|
}
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
totalTimes[user] = util.SecToTime(total)
|
totalTimes[user] = total
|
||||||
}
|
}
|
||||||
return totalTimes, nil
|
return totalTimes, nil
|
||||||
}
|
}
|
||||||
|
|
|
@ -86,8 +86,8 @@ func TestTotalTimes(t *testing.T) {
|
||||||
assert.NoError(t, err)
|
assert.NoError(t, err)
|
||||||
assert.Len(t, total, 1)
|
assert.Len(t, total, 1)
|
||||||
for user, time := range total {
|
for user, time := range total {
|
||||||
assert.Equal(t, int64(1), user.ID)
|
assert.EqualValues(t, 1, user.ID)
|
||||||
assert.Equal(t, "6 minutes 40 seconds", time)
|
assert.EqualValues(t, 400, time)
|
||||||
}
|
}
|
||||||
|
|
||||||
total, err = issues_model.TotalTimes(&issues_model.FindTrackedTimesOptions{IssueID: 2})
|
total, err = issues_model.TotalTimes(&issues_model.FindTrackedTimesOptions{IssueID: 2})
|
||||||
|
@ -95,9 +95,9 @@ func TestTotalTimes(t *testing.T) {
|
||||||
assert.Len(t, total, 2)
|
assert.Len(t, total, 2)
|
||||||
for user, time := range total {
|
for user, time := range total {
|
||||||
if user.ID == 2 {
|
if user.ID == 2 {
|
||||||
assert.Equal(t, "1 hour 1 minute", time)
|
assert.EqualValues(t, 3662, time)
|
||||||
} else if user.ID == 1 {
|
} else if user.ID == 1 {
|
||||||
assert.Equal(t, "20 seconds", time)
|
assert.EqualValues(t, 20, time)
|
||||||
} else {
|
} else {
|
||||||
assert.Error(t, assert.AnError)
|
assert.Error(t, assert.AnError)
|
||||||
}
|
}
|
||||||
|
@ -107,8 +107,8 @@ func TestTotalTimes(t *testing.T) {
|
||||||
assert.NoError(t, err)
|
assert.NoError(t, err)
|
||||||
assert.Len(t, total, 1)
|
assert.Len(t, total, 1)
|
||||||
for user, time := range total {
|
for user, time := range total {
|
||||||
assert.Equal(t, int64(2), user.ID)
|
assert.EqualValues(t, 2, user.ID)
|
||||||
assert.Equal(t, "1 second", time)
|
assert.EqualValues(t, 1, time)
|
||||||
}
|
}
|
||||||
|
|
||||||
total, err = issues_model.TotalTimes(&issues_model.FindTrackedTimesOptions{IssueID: 4})
|
total, err = issues_model.TotalTimes(&issues_model.FindTrackedTimesOptions{IssueID: 4})
|
||||||
|
|
|
@ -340,7 +340,7 @@
|
||||||
<div class="content">
|
<div class="content">
|
||||||
{{template "shared/user/authorlink" $user}}
|
{{template "shared/user/authorlink" $user}}
|
||||||
<div class="text">
|
<div class="text">
|
||||||
{{$trackedtime}}
|
{{$trackedtime|Sec2Time}}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
Loading…
Reference in a new issue