##// END OF EJS Templates
attachments list on issues/show:...
Jean-Philippe Lang -
r109:58a36e360437
parent child
Show More
@@ -1,113 +1,107
1 1 <div class="contextual">
2 2 <%= l(:label_export_to) %><%= link_to 'PDF', {:action => 'export_pdf', :id => @issue}, :class => 'pic picPdf' %>
3 3 </div>
4 4
5 5 <h2><%= @issue.tracker.name %> #<%= @issue.id %> - <%=h @issue.subject %></h2>
6 6
7 7 <div class="box">
8 8 <table width="100%">
9 9 <tr>
10 10 <td width="15%"><b><%=l(:field_status)%> :</b></td><td width="35%"><%= @issue.status.name %></td>
11 11 <td width="15%"><b><%=l(:field_priority)%> :</b></td><td width="35%"><%= @issue.priority.name %></td>
12 12 </tr>
13 13 <tr>
14 14 <td><b><%=l(:field_assigned_to)%> :</b></td><td><%= @issue.assigned_to ? @issue.assigned_to.name : "-" %></td>
15 15 <td><b><%=l(:field_category)%> :</b></td><td><%=h @issue.category ? @issue.category.name : "-" %></td>
16 16 </tr>
17 17 <tr>
18 18 <td><b><%=l(:field_author)%> :</b></td><td><%= link_to_user @issue.author %></td>
19 19 <td><b><%=l(:field_start_date)%> :</b></td><td><%= format_date(@issue.start_date) %></td>
20 20 </tr>
21 21 <tr>
22 22 <td><b><%=l(:field_created_on)%> :</b></td><td><%= format_date(@issue.created_on) %></td>
23 23 <td><b><%=l(:field_due_date)%> :</b></td><td><%= format_date(@issue.due_date) %></td>
24 24 </tr>
25 25 <tr>
26 26 <td><b><%=l(:field_updated_on)%> :</b></td><td><%= format_date(@issue.updated_on) %></td>
27 27 <td><b><%=l(:field_done_ratio)%> :</b></td><td><%= @issue.done_ratio %> %</td>
28 28 </tr>
29 29 <tr>
30 30 <% n = 0
31 31 for custom_value in @custom_values %>
32 32 <td><b><%= custom_value.custom_field.name %> :</b></td><td><%=h show_value custom_value %></td>
33 33 <% n = n + 1
34 34 if (n > 1)
35 35 n = 0 %>
36 36 </tr><tr>
37 37 <%end
38 38 end %>
39 39 </tr>
40 40 </table>
41 41 <hr />
42 42 <br />
43 43
44 44 <b><%=l(:field_description)%> :</b><br /><br />
45 45 <%= textilizable @issue.description %>
46 46 <br />
47 47
48 48 <div class="contextual">
49 49 <%= link_to_if_authorized l(:button_edit), {:controller => 'issues', :action => 'edit', :id => @issue}, :class => 'pic picEdit' %>
50 50 <%= link_to_if_authorized l(:button_move), {:controller => 'projects', :action => 'move_issues', :id => @project, "issue_ids[]" => @issue.id }, :class => 'pic picMove' %>
51 51 <%= link_to_if_authorized l(:button_delete), {:controller => 'issues', :action => 'destroy', :id => @issue}, :confirm => l(:text_are_you_sure), :post => true, :class => 'pic picDelete' %>
52 52 </div>
53 53
54 54 <% if authorize_for('issues', 'change_status') and @status_options and !@status_options.empty? %>
55 55 <%= start_form_tag ({:controller => 'issues', :action => 'change_status', :id => @issue}) %>
56 56 <%=l(:label_change_status)%> :
57 57 <select name="new_status_id">
58 58 <%= options_from_collection_for_select @status_options, "id", "name" %>
59 59 </select>
60 60 <%= submit_tag l(:button_change) %>
61 61 <%= end_form_tag %>
62 62 <% end %>
63 63 &nbsp;
64 64 </div>
65 65
66 66 <div id="history" class="box">
67 67 <h3><%=l(:label_history)%>
68 68 <% if @journals_count > @journals.length %>(<%= l(:label_last_changes, @journals.length) %>)<% end %></h3>
69 69 <%= render :partial => 'history', :locals => { :journals => @journals } %>
70 70 <% if @journals_count > @journals.length %>
71 71 <p><center><small>[ <%= link_to l(:label_change_view_all), :action => 'history', :id => @issue %> ]</small></center></p>
72 72 <% end %>
73 73 </div>
74 74
75 75 <div class="box">
76 76 <h3><%=l(:label_attachment_plural)%></h3>
77 77 <table width="100%">
78 78 <% for attachment in @issue.attachments %>
79 79 <tr>
80 <td><%= image_tag('attachment') %> <%= link_to attachment.filename, :action => 'download', :id => @issue, :attachment_id => attachment %> (<%= human_size(attachment.filesize) %>)</td>
80 <td><%= link_to attachment.filename, { :action => 'download', :id => @issue, :attachment_id => attachment }, :class => 'icon attachment' %> (<%= human_size(attachment.filesize) %>)</td>
81 81 <td><%= format_date(attachment.created_on) %></td>
82 82 <td><%= attachment.author.display_name %></td>
83 <% if authorize_for('issues', 'destroy_attachment') %>
84 <td>
85 <%= start_form_tag :action => 'destroy_attachment', :id => @issue, :attachment_id => attachment %>
86 <%= submit_tag l(:button_delete), :class => "button-small" %>
87 <%= end_form_tag %>
88 </td>
89 <% end %>
83 <td><div class="contextual"><%= link_to_if_authorized l(:button_delete), {:controller => 'issues', :action => 'destroy_attachment', :id => @issue, :attachment_id => attachment }, :confirm => l(:text_are_you_sure), :post => true, :class => 'pic picDelete' %></div></td>
90 84 </tr>
91 85 <% end %>
92 86 </table>
93 87 <br />
94 88 <% if authorize_for('issues', 'add_attachment') %>
95 89 <%= start_form_tag ({ :controller => 'issues', :action => 'add_attachment', :id => @issue }, :multipart => true, :class => "tabular") %>
96 90 <p id="attachments_p"><label><%=l(:label_attachment_new)%>&nbsp;
97 91 <%= link_to_function image_tag('add'), "addFileField()" %></label>
98 92 <%= file_field_tag 'attachments[]', :size => 30 %></p>
99 93 <%= submit_tag l(:button_add) %>
100 94 <%= end_form_tag %>
101 95 <% end %>
102 96 </div>
103 97
104 98 <% if authorize_for('issues', 'add_note') %>
105 99 <div class="box">
106 100 <h3><%= l(:label_add_note) %></h3>
107 101 <%= start_form_tag ({:controller => 'issues', :action => 'add_note', :id => @issue}, :class => "tabular" ) %>
108 102 <p><label for="notes"><%=l(:field_notes)%></label>
109 103 <%= text_area_tag 'notes', '', :cols => 60, :rows => 10 %></p>
110 104 <%= submit_tag l(:button_add) %>
111 105 <%= end_form_tag %>
112 106 </div>
113 107 <% end %>
@@ -1,511 +1,512
1 1 /* andreas08 - an open source xhtml/css website layout by Andreas Viklund - http://andreasviklund.com . Free to use in any way and for any purpose as long as the proper credits are given to the original designer. Version: 1.0, November 28, 2005 */
2 2 /* Edited by Jean-Philippe Lang *>
3 3 /**************** Body and tag styles ****************/
4 4
5 5
6 6 #header * {margin:0; padding:0;}
7 7 p, ul, ol, li {margin:0; padding:0;}
8 8
9 9
10 10 body{
11 11 font:76% Verdana,Tahoma,Arial,sans-serif;
12 12 line-height:1.4em;
13 13 text-align:center;
14 14 color:#303030;
15 15 background:#e8eaec;
16 16 margin:0;
17 17 }
18 18
19 19
20 20 a{
21 21 color:#467aa7;
22 22 font-weight:bold;
23 23 text-decoration:none;
24 24 background-color:inherit;
25 25 }
26 26
27 27 a:hover{color:#2a5a8a; text-decoration:none; background-color:inherit;}
28 28 a img{border:none;}
29 29
30 30 p{padding:0 0 1em 0;}
31 31 p form{margin-top:0; margin-bottom:20px;}
32 32
33 33 img.left,img.center,img.right{padding:4px; border:1px solid #a0a0a0;}
34 34 img.left{float:left; margin:0 12px 5px 0;}
35 35 img.center{display:block; margin:0 auto 5px auto;}
36 36 img.right{float:right; margin:0 0 5px 12px;}
37 37
38 38 /**************** Header and navigation styles ****************/
39 39
40 40 #container{
41 41 width:100%;
42 42 min-width: 800px;
43 43 margin:0;
44 44 padding:0;
45 45 text-align:left;
46 46 background:#ffffff;
47 47 color:#303030;
48 48 }
49 49
50 50 #header{
51 51 height:4.5em;
52 52 margin:0;
53 53 background:#467aa7;
54 54 color:#ffffff;
55 55 margin-bottom:1px;
56 56 }
57 57
58 58 #header h1{
59 59 padding:10px 0 0 20px;
60 60 font-size:2em;
61 61 background-color:inherit;
62 62 color:#fff;
63 63 letter-spacing:-1px;
64 64 font-weight:bold;
65 65 font-family: Trebuchet MS,Georgia,"Times New Roman",serif;
66 66 }
67 67
68 68 #header h2{
69 69 margin:3px 0 0 40px;
70 70 font-size:1.5em;
71 71 background-color:inherit;
72 72 color:#f0f2f4;
73 73 letter-spacing:-1px;
74 74 font-weight:normal;
75 75 font-family: Trebuchet MS,Georgia,"Times New Roman",serif;
76 76 }
77 77
78 78 #navigation{
79 79 height:2.2em;
80 80 line-height:2.2em;
81 81 margin:0;
82 82 background:#578bb8;
83 83 color:#ffffff;
84 84 }
85 85
86 86 #navigation li{
87 87 float:left;
88 88 list-style-type:none;
89 89 border-right:1px solid #ffffff;
90 90 white-space:nowrap;
91 91 }
92 92
93 93 #navigation li.right {
94 94 float:right;
95 95 list-style-type:none;
96 96 border-right:0;
97 97 border-left:1px solid #ffffff;
98 98 white-space:nowrap;
99 99 }
100 100
101 101 #navigation li a{
102 102 display:block;
103 103 padding:0px 10px 0px 22px;
104 104 font-size:0.8em;
105 105 font-weight:normal;
106 106 text-decoration:none;
107 107 background-color:inherit;
108 108 color: #ffffff;
109 109 }
110 110
111 111 * html #navigation a {width:1%;}
112 112
113 113 #navigation .selected,#navigation a:hover{
114 114 color:#ffffff;
115 115 text-decoration:none;
116 116 background-color: #80b0da;
117 117 }
118 118
119 119 /**************** Icons links *******************/
120 120 .picHome { background: url(../images/home.png) no-repeat 4px 50%; }
121 121 .picUser { background: url(../images/user.png) no-repeat 4px 50%; }
122 122 .picUserPage { background: url(../images/user_page.png) no-repeat 4px 50%; }
123 123 .picAdmin { background: url(../images/admin.png) no-repeat 4px 50%; }
124 124 .picProject { background: url(../images/projects.png) no-repeat 4px 50%; }
125 125 .picLogout { background: url(../images/logout.png) no-repeat 4px 50%; }
126 126 .picHelp { background: url(../images/help.png) no-repeat 4px 50%; }
127 127
128 128 .picEdit { background: url(../images/edit.png) no-repeat 4px 50%; }
129 129 .picDelete { background: url(../images/delete.png) no-repeat 4px 50%; }
130 130 .picAdd { background: url(../images/add.png) no-repeat 4px 50%; }
131 131 .picMove { background: url(../images/move.png) no-repeat 4px 50%; }
132 132 .picCheck { background: url(../images/check.png) no-repeat 4px 70%; }
133 133 .picPdf { background: url(../images/pdf.png) no-repeat 4px 50%;}
134 134 .picCsv { background: url(../images/csv.png) no-repeat 4px 50%;}
135 135
136 136 .pic { padding-left: 18px; margin-left: 3px; }
137 137
138 138 .icon {
139 139 background-position: 0% 40%;
140 140 background-repeat: no-repeat;
141 141 padding-left: 20px;
142 142 }
143 143
144 144 .folder { background-image: url(../images/folder.png); }
145 145 .file { background-image: url(../images/file.png); }
146 .attachment { background-image: url(../images/attachment.png); }
146 147
147 148 /**************** Content styles ****************/
148 149
149 150 html>body #content {
150 151 height: auto;
151 152 min-height: 500px;
152 153 }
153 154
154 155 #content{
155 156 width: auto;
156 157 height:500px;
157 158 font-size:0.9em;
158 159 padding:20px 10px 10px 20px;
159 160 margin-left: 120px;
160 161 border-left: 1px dashed #c0c0c0;
161 162
162 163 }
163 164
164 165 #content h2{
165 166 display:block;
166 167 margin:0 0 16px 0;
167 168 font-size:1.7em;
168 169 font-weight:normal;
169 170 letter-spacing:-1px;
170 171 color:#606060;
171 172 background-color:inherit;
172 173 font-family: Trebuchet MS,Georgia,"Times New Roman",serif;
173 174 }
174 175
175 176 #content h2 a{font-weight:normal;}
176 177 #content h3{margin:0 0 12px 0; font-size:1.4em;color:#707070;font-family: Trebuchet MS,Georgia,"Times New Roman",serif;}
177 178 #content h4{font-size: 1em; margin-bottom: 12px; margin-top: 20px; font-weight: normal; border-bottom: dotted 1px #c0c0c0;}
178 179 #content a:hover,#subcontent a:hover{text-decoration:underline;}
179 180 #content ul,#content ol{margin:0 5px 16px 35px;}
180 181 #content dl{margin:0 5px 10px 25px;}
181 182 #content dt{font-weight:bold; margin-bottom:5px;}
182 183 #content dd{margin:0 0 10px 15px;}
183 184
184 185
185 186 /***********************************************/
186 187
187 188 form {
188 189 display: inline;
189 190 }
190 191
191 192 blockquote {
192 193 padding-left: 6px;
193 194 border-left: 2px solid #ccc;
194 195 }
195 196
196 197 input, select {
197 198 vertical-align: middle;
198 199 }
199 200
200 201 input.button-small
201 202 {
202 203 font-size: 0.8em;
203 204 }
204 205
205 206 .select-small
206 207 {
207 208 font-size: 0.8em;
208 209 }
209 210
210 211 label {
211 212 font-weight: bold;
212 213 font-size: 1em;
213 214 }
214 215
215 216 fieldset {
216 217 border:1px solid #c0c0c0;
217 218 padding: 6px;
218 219 }
219 220
220 221 legend {
221 222 color: #505050;
222 223
223 224 }
224 225
225 226 .required {
226 227 color: #bb0000;
227 228 }
228 229
229 230 .odd {
230 231 background-color:#f6f7f8;
231 232 }
232 233 .even {
233 234 background-color: #fff;
234 235 }
235 236
236 237 hr { border:none; border-bottom: dotted 1px #c0c0c0; }
237 238
238 239 div.square {
239 240 border: 1px solid #999;
240 241 float: left;
241 242 margin: .4em .5em 0 0;
242 243 overflow: hidden;
243 244 width: .6em; height: .6em;
244 245 }
245 246
246 247 table p {
247 248 margin:0;
248 249 padding:0;
249 250 }
250 251
251 252 /********** Table used to display lists of things ***********/
252 253
253 254 table.list {
254 255 width:100%;
255 256 border-collapse: collapse;
256 257 border: 1px dotted #d0d0d0;
257 258 margin-bottom: 6px;
258 259 }
259 260
260 261 table.with-cells td {
261 262 border: 1px solid #d7d7d7;
262 263 }
263 264
264 265 table.list thead th {
265 266 text-align: center;
266 267 background: #eee;
267 268 border: 1px solid #d7d7d7;
268 269 }
269 270
270 271 table.list tbody th {
271 272 font-weight: normal;
272 273 background: #eed;
273 274 border: 1px solid #d7d7d7;
274 275 }
275 276
276 277 /********** Validation error messages *************/
277 278 #errorExplanation {
278 279 width: 400px;
279 280 border: 0;
280 281 padding: 7px;
281 282 padding-bottom: 3px;
282 283 margin-bottom: 0px;
283 284 }
284 285
285 286 #errorExplanation h2 {
286 287 text-align: left;
287 288 font-weight: bold;
288 289 padding: 5px 5px 10px 26px;
289 290 font-size: 1em;
290 291 margin: -7px;
291 292 background: url(../images/alert.png) no-repeat 6px 6px;
292 293 }
293 294
294 295 #errorExplanation p {
295 296 color: #333;
296 297 margin-bottom: 0;
297 298 padding: 5px;
298 299 }
299 300
300 301 #errorExplanation ul li {
301 302 font-size: 1em;
302 303 list-style: none;
303 304 margin-left: -16px;
304 305 }
305 306
306 307 /*========== Drop down menu ==============*/
307 308 div.menu {
308 309 background-color: #FFFFFF;
309 310 border-style: solid;
310 311 border-width: 1px;
311 312 border-color: #7F9DB9;
312 313 position: absolute;
313 314 top: 0px;
314 315 left: 0px;
315 316 padding: 0;
316 317 visibility: hidden;
317 318 z-index: 101;
318 319 }
319 320
320 321 div.menu a.menuItem {
321 322 font-size: 10px;
322 323 font-weight: normal;
323 324 line-height: 2em;
324 325 color: #000000;
325 326 background-color: #FFFFFF;
326 327 cursor: default;
327 328 display: block;
328 329 padding: 0 1em;
329 330 margin: 0;
330 331 border: 0;
331 332 text-decoration: none;
332 333 white-space: nowrap;
333 334 }
334 335
335 336 div.menu a.menuItem:hover, div.menu a.menuItemHighlight {
336 337 background-color: #80b0da;
337 338 color: #ffffff;
338 339 }
339 340
340 341 div.menu a.menuItem span.menuItemText {}
341 342
342 343 div.menu a.menuItem span.menuItemArrow {
343 344 margin-right: -.75em;
344 345 }
345 346
346 347 /**************** Sidebar styles ****************/
347 348
348 349 #subcontent{
349 350 position: absolute;
350 351 left: 0px;
351 352 width:110px;
352 353 padding:20px 20px 10px 5px;
353 354 }
354 355
355 356 #subcontent h2{
356 357 display:block;
357 358 margin:0 0 5px 0;
358 359 font-size:1.0em;
359 360 font-weight:bold;
360 361 text-align:left;
361 362 color:#606060;
362 363 background-color:inherit;
363 364 font-family: Trebuchet MS,Georgia,"Times New Roman",serif;
364 365 }
365 366
366 367 #subcontent p{margin:0 0 16px 0; font-size:0.9em;}
367 368
368 369 /**************** Menublock styles ****************/
369 370
370 371 .menublock{margin:0 0 20px 8px; font-size:0.8em;}
371 372 .menublock li{list-style:none; display:block; padding:1px; margin-bottom:0px;}
372 373 .menublock li a{font-weight:bold; text-decoration:none;}
373 374 .menublock li a:hover{text-decoration:none;}
374 375 .menublock li ul{margin:0; font-size:1em; font-weight:normal;}
375 376 .menublock li ul li{margin-bottom:0;}
376 377 .menublock li ul a{font-weight:normal;}
377 378
378 379 /**************** Footer styles ****************/
379 380
380 381 #footer{
381 382 clear:both;
382 383 padding:5px 0;
383 384 margin:0;
384 385 font-size:0.9em;
385 386 color:#f0f0f0;
386 387 background:#467aa7;
387 388 }
388 389
389 390 #footer p{padding:0; margin:0; text-align:center;}
390 391 #footer a{color:#f0f0f0; background-color:inherit; font-weight:bold;}
391 392 #footer a:hover{color:#ffffff; background-color:inherit; text-decoration: underline;}
392 393
393 394 /**************** Misc classes and styles ****************/
394 395
395 396 .splitcontentleft{float:left; width:49%;}
396 397 .splitcontentright{float:right; width:49%;}
397 398 .clear{clear:both;}
398 399 .small{font-size:0.8em;line-height:1.4em;padding:0 0 0 0;}
399 400 .hide{display:none;}
400 401 .textcenter{text-align:center;}
401 402 .textright{text-align:right;}
402 403 .important{color:#f02025; background-color:inherit; font-weight:bold;}
403 404
404 405 .box{
405 406 margin:0 0 20px 0;
406 407 padding:10px;
407 408 border:1px solid #c0c0c0;
408 409 background-color:#fafbfc;
409 410 color:#505050;
410 411 line-height:1.5em;
411 412 }
412 413
413 414 a.close-icon {
414 415 display:block;
415 416 margin-top:3px;
416 417 overflow:hidden;
417 418 width:12px;
418 419 height:12px;
419 420 background-repeat: no-repeat;
420 421 cursor:pointer;
421 422 background-image:url('../images/close.png');
422 423 }
423 424
424 425 a.close-icon:hover {
425 426 background-image:url('../images/close_hl.png');
426 427 }
427 428
428 429 .rightbox{
429 430 background: #fafbfc;
430 431 border: 1px solid #c0c0c0;
431 432 float: right;
432 433 padding: 8px;
433 434 position: relative;
434 435 margin: 0 5px 5px;
435 436 }
436 437
437 438 .layout-active {
438 439 background: #ECF3E1;
439 440 }
440 441
441 442 .block-receiver {
442 443 border:1px dashed #c0c0c0;
443 444 margin-bottom: 20px;
444 445 padding: 15px 0 15px 0;
445 446 }
446 447
447 448 .mypage-box {
448 449 margin:0 0 20px 0;
449 450 color:#505050;
450 451 line-height:1.5em;
451 452 }
452 453
453 454 .handle {
454 455 cursor: move;
455 456 }
456 457
457 458 .login {
458 459 width: 50%;
459 460 text-align: left;
460 461 }
461 462
462 463 img.calendar-trigger {
463 464 cursor: pointer;
464 465 vertical-align: middle;
465 466 margin-left: 4px;
466 467 }
467 468
468 469 #history p {
469 470 margin-left: 34px;
470 471 }
471 472
472 473 /***** Contextual links div *****/
473 474 .contextual {
474 475 float: right;
475 476 font-size: 0.8em;
476 477 }
477 478
478 479 .contextual select, .contextual input {
479 480 font-size: 1em;
480 481 }
481 482
482 483
483 484 /***** CSS FORM ******/
484 485 .tabular p{
485 486 margin: 0;
486 487 padding: 5px 0 8px 0;
487 488 padding-left: 180px; /*width of left column containing the label elements*/
488 489 height: 1%;
489 490 }
490 491
491 492 .tabular label{
492 493 font-weight: bold;
493 494 float: left;
494 495 margin-left: -180px; /*width of left column*/
495 496 width: 175px; /*width of labels. Should be smaller than left column to create some right
496 497 margin*/
497 498 }
498 499
499 500 .error {
500 501 color: #cc0000;
501 502 }
502 503
503 504
504 505 /*.threepxfix class below:
505 506 Targets IE6- ONLY. Adds 3 pixel indent for multi-line form contents.
506 507 to account for 3 pixel bug: http://www.positioniseverything.net/explorer/threepxtest.html
507 508 */
508 509
509 510 * html .threepxfix{
510 511 margin-left: 3px;
511 512 } No newline at end of file
General Comments 0
You need to be logged in to leave comments. Login now