# Return a string used to display a custom value\r
def show_value(custom_value)\r
case custom_value.custom_field.field_format\r
+ when "date"\r
+ format_date(custom_value.value.to_date)\r
when "bool"\r
l_YesNo(custom_value.value == "1")\r
else\r
def active?\r
self.status == STATUS_ACTIVE\r
end\r
- \r
+\r
+ def registered?\r
+ self.status == STATUS_REGISTERED\r
+ end\r
+ \r
def locked?\r
self.status == STATUS_LOCKED\r
end\r
<%= javascript_include_tag 'calendar/calendar' %>\r
<%= javascript_include_tag "calendar/lang/calendar-#{current_language}.js" %>\r
<%= javascript_include_tag 'calendar/calendar-setup' %>\r
-<%= stylesheet_link_tag 'calendar/calendar-blue' %>\r
+<%= stylesheet_link_tag 'calendar' %>\r
<script type='text/javascript'>\r
var menu_contenu=' \\r
<div id="menuAdmin" class="menu" onmouseover="menuMouseover(event)"> \\r
<div class="splitcontentleft">\r
<%= simple_format(auto_link(@project.description)) %> \r
<ul>\r
- <li><%=l(:field_homepage)%>: <%= link_to @project.homepage, @project.homepage %></li>\r
+ <% unless @project.homepage.empty? %><li><%=l(:field_homepage)%>: <%= link_to @project.homepage, @project.homepage %></li><% end %>\r
<li><%=l(:field_created_on)%>: <%= format_date(@project.created_on) %></li>\r
<% for custom_value in @custom_values %>\r
<% if !custom_value.value.empty? %>\r
- <li><%= custom_value.custom_field.name%>: <%= custom_value.value%></li>\r
+ <li><%= custom_value.custom_field.name%>: <%= show_value(custom_value) %></li>\r
<% end %>\r
<% end %>\r
</ul> \r
</tr>\r
\r
<% for row in rows %>\r
-<tr style="background-color:#CEE1ED">\r
+<tr class="<%= cycle("odd", "even") %>">\r
<td><%= link_to row.name, :controller => 'projects', :action => 'list_issues', :id => @project, \r
:set_filter => 1, \r
"#{field_name}" => row.id %></td>\r
<% end %>\r
</tr>\r
</table>\r
-<% end %>
\ No newline at end of file
+<% end\r
+ reset_cycle %>
\ No newline at end of file
<%= form_tag ({:action => 'workflow', :role_id => @role, :tracker_id => @tracker }, :id => 'workflow_form' ) %>\r
<table>\r
<tr>\r
- <td align="center"><strong><%=l(:label_current_status)%></strong></td>\r
+ <td align="center" colspan="2"><strong><%=l(:label_current_status)%></strong></td>\r
<td align="center" colspan="<%= @statuses.length %>"><strong><%=l(:label_new_statuses_allowed)%></strong></td>\r
</tr>\r
<tr>\r
- <td></td>\r
+ <td colspan="2"></td>\r
<% for new_status in @statuses %>\r
- <td width="60" align="center"><%= new_status.name %></td>\r
+ <td width="80" align="center"><%= new_status.name %></td>\r
<% end %>\r
</tr>\r
\r
<% for old_status in @statuses %>\r
<tr>\r
+ <td width="20" align="center"><div style="background-color:#<%= old_status.html_color %>"> </div></td>\r
<td><%= old_status.name %></td>\r
\r
<% for new_status in @statuses %>\r
<td><%= user.lastname %></td>\r
<td><%= user.mail %></td>\r
<td align="center"><%= image_tag 'true' if user.admin? %></td>\r
- <td align="center"><%= image_tag 'locked' if user.locked? %></td>\r
+ <td align="center"><%= image_tag 'locked' if user.locked? %><%= image_tag 'user_new' if user.registered? %></td>\r
<td align="center"><%= format_time(user.created_on) %></td>\r
<td align="center"><%= format_time(user.last_login_on) unless user.last_login_on.nil? %></td>\r
<td align="center">\r
--- /dev/null
+default directory for uploaded files
\ No newline at end of file
--- /dev/null
+/* The main calendar widget. DIV containing a table. */
+
+div.calendar { position: relative; }
+
+.calendar, .calendar table {
+ border: 1px solid #556;
+ font-size: 11px;
+ color: #000;
+ cursor: default;
+ background: #fafbfc;
+ font-family: tahoma,verdana,sans-serif;
+}
+
+/* Header part -- contains navigation buttons and day names. */
+
+.calendar .button { /* "<<", "<", ">", ">>" buttons have this class */
+ text-align: center; /* They are the navigation buttons */
+ padding: 2px; /* Make the buttons seem like they're pressing */
+}
+
+.calendar .nav {
+ background: #467aa7 url(menuarrow.gif) no-repeat 100% 100%;
+}
+
+.calendar thead .title { /* This holds the current "month, year" */
+ font-weight: bold; /* Pressing it will take you to the current date */
+ text-align: center;
+ background: #fff;
+ color: #000;
+ padding: 2px;
+}
+
+.calendar thead .headrow { /* Row <TR> containing navigation buttons */
+ background: #467aa7;
+ color: #fff;
+}
+
+.calendar thead .daynames { /* Row <TR> containing the day names */
+ background: #bdf;
+}
+
+.calendar thead .name { /* Cells <TD> containing the day names */
+ border-bottom: 1px solid #556;
+ padding: 2px;
+ text-align: center;
+ color: #000;
+}
+
+.calendar thead .weekend { /* How a weekend day name shows in header */
+ color: #a66;
+}
+
+.calendar thead .hilite { /* How do the buttons in header appear when hover */
+ background-color: #80b0da;
+ color: #000;
+ padding: 1px;
+}
+
+.calendar thead .active { /* Active (pressed) buttons in header */
+ background-color: #77c;
+ padding: 2px 0px 0px 2px;
+}
+
+/* The body part -- contains all the days in month. */
+
+.calendar tbody .day { /* Cells <TD> containing month days dates */
+ width: 2em;
+ color: #456;
+ text-align: right;
+ padding: 2px 4px 2px 2px;
+}
+.calendar tbody .day.othermonth {
+ font-size: 80%;
+ color: #bbb;
+}
+.calendar tbody .day.othermonth.oweekend {
+ color: #fbb;
+}
+
+.calendar table .wn {
+ padding: 2px 3px 2px 2px;
+ border-right: 1px solid #000;
+ background: #bdf;
+}
+
+.calendar tbody .rowhilite td {
+ background: #def;
+}
+
+.calendar tbody .rowhilite td.wn {
+ background: #80b0da;
+}
+
+.calendar tbody td.hilite { /* Hovered cells <TD> */
+ background: #80b0da;
+ padding: 1px 3px 1px 1px;
+ border: 1px solid #bbb;
+}
+
+.calendar tbody td.active { /* Active (pressed) cells <TD> */
+ background: #cde;
+ padding: 2px 2px 0px 2px;
+}
+
+.calendar tbody td.selected { /* Cell showing today date */
+ font-weight: bold;
+ border: 1px solid #000;
+ padding: 1px 3px 1px 1px;
+ background: #fff;
+ color: #000;
+}
+
+.calendar tbody td.weekend { /* Cells showing weekend days */
+ color: #a66;
+}
+
+.calendar tbody td.today { /* Cell showing selected date */
+ font-weight: bold;
+ color: #f00;
+}
+
+.calendar tbody .disabled { color: #999; }
+
+.calendar tbody .emptycell { /* Empty cells (the best is to hide them) */
+ visibility: hidden;
+}
+
+.calendar tbody .emptyrow { /* Empty row (some months need less than 6 rows) */
+ display: none;
+}
+
+/* The footer part -- status bar and "Close" button */
+
+.calendar tfoot .footrow { /* The <TR> in footer (only one right now) */
+ text-align: center;
+ background: #556;
+ color: #fff;
+}
+
+.calendar tfoot .ttip { /* Tooltip (status bar) cell <TD> */
+ background: #fff;
+ color: #445;
+ border-top: 1px solid #556;
+ padding: 1px;
+}
+
+.calendar tfoot .hilite { /* Hover style for buttons in footer */
+ background: #aaf;
+ border: 1px solid #04f;
+ color: #000;
+ padding: 1px;
+}
+
+.calendar tfoot .active { /* Active (pressed) style for buttons in footer */
+ background: #77c;
+ padding: 2px 0px 0px 2px;
+}
+
+/* Combo boxes (menus that display months/years for direct selection) */
+
+.calendar .combo {
+ position: absolute;
+ display: none;
+ top: 0px;
+ left: 0px;
+ width: 4em;
+ cursor: default;
+ border: 1px solid #655;
+ background: #def;
+ color: #000;
+ font-size: 90%;
+ z-index: 100;
+}
+
+.calendar .combo .label,
+.calendar .combo .label-IEfix {
+ text-align: center;
+ padding: 1px;
+}
+
+.calendar .combo .label-IEfix {
+ width: 4em;
+}
+
+.calendar .combo .hilite {
+ background: #acf;
+}
+
+.calendar .combo .active {
+ border-top: 1px solid #46a;
+ border-bottom: 1px solid #46a;
+ background: #eef;
+ font-weight: bold;
+}
+
+.calendar td.time {
+ border-top: 1px solid #000;
+ padding: 1px 0px;
+ text-align: center;
+ background-color: #f4f0e8;
+}
+
+.calendar td.time .hour,
+.calendar td.time .minute,
+.calendar td.time .ampm {
+ padding: 0px 3px 0px 4px;
+ border: 1px solid #889;
+ font-weight: bold;
+ background-color: #fff;
+}
+
+.calendar td.time .ampm {
+ text-align: center;
+}
+
+.calendar td.time .colon {
+ padding: 0px 2px 0px 3px;
+ font-weight: bold;
+}
+
+.calendar td.time span.hilite {
+ border-color: #000;
+ background-color: #667;
+ color: #fff;
+}
+
+.calendar td.time span.active {
+ border-color: #f00;
+ background-color: #000;
+ color: #0f0;
+}
+++ /dev/null
-/* The main calendar widget. DIV containing a table. */
-
-div.calendar { position: relative; }
-
-.calendar, .calendar table {
- border: 1px solid #556;
- font-size: 11px;
- color: #000;
- cursor: default;
- background: #eef;
- font-family: tahoma,verdana,sans-serif;
-}
-
-/* Header part -- contains navigation buttons and day names. */
-
-.calendar .button { /* "<<", "<", ">", ">>" buttons have this class */
- text-align: center; /* They are the navigation buttons */
- padding: 2px; /* Make the buttons seem like they're pressing */
-}
-
-.calendar .nav {
- background: #778 url(menuarrow.gif) no-repeat 100% 100%;
-}
-
-.calendar thead .title { /* This holds the current "month, year" */
- font-weight: bold; /* Pressing it will take you to the current date */
- text-align: center;
- background: #fff;
- color: #000;
- padding: 2px;
-}
-
-.calendar thead .headrow { /* Row <TR> containing navigation buttons */
- background: #778;
- color: #fff;
-}
-
-.calendar thead .daynames { /* Row <TR> containing the day names */
- background: #bdf;
-}
-
-.calendar thead .name { /* Cells <TD> containing the day names */
- border-bottom: 1px solid #556;
- padding: 2px;
- text-align: center;
- color: #000;
-}
-
-.calendar thead .weekend { /* How a weekend day name shows in header */
- color: #a66;
-}
-
-.calendar thead .hilite { /* How do the buttons in header appear when hover */
- background-color: #aaf;
- color: #000;
- border: 1px solid #04f;
- padding: 1px;
-}
-
-.calendar thead .active { /* Active (pressed) buttons in header */
- background-color: #77c;
- padding: 2px 0px 0px 2px;
-}
-
-/* The body part -- contains all the days in month. */
-
-.calendar tbody .day { /* Cells <TD> containing month days dates */
- width: 2em;
- color: #456;
- text-align: right;
- padding: 2px 4px 2px 2px;
-}
-.calendar tbody .day.othermonth {
- font-size: 80%;
- color: #bbb;
-}
-.calendar tbody .day.othermonth.oweekend {
- color: #fbb;
-}
-
-.calendar table .wn {
- padding: 2px 3px 2px 2px;
- border-right: 1px solid #000;
- background: #bdf;
-}
-
-.calendar tbody .rowhilite td {
- background: #def;
-}
-
-.calendar tbody .rowhilite td.wn {
- background: #eef;
-}
-
-.calendar tbody td.hilite { /* Hovered cells <TD> */
- background: #def;
- padding: 1px 3px 1px 1px;
- border: 1px solid #bbb;
-}
-
-.calendar tbody td.active { /* Active (pressed) cells <TD> */
- background: #cde;
- padding: 2px 2px 0px 2px;
-}
-
-.calendar tbody td.selected { /* Cell showing today date */
- font-weight: bold;
- border: 1px solid #000;
- padding: 1px 3px 1px 1px;
- background: #fff;
- color: #000;
-}
-
-.calendar tbody td.weekend { /* Cells showing weekend days */
- color: #a66;
-}
-
-.calendar tbody td.today { /* Cell showing selected date */
- font-weight: bold;
- color: #f00;
-}
-
-.calendar tbody .disabled { color: #999; }
-
-.calendar tbody .emptycell { /* Empty cells (the best is to hide them) */
- visibility: hidden;
-}
-
-.calendar tbody .emptyrow { /* Empty row (some months need less than 6 rows) */
- display: none;
-}
-
-/* The footer part -- status bar and "Close" button */
-
-.calendar tfoot .footrow { /* The <TR> in footer (only one right now) */
- text-align: center;
- background: #556;
- color: #fff;
-}
-
-.calendar tfoot .ttip { /* Tooltip (status bar) cell <TD> */
- background: #fff;
- color: #445;
- border-top: 1px solid #556;
- padding: 1px;
-}
-
-.calendar tfoot .hilite { /* Hover style for buttons in footer */
- background: #aaf;
- border: 1px solid #04f;
- color: #000;
- padding: 1px;
-}
-
-.calendar tfoot .active { /* Active (pressed) style for buttons in footer */
- background: #77c;
- padding: 2px 0px 0px 2px;
-}
-
-/* Combo boxes (menus that display months/years for direct selection) */
-
-.calendar .combo {
- position: absolute;
- display: none;
- top: 0px;
- left: 0px;
- width: 4em;
- cursor: default;
- border: 1px solid #655;
- background: #def;
- color: #000;
- font-size: 90%;
- z-index: 100;
-}
-
-.calendar .combo .label,
-.calendar .combo .label-IEfix {
- text-align: center;
- padding: 1px;
-}
-
-.calendar .combo .label-IEfix {
- width: 4em;
-}
-
-.calendar .combo .hilite {
- background: #acf;
-}
-
-.calendar .combo .active {
- border-top: 1px solid #46a;
- border-bottom: 1px solid #46a;
- background: #eef;
- font-weight: bold;
-}
-
-.calendar td.time {
- border-top: 1px solid #000;
- padding: 1px 0px;
- text-align: center;
- background-color: #f4f0e8;
-}
-
-.calendar td.time .hour,
-.calendar td.time .minute,
-.calendar td.time .ampm {
- padding: 0px 3px 0px 4px;
- border: 1px solid #889;
- font-weight: bold;
- background-color: #fff;
-}
-
-.calendar td.time .ampm {
- text-align: center;
-}
-
-.calendar td.time .colon {
- padding: 0px 2px 0px 3px;
- font-weight: bold;
-}
-
-.calendar td.time span.hilite {
- border-color: #000;
- background-color: #667;
- color: #fff;
-}
-
-.calendar td.time span.active {
- border-color: #f00;
- background-color: #000;
- color: #0f0;
-}