<!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
from pyforge import model as M
?>
<head>
<meta content="text/html; charset=UTF-8" http-equiv="content-type" py:replace="''"/>
<title>#$ticket.ticket_num $ticket.summary</title>
<link rel="stylesheet" type="text/css" href="${g.app_static('css/hilite.css')}"/>
<link rel="stylesheet" type="text/css" href="${g.app_static('css/tracker.css')}"/>
<link rel="alternate" type="application/rss+xml" title="RSS" href="feed.rss"/>
<link rel="alternate" type="application/atom+xml" title="Atom" href="feed.atom"/>
</head>
<body>
<form method="POST" action="../update_ticket">
<div class="span-14">
<div class="span-2">
${gravatar(ticket.reported_by().preferences.email_address, size=50)}<br/>
<py:if test="ticket.assigned_to()">${gravatar(ticket.assigned_to().preferences.email_address, size=50)}</py:if>
</div>
<div class="span-12 last">
<span class="editable viewing title">
<h2 class="viewer ticket_title">#$ticket.ticket_num $ticket.summary</h2>
<span class="editor">
<input name="summary" value="$ticket.summary"/>
</span>
</span>
Created by <a href="${ticket.reported_by().url()}">${ticket.reported_by().username}</a> ${h.ago(ticket.created_date, round=True)}
<div class="editable viewing">
Currently assigned to
<span class="viewer ticket-assigned-to">
<py:if test="not ticket.assigned_to()">${ticket.assigned_to_name()}</py:if>
<a py:if="ticket.assigned_to()" href="${ticket.assigned_to().url()}">${ticket.assigned_to_name()}</a>
</span>
<span class="editor ticket-assigned-to">${select_user_in_project('assigned_to',ticket.assigned_to_id)}</span>
</div>
${markdown_edit("description",ticket.description)}
<input type="submit" value="submit"/>
</div>
</div>
<div id="sidebar-right" class="span-5 last">
<a class="ticket_feed" href="${ticket.url()}feed.rss"><img src="/images/rss.png" alt="subscribe" title="subscribe" width="25" height="25"/></a>
<div class="editable viewing">
Status:
<span class="viewer">$ticket.status</span>
<span class="editor">
<select name="status">
<option py:for="option in globals.status_names.split()" value="$option"
selected="${'selected' if ticket.status==option else None}">$option</option>
</select>
</span>
</div>
<div class="editable viewing">
Tags:
<span class="viewer" py:if="len(ticket.tags)"><span py:for="tag in ticket.tags">$tag.tag ($tag.count) </span></span>
<span class="viewer" py:if="not len(ticket.tags)">None</span>
<span class="editor">${user_tags_edit('tags', user_tags)}</span>
</div>
<div class="editable viewing">
Milestone:
<span class="viewer">${ticket.milestone}</span>
<span class="editor">
<input name="milestone" type="text" value="${ticket.milestone}"/>
</span>
</div>
<div py:for="field in globals.custom_fields or []" class="editable viewing">
<span class="viewer">${field.label}: ${ticket.custom_fields.get(field.name, '')}</span>
<span class="editor">
<input py:if="field.type != 'select'" name="${field.name}" type="text" value="${ticket.custom_fields.get(field.name, '')}"/>
<select py:if="field.type == 'select'" name="${field.name}">
<option py:for="option in field.options.split()" value="${option}"
selected="${'selected' if ticket.custom_fields.get(field.name, '')==option else None}">${option}</option>
</select>
</span>
</div>
</div>
</form>
<div class="span-12 push-2">
${list_attachments(list(ticket.attachments), has_artifact_access('write', ticket)())}
<div py:if="has_artifact_access('write', ticket)()" class="reply title-pane closed">
<button class="title">Add Attachment</button>
<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>
</div>
</div>
<hr/>
<div py:with="thread=ticket.discussion_thread()">
<h2><a href="${thread.url()}">Discussion</a></h2>
${c.thread.display(value=thread)}
</div>
<script type="text/javascript" src="${g.app_static('js/comments.js')}"/>
</body>
</html>