39
|
1 <?cs include:"header.cs" ?>
|
|
2 <?cs include:"macros.cs" ?>
|
|
3 <script type="text/javascript">
|
|
4 addEvent(window, 'load', function() { document.getElementById('summary').focus()});
|
|
5 </script>
|
|
6
|
|
7 <div id="ctxtnav" class="nav"></div>
|
|
8
|
|
9 <div id="content" class="ticket">
|
|
10 <h1>Create New Ticket</h1>
|
|
11 <?cs include:"site_newticket.cs" ?>
|
|
12 <form id="newticket" method="post" action="<?cs
|
|
13 var:trac.href.newticket ?>#preview">
|
|
14 <?cs if:trac.authname == "anonymous" ?>
|
|
15 <div class="field">
|
|
16 <label for="reporter">Your email or username:</label><br />
|
|
17 <input type="text" id="reporter" name="reporter" size="40" value="<?cs
|
|
18 var:newticket.reporter ?>" /><br />
|
|
19 </div>
|
|
20 <?cs /if ?>
|
|
21 <div class="field">
|
|
22 <label for="summary">Short summary:</label><br />
|
|
23 <input id="summary" type="text" name="summary" size="80" value="<?cs
|
|
24 var:newticket.summary ?>"/>
|
|
25 </div><?cs
|
|
26 if:len(newticket.fields.type.options) ?>
|
|
27 <div class="field"><label for="type">Type:</label> <?cs
|
|
28 call:hdf_select(newticket.fields.type.options, 'type',
|
|
29 newticket.type, 0) ?>
|
|
30 </div><?cs
|
|
31 /if ?>
|
|
32 <div class="field">
|
|
33 <label for="description">Full description (you may use <a tabindex="42" href="<?cs
|
|
34 var:$trac.href.wiki ?>/WikiFormatting">WikiFormatting</a> here):</label><br />
|
|
35 <textarea id="description" name="description" class="wikitext" rows="10" cols="78">
|
|
36 <?cs var:newticket.description ?></textarea><?cs
|
|
37 if:newticket.description_preview ?>
|
|
38 <fieldset id="preview">
|
|
39 <legend>Description Preview</legend>
|
|
40 <?cs var:newticket.description_preview ?>
|
|
41 </fieldset><?cs
|
|
42 /if ?>
|
|
43 </div>
|
|
44
|
|
45 <fieldset id="properties">
|
|
46 <legend>Ticket Properties</legend>
|
|
47 <input type="hidden" name="action" value="create" />
|
|
48 <input type="hidden" name="status" value="new" />
|
|
49 <table><tr><?cs set:num_fields = 0 ?><?cs
|
|
50 each:field = newticket.fields ?><?cs
|
|
51 if:!field.skip ?><?cs
|
|
52 set:num_fields = num_fields + 1 ?><?cs
|
|
53 /if ?><?cs
|
|
54 /each ?><?cs set:idx = 0 ?><?cs
|
|
55 each:field = newticket.fields ?><?cs
|
|
56 if:!field.skip ?><?cs set:fullrow = field.type == 'textarea' ?><?cs
|
|
57 if:fullrow && idx % 2 ?><?cs set:idx = idx + 1 ?><th class="col2"></th><td></td></tr><tr><?cs /if ?>
|
|
58 <th class="col<?cs var:idx % 2 + 1 ?>"><?cs
|
|
59 if:field.type != 'radio' ?><label for="<?cs var:name(field) ?>"><?cs
|
|
60 /if ?><?cs alt:field.label ?><?cs var:field.name ?><?cs /alt ?>:<?cs
|
|
61 if:field.type != 'radio' ?></label><?cs /if ?></th>
|
|
62 <td<?cs if:fullrow ?> colspan="3"<?cs /if ?>><?cs
|
|
63 if:field.type == 'text' ?><input type="text" id="<?cs
|
|
64 var:name(field) ?>" name="<?cs
|
|
65 var:name(field) ?>" value="<?cs var:newticket[name(field)] ?>" /><?cs
|
|
66 elif:field.type == 'select' ?><select id="<?cs
|
|
67 var:name(field) ?>" name="<?cs var:name(field) ?>"><?cs
|
|
68 if:field.optional ?><option></option><?cs /if ?><?cs
|
|
69 each:option = field.options ?><option<?cs
|
|
70 if:option == newticket[name(field)] ?> selected="selected"<?cs /if ?>><?cs
|
|
71 var:option ?></option><?cs
|
|
72 /each ?></select><?cs
|
|
73 elif:field.type == 'checkbox' ?><input type="hidden" name="checkbox_<?cs
|
|
74 var:name(field) ?>" /><input type="checkbox" id="<?cs
|
|
75 var:name(field) ?>" name="<?cs
|
|
76 var:name(field) ?>" value="1"<?cs
|
|
77 if:newticket[name(field)] ?> checked="checked"<?cs /if ?> /><?cs
|
|
78 elif:field.type == 'textarea' ?><textarea id="<?cs
|
|
79 var:name(field) ?>" name="<?cs
|
|
80 var:name(field) ?>"<?cs
|
|
81 if:field.height ?> rows="<?cs var:field.height ?>"<?cs /if ?><?cs
|
|
82 if:field.width ?> cols="<?cs var:field.width ?>"<?cs /if ?>><?cs
|
|
83 var:newticket[name(field)] ?></textarea><?cs
|
|
84 elif:field.type == 'radio' ?><?cs set:optidx = 0 ?><?cs
|
|
85 each:option = field.options ?><label><input type="radio" id="<?cs
|
|
86 var:name(field) ?>" name="<?cs
|
|
87 var:name(field) ?>" value="<?cs var:option ?>"<?cs
|
|
88 if:ticket[name(field)] == option ?> checked="checked"<?cs /if ?> /> <?cs
|
|
89 var:option ?></label> <?cs set:optidx = optidx + 1 ?><?cs
|
|
90 /each ?><?cs
|
|
91 /if ?></td><?cs
|
|
92 if:idx % 2 || fullrow ?><?cs
|
|
93 if:idx < num_fields - 1 ?></tr><tr><?cs
|
|
94 /if ?><?cs
|
|
95 elif:idx == num_fields - 1 ?><th class="col2"></th><td></td><?cs
|
|
96 /if ?><?cs set:idx = idx + #fullrow + 1 ?><?cs
|
|
97 /if ?><?cs
|
|
98 /each ?></tr>
|
|
99 </table>
|
|
100 </fieldset>
|
|
101
|
|
102 <script type="text/javascript" src="<?cs
|
|
103 var:htdocs_location ?>js/wikitoolbar.js"></script>
|
|
104
|
|
105 <?cs if newticket.can_attach ?><p>
|
|
106 <label><input type="checkbox" name="attachment"<?cs
|
|
107 if:newticket.attachment ?> checked="checked"<?cs /if ?> />
|
|
108 I have files to attach to this ticket
|
|
109 </label>
|
|
110 </p><?cs
|
|
111 /if ?>
|
|
112
|
|
113 <div class="buttons">
|
|
114 <input type="submit" name="preview" value="Preview" accesskey="r" />
|
|
115 <input type="submit" value="Submit ticket" />
|
|
116 </div>
|
|
117 </form>
|
|
118
|
|
119 <div id="help">
|
|
120 <strong>Note:</strong> See <a href="<?cs
|
|
121 var:trac.href.wiki ?>/TracTickets">TracTickets</a> for help on using tickets.
|
|
122 </div>
|
|
123 </div>
|
|
124
|
|
125 <?cs include "footer.cs" ?>
|