<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:py="http://genshi.edgewall.org/"
xmlns:xi="http://www.w3.org/2001/XInclude">
<xi:include href="${g.pyforge_templates}/master.html"/>
<xi:include href="${c.app.templates}/lib.html" />
<?python
from pprint import pformat
from pyforge.lib.security import has_artifact_access
?>
<head>
<meta content="text/html; charset=UTF-8" http-equiv="content-type" py:replace="''"/>
<title>${ticket.shorthand_id()}</title>
<link rel="stylesheet" type="text/css" href="${g.app_static('css/hilite.css')}"/>
<style>
.hidden { display: None }
.ticket-num { font-size:20pt }
.top-liner { border-top: 1px solid #ccc }
.bottom-liner { border-bottom: 1px solid #ccc }
</style>
</head>
<body>
<div class="container">
<article class="ticket">
<h1>${ticket.shorthand_id()}</h1>
<div>
<a href="../..">PluginRoot</a>
Editing
<form style="display:inline; float:right"
method="GET"
action="../search">
Search: <input name="q"/>
</form>
</div>
<hr/>
<form method="POST" action="../update_ticket">
<div id="header" class="editable viewing span-24 last">
<h1 class="viewer span-24 last">$ticket.summary</h1>
<div class="editor">
<input name="summary" value="$ticket.summary" style="width:98%"/>
</div>
</div>
<div class="span-24">
<div class="editable viewing span-8">
<span class="quiet">owner:</span>
<span class="viewer ticket-assigned-to">${ticket.assigned_to_name()}</span>
<input disabled="disabled" name="assigned_to" value="${ticket.assigned_to_name()}" class="editor"/>
</div>
<div class="editable viewing span-8">
<span class="quiet">status:</span>
<span class="viewer ticket-status">$ticket.status</span>
<select name="status" class="editor">
<option py:for="name in globals.status_names.split(',')" value="$name">$name</option>
</select>
</div>
<div class="span-8 last">
<span class="quiet">opened:</span>
<span class="ticket-create-date">$ticket.created_date</span>
</div>
</div>
<div class="span-24 last ticket-description">
<div class="span-24 last quiet prepend-top bottom-liner">Description</div>
<div class="editable viewing span-24 last">
<div class="viewer span-24 last" py:content="Markup(g.markdown.convert(ticket.description))"/>
<div class="editor">
<textarea name="description">$ticket.description</textarea>
</div>
</div>
</div>
<div class="span-24 last custom-fields" py:if="globals.custom_fields">
<div class="span-24 last quiet prepend-top bottom-liner">Custom Fields</div>
<div py:for="field in globals.custom_fields.split(',')" class="editable viewing span-24 last">
<label class="span-4">$field:</label>
<span class="viewer span-20 last">${ticket.custom_fields.get(field, '')}</span>
<span class="editor span-20 last">
<input name="$field" type="text" style="width:50%" value="${ticket.custom_fields.get(field, '')}"/>
</span>
</div>
</div>
<input type="submit" value="submit"/>
</form>
<hr/>
<div py:if="has_artifact_access('write', ticket)()" class="reply title-pane closed">
<div class="title">New Attachment</div>
<div class="content">
<form method="post" action="${ticket.url() + 'attach'}" enctype="multipart/form-data">
${file_field('file_info', 'File to upload')}
${submit_button('Attach file')}
</form>
</div>
<hr/>
</div>
<h2>Comments</h2>
<div class="reply title-pane closed">
<h3 class="title">Make a comment</h3>
<div class="content">
<form method="post" action="comments/reply">
<textarea rows="4" cols="60" name="text"></textarea><br/>
<input type="submit"/>
</form>
</div>
</div>
<py:for each="cmt in ticket.root_comments()">
${display_comment(cmt)}
</py:for>
</article>
</div>
</body>
<script type="text/javascript" src="${g.app_static('js/comments.js')}"/>
</html>