$# This file is part of Vervis.
$#
$# Written in 2016 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/>.

<p>
  <a href=@{TicketEditR shar proj num}>Edit this ticket
<p>
  <form method=POST action=@{TicketR shar proj num}>
    <input type=hidden name=_method value=DELETE>
    <input type=submit value="Delete this ticket">

<p>
  Depended by:

<ul>
  $if null rdeps
    <li>(none)
  $else
    $forall Entity _ t <- rdeps
      <li>
        ^{ticketDepW shar proj t}

<p>
  Depends on:

<ul>
  $if null deps
    <li>(none)
  $else
    $forall Entity _ t <- deps
      <li>
        ^{ticketDepW shar proj t}

<p>
  Created on #{showDate $ ticketCreated ticket} by
  ^{personLinkW author}

$if ticketStatus ticket /= TSClosed
  <p>
    $maybe (assignee, me) <- massignee
      $if me
        Assigned to you.

        <form method=POST action=@{TicketUnclaimR shar proj num}>
          <input type=submit value="Unclaim this ticket">
      $else
        Assigned to ^{personLinkW assignee}.

        <form method=POST action=@{TicketUnassignR shar proj num}>
          <input type=submit value="Unassign this ticket">
    $nothing
      Not assigned.

      <a href=@{ClaimRequestNewR shar proj num}>Ask to have it assigned to you

      or

      <form method=POST action=@{TicketClaimR shar proj num}>
        <input type=submit value="Claim this ticket">

      or

      <a href=@{TicketAssignR shar proj num}>Assign to someone else
      .

<p>
  <a href=@{ClaimRequestsTicketR shar proj num}>Claim requests

<p>
  <a href=@{TicketDepsR shar proj num}>Dependencies

<p>
  <a href=@{TicketReverseDepsR shar proj num}>Dependants

<p>
  Status: #
  $case ticketStatus ticket
    $of TSNew
      Open, new.

      <form method=POST action=@{TicketAcceptR shar proj num}>
        <input type=submit value="Accept this ticket">
      <form method=POST action=@{TicketCloseR shar proj num}>
        <input type=submit value="Close this ticket">
    $of TSTodo
      Open, to do.

      <form method=POST action=@{TicketCloseR shar proj num}>
        <input type=submit value="Close this ticket">
    $of TSClosed
      Closed on #{showDate $ ticketClosed ticket} by
      ^{personLinkW closer}.

      <form method=POST action=@{TicketOpenR shar proj num}>
        <input type=submit value="Reopen this ticket">

<h2>#{ticketTitle ticket}

^{desc}

<h3>Custom fields

<ul>
  $forall TicketTextParam field mvalue <- tparams
    <li .#{relevant $ wfsFilter field}>
      <a href=@{WorkflowFieldR wshr wfl $ wfsIdent field}>
        #{wfsName field}
      :
      $maybe value <- mvalue
        #{ttpvVal value}
      $nothing
        $if wfsRequired field
          NO VALUE FOR REQUIRED FIELD
        $else
          (none)
  $forall TicketEnumParam field enum mvalue <- eparams
    <li .#{relevant $ wfsFilter field}>
      <a href=@{WorkflowFieldR wshr wfl $ wfsIdent field}>
        #{wfsName field}
      :
      $maybe value <- mvalue
        <a href=@{WorkflowEnumCtorsR wshr wfl $ wesIdent enum}>
          #{tepvName value}
      $nothing
        $if wfsRequired field
          NO VALUE FOR REQUIRED FIELD
        $else
          (none)

<h3>Discussion

^{discuss}