Changesets can be listed by changeset number.
The Git repository is here.
Changeset 34
Updated to look and feel of RISC OS Open site. Fixed bugs related to
unterminated entities ("&187" and " " in various places). RSS links
based on url_for() output rather than on an assumed host document root.
- Comitted by: adh
- Date: Saturday July 29 16:30:03 2006 (over 18 years ago)
Affected files:
- rool/rails/collaboa/trunk/app/views/shared/_powered.rhtml
- rool/rails/collaboa/trunk/app/views/shared/_theme.rhtml
- rool/rails/collaboa/trunk/app/helpers/repository_helper.rb (diff)
- rool/rails/collaboa/trunk/app/helpers/rss_helper.rb (diff)
- rool/rails/collaboa/trunk/app/views/admin/milestones/edit.rhtml (diff)
- rool/rails/collaboa/trunk/app/views/admin/milestones/index.rhtml (diff)
- rool/rails/collaboa/trunk/app/views/admin/parts/edit.rhtml (diff)
- rool/rails/collaboa/trunk/app/views/admin/parts/index.rhtml (diff)
- rool/rails/collaboa/trunk/app/views/admin/releases/edit.rhtml (diff)
- rool/rails/collaboa/trunk/app/views/admin/releases/index.rhtml (diff)
- rool/rails/collaboa/trunk/app/views/admin/users/index.rhtml (diff)
- rool/rails/collaboa/trunk/app/views/layouts/application.rhtml (diff)
- rool/rails/collaboa/trunk/app/views/login/login.rhtml (diff)
- rool/rails/collaboa/trunk/app/views/milestones/_milestone.rhtml (diff)
- rool/rails/collaboa/trunk/app/views/repository/_change.rhtml (diff)
- rool/rails/collaboa/trunk/app/views/repository/show_changeset.rhtml (diff)
- rool/rails/collaboa/trunk/app/views/tickets/new.rhtml (diff)
- rool/rails/collaboa/trunk/app/views/tickets/show.rhtml (diff)
- rool/rails/collaboa/trunk/public/stylesheets/screen.css (diff)
rool/rails/collaboa/trunk/app/helpers/repository_helper.rb:
prev. | current | |
else | ||
link = link_to(p, :action => 'browse', :path => path) | ||
end | ||
26 | | |
26 | out << "<li>» " + link + "</li>\n" | |
end | ||
out << "</ul>" | ||
end | ||
... | ... | |
lines_that_differs = /@@ -(\d+),?(\d*) \+(\d+),?(\d*) @@/ | ||
out << "<thead>\n" | ||
41 | | |
41 | out << "\t<tr><td class=\"line-numbers\">prev.</td><td class=\"line-numbers\">current</td><td> </td></tr>\n" | |
out << "</thead>\n" | ||
prev_counter = 0 |
rool/rails/collaboa/trunk/app/helpers/rss_helper.rb:
prev. | current | |
unless (@request.port == 80) or (@request.port == 443) | ||
host += ":" + @request.port.to_s | ||
end | ||
7 | | |
7 | host + url_for(:controller => '') | |
end | ||
end |
rool/rails/collaboa/trunk/app/views/admin/milestones/edit.rhtml:
prev. | current | |
<div class="breadcrumbs"> | ||
<ul> | ||
<li><%= link_to 'Administration', :controller => 'dashboard' -%></li> | ||
7 | | |
8 | | |
7 | <li>» <%= link_to 'Milestones', :action => 'index' -%></li> | |
8 | <li>» Editing Milestone</li> | |
</ul> | ||
</div> | ||
... | ... | |
<input type="submit" value="Edit milestone" class="submit"> | ||
<%= end_form_tag %> | ||
31 | ||
32 | </div> |
rool/rails/collaboa/trunk/app/views/admin/milestones/index.rhtml:
prev. | current | |
<div class="breadcrumbs"> | ||
<ul> | ||
<li><%= link_to 'Administration', :controller => 'dashboard' -%></li> | ||
7 | | |
7 | <li>» Milestones</li> | |
</ul> | ||
</div> | ||
... | ... | |
<input type="submit" value="Create milestone" class="submit"> | ||
<%= end_form_tag %> | ||
36 | ||
37 | </div> |
rool/rails/collaboa/trunk/app/views/admin/parts/edit.rhtml:
prev. | current | |
<div class="breadcrumbs"> | ||
<ul> | ||
<li><%= link_to 'Administration', :controller => 'dashboard' -%></li> | ||
7 | | |
8 | | |
7 | <li>» <%= link_to 'Parts', :action => 'index' -%></li> | |
8 | <li>» Editing part</li> | |
</ul> | ||
</div> | ||
... | ... | |
<input type="submit" value="Edit Part" class="submit"> | ||
<%= end_form_tag %> | ||
25 | ||
26 | </div> |
rool/rails/collaboa/trunk/app/views/admin/parts/index.rhtml:
prev. | current | |
<div class="breadcrumbs"> | ||
<ul> | ||
<li><%= link_to 'Administration', :controller => 'dashboard' -%></li> | ||
7 | | |
7 | <li>» Parts</li> | |
</ul> | ||
</div> | ||
... | ... | |
<input type="submit" value="Create Part" class="submit"> | ||
<%= end_form_tag %> | ||
33 | ||
34 | </div> |
rool/rails/collaboa/trunk/app/views/admin/releases/edit.rhtml:
prev. | current | |
<div class="breadcrumbs"> | ||
<ul> | ||
<li><%= link_to 'Administration', :controller => 'dashboard' -%></li> | ||
7 | | |
8 | | |
7 | <li>» <%= link_to 'Releases', :action => 'index' -%></li> | |
8 | <li>» Editing Release</li> | |
</ul> | ||
</div> | ||
... | ... | |
<input type="submit" value="Edit release" class="submit"> | ||
<%= end_form_tag %> | ||
25 | ||
26 | </div> |
rool/rails/collaboa/trunk/app/views/admin/releases/index.rhtml:
prev. | current | |
<div class="breadcrumbs"> | ||
<ul> | ||
<li><%= link_to 'Administration', :controller => 'dashboard' -%></li> | ||
7 | | |
7 | <li>» Releases</li> | |
</ul> | ||
</div> | ||
... | ... | |
<input type="submit" value="Create Release" class="submit"> | ||
<%= end_form_tag %> | ||
33 | ||
34 | </div> |
rool/rails/collaboa/trunk/app/views/admin/users/index.rhtml:
prev. | current | |
<div class="breadcrumbs"> | ||
<ul> | ||
<li><%= link_to 'Administration', :controller => 'dashboard' -%></li> | ||
7 | | |
7 | <li>» Users</li> | |
</ul> | ||
</div> | ||
... | ... | |
<%= end_form_tag %> | ||
68 | ||
69 | </div> |
rool/rails/collaboa/trunk/app/views/layouts/application.rhtml:
prev. | current | |
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" | ||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> | ||
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> | ||
4 | ||
5 | ||
6 | ||
7 | ||
8 | ||
9 | ||
4 | <head> | |
5 | <meta http-equiv="content-type" content="text/html; charset=utf-8" /> | |
6 | <meta http-equiv="imagetoolbar" content="false" /> | |
7 | <meta name="robots" content="all" /> | |
8 | <meta name="MSSmartTagsPreventParsing" content="true" /> | |
11 | ||
12 | ||
13 | ||
14 | ||
15 | ||
16 | ||
17 | ||
18 | | |
19 | ||
20 | | |
21 | ||
22 | | |
23 | ||
24 | ||
10 | <title><%= @page_title %> - Collaboa</title> | |
26 | ||
27 | ||
28 | ||
29 | ||
30 | | |
31 | | |
32 | | |
33 | | |
34 | | |
35 | | |
36 | | |
37 | | |
12 | <%= stylesheet_link_tag 'screen' %> | |
13 | <% if @params[:controller] == 'repository' && @params[:action] == 'view_file' %> | |
14 | <%= stylesheet_link_tag '/stylesheets/syntaxes/ruby' %> | |
15 | <%= stylesheet_link_tag '/stylesheets/syntaxes/xml' %> | |
16 | <%= stylesheet_link_tag '/stylesheets/syntaxes/yaml' %> | |
17 | <% end %> | |
18 | <% if @params["controller"] == 'repository' %> | |
19 | <%= auto_discovery_link_tag(:rss, {:controller => 'rss', :action => 'changesets'}) -%> | |
20 | <% elsif @params["controller"] == 'tickets' -%> | |
21 | <%= auto_discovery_link_tag(:rss, {:controller => 'rss', :action => 'tickets'}) -%> | |
22 | <% else -%> | |
23 | <%= auto_discovery_link_tag(:rss, {:controller => 'rss', :action => 'all'}) -%> | |
24 | <% end -%> | |
25 | <%= javascript_include_tag "prototype" %> | |
26 | </head> | |
27 | <body> | |
28 | <%= render 'shared/fixed_header' %> | |
39 | | |
40 | | |
41 | | |
42 | | |
43 | | |
44 | | |
45 | | |
46 | | |
47 | | |
48 | | |
49 | | |
50 | | |
51 | | |
52 | | |
53 | | |
54 | | |
55 | | |
56 | | |
57 | | |
58 | | |
59 | | |
60 | | |
61 | | |
62 | | |
63 | | |
64 | ||
30 | <!-- Collaboa contents table --> | |
32 | <p /> | |
33 | <table width="85%" cellspacing="0" cellpadding="0" align="center"> | |
34 | <tr valign="top" align="left"> | |
35 | <td width="75%"> | |
36 | <%= '<h2 align="left" class="notice">' + flash[:notice] + '</h2><p>' if (flash[:notice]) %><%= '<h2 align="left" class="attention">' + flash[:attention] + '</h2><p>' if (flash[:attention]) %><%= '<h2 align="left" class="alert">' + flash[:alert] + '</h2><p>' if (flash[:alert]) %> | |
37 | ||
38 | <p /> | |
<%= @content_for_layout %> | ||
40 | </td> | |
68 | ||
69 | ||
70 | | |
71 | | |
72 | ||
42 | <td> </td> | |
43 | <td bgcolor="#bbbbbb" class="column_divider"><img src="/images/utilities/blank.gif" width="1" height="1" alt="." border="0" /></td> | |
44 | <td> </td> | |
74 | | |
75 | | |
76 | | |
77 | | |
78 | | |
79 | | |
80 | | |
81 | | |
82 | | |
83 | | |
84 | | |
85 | | |
86 | | |
46 | <td width="25%"> | |
47 | <div id="sidebar"> | |
48 | <%= render 'shared/fixed_sidebar' %> | |
88 | ||
50 | <p /> | |
51 | <div class="sidebar-node"> | |
52 | <% if current_user.login == 'Public' %> | |
53 | <h3>Log in</h3> | |
90 | ||
55 | <p /> | |
56 | <ul><li><%= link_to 'Login', :controller => '/login', :action => 'login' -%></li></ul> | |
57 | <% else %> | |
58 | <h3>Log out</h3> | |
92 | ||
93 | ||
60 | <p /> | |
61 | <ul><li>Logged in as <%= current_user.login %> <%= link_to '(Log out)', :controller => '/login', :action => 'logout' -%></li></ul> | |
62 | <% end %> | |
63 | </div> | |
64 | ||
65 | <p /> | |
66 | <div class="sidebar-node"> | |
67 | <h3>Options</h3> | |
68 | ||
69 | <p /> | |
70 | <ul> | |
71 | <% if current_user.view_changesets? -%> | |
72 | <li><%= link_to 'Changesets', :controller => '/repository', :action => 'changesets' -%></li> | |
73 | <% end -%> | |
74 | <% if current_user.view_code? -%> | |
75 | <li><%= link_to 'Browse source', :controller => '/repository', :action => 'browse', :path => nil -%></li> | |
76 | <% end -%> | |
77 | <% if current_user.view_milestones? -%> | |
78 | <li><%= link_to 'Milestones', :controller => '/milestones' -%></li> | |
79 | <% end -%> | |
80 | <% if current_user.view_tickets? -%> | |
81 | <li><%= link_to 'Tickets', :controller => '/tickets' -%></li> | |
82 | <% end -%> | |
83 | <% if current_user.create_tickets? -%> | |
84 | <li><%= link_to 'New Ticket', :controller => '/tickets', :action => 'new' -%></li> | |
85 | <% end -%> | |
86 | <% if current_user.view_tickets? -%> | |
87 | <li><%= link_to 'Search', :controller => '/search' -%></li> | |
88 | <% end -%> | |
89 | <% if current_user.admin? -%> | |
90 | <li><%= link_to 'Admin', :controller => '/admin' -%></li> | |
91 | <% end -%> | |
92 | </ul> | |
93 | </div> | |
94 | ||
95 | <p /> | |
96 | <div class="sidebar-node"> | |
97 | <h3>RSS feeds <%= image_tag("rss.gif") %></h3> | |
98 | ||
99 | <p /> | |
100 | <ul> | |
101 | <% if @params["controller"] == 'repository' -%> | |
102 | <li><%= link_to 'Changesets', :controller => 'rss', :action => 'changesets' %></li> | |
103 | <% elsif @params["controller"] == 'tickets' -%> | |
104 | <li><%= link_to 'Tickets', :controller => 'rss', :action => 'tickets' %></li> | |
105 | <% end -%> | |
106 | <li><%= link_to 'Everything!', :controller => 'rss', :action => 'all' %></li> | |
107 | <li><%= link_to 'More feeds...', :controller => 'rss', :action => 'index' -%></li> | |
108 | </ul> | |
109 | </div> | |
110 | </div> | |
111 | </td> | |
112 | </tr> | |
113 | </table> | |
114 | ||
115 | <%= render 'shared/fixed_footer' %> | |
116 | </body> | |
117 | </html> | |
rool/rails/collaboa/trunk/app/views/login/login.rhtml:
prev. | current | |
<div id="content"> | ||
<h1>Please login</h1> | ||
6 | ||
<%= start_form_tag :action=> "login" %> | ||
<div title="Account login" id="loginform" class="form"> | ||
10 | | |
<% if @message %> | ||
12 | | |
10 | <div class="notice"><%= @message %></div> | |
<% end %> | ||
14 | ||
<label>Login: | ||
<input type="text" name="user_login" id="user_login" size="30" value=""/></label> | ||
<label>Password: | ||
<input type="password" name="user_password" id="user_password" size="30"/></label> | ||
20 | ||
<input type="submit" name="login" value="Login »" class="primary" /> | ||
</div> | ||
<%= end_form_tag %> | ||
</div> | ||
27 |
rool/rails/collaboa/trunk/app/views/milestones/_milestone.rhtml:
prev. | current | |
<div id="milestone-info"><%= simple_format(milestone.info) if milestone.info %></div> | ||
5 | <!-- Old-style HTML table hackery to enable a wider range of --> | |
6 | <!-- browsers to cope with the Milestones progress bars. --> | |
7 | ||
8 | <table width="80%" border="0" cellspacing="0" cellpadding="1" align="center" bgcolor="#888888"> | |
9 | <tr> | |
10 | <td> | |
11 | <table width="100%" border="0" cellspacing="0" cellpadding="0" bgcolor="#dddddd"> | |
12 | <tr> | |
13 | <% if (milestone.completed_tickets_percent > 0) %> | |
14 | <td width="<%= milestone.completed_tickets_percent -%>%" bgcolor="#00dd00"> </td> | |
15 | <% end %><% if (milestone.completed_tickets_percent < 100) %> | |
16 | <td width="<%= 100 - milestone.completed_tickets_percent -%>%"> </td> | |
17 | <% end %> | |
18 | </tr> | |
19 | </table> | |
20 | </td> | |
21 | </td> | |
22 | </table> | |
23 | ||
24 | <!-- Was: | |
<div class="milestone-progress"> | ||
<div class="percent-completed" style="width: <%= milestone.completed_tickets_percent -%>%;"></div> | ||
</div> | ||
28 | --> | |
<p class="milestone-details"> | ||
10 | | |
11 | | |
12 | | |
31 | <%= link_to "Closed tickets: #{milestone.closed_tickets}", | |
32 | :controller => 'tickets', | |
33 | :action => 'filter', | |
:status => -1, | ||
14 | | |
15 | | |
16 | | |
17 | | |
35 | :milestone => milestone.id -%> (<%= milestone.completed_tickets_percent -%>% done) | |
36 | - <%= link_to "Open tickets: #{milestone.open_tickets}", | |
37 | :controller => 'tickets', | |
38 | :action => 'filter', | |
:status => 1, | ||
19 | | |
40 | :milestone => milestone.id -%> | |
</p> | ||
rool/rails/collaboa/trunk/app/views/repository/_change.rhtml:
prev. | current | |
1 | | |
2 | | |
1 | <li class="change-name"><%= image_tag("chg-icon_#{change.name}.png", | |
2 | :alt => change_map(change.name), | |
:title => change_map(change.name)) %> | ||
<% if change.name == 'D' -%> | ||
<%= change.path -%> | ||
... | ... | |
<%= link_to change.path, url_for_svn_path(change.path, change.revision) -%> | ||
<% end -%> | ||
<% if change.name == 'M' && change.diffable? -%> | ||
10 | | |
10 | <small>(<a href="#<%= change.path.gsub("\/", '_') -%>">diff</a>)</small> | |
<% elsif change.name == 'CP' -%> | ||
<small>(from <%= link_to change.from_path, url_for_svn_path(change.from_path, change.revision) -%>:<%= change.from_revision -%>)</small> | ||
<% elsif change.name == 'MV' -%> |
rool/rails/collaboa/trunk/app/views/repository/show_changeset.rhtml:
prev. | current | |
<div class="breadcrumbs"> | ||
<ul> | ||
<li><%= link_to 'Changesets', :action => 'changesets' -%></li> | ||
7 | | |
7 | <li>» Changeset <%= @changeset.revision -%></li> | |
</ul> | ||
</div> | ||
... | ... | |
<div class="log"><%= format_and_make_links(h(@changeset.log)) -%></div> | ||
<ul class="changes"> | ||
<li><strong>Comitted by:</strong> <%= @changeset.author -%></li> | ||
15 | | |
15 | <li><strong>Date:</strong> <%= @changeset.revised_at.strftime('%A %B %d %H:%M:%S %Y') -%> | |
(<%= distance_of_time_in_words(@changeset.revised_at, Time.now) %> ago)</li> | ||
</ul> | ||
... | ... | |
</ul> | ||
<% @files_to_diff.each_with_index do |diff, idx| %> | ||
26 | | |
26 | <a name="<%= diff.path.gsub("\/", '_') -%>"></a> | |
<h3><%= diff.path %>:</h3> | ||
<%= render_diff(diff.unified_diff) %> | ||
<% end %> |
rool/rails/collaboa/trunk/app/views/tickets/new.rhtml:
prev. | current | |
<div class="breadcrumbs"> | ||
<ul> | ||
<li><%= link_to 'Tickets', :action => 'index' -%></li> | ||
7 | | |
7 | <li>» New Ticket</li> | |
</ul> | ||
</div> | ||
<%= error_messages_for 'ticket' %> | ||
12 | | |
12 | ||
<%= form_tag :action => 'new' %> | ||
<fieldset> | ||
<legend>Create a new ticket</legend> | ||
16 | | |
17 | | |
16 | ||
17 | <label class="first">Name or Email: | |
<%= text_field 'ticket', 'author' -%></label> | ||
19 | | |
19 | ||
20 | <br /> | |
21 | <label>Summary: | |
<%= text_field 'ticket', 'summary' -%></label> | ||
23 | ||
24 | <br /> | |
<label>Description: | ||
<%= text_area 'ticket', 'content' -%></label> | ||
23 | | |
27 | ||
<table> | ||
<tr> | ||
<td>Severity:</td> | ||
<td><%= collection_select 'ticket', 'severity_id', @severities, 'id', 'name' -%></td> | ||
28 | | |
32 | </tr> | |
33 | <tr> | |
<td>Release:</td> | ||
<td><%= collection_select 'ticket', 'release_id', @releases, 'id', 'name', { :include_blank => true } -%></td> | ||
</tr> | ||
<tr> | ||
<td>Part: </td> | ||
<td><%= collection_select 'ticket', 'part_id', @parts, 'id', 'name', { :include_blank => true } -%></td> | ||
35 | | |
40 | </tr> | |
41 | <tr> | |
<td>Add to milestone: </td> | ||
<td><%= collection_select 'ticket', 'milestone_id', @milestones, 'id', 'name', { :include_blank => true } -%></td> | ||
</tr> | ||
</table> | ||
40 | | |
46 | ||
</fieldset> | ||
42 | | |
48 | ||
<input type="submit" value="File new ticket" class="submit"> | ||
44 | | |
50 | ||
<%= end_form_tag %> | ||
46 | ||
53 | </div> |
rool/rails/collaboa/trunk/app/views/tickets/show.rhtml:
prev. | current | |
<% @page_title = 'Ticket #' + @ticket.id.to_s %> | ||
<div id="content"> | ||
4 | | |
4 | ||
<%= render_next_prev_links -%> | ||
6 | | |
6 | ||
<div class="breadcrumbs"> | ||
<ul> | ||
<li><%= link_to 'Tickets', :action => 'index' -%></li> | ||
10 | | |
10 | <li>» Ticket #<%= @ticket.id -%></li> | |
</ul> | ||
</div> | ||
... | ... | |
</tr> | ||
</table> | ||
46 | ||
<h3>Details by <%= format_author @ticket.author -%>:</h3> | ||
<%= make_links(htmlize(@ticket.content)) %> | ||
</div> | ||
... | ... | |
<li><strong>Attachment</strong> added: <%= link_to(change.attachment, :action => "attachment", :id => change.id) %></li> | ||
<% end -%> | ||
</ul> | ||
64 | | |
63 | ||
<% unless change.comment.nil? -%> | ||
<div id="ticket-change-comment"><%= make_links(htmlize(change.comment)) %></div> | ||
<% end -%> | ||
68 | | |
67 | ||
<% end -%> | ||
</div> | ||
73 | ||
72 | <%= form_tag({ :action => 'show', :id => @ticket.id }, :multipart => true) %> | |
<fieldset> | ||
<legend>Add comment and/or change ticket properties</legend> | ||
76 | | |
75 | <label class="first">Name/Email <em>(obligatory)</em>: | |
<%= text_field 'change', 'author' -%></label> | ||
78 | | |
79 | | |
77 | ||
78 | <br /> | |
79 | <label>Attachment: | |
<%= file_field('change', 'attachment') -%></label> | ||
82 | | |
82 | <br /> | |
83 | <label>Comment: | |
<%= text_area 'change', 'comment', :rows => 12 -%></label> | ||
84 | | |
85 | | |
85 | ||
86 | <br /> | |
87 | <label>Ticket Summary: | |
<%= text_field 'ticket', 'summary' -%></label> | ||
<table> | ||
... | ... | |
<tr> | ||
<td>Severity:</td> | ||
<td><%= collection_select 'ticket', 'severity_id', @severities, 'id', 'name' -%></td> | ||
96 | ||
98 | </tr> | |
99 | <tr> | |
<td>Release:</td> | ||
<td><%= collection_select 'ticket', 'release_id', @releases, 'id', 'name', { :include_blank => true } -%></td> | ||
</tr> | ||
<tr> | ||
<td>Part: </td> | ||
102 | | |
103 | ||
104 | | |
105 | | |
106 | | |
105 | <td><%= collection_select 'ticket', 'part_id', @parts, 'id', 'name', { :include_blank => true } -%></td> | |
</tr> | ||
107 | <tr> | |
108 | <td>Milestone: </td> | |
109 | <td><%= collection_select 'ticket', 'milestone_id', @milestones, 'id', 'name', { :include_blank => true } -%></td> | |
110 | </tr> | |
</table> | ||
109 | | |
112 | ||
</fieldset> | ||
<input type="submit" value="Submit changes" class="submit"> | ||
<%= end_form_tag %> | ||
<%= render_next_prev_links -%> | ||
115 | ||
119 | </div> |
rool/rails/collaboa/trunk/public/stylesheets/screen.css:
prev. | current | |
1 | ||
2 | | |
1 | /* RISC OS Open Collaboa stylesheet. | |
2 | * | |
3 | * Based on the Collaboa default stylesheet. | |
*/ | ||
4 | ||
5 | ||
6 | ||
6 | @import url("/css/risc_os_open.css"); | |
/** | ||
10 | | |
9 | * Some general properties | |
*/ | ||
12 | ||
13 | | |
14 | | |
15 | | |
16 | | |
17 | | |
18 | ||
20 | ||
21 | | |
22 | | |
12 | DIV#content A | |
13 | { | |
14 | border: none; | |
} | ||
25 | ||
26 | | |
27 | | |
28 | | |
29 | ||
30 | ||
31 | ||
32 | | |
33 | ||
34 | ||
35 | ||
36 | ||
37 | ||
38 | ||
39 | ||
40 | | |
41 | | |
42 | | |
43 | ||
44 | ||
45 | | |
46 | ||
47 | ||
48 | | |
49 | ||
50 | ||
51 | | |
52 | | |
53 | ||
54 | ||
55 | ||
56 | ||
57 | | |
58 | | |
59 | ||
60 | ||
61 | | |
62 | | |
63 | ||
64 | ||
65 | ||
66 | | |
67 | | |
68 | | |
69 | | |
70 | | |
71 | ||
72 | ||
73 | ||
74 | | |
75 | | |
76 | | |
17 | DIV#content H1 | |
18 | { | |
19 | padding: 0; | |
20 | font-size: 160%; | |
margin-bottom: 10px; | ||
78 | | |
79 | | |
} | ||
82 | ||
83 | ||
84 | | |
85 | | |
86 | | |
87 | | |
24 | DIV#content H2 | |
25 | { | |
26 | font-size: 140%; | |
} | ||
89 | ||
91 | ||
92 | | |
93 | | |
94 | | |
29 | DIV#content H3 | |
30 | { | |
31 | margin: 10px 0; | |
} | ||
96 | ||
97 | ||
99 | ||
100 | | |
34 | BLOCKQUOTE | |
35 | { | |
margin: 5px; | ||
padding-left: 5px; | ||
margin: 5px 5px 5px 10px; | ||
border-left: 2px solid #aaa; | ||
} | ||
106 | ||
108 | ||
109 | | |
110 | | |
42 | BLOCKQUOTE P | |
43 | { | |
44 | color: #555; | |
45 | margin-bottom: 5px | |
} | ||
112 | ||
47 | ||
48 | CODE, PRE | |
49 | { | |
50 | font: 80% "Courier New", Courier, monaco, monospace; | |
51 | } | |
52 | ||
53 | PRE | |
54 | { | |
padding: 10px 0 10px 10px; | ||
} | ||
116 | ||
58 | SMALL | |
59 | { | |
color: #666; | ||
} | ||
120 | ||
/** | ||
* Forms | ||
*/ | ||
124 | | |
125 | ||
126 | | |
127 | | |
128 | | |
129 | | |
130 | | |
131 | | |
66 | ||
67 | FIELDSET | |
68 | { | |
69 | display: block; | |
70 | margin: 10px 0 10px 0; | |
71 | border: 1px solid #ccc; | |
72 | background: #f6f6f6; | |
} | ||
134 | ||
75 | FIELDSET LEGEND | |
76 | { | |
padding: 2px 10px 2px 10px; | ||
border: 1px solid #ccc; | ||
background: #fff; | ||
138 | | |
} | ||
141 | ||
142 | | |
143 | | |
144 | | |
82 | LEGEND | |
83 | { | |
84 | font-weight: bold; | |
85 | font-size: 80%; | |
} | ||
146 | ||
147 | ||
148 | ||
149 | ||
150 | ||
152 | ||
153 | | |
154 | | |
88 | LABEL | |
89 | { | |
90 | font-size: 80%; | |
91 | display: block; | |
} | ||
157 | ||
158 | | |
159 | | |
160 | | |
94 | LABEL.first | |
95 | { | |
96 | padding-top: 10px; | |
} | ||
163 | ||
164 | | |
165 | | |
166 | | |
167 | | |
168 | | |
99 | FIELDSET BR | |
100 | { | |
101 | display: block; | |
} | ||
171 | ||
172 | | |
104 | INPUT, TEXTAREA | |
105 | { | |
106 | display: block; | |
107 | width: 50%; | |
108 | margin-bottom: 10px; | |
} | ||
175 | ||
176 | | |
111 | TEXTAREA { width: 75%; } | |
112 | TEXTAREA.largetextarea { height: 350px; } | |
113 | TEXTAREA.smalltextarea { height: 150px; } | |
114 | TEXTAREA.bigtextarea { height: 450px; } | |
115 | ||
116 | .checkbox | |
117 | { | |
118 | display: inline; | |
119 | width: auto; | |
} | ||
179 | ||
180 | | |
181 | | |
122 | SELECT | |
123 | { | |
124 | display: inline; | |
} | ||
184 | ||
185 | | |
186 | | |
127 | .submit | |
128 | { | |
129 | margin-top: 20px; | |
130 | width: auto; | |
} | ||
189 | ||
133 | .smallsubmit | |
134 | { | |
135 | margin: 3px 0 0 0; | |
width: auto; | ||
137 | } | |
138 | ||
139 | FORM.button-to INPUT | |
140 | { | |
141 | width: auto; | |
margin: 0; | ||
padding: 0; | ||
} | ||
195 | ||
196 | ||
146 | .rev-chooser INPUT | |
147 | { | |
148 | width: 50px; | |
149 | display: inline; | |
150 | } | |
198 | ||
199 | | |
200 | | |
201 | | |
202 | ||
152 | .rev-chooser P | |
153 | { | |
margin: 10px 0; | ||
204 | | |
205 | | |
206 | | |
155 | font-size: 80%; | |
156 | color: #aaa; | |
157 | float: right; | |
} | ||
208 | ||
209 | | |
210 | | |
211 | | |
212 | ||
213 | ||
214 | | |
215 | ||
216 | ||
217 | | |
218 | | |
219 | | |
220 | | |
221 | | |
222 | | |
223 | | |
224 | | |
225 | ||
226 | ||
227 | | |
228 | | |
229 | ||
/** | ||
* Main | ||
*/ | ||
234 | | |
235 | ||
236 | | |
237 | | |
238 | | |
239 | | |
240 | ||
242 | ||
164 | .pagination | |
165 | { | |
text-align: center; | ||
margin: 10px 0; | ||
245 | | |
246 | | |
168 | border-top: 1px solid #e5ffd4; | |
} | ||
249 | ||
250 | | |
251 | | |
171 | .breadcrumbs UL | |
172 | { | |
173 | margin: -10px 0 5px 0; | |
174 | padding:0; | |
} | ||
253 | ||
254 | | |
255 | | |
256 | | |
257 | | |
176 | ||
177 | .breadcrumbs UL LI | |
178 | { | |
179 | display: inline; | |
180 | font-size: 80%; | |
181 | color: #333; | |
182 | margin: 0; | |
padding:0; | ||
} | ||
261 | ||
262 | | |
186 | .actions P | |
187 | { | |
188 | font-size: 80%; | |
margin:0; | ||
padding:0; | ||
} | ||
266 | ||
192 | ||
193 | .actions P A | |
194 | { | |
display: block; | ||
padding: 3px; | ||
} | ||
270 | ||
198 | ||
199 | .actions | |
200 | { | |
background: #ffd; | ||
margin: 0; | ||
} | ||
... | ... | |
/** | ||
* General table listings | ||
*/ | ||
278 | | |
279 | ||
208 | ||
209 | #content TABLE.listing | |
210 | { | |
border-collapse: collapse; | ||
border-spacing: 0; | ||
width: 100%; | ||
} | ||
284 | ||
285 | ||
286 | | |
215 | ||
216 | TABLE.listing THEAD | |
217 | { | |
218 | background: #ddd; | |
219 | } | |
220 | ||
221 | TABLE.listing TH | |
222 | { | |
223 | font-size: 80%; | |
font-weight: bold; | ||
padding: 3px 5px; | ||
289 | | |
290 | | |
226 | vertical-align: top; | |
227 | text-align: center; | |
} | ||
292 | ||
293 | ||
295 | ||
296 | ||
230 | TABLE.listing TD | |
231 | { | |
232 | vertical-align: middle; | |
233 | padding: 0 2px 0 2px; | |
234 | font-size: 80%; | |
235 | } | |
298 | ||
237 | TABLE.listing TR.even, TABLE#browser TR.parent { background-color: #fbfbfb; } | |
238 | TABLE.listing TR.odd { background-color: #f1f1f1; } | |
300 | ||
301 | | |
240 | #content TABLE.listing TD A | |
241 | { | |
242 | display: block; | |
243 | padding: 2px; | |
244 | } | |
245 | ||
246 | TABLE.listing THEAD TH A.asc | |
247 | { | |
248 | background-image: url("/rails/collaboa/images/sort_asc.png"); | |
background-repeat: no-repeat; | ||
padding-right: 10px; | ||
background-position: 100% 50%; | ||
} | ||
306 | ||
307 | | |
253 | ||
254 | TABLE.listing THEAD TH A.desc | |
255 | { | |
256 | background-image: url("/rails/collaboa/images/sort_desc.png"); | |
background-repeat: no-repeat; | ||
padding-right: 10px; | ||
background-position: 100% 50%; | ||
} | ||
313 | ||
314 | ||
/** | ||
* Milestones | ||
*/ | ||
319 | ||
320 | | |
321 | | |
322 | | |
323 | | |
266 | DIV.milestone-progress | |
267 | { | |
268 | border: 1px solid #aaa; | |
269 | height: 25px; | |
270 | margin: 20px 10% 0 10%; | |
background: #ddd; | ||
} | ||
326 | ||
327 | ||
328 | | |
329 | | |
273 | ||
274 | DIV.milestone-progress DIV.percent-completed | |
275 | { | |
276 | background: #3c0; | |
277 | height: 100%; | |
278 | } | |
279 | ||
280 | .milestone-details | |
281 | { | |
282 | font-size: 80%; | |
margin-top: 5px; | ||
331 | | |
text-align: center; | ||
} | ||
334 | ||
/** | ||
* Tickets | ||
338 | | |
289 | */ | |
340 | | |
341 | ||
342 | ||
343 | | |
344 | | |
345 | | |
346 | | |
347 | | |
348 | | |
349 | | |
291 | TABLE.tickets TR TD { vertical-align: top; } | |
292 | TABLE.tickets TR TD.ticket-status, | |
293 | TABLE.tickets TR TD.ticket-severity, | |
294 | TABLE.tickets TR TD.ticket-part, | |
295 | TABLE.tickets TR TD.ticket-milestone, | |
296 | TABLE.tickets TR TD.ticket-release, | |
297 | TABLE.tickets TR TD.ticket-created, | |
298 | TABLE.user_list TR TD | |
299 | { | |
300 | font-size: 80%; | |
text-align: center; | ||
vertical-align: top; | ||
} | ||
354 | ||
355 | | |
305 | TABLE.tickets TR TH.ticket-number, | |
306 | TABLE.tickets TR TH.ticket-summary | |
307 | { | |
text-align: left; | ||
} | ||
359 | ||
311 | #ticket | |
312 | { | |
background: #ffc; | ||
border: 1px solid #aaa; | ||
padding: 10px; | ||
} | ||
364 | ||
365 | ||
366 | ||
317 | ||
318 | #ticket H1 {border: none; margin-bottom: 10px;} | |
319 | #ticket H2 {margin-top: 10px;} | |
320 | ||
321 | #ticket H1 SPAN | |
322 | { | |
font-size: 12px; | ||
font-weight: normal; | ||
color: #650; | ||
float: right; | ||
} | ||
373 | ||
329 | TABLE.ticket-details | |
330 | { | |
margin: 20px auto 20px auto; | ||
width: 90%; | ||
333 | border-collapse: collapse; | |
} | ||
377 | ||
378 | ||
379 | ||
380 | ||
382 | ||
383 | ||
384 | ||
336 | TABLE.ticket-details TR TD | |
337 | { | |
338 | border-bottom: 1px solid #eea; | |
339 | font-size: 80%; | |
340 | } | |
342 | TABLE.ticket-details TR TD.info | |
343 | { | |
344 | width: 100px; | |
345 | color: #650; | |
346 | } | |
347 | ||
348 | FIELDSET TABLE { border-collapse: collapse; } | |
349 | FIELDSET TABLE TR TD { padding: 3px 5px 3px 5px; } | |
350 | FIELDSET TABLE TR.set-status { background: #ddd; } | |
351 | ||
#ticket-changes { margin: 0 20px 10px 20px; } | ||
387 | ||
388 | | |
389 | | |
390 | | |
353 | ||
354 | #ticket-changes H4 | |
355 | { | |
356 | font-size: 100%; | |
357 | font-weight: normal; | |
358 | color: #888; | |
border-bottom: 1px solid #eee; | ||
margin-bottom: 5px; | ||
margin-top: 20px; | ||
} | ||
395 | ||
363 | ||
364 | #ticket-changes UL | |
365 | { | |
list-style: disc inside; | ||
margin: 0 0 0 20px; | ||
padding: 0 0 0 10px; | ||
} | ||
400 | ||
401 | ||
370 | ||
371 | #ticket-changes P | |
372 | { | |
margin: 10px 0 0 30px; | ||
} | ||
404 | ||
406 | ||
407 | ||
376 | #ticket-changes UL LI EM | |
377 | { | |
378 | font-style: normal; | |
379 | background: #ffd; | |
380 | padding: 1px; | |
381 | } | |
409 | ||
410 | ||
411 | ||
412 | ||
413 | ||
383 | #ticket-change-comment UL | |
384 | { | |
385 | margin-top: 0; | |
386 | margin-bottom: 0; | |
387 | padding-top: 0; | |
388 | padding-bottom: 0; | |
389 | } | |
415 | ||
416 | | |
417 | | |
391 | #ticket-change-comment UL LI | |
392 | { | |
393 | margin: 0; | |
} | ||
396 | #filter-selector | |
397 | { | |
398 | border: 1px solid #333; | |
399 | font-size: 80%; | |
400 | background: #ffe; | |
401 | margin: 0 0 10px 0; | |
402 | padding-bottom: 10px; | |
403 | } | |
404 | ||
405 | #filter-selector DL | |
406 | { | |
407 | margin: 0; | |
408 | padding: 5px 0 0 10px | |
409 | } | |
410 | ||
411 | #filter-selector DL DT, #filter-selector dl dd | |
412 | { | |
413 | display: inline; | |
414 | margin: 0; | |
415 | } | |
416 | ||
417 | #filter-selector DL DT | |
418 | { | |
419 | float: left; | |
420 | width: 70px; | |
421 | } | |
422 | ||
423 | #filter-selector DL DD | |
424 | { | |
425 | margin-right: 5px; | |
426 | color: #9a9a9a; | |
427 | } | |
428 | ||
429 | #filter-selector DL DD P { margin-left: 70px; } | |
430 | #filter-selector P { margin: 5px 0 0 10px; } | |
431 | #filter-selector P A { font-weight: bold; } | |
432 | ||
433 | .ticket-next-prev | |
434 | { | |
435 | text-align: right; | |
436 | margin-bottom: -18px; | |
437 | } | |
438 | ||
/** | ||
421 | | |
440 | * Revision logs | |
*/ | ||
423 | ||
424 | | |
442 | ||
443 | TABLE.revision-log { margin-top: 10px; } | |
444 | TABLE.revision-log TR TH { background: #eee; } | |
445 | TABLE.revision-log TD | |
446 | { | |
447 | padding-top: 10px; | |
448 | vertical-align: top; | |
449 | font-size: 80%; | |
} | ||
426 | ||
427 | ||
428 | ||
429 | ||
431 | ||
432 | | |
452 | /** | |
453 | * Repository browser | |
454 | */ | |
455 | ||
456 | #content TABLE#browser TR TD { white-space: nowrap; } | |
457 | #content TABLE#browser TD.name { width: 75%; } | |
458 | #content TABLE#browser TD.rev { width: 5%; } | |
459 | #content TABLE#browser TD.age { width: 5%; } | |
460 | #content TABLE#browser TD.msg { width: 15%; } | |
461 | ||
462 | #content TABLE#browser TD.name A | |
463 | { | |
464 | padding-left: 25px; | |
background-position: 4px 50%; | ||
background-repeat: no-repeat; | ||
} | ||
436 | ||
437 | ||
438 | ||
439 | ||
440 | ||
442 | ||
443 | ||
444 | ||
445 | ||
469 | #content TABLE#browser TD.rev, #content TABLE#browser td.age | |
470 | { | |
471 | font-size: 80%; | |
472 | text-align: center; | |
473 | } | |
447 | ||
448 | ||
449 | | |
450 | | |
475 | #content TABLE#browser td.msg | |
476 | { | |
477 | font-size: 80%; | |
478 | color: #666; | |
479 | } | |
480 | ||
481 | #content TABLE#browser TD.File A | |
482 | { | |
483 | background-image: url("/rails/collaboa/images/icon_file.gif"); | |
484 | } | |
485 | ||
486 | #content TABLE#browser TD.Dir A | |
487 | { | |
488 | background-image: url("/rails/collaboa/images/icon_folder.gif"); | |
489 | } | |
490 | ||
491 | #content TABLE#browser TD.parent A | |
492 | { | |
493 | background-image: url("/rails/collaboa/images/icon_up.gif"); | |
494 | } | |
495 | ||
496 | #download-alternate { margin-top: 10px; } | |
497 | #download-alternate H4, #download-alternate p { text-align: center; } | |
498 | #download-alternate H4 { font-weight: bold; font-size: 80%; } | |
499 | #download-alternate P { color: #ccc; } | |
500 | ||
501 | #html-preview | |
502 | { | |
503 | width: 100%; | |
504 | margin-top: 20px; | |
505 | padding-bottom: 5px; | |
506 | } | |
507 | ||
508 | #html-preview TABLE | |
509 | { | |
510 | border-collapse: collapse; | |
color: #000; | ||
} | ||
... | ... | |
* Common code display | ||
*/ | ||
458 | ||
518 | TABLE TR TD.line-numbers | |
519 | { | |
text-align: right; | ||
vertical-align: top; | ||
background: #eee; | ||
color: #555; | ||
463 | | |
524 | font-size: 70%; | |
padding: 2px; | ||
width: 35px; | ||
border-right: 1px solid #ccc; | ||
border-bottom: 1px solid #ddd; | ||
} | ||
469 | ||
470 | | |
471 | | |
530 | ||
531 | TABLE TR TD.code | |
532 | { | |
533 | display: block; | |
534 | padding-left: 2px; | |
535 | background: #fff; | |
white-space: pre; | ||
473 | | |
474 | | |
537 | font: 80% "Courier New", Courier, monaco, monospace; | |
538 | overflow: auto; | |
} | ||
/** | ||
478 | | |
542 | * Code Diff TABLE. | |
*/ | ||
481 | ||
545 | TABLE.codediff | |
546 | { | |
border: 1px solid #ccc; | ||
width: 100%; | ||
border-collapse: collapse; | ||
} | ||
486 | ||
487 | | |
488 | | |
489 | | |
551 | ||
552 | TABLE.codediff td.line-num-cut | |
553 | { | |
554 | background: #ccc; | |
555 | border-top: 1px dashed #ccc; | |
556 | border-bottom: 1px dashed #ccc; | |
} | ||
491 | ||
492 | ||
493 | ||
494 | | |
495 | | |
496 | | |
558 | ||
559 | TABLE.codediff thead td.line-numbers, TABLE.codediff thead | |
560 | { | |
561 | background: #ddd; | |
} | ||
563 | ||
564 | TABLE.codediff td.cut-line | |
565 | { | |
566 | background: #eee; | |
567 | border-top: 1px dashed #aaa; | |
568 | border-bottom: 1px dashed #aaa; | |
569 | } | |
570 | ||
del { background: #fbb; text-decoration: none; } | ||
ins { background: #afa; text-decoration: none; } | ||
500 | ||
501 | ||
573 | TABLE.codediff td.del { background: #fdd; } | |
574 | TABLE.codediff td.ins { background: #dfd; } | |
503 | ||
/** | ||
* Changesets | ||
*/ | ||
508 | ||
580 | DIV.log | |
581 | { | |
background-color: #ffc; | ||
border: 1px solid #ccc; | ||
margin-bottom: 10px; | ||
} | ||
513 | ||
514 | ||
515 | | |
516 | | |
517 | | |
586 | ||
587 | DIV.log P | |
588 | { | |
589 | margin: 10px; | |
} | ||
519 | ||
520 | | |
521 | | |
522 | | |
591 | ||
592 | DIV.log-small | |
593 | { | |
594 | margin: 0 0 0 20px; | |
} | ||
525 | ||
597 | DIV.log-small p | |
598 | { | |
599 | font-size: 80%; | |
600 | } | |
601 | ||
602 | UL.changes | |
603 | { | |
list-style: none; | ||
527 | | |
605 | margin-top: 10px; | |
padding: 0; | ||
607 | font-size: 80%; | |
608 | color: #9a9a9a; | |
} | ||
531 | ||
532 | ||
533 | ||
534 | ||
611 | UL.changes LI.change-name { color: #666; } | |
/** | ||
* Search | ||
*/ | ||
539 | ||
540 | ||
541 | ||
617 | .search-result P STRONG.highlight | |
618 | { | |
619 | font-weight: normal; | |
620 | background: #ff9; | |
621 | } | |
622 | ||
/** | ||
* Admin Users | ||
*/ | ||
547 | ||
627 | INPUT#user_view_changesets, | |
628 | INPUT#user_view_code, | |
629 | INPUT#user_view_tickets, | |
630 | INPUT#user_create_tickets, | |
631 | INPUT#user_admin, | |
632 | INPUT#user_view_milestones | |
633 | { | |
margin: .5em .5em; | ||
vertical-align: middle; | ||
} | ||
552 | ||
638 | INPUT[type~=HIDDEN] { | |
display: none; | ||
} | ||
... | ... | |
* Error display | ||
*/ | ||
560 | ||
561 | | |
562 | | |
646 | .errorExplanation | |
647 | { | |
648 | margin-bottom: 20px; | |
} | ||
564 | ||
565 | | |
566 | | |
567 | | |
568 | | |
569 | | |
650 | ||
651 | .errorExplanation H3, .errorExplanation H2 | |
652 | { | |
653 | background: #e33; | |
654 | padding: 3px; | |
655 | margin-bottom: 0; | |
656 | font-size: 120%; | |
657 | color: #fff; | |
} | ||
571 | ||
572 | | |
573 | | |
574 | | |
575 | | |
576 | | |
577 | | |
659 | ||
660 | .errorExplanation UL | |
661 | { | |
662 | background: white; | |
663 | list-style: square; | |
664 | border-bottom: 2px solid #e33; | |
665 | margin: 0 0 5px 0; | |
666 | padding: 5px 0 5px 20px; | |
} | ||
579 | ||
580 | | |
581 | | |
582 | | |
583 | | |
584 | | |
668 | ||
669 | .errorExplanation LI | |
670 | { | |
671 | color: #000; | |
672 | margin:0; | |
673 | margin-left: 0; | |
674 | padding: 0; | |
} | ||
586 | ||
587 | | |
588 | | |
589 | | |
590 | ||
591 | | |
592 | | |
676 | ||
677 | .errorExplanation P | |
678 | { | |
679 | font-size: 80%; | |
680 | color: #000; | |
681 | background: #eee; | |
682 | margin: 0; | |
683 | padding: 5px; | |
} | ||
594 | ||
595 | | |
596 | | |
597 | ||
686 | ||
687 | .error, .fieldWithErrors | |
688 | { | |
689 | border-left: 5px solid #e33; | |
690 | } |