mirror of
https://github.com/TheAnachronism/docspell.git
synced 2025-06-21 18:08:25 +00:00
Include links to items into mail template
This commit is contained in:
@ -7,15 +7,26 @@ import docspell.common._
|
||||
import docspell.store.queries.QItem
|
||||
import docspell.joex.notify.YamuscaConverter._
|
||||
|
||||
case class MailContext(items: List[MailContext.ItemData], more: Boolean, account: AccountId)
|
||||
case class MailContext(
|
||||
items: List[MailContext.ItemData],
|
||||
more: Boolean,
|
||||
account: AccountId,
|
||||
itemUri: Option[LenientUri]
|
||||
)
|
||||
|
||||
object MailContext {
|
||||
|
||||
def from(items: Vector[QItem.ListItem], max: Int, account: AccountId): MailContext =
|
||||
def from(
|
||||
items: Vector[QItem.ListItem],
|
||||
max: Int,
|
||||
account: AccountId,
|
||||
itemBaseUri: Option[LenientUri]
|
||||
): MailContext =
|
||||
MailContext(
|
||||
items.take(max - 1).map(ItemData.apply).toList.sortBy(_.dueDate),
|
||||
items.sizeCompare(max) >= 0,
|
||||
account
|
||||
account,
|
||||
itemBaseUri
|
||||
)
|
||||
|
||||
case class ItemData(
|
||||
@ -35,7 +46,6 @@ object MailContext {
|
||||
ValueConverter.deriveConverter[ItemData]
|
||||
}
|
||||
|
||||
|
||||
implicit val yamusca: ValueConverter[MailContext] =
|
||||
ValueConverter.deriveConverter[MailContext]
|
||||
|
||||
|
@ -9,12 +9,20 @@ object MailTemplate {
|
||||
|
||||
this is Docspell informing you about due items coming up.
|
||||
|
||||
{{#itemUri}}
|
||||
{{#items}}
|
||||
- [{{name}}]({{itemUri}}/{{id}}), due on *{{dueDate}}*
|
||||
(received on {{date}} via {{source}})
|
||||
{{/items}}
|
||||
{{/itemUri}}
|
||||
{{^itemUri}}
|
||||
{{#items}}
|
||||
- *{{name}}*, due on *{{dueDate}}*
|
||||
(received on {{date}} via {{source}})
|
||||
{{/items}}
|
||||
{{/itemUri}}
|
||||
{{#more}}
|
||||
- ...
|
||||
- (There are more due items, left out for brevity)
|
||||
{{/more}}
|
||||
|
||||
|
||||
|
@ -83,8 +83,9 @@ object NotifyDueItemsTask {
|
||||
args: Args,
|
||||
items: Vector[QItem.ListItem]
|
||||
): F[Mail[F]] = Sync[F].delay {
|
||||
val templateCtx = MailContext.from(items, maxItems.toInt - 1, args.account)
|
||||
val md = MailTemplate.render(templateCtx)
|
||||
val templateCtx =
|
||||
MailContext.from(items, maxItems.toInt, args.account, args.itemDetailUrl)
|
||||
val md = MailTemplate.render(templateCtx)
|
||||
val recp = args.recipients
|
||||
.map(MailAddress.parse)
|
||||
.map {
|
||||
|
Reference in New Issue
Block a user