diff --git a/trac/admin/templates/admin_basics.html b/trac/admin/templates/admin_basics.html
|
a
|
b
|
|
| 12 | 12 | <body> |
| 13 | 13 | <h2>Basic Settings</h2> |
| 14 | 14 | |
| 15 | | <form class="mod" id="modbasic" method="post"> |
| | 15 | <form class="mod" id="modbasic" method="post" action=""> |
| 16 | 16 | <fieldset> |
| 17 | 17 | <legend>Project</legend> |
| 18 | 18 | <div class="field"> |
diff --git a/trac/admin/templates/admin_components.html b/trac/admin/templates/admin_components.html
|
a
|
b
|
|
| 29 | 29 | </py:def> |
| 30 | 30 | |
| 31 | 31 | <py:choose test="view"> |
| 32 | | <form py:when="'detail'" class="mod" id="modcomp" method="post"> |
| | 32 | <form py:when="'detail'" class="mod" id="modcomp" method="post" action=""> |
| 33 | 33 | <fieldset> |
| 34 | 34 | <legend>Modify Component:</legend> |
| 35 | 35 | <div class="field"> |
| … |
… |
|
| 58 | 58 | </form> |
| 59 | 59 | |
| 60 | 60 | <py:otherwise> |
| 61 | | <form class="addnew" id="addcomponent" method="post"> |
| | 61 | <form class="addnew" id="addcomponent" method="post" action=""> |
| 62 | 62 | <fieldset> |
| 63 | 63 | <legend>Add Component:</legend> |
| 64 | 64 | <div class="field"> |
| … |
… |
|
| 72 | 72 | </form> |
| 73 | 73 | |
| 74 | 74 | <py:choose> |
| 75 | | <form py:when="components" id="component_table" method="POST"> |
| | 75 | <form py:when="components" id="component_table" method="post" action=""> |
| 76 | 76 | <table class="listing" id="complist"> |
| 77 | 77 | <thead> |
| 78 | 78 | <tr><th class="sel"> </th> |
diff --git a/trac/admin/templates/admin_enums.html b/trac/admin/templates/admin_enums.html
|
a
|
b
|
|
| 13 | 13 | <h2>Manage $label_plural</h2> |
| 14 | 14 | |
| 15 | 15 | <py:choose test="view"> |
| 16 | | <form py:when="'detail'" class="mod" id="modenum" method="post"> |
| | 16 | <form py:when="'detail'" class="mod" id="modenum" method="post" action=""> |
| 17 | 17 | <fieldset> |
| 18 | 18 | <legend>Modify $label_singular</legend> |
| 19 | 19 | <div class="field"> |
| … |
… |
|
| 27 | 27 | </form> |
| 28 | 28 | |
| 29 | 29 | <py:otherwise> |
| 30 | | <form class="addnew" id="addenum" method="post"> |
| | 30 | <form class="addnew" id="addenum" method="post" action=""> |
| 31 | 31 | <fieldset> |
| 32 | 32 | <legend>Add $label_singular</legend> |
| 33 | 33 | <div class="field"> |
| … |
… |
|
| 40 | 40 | </form> |
| 41 | 41 | |
| 42 | 42 | <py:choose> |
| 43 | | <form py:when="enums" id="enumtable" method="POST"> |
| | 43 | <form py:when="enums" id="enumtable" method="post" action=""> |
| 44 | 44 | <table class="listing" id="enumlist"> |
| 45 | 45 | <thead> |
| 46 | 46 | <tr><th class="sel"> </th> |
diff --git a/trac/admin/templates/admin_logging.html b/trac/admin/templates/admin_logging.html
|
a
|
b
|
|
| 20 | 20 | <body> |
| 21 | 21 | <h2>Logging</h2> |
| 22 | 22 | |
| 23 | | <form class="mod" id="modlog" method="post"> |
| | 23 | <form class="mod" id="modlog" method="post" action=""> |
| 24 | 24 | <fieldset> |
| 25 | 25 | <legend>Configuration</legend> |
| 26 | 26 | <div class="field"> |
diff --git a/trac/admin/templates/admin_milestones.html b/trac/admin/templates/admin_milestones.html
|
a
|
b
|
|
| 13 | 13 | <h2>Manage Milestones</h2> |
| 14 | 14 | |
| 15 | 15 | <py:choose test="view"> |
| 16 | | <form py:when="'detail'" class="mod" method="post" id="modifymilestone"> |
| | 16 | <form py:when="'detail'" class="mod" method="post" id="modifymilestone" action=""> |
| 17 | 17 | <fieldset> |
| 18 | 18 | <legend>Modify Milestone:</legend> |
| 19 | 19 | <div class="field"> |
| … |
… |
|
| 69 | 69 | |
| 70 | 70 | <py:otherwise> |
| 71 | 71 | |
| 72 | | <form class="addnew" id="addmilestone" method="post"> |
| | 72 | <form class="addnew" id="addmilestone" method="post" action=""> |
| 73 | 73 | <fieldset> |
| 74 | 74 | <legend>Add Milestone:</legend> |
| 75 | 75 | <div class="field"> |
| … |
… |
|
| 92 | 92 | </form> |
| 93 | 93 | |
| 94 | 94 | <py:choose> |
| 95 | | <form py:when="milestones" id="milestone_table" method="POST"> |
| | 95 | <form py:when="milestones" id="milestone_table" method="post" action=""> |
| 96 | 96 | <table class="listing" id="millist"> |
| 97 | 97 | <thead> |
| 98 | 98 | <tr><th class="sel"> </th> |
diff --git a/trac/admin/templates/admin_plugins.html b/trac/admin/templates/admin_plugins.html
|
a
|
b
|
|
| 16 | 16 | <body> |
| 17 | 17 | <h2>Manage Plugins</h2> |
| 18 | 18 | |
| 19 | | <form id="addplug" class="addnew" method="post" enctype="multipart/form-data"> |
| | 19 | <form id="addplug" class="addnew" method="post" enctype="multipart/form-data" action=""> |
| 20 | 20 | <fieldset> |
| 21 | 21 | <legend>Install Plugin:</legend> |
| 22 | 22 | <div class="field"> |
| … |
… |
|
| 40 | 40 | </fieldset> |
| 41 | 41 | </form> |
| 42 | 42 | |
| 43 | | <form py:for="idx, plugin in enumerate(plugins)" method="post"> |
| | 43 | <form py:for="idx, plugin in enumerate(plugins)" method="post" action=""> |
| 44 | 44 | <div class="plugin"> |
| 45 | 45 | <h3>${plugin.name} ${plugin.version}</h3> |
| 46 | 46 | <div class="uninstall buttons"> |
diff --git a/trac/admin/templates/admin_versions.html b/trac/admin/templates/admin_versions.html
|
a
|
b
|
|
| 13 | 13 | <h2>Manage Versions</h2> |
| 14 | 14 | |
| 15 | 15 | <py:choose test="view"> |
| 16 | | <form py:when="'detail'" class="mod" id="modifyversion" method="post"> |
| | 16 | <form py:when="'detail'" class="mod" id="modifyversion" method="post" action=""> |
| 17 | 17 | <fieldset> |
| 18 | 18 | <legend>Modify Version:</legend> |
| 19 | 19 | <div class="field"> |
| … |
… |
|
| 48 | 48 | </form> |
| 49 | 49 | |
| 50 | 50 | <py:otherwise> |
| 51 | | <form class="addnew" id="addversion" method="post"> |
| | 51 | <form class="addnew" id="addversion" method="post" action=""> |
| 52 | 52 | <fieldset> |
| 53 | 53 | <legend>Add Version:</legend> |
| 54 | 54 | <div class="field"> |
| … |
… |
|
| 69 | 69 | </form> |
| 70 | 70 | |
| 71 | 71 | <py:choose> |
| 72 | | <form py:when="versions" id="version_table" method="POST"> |
| | 72 | <form py:when="versions" id="version_table" method="post" action=""> |
| 73 | 73 | <table class="listing" id="verlist"> |
| 74 | 74 | <thead> |
| 75 | 75 | <tr><th class="sel"> </th> |
diff --git a/trac/templates/about.html b/trac/templates/about.html
|
a
|
b
|
|
| 9 | 9 | <title>About Trac</title> |
| 10 | 10 | <link rel="stylesheet" type="text/css" href="${chrome.htdocs_location}css/about.css" /> |
| 11 | 11 | <script type="text/javascript"> |
| | 12 | //<![CDATA[ |
| 12 | 13 | jQuery(document).ready(function ($) { |
| 13 | 14 | $("#systeminfo table").append("<tr><th>jQuery:</th><td>"+$().jquery+"</td></tr>"); |
| 14 | 15 | }); |
| | 16 | //]]> |
| 15 | 17 | </script> |
| 16 | 18 | </head> |
| 17 | 19 | |
diff --git a/trac/templates/history_view.html b/trac/templates/history_view.html
|
a
|
b
|
|
| 15 | 15 | <h1>Change History for <a href="${url_of(resource)}">${name_of(resource)}</a></h1> |
| 16 | 16 | |
| 17 | 17 | <form py:if="history" class="printableform" method="get" action=""> |
| 18 | | <input type="hidden" name="action" value="diff" /> |
| 19 | 18 | <div class="buttons"> |
| | 19 | <input type="hidden" name="action" value="diff" /> |
| 20 | 20 | <input type="submit" value="View changes" /> |
| 21 | 21 | </div> |
| 22 | 22 | <table id="fieldhist" class="listing" summary="Change history"> |
diff --git a/trac/templates/theme.html b/trac/templates/theme.html
|
a
|
b
|
|
| 35 | 35 | <div id="main"> |
| 36 | 36 | <div id="ctxtnav" class="nav"> |
| 37 | 37 | <h2>Context Navigation</h2> |
| 38 | | <ul> |
| | 38 | <ul py:if="chrome.ctxtnav"> |
| 39 | 39 | <li py:for="i, elm in enumerate(chrome.ctxtnav)" class="${i == 0 and 'first ' or None}${i+1 == len(chrome.ctxtnav) and 'last' or None}">$elm</li> |
| 40 | 40 | </ul> |
| 41 | 41 | <hr /> |
diff --git a/trac/tests/functional/tester.py b/trac/tests/functional/tester.py
|
a
|
b
|
|
| 72 | 72 | tc.notfind(internal_error) |
| 73 | 73 | if summary == None: |
| 74 | 74 | summary = random_sentence(4) |
| 75 | | tc.formvalue('propform', 'field_summary', summary) |
| 76 | | tc.formvalue('propform', 'field_description', random_page()) |
| | 75 | tc.formvalue('propertyform', 'field_summary', summary) |
| | 76 | tc.formvalue('propertyform', 'field_description', random_page()) |
| 77 | 77 | if info: |
| 78 | 78 | for field, value in info.items(): |
| 79 | | tc.formvalue('propform', 'field_%s' % field, value) |
| | 79 | tc.formvalue('propertyform', 'field_%s' % field, value) |
| 80 | 80 | tc.submit('submit') |
| 81 | 81 | # we should be looking at the newly created ticket |
| 82 | 82 | tc.url(self.url + '/ticket/%s' % (self.ticketcount + 1)) |
| … |
… |
|
| 148 | 148 | self.go_to_ticket(ticketid) |
| 149 | 149 | if comment is None: |
| 150 | 150 | comment = random_sentence() |
| 151 | | tc.formvalue('propform', 'comment', comment) |
| | 151 | tc.formvalue('propertyform', 'comment', comment) |
| 152 | 152 | tc.submit("submit") |
| 153 | 153 | # Verify we're where we're supposed to be. |
| 154 | 154 | tc.url(self.url + '/ticket/%s#comment:.*' % ticketid) |
| … |
… |
|
| 351 | 351 | def ticket_set_milestone(self, ticketid, milestone): |
| 352 | 352 | """Set the milestone on a given ticket""" |
| 353 | 353 | self.go_to_ticket(ticketid) |
| 354 | | tc.formvalue('propform', 'milestone', milestone) |
| | 354 | tc.formvalue('propertyform', 'milestone', milestone) |
| 355 | 355 | tc.submit('submit') |
| 356 | 356 | # TODO: verify the change occurred. |
| 357 | 357 | |
diff --git a/trac/ticket/templates/milestone_delete.html b/trac/ticket/templates/milestone_delete.html
|
a
|
b
|
|
| 21 | 21 | <h1>Delete Milestone ${milestone.name}</h1> |
| 22 | 22 | |
| 23 | 23 | <form id="edit" action="" method="post"> |
| 24 | | <input type="hidden" name="action" value="delete" /> |
| 25 | | <p><strong>Are you sure you want to delete this milestone?</strong></p> |
| 26 | | <input type="checkbox" id="retarget" name="retarget" checked="checked" /> |
| 27 | | <label for="target">Retarget associated tickets to milestone</label> |
| 28 | | <select name="target" id="target"> |
| 29 | | <option value="">None</option> |
| 30 | | <option py:for="m in milestones" |
| 31 | | py:if="m.name != milestone.name">${m.name}</option> |
| 32 | | </select> |
| | 24 | <div> |
| | 25 | <input type="hidden" name="action" value="delete" /> |
| | 26 | <p><strong>Are you sure you want to delete this milestone?</strong></p> |
| | 27 | <input type="checkbox" id="retarget" name="retarget" checked="checked" /> |
| | 28 | <label for="target">Retarget associated tickets to milestone</label> |
| | 29 | <select name="target" id="target"> |
| | 30 | <option value="">None</option> |
| | 31 | <option py:for="m in milestones" |
| | 32 | py:if="m.name != milestone.name">${m.name}</option> |
| | 33 | </select> |
| | 34 | </div> |
| 33 | 35 | <div class="buttons"> |
| 34 | 36 | <input type="submit" name="cancel" value="Cancel" /> |
| 35 | 37 | <input type="submit" value="Delete milestone" /> |
diff --git a/trac/ticket/templates/milestone_edit.html b/trac/ticket/templates/milestone_edit.html
|
a
|
b
|
|
| 38 | 38 | </py:choose> |
| 39 | 39 | |
| 40 | 40 | <form id="edit" action="" method="post"> |
| 41 | | <input type="hidden" name="id" value="${milestone.name}" /> |
| 42 | | <input type="hidden" name="action" value="edit" /> |
| 43 | 41 | <div class="field"> |
| | 42 | <input type="hidden" name="id" value="${milestone.name}" /> |
| | 43 | <input type="hidden" name="action" value="edit" /> |
| 44 | 44 | <label>Name of the milestone:<br /> |
| 45 | 45 | <input type="text" id="name" name="name" size="32" value="${milestone.name or req.args.get('name')}" /> |
| 46 | 46 | </label> |
diff --git a/trac/ticket/templates/milestone_view.html b/trac/ticket/templates/milestone_view.html
|
a
|
b
|
|
| 50 | 50 | value="${group.name}" py:content="group.label" |
| 51 | 51 | selected="${grouped_by == group.name or None}" /> |
| 52 | 52 | </select> |
| 53 | | <noscript><input type="submit" value="Update" /></noscript> |
| | 53 | <input type="submit" value="Update" class="noscript" /> |
| | 54 | <script type="text/javascript"> |
| | 55 | jQuery(document).ready(function ($) { $(".noscript").attr("style", "display: none"); }); |
| | 56 | </script> |
| 54 | 57 | </legend> |
| 55 | | <table summary="Shows the milestone completion status grouped by ${grouped_by}"> |
| | 58 | <table py:if="groups" summary="Shows the milestone completion status grouped by ${grouped_by}"> |
| 56 | 59 | <tr py:for="group in groups"> |
| 57 | 60 | <th scope="row" py:choose=""> |
| 58 | 61 | <i py:when="not group.name"><a href="${group.stats_href}">(none)</a></i> |
| … |
… |
|
| 83 | 86 | attachments.can_create" |
| 84 | 87 | class="buttons"> |
| 85 | 88 | <form py:if="'MILESTONE_MODIFY' in perm(milestone.resource)" method="get" action="" id="editmilestone"> |
| 86 | | <input type="hidden" name="action" value="edit" /> |
| 87 | | <input type="submit" value="Edit milestone" /> |
| | 89 | <div> |
| | 90 | <input type="hidden" name="action" value="edit" /> |
| | 91 | <input type="submit" value="Edit milestone" /> |
| | 92 | </div> |
| 88 | 93 | </form> |
| 89 | 94 | <form py:if="'MILESTONE_DELETE' in perm(milestone.resource)" method="get" action="" id="deletemilestone"> |
| 90 | | <input type="hidden" name="action" value="delete" /> |
| 91 | | <input type="submit" value="Delete milestone" /> |
| | 95 | <div> |
| | 96 | <input type="hidden" name="action" value="delete" /> |
| | 97 | <input type="submit" value="Delete milestone" /> |
| | 98 | </div> |
| 92 | 99 | </form> |
| 93 | 100 | ${attach_file_form(attachments)} |
| 94 | 101 | </div> |
diff --git a/trac/ticket/templates/report_delete.html b/trac/ticket/templates/report_delete.html
|
a
|
b
|
|
| 13 | 13 | <div id="content" class="report"> |
| 14 | 14 | <h1>$report.title</h1> |
| 15 | 15 | <form action="${href.report()}" method="post"> |
| 16 | | <input type="hidden" name="id" value="$report.id"/> |
| 17 | | <input type="hidden" name="action" value="delete" /> |
| 18 | 16 | <p><strong>Are you sure you want to delete this report?</strong></p> |
| 19 | 17 | <div class="buttons"> |
| | 18 | <input type="hidden" name="id" value="$report.id"/> |
| | 19 | <input type="hidden" name="action" value="delete" /> |
| 20 | 20 | <input type="submit" name="cancel" value="Cancel"/> |
| 21 | 21 | <input type="submit" value="Delete report"/> |
| 22 | 22 | </div> |
diff --git a/trac/ticket/templates/ticket.html b/trac/ticket/templates/ticket.html
|
a
|
b
|
|
| 177 | 177 | <!--! Quote the description (only for existing tickets) --> |
| 178 | 178 | <form py:if="ticket.exists and ticket.description and |
| 179 | 179 | 'TICKET_APPEND' in perm(ticket.resource)" |
| 180 | | name="addreply" |
| | 180 | id="addreply" |
| 181 | 181 | method="get" action="#comment"> |
| 182 | 182 | <div class="inlinebuttons"> |
| 183 | 183 | <input type="hidden" name="replyto" value="description" /> |
| … |
… |
|
| 237 | 237 | ('TICKET_APPEND' in perm(ticket.resource) or |
| 238 | 238 | 'TICKET_CHGPROP' in perm(ticket.resource) or |
| 239 | 239 | ('TICKET_CREATE' in perm(ticket.resource) and not ticket.id))" |
| 240 | | action="${ticket.exists and href.ticket(ticket.id) or href.newticket()}" method="post" name="propform" id="propertyform"> |
| | 240 | action="${ticket.exists and href.ticket(ticket.id) or href.newticket()}" method="post" id="propertyform"> |
| 241 | 241 | <h3 py:if="ticket.exists"><a id="edit" onfocus="$('#comment').get(0).focus()"> |
| 242 | 242 | Add/Change #${ticket.id} ($ticket.summary)</a></h3> |
| 243 | 243 | <div py:if="authname == 'anonymous'" class="field"> |
diff --git a/trac/ticket/tests/functional.py b/trac/ticket/tests/functional.py
|
a
|
b
|
|
| 915 | 915 | self._tester.login('admin') |
| 916 | 916 | ticket_id = self._tester.create_ticket() |
| 917 | 917 | self._tester.go_to_ticket(ticket_id) |
| 918 | | tc.formvalue('propform', 'action', 'reassign') |
| | 918 | tc.formvalue('propertyform', 'action', 'reassign') |
| 919 | 919 | tc.find('reassign_reassign_owner') |
| 920 | | tc.formvalue('propform', 'action_reassign_reassign_owner', 'user') |
| | 920 | tc.formvalue('propertyform', 'action_reassign_reassign_owner', 'user') |
| 921 | 921 | tc.submit('submit') |
| 922 | 922 | finally: |
| 923 | 923 | # Undo the config change for now since this (failing) |
| … |
… |
|
| 1030 | 1030 | Open ticket, component changed, owner not changed""" |
| 1031 | 1031 | ticketid = self._tester.create_ticket("regression test 5497a") |
| 1032 | 1032 | self._tester.go_to_ticket(ticketid) |
| 1033 | | tc.formvalue('propform', 'field-component', 'regression5497') |
| | 1033 | tc.formvalue('propertyform', 'field-component', 'regression5497') |
| 1034 | 1034 | tc.submit('submit') |
| 1035 | 1035 | tc.find(regex_owned_by('user')) |
| 1036 | 1036 | |
| … |
… |
|
| 1040 | 1040 | Open ticket, component changed, owner changed""" |
| 1041 | 1041 | ticketid = self._tester.create_ticket("regression test 5497b") |
| 1042 | 1042 | self._tester.go_to_ticket(ticketid) |
| 1043 | | tc.formvalue('propform', 'field-component', 'regression5497') |
| 1044 | | tc.formvalue('propform', 'action', 'reassign') |
| 1045 | | tc.formvalue('propform', 'action_reassign_reassign_owner', 'admin') |
| | 1043 | tc.formvalue('propertyform', 'field-component', 'regression5497') |
| | 1044 | tc.formvalue('propertyform', 'action', 'reassign') |
| | 1045 | tc.formvalue('propertyform', 'action_reassign_reassign_owner', 'admin') |
| 1046 | 1046 | tc.submit('submit') |
| 1047 | 1047 | tc.notfind(regex_owned_by('user')) |
| 1048 | 1048 | tc.find(regex_owned_by('admin')) |
| … |
… |
|
| 1078 | 1078 | # leave ids[0] as new |
| 1079 | 1079 | # make ids[1] be assigned |
| 1080 | 1080 | self._tester.go_to_ticket(ids[1]) |
| 1081 | | tc.formvalue('propform', 'action', 'reassign') |
| 1082 | | tc.formvalue('propform', 'action_reassign_reassign_owner', 'admin') |
| | 1081 | tc.formvalue('propertyform', 'action', 'reassign') |
| | 1082 | tc.formvalue('propertyform', 'action_reassign_reassign_owner', 'admin') |
| 1083 | 1083 | tc.submit('submit') |
| 1084 | 1084 | # make ids[2] be accepted |
| 1085 | 1085 | self._tester.go_to_ticket(ids[2]) |
| 1086 | | tc.formvalue('propform', 'action', 'accept') |
| | 1086 | tc.formvalue('propertyform', 'action', 'accept') |
| 1087 | 1087 | tc.submit('submit') |
| 1088 | 1088 | # make ids[3] be closed |
| 1089 | 1089 | self._tester.go_to_ticket(ids[3]) |
| 1090 | | tc.formvalue('propform', 'action', 'resolve') |
| 1091 | | tc.formvalue('propform', 'action_resolve_resolve_resolution', 'fixed') |
| | 1090 | tc.formvalue('propertyform', 'action', 'resolve') |
| | 1091 | tc.formvalue('propertyform', 'action_resolve_resolve_resolution', 'fixed') |
| 1092 | 1092 | tc.submit('submit') |
| 1093 | 1093 | # make ids[4] be reopened |
| 1094 | 1094 | self._tester.go_to_ticket(ids[4]) |
| 1095 | | tc.formvalue('propform', 'action', 'resolve') |
| 1096 | | tc.formvalue('propform', 'action_resolve_resolve_resolution', 'fixed') |
| | 1095 | tc.formvalue('propertyform', 'action', 'resolve') |
| | 1096 | tc.formvalue('propertyform', 'action_resolve_resolve_resolution', 'fixed') |
| 1097 | 1097 | tc.submit('submit') |
| 1098 | 1098 | # FIXME: we have to wait a second to avoid "IntegrityError: columns |
| 1099 | 1099 | # ticket, time, field are not unique" |
| 1100 | 1100 | time.sleep(1) |
| 1101 | | tc.formvalue('propform', 'action', 'reopen') |
| | 1101 | tc.formvalue('propertyform', 'action', 'reopen') |
| 1102 | 1102 | tc.submit('submit') |
| 1103 | 1103 | tc.show() |
| 1104 | 1104 | tc.notfind("Python Traceback") |
| … |
… |
|
| 1168 | 1168 | self._tester.create_ticket(summary='RegressionTestTicket6048b') |
| 1169 | 1169 | self._tester.go_to_ticket(ticket_id) |
| 1170 | 1170 | tc.find('delete ticket') |
| 1171 | | tc.formvalue('propform', 'action', 'delete') |
| | 1171 | tc.formvalue('propertyform', 'action', 'delete') |
| 1172 | 1172 | tc.submit('submit') |
| 1173 | 1173 | |
| 1174 | 1174 | self._tester.go_to_ticket(ticket_id) |
| … |
… |
|
| 1224 | 1224 | # create a ticket, then preview resolving the ticket twice |
| 1225 | 1225 | ticket_id = self._tester.create_ticket("RegressionTestTicket6879 a") |
| 1226 | 1226 | self._tester.go_to_ticket(ticket_id) |
| 1227 | | tc.formvalue('propform', 'action', 'resolve') |
| 1228 | | tc.formvalue('propform', 'action_resolve_resolve_resolution', 'fixed') |
| | 1227 | tc.formvalue('propertyform', 'action', 'resolve') |
| | 1228 | tc.formvalue('propertyform', 'action_resolve_resolve_resolution', 'fixed') |
| 1229 | 1229 | tc.submit('preview') |
| 1230 | | tc.formvalue('propform', 'action', 'resolve') |
| | 1230 | tc.formvalue('propertyform', 'action', 'resolve') |
| 1231 | 1231 | tc.submit('preview') |
| 1232 | 1232 | |
| 1233 | 1233 | |
| … |
… |
|
| 1241 | 1241 | # create a ticket, then preview resolving the ticket twice |
| 1242 | 1242 | ticket_id = self._tester.create_ticket("RegressionTestTicket6879 b") |
| 1243 | 1243 | self._tester.go_to_ticket(ticket_id) |
| 1244 | | tc.formvalue('propform', 'action', 'resolve') |
| 1245 | | tc.formvalue('propform', 'action_resolve_resolve_resolution', 'fixed') |
| | 1244 | tc.formvalue('propertyform', 'action', 'resolve') |
| | 1245 | tc.formvalue('propertyform', 'action_resolve_resolve_resolution', 'fixed') |
| 1246 | 1246 | tc.submit('preview') |
| 1247 | | tc.formvalue('propform', 'action', 'resolve') |
| | 1247 | tc.formvalue('propertyform', 'action', 'resolve') |
| 1248 | 1248 | tc.submit('submit') |
| 1249 | 1249 | |
| 1250 | 1250 | |
diff --git a/trac/wiki/templates/wiki_delete.html b/trac/wiki/templates/wiki_delete.html
|
a
|
b
|
|
| 21 | 21 | "> |
| 22 | 22 | <h1>Delete $range <a href="$current_href">$page.name</a></h1> |
| 23 | 23 | <form action="$current_href" method="post"> |
| 24 | | <input type="hidden" name="action" value="delete" /> |
| 25 | 24 | <p> |
| | 25 | <input type="hidden" name="action" value="delete" /> |
| 26 | 26 | <strong>Are you sure you want to ${not range and 'completely' or ''} delete $range this page?</strong> |
| 27 | 27 | <br /> |
| 28 | 28 | <py:if test="num_versions == 1"> |
diff --git a/trac/wiki/templates/wiki_diff.html b/trac/wiki/templates/wiki_diff.html
|
a
|
b
|
|
| 9 | 9 | <form py:if="'WIKI_DELETE' in perm(page.resource) and |
| 10 | 10 | (not changes[0].diffs or new_version == latest_version)" |
| 11 | 11 | method="get" action="${href.wiki(page.name)}"> |
| 12 | | <input type="hidden" name="action" value="delete" /> |
| 13 | | <input type="hidden" name="version" value="$new_version" /> |
| 14 | | <input type="hidden" name="old_version" value="$old_version" /> |
| 15 | | <input type="submit" name="delete_version" value="Delete ${ |
| 16 | | new_version - old_version > 1 and 'version %d to ' % (old_version+1) or '' |
| 17 | | }version $new_version" /> |
| | 12 | <div> |
| | 13 | <input type="hidden" name="action" value="delete" /> |
| | 14 | <input type="hidden" name="version" value="$new_version" /> |
| | 15 | <input type="hidden" name="old_version" value="$old_version" /> |
| | 16 | <input type="submit" name="delete_version" value="Delete ${ |
| | 17 | new_version - old_version > 1 and 'version %d to ' % (old_version+1) or '' |
| | 18 | }version $new_version" /> |
| | 19 | </div> |
| 18 | 20 | </form> |
| 19 | 21 | </div></py:match> |
| 20 | 22 | <py:with vars="resource = page.resource"> |