Index: trac/Ticket.py
===================================================================
--- trac/Ticket.py	(revision 1020)
+++ trac/Ticket.py	(working copy)
@@ -37,7 +37,7 @@
 class Ticket(UserDict):
     std_fields = ['time', 'component', 'severity', 'priority', 'milestone',
                   'reporter', 'owner', 'cc', 'url', 'version', 'status', 'resolution',
-                  'keywords', 'summary', 'description', 'reporter']
+                  'keywords', 'summary', 'description']
 
     def __init__(self, *args):
         UserDict.__init__(self)
@@ -374,11 +374,14 @@
                         self.req.hdf, 'ticket.milestones')
         util.sql_to_hdf(self.db, 'SELECT name FROM version ORDER BY name',
                         self.req.hdf, 'ticket.versions')
+        util.sql_to_hdf(self.db, "SELECT name FROM enum WHERE type='resolution' ORDER BY value",
+                        self.req.hdf, 'enums.resolution')
         util.hdf_add_if_missing(self.req.hdf, 'ticket.components', ticket['component'])
         util.hdf_add_if_missing(self.req.hdf, 'ticket.milestones', ticket['milestone'])
         util.hdf_add_if_missing(self.req.hdf, 'ticket.versions', ticket['version'])
         util.hdf_add_if_missing(self.req.hdf, 'enums.priority', ticket['priority'])
         util.hdf_add_if_missing(self.req.hdf, 'enums.severity', ticket['severity'])
+        util.hdf_add_if_missing(self.req.hdf, 'enums.resolution', 'fixed')
 
         self.req.hdf.setValue('ticket.reporter_id', util.escape(reporter_id))
         self.req.hdf.setValue('title', '#%d (%s)' % (id,ticket['summary']))
Index: templates/ticket.cs
===================================================================
--- templates/ticket.cs	(revision 1020)
+++ templates/ticket.cs	(working copy)
@@ -231,23 +231,7 @@
    <?cs call:action_radio('resolve') ?>
    <label for="resolve">resolve</label>
    <label for="resolve_resolution">as:</label>
-   <select id="resolve_resolution" name="resolve_resolution">
-    <option<?cs
-     if:args.resolve_resolution == 'fixed' ?> selected="selected"<?cs
-     /if ?>>fixed</option>
-    <option<?cs
-     if:args.resolve_resolution == 'invalid' ?> selected="selected"<?cs
-     /if ?>>invalid</option>
-    <option<?cs
-     if:args.resolve_resolution == 'wontfix' ?> selected="selected"<?cs
-     /if ?>>wontfix</option>
-    <option<?cs
-     if:args.resolve_resolution == 'duplicate' ?> selected="selected"<?cs
-     /if ?>>duplicate</option>
-    <option<?cs
-     if:args.resolve_resolution == 'worksforme' ?> selected="selected"<?cs
-     /if ?>>worksforme</option>
-   </select><br />
+   <?cs call:hdf_select(enums.resolution, "resolve_resolution", args.resolve_resolution) ?><br />
    <?cs call:action_radio('reassign') ?>
    <label for="reassign">reassign</label>
    <label for="reassign_owner">to:</label>

