Fix reprocessing to lookup the last used language

This commit is contained in:
eikek
2021-11-20 01:34:16 +01:00
parent 79c64f957d
commit 20fc9955ba
2 changed files with 17 additions and 4 deletions

View File

@ -22,6 +22,7 @@ import docspell.store.records.RAttachment
import docspell.store.records.RAttachmentSource
import docspell.store.records.RCollective
import docspell.store.records.RItem
import docspell.store.queries.QItem
object ReProcessItem {
type Args = ReProcessItemArgs
@ -131,10 +132,13 @@ object ReProcessItem {
def getLanguage[F[_]: Sync]: Task[F, Args, Language] =
Task { ctx =>
(for {
coll <- OptionT(ctx.store.transact(RCollective.findByItem(ctx.args.itemId)))
lang = coll.language
} yield lang).getOrElse(Language.German)
val lang1 = OptionT(
ctx.store.transact(QItem.getItemLanguage(ctx.args.itemId)).map(_.headOption)
)
val lang2 = OptionT(ctx.store.transact(RCollective.findByItem(ctx.args.itemId)))
.map(_.language)
lang1.orElse(lang2).getOrElse(Language.German)
}
def isLastRetry[F[_]: Sync]: Task[F, Args, Boolean] =