Add undone overdue tasks notification
This commit is contained in:
parent
254e7f2916
commit
2c123d146d
|
@ -20,6 +20,7 @@ import (
|
||||||
"bufio"
|
"bufio"
|
||||||
"strconv"
|
"strconv"
|
||||||
"strings"
|
"strings"
|
||||||
|
"time"
|
||||||
|
|
||||||
"code.vikunja.io/api/pkg/config"
|
"code.vikunja.io/api/pkg/config"
|
||||||
"code.vikunja.io/api/pkg/notifications"
|
"code.vikunja.io/api/pkg/notifications"
|
||||||
|
@ -184,3 +185,29 @@ func (n *TeamMemberAddedNotification) ToDB() interface{} {
|
||||||
func (n *TeamMemberAddedNotification) Name() string {
|
func (n *TeamMemberAddedNotification) Name() string {
|
||||||
return "team.member.added"
|
return "team.member.added"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// UndoneTaskOverdueNotification represents a UndoneTaskOverdueNotification notification
|
||||||
|
type UndoneTaskOverdueNotification struct {
|
||||||
|
User *user.User
|
||||||
|
Task *Task
|
||||||
|
}
|
||||||
|
|
||||||
|
// ToMail returns the mail notification for UndoneTaskOverdueNotification
|
||||||
|
func (n *UndoneTaskOverdueNotification) ToMail() *notifications.Mail {
|
||||||
|
return notifications.NewMail().
|
||||||
|
Subject(`Task "`+n.Task.Title+`" is overdue`).
|
||||||
|
Greeting("Hi "+n.User.GetName()+",").
|
||||||
|
Line(`This is a friendly reminder of the task "`+n.Task.Title+`" which is overdue since `+n.Task.DueDate.Sub(time.Now()).String()+` and not yet done.`).
|
||||||
|
Action("Open Task", config.ServiceFrontendurl.GetString()+"tasks/"+strconv.FormatInt(n.Task.ID, 10)).
|
||||||
|
Line("Have a nice day!")
|
||||||
|
}
|
||||||
|
|
||||||
|
// ToDB returns the UndoneTaskOverdueNotification notification in a format which can be saved in the db
|
||||||
|
func (n *UndoneTaskOverdueNotification) ToDB() interface{} {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
// Name returns the name of the notification
|
||||||
|
func (n *UndoneTaskOverdueNotification) Name() string {
|
||||||
|
return "task.undone.overdue"
|
||||||
|
}
|
||||||
|
|
|
@ -77,7 +77,7 @@ func RegisterOverdueReminderCron() {
|
||||||
log.Debugf("[Undone Overdue Tasks Reminder] Sending reminders to %d users", len(users))
|
log.Debugf("[Undone Overdue Tasks Reminder] Sending reminders to %d users", len(users))
|
||||||
|
|
||||||
for _, u := range users {
|
for _, u := range users {
|
||||||
n := &ReminderDueNotification{
|
n := &UndoneTaskOverdueNotification{
|
||||||
User: u.User,
|
User: u.User,
|
||||||
Task: u.Task,
|
Task: u.Task,
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue