1
0
Fork 0
mirror of https://code.sup39.dev/repos/Wqawg synced 2024-12-29 05:04:53 +09:00
vervis/templates/ticket/widget/summary.hamlet
fr33domlover f4a5866dec Very basic support for ticket label colors
- WorkflowField now has a color, it's a simple `Maybe Int` for now. Valid
  values are only 1-4
- That color is used for displaying ticket class params a.k.a labels in ticket
  list view
- Ticket list now also serves a paged OrderedCollection

I tried to use a single SQL query to grab the tickets along with their labels,
but couldn't figure out a way to aggregate tuples/rows into an array (it seems
only single values are supported in Esqueleto). Instead of doing manual SQL or
adding Esqueleto functions, I just switched from 1 query to O(n) queries: Each
ticket has its own query selecting its labels. I guess it's slower, but also,
ticket list is paged now with fixed page size so it's really O(1) ^_^
2020-01-16 10:29:47 +00:00

62 lines
1.6 KiB
Text

$# This file is part of Vervis.
$#
$# Written in 2016, 2019, 2020 by fr33domlover <fr33domlover@riseup.net>.
$#
$# ♡ Copying is an act of love. Please copy, reuse and share.
$#
$# The author(s) have dedicated all copyright and related and neighboring
$# rights to this software to the public domain worldwide. This software is
$# distributed without any warranty.
$#
$# You should have received a copy of the CC0 Public Domain Dedication along
$# with this software. If not, see
$# <http://creativecommons.org/publicdomain/zero/1.0/>.
<span .ticket-status-column>
$case tsStatus ts
$of TSNew
<span .#{cNew}>
$of TSTodo
<span .#{cTodo}>
$of TSClosed
<span .#{cClosed}>
<span .ticket-number-column>
<a href=@{TicketR shr prj $ tsNumber ts}>
#{tsNumber ts}
<span .ticket-date-column>
#{showDate $ tsCreatedAt ts}
<span .ticket-sharer-column>
^{sharerLinkFedW $ tsCreatedBy ts}
<span .ticket-title-column>
<a href=@{TicketR shr prj $ tsNumber ts}>
#{tsTitle ts}
$forall wf <- tsLabels ts
$maybe wfcol <- workflowFieldColor wf
<span .label#{wfcol}>
[#{workflowFieldName wf}]
$nothing
<span .label-nocolor>
[#{workflowFieldName wf}]
<span .ticket-tree-column>
$if tsComments ts > 0
💬
#{tsComments ts}
$maybe params <- mparams
<span .ticket-node-column>
<a href="#node-#{tsNumber ts}" title="Jump to subtree">
$maybe route <- mroute
<a href=@?{(route, params)} title="Move subtree here">
$nothing
<span .ticket-node-column>
<a id="node-#{tsNumber ts}">