##// END OF EJS Templates
Roadmap enhancements (closes #697, #698):...
Jean-Philippe Lang -
r1154:ade572048a76
parent child
Show More
@@ -1,50 +1,54
1 <h2><%=l(:label_roadmap)%></h2>
1 <h2><%=l(:label_roadmap)%></h2>
2
2
3 <% if @versions.empty? %>
3 <% if @versions.empty? %>
4 <p class="nodata"><%= l(:label_no_data) %></p>
4 <p class="nodata"><%= l(:label_no_data) %></p>
5 <% end %>
5 <% else %>
6
6 <div id="roadmap">
7 <% @versions.each do |version| %>
7 <% @versions.each do |version| %>
8 <%= tag 'a', :name => version.name %>
8 <%= tag 'a', :name => version.name %>
9 <h3 class="icon22 icon22-package"><%= link_to h(version.name), :controller => 'versions', :action => 'show', :id => version %></h3>
9 <h3 class="icon22 icon22-package"><%= link_to h(version.name), :controller => 'versions', :action => 'show', :id => version %></h3>
10 <%= render :partial => 'versions/overview', :locals => {:version => version} %>
10 <%= render :partial => 'versions/overview', :locals => {:version => version} %>
11 <%= render(:partial => "wiki/content", :locals => {:content => version.wiki_page.content}) if version.wiki_page %>
11 <%= render(:partial => "wiki/content", :locals => {:content => version.wiki_page.content}) if version.wiki_page %>
12
12
13 <% issues = version.fixed_issues.find(:all,
13 <% issues = version.fixed_issues.find(:all,
14 :include => [:status, :tracker],
14 :include => [:status, :tracker],
15 :conditions => ["tracker_id in (#{@selected_tracker_ids.join(',')})"],
15 :conditions => ["tracker_id in (#{@selected_tracker_ids.join(',')})"],
16 :order => "#{Tracker.table_name}.position, #{Issue.table_name}.id") unless @selected_tracker_ids.empty?
16 :order => "#{Tracker.table_name}.position, #{Issue.table_name}.id") unless @selected_tracker_ids.empty?
17 issues ||= []
17 issues ||= []
18 %>
18 %>
19 <% if issues.size > 0 %>
20 <fieldset class="related-issues"><legend><%= l(:label_related_issues) %></legend>
19 <ul>
21 <ul>
20 <% if issues.size > 0 %>
21 <% issues.each do |issue| %>
22 <% issues.each do |issue| %>
22 <li>
23 <li>
23 <%= link = link_to_issue(issue)
24 <%= link = link_to_issue(issue)
24 issue.status.is_closed? ? content_tag("del", link) : link %>: <%=h issue.subject %>
25 issue.status.is_closed? ? content_tag("del", link) : link %>: <%=h issue.subject %>
25 <%= content_tag "em", "(#{l(:label_closed_issues)})" if issue.status.is_closed? %>
26 <%= content_tag "em", "(#{l(:label_closed_issues)})" if issue.status.is_closed? %>
26 </li>
27 </li>
27 <% end %>
28 <% end %>
28 <% end %>
29 </ul>
29 </ul>
30 </fieldset>
31 <% end %>
32 <% end %>
33 </div>
30 <% end %>
34 <% end %>
31
35
32 <% content_for :sidebar do %>
36 <% content_for :sidebar do %>
33 <% form_tag do %>
37 <% form_tag do %>
34 <h3><%= l(:label_roadmap) %></h3>
38 <h3><%= l(:label_roadmap) %></h3>
35 <% @trackers.each do |tracker| %>
39 <% @trackers.each do |tracker| %>
36 <label><%= check_box_tag "tracker_ids[]", tracker.id, (@selected_tracker_ids.include? tracker.id.to_s) %>
40 <label><%= check_box_tag "tracker_ids[]", tracker.id, (@selected_tracker_ids.include? tracker.id.to_s), :id => nil %>
37 <%= tracker.name %></label><br />
41 <%= tracker.name %></label><br />
38 <% end %>
42 <% end %>
39 <br />
43 <br />
40 <label for="completed"><%= check_box_tag "completed", 1, params[:completed] %> <%= l(:label_show_completed_versions) %>
44 <label for="completed"><%= check_box_tag "completed", 1, params[:completed] %> <%= l(:label_show_completed_versions) %></label>
41 <p><%= submit_tag l(:button_apply), :class => 'button-small' %></p>
45 <p><%= submit_tag l(:button_apply), :class => 'button-small' %></p>
42 <% end %>
46 <% end %>
43
47
44 <h3><%= l(:label_version_plural) %></h3>
48 <h3><%= l(:label_version_plural) %></h3>
45 <% @versions.each do |version| %>
49 <% @versions.each do |version| %>
46 <%= link_to version.name, :anchor => version.name %><br />
50 <%= link_to version.name, :anchor => version.name %><br />
47 <% end %>
51 <% end %>
48 <% end %>
52 <% end %>
49
53
50 <% html_title(l(:label_roadmap)) %>
54 <% html_title(l(:label_roadmap)) %>
@@ -1,546 +1,552
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, h4 { font-family: "Trebuchet MS", Verdana, sans-serif;}
3 h1, h2, h3, h4 { 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: 12px;padding: 2px 10px 1px 0px;margin-bottom: 5px; border-bottom: 1px dotted #bbbbbb; color: #444;}
7 h4, .wiki h3 {font-size: 12px;padding: 2px 10px 1px 0px;margin-bottom: 5px; border-bottom: 1px dotted #bbbbbb; color: #444;}
8
8
9 /***** Layout *****/
9 /***** Layout *****/
10 #wrapper {background: white;}
10 #wrapper {background: white;}
11
11
12 #top-menu {background: #2C4056;color: #fff;height:1.5em; padding: 2px 6px 0px 6px;}
12 #top-menu {background: #2C4056;color: #fff;height:1.5em; padding: 2px 6px 0px 6px;}
13 #top-menu ul {margin: 0; padding: 0;}
13 #top-menu ul {margin: 0; padding: 0;}
14 #top-menu li {
14 #top-menu li {
15 float:left;
15 float:left;
16 list-style-type:none;
16 list-style-type:none;
17 margin: 0px 0px 0px 0px;
17 margin: 0px 0px 0px 0px;
18 padding: 0px 0px 0px 0px;
18 padding: 0px 0px 0px 0px;
19 white-space:nowrap;
19 white-space:nowrap;
20 }
20 }
21 #top-menu a {color: #fff; padding-right: 4px;}
21 #top-menu a {color: #fff; padding-right: 4px;}
22 #top-menu #loggedas { float: right; margin-right: 0.5em; color: #fff; }
22 #top-menu #loggedas { float: right; margin-right: 0.5em; color: #fff; }
23
23
24 #account {float:right;}
24 #account {float:right;}
25
25
26 #header {height:5.3em;margin:0;background-color:#507AAA;color:#f8f8f8; padding: 4px 8px 0px 6px; position:relative;}
26 #header {height:5.3em;margin:0;background-color:#507AAA;color:#f8f8f8; padding: 4px 8px 0px 6px; position:relative;}
27 #header a {color:#f8f8f8;}
27 #header a {color:#f8f8f8;}
28 #quick-search {float:right;}
28 #quick-search {float:right;}
29
29
30 #main-menu {position: absolute; bottom: 0px; left:6px; margin-right: -500px;}
30 #main-menu {position: absolute; bottom: 0px; left:6px; margin-right: -500px;}
31 #main-menu ul {margin: 0; padding: 0;}
31 #main-menu ul {margin: 0; padding: 0;}
32 #main-menu li {
32 #main-menu li {
33 float:left;
33 float:left;
34 list-style-type:none;
34 list-style-type:none;
35 margin: 0px 10px 0px 0px;
35 margin: 0px 10px 0px 0px;
36 padding: 0px 0px 0px 0px;
36 padding: 0px 0px 0px 0px;
37 white-space:nowrap;
37 white-space:nowrap;
38 }
38 }
39 #main-menu li a {
39 #main-menu li a {
40 display: block;
40 display: block;
41 color: #fff;
41 color: #fff;
42 text-decoration: none;
42 text-decoration: none;
43 margin: 0;
43 margin: 0;
44 padding: 4px 4px 4px 4px;
44 padding: 4px 4px 4px 4px;
45 background: #2C4056;
45 background: #2C4056;
46 }
46 }
47 #main-menu li a:hover, #main-menu li a.selected {background:#759FCF;}
47 #main-menu li a:hover, #main-menu li a.selected {background:#759FCF;}
48
48
49 #main {background: url(../images/mainbg.png) repeat-x; background-color:#EEEEEE;}
49 #main {background: url(../images/mainbg.png) repeat-x; background-color:#EEEEEE;}
50
50
51 #sidebar{ float: right; width: 17%; position: relative; z-index: 9; min-height: 600px; padding: 0; margin: 0;}
51 #sidebar{ float: right; width: 17%; position: relative; z-index: 9; min-height: 600px; padding: 0; margin: 0;}
52 * html #sidebar{ width: 17%; }
52 * html #sidebar{ width: 17%; }
53 #sidebar h3{ font-size: 14px; margin-top:14px; color: #666; }
53 #sidebar h3{ font-size: 14px; margin-top:14px; color: #666; }
54 #sidebar hr{ width: 100%; margin: 0 auto; height: 1px; background: #ccc; border: 0; }
54 #sidebar hr{ width: 100%; margin: 0 auto; height: 1px; background: #ccc; border: 0; }
55 * html #sidebar hr{ width: 95%; position: relative; left: -6px; color: #ccc; }
55 * html #sidebar hr{ width: 95%; position: relative; left: -6px; color: #ccc; }
56
56
57 #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; z-index: 10; height:600px; min-height: 600px;}
57 #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; z-index: 10; height:600px; min-height: 600px;}
58 * html #content{ width: 80%; padding-left: 0; margin-top: 0px; padding: 6px 10px 10px 10px;}
58 * html #content{ width: 80%; padding-left: 0; margin-top: 0px; padding: 6px 10px 10px 10px;}
59 html>body #content {
59 html>body #content {
60 height: auto;
60 height: auto;
61 min-height: 600px;
61 min-height: 600px;
62 }
62 }
63
63
64 #main.nosidebar #sidebar{ display: none; }
64 #main.nosidebar #sidebar{ display: none; }
65 #main.nosidebar #content{ width: auto; border-right: 0; }
65 #main.nosidebar #content{ width: auto; border-right: 0; }
66
66
67 #footer {clear: both; border-top: 1px solid #bbb; font-size: 0.9em; color: #aaa; padding: 5px; text-align:center; background:#fff;}
67 #footer {clear: both; border-top: 1px solid #bbb; font-size: 0.9em; color: #aaa; padding: 5px; text-align:center; background:#fff;}
68
68
69 #login-form table {margin-top:5em; padding:1em; margin-left: auto; margin-right: auto; border: 2px solid #FDBF3B; background-color:#FFEBC1; }
69 #login-form table {margin-top:5em; padding:1em; margin-left: auto; margin-right: auto; border: 2px solid #FDBF3B; background-color:#FFEBC1; }
70 #login-form table td {padding: 6px;}
70 #login-form table td {padding: 6px;}
71 #login-form label {font-weight: bold;}
71 #login-form label {font-weight: bold;}
72
72
73 .clear:after{ content: "."; display: block; height: 0; clear: both; visibility: hidden; }
73 .clear:after{ content: "."; display: block; height: 0; clear: both; visibility: hidden; }
74
74
75 /***** Links *****/
75 /***** Links *****/
76 a, a:link, a:visited{ color: #2A5685; text-decoration: none; }
76 a, a:link, a:visited{ color: #2A5685; text-decoration: none; }
77 a:hover, a:active{ color: #c61a1a; text-decoration: underline;}
77 a:hover, a:active{ color: #c61a1a; text-decoration: underline;}
78 a img{ border: 0; }
78 a img{ border: 0; }
79
79
80 /***** Tables *****/
80 /***** Tables *****/
81 table.list { border: 1px solid #e4e4e4; border-collapse: collapse; width: 100%; margin-bottom: 4px; }
81 table.list { border: 1px solid #e4e4e4; border-collapse: collapse; width: 100%; margin-bottom: 4px; }
82 table.list th { background-color:#EEEEEE; padding: 4px; white-space:nowrap; }
82 table.list th { background-color:#EEEEEE; padding: 4px; white-space:nowrap; }
83 table.list td { overflow: hidden; text-overflow: ellipsis; vertical-align: top;}
83 table.list td { overflow: hidden; text-overflow: ellipsis; vertical-align: top;}
84 table.list td.id { width: 2%; text-align: center;}
84 table.list td.id { width: 2%; text-align: center;}
85 table.list td.checkbox { width: 15px; padding: 0px;}
85 table.list td.checkbox { width: 15px; padding: 0px;}
86
86
87 tr.issue { text-align: center; white-space: nowrap; }
87 tr.issue { text-align: center; white-space: nowrap; }
88 tr.issue td.subject, tr.issue td.category { white-space: normal; }
88 tr.issue td.subject, tr.issue td.category { white-space: normal; }
89 tr.issue td.subject { text-align: left; }
89 tr.issue td.subject { text-align: left; }
90 tr.issue td.done_ratio table.progress { margin-left:auto; margin-right: auto;}
90 tr.issue td.done_ratio table.progress { margin-left:auto; margin-right: auto;}
91
91
92 tr.entry { border: 1px solid #f8f8f8; }
92 tr.entry { border: 1px solid #f8f8f8; }
93 tr.entry td { white-space: nowrap; }
93 tr.entry td { white-space: nowrap; }
94 tr.entry td.filename { width: 30%; }
94 tr.entry td.filename { width: 30%; }
95 tr.entry td.size { text-align: right; font-size: 90%; }
95 tr.entry td.size { text-align: right; font-size: 90%; }
96 tr.entry td.revision, tr.entry td.author { text-align: center; }
96 tr.entry td.revision, tr.entry td.author { text-align: center; }
97 tr.entry td.age { text-align: right; }
97 tr.entry td.age { text-align: right; }
98
98
99 tr.changeset td.author { text-align: center; width: 15%; }
99 tr.changeset td.author { text-align: center; width: 15%; }
100 tr.changeset td.committed_on { text-align: center; width: 15%; }
100 tr.changeset td.committed_on { text-align: center; width: 15%; }
101
101
102 tr.message { height: 2.6em; }
102 tr.message { height: 2.6em; }
103 tr.message td.last_message { font-size: 80%; }
103 tr.message td.last_message { font-size: 80%; }
104 tr.message.locked td.subject a { background-image: url(../images/locked.png); }
104 tr.message.locked td.subject a { background-image: url(../images/locked.png); }
105 tr.message.sticky td.subject a { background-image: url(../images/sticky.png); font-weight: bold; }
105 tr.message.sticky td.subject a { background-image: url(../images/sticky.png); font-weight: bold; }
106
106
107 tr.user td { width:13%; }
107 tr.user td { width:13%; }
108 tr.user td.email { width:18%; }
108 tr.user td.email { width:18%; }
109 tr.user td { white-space: nowrap; }
109 tr.user td { white-space: nowrap; }
110 tr.user.locked, tr.user.registered { color: #aaa; }
110 tr.user.locked, tr.user.registered { color: #aaa; }
111 tr.user.locked a, tr.user.registered a { color: #aaa; }
111 tr.user.locked a, tr.user.registered a { color: #aaa; }
112
112
113 table.list tbody tr:hover { background-color:#ffffdd; }
113 table.list tbody tr:hover { background-color:#ffffdd; }
114 table td {padding:2px;}
114 table td {padding:2px;}
115 table p {margin:0;}
115 table p {margin:0;}
116 .odd {background-color:#f6f7f8;}
116 .odd {background-color:#f6f7f8;}
117 .even {background-color: #fff;}
117 .even {background-color: #fff;}
118
118
119 .highlight { background-color: #FCFD8D;}
119 .highlight { background-color: #FCFD8D;}
120 .highlight.token-1 { background-color: #faa;}
120 .highlight.token-1 { background-color: #faa;}
121 .highlight.token-2 { background-color: #afa;}
121 .highlight.token-2 { background-color: #afa;}
122 .highlight.token-3 { background-color: #aaf;}
122 .highlight.token-3 { background-color: #aaf;}
123
123
124 .box{
124 .box{
125 padding:6px;
125 padding:6px;
126 margin-bottom: 10px;
126 margin-bottom: 10px;
127 background-color:#f6f6f6;
127 background-color:#f6f6f6;
128 color:#505050;
128 color:#505050;
129 line-height:1.5em;
129 line-height:1.5em;
130 border: 1px solid #e4e4e4;
130 border: 1px solid #e4e4e4;
131 }
131 }
132
132
133 div.square {
133 div.square {
134 border: 1px solid #999;
134 border: 1px solid #999;
135 float: left;
135 float: left;
136 margin: .3em .4em 0 .4em;
136 margin: .3em .4em 0 .4em;
137 overflow: hidden;
137 overflow: hidden;
138 width: .6em; height: .6em;
138 width: .6em; height: .6em;
139 }
139 }
140
140
141 .contextual {float:right; white-space: nowrap; line-height:1.4em;margin-top:5px; padding-left: 10px; font-size:0.9em;}
141 .contextual {float:right; white-space: nowrap; line-height:1.4em;margin-top:5px; padding-left: 10px; font-size:0.9em;}
142 .contextual input {font-size:0.9em;}
142 .contextual input {font-size:0.9em;}
143
143
144 .splitcontentleft{float:left; width:49%;}
144 .splitcontentleft{float:left; width:49%;}
145 .splitcontentright{float:right; width:49%;}
145 .splitcontentright{float:right; width:49%;}
146 form {display: inline;}
146 form {display: inline;}
147 input, select {vertical-align: middle; margin-top: 1px; margin-bottom: 1px;}
147 input, select {vertical-align: middle; margin-top: 1px; margin-bottom: 1px;}
148 fieldset {border: 1px solid #e4e4e4; margin:0;}
148 fieldset {border: 1px solid #e4e4e4; margin:0;}
149 legend {color: #484848;}
149 legend {color: #484848;}
150 hr { width: 100%; height: 1px; background: #ccc; border: 0;}
150 hr { width: 100%; height: 1px; background: #ccc; border: 0;}
151 textarea.wiki-edit { width: 99%; }
151 textarea.wiki-edit { width: 99%; }
152 li p {margin-top: 0;}
152 li p {margin-top: 0;}
153 div.issue {background:#ffffdd; padding:6px; margin-bottom:6px;border: 1px solid #d7d7d7;}
153 div.issue {background:#ffffdd; padding:6px; margin-bottom:6px;border: 1px solid #d7d7d7;}
154
154
155 div#issue-changesets {float:right; width:45%; margin-left: 1em; margin-bottom: 1em; background: #fff; padding-left: 1em; font-size: 90%;}
155 div#issue-changesets {float:right; width:45%; margin-left: 1em; margin-bottom: 1em; background: #fff; padding-left: 1em; font-size: 90%;}
156 div#issue-changesets .changeset { padding: 4px;}
156 div#issue-changesets .changeset { padding: 4px;}
157 div#issue-changesets .changeset { border-bottom: 1px solid #ddd; }
157 div#issue-changesets .changeset { border-bottom: 1px solid #ddd; }
158 div#issue-changesets p { margin-top: 0; margin-bottom: 1em;}
158 div#issue-changesets p { margin-top: 0; margin-bottom: 1em;}
159
159
160 div#activity dl { margin-left: 2em; }
160 div#activity dl { margin-left: 2em; }
161 div#activity dd { margin-bottom: 1em; }
161 div#activity dd { margin-bottom: 1em; }
162 div#activity dt { margin-bottom: 1px; }
162 div#activity dt { margin-bottom: 1px; }
163 div#activity dt .time { color: #777; font-size: 80%; }
163 div#activity dt .time { color: #777; font-size: 80%; }
164 div#activity dd .description { font-style: italic; }
164 div#activity dd .description { font-style: italic; }
165
165
166 div#roadmap fieldset.related-issues { margin-bottom: 1em; }
167 div#roadmap fieldset.related-issues ul { margin-top: 0.3em; margin-bottom: 0.3em; }
168 div#roadmap .wiki h1:first-child { display: none; }
169 div#roadmap .wiki h1 { font-size: 120%; }
170 div#roadmap .wiki h2 { font-size: 110%; }
171
166 .autoscroll {overflow-x: auto; padding:1px; width:100%; margin-bottom: 1.2em;}
172 .autoscroll {overflow-x: auto; padding:1px; width:100%; margin-bottom: 1.2em;}
167 #user_firstname, #user_lastname, #user_mail, #my_account_form select { width: 90%; }
173 #user_firstname, #user_lastname, #user_mail, #my_account_form select { width: 90%; }
168
174
169 .pagination {font-size: 90%}
175 .pagination {font-size: 90%}
170 p.pagination {margin-top:8px;}
176 p.pagination {margin-top:8px;}
171
177
172 /***** Tabular forms ******/
178 /***** Tabular forms ******/
173 .tabular p{
179 .tabular p{
174 margin: 0;
180 margin: 0;
175 padding: 5px 0 8px 0;
181 padding: 5px 0 8px 0;
176 padding-left: 180px; /*width of left column containing the label elements*/
182 padding-left: 180px; /*width of left column containing the label elements*/
177 height: 1%;
183 height: 1%;
178 clear:left;
184 clear:left;
179 }
185 }
180
186
181 .tabular label{
187 .tabular label{
182 font-weight: bold;
188 font-weight: bold;
183 float: left;
189 float: left;
184 text-align: right;
190 text-align: right;
185 margin-left: -180px; /*width of left column*/
191 margin-left: -180px; /*width of left column*/
186 width: 175px; /*width of labels. Should be smaller than left column to create some right
192 width: 175px; /*width of labels. Should be smaller than left column to create some right
187 margin*/
193 margin*/
188 }
194 }
189
195
190 .tabular label.floating{
196 .tabular label.floating{
191 font-weight: normal;
197 font-weight: normal;
192 margin-left: 0px;
198 margin-left: 0px;
193 text-align: left;
199 text-align: left;
194 width: 200px;
200 width: 200px;
195 }
201 }
196
202
197 #preview fieldset {margin-top: 1em; background: url(../images/draft.png)}
203 #preview fieldset {margin-top: 1em; background: url(../images/draft.png)}
198
204
199 .tabular.settings p{ padding-left: 300px; }
205 .tabular.settings p{ padding-left: 300px; }
200 .tabular.settings label{ margin-left: -300px; width: 295px; }
206 .tabular.settings label{ margin-left: -300px; width: 295px; }
201
207
202 .required {color: #bb0000;}
208 .required {color: #bb0000;}
203 .summary {font-style: italic;}
209 .summary {font-style: italic;}
204
210
205 div.attachments p { margin:4px 0 2px 0; }
211 div.attachments p { margin:4px 0 2px 0; }
206
212
207 /***** Flash & error messages ****/
213 /***** Flash & error messages ****/
208 #errorExplanation, div.flash, .nodata {
214 #errorExplanation, div.flash, .nodata {
209 padding: 4px 4px 4px 30px;
215 padding: 4px 4px 4px 30px;
210 margin-bottom: 12px;
216 margin-bottom: 12px;
211 font-size: 1.1em;
217 font-size: 1.1em;
212 border: 2px solid;
218 border: 2px solid;
213 }
219 }
214
220
215 div.flash {margin-top: 8px;}
221 div.flash {margin-top: 8px;}
216
222
217 div.flash.error, #errorExplanation {
223 div.flash.error, #errorExplanation {
218 background: url(../images/false.png) 8px 5px no-repeat;
224 background: url(../images/false.png) 8px 5px no-repeat;
219 background-color: #ffe3e3;
225 background-color: #ffe3e3;
220 border-color: #dd0000;
226 border-color: #dd0000;
221 color: #550000;
227 color: #550000;
222 }
228 }
223
229
224 div.flash.notice {
230 div.flash.notice {
225 background: url(../images/true.png) 8px 5px no-repeat;
231 background: url(../images/true.png) 8px 5px no-repeat;
226 background-color: #dfffdf;
232 background-color: #dfffdf;
227 border-color: #9fcf9f;
233 border-color: #9fcf9f;
228 color: #005f00;
234 color: #005f00;
229 }
235 }
230
236
231 .nodata {
237 .nodata {
232 text-align: center;
238 text-align: center;
233 background-color: #FFEBC1;
239 background-color: #FFEBC1;
234 border-color: #FDBF3B;
240 border-color: #FDBF3B;
235 color: #A6750C;
241 color: #A6750C;
236 }
242 }
237
243
238 #errorExplanation ul { font-size: 0.9em;}
244 #errorExplanation ul { font-size: 0.9em;}
239
245
240 /***** Ajax indicator ******/
246 /***** Ajax indicator ******/
241 #ajax-indicator {
247 #ajax-indicator {
242 position: absolute; /* fixed not supported by IE */
248 position: absolute; /* fixed not supported by IE */
243 background-color:#eee;
249 background-color:#eee;
244 border: 1px solid #bbb;
250 border: 1px solid #bbb;
245 top:35%;
251 top:35%;
246 left:40%;
252 left:40%;
247 width:20%;
253 width:20%;
248 font-weight:bold;
254 font-weight:bold;
249 text-align:center;
255 text-align:center;
250 padding:0.6em;
256 padding:0.6em;
251 z-index:100;
257 z-index:100;
252 filter:alpha(opacity=50);
258 filter:alpha(opacity=50);
253 opacity: 0.5;
259 opacity: 0.5;
254 -khtml-opacity: 0.5;
260 -khtml-opacity: 0.5;
255 }
261 }
256
262
257 html>body #ajax-indicator { position: fixed; }
263 html>body #ajax-indicator { position: fixed; }
258
264
259 #ajax-indicator span {
265 #ajax-indicator span {
260 background-position: 0% 40%;
266 background-position: 0% 40%;
261 background-repeat: no-repeat;
267 background-repeat: no-repeat;
262 background-image: url(../images/loading.gif);
268 background-image: url(../images/loading.gif);
263 padding-left: 26px;
269 padding-left: 26px;
264 vertical-align: bottom;
270 vertical-align: bottom;
265 }
271 }
266
272
267 /***** Calendar *****/
273 /***** Calendar *****/
268 table.cal {border-collapse: collapse; width: 100%; margin: 8px 0 6px 0;border: 1px solid #d7d7d7;}
274 table.cal {border-collapse: collapse; width: 100%; margin: 8px 0 6px 0;border: 1px solid #d7d7d7;}
269 table.cal thead th {width: 14%;}
275 table.cal thead th {width: 14%;}
270 table.cal tbody tr {height: 100px;}
276 table.cal tbody tr {height: 100px;}
271 table.cal th { background-color:#EEEEEE; padding: 4px; }
277 table.cal th { background-color:#EEEEEE; padding: 4px; }
272 table.cal td {border: 1px solid #d7d7d7; vertical-align: top; font-size: 0.9em;}
278 table.cal td {border: 1px solid #d7d7d7; vertical-align: top; font-size: 0.9em;}
273 table.cal td p.day-num {font-size: 1.1em; text-align:right;}
279 table.cal td p.day-num {font-size: 1.1em; text-align:right;}
274 table.cal td.odd p.day-num {color: #bbb;}
280 table.cal td.odd p.day-num {color: #bbb;}
275 table.cal td.today {background:#ffffdd;}
281 table.cal td.today {background:#ffffdd;}
276 table.cal td.today p.day-num {font-weight: bold;}
282 table.cal td.today p.day-num {font-weight: bold;}
277
283
278 /***** Tooltips ******/
284 /***** Tooltips ******/
279 .tooltip{position:relative;z-index:24;}
285 .tooltip{position:relative;z-index:24;}
280 .tooltip:hover{z-index:25;color:#000;}
286 .tooltip:hover{z-index:25;color:#000;}
281 .tooltip span.tip{display: none; text-align:left;}
287 .tooltip span.tip{display: none; text-align:left;}
282
288
283 div.tooltip:hover span.tip{
289 div.tooltip:hover span.tip{
284 display:block;
290 display:block;
285 position:absolute;
291 position:absolute;
286 top:12px; left:24px; width:270px;
292 top:12px; left:24px; width:270px;
287 border:1px solid #555;
293 border:1px solid #555;
288 background-color:#fff;
294 background-color:#fff;
289 padding: 4px;
295 padding: 4px;
290 font-size: 0.8em;
296 font-size: 0.8em;
291 color:#505050;
297 color:#505050;
292 }
298 }
293
299
294 /***** Progress bar *****/
300 /***** Progress bar *****/
295 table.progress {
301 table.progress {
296 border: 1px solid #D7D7D7;
302 border: 1px solid #D7D7D7;
297 border-collapse: collapse;
303 border-collapse: collapse;
298 border-spacing: 0pt;
304 border-spacing: 0pt;
299 empty-cells: show;
305 empty-cells: show;
300 text-align: center;
306 text-align: center;
301 float:left;
307 float:left;
302 margin: 1px 6px 1px 0px;
308 margin: 1px 6px 1px 0px;
303 }
309 }
304
310
305 table.progress td { height: 0.9em; }
311 table.progress td { height: 0.9em; }
306 table.progress td.closed { background: #BAE0BA none repeat scroll 0%; }
312 table.progress td.closed { background: #BAE0BA none repeat scroll 0%; }
307 table.progress td.done { background: #DEF0DE none repeat scroll 0%; }
313 table.progress td.done { background: #DEF0DE none repeat scroll 0%; }
308 table.progress td.open { background: #FFF none repeat scroll 0%; }
314 table.progress td.open { background: #FFF none repeat scroll 0%; }
309 p.pourcent {font-size: 80%;}
315 p.pourcent {font-size: 80%;}
310 p.progress-info {clear: left; font-style: italic; font-size: 80%;}
316 p.progress-info {clear: left; font-style: italic; font-size: 80%;}
311
317
312 div#status_by { float:right; width:380px; margin-left: 16px; margin-bottom: 16px; }
318 div#status_by { float:right; width:380px; margin-left: 16px; margin-bottom: 16px; }
313
319
314 /***** Tabs *****/
320 /***** Tabs *****/
315 #content .tabs {height: 2.6em; border-bottom: 1px solid #bbbbbb; margin-bottom:1.2em; position:relative;}
321 #content .tabs {height: 2.6em; border-bottom: 1px solid #bbbbbb; margin-bottom:1.2em; position:relative;}
316 #content .tabs ul {margin:0; position:absolute; bottom:-2px; padding-left:1em;}
322 #content .tabs ul {margin:0; position:absolute; bottom:-2px; padding-left:1em;}
317 #content .tabs>ul { bottom:-1px; } /* others */
323 #content .tabs>ul { bottom:-1px; } /* others */
318 #content .tabs ul li {
324 #content .tabs ul li {
319 float:left;
325 float:left;
320 list-style-type:none;
326 list-style-type:none;
321 white-space:nowrap;
327 white-space:nowrap;
322 margin-right:8px;
328 margin-right:8px;
323 background:#fff;
329 background:#fff;
324 }
330 }
325 #content .tabs ul li a{
331 #content .tabs ul li a{
326 display:block;
332 display:block;
327 font-size: 0.9em;
333 font-size: 0.9em;
328 text-decoration:none;
334 text-decoration:none;
329 line-height:1.3em;
335 line-height:1.3em;
330 padding:4px 6px 4px 6px;
336 padding:4px 6px 4px 6px;
331 border: 1px solid #ccc;
337 border: 1px solid #ccc;
332 border-bottom: 1px solid #bbbbbb;
338 border-bottom: 1px solid #bbbbbb;
333 background-color: #eeeeee;
339 background-color: #eeeeee;
334 color:#777;
340 color:#777;
335 font-weight:bold;
341 font-weight:bold;
336 }
342 }
337
343
338 #content .tabs ul li a:hover {
344 #content .tabs ul li a:hover {
339 background-color: #ffffdd;
345 background-color: #ffffdd;
340 text-decoration:none;
346 text-decoration:none;
341 }
347 }
342
348
343 #content .tabs ul li a.selected {
349 #content .tabs ul li a.selected {
344 background-color: #fff;
350 background-color: #fff;
345 border: 1px solid #bbbbbb;
351 border: 1px solid #bbbbbb;
346 border-bottom: 1px solid #fff;
352 border-bottom: 1px solid #fff;
347 }
353 }
348
354
349 #content .tabs ul li a.selected:hover {
355 #content .tabs ul li a.selected:hover {
350 background-color: #fff;
356 background-color: #fff;
351 }
357 }
352
358
353 /***** Diff *****/
359 /***** Diff *****/
354 .diff_out { background: #fcc; }
360 .diff_out { background: #fcc; }
355 .diff_in { background: #cfc; }
361 .diff_in { background: #cfc; }
356
362
357 /***** Wiki *****/
363 /***** Wiki *****/
358 div.wiki table {
364 div.wiki table {
359 border: 1px solid #505050;
365 border: 1px solid #505050;
360 border-collapse: collapse;
366 border-collapse: collapse;
361 }
367 }
362
368
363 div.wiki table, div.wiki td, div.wiki th {
369 div.wiki table, div.wiki td, div.wiki th {
364 border: 1px solid #bbb;
370 border: 1px solid #bbb;
365 padding: 4px;
371 padding: 4px;
366 }
372 }
367
373
368 div.wiki .external {
374 div.wiki .external {
369 background-position: 0% 60%;
375 background-position: 0% 60%;
370 background-repeat: no-repeat;
376 background-repeat: no-repeat;
371 padding-left: 12px;
377 padding-left: 12px;
372 background-image: url(../images/external.png);
378 background-image: url(../images/external.png);
373 }
379 }
374
380
375 div.wiki a.new {
381 div.wiki a.new {
376 color: #b73535;
382 color: #b73535;
377 }
383 }
378
384
379 div.wiki pre {
385 div.wiki pre {
380 margin: 1em 1em 1em 1.6em;
386 margin: 1em 1em 1em 1.6em;
381 padding: 2px;
387 padding: 2px;
382 background-color: #fafafa;
388 background-color: #fafafa;
383 border: 1px solid #dadada;
389 border: 1px solid #dadada;
384 width:95%;
390 width:95%;
385 overflow-x: auto;
391 overflow-x: auto;
386 }
392 }
387
393
388 div.wiki div.toc {
394 div.wiki div.toc {
389 background-color: #ffffdd;
395 background-color: #ffffdd;
390 border: 1px solid #e4e4e4;
396 border: 1px solid #e4e4e4;
391 padding: 4px;
397 padding: 4px;
392 line-height: 1.2em;
398 line-height: 1.2em;
393 margin-bottom: 12px;
399 margin-bottom: 12px;
394 margin-right: 12px;
400 margin-right: 12px;
395 display: table
401 display: table
396 }
402 }
397 * html div.wiki div.toc { width: 50%; } /* IE6 doesn't autosize div */
403 * html div.wiki div.toc { width: 50%; } /* IE6 doesn't autosize div */
398
404
399 div.wiki div.toc.right { float: right; margin-left: 12px; margin-right: 0; width: auto; }
405 div.wiki div.toc.right { float: right; margin-left: 12px; margin-right: 0; width: auto; }
400 div.wiki div.toc.left { float: left; margin-right: 12px; margin-left: 0; width: auto; }
406 div.wiki div.toc.left { float: left; margin-right: 12px; margin-left: 0; width: auto; }
401
407
402 div.wiki div.toc a {
408 div.wiki div.toc a {
403 display: block;
409 display: block;
404 font-size: 0.9em;
410 font-size: 0.9em;
405 font-weight: normal;
411 font-weight: normal;
406 text-decoration: none;
412 text-decoration: none;
407 color: #606060;
413 color: #606060;
408 }
414 }
409 div.wiki div.toc a:hover { color: #c61a1a; text-decoration: underline;}
415 div.wiki div.toc a:hover { color: #c61a1a; text-decoration: underline;}
410
416
411 div.wiki div.toc a.heading2 { margin-left: 6px; }
417 div.wiki div.toc a.heading2 { margin-left: 6px; }
412 div.wiki div.toc a.heading3 { margin-left: 12px; font-size: 0.8em; }
418 div.wiki div.toc a.heading3 { margin-left: 12px; font-size: 0.8em; }
413
419
414 /***** My page layout *****/
420 /***** My page layout *****/
415 .block-receiver {
421 .block-receiver {
416 border:1px dashed #c0c0c0;
422 border:1px dashed #c0c0c0;
417 margin-bottom: 20px;
423 margin-bottom: 20px;
418 padding: 15px 0 15px 0;
424 padding: 15px 0 15px 0;
419 }
425 }
420
426
421 .mypage-box {
427 .mypage-box {
422 margin:0 0 20px 0;
428 margin:0 0 20px 0;
423 color:#505050;
429 color:#505050;
424 line-height:1.5em;
430 line-height:1.5em;
425 }
431 }
426
432
427 .handle {
433 .handle {
428 cursor: move;
434 cursor: move;
429 }
435 }
430
436
431 a.close-icon {
437 a.close-icon {
432 display:block;
438 display:block;
433 margin-top:3px;
439 margin-top:3px;
434 overflow:hidden;
440 overflow:hidden;
435 width:12px;
441 width:12px;
436 height:12px;
442 height:12px;
437 background-repeat: no-repeat;
443 background-repeat: no-repeat;
438 cursor:pointer;
444 cursor:pointer;
439 background-image:url('../images/close.png');
445 background-image:url('../images/close.png');
440 }
446 }
441
447
442 a.close-icon:hover {
448 a.close-icon:hover {
443 background-image:url('../images/close_hl.png');
449 background-image:url('../images/close_hl.png');
444 }
450 }
445
451
446 /***** Gantt chart *****/
452 /***** Gantt chart *****/
447 .gantt_hdr {
453 .gantt_hdr {
448 position:absolute;
454 position:absolute;
449 top:0;
455 top:0;
450 height:16px;
456 height:16px;
451 border-top: 1px solid #c0c0c0;
457 border-top: 1px solid #c0c0c0;
452 border-bottom: 1px solid #c0c0c0;
458 border-bottom: 1px solid #c0c0c0;
453 border-right: 1px solid #c0c0c0;
459 border-right: 1px solid #c0c0c0;
454 text-align: center;
460 text-align: center;
455 overflow: hidden;
461 overflow: hidden;
456 }
462 }
457
463
458 .task {
464 .task {
459 position: absolute;
465 position: absolute;
460 height:8px;
466 height:8px;
461 font-size:0.8em;
467 font-size:0.8em;
462 color:#888;
468 color:#888;
463 padding:0;
469 padding:0;
464 margin:0;
470 margin:0;
465 line-height:0.8em;
471 line-height:0.8em;
466 }
472 }
467
473
468 .task_late { background:#f66 url(../images/task_late.png); border: 1px solid #f66; }
474 .task_late { background:#f66 url(../images/task_late.png); border: 1px solid #f66; }
469 .task_done { background:#66f url(../images/task_done.png); border: 1px solid #66f; }
475 .task_done { background:#66f url(../images/task_done.png); border: 1px solid #66f; }
470 .task_todo { background:#aaa url(../images/task_todo.png); border: 1px solid #aaa; }
476 .task_todo { background:#aaa url(../images/task_todo.png); border: 1px solid #aaa; }
471 .milestone { background-image:url(../images/milestone.png); background-repeat: no-repeat; border: 0; }
477 .milestone { background-image:url(../images/milestone.png); background-repeat: no-repeat; border: 0; }
472
478
473 /***** Icons *****/
479 /***** Icons *****/
474 .icon {
480 .icon {
475 background-position: 0% 40%;
481 background-position: 0% 40%;
476 background-repeat: no-repeat;
482 background-repeat: no-repeat;
477 padding-left: 20px;
483 padding-left: 20px;
478 padding-top: 2px;
484 padding-top: 2px;
479 padding-bottom: 3px;
485 padding-bottom: 3px;
480 }
486 }
481
487
482 .icon22 {
488 .icon22 {
483 background-position: 0% 40%;
489 background-position: 0% 40%;
484 background-repeat: no-repeat;
490 background-repeat: no-repeat;
485 padding-left: 26px;
491 padding-left: 26px;
486 line-height: 22px;
492 line-height: 22px;
487 vertical-align: middle;
493 vertical-align: middle;
488 }
494 }
489
495
490 .icon-add { background-image: url(../images/add.png); }
496 .icon-add { background-image: url(../images/add.png); }
491 .icon-edit { background-image: url(../images/edit.png); }
497 .icon-edit { background-image: url(../images/edit.png); }
492 .icon-copy { background-image: url(../images/copy.png); }
498 .icon-copy { background-image: url(../images/copy.png); }
493 .icon-del { background-image: url(../images/delete.png); }
499 .icon-del { background-image: url(../images/delete.png); }
494 .icon-move { background-image: url(../images/move.png); }
500 .icon-move { background-image: url(../images/move.png); }
495 .icon-save { background-image: url(../images/save.png); }
501 .icon-save { background-image: url(../images/save.png); }
496 .icon-cancel { background-image: url(../images/cancel.png); }
502 .icon-cancel { background-image: url(../images/cancel.png); }
497 .icon-pdf { background-image: url(../images/pdf.png); }
503 .icon-pdf { background-image: url(../images/pdf.png); }
498 .icon-csv { background-image: url(../images/csv.png); }
504 .icon-csv { background-image: url(../images/csv.png); }
499 .icon-html { background-image: url(../images/html.png); }
505 .icon-html { background-image: url(../images/html.png); }
500 .icon-image { background-image: url(../images/image.png); }
506 .icon-image { background-image: url(../images/image.png); }
501 .icon-txt { background-image: url(../images/txt.png); }
507 .icon-txt { background-image: url(../images/txt.png); }
502 .icon-file { background-image: url(../images/file.png); }
508 .icon-file { background-image: url(../images/file.png); }
503 .icon-folder { background-image: url(../images/folder.png); }
509 .icon-folder { background-image: url(../images/folder.png); }
504 .open .icon-folder { background-image: url(../images/folder_open.png); }
510 .open .icon-folder { background-image: url(../images/folder_open.png); }
505 .icon-package { background-image: url(../images/package.png); }
511 .icon-package { background-image: url(../images/package.png); }
506 .icon-home { background-image: url(../images/home.png); }
512 .icon-home { background-image: url(../images/home.png); }
507 .icon-user { background-image: url(../images/user.png); }
513 .icon-user { background-image: url(../images/user.png); }
508 .icon-mypage { background-image: url(../images/user_page.png); }
514 .icon-mypage { background-image: url(../images/user_page.png); }
509 .icon-admin { background-image: url(../images/admin.png); }
515 .icon-admin { background-image: url(../images/admin.png); }
510 .icon-projects { background-image: url(../images/projects.png); }
516 .icon-projects { background-image: url(../images/projects.png); }
511 .icon-logout { background-image: url(../images/logout.png); }
517 .icon-logout { background-image: url(../images/logout.png); }
512 .icon-help { background-image: url(../images/help.png); }
518 .icon-help { background-image: url(../images/help.png); }
513 .icon-attachment { background-image: url(../images/attachment.png); }
519 .icon-attachment { background-image: url(../images/attachment.png); }
514 .icon-index { background-image: url(../images/index.png); }
520 .icon-index { background-image: url(../images/index.png); }
515 .icon-history { background-image: url(../images/history.png); }
521 .icon-history { background-image: url(../images/history.png); }
516 .icon-feed { background-image: url(../images/feed.png); }
522 .icon-feed { background-image: url(../images/feed.png); }
517 .icon-time { background-image: url(../images/time.png); }
523 .icon-time { background-image: url(../images/time.png); }
518 .icon-stats { background-image: url(../images/stats.png); }
524 .icon-stats { background-image: url(../images/stats.png); }
519 .icon-warning { background-image: url(../images/warning.png); }
525 .icon-warning { background-image: url(../images/warning.png); }
520 .icon-fav { background-image: url(../images/fav.png); }
526 .icon-fav { background-image: url(../images/fav.png); }
521 .icon-fav-off { background-image: url(../images/fav_off.png); }
527 .icon-fav-off { background-image: url(../images/fav_off.png); }
522 .icon-reload { background-image: url(../images/reload.png); }
528 .icon-reload { background-image: url(../images/reload.png); }
523 .icon-lock { background-image: url(../images/locked.png); }
529 .icon-lock { background-image: url(../images/locked.png); }
524 .icon-unlock { background-image: url(../images/unlock.png); }
530 .icon-unlock { background-image: url(../images/unlock.png); }
525 .icon-checked { background-image: url(../images/true.png); }
531 .icon-checked { background-image: url(../images/true.png); }
526
532
527 .icon22-projects { background-image: url(../images/22x22/projects.png); }
533 .icon22-projects { background-image: url(../images/22x22/projects.png); }
528 .icon22-users { background-image: url(../images/22x22/users.png); }
534 .icon22-users { background-image: url(../images/22x22/users.png); }
529 .icon22-tracker { background-image: url(../images/22x22/tracker.png); }
535 .icon22-tracker { background-image: url(../images/22x22/tracker.png); }
530 .icon22-role { background-image: url(../images/22x22/role.png); }
536 .icon22-role { background-image: url(../images/22x22/role.png); }
531 .icon22-workflow { background-image: url(../images/22x22/workflow.png); }
537 .icon22-workflow { background-image: url(../images/22x22/workflow.png); }
532 .icon22-options { background-image: url(../images/22x22/options.png); }
538 .icon22-options { background-image: url(../images/22x22/options.png); }
533 .icon22-notifications { background-image: url(../images/22x22/notifications.png); }
539 .icon22-notifications { background-image: url(../images/22x22/notifications.png); }
534 .icon22-authent { background-image: url(../images/22x22/authent.png); }
540 .icon22-authent { background-image: url(../images/22x22/authent.png); }
535 .icon22-info { background-image: url(../images/22x22/info.png); }
541 .icon22-info { background-image: url(../images/22x22/info.png); }
536 .icon22-comment { background-image: url(../images/22x22/comment.png); }
542 .icon22-comment { background-image: url(../images/22x22/comment.png); }
537 .icon22-package { background-image: url(../images/22x22/package.png); }
543 .icon22-package { background-image: url(../images/22x22/package.png); }
538 .icon22-settings { background-image: url(../images/22x22/settings.png); }
544 .icon22-settings { background-image: url(../images/22x22/settings.png); }
539 .icon22-plugin { background-image: url(../images/22x22/plugin.png); }
545 .icon22-plugin { background-image: url(../images/22x22/plugin.png); }
540
546
541 /***** Media print specific styles *****/
547 /***** Media print specific styles *****/
542 @media print {
548 @media print {
543 #top-menu, #header, #main-menu, #sidebar, #footer, .contextual { display:none; }
549 #top-menu, #header, #main-menu, #sidebar, #footer, .contextual { display:none; }
544 #main { background: #fff; }
550 #main { background: #fff; }
545 #content { width: 99%; margin: 0; padding: 0; border: 0; background: #fff; }
551 #content { width: 99%; margin: 0; padding: 0; border: 0; background: #fff; }
546 }
552 }
General Comments 0
You need to be logged in to leave comments. Login now