##// END OF EJS Templates
Slight change to issues/show....
Jean-Philippe Lang -
r751:24b000fb242e
parent child
Show More
@@ -1,13 +1,13
1 <div class="attachments">
1 <div class="attachments">
2 <% for attachment in attachments %>
2 <% for attachment in attachments %>
3 <p><%= link_to attachment.filename, {:controller => 'attachments', :action => 'download', :id => attachment }, :class => 'icon icon-attachment' %>
3 <p><%= link_to attachment.filename, {:controller => 'attachments', :action => 'download', :id => attachment }, :class => 'icon icon-attachment' %>
4 (<%= number_to_human_size attachment.filesize %>)
4 (<%= number_to_human_size attachment.filesize %>)
5 <% unless options[:no_author] %>
5 <% unless options[:no_author] %>
6 <em><%= attachment.author.name %>, <%= format_date(attachment.created_on) %></em>
6 <span class="author"><%= attachment.author.name %>, <%= format_date(attachment.created_on) %></span>
7 <% end %>
7 <% end %>
8 <% if options[:delete_url] %>
8 <% if options[:delete_url] %>
9 <%= link_to image_tag('delete.png'), options[:delete_url].update({:attachment_id => attachment}), :confirm => l(:text_are_you_sure), :method => :post %>
9 <%= link_to image_tag('delete.png'), options[:delete_url].update({:attachment_id => attachment}), :confirm => l(:text_are_you_sure), :method => :post %>
10 <% end %>
10 <% end %>
11 </p>
11 </p>
12 <% end %>
12 <% end %>
13 </div>
13 </div>
@@ -1,122 +1,122
1 <div class="contextual">
1 <div class="contextual">
2 <%= show_and_goto_link(l(:label_add_note), 'add-note', :class => 'icon icon-note') if authorize_for('issues', 'add_note') %>
2 <%= show_and_goto_link(l(:label_add_note), 'add-note', :class => 'icon icon-note') if authorize_for('issues', 'add_note') %>
3 <%= link_to_if_authorized l(:button_edit), {:controller => 'issues', :action => 'edit', :id => @issue}, :class => 'icon icon-edit' %>
3 <%= link_to_if_authorized l(:button_edit), {:controller => 'issues', :action => 'edit', :id => @issue}, :class => 'icon icon-edit' %>
4 <%= link_to_if_authorized l(:button_log_time), {:controller => 'timelog', :action => 'edit', :issue_id => @issue}, :class => 'icon icon-time' %>
4 <%= link_to_if_authorized l(:button_log_time), {:controller => 'timelog', :action => 'edit', :issue_id => @issue}, :class => 'icon icon-time' %>
5 <%= watcher_tag(@issue, User.current) %>
5 <%= watcher_tag(@issue, User.current) %>
6 <%= link_to_if_authorized l(:button_move), {:controller => 'projects', :action => 'move_issues', :id => @project, "issue_ids[]" => @issue.id }, :class => 'icon icon-move' %>
6 <%= link_to_if_authorized l(:button_move), {:controller => 'projects', :action => 'move_issues', :id => @project, "issue_ids[]" => @issue.id }, :class => 'icon icon-move' %>
7 <%= link_to_if_authorized l(:button_delete), {:controller => 'issues', :action => 'destroy', :id => @issue}, :confirm => l(:text_are_you_sure), :method => :post, :class => 'icon icon-del' %>
7 <%= link_to_if_authorized l(:button_delete), {:controller => 'issues', :action => 'destroy', :id => @issue}, :confirm => l(:text_are_you_sure), :method => :post, :class => 'icon icon-del' %>
8 </div>
8 </div>
9
9
10 <h2><%= @issue.tracker.name %> #<%= @issue.id %></h2>
10 <h2><%= @issue.tracker.name %> #<%= @issue.id %></h2>
11
11
12 <div class="issue">
12 <div class="issue">
13 <h3><%=h @issue.subject %></h3>
13 <h3><%=h @issue.subject %></h3>
14 <p class="author">
14 <p class="author">
15 <%= authoring @issue.created_on, @issue.author %>.
15 <%= authoring @issue.created_on, @issue.author %>.
16 <%= l(:label_updated_time, distance_of_time_in_words(Time.now, @issue.updated_on)) if @issue.created_on != @issue.updated_on %>.
16 <%= l(:label_updated_time, distance_of_time_in_words(Time.now, @issue.updated_on)) if @issue.created_on != @issue.updated_on %>.
17 </p>
17 </p>
18
18
19 <table width="100%">
19 <table width="100%">
20 <tr>
20 <tr>
21 <td style="width:15%"><b><%=l(:field_status)%> :</b></td><td style="width:35%"><%= @issue.status.name %></td>
21 <td style="width:15%"><b><%=l(:field_status)%> :</b></td><td style="width:35%"><%= @issue.status.name %></td>
22 <td style="width:15%"><b><%=l(:field_start_date)%> :</b></td><td style="width:35%"><%= format_date(@issue.start_date) %></td>
22 <td style="width:15%"><b><%=l(:field_start_date)%> :</b></td><td style="width:35%"><%= format_date(@issue.start_date) %></td>
23 </tr>
23 </tr>
24 <tr>
24 <tr>
25 <td><b><%=l(:field_priority)%> :</b></td><td><%= @issue.priority.name %></td>
25 <td><b><%=l(:field_priority)%> :</b></td><td><%= @issue.priority.name %></td>
26 <td><b><%=l(:field_due_date)%> :</b></td><td><%= format_date(@issue.due_date) %></td>
26 <td><b><%=l(:field_due_date)%> :</b></td><td><%= format_date(@issue.due_date) %></td>
27 </tr>
27 </tr>
28 <tr>
28 <tr>
29 <td><b><%=l(:field_assigned_to)%> :</b></td><td><%= @issue.assigned_to ? link_to_user(@issue.assigned_to) : "-" %></td>
29 <td><b><%=l(:field_assigned_to)%> :</b></td><td><%= @issue.assigned_to ? link_to_user(@issue.assigned_to) : "-" %></td>
30 <td><b><%=l(:field_done_ratio)%> :</b></td><td><%= @issue.done_ratio %> %</td>
30 <td><b><%=l(:field_done_ratio)%> :</b></td><td><%= @issue.done_ratio %> %</td>
31 </tr>
31 </tr>
32 <tr>
32 <tr>
33 <td><b><%=l(:field_category)%> :</b></td><td><%=h @issue.category ? @issue.category.name : "-" %></td>
33 <td><b><%=l(:field_category)%> :</b></td><td><%=h @issue.category ? @issue.category.name : "-" %></td>
34 <% if User.current.allowed_to?(:view_time_entries, @project) %>
34 <% if User.current.allowed_to?(:view_time_entries, @project) %>
35 <td><b><%=l(:label_spent_time)%> :</b></td>
35 <td><b><%=l(:label_spent_time)%> :</b></td>
36 <td><%= @issue.spent_hours > 0 ? (link_to lwr(:label_f_hour, @issue.spent_hours), {:controller => 'timelog', :action => 'details', :issue_id => @issue}, :class => 'icon icon-time') : "-" %></td>
36 <td><%= @issue.spent_hours > 0 ? (link_to lwr(:label_f_hour, @issue.spent_hours), {:controller => 'timelog', :action => 'details', :issue_id => @issue}, :class => 'icon icon-time') : "-" %></td>
37 <% end %>
37 <% end %>
38 </tr>
38 </tr>
39 <tr>
39 <tr>
40 <td><b><%=l(:field_fixed_version)%> :</b></td><td><%= @issue.fixed_version ? link_to_version(@issue.fixed_version) : "-" %></td>
40 <td><b><%=l(:field_fixed_version)%> :</b></td><td><%= @issue.fixed_version ? link_to_version(@issue.fixed_version) : "-" %></td>
41 <% if @issue.estimated_hours %>
41 <% if @issue.estimated_hours %>
42 <td><b><%=l(:field_estimated_hours)%> :</b></td><td><%= lwr(:label_f_hour, @issue.estimated_hours) %></td>
42 <td><b><%=l(:field_estimated_hours)%> :</b></td><td><%= lwr(:label_f_hour, @issue.estimated_hours) %></td>
43 <% end %>
43 <% end %>
44 </tr>
44 </tr>
45 <tr>
45 <tr>
46 <% n = 0
46 <% n = 0
47 for custom_value in @custom_values %>
47 for custom_value in @custom_values %>
48 <td valign="top"><b><%= custom_value.custom_field.name %> :</b></td><td valign="top"><%= simple_format(h(show_value(custom_value))) %></td>
48 <td valign="top"><b><%= custom_value.custom_field.name %> :</b></td><td valign="top"><%= simple_format(h(show_value(custom_value))) %></td>
49 <% n = n + 1
49 <% n = n + 1
50 if (n > 1)
50 if (n > 1)
51 n = 0 %>
51 n = 0 %>
52 </tr><tr>
52 </tr><tr>
53 <%end
53 <%end
54 end %>
54 end %>
55 </tr>
55 </tr>
56 </table>
56 </table>
57 <hr />
57 <hr />
58
58
59 <% if @issue.changesets.any? %>
59 <% if @issue.changesets.any? %>
60 <div style="float:right;">
60 <div style="float:right;">
61 <em><%= l(:label_revision_plural) %>: <%= @issue.changesets.collect{|changeset| link_to(changeset.revision, :controller => 'repositories', :action => 'revision', :id => @project, :rev => changeset.revision)}.join(", ") %></em>
61 <em><%= l(:label_revision_plural) %>: <%= @issue.changesets.collect{|changeset| link_to(changeset.revision, :controller => 'repositories', :action => 'revision', :id => @project, :rev => changeset.revision)}.join(", ") %></em>
62 </div>
62 </div>
63 <% end %>
63 <% end %>
64
64
65 <p><b><%=l(:field_description)%></b></p>
65 <p><strong><%=l(:field_description)%></strong></p>
66 <%= textilizable @issue.description, :attachments => @issue.attachments %>
66 <%= textilizable @issue.description, :attachments => @issue.attachments %>
67
67
68 <% if @issue.attachments.any? %>
69 <%= link_to_attachments @issue.attachments, :delete_url => (authorize_for('issues', 'destroy_attachment') ? {:controller => 'issues', :action => 'destroy_attachment', :id => @issue} : nil) %>
70 <% end %>
71
68 <% if authorize_for('issue_relations', 'new') || @issue.relations.any? %>
72 <% if authorize_for('issue_relations', 'new') || @issue.relations.any? %>
69 <hr />
73 <hr />
70 <div id="relations">
74 <div id="relations">
71 <%= render :partial => 'relations' %>
75 <%= render :partial => 'relations' %>
72 </div>
76 </div>
73 <% end %>
77 <% end %>
74
78
75 <% if @issue.attachments.any? %>
76 <%= link_to_attachments @issue.attachments, :delete_url => (authorize_for('issues', 'destroy_attachment') ? {:controller => 'issues', :action => 'destroy_attachment', :id => @issue} : nil) %>
77 <% end %>
78
79 </div>
79 </div>
80
80
81 <% if authorize_for('issues', 'change_status') and @status_options and !@status_options.empty? %>
81 <% if authorize_for('issues', 'change_status') and @status_options and !@status_options.empty? %>
82 <% form_tag({:controller => 'issues', :action => 'change_status', :id => @issue}) do %>
82 <% form_tag({:controller => 'issues', :action => 'change_status', :id => @issue}) do %>
83 <p><%=l(:label_change_status)%> :
83 <p><%=l(:label_change_status)%> :
84 <select name="new_status_id">
84 <select name="new_status_id">
85 <%= options_from_collection_for_select @status_options, "id", "name" %>
85 <%= options_from_collection_for_select @status_options, "id", "name" %>
86 </select>
86 </select>
87 <%= submit_tag l(:button_change) %></p>
87 <%= submit_tag l(:button_change) %></p>
88 <% end %>
88 <% end %>
89 <% end %>
89 <% end %>
90
90
91 <% if @journals.any? %>
91 <% if @journals.any? %>
92 <div id="history">
92 <div id="history">
93 <h3><%=l(:label_history)%></h3>
93 <h3><%=l(:label_history)%></h3>
94 <%= render :partial => 'history', :locals => { :journals => @journals } %>
94 <%= render :partial => 'history', :locals => { :journals => @journals } %>
95 </div>
95 </div>
96 <% end %>
96 <% end %>
97
97
98 <% if authorize_for('issues', 'add_note') %>
98 <% if authorize_for('issues', 'add_note') %>
99 <a name="add-note-anchor"></a>
99 <a name="add-note-anchor"></a>
100 <div id="add-note" class="box" style="display:none;">
100 <div id="add-note" class="box" style="display:none;">
101 <h3><%= l(:label_add_note) %></h3>
101 <h3><%= l(:label_add_note) %></h3>
102 <% form_tag({:controller => 'issues', :action => 'add_note', :id => @issue}, :class => "tabular", :multipart => true) do %>
102 <% form_tag({:controller => 'issues', :action => 'add_note', :id => @issue}, :class => "tabular", :multipart => true) do %>
103 <p><label for="notes"><%=l(:field_notes)%></label>
103 <p><label for="notes"><%=l(:field_notes)%></label>
104 <%= text_area_tag 'notes', '', :cols => 60, :rows => 10, :class => 'wiki-edit' %></p>
104 <%= text_area_tag 'notes', '', :cols => 60, :rows => 10, :class => 'wiki-edit' %></p>
105 <%= wikitoolbar_for 'notes' %>
105 <%= wikitoolbar_for 'notes' %>
106 <%= render :partial => 'attachments/form' %>
106 <%= render :partial => 'attachments/form' %>
107 <%= submit_tag l(:button_add) %>
107 <%= submit_tag l(:button_add) %>
108 <%= toggle_link l(:button_cancel), 'add-note' %>
108 <%= toggle_link l(:button_cancel), 'add-note' %>
109 <% end %>
109 <% end %>
110 </div>
110 </div>
111 <% end %>
111 <% end %>
112
112
113 <div class="contextual">
113 <div class="contextual">
114 <%= l(:label_export_to) %><%= link_to 'PDF', {:action => 'export_pdf', :id => @issue}, :class => 'icon icon-pdf' %>
114 <%= l(:label_export_to) %><%= link_to 'PDF', {:action => 'export_pdf', :id => @issue}, :class => 'icon icon-pdf' %>
115 </div>
115 </div>
116 &nbsp;
116 &nbsp;
117
117
118 <% set_html_title "#{@issue.tracker.name} ##{@issue.id}: #{@issue.subject}" %>
118 <% set_html_title "#{@issue.tracker.name} ##{@issue.id}: #{@issue.subject}" %>
119
119
120 <% content_for :sidebar do %>
120 <% content_for :sidebar do %>
121 <%= render :partial => 'issues/sidebar' %>
121 <%= render :partial => 'issues/sidebar' %>
122 <% end %>
122 <% end %>
@@ -1,449 +1,451
1 body { font-family: Verdana, sans-serif; font-size: 12px; color:#484848; margin: 0; padding: 0; min-width: 900px; }
1 body { font-family: Verdana, sans-serif; font-size: 12px; color:#484848; margin: 0; padding: 0; min-width: 900px; }
2
2
3 h1, h2, h3 { font-family: "Trebuchet MS", Verdana, sans-serif;}
3 h1, h2, h3 { font-family: "Trebuchet MS", Verdana, sans-serif;}
4 h1 {margin:0; padding:0; font-size: 24px;}
4 h1 {margin:0; padding:0; font-size: 24px;}
5 h2, .wiki h1 {font-size: 20px;padding: 2px 10px 1px 0px;margin: 0 0 10px 0; border-bottom: 1px solid #bbbbbb; color: #444;}
5 h2, .wiki h1 {font-size: 20px;padding: 2px 10px 1px 0px;margin: 0 0 10px 0; border-bottom: 1px solid #bbbbbb; color: #444;}
6 h3, .wiki h2 {font-size: 16px;padding: 2px 10px 1px 0px;margin: 0 0 10px 0; border-bottom: 1px solid #bbbbbb; color: #444;}
6 h3, .wiki h2 {font-size: 16px;padding: 2px 10px 1px 0px;margin: 0 0 10px 0; border-bottom: 1px solid #bbbbbb; color: #444;}
7 h4, .wiki h3 {font-size: 11px;padding: 2px 10px 1px 0px;margin-bottom: 5px; border-bottom: 1px dotted #bbbbbb; color: #444;}
7 h4, .wiki h3 {font-size: 11px;padding: 2px 10px 1px 0px;margin-bottom: 5px; border-bottom: 1px dotted #bbbbbb; color: #444;}
8
8
9 /***** Layout *****/
9 /***** Layout *****/
10 #top-menu {background: #2C4056;color: #fff;height:1.5em; padding: 2px 6px 0px 6px;}
10 #top-menu {background: #2C4056;color: #fff;height:1.5em; padding: 2px 6px 0px 6px;}
11 #top-menu a {color: #fff; padding-right: 4px;}
11 #top-menu a {color: #fff; padding-right: 4px;}
12 #account {float:right;}
12 #account {float:right;}
13
13
14 #header {height:5.3em;margin:0;background-color:#507AAA;color:#f8f8f8; padding: 4px 8px 0px 6px;}
14 #header {height:5.3em;margin:0;background-color:#507AAA;color:#f8f8f8; padding: 4px 8px 0px 6px;}
15 #header a {color:#f8f8f8;}
15 #header a {color:#f8f8f8;}
16 #quick-search {float:right;}
16 #quick-search {float:right;}
17
17
18 #main-menu {position: absolute; top: 5.5em; left:6px;}
18 #main-menu {position: absolute; top: 5.5em; left:6px;}
19 #main-menu ul {margin: 0; padding: 0;}
19 #main-menu ul {margin: 0; padding: 0;}
20 #main-menu li {
20 #main-menu li {
21 float:left;
21 float:left;
22 list-style-type:none;
22 list-style-type:none;
23 margin: 0px 10px 0px 0px;
23 margin: 0px 10px 0px 0px;
24 padding: 0px 0px 0px 0px;
24 padding: 0px 0px 0px 0px;
25 white-space:nowrap;
25 white-space:nowrap;
26 }
26 }
27 #main-menu li a {
27 #main-menu li a {
28 display: block;
28 display: block;
29 color: #fff;
29 color: #fff;
30 text-decoration: none;
30 text-decoration: none;
31 margin: 0;
31 margin: 0;
32 padding: 4px 4px 4px 4px;
32 padding: 4px 4px 4px 4px;
33 background: #2C4056;
33 background: #2C4056;
34 }
34 }
35 #main-menu li a:hover {background:#759FCF;}
35 #main-menu li a:hover {background:#759FCF;}
36
36
37 #main {background: url(../images/mainbg.png) repeat-x; background-color:#EEEEEE;}
37 #main {background: url(../images/mainbg.png) repeat-x; background-color:#EEEEEE;}
38
38
39 #sidebar{ float: right; width: 17%; position: relative; z-index: 9; min-height: 600px; padding: 0; margin: 0;}
39 #sidebar{ float: right; width: 17%; position: relative; z-index: 9; min-height: 600px; padding: 0; margin: 0;}
40 * html #sidebar{ width: 17%; }
40 * html #sidebar{ width: 17%; }
41 #sidebar h3{ font-size: 14px; margin-top:14px; color: #666; }
41 #sidebar h3{ font-size: 14px; margin-top:14px; color: #666; }
42 #sidebar hr{ width: 100%; margin: 0 auto; height: 1px; background: #ccc; border: 0; }
42 #sidebar hr{ width: 100%; margin: 0 auto; height: 1px; background: #ccc; border: 0; }
43 * html #sidebar hr{ width: 95%; position: relative; left: -6px; color: #ccc; }
43 * html #sidebar hr{ width: 95%; position: relative; left: -6px; color: #ccc; }
44
44
45 #content { width: 80%; background: url(../images/contentbg.png) repeat-x; background-color: #fff; margin: 0px; border-right: 1px solid #ddd; padding: 6px 10px 10px 10px; position: relative; z-index: 10; height:600px; min-height: 600px;}
45 #content { width: 80%; background: url(../images/contentbg.png) repeat-x; background-color: #fff; margin: 0px; border-right: 1px solid #ddd; padding: 6px 10px 10px 10px; position: relative; z-index: 10; height:600px; min-height: 600px;}
46 * html #content{ width: 80%; padding-left: 0; margin-top: 0px; padding: 6px 10px 10px 10px;}
46 * html #content{ width: 80%; padding-left: 0; margin-top: 0px; padding: 6px 10px 10px 10px;}
47 html>body #content {
47 html>body #content {
48 height: auto;
48 height: auto;
49 min-height: 600px;
49 min-height: 600px;
50 }
50 }
51
51
52 #main.nosidebar #sidebar{ display: none; }
52 #main.nosidebar #sidebar{ display: none; }
53 #main.nosidebar #content{ width: auto; border-right: 0; }
53 #main.nosidebar #content{ width: auto; border-right: 0; }
54
54
55 #footer {clear: both; border-top: 1px solid #bbb; font-size: 11px; padding: 5px; text-align:center; background:#fff;}
55 #footer {clear: both; border-top: 1px solid #bbb; font-size: 11px; padding: 5px; text-align:center; background:#fff;}
56
56
57 #login-form table {margin-top:5em; padding:1em; margin-left: auto; margin-right: auto; border: 2px solid #FDBF3B; background-color:#FFEBC1; }
57 #login-form table {margin-top:5em; padding:1em; margin-left: auto; margin-right: auto; border: 2px solid #FDBF3B; background-color:#FFEBC1; }
58 #login-form table td {padding: 6px;}
58 #login-form table td {padding: 6px;}
59 #login-form label {font-weight: bold;}
59 #login-form label {font-weight: bold;}
60
60
61 .clear:after{ content: "."; display: block; height: 0; clear: both; visibility: hidden; }
61 .clear:after{ content: "."; display: block; height: 0; clear: both; visibility: hidden; }
62
62
63 /***** Links *****/
63 /***** Links *****/
64 a, a:link, a:visited{ color: #2A5685; text-decoration: none; }
64 a, a:link, a:visited{ color: #2A5685; text-decoration: none; }
65 a:hover, a:active{ color: #c61a1a; text-decoration: underline;}
65 a:hover, a:active{ color: #c61a1a; text-decoration: underline;}
66 a img{ border: 0; }
66 a img{ border: 0; }
67
67
68 /***** Tables *****/
68 /***** Tables *****/
69 table.list { border: 1px solid #e4e4e4; border-collapse: collapse; width: 100%; margin-bottom: 4px; }
69 table.list { border: 1px solid #e4e4e4; border-collapse: collapse; width: 100%; margin-bottom: 4px; }
70 table.list th { background-color:#EEEEEE; padding: 4px; white-space:nowrap; }
70 table.list th { background-color:#EEEEEE; padding: 4px; white-space:nowrap; }
71 table.list tbody th { text-align: left; padding: 0px; }
71 table.list tbody th { text-align: left; padding: 0px; }
72 table.list td { overflow: hidden; text-overflow: ellipsis; vertical-align: top;}
72 table.list td { overflow: hidden; text-overflow: ellipsis; vertical-align: top;}
73 table.list tbody tr:hover { background-color:#ffffdd; }
73 table.list tbody tr:hover { background-color:#ffffdd; }
74 table td {padding:2px;}
74 table td {padding:2px;}
75 table p {margin:0;}
75 table p {margin:0;}
76 .odd {background-color:#f6f7f8;}
76 .odd {background-color:#f6f7f8;}
77 .even {background-color: #fff;}
77 .even {background-color: #fff;}
78
78
79 .highlight { background-color: #FCFD8D;}
79 .highlight { background-color: #FCFD8D;}
80
80
81 .box{
81 .box{
82 padding:6px;
82 padding:6px;
83 margin-bottom: 10px;
83 margin-bottom: 10px;
84 background-color:#f6f6f6;
84 background-color:#f6f6f6;
85 color:#505050;
85 color:#505050;
86 line-height:1.5em;
86 line-height:1.5em;
87 border: 1px solid #e4e4e4;
87 border: 1px solid #e4e4e4;
88 }
88 }
89
89
90 div.square {
90 div.square {
91 border: 1px solid #999;
91 border: 1px solid #999;
92 float: left;
92 float: left;
93 margin: .3em .4em 0 .4em;
93 margin: .3em .4em 0 .4em;
94 overflow: hidden;
94 overflow: hidden;
95 width: .6em; height: .6em;
95 width: .6em; height: .6em;
96 }
96 }
97
97
98 .contextual {float:right; white-space: nowrap; line-height:1.4em;margin-top:5px;font-size:0.9em;}
98 .contextual {float:right; white-space: nowrap; line-height:1.4em;margin-top:5px;font-size:0.9em;}
99 .splitcontentleft{float:left; width:49%;}
99 .splitcontentleft{float:left; width:49%;}
100 .splitcontentright{float:right; width:49%;}
100 .splitcontentright{float:right; width:49%;}
101 form {display: inline;}
101 form {display: inline;}
102 input, select {vertical-align: middle; margin-top: 1px; margin-bottom: 1px;}
102 input, select {vertical-align: middle; margin-top: 1px; margin-bottom: 1px;}
103 fieldset {border: 1px solid #e4e4e4; margin:0;}
103 fieldset {border: 1px solid #e4e4e4; margin:0;}
104 hr { width: 100%; height: 1px; background: #ccc; border: 0;}
104 hr { width: 100%; height: 1px; background: #ccc; border: 0;}
105 textarea.wiki-edit { width: 99%; }
105 textarea.wiki-edit { width: 99%; }
106 li p {margin-top: 0;}
106 li p {margin-top: 0;}
107 div.issue {background:#ffffdd; padding:6px; margin-bottom:6px;border: 1px solid #d7d7d7;}
107 div.issue {background:#ffffdd; padding:6px; margin-bottom:6px;border: 1px solid #d7d7d7;}
108 .autoscroll {overflow-x: auto; padding:1px; width:100%;}
108 .autoscroll {overflow-x: auto; padding:1px; width:100%;}
109
109
110 /***** Tabular forms ******/
110 /***** Tabular forms ******/
111 .tabular p{
111 .tabular p{
112 margin: 0;
112 margin: 0;
113 padding: 5px 0 8px 0;
113 padding: 5px 0 8px 0;
114 padding-left: 180px; /*width of left column containing the label elements*/
114 padding-left: 180px; /*width of left column containing the label elements*/
115 height: 1%;
115 height: 1%;
116 clear:left;
116 clear:left;
117 }
117 }
118
118
119 .tabular label{
119 .tabular label{
120 font-weight: bold;
120 font-weight: bold;
121 float: left;
121 float: left;
122 text-align: right;
122 text-align: right;
123 margin-left: -180px; /*width of left column*/
123 margin-left: -180px; /*width of left column*/
124 width: 175px; /*width of labels. Should be smaller than left column to create some right
124 width: 175px; /*width of labels. Should be smaller than left column to create some right
125 margin*/
125 margin*/
126 }
126 }
127
127
128 #settings .tabular p{ padding-left: 300px; }
128 #settings .tabular p{ padding-left: 300px; }
129 #settings .tabular label{ margin-left: -300px; width: 295px; }
129 #settings .tabular label{ margin-left: -300px; width: 295px; }
130
130
131 .required {color: #bb0000;}
131 .required {color: #bb0000;}
132 .summary {font-style: italic;}
132 .summary {font-style: italic;}
133
133
134 div.attachments p { margin:4px 0 2px 0; }
135
134 /***** Flash & error messages ****/
136 /***** Flash & error messages ****/
135 #flash div, #errorExplanation, .nodata {
137 #flash div, #errorExplanation, .nodata {
136 padding: 4px 4px 4px 30px;
138 padding: 4px 4px 4px 30px;
137 margin-bottom: 12px;
139 margin-bottom: 12px;
138 font-size: 1.1em;
140 font-size: 1.1em;
139 border: 2px solid;
141 border: 2px solid;
140 }
142 }
141
143
142 #flash div {margin-top: 6px;}
144 #flash div {margin-top: 6px;}
143
145
144 #flash div.error, #errorExplanation {
146 #flash div.error, #errorExplanation {
145 background: url(../images/false.png) 8px 5px no-repeat;
147 background: url(../images/false.png) 8px 5px no-repeat;
146 background-color: #ffe3e3;
148 background-color: #ffe3e3;
147 border-color: #dd0000;
149 border-color: #dd0000;
148 color: #550000;
150 color: #550000;
149 }
151 }
150
152
151 #flash div.notice {
153 #flash div.notice {
152 background: url(../images/true.png) 8px 5px no-repeat;
154 background: url(../images/true.png) 8px 5px no-repeat;
153 background-color: #dfffdf;
155 background-color: #dfffdf;
154 border-color: #9fcf9f;
156 border-color: #9fcf9f;
155 color: #005f00;
157 color: #005f00;
156 }
158 }
157
159
158 .nodata {
160 .nodata {
159 text-align: center;
161 text-align: center;
160 background-color: #FFEBC1;
162 background-color: #FFEBC1;
161 border-color: #FDBF3B;
163 border-color: #FDBF3B;
162 color: #A6750C;
164 color: #A6750C;
163 }
165 }
164
166
165 #errorExplanation ul { font-size: 0.9em;}
167 #errorExplanation ul { font-size: 0.9em;}
166
168
167 /***** Ajax indicator ******/
169 /***** Ajax indicator ******/
168 #ajax-indicator {
170 #ajax-indicator {
169 position: absolute; /* fixed not supported by IE */
171 position: absolute; /* fixed not supported by IE */
170 background-color:#eee;
172 background-color:#eee;
171 border: 1px solid #bbb;
173 border: 1px solid #bbb;
172 top:35%;
174 top:35%;
173 left:40%;
175 left:40%;
174 width:20%;
176 width:20%;
175 font-weight:bold;
177 font-weight:bold;
176 text-align:center;
178 text-align:center;
177 padding:0.6em;
179 padding:0.6em;
178 z-index:100;
180 z-index:100;
179 filter:alpha(opacity=50);
181 filter:alpha(opacity=50);
180 -moz-opacity:0.5;
182 -moz-opacity:0.5;
181 opacity: 0.5;
183 opacity: 0.5;
182 -khtml-opacity: 0.5;
184 -khtml-opacity: 0.5;
183 }
185 }
184
186
185 html>body #ajax-indicator { position: fixed; }
187 html>body #ajax-indicator { position: fixed; }
186
188
187 #ajax-indicator span {
189 #ajax-indicator span {
188 background-position: 0% 40%;
190 background-position: 0% 40%;
189 background-repeat: no-repeat;
191 background-repeat: no-repeat;
190 background-image: url(../images/loading.gif);
192 background-image: url(../images/loading.gif);
191 padding-left: 26px;
193 padding-left: 26px;
192 vertical-align: bottom;
194 vertical-align: bottom;
193 }
195 }
194
196
195 /***** Calendar *****/
197 /***** Calendar *****/
196 table.cal {border-collapse: collapse; width: 100%; margin: 8px 0 6px 0;border: 1px solid #d7d7d7;}
198 table.cal {border-collapse: collapse; width: 100%; margin: 8px 0 6px 0;border: 1px solid #d7d7d7;}
197 table.cal th { background-color:#EEEEEE; padding: 4px; }
199 table.cal th { background-color:#EEEEEE; padding: 4px; }
198 table.cal td {border: 1px solid #d7d7d7;}
200 table.cal td {border: 1px solid #d7d7d7;}
199 table.cal td.today {background:#ffffdd;}
201 table.cal td.today {background:#ffffdd;}
200
202
201 /***** Tooltips ******/
203 /***** Tooltips ******/
202 .tooltip{position:relative;z-index:24;}
204 .tooltip{position:relative;z-index:24;}
203 .tooltip:hover{z-index:25;color:#000;}
205 .tooltip:hover{z-index:25;color:#000;}
204 .tooltip span.tip{display: none; text-align:left;}
206 .tooltip span.tip{display: none; text-align:left;}
205
207
206 div.tooltip:hover span.tip{
208 div.tooltip:hover span.tip{
207 display:block;
209 display:block;
208 position:absolute;
210 position:absolute;
209 top:12px; left:24px; width:270px;
211 top:12px; left:24px; width:270px;
210 border:1px solid #555;
212 border:1px solid #555;
211 background-color:#fff;
213 background-color:#fff;
212 padding: 4px;
214 padding: 4px;
213 font-size: 0.8em;
215 font-size: 0.8em;
214 color:#505050;
216 color:#505050;
215 }
217 }
216
218
217 /***** Progress bar *****/
219 /***** Progress bar *****/
218 .progress {
220 .progress {
219 border: 1px solid #D7D7D7;
221 border: 1px solid #D7D7D7;
220 border-collapse: collapse;
222 border-collapse: collapse;
221 border-spacing: 0pt;
223 border-spacing: 0pt;
222 empty-cells: show;
224 empty-cells: show;
223 padding: 3px;
225 padding: 3px;
224 width: 40em;
226 width: 40em;
225 text-align: center;
227 text-align: center;
226 }
228 }
227
229
228 .progress td { height: 1em; }
230 .progress td { height: 1em; }
229 .progress .closed { background: #BAE0BA none repeat scroll 0%; }
231 .progress .closed { background: #BAE0BA none repeat scroll 0%; }
230 .progress .open { background: #FFF none repeat scroll 0%; }
232 .progress .open { background: #FFF none repeat scroll 0%; }
231
233
232 /***** Tabs *****/
234 /***** Tabs *****/
233 #content .tabs{height: 2.6em;}
235 #content .tabs{height: 2.6em;}
234 #content .tabs ul{margin:0;}
236 #content .tabs ul{margin:0;}
235 #content .tabs ul li{
237 #content .tabs ul li{
236 float:left;
238 float:left;
237 list-style-type:none;
239 list-style-type:none;
238 white-space:nowrap;
240 white-space:nowrap;
239 margin-right:8px;
241 margin-right:8px;
240 background:#fff;
242 background:#fff;
241 }
243 }
242 #content .tabs ul li a{
244 #content .tabs ul li a{
243 display:block;
245 display:block;
244 font-size: 0.9em;
246 font-size: 0.9em;
245 text-decoration:none;
247 text-decoration:none;
246 line-height:1em;
248 line-height:1em;
247 padding:4px;
249 padding:4px;
248 border: 1px solid #c0c0c0;
250 border: 1px solid #c0c0c0;
249 }
251 }
250
252
251 #content .tabs ul li a.selected, #content .tabs ul li a:hover{
253 #content .tabs ul li a.selected, #content .tabs ul li a:hover{
252 background-color: #507AAA;
254 background-color: #507AAA;
253 border: 1px solid #507AAA;
255 border: 1px solid #507AAA;
254 color: #fff;
256 color: #fff;
255 text-decoration:none;
257 text-decoration:none;
256 }
258 }
257
259
258 /***** Diff *****/
260 /***** Diff *****/
259 .diff_out { background: #fcc; }
261 .diff_out { background: #fcc; }
260 .diff_in { background: #cfc; }
262 .diff_in { background: #cfc; }
261
263
262 /***** Wiki *****/
264 /***** Wiki *****/
263 div.wiki table {
265 div.wiki table {
264 border: 1px solid #505050;
266 border: 1px solid #505050;
265 border-collapse: collapse;
267 border-collapse: collapse;
266 }
268 }
267
269
268 div.wiki table, div.wiki td, div.wiki th {
270 div.wiki table, div.wiki td, div.wiki th {
269 border: 1px solid #bbb;
271 border: 1px solid #bbb;
270 padding: 4px;
272 padding: 4px;
271 }
273 }
272
274
273 div.wiki a {
275 div.wiki a {
274 background-position: 0% 60%;
276 background-position: 0% 60%;
275 background-repeat: no-repeat;
277 background-repeat: no-repeat;
276 padding-left: 12px;
278 padding-left: 12px;
277 background-image: url(../images/external.png);
279 background-image: url(../images/external.png);
278 }
280 }
279
281
280 div.wiki a.wiki-page, div.wiki a.issue, div.wiki a.changeset, div.wiki a.email, div.wiki div.toc a {
282 div.wiki a.wiki-page, div.wiki a.issue, div.wiki a.changeset, div.wiki a.email, div.wiki div.toc a {
281 padding-left: 0;
283 padding-left: 0;
282 background-image: none;
284 background-image: none;
283 }
285 }
284
286
285 div.wiki a.new {
287 div.wiki a.new {
286 color: #b73535;
288 color: #b73535;
287 }
289 }
288
290
289 div.wiki pre {
291 div.wiki pre {
290 margin: 1em 1em 1em 1.6em;
292 margin: 1em 1em 1em 1.6em;
291 padding: 2px;
293 padding: 2px;
292 background-color: #fafafa;
294 background-color: #fafafa;
293 border: 1px solid #dadada;
295 border: 1px solid #dadada;
294 width:95%;
296 width:95%;
295 overflow-x: auto;
297 overflow-x: auto;
296 }
298 }
297
299
298 div.wiki div.toc {
300 div.wiki div.toc {
299 background-color: #ffffdd;
301 background-color: #ffffdd;
300 border: 1px solid #e4e4e4;
302 border: 1px solid #e4e4e4;
301 padding: 4px;
303 padding: 4px;
302 line-height: 1.2em;
304 line-height: 1.2em;
303 margin-bottom: 12px;
305 margin-bottom: 12px;
304 margin-right: 12px;
306 margin-right: 12px;
305 float: left;
307 float: left;
306 }
308 }
307
309
308 div.wiki div.toc.right {
310 div.wiki div.toc.right {
309 float: right;
311 float: right;
310 margin-left: 12px;
312 margin-left: 12px;
311 margin-right: 0;
313 margin-right: 0;
312 }
314 }
313
315
314 div.wiki div.toc a {
316 div.wiki div.toc a {
315 display: block;
317 display: block;
316 font-size: 0.9em;
318 font-size: 0.9em;
317 font-weight: normal;
319 font-weight: normal;
318 text-decoration: none;
320 text-decoration: none;
319 color: #606060;
321 color: #606060;
320 }
322 }
321 div.wiki div.toc a:hover { color: #c61a1a; text-decoration: underline;}
323 div.wiki div.toc a:hover { color: #c61a1a; text-decoration: underline;}
322
324
323 div.wiki div.toc a.heading2 { margin-left: 6px; }
325 div.wiki div.toc a.heading2 { margin-left: 6px; }
324 div.wiki div.toc a.heading3 { margin-left: 12px; font-size: 0.8em; }
326 div.wiki div.toc a.heading3 { margin-left: 12px; font-size: 0.8em; }
325
327
326 /***** My page layout *****/
328 /***** My page layout *****/
327 .block-receiver {
329 .block-receiver {
328 border:1px dashed #c0c0c0;
330 border:1px dashed #c0c0c0;
329 margin-bottom: 20px;
331 margin-bottom: 20px;
330 padding: 15px 0 15px 0;
332 padding: 15px 0 15px 0;
331 }
333 }
332
334
333 .mypage-box {
335 .mypage-box {
334 margin:0 0 20px 0;
336 margin:0 0 20px 0;
335 color:#505050;
337 color:#505050;
336 line-height:1.5em;
338 line-height:1.5em;
337 }
339 }
338
340
339 .handle {
341 .handle {
340 cursor: move;
342 cursor: move;
341 }
343 }
342
344
343 a.close-icon {
345 a.close-icon {
344 display:block;
346 display:block;
345 margin-top:3px;
347 margin-top:3px;
346 overflow:hidden;
348 overflow:hidden;
347 width:12px;
349 width:12px;
348 height:12px;
350 height:12px;
349 background-repeat: no-repeat;
351 background-repeat: no-repeat;
350 cursor:pointer;
352 cursor:pointer;
351 background-image:url('../images/close.png');
353 background-image:url('../images/close.png');
352 }
354 }
353
355
354 a.close-icon:hover {
356 a.close-icon:hover {
355 background-image:url('../images/close_hl.png');
357 background-image:url('../images/close_hl.png');
356 }
358 }
357
359
358 /***** Gantt chart *****/
360 /***** Gantt chart *****/
359 .gantt_hdr {
361 .gantt_hdr {
360 position:absolute;
362 position:absolute;
361 top:0;
363 top:0;
362 height:16px;
364 height:16px;
363 border-top: 1px solid #c0c0c0;
365 border-top: 1px solid #c0c0c0;
364 border-bottom: 1px solid #c0c0c0;
366 border-bottom: 1px solid #c0c0c0;
365 border-right: 1px solid #c0c0c0;
367 border-right: 1px solid #c0c0c0;
366 text-align: center;
368 text-align: center;
367 overflow: hidden;
369 overflow: hidden;
368 }
370 }
369
371
370 .task {
372 .task {
371 position: absolute;
373 position: absolute;
372 height:8px;
374 height:8px;
373 font-size:0.8em;
375 font-size:0.8em;
374 color:#888;
376 color:#888;
375 padding:0;
377 padding:0;
376 margin:0;
378 margin:0;
377 line-height:0.8em;
379 line-height:0.8em;
378 }
380 }
379
381
380 .task_late { background:#f66 url(../images/task_late.png); border: 1px solid #f66; }
382 .task_late { background:#f66 url(../images/task_late.png); border: 1px solid #f66; }
381 .task_done { background:#66f url(../images/task_done.png); border: 1px solid #66f; }
383 .task_done { background:#66f url(../images/task_done.png); border: 1px solid #66f; }
382 .task_todo { background:#aaa url(../images/task_todo.png); border: 1px solid #aaa; }
384 .task_todo { background:#aaa url(../images/task_todo.png); border: 1px solid #aaa; }
383 .milestone { background-image:url(../images/milestone.png); background-repeat: no-repeat; border: 0; }
385 .milestone { background-image:url(../images/milestone.png); background-repeat: no-repeat; border: 0; }
384
386
385 /***** Icons *****/
387 /***** Icons *****/
386 .icon {
388 .icon {
387 background-position: 0% 40%;
389 background-position: 0% 40%;
388 background-repeat: no-repeat;
390 background-repeat: no-repeat;
389 padding-left: 20px;
391 padding-left: 20px;
390 padding-top: 2px;
392 padding-top: 2px;
391 padding-bottom: 3px;
393 padding-bottom: 3px;
392 }
394 }
393
395
394 .icon22 {
396 .icon22 {
395 background-position: 0% 40%;
397 background-position: 0% 40%;
396 background-repeat: no-repeat;
398 background-repeat: no-repeat;
397 padding-left: 26px;
399 padding-left: 26px;
398 line-height: 22px;
400 line-height: 22px;
399 vertical-align: middle;
401 vertical-align: middle;
400 }
402 }
401
403
402 .icon-add { background-image: url(../images/add.png); }
404 .icon-add { background-image: url(../images/add.png); }
403 .icon-edit { background-image: url(../images/edit.png); }
405 .icon-edit { background-image: url(../images/edit.png); }
404 .icon-del { background-image: url(../images/delete.png); }
406 .icon-del { background-image: url(../images/delete.png); }
405 .icon-move { background-image: url(../images/move.png); }
407 .icon-move { background-image: url(../images/move.png); }
406 .icon-save { background-image: url(../images/save.png); }
408 .icon-save { background-image: url(../images/save.png); }
407 .icon-cancel { background-image: url(../images/cancel.png); }
409 .icon-cancel { background-image: url(../images/cancel.png); }
408 .icon-pdf { background-image: url(../images/pdf.png); }
410 .icon-pdf { background-image: url(../images/pdf.png); }
409 .icon-csv { background-image: url(../images/csv.png); }
411 .icon-csv { background-image: url(../images/csv.png); }
410 .icon-html { background-image: url(../images/html.png); }
412 .icon-html { background-image: url(../images/html.png); }
411 .icon-image { background-image: url(../images/image.png); }
413 .icon-image { background-image: url(../images/image.png); }
412 .icon-txt { background-image: url(../images/txt.png); }
414 .icon-txt { background-image: url(../images/txt.png); }
413 .icon-file { background-image: url(../images/file.png); }
415 .icon-file { background-image: url(../images/file.png); }
414 .icon-folder { background-image: url(../images/folder.png); }
416 .icon-folder { background-image: url(../images/folder.png); }
415 .icon-package { background-image: url(../images/package.png); }
417 .icon-package { background-image: url(../images/package.png); }
416 .icon-home { background-image: url(../images/home.png); }
418 .icon-home { background-image: url(../images/home.png); }
417 .icon-user { background-image: url(../images/user.png); }
419 .icon-user { background-image: url(../images/user.png); }
418 .icon-mypage { background-image: url(../images/user_page.png); }
420 .icon-mypage { background-image: url(../images/user_page.png); }
419 .icon-admin { background-image: url(../images/admin.png); }
421 .icon-admin { background-image: url(../images/admin.png); }
420 .icon-projects { background-image: url(../images/projects.png); }
422 .icon-projects { background-image: url(../images/projects.png); }
421 .icon-logout { background-image: url(../images/logout.png); }
423 .icon-logout { background-image: url(../images/logout.png); }
422 .icon-help { background-image: url(../images/help.png); }
424 .icon-help { background-image: url(../images/help.png); }
423 .icon-attachment { background-image: url(../images/attachment.png); }
425 .icon-attachment { background-image: url(../images/attachment.png); }
424 .icon-index { background-image: url(../images/index.png); }
426 .icon-index { background-image: url(../images/index.png); }
425 .icon-history { background-image: url(../images/history.png); }
427 .icon-history { background-image: url(../images/history.png); }
426 .icon-feed { background-image: url(../images/feed.png); }
428 .icon-feed { background-image: url(../images/feed.png); }
427 .icon-time { background-image: url(../images/time.png); }
429 .icon-time { background-image: url(../images/time.png); }
428 .icon-stats { background-image: url(../images/stats.png); }
430 .icon-stats { background-image: url(../images/stats.png); }
429 .icon-warning { background-image: url(../images/warning.png); }
431 .icon-warning { background-image: url(../images/warning.png); }
430 .icon-fav { background-image: url(../images/fav.png); }
432 .icon-fav { background-image: url(../images/fav.png); }
431 .icon-fav-off { background-image: url(../images/fav_off.png); }
433 .icon-fav-off { background-image: url(../images/fav_off.png); }
432 .icon-reload { background-image: url(../images/reload.png); }
434 .icon-reload { background-image: url(../images/reload.png); }
433 .icon-lock { background-image: url(../images/locked.png); }
435 .icon-lock { background-image: url(../images/locked.png); }
434 .icon-unlock { background-image: url(../images/unlock.png); }
436 .icon-unlock { background-image: url(../images/unlock.png); }
435 .icon-note { background-image: url(../images/note.png); }
437 .icon-note { background-image: url(../images/note.png); }
436
438
437 .icon22-projects { background-image: url(../images/22x22/projects.png); }
439 .icon22-projects { background-image: url(../images/22x22/projects.png); }
438 .icon22-users { background-image: url(../images/22x22/users.png); }
440 .icon22-users { background-image: url(../images/22x22/users.png); }
439 .icon22-tracker { background-image: url(../images/22x22/tracker.png); }
441 .icon22-tracker { background-image: url(../images/22x22/tracker.png); }
440 .icon22-role { background-image: url(../images/22x22/role.png); }
442 .icon22-role { background-image: url(../images/22x22/role.png); }
441 .icon22-workflow { background-image: url(../images/22x22/workflow.png); }
443 .icon22-workflow { background-image: url(../images/22x22/workflow.png); }
442 .icon22-options { background-image: url(../images/22x22/options.png); }
444 .icon22-options { background-image: url(../images/22x22/options.png); }
443 .icon22-notifications { background-image: url(../images/22x22/notifications.png); }
445 .icon22-notifications { background-image: url(../images/22x22/notifications.png); }
444 .icon22-authent { background-image: url(../images/22x22/authent.png); }
446 .icon22-authent { background-image: url(../images/22x22/authent.png); }
445 .icon22-info { background-image: url(../images/22x22/info.png); }
447 .icon22-info { background-image: url(../images/22x22/info.png); }
446 .icon22-comment { background-image: url(../images/22x22/comment.png); }
448 .icon22-comment { background-image: url(../images/22x22/comment.png); }
447 .icon22-package { background-image: url(../images/22x22/package.png); }
449 .icon22-package { background-image: url(../images/22x22/package.png); }
448 .icon22-settings { background-image: url(../images/22x22/settings.png); }
450 .icon22-settings { background-image: url(../images/22x22/settings.png); }
449 .icon22-plugin { background-image: url(../images/22x22/plugin.png); }
451 .icon22-plugin { background-image: url(../images/22x22/plugin.png); }
General Comments 0
You need to be logged in to leave comments. Login now