added form builder for several views git-svn-id: http://redmine.rubyforge.org/svn/trunk@21 e93f8b46-1217-0410-a6f0-8f06a7374b81tags/0.3.0
@@ -104,4 +104,47 @@ module ApplicationHelper | |||
def lang_options_for_select | |||
(GLoc.valid_languages.sort {|x,y| x.to_s <=> y.to_s }).collect {|lang| [ l_lang_name(lang.to_s, lang), lang.to_s]} | |||
end | |||
def label_tag_for(name, option_tags = nil, options = {}) | |||
label_text = l(("field_"+field.to_s.gsub(/\_id$/, "")).to_sym) + (options.delete(:required) ? @template.content_tag("span", " *", :class => "required"): "") | |||
content_tag("label", label_text) | |||
end | |||
def labelled_tabular_form_for(name, object, options, &proc) | |||
options[:html] ||= {} | |||
options[:html].store :class, "tabular" | |||
form_for(name, object, options.merge({ :builder => TabularFormBuilder, :lang => current_language}), &proc) | |||
end | |||
end | |||
class TabularFormBuilder < ActionView::Helpers::FormBuilder | |||
include GLoc | |||
def initialize(object_name, object, template, options, proc) | |||
set_language_if_valid options.delete(:lang) | |||
@object_name, @object, @template, @options, @proc = object_name, object, template, options, proc | |||
end | |||
(field_helpers - %w(radio_button) + %w(date_select)).each do |selector| | |||
src = <<-END_SRC | |||
def #{selector}(field, options = {}) | |||
label_text = l(("field_"+field.to_s.gsub(/\_id$/, "")).to_sym) + (options.delete(:required) ? @template.content_tag("span", " *", :class => "required"): "") | |||
label = @template.content_tag("label", label_text, | |||
:class => (@object.errors[field] ? "error" : nil), | |||
:for => (@object_name.to_s + "_" + field.to_s)) | |||
label + super | |||
end | |||
END_SRC | |||
class_eval src, __FILE__, __LINE__ | |||
end | |||
def select(field, choices, options = {}) | |||
label_text = l(("field_"+field.to_s.gsub(/\_id$/, "")).to_sym) + (options.delete(:required) ? @template.content_tag("span", " *", :class => "required"): "") | |||
label = @template.content_tag("label", label_text, | |||
:class => (@object.errors[field] ? "error" : nil), | |||
:for => (@object_name.to_s + "_" + field.to_s)) | |||
label + super | |||
end | |||
end | |||
@@ -39,18 +39,13 @@ module CustomFieldsHelper | |||
def custom_field_label_tag(custom_value) | |||
content_tag "label", custom_value.custom_field.name + | |||
(custom_value.custom_field.is_required? ? " <span class=\"required\">*</span>" : ""), | |||
:for => "custom_fields_#{custom_value.custom_field.id}" | |||
:for => "custom_fields_#{custom_value.custom_field.id}", | |||
:class => (custom_value.errors.empty? ? nil : "error" ) | |||
end | |||
# Return custom field tag with its label tag | |||
def custom_field_tag_with_label(custom_value) | |||
case custom_value.custom_field.field_format | |||
when "bool" | |||
# label is displayed inline after the checkbox | |||
custom_field_tag(custom_value) + " " + custom_field_label_tag(custom_value) | |||
else | |||
custom_field_label_tag(custom_value) + "<br />" + custom_field_tag(custom_value) | |||
end | |||
custom_field_label_tag(custom_value) + custom_field_tag(custom_value) | |||
end | |||
# Return a string used to display a custom value |
@@ -2,24 +2,17 @@ | |||
<div class="box login"> | |||
<h2><%= image_tag 'login' %> <%=l(:label_please_login)%></h2> | |||
<%= start_form_tag :action=> "login" %> | |||
<table cellpadding="4"> | |||
<tr> | |||
<td><label for="login"><%=l(:field_login)%>:</label></td> | |||
<td><%= text_field_tag 'login', nil, :size => 25 %></td> | |||
</tr> | |||
<tr> | |||
<td><label for="password"><%=l(:field_password)%>:</label></td> | |||
<td><%= password_field_tag 'password', nil, :size => 25 %></td> | |||
</tr> | |||
</table> | |||
<%= start_form_tag({:action=> "login"}, :class => "tabular") %> | |||
<p><label for="login"><%=l(:field_login)%>:</label> | |||
<%= text_field_tag 'login', nil, :size => 25 %></p> | |||
| |||
<p><center><input type="submit" name="login" value="<%=l(:button_login)%> »" class="primary" /></center></p> | |||
<p><label for="password"><%=l(:field_password)%>:</label> | |||
<%= password_field_tag 'password', nil, :size => 25 %></p> | |||
<p><center><input type="submit" name="login" value="<%=l(:button_login)%> »" class="primary" /></center> | |||
<%= end_form_tag %> | |||
<br /> | |||
<% unless $RDM_SELF_REGISTRATION == false %><%= link_to l(:label_register), :action => 'register' %> |<% end %> | |||
<%= link_to l(:label_password_lost), :action => 'lost_password' %> | |||
<br><% unless $RDM_SELF_REGISTRATION == false %><%= link_to l(:label_register), :action => 'register' %> |<% end %> | |||
<%= link_to l(:label_password_lost), :action => 'lost_password' %></p> | |||
</div> | |||
</center> |
@@ -2,9 +2,9 @@ | |||
<div class="box login"> | |||
<h2><%=l(:label_password_lost)%></h2> | |||
<%= start_form_tag %> | |||
<%= start_form_tag({:action=> "lost_password"}, :class => "tabular") %> | |||
<p><label for="mail"><%=l(:field_mail)%> <span class="required">*</span></label><br/> | |||
<p><label for="mail"><%=l(:field_mail)%> <span class="required">*</span></label> | |||
<%= text_field_tag 'mail', nil, :size => 40 %></p> | |||
<p><center><%= submit_tag l(:button_submit) %></center></p> |
@@ -6,52 +6,49 @@ | |||
<%= error_messages_for 'user' %> | |||
<div class="splitcontentleft"> | |||
<div class="box"> | |||
<h3><%=l(:label_information_plural)%></h3> | |||
<%= start_form_tag :action => 'my_account' %> | |||
<%= start_form_tag({:action => 'my_account'}, :class => "tabular") %> | |||
<!--[form:user]--> | |||
<p><label for="user_firstname"><%=l(:field_firstname)%> <span class="required">*</span></label><br/> | |||
<p><label for="user_firstname"><%=l(:field_firstname)%> <span class="required">*</span></label> | |||
<%= text_field 'user', 'firstname' %></p> | |||
<p><label for="user_lastname"><%=l(:field_lastname)%> <span class="required">*</span></label><br/> | |||
<p><label for="user_lastname"><%=l(:field_lastname)%> <span class="required">*</span></label> | |||
<%= text_field 'user', 'lastname' %></p> | |||
<p><label for="user_mail"><%=l(:field_mail)%> <span class="required">*</span></label><br/> | |||
<p><label for="user_mail"><%=l(:field_mail)%> <span class="required">*</span></label> | |||
<%= text_field 'user', 'mail', :size => 40 %></p> | |||
<p><label for="user_language"><%=l(:field_language)%></label><br/> | |||
<p><label for="user_language"><%=l(:field_language)%></label> | |||
<%= select("user", "language", lang_options_for_select) %></p> | |||
<!--[eoform:user]--> | |||
<p><%= check_box 'user', 'mail_notification' %> <label for="user_mail_notification"><%=l(:field_mail_notification)%></label></p> | |||
<p><label for="user_mail_notification"><%=l(:field_mail_notification)%></label> | |||
<%= check_box 'user', 'mail_notification' %></p> | |||
<center><%= submit_tag l(:button_save) %></center> | |||
<%= end_form_tag %> | |||
</div> | |||
</div> | |||
<div class="splitcontentright"> | |||
<% unless @user.auth_source_id %> | |||
<div class="box"> | |||
<h3><%=l(:field_password)%></h3> | |||
<%= start_form_tag :action => 'change_password' %> | |||
<%= start_form_tag({:action => 'change_password'}, :class => "tabular") %> | |||
<p><label for="password"><%=l(:field_password)%> <span class="required">*</span></label><br/> | |||
<p><label for="password"><%=l(:field_password)%> <span class="required">*</span></label> | |||
<%= password_field_tag 'password', nil, :size => 25 %></p> | |||
<p><label for="new_password"><%=l(:field_new_password)%> <span class="required">*</span></label><br/> | |||
<p><label for="new_password"><%=l(:field_new_password)%> <span class="required">*</span></label> | |||
<%= password_field_tag 'new_password', nil, :size => 25 %></p> | |||
<p><label for="new_password_confirmation"><%=l(:field_password_confirmation)%> <span class="required">*</span></label><br/> | |||
<p><label for="new_password_confirmation"><%=l(:field_password_confirmation)%> <span class="required">*</span></label> | |||
<%= password_field_tag 'new_password_confirmation', nil, :size => 25 %></p> | |||
<center><%= submit_tag l(:button_save) %></center> | |||
<%= end_form_tag %> | |||
</div> | |||
<% end %> | |||
</div> |
@@ -6,12 +6,12 @@ | |||
<%= error_messages_for 'user' %> | |||
<%= start_form_tag :token => @token.value %> | |||
<%= start_form_tag({:token => @token.value}, :class => "tabular") %> | |||
<p><label for="new_password"><%=l(:field_new_password)%> <span class="required">*</span></label><br/> | |||
<p><label for="new_password"><%=l(:field_new_password)%> <span class="required">*</span></label> | |||
<%= password_field_tag 'new_password', nil, :size => 25 %></p> | |||
<p><label for="new_password_confirmation"><%=l(:field_password_confirmation)%> <span class="required">*</span></label><br/> | |||
<p><label for="new_password_confirmation"><%=l(:field_password_confirmation)%> <span class="required">*</span></label> | |||
<%= password_field_tag 'new_password_confirmation', nil, :size => 25 %></p> | |||
<p><center><%= submit_tag l(:button_save) %></center></p> |
@@ -1,36 +1,37 @@ | |||
<h2><%=l(:label_register)%></h2> | |||
<%= start_form_tag %> | |||
<%= start_form_tag({:action => 'register'}, :class => "tabular") %> | |||
<%= error_messages_for 'user' %> | |||
<div class="box"> | |||
<!--[form:user]--> | |||
<p><label for="user_login"><%=l(:field_login)%></label> <span class="required">*</span><br/> | |||
<p><label for="user_login"><%=l(:field_login)%> <span class="required">*</span></label> | |||
<%= text_field 'user', 'login', :size => 25 %></p> | |||
<p><label for="password"><%=l(:field_password)%></label> <span class="required">*</span><br/> | |||
<p><label for="password"><%=l(:field_password)%> <span class="required">*</span></label> | |||
<%= password_field_tag 'password', nil, :size => 25 %></p> | |||
<p><label for="password_confirmation"><%=l(:field_password_confirmation)%></label> <span class="required">*</span><br/> | |||
<p><label for="password_confirmation"><%=l(:field_password_confirmation)%> <span class="required">*</span></label> | |||
<%= password_field_tag 'password_confirmation', nil, :size => 25 %></p> | |||
<p><label for="user_firstname"><%=l(:field_firstname)%></label> <span class="required">*</span><br/> | |||
<p><label for="user_firstname"><%=l(:field_firstname)%> <span class="required">*</span></label> | |||
<%= text_field 'user', 'firstname' %></p> | |||
<p><label for="user_lastname"><%=l(:field_lastname)%></label> <span class="required">*</span><br/> | |||
<p><label for="user_lastname"><%=l(:field_lastname)%> <span class="required">*</span></label> | |||
<%= text_field 'user', 'lastname' %></p> | |||
<p><label for="user_mail"><%=l(:field_mail)%></label> <span class="required">*</span><br/> | |||
<p><label for="user_mail"><%=l(:field_mail)%> <span class="required">*</span></label> | |||
<%= text_field 'user', 'mail' %></p> | |||
<p><label for="user_language"><%=l(:field_language)%></label><br/> | |||
<p><label for="user_language"><%=l(:field_language)%></label> | |||
<%= select("user", "language", lang_options_for_select) %></p> | |||
<% for @custom_value in @custom_values %> | |||
<p><%= custom_field_tag_with_label @custom_value %></p> | |||
<% end %> | |||
<p><%= check_box 'user', 'mail_notification' %> <label for="user_mail_notification"><%=l(:field_mail_notification)%></label></p> | |||
<p><label for="user_mail_notification"><%=l(:field_mail_notification)%></label> | |||
<%= check_box 'user', 'mail_notification' %></p> | |||
<!--[eoform:user]--> | |||
</div> | |||
@@ -1,6 +1,6 @@ | |||
<h2><%=l(:label_project_plural)%></h2> | |||
<table width="100%" cellspacing="1" cellpadding="2" class="listTableContent"> | |||
<table class="listTableContent"> | |||
<tr class="ListHead"> | |||
<%= sort_header_tag('name', :caption => l(:label_project)) %> | |||
<th><%=l(:field_description)%></th> | |||
@@ -17,10 +17,8 @@ | |||
<td align="center"><%= image_tag 'true' if project.is_public? %> | |||
<td align="center"><%= project.projects_count %> | |||
<td align="center"><%= format_date(project.created_on) %> | |||
<td align="center"> | |||
<%= start_form_tag({:controller => 'projects', :action => 'destroy', :id => project}) %> | |||
<%= submit_tag l(:button_delete), :class => "button-small" %> | |||
<%= end_form_tag %> | |||
<td align="center"> | |||
<%= button_to l(:button_delete), { :controller => 'projects', :action => 'destroy', :id => project }, :class => "button-small" %> | |||
</td> | |||
</tr> | |||
<% end %> |
@@ -2,48 +2,44 @@ | |||
<div class="box"> | |||
<!--[form:auth_source]--> | |||
<p><label for="auth_source_name"><%=l(:field_name)%></label> <span class="required">*</span><br/> | |||
<p><label for="auth_source_name"><%=l(:field_name)%> <span class="required">*</span></label> | |||
<%= text_field 'auth_source', 'name' %></p> | |||
<p><label for="auth_source_host"><%=l(:field_host)%></label> <span class="required">*</span><br/> | |||
<p><label for="auth_source_host"><%=l(:field_host)%> <span class="required">*</span></label> | |||
<%= text_field 'auth_source', 'host' %></p> | |||
<p><label for="auth_source_port"><%=l(:field_port)%></label> <span class="required">*</span><br/> | |||
<p><label for="auth_source_port"><%=l(:field_port)%> <span class="required">*</span></label> | |||
<%= text_field 'auth_source', 'port', :size => 6 %></p> | |||
<p><label for="auth_source_account"><%=l(:field_account)%></label><br/> | |||
<p><label for="auth_source_account"><%=l(:field_account)%></label> | |||
<%= text_field 'auth_source', 'account' %></p> | |||
<p><label for="auth_source_account_password"><%=l(:field_password)%></label><br/> | |||
<p><label for="auth_source_account_password"><%=l(:field_password)%></label> | |||
<%= password_field 'auth_source', 'account_password' %></p> | |||
<p><label for="auth_source_base_dn"><%=l(:field_base_dn)%></label> <span class="required">*</span><br/> | |||
<p><label for="auth_source_base_dn"><%=l(:field_base_dn)%> <span class="required">*</span></label> | |||
<%= text_field 'auth_source', 'base_dn', :size => 60 %></p> | |||
</div> | |||
<p><%= check_box 'auth_source', 'onthefly_register' %> | |||
<label for="auth_source_onthefly_register"><%=l(:field_onthefly)%></label></p> | |||
<div class="box"> | |||
<p><label for="auth_source_onthefly_register"><%=l(:field_onthefly)%></label> | |||
<%= check_box 'auth_source', 'onthefly_register' %></p> | |||
<p> | |||
<fieldset><legend><%=l(:label_attribute_plural)%></legend> | |||
<div style="float:left;margin-right:10px;"> | |||
<p><label for="auth_source_attr_login"><%=l(:field_login)%></label> <span class="required">*</span><br/> | |||
<p><label for="auth_source_attr_login"><%=l(:field_login)%> <span class="required">*</span></label> | |||
<%= text_field 'auth_source', 'attr_login', :size => 20 %></p> | |||
</div> | |||
<div style="float:left;margin-right:10px;"> | |||
<p><label for="auth_source_attr_firstname"><%=l(:field_firstname)%></label><br/> | |||
<p><label for="auth_source_attr_firstname"><%=l(:field_firstname)%></label> | |||
<%= text_field 'auth_source', 'attr_firstname', :size => 20 %></p> | |||
</div> | |||
<div style="float:left;margin-right:10px;"> | |||
<p><label for="auth_source_attr_lastname"><%=l(:field_lastname)%></label><br/> | |||
<p><label for="auth_source_attr_lastname"><%=l(:field_lastname)%></label> | |||
<%= text_field 'auth_source', 'attr_lastname', :size => 20 %></p> | |||
</div> | |||
<div> | |||
<p><label for="auth_source_attr_mail"><%=l(:field_mail)%></label><br/> | |||
<p><label for="auth_source_attr_mail"><%=l(:field_mail)%></label> | |||
<%= text_field 'auth_source', 'attr_mail', :size => 20 %></p> | |||
</div> | |||
</fieldset> | |||
<!--[eoform:auth_source]--> | |||
</p> | |||
</div> | |||
<!--[eoform:auth_source]--> | |||
@@ -1,6 +1,6 @@ | |||
<h2><%=l(:label_auth_source)%> (<%= @auth_source.auth_method_name %>)</h2> | |||
<%= start_form_tag :action => 'update', :id => @auth_source %> | |||
<%= start_form_tag({:action => 'update', :id => @auth_source}, :class => "tabular") %> | |||
<%= render :partial => 'form' %> | |||
<%= submit_tag l(:button_save) %> | |||
<%= end_form_tag %> |
@@ -1,6 +1,6 @@ | |||
<h2><%=l(:label_auth_source_plural)%></h2> | |||
<table border="0" cellspacing="1" cellpadding="2" class="listTableContent"> | |||
<table class="listTableContent"> | |||
<tr class="ListHead"> | |||
<td><%=l(:field_name)%></td> | |||
<td><%=l(:field_type)%></td> | |||
@@ -18,9 +18,7 @@ | |||
<%= link_to l(:button_test), :action => 'test_connection', :id => source %> | |||
</td> | |||
<td align="center"> | |||
<%= start_form_tag :action => 'destroy', :id => source %> | |||
<%= submit_tag l(:button_delete), :class => "button-small" %> | |||
<%= end_form_tag %> | |||
<%= button_to l(:button_delete), { :action => 'destroy', :id => source }, :confirm => l(:text_are_you_sure), :class => "button-small" %> | |||
</td> | |||
</tr> | |||
<% end %> |
@@ -1,6 +1,6 @@ | |||
<h2><%=l(:label_auth_source_new)%> (<%= @auth_source.auth_method_name %>)</h2> | |||
<%= start_form_tag :action => 'create' %> | |||
<%= start_form_tag({:action => 'create'}, :class => "tabular") %> | |||
<%= render :partial => 'form' %> | |||
<%= submit_tag l(:button_create) %> | |||
<%= end_form_tag %> |
@@ -2,21 +2,21 @@ | |||
<!--[form:custom_field]--> | |||
<div class="box"> | |||
<p><label for="custom_field_name"><%=l(:field_name)%></label> <span class="required">*</span><br/> | |||
<p><label for="custom_field_name"><%=l(:field_name)%><span class="required"> *</span></label> | |||
<%= text_field 'custom_field', 'name' %></p> | |||
<p><label for="custom_field_typ"><%=l(:field_field_format)%></label><br/> | |||
<p><label for="custom_field_field_format"><%=l(:field_field_format)%></label> | |||
<%= select("custom_field", "field_format", custom_field_formats_for_select) %></p> | |||
<p><label for="custom_field_min_length"><%=l(:label_min_max_length)%></label> (<%=l(:text_min_max_length_info)%>)<br/> | |||
<p><label for="custom_field_min_length"><%=l(:label_min_max_length)%></label> | |||
<%= text_field 'custom_field', 'min_length', :size => 5 %> - | |||
<%= text_field 'custom_field', 'max_length', :size => 5 %></p> | |||
<%= text_field 'custom_field', 'max_length', :size => 5 %><br>(<%=l(:text_min_max_length_info)%>)</p> | |||
<p><label for="custom_field_regexp"><%=l(:field_regexp)%></label> (<%=l(:text_regexp_info)%>)<br/> | |||
<%= text_field 'custom_field', 'regexp', :size => 50 %></p> | |||
<p><label for="custom_field_regexp"><%=l(:field_regexp)%></label> | |||
<%= text_field 'custom_field', 'regexp', :size => 50 %><br>(<%=l(:text_regexp_info)%>)</p> | |||
<p><label for="custom_field_possible_values"><%=l(:field_possible_values)%></label> (<%=l(:text_possible_values_info)%>)<br/> | |||
<%= text_area 'custom_field', 'possible_values', :rows => 5, :cols => 60 %></p> | |||
<p><label for="custom_field_possible_values"><%=l(:field_possible_values)%></label> | |||
<%= text_area 'custom_field', 'possible_values', :rows => 5, :cols => 60 %><br>(<%=l(:text_possible_values_info)%>)</p> | |||
</div> | |||
<!--[eoform:custom_field]--> | |||
@@ -34,20 +34,19 @@ | |||
<% end %></fieldset> | |||
| |||
<p><%= check_box 'custom_field', 'is_required' %> | |||
<label for="custom_field_is_required"><%=l(:field_is_required)%></label></p> | |||
<p><label for="custom_field_is_required"><%=l(:field_is_required)%></label> | |||
<%= check_box 'custom_field', 'is_required' %></p> | |||
<p><%= check_box 'custom_field', 'is_for_all' %> | |||
<label for="custom_field_is_for_all"><%=l(:field_is_for_all)%></label></p> | |||
<p><label for="custom_field_is_for_all"><%=l(:field_is_for_all)%></label> | |||
<%= check_box 'custom_field', 'is_for_all' %></p> | |||
<% when "UserCustomField" %> | |||
<p><%= check_box 'custom_field', 'is_required' %> | |||
<label for="custom_field_is_required"><%=l(:field_is_required)%></label></p> | |||
<p><label for="custom_field_is_required"><%=l(:field_is_required)%></label> | |||
<%= check_box 'custom_field', 'is_required' %></p> | |||
<% when "ProjectCustomField" %> | |||
<p><%= check_box 'custom_field', 'is_required' %> | |||
<label for="custom_field_is_required"><%=l(:field_is_required)%></label></p> | |||
<p><label for="custom_field_is_required"><%=l(:field_is_required)%></label> | |||
<%= check_box 'custom_field', 'is_required' %></p> | |||
<% end %> | |||
</div> |
@@ -1,6 +1,6 @@ | |||
<h2><%=l(:label_custom_field)%> (<%=l(@custom_field.type_name)%>)</h2> | |||
<%= start_form_tag :action => 'edit', :id => @custom_field %> | |||
<%= start_form_tag({:action => 'edit', :id => @custom_field}, :class => "tabular") %> | |||
<%= render :partial => 'form', :locals => { :type => @custom_field.type } %> | |||
<%= submit_tag l(:button_save) %> | |||
<%= end_form_tag %> |
@@ -1,6 +1,6 @@ | |||
<h2><%=l(:label_custom_field_plural)%></h2> | |||
<table border="0" cellspacing="1" cellpadding="2" class="listTableContent"> | |||
<table class="listTableContent"> | |||
<tr class="ListHead"> | |||
<th><%=l(:field_name)%></th> | |||
<th><%=l(:field_type)%></th> | |||
@@ -19,9 +19,8 @@ | |||
<td align="center"><%= image_tag 'true' if custom_field.is_for_all? %></td> | |||
<td align="center"><%= custom_field.projects.count.to_s + ' ' + lwr(:label_project, custom_field.projects.count) if custom_field.is_a? IssueCustomField and !custom_field.is_for_all? %></td> | |||
<td align="center"> | |||
<%= start_form_tag :action => 'destroy', :id => custom_field %> | |||
<%= submit_tag l(:button_delete), :class => "button-small" %> | |||
<%= end_form_tag %> </td> | |||
<%= button_to l(:button_delete), { :action => 'destroy', :id => custom_field }, :confirm => l(:text_are_you_sure), :class => "button-small" %> | |||
</td> | |||
</tr> | |||
<% end %> | |||
</table> |
@@ -1,6 +1,6 @@ | |||
<h2><%=l(:label_custom_field_new)%> (<%=l(@custom_field.type_name)%>)</h2> | |||
<%= start_form_tag :action => 'new' %> | |||
<%= start_form_tag({:action => 'new'}, :class => "tabular") %> | |||
<%= render :partial => 'form', :locals => { :type => @custom_field.type } %> | |||
<%= hidden_field_tag 'type', @custom_field.type %> | |||
<%= submit_tag l(:button_save) %> |
@@ -1,15 +1,15 @@ | |||
<%= error_messages_for 'document' %> | |||
<div class="box"> | |||
<!--[form:document]--> | |||
<p><label for="document_category_id"><%=l(:field_category)%></label><br /> | |||
<p><label for="document_category_id"><%=l(:field_category)%></label> | |||
<select name="document[category_id]"> | |||
<%= options_from_collection_for_select @categories, "id", "name", @document.category_id %> | |||
</select></p> | |||
<p><label for="document_title"><%=l(:field_title)%> <span class="required">*</span></label><br /> | |||
<p><label for="document_title"><%=l(:field_title)%> <span class="required">*</span></label> | |||
<%= text_field 'document', 'title', :size => 60 %></p> | |||
<p><label for="document_description"><%=l(:field_description)%></label><br /> | |||
<p><label for="document_description"><%=l(:field_description)%></label> | |||
<%= text_area 'document', 'description', :cols => 60, :rows => 5 %></p> | |||
<!--[eoform:document]--> | |||
</div> |
@@ -1,6 +1,6 @@ | |||
<h2><%=l(:label_document)%></h2> | |||
<%= start_form_tag :action => 'edit', :id => @document %> | |||
<%= start_form_tag({:action => 'edit', :id => @document}, :class => "tabular") %> | |||
<%= render :partial => 'form' %> | |||
<%= submit_tag l(:button_save) %> | |||
<%= end_form_tag %> |
@@ -1,9 +1,9 @@ | |||
<%= error_messages_for 'enumeration' %> | |||
<div class="box"> | |||
<!--[form:optvalue]--> | |||
<%= hidden_field 'enumeration', 'opt' %> | |||
<p><label for="enumeration_name"><%=l(:field_name)%></label><br/> | |||
<p><label for="enumeration_name"><%=l(:field_name)%></label> | |||
<%= text_field 'enumeration', 'name' %></p> | |||
<!--[eoform:optvalue]--> | |||
</div> |
@@ -1,6 +1,6 @@ | |||
<h2><%=l(:label_enumerations)%></h2> | |||
<%= start_form_tag :action => 'update', :id => @enumeration %> | |||
<%= start_form_tag({:action => 'update', :id => @enumeration}, :class => "tabular") %> | |||
<%= render :partial => 'form' %> | |||
<%= submit_tag l(:button_save) %> | |||
<%= end_form_tag %> |
@@ -1,6 +1,6 @@ | |||
<h2><%=l(:label_enumeration_new)%></h2> | |||
<%= start_form_tag :action => 'create' %> | |||
<%= start_form_tag({:action => 'create'}, :class => "tabular") %> | |||
<%= render :partial => 'form' %> | |||
<%= submit_tag l(:button_create) %> | |||
<%= end_form_tag %> |
@@ -1,7 +1,7 @@ | |||
<%= error_messages_for 'issue_category' %> | |||
<!--[form:issue_category]--> | |||
<p><label for="issue_category_name"><%l(:field_name)%></label><br/> | |||
<p><label for="issue_category_name"><%l(:field_name)%></label> | |||
<%= text_field 'issue_category', 'name' %></p> | |||
<!--[eoform:issue_category]--> | |||
@@ -1,6 +1,6 @@ | |||
<h2><%=l(:label_issue_category)%></h2> | |||
<%= start_form_tag :action => 'edit', :id => @category %> | |||
<%= start_form_tag({:action => 'edit', :id => @category}, :class => "tabular") %> | |||
<%= render :partial => 'form' %> | |||
<%= submit_tag l(:button_save) %> | |||
<%= end_form_tag %> |
@@ -1,17 +1,18 @@ | |||
<%= error_messages_for 'issue_status' %> | |||
<div class="box"> | |||
<!--[form:issue_status]--> | |||
<p><label for="issue_status_name"><%=l(:field_name)%></label> <span class="required">*</span><br/> | |||
<p><label for="issue_status_name"><%=l(:field_name)%><span class="required"> *</span></label> | |||
<%= text_field 'issue_status', 'name' %></p> | |||
<p><%= check_box 'issue_status', 'is_closed' %> | |||
<label for="issue_status_is_closed"><%=l(:field_is_closed)%></label></p> | |||
<p><label for="issue_status_is_closed"><%=l(:field_is_closed)%></label> | |||
<%= check_box 'issue_status', 'is_closed' %></p> | |||
<p><%= check_box 'issue_status', 'is_default' %> | |||
<label for="issue_status_is_default"><%=l(:field_is_default)%></label></p> | |||
<p><label for="issue_status_is_default"><%=l(:field_is_default)%></label> | |||
<%= check_box 'issue_status', 'is_default' %></p> | |||
<p><label for="issue_status_html_color"><%=l(:field_html_color)%></label> | |||
#<%= text_field 'issue_status', 'html_color', :maxlength => 6 %> <span class="required">*</span></p> | |||
<p><label for="issue_status_html_color"><%=l(:field_html_color)%><span class="required"> *</span></label> | |||
#<%= text_field 'issue_status', 'html_color', :maxlength => 6 %></p> | |||
<!--[eoform:issue_status]--> | |||
</div> |
@@ -1,6 +1,6 @@ | |||
<h2><%=l(:label_issue_status)%></h2> | |||
<%= start_form_tag :action => 'update', :id => @issue_status %> | |||
<%= start_form_tag({:action => 'update', :id => @issue_status}, :class => "tabular") %> | |||
<%= render :partial => 'form' %> | |||
<%= submit_tag l(:button_save) %> | |||
<%= end_form_tag %> |
@@ -1,6 +1,6 @@ | |||
<h2><%=l(:label_issue_status_plural)%></h2> | |||
<table border="0" cellspacing="1" cellpadding="2" class="listTableContent"> | |||
<table class="listTableContent"> | |||
<tr class="ListHead"> | |||
<th><%=l(:field_status)%></th> | |||
<th><%=l(:field_is_default)%></th> | |||
@@ -14,11 +14,9 @@ | |||
<td><%= link_to status.name, :action => 'edit', :id => status %></td> | |||
<td align="center"><%= image_tag 'true' if status.is_default? %></td> | |||
<td align="center"><%= image_tag 'true' if status.is_closed? %></td> | |||
<td bgcolor="#<%= status.html_color %>"> </td> | |||
<td align="center"> | |||
<%= start_form_tag :action => 'destroy', :id => status %> | |||
<%= submit_tag l(:button_delete), :class => "button-small" %> | |||
<%= end_form_tag %> | |||
<td><div style="background-color:#<%= status.html_color %>"> </div></td> | |||
<td align="center"> | |||
<%= button_to l(:button_delete), { :action => 'destroy', :id => status }, :confirm => l(:text_are_you_sure), :class => "button-small" %> | |||
</td> | |||
</tr> | |||
<% end %> |
@@ -1,6 +1,6 @@ | |||
<h2><%=l(:label_issue_status_new)%></h2> | |||
<%= start_form_tag :action => 'create' %> | |||
<%= start_form_tag({:action => 'create'}, :class => "tabular") %> | |||
<%= render :partial => 'form' %> | |||
<%= submit_tag l(:button_create) %> | |||
<%= end_form_tag %> |
@@ -1,7 +1,7 @@ | |||
<% if issues.length > 0 %> | |||
<table cellspacing="0" cellpadding="1" width="100%" border="0" class="listTable"> | |||
<tr><td> | |||
<table width="100%" border="0" cellspacing="1" cellpadding="2" class="listTableContent"> | |||
<table class="listTableContent"> | |||
<tr class="ListHead"> | |||
<th>#</th> | |||
<th><%=l(:field_tracker)%></th> |
@@ -1,29 +1,27 @@ | |||
<h2><%=l(:label_issue)%> #<%= @issue.id %>: <%= @issue.subject %></h2> | |||
<%= error_messages_for 'history' %> | |||
<%= start_form_tag :action => 'change_status', :id => @issue %> | |||
<%= start_form_tag({:action => 'change_status', :id => @issue}, :class => "tabular") %> | |||
<%= hidden_field_tag 'confirm', 1 %> | |||
<%= hidden_field 'history', 'status_id' %> | |||
<div class="box"> | |||
<p><%=l(:label_issue_status_new)%>: <b><%= @history.status.name %></b></p> | |||
<p><label><%=l(:label_issue_status_new)%></label> <%= @history.status.name %></p> | |||
<div> | |||
<p><label for="issue_assigned_to_id"><%=l(:field_assigned_to)%></label><br/> | |||
<p><label for="issue_assigned_to_id"><%=l(:field_assigned_to)%></label> | |||
<select name="issue[assigned_to_id]"> | |||
<option value=""></option> | |||
<%= options_from_collection_for_select @assignable_to, "id", "display_name", @issue.assigned_to_id %></p> | |||
</select></p> | |||
</div> | |||
<p><label for="issue_fixed_version"><%=l(:field_fixed_version)%></label><br/> | |||
<p><label for="issue_fixed_version"><%=l(:field_fixed_version)%></label> | |||
<select name="issue[fixed_version_id]"> | |||
<option value="">--none--</option> | |||
<%= options_from_collection_for_select @issue.project.versions, "id", "name", @issue.fixed_version_id %> | |||
</select></p> | |||
<p><label for="history_notes"><%=l(:field_notes)%></label><br /> | |||
<p><label for="history_notes"><%=l(:field_notes)%></label> | |||
<%= text_area 'history', 'notes', :cols => 60, :rows => 10 %></p> | |||
</div> | |||
@@ -1,56 +1,26 @@ | |||
<h2><%= @issue.tracker.name %> #<%= @issue.id %> - <%= @issue.subject %></h2> | |||
<%= error_messages_for 'issue' %> | |||
<%= start_form_tag :action => 'edit', :id => @issue %> | |||
<% labelled_tabular_form_for :issue, @issue, :url => {:action => 'edit'} do |f| %> | |||
<%= error_messages_for 'issue' %> | |||
<div class="box"> | |||
<!--[form:issue]--> | |||
<p><%=l(:field_status)%>: <b><%= @issue.status.name %></b></p> | |||
<div style="float:left;margin-right:10px;"> | |||
<p><label for="issue_priority_id"><%=l(:field_priority)%> <span class="required">*</span></label><br/> | |||
<select name="issue[priority_id]"> | |||
<%= options_from_collection_for_select @priorities, "id", "name", @issue.priority_id %></p> | |||
</select></p> | |||
</div> | |||
<div style="float:left;margin-right:10px;"> | |||
<p><label for="issue_assigned_to_id"><%=l(:field_assigned_to)%></label><br/> | |||
<select name="issue[assigned_to_id]"> | |||
<option value=""></option> | |||
<%= options_from_collection_for_select @issue.project.members, "user_id", "name", @issue.assigned_to_id %></p> | |||
</select></p> | |||
</div> | |||
<div> | |||
<p><label for="issue_category_id"><%=l(:field_category)%></label><br/> | |||
<select name="issue[category_id]"> | |||
<option value=""></option> | |||
<%= options_from_collection_for_select @project.issue_categories, "id", "name", @issue.category_id %></p> | |||
</select></p> | |||
</div> | |||
<p><label for="issue_subject"><%=l(:field_subject)%></label><span class="required">*</span><br/> | |||
<%= text_field 'issue', 'subject', :size => 60 %></p> | |||
<!--[form:issue]--> | |||
<p><label><%=l(:field_status)%></label> <%= @issue.status.name %></p> | |||
<p><label for="issue_description"><%=l(:field_description)%></label><span class="required">*</span><br/> | |||
<%= text_area 'issue', 'description', :cols => 60, :rows => 10 %></p> | |||
<p><%= f.select :priority_id, (@priorities.collect {|p| [p.name, p.id]}), :required => true %></p> | |||
<p><%= f.select :assigned_to_id, (@issue.project.members.collect {|m| [m.name, m.user_id]}), :include_blank => true %></p> | |||
<p><%= f.select :category_id, (@project.issue_categories.collect {|c| [c.name, c.id]}) %></p> | |||
<p><%= f.text_field :subject, :size => 80, :required => true %></p> | |||
<p><%= f.text_area :description, :cols => 60, :rows => 10, :required => true %></p> | |||
<p><%= f.date_select :due_date, :start_year => Date.today.year, :include_blank => true %></p> | |||
<p><label for="issue_due_date"><%=l(:field_due_date)%></label><br /> | |||
<%= date_select 'issue', 'due_date', :start_year => Date.today.year, :include_blank => true %></p> | |||
<% for @custom_value in @custom_values %> | |||
<p><%= custom_field_tag_with_label @custom_value %></p> | |||
<% end %> | |||
<p><label for="issue_fixed_version"><%=l(:field_fixed_version)%></label><br/> | |||
<select name="issue[fixed_version_id]"> | |||
<option value="">--none--</option> | |||
<%= options_from_collection_for_select @project.versions, "id", "name", @issue.fixed_version_id %> | |||
</select></p> | |||
<% end %> | |||
<!--[eoform:issue]--> | |||
<p><%= f.select :fixed_version_id, (@project.versions.collect {|v| [v.name, v.id]}), { :include_blank => true } %> | |||
</select></p> | |||
<!--[eoform:issue]--> | |||
</div> | |||
<%= submit_tag l(:button_save) %> | |||
<%= end_form_tag %> | |||
<% end %> |
@@ -1,13 +1,6 @@ | |||
<%= error_messages_for 'news' %> | |||
<!--[form:news]--> | |||
<p><label for="news_title"><%=l(:field_title)%></label> <span class="required">*</span><br/> | |||
<%= text_field 'news', 'title', :size => 60 %></p> | |||
<p><label for="news_summary"><%=l(:field_summary)%></label><br/> | |||
<%= text_area 'news', 'summary', :cols => 60, :rows => 2 %></p> | |||
<p><label for="news_description"><%=l(:field_description)%> <span class="required">*</span></label><br/> | |||
<%= text_area 'news', 'description', :cols => 60, :rows => 10 %></p> | |||
<!--[eoform:news]--> | |||
<div class="box"> | |||
<p><%= f.text_field :title, :required => true, :size => 60 %></p> | |||
<p><%= f.text_area :summary, :cols => 60, :rows => 2 %></p> | |||
<p><%= f.text_area :description, :required => true, :cols => 60, :rows => 10 %></p> | |||
</div> |
@@ -1,6 +1,6 @@ | |||
<h2><%=l(:label_news)%></h2> | |||
<%= start_form_tag :action => 'edit', :id => @news %> | |||
<%= render :partial => 'form' %> | |||
<%= submit_tag l(:button_save) %> | |||
<%= end_form_tag %> | |||
<% labelled_tabular_form_for :news, @news, :url => { :action => "edit" } do |f| %> | |||
<%= render :partial => 'form', :locals => { :f => f } %> | |||
<%= submit_tag l(:button_save) %> | |||
<% end %> |
@@ -7,4 +7,15 @@ | |||
</p> | |||
<%= simple_format auto_link @news.description %> | |||
<% if authorize_for('news', 'edit') %> | |||
<%= start_form_tag ({:controller => 'news', :action => 'edit', :id => @news}, :method => 'get' ) %> | |||
<%= submit_tag l(:button_edit) %> | |||
<%= end_form_tag %> | |||
<% end %> | |||
<% if authorize_for('news', 'destroy') %> | |||
<%= start_form_tag ({:controller => 'news', :action => 'destroy', :id => @news}) %> | |||
<%= submit_tag l(:button_delete) %> | |||
<%= end_form_tag %> | |||
<% end %> |
@@ -1,41 +1,24 @@ | |||
<%= error_messages_for 'project' %> | |||
<div class="box"> | |||
<!--[form:project]--> | |||
<p><label for="project_name"><%=l(:field_name)%> <span class="required">*</span></label><br/> | |||
<%= text_field 'project', 'name' %></p> | |||
<p><%= f.text_field :name, :required => true %></p> | |||
<% if admin_loggedin? %> | |||
<p><label for="project_parent_id"><%=l(:field_parent)%></label><br/> | |||
<select name="project[parent_id]"> | |||
<option value=""></option> | |||
<%= options_from_collection_for_select @root_projects, "id", "name", @project.parent_id %> | |||
</select></p> | |||
<p><%= f.select :parent_id, (@root_projects.collect {|p| [p.name, p.id]}), { :include_blank => true } %></p> | |||
<% end %> | |||
<p><label for="project_description"><%=l(:field_description)%> <span class="required">*</span></label><br/> | |||
<%= text_area 'project', 'description', :cols => 60, :rows => 3 %></p> | |||
<p><label for="project_homepage"><%=l(:field_homepage)%></label><br/> | |||
<%= text_field 'project', 'homepage', :size => 40 %></p> | |||
<p><%= check_box 'project', 'is_public' %> | |||
<label for="project_is_public"><%=l(:field_is_public)%></label></p> | |||
<p><%= f.text_area :description, :required => true, :cols => 60, :rows => 3 %></p> | |||
<p><%= f.text_field :homepage, :size => 40 %></p> | |||
<p><%= f.check_box :is_public %></p> | |||
<% for @custom_value in @custom_values %> | |||
<p><%= custom_field_tag_with_label @custom_value %></p> | |||
<% end %> | |||
<fieldset><legend><%=l(:label_custom_field_plural)%></legend> | |||
<% for custom_field in @custom_fields %> | |||
<input type="checkbox" | |||
name="custom_field_ids[]" | |||
value="<%= custom_field.id %>" | |||
<%if @project.custom_fields.include? custom_field%>checked="checked"<%end%> | |||
> <%= custom_field.name %> | |||
<% end %></fieldset> | |||
<p><label><%=l(:label_custom_field_plural)%></label> | |||
<% for custom_field in @custom_fields %> | |||
<%= check_box_tag "custom_field_ids[]", custom_field.id, (@project.custom_fields.include? custom_field) %> | |||
<%= custom_field.name %> | |||
<% end %></p> | |||
<!--[eoform:project]--> | |||
</div> | |||
<!--[eoform:project]--> |
@@ -1,6 +1,6 @@ | |||
<h2><%=l(:label_project_new)%></h2> | |||
<%= start_form_tag :action => 'add' %> | |||
<%= render :partial => 'form' %> | |||
<%= submit_tag l(:button_create) %> | |||
<%= end_form_tag %> | |||
<% labelled_tabular_form_for :project, @project, :url => { :action => "add" } do |f| %> | |||
<%= render :partial => 'form', :locals => { :f => f } %> | |||
<%= submit_tag l(:button_save) %> | |||
<% end %> |
@@ -1,10 +1,12 @@ | |||
<h2><%=l(:label_document_new)%></h2> | |||
<%= start_form_tag( { :action => 'add_document', :id => @project }, :multipart => true) %> | |||
<%= start_form_tag( { :action => 'add_document', :id => @project }, :class => "tabular", :multipart => true) %> | |||
<%= render :partial => 'documents/form' %> | |||
<p><label for="attachment_file"><%=l(:label_attachment)%></label><br/> | |||
<%= file_field 'attachment', 'file' %></p> | |||
<div class="box"> | |||
<p><label for="attachment_file"><%=l(:label_attachment)%></label> | |||
<%= file_field 'attachment', 'file' %></p> | |||
</div> | |||
<%= submit_tag l(:button_create) %> | |||
<%= end_form_tag %> |
@@ -1,52 +1,26 @@ | |||
<h2><%=l(:label_issue_new)%>: <%= @tracker.name %></h2> | |||
<%= start_form_tag( { :action => 'add_issue', :id => @project }, :multipart => true) %> | |||
<% labelled_tabular_form_for :issue, @issue, :url => {:action => 'add_issue'}, :html => {:multipart => true} do |f| %> | |||
<%= error_messages_for 'issue' %> | |||
<div class="box"> | |||
<!--[form:issue]--> | |||
<!--[form:issue]--> | |||
<%= hidden_field_tag 'tracker_id', @tracker.id %> | |||
<div style="float:left;margin-right:10px;"> | |||
<p><label for="issue_priority_id"><%=l(:field_priority)%> <span class="required">*</span></label><br /> | |||
<select name="issue[priority_id]"> | |||
<%= options_from_collection_for_select @priorities, "id", "name", @issue.priority_id %></p> | |||
</select></p> | |||
</div> | |||
<div style="float:left;margin-right:10px;"> | |||
<p><label for="issue_assigned_to_id"><%=l(:field_assigned_to)%></label><br /> | |||
<select name="issue[assigned_to_id]"> | |||
<option value=""></option> | |||
<%= options_from_collection_for_select @issue.project.members, "user_id", "name", @issue.assigned_to_id %></p> | |||
</select></p> | |||
</div> | |||
<div> | |||
<p><label for="issue_category_id"><%=l(:field_category)%></label><br /> | |||
<select name="issue[category_id]"> | |||
<option value=""></option><%= options_from_collection_for_select @project.issue_categories, "id", "name", @issue.category_id %> | |||
</select></p> | |||
</div> | |||
<p><label for="issue_subject"><%=l(:field_subject)%> <span class="required">*</span></label><br /> | |||
<%= text_field 'issue', 'subject', :size => 80 %></p> | |||
<p><label for="issue_description"><%=l(:field_description)%> <span class="required">*</span></label><br /> | |||
<%= text_area 'issue', 'description', :cols => 60, :rows => 10 %></p> | |||
<p><label for="issue_due_date"><%=l(:field_due_date)%></label><br /> | |||
<%= date_select 'issue', 'due_date', :start_year => Date.today.year, :include_blank => true %></p> | |||
<p><%= f.select :priority_id, (@priorities.collect {|p| [p.name, p.id]}), :required => true %></p> | |||
<p><%= f.select :assigned_to_id, (@issue.project.members.collect {|m| [m.name, m.user_id]}), :include_blank => true %></p> | |||
<p><%= f.select :category_id, (@project.issue_categories.collect {|c| [c.name, c.id]}) %></p> | |||
<p><%= f.text_field :subject, :size => 80, :required => true %></p> | |||
<p><%= f.text_area :description, :cols => 60, :rows => 10, :required => true %></p> | |||
<p><%= f.date_select :due_date, :start_year => Date.today.year, :include_blank => true %></p> | |||
<% for @custom_value in @custom_values %> | |||
<p><%= custom_field_tag_with_label @custom_value %></p> | |||
<% end %> | |||
<p><label for="attachment_file"><%=l(:label_attachment)%></label><br /> | |||
<p><label for="attachment_file"><%=l(:label_attachment)%></label> | |||
<%= file_field 'attachment', 'file' %></p> | |||
<!--[eoform:issue]--> | |||
</div> | |||
<%= submit_tag l(:button_create) %> | |||
<%= end_form_tag %> | |||
<% end %> |
@@ -1,7 +1,6 @@ | |||
<h2><%=l(:label_news_new)%></h2> | |||
<%= start_form_tag :action => 'add_news', :id => @project %> | |||
<%= render :partial => 'news/form' %> | |||
<%= submit_tag l(:button_create) %> | |||
<%= end_form_tag %> | |||
<% labelled_tabular_form_for :news, @news, :url => { :action => "add_news" } do |f| %> | |||
<%= render :partial => 'news/form', :locals => { :f => f } %> | |||
<%= submit_tag l(:button_create) %> | |||
<% end %> |
@@ -1,7 +1,6 @@ | |||
<h2><%=l(:label_version_new)%></h2> | |||
<%= start_form_tag :action => 'add_version', :id => @project %> | |||
<%= render :partial => 'versions/form' %> | |||
<%= submit_tag l(:button_create) %> | |||
<%= end_form_tag %> | |||
<% labelled_tabular_form_for :version, @version, :url => { :action => 'add_version' } do |f| %> | |||
<%= render :partial => 'versions/form', :locals => { :f => f } %> | |||
<%= submit_tag l(:button_create) %> | |||
<% end %> |
@@ -1,6 +1,6 @@ | |||
<h2><%=l(:label_public_projects)%></h2> | |||
<table width="100%" cellspacing="1" cellpadding="2" class="listTableContent"> | |||
<table class="listTableContent"> | |||
<tr class="ListHead"> | |||
<%= sort_header_tag('name', :caption => l(:label_project)) %> | |||
<th><%=l(:field_description)%></th> |
@@ -2,7 +2,7 @@ | |||
<% delete_allowed = authorize_for('versions', 'destroy_file') %> | |||
<table border="0" cellspacing="1" cellpadding="2" class="listTableContent"> | |||
<table class="listTableContent"> | |||
<tr class="ListHead"> | |||
<th><%=l(:field_version)%></th> | |||
<th><%=l(:field_filename)%></th> |
@@ -22,7 +22,7 @@ | |||
</tr> | |||
</table> | |||
| |||
<table border="0" cellspacing="1" cellpadding="2" class="listTableContent"> | |||
<table class="listTableContent"> | |||
<tr><td colspan="7" align="right"> | |||
<small><%= link_to l(:label_export_csv), :action => 'export_issues_csv', :id => @project.id %></small> | |||
</td></tr> |
@@ -2,11 +2,8 @@ | |||
<% for news in @news %> | |||
<p> | |||
<b><%= news.title %></b> <small>(<%= link_to_user news.author %> <%= format_time(news.created_on) %>)</small> | |||
<%= link_to_if_authorized image_tag('edit_small'), :controller => 'news', :action => 'edit', :id => news %> | |||
<%= link_to_if_authorized image_tag('delete'), { :controller => 'news', :action => 'destroy', :id => news }, :confirm => 'Are you sure?' %> | |||
<br /> | |||
<%= news.summary %> | |||
<b><%= news.title %></b> <small>(<%= link_to_user news.author %> <%= format_time(news.created_on) %>)</small><br /> | |||
<%= news.summary %><br /> | |||
<small>[<%= link_to l(:label_read), :controller => 'news', :action => 'show', :id => news %>]</small> | |||
</p> | |||
<% end %> |
@@ -1,9 +1,9 @@ | |||
<h2><%=l(:label_settings)%></h2> | |||
<%= start_form_tag :action => 'edit', :id => @project %> | |||
<%= render :partial => 'form' %> | |||
<center><%= submit_tag l(:button_save) %></center> | |||
<%= end_form_tag %> | |||
<% labelled_tabular_form_for :project, @project, :url => { :action => "edit", :id => @project } do |f| %> | |||
<%= render :partial => 'form', :locals => { :f => f } %> | |||
<%= submit_tag l(:button_save) %> | |||
<% end %> | |||
| |||
@@ -11,3 +11,4 @@ | |||
<strong><%=l(:field_category)%></strong> | |||
<%= render :partial => 'simple', :locals => { :data => @issues_by_category, :field_name => "category_id", :rows => @categories } %> | |||
|
@@ -1,9 +1,7 @@ | |||
<%= error_messages_for 'role' %> | |||
<div class="box"> | |||
<!--[form:role]--> | |||
<p><label for="role_name"><%=l(:field_name)%> <span class="required">*</span></label><br /> | |||
<%= text_field 'role', 'name' %></p> | |||
<p><%= f.text_field :name, :required => true %></p> | |||
<strong><%=l(:label_permissions)%>:</strong> | |||
<% permissions = @permissions.group_by {|p| p.group_id } %> |
@@ -1,8 +1,6 @@ | |||
<h2><%=l(:label_role)%></h2> | |||
<%= start_form_tag ({ :action => 'edit', :id => @role }, :id => 'role_form') %> | |||
<%= render :partial => 'form' %> | |||
<% labelled_tabular_form_for :role, @role, :url => { :action => 'edit' }, :html => {:id => 'role_form'} do |f| %> | |||
<%= render :partial => 'form', :locals => { :f => f } %> | |||
<%= submit_tag l(:button_save) %> | |||
<%= end_form_tag %> | |||
<% end %> |
@@ -1,6 +1,6 @@ | |||
<h2><%=l(:label_role_plural)%></h2> | |||
<table border="0" cellspacing="1" cellpadding="2" class="listTableContent"> | |||
<table class="listTableContent"> | |||
<tr class="ListHead"> | |||
<th><%=l(:label_role)%></th> | |||
<th></th> | |||
@@ -9,10 +9,8 @@ | |||
<% for role in @roles %> | |||
<tr class="<%= cycle("odd", "even") %>"> | |||
<td><%= link_to role.name, :action => 'edit', :id => role %></td> | |||
<td align="center"> | |||
<%= start_form_tag :action => 'destroy', :id => role %> | |||
<%= submit_tag l(:button_delete), :class => "button-small" %> | |||
<%= end_form_tag %> | |||
<td align="center"> | |||
<%= button_to l(:button_delete), { :action => 'destroy', :id => role }, :confirm => l(:text_are_you_sure), :class => "button-small" %> | |||
</tr> | |||
<% end %> | |||
</table> |
@@ -1,7 +1,6 @@ | |||
<h2><%=l(:label_role_new)%></h2> | |||
<%= start_form_tag ({ :action => 'new' }, :id => 'role_form') %> | |||
<%= render :partial => 'form' %> | |||
<% labelled_tabular_form_for :role, @role, :url => { :action => 'new' }, :html => {:id => 'role_form'} do |f| %> | |||
<%= render :partial => 'form', :locals => { :f => f } %> | |||
<%= submit_tag l(:button_create) %> | |||
<%= end_form_tag %> | |||
<% end %> |
@@ -1,10 +1,7 @@ | |||
<%= error_messages_for 'tracker' %> | |||
<div class="box"> | |||
<!--[form:tracker]--> | |||
<p><label for="tracker_name"><%=l(:field_name)%></label> <span class="required">*</span><br/> | |||
<%= text_field 'tracker', 'name' %></p> | |||
<p><%= check_box 'tracker', 'is_in_chlog' %> | |||
<label for="tracker_is_in_chlog"><%=l(:field_is_in_chlog)%></label></p> | |||
<p><%= f.text_field :name, :required => true %></p> | |||
<p><%= f.check_box :is_in_chlog %></p> | |||
<!--[eoform:tracker]--> | |||
</div> |
@@ -1,6 +1,6 @@ | |||
<h2><%=l(:label_tracker)%></h2> | |||
<%= start_form_tag :action => 'edit', :id => @tracker %> | |||
<%= render :partial => 'form' %> | |||
<%= submit_tag l(:button_save) %> | |||
<%= end_form_tag %> | |||
<% labelled_tabular_form_for :tracker, @tracker, :url => { :action => 'edit' } do |f| %> | |||
<%= render :partial => 'form', :locals => { :f => f } %> | |||
<%= submit_tag l(:button_save) %> | |||
<% end %> |
@@ -1,6 +1,6 @@ | |||
<h2><%=l(:label_tracker_plural)%></h2> | |||
<table border="0" cellspacing="1" cellpadding="2" class="listTableContent"> | |||
<table class="listTableContent"> | |||
<tr class="ListHead"> | |||
<th><%=l(:label_tracker)%></th> | |||
<th></th> | |||
@@ -9,10 +9,8 @@ | |||
<% for tracker in @trackers %> | |||
<tr class="<%= cycle("odd", "even") %>"> | |||
<td><%= link_to tracker.name, :action => 'edit', :id => tracker %></td> | |||
<td align="center"> | |||
<%= start_form_tag :action => 'destroy', :id => tracker %> | |||
<%= submit_tag l(:button_delete), :class => "button-small" %> | |||
<%= end_form_tag %> | |||
<td align="center"> | |||
<%= button_to l(:button_delete), { :action => 'destroy', :id => tracker }, :confirm => l(:text_are_you_sure), :class => "button-small" %> | |||
</td> | |||
</tr> | |||
<% end %> |
@@ -1,7 +1,6 @@ | |||
<h2><%=l(:label_tracker_new)%></h2> | |||
<%= start_form_tag :action => 'new' %> | |||
<%= render :partial => 'form' %> | |||
<%= submit_tag l(:button_create) %> | |||
<%= end_form_tag %> | |||
<% labelled_tabular_form_for :tracker, @tracker, :url => { :action => 'new' } do |f| %> | |||
<%= render :partial => 'form', :locals => { :f => f } %> | |||
<%= submit_tag l(:button_create) %> | |||
<% end %> |
@@ -2,36 +2,25 @@ | |||
<div class="box"> | |||
<!--[form:user]--> | |||
<p><label for="user_login"><%=l(:field_login)%></label> <span class="required">*</span><br/> | |||
<%= text_field 'user', 'login', :size => 25 %></p> | |||
<p><%= f.text_field :login, :required => true, :size => 25 %></p> | |||
<p><label for="password"><%=l(:field_password)%></label> <span class="required">*</span><br/> | |||
<p><label for="password"><%=l(:field_password)%><span class="required"> *</span></label> | |||
<%= password_field_tag 'password', nil, :size => 25 %></p> | |||
<p><label for="password_confirmation"><%=l(:field_password_confirmation)%></label> <span class="required">*</span><br/> | |||
<p><label for="password_confirmation"><%=l(:field_password_confirmation)%><span class="required"> *</span></label> | |||
<%= password_field_tag 'password_confirmation', nil, :size => 25 %></p> | |||
<p><label for="user_firstname"><%=l(:field_firstname)%></label> <span class="required">*</span><br/> | |||
<%= text_field 'user', 'firstname' %></p> | |||
<p><label for="user_lastname"><%=l(:field_lastname)%></label> <span class="required">*</span><br/> | |||
<%= text_field 'user', 'lastname' %></p> | |||
<p><label for="user_mail"><%=l(:field_mail)%></label> <span class="required">*</span><br/> | |||
<%= text_field 'user', 'mail' %></p> | |||
<p><label for="user_language"><%=l(:field_language)%></label><br/> | |||
<%= select("user", "language", lang_options_for_select) %></p> | |||
<p><%= f.text_field :firstname, :required => true %></p> | |||
<p><%= f.text_field :lastname, :required => true %></p> | |||
<p><%= f.text_field :mail, :required => true %></p> | |||
<p><%= f.select :language, lang_options_for_select %></p> | |||
<% for @custom_value in @custom_values %> | |||
<p><%= custom_field_tag_with_label @custom_value %></p> | |||
<% end %> | |||
<div style="clear: both;"></div> | |||
<p><%= check_box 'user', 'admin' %> <label for="user_admin"><%=l(:field_admin)%></label></p> | |||
<p><%= check_box 'user', 'mail_notification' %> <label for="user_mail_notification"><%=l(:field_mail_notification)%></label></p> | |||
<p><%= f.check_box :admin %></p> | |||
<p><%= f.check_box :mail_notification %></p> | |||
<!--[eoform:user]--> | |||
</div> |
@@ -1,6 +1,6 @@ | |||
<h2><%=l(:label_user_new)%></h2> | |||
<%= start_form_tag :action => 'add' %> | |||
<%= render :partial => 'form' %> | |||
<%= submit_tag l(:button_create) %> | |||
<%= end_form_tag %> | |||
<% labelled_tabular_form_for :user, @user, :url => { :action => "add" } do |f| %> | |||
<%= render :partial => 'form', :locals => { :f => f } %> | |||
<%= submit_tag l(:button_create) %> | |||
<% end %> |
@@ -1,6 +1,6 @@ | |||
<h2><%=l(:label_user)%></h2> | |||
<%= start_form_tag :action => 'edit', :id => @user %> | |||
<%= render :partial => 'form' %> | |||
<%= submit_tag l(:button_save) %> | |||
<%= end_form_tag %> | |||
<% labelled_tabular_form_for :user, @user, :url => { :action => "edit" } do |f| %> | |||
<%= render :partial => 'form', :locals => { :f => f } %> | |||
<%= submit_tag l(:button_save) %> | |||
<% end %> |
@@ -1,6 +1,6 @@ | |||
<h2><%=l(:label_user_plural)%></h2> | |||
<table border="0" cellspacing="1" cellpadding="2" class="listTableContent"> | |||
<table class="listTableContent"> | |||
<tr class="ListHead"> | |||
<%= sort_header_tag('login', :caption => l(:field_login)) %> | |||
<%= sort_header_tag('firstname', :caption => l(:field_firstname)) %> |
@@ -1,13 +1,8 @@ | |||
<%= error_messages_for 'version' %> | |||
<div class="box"> | |||
<!--[form:version]--> | |||
<p><label for="version_name"><%=l(:field_name)%></label> <span class="required">*</span><br/> | |||
<%= text_field 'version', 'name', :size => 20 %></p> | |||
<p><label for="version_description"><%=l(:field_description)%></label><br/> | |||
<%= text_field 'version', 'description', :size => 60 %></p> | |||
<p><label for="version_effective_date"><%=l(:field_effective_date)%></label><br/> | |||
<%= date_select 'version', 'effective_date' %></p> | |||
<p><%= f.text_field :name, :size => 20, :required => true %></p> | |||
<p><%= f.text_field :description, :size => 60 %></p> | |||
<p><%= f.date_select :effective_date, :required => true %></p> | |||
<!--[eoform:version]--> | |||
</div> |
@@ -1,8 +1,7 @@ | |||
<h2><%=l(:label_version)%></h2> | |||
<%= start_form_tag :action => 'edit', :id => @version %> | |||
<%= render :partial => 'form' %> | |||
<%= submit_tag l(:button_save) %> | |||
<%= end_form_tag %> | |||
<% labelled_tabular_form_for :version, @version, :url => { :action => 'edit' } do |f| %> | |||
<%= render :partial => 'form', :locals => { :f => f } %> | |||
<%= submit_tag l(:button_save) %> | |||
<% end %> | |||
@@ -123,7 +123,7 @@ ActiveRecord::Errors.default_error_messages = { | |||
:not_a_number => "activerecord_error_not_a_number" | |||
} | |||
ActionView::Base.field_error_proc = Proc.new{ |html_tag, instance| "<span class=\"fieldWithErrors\">#{html_tag}</span>" } | |||
ActionView::Base.field_error_proc = Proc.new{ |html_tag, instance| "#{html_tag}" } | |||
GLoc.set_config :default_language => $RDM_DEFAULT_LANG | |||
GLoc.clear_strings |
@@ -7,22 +7,26 @@ http://redmine.org/ | |||
== xx/xx/2006 v0.3.0 | |||
* user authentication against multiple LDAP | |||
* user authentication against multiple LDAP (optional) | |||
* token based "lost password" functionality | |||
* user self-registration functionality (optional) | |||
* custom fields now available for issues, users and projects | |||
* new custom field format "text" (displayed as a textarea field) | |||
* project & administration drop down menus in navigation bar for quicker access | |||
* "due date" field added on issues | |||
* error messages internationalization | |||
* tracker selection filter added on change log | |||
* Localization plugin replaced with GLoc 1.1.0 | |||
* error messages internationalization | |||
* german translation added (thanks to Karim Trott) | |||
* new filter in issues list: "Fixed version" | |||
* active filters are displayed with colored background on issues list | |||
* custom configuration is now defined in config/config_custom.rb | |||
* user object no more stored in session (only user_id) | |||
* news summary field is no longer required | |||
* tables and forms redesign | |||
* Fixed: boolean custom field not working | |||
* Fixed: error messages for custom fields are not displayed | |||
* Fixed: invalid custom fields should have a red border | |||
* Fixed: custom fields values are not validated on issue update | |||
* Fixed: unable to choose an empty value for 'List' custom fields | |||
* Fixed: no issue categories sorting |
@@ -0,0 +1,290 @@ | |||
_gloc_rule_default: '|n| n==1 ? "" : "_plural" ' | |||
actionview_datehelper_select_day_prefix: | |||
actionview_datehelper_select_month_names: January,February,March,April,May,June,July,August,September,October,November,December | |||
actionview_datehelper_select_month_names_abbr: Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec | |||
actionview_datehelper_select_month_prefix: | |||
actionview_datehelper_select_year_prefix: | |||
actionview_datehelper_time_in_words_day: 1 day | |||
actionview_datehelper_time_in_words_day_plural: %d days | |||
actionview_datehelper_time_in_words_hour_about: about an hour | |||
actionview_datehelper_time_in_words_hour_about_plural: about %d hours | |||
actionview_datehelper_time_in_words_hour_about_single: about an hour | |||
actionview_datehelper_time_in_words_minute: 1 minute | |||
actionview_datehelper_time_in_words_minute_half: half a minute | |||
actionview_datehelper_time_in_words_minute_less_than: less than a minute | |||
actionview_datehelper_time_in_words_minute_plural: %d minutes | |||
actionview_datehelper_time_in_words_minute_single: 1 minute | |||
actionview_datehelper_time_in_words_second_less_than: less than a second | |||
actionview_datehelper_time_in_words_second_less_than_plural: less than %d seconds | |||
actionview_instancetag_blank_option: Bitte auserwählt | |||
activerecord_error_inclusion: ist nicht in der Liste eingeschlossen | |||
activerecord_error_exclusion: ist reserviert | |||
activerecord_error_invalid: ist unzulässig | |||
activerecord_error_confirmation: bringt nicht Bestätigung zusammen | |||
activerecord_error_accepted: muß angenommen werden | |||
activerecord_error_empty: kann nicht leer sein | |||
activerecord_error_blank: kann nicht leer sein | |||
activerecord_error_too_long: ist zu lang | |||
activerecord_error_too_short: ist zu kurz | |||
activerecord_error_wrong_length: ist die falsche Länge | |||
activerecord_error_taken: ist bereits genommen worden | |||
activerecord_error_not_a_number: ist nicht eine Zahl | |||
general_fmt_age: %d yr | |||
general_fmt_age_plural: %d yrs | |||
general_fmt_date: %%b %%d, %%Y (%%a) | |||
general_fmt_datetime: %%b %%d, %%Y (%%a), %%I:%%M %%p | |||
general_fmt_datetime_short: %%b %%d, %%I:%%M %%p | |||
general_fmt_time: %%I:%%M %%p | |||
general_text_No: 'Nein' | |||
general_text_Yes: 'Ja' | |||
general_text_no: 'nein' | |||
general_text_yes: 'ja' | |||
general_lang_de: 'Deutsch' | |||
notice_account_updated: Konto wurde erfolgreich aktualisiert. | |||
notice_account_invalid_creditentials: Unzulässiger Benutzer oder Passwort | |||
notice_account_password_updated: Passwort wurde erfolgreich aktualisiert. | |||
notice_account_wrong_password: Falsches Passwort | |||
notice_account_register_done: Konto wurde erfolgreich verursacht. | |||
notice_account_unknown_email: Unbekannter Benutzer. | |||
notice_can_t_change_password: Dieses Konto verwendet eine externe Authentisierung Quelle. Unmöglich, das Kennwort zu ändern. | |||
notice_account_lost_email_sent: Ein email mit Anweisungen, ein neues Kennwort zu wählen ist dir geschickt worden. | |||
notice_account_activated: Dein Konto ist aktiviert worden. Du kannst jetzt einloggen. | |||
notice_successful_create: Erfolgreiche Kreation. | |||
notice_successful_update: Erfolgreiches Update. | |||
notice_successful_delete: Erfolgreiche Auslassung. | |||
notice_successful_connection: Erfolgreicher Anschluß. | |||
notice_file_not_found: Erbetene Akte besteht nicht oder ist gelöscht worden. | |||
gui_validation_error: 1 Störung | |||
gui_validation_error_plural: %d Störungen | |||
field_name: Name | |||
field_description: Beschreibung | |||
field_summary: Zusammenfassung | |||
field_is_required: Erforderlich | |||
field_firstname: Vorname | |||
field_lastname: Nachname | |||
field_mail: Email | |||
field_filename: Datei | |||
field_filesize: Grootte | |||
field_downloads: Downloads | |||
field_author: Autor | |||
field_created_on: Angelegt | |||
field_updated_on: aktualisiert | |||
field_field_format: Format | |||
field_is_for_all: Für alle Projekte | |||
field_possible_values: Mögliche Werte | |||
field_regexp: Regulärer Ausdruck | |||
field_min_length: Minimale Länge | |||
field_max_length: Maximale Länge | |||
field_value: Wert | |||
field_category: Kategorie | |||
field_title: Títel | |||
field_project: Projekt | |||
#field_issue: Issue | |||
field_status: Status | |||
field_notes: Anmerkungen | |||
field_is_closed: Problem erledigt | |||
#field_is_default: Default status | |||
field_html_color: Farbe | |||
field_tracker: Tracker | |||
field_subject: Thema | |||
#field_due_date: Due date | |||
field_assigned_to: Zugewiesen an | |||
field_priority: Priorität | |||
field_fixed_version: Erledigt in Version | |||
field_user: Benutzer | |||
field_role: Rolle | |||
field_homepage: Startseite | |||
field_is_public: Öffentlich | |||
#field_parent: Subprojekt von | |||
field_is_in_chlog: Ansicht der Issues in der Historie | |||
field_login: Mitgliedsname | |||
field_mail_notification: Mailbenachrichtigung | |||
#field_admin: Administrator | |||
field_locked: Gesperrt | |||
field_last_login_on: Letzte Anmeldung | |||
field_language: Sprache | |||
field_effective_date: Datum | |||
field_password: Passwort | |||
field_new_password: Neues Passwort | |||
field_password_confirmation: Bestätigung | |||
field_version: Version | |||
field_type: Typ | |||
field_host: Host | |||
#field_port: Port | |||
#field_account: Account | |||
#field_base_dn: Base DN | |||
#field_attr_login: Login attribute | |||
#field_attr_firstname: Firstname attribute | |||
#field_attr_lastname: Lastname attribute | |||
#field_attr_mail: Email attribute | |||
#field_onthefly: On-the-fly user creation | |||
label_user: Benutzer | |||
label_user_plural: Benutzer | |||
label_user_new: Neuer Benutzer | |||
label_project: Projekt | |||
label_project_new: Neues Projekt | |||
label_project_plural: Projekte | |||
#label_project_latest: Latest projects | |||
#label_issue: Issue | |||
#label_issue_new: New issue | |||
#label_issue_plural: Issues | |||
#label_issue_view_all: View all issues | |||
label_document: Dokument | |||
label_document_new: Neues Dokument | |||
label_document_plural: Dokumente | |||
label_role: Rolle | |||
label_role_plural: Rollen | |||
label_role_new: Neue Rolle | |||
label_role_and_permissions: Rollen und Rechte | |||
label_member: Mitglied | |||
label_member_new: Neues Mitglied | |||
label_member_plural: Mitglieder | |||
label_tracker: Tracker | |||
label_tracker_plural: Tracker | |||
label_tracker_new: Neuer Tracker | |||
label_workflow: Workflow | |||
label_issue_status: Problem Status | |||
label_issue_status_plural: Problem Stati | |||
label_issue_status_new: Neuer Status | |||
label_issue_category: Problem Kategorie | |||
label_issue_category_plural: Problem Kategorien | |||
label_issue_category_new: Neue Kategorie | |||
label_custom_field: Benutzerdefiniertes Feld | |||
label_custom_field_plural: Benutzerdefinierte Felder | |||
label_custom_field_new: Neues Feld | |||
label_enumerations: Enumerationen | |||
label_enumeration_new: Neuer Wert | |||
label_information: Information | |||
label_information_plural: Informationen | |||
#label_please_login: Please login | |||
label_register: Anmelden | |||
label_password_lost: Passwort vergessen | |||
label_home: Hauptseite | |||
label_my_page: Meine Seite | |||
label_my_account: Mein Konto | |||
label_my_projects: Meine Projekte | |||
label_administration: Administration | |||
label_login: Einloggen | |||
label_logout: Abmelden | |||
label_help: Hilfe | |||
label_reported_issues: Gemeldete Issues | |||
label_assigned_to_me_issues: Mir zugewiesen | |||
label_last_login: Letzte Anmeldung | |||
#label_last_updates: Last updated | |||
#label_last_updates_plural: %d last updated | |||
label_registered_on: Angemeldet am | |||
label_activity: Aktivität | |||
label_new: Neue | |||
label_logged_as: Angemeldet als | |||
#label_environment: Environment | |||
label_authentication: Authentisierung | |||
#label_auth_source: Authentification mode | |||
#label_auth_source_new: New authentication mode | |||
#label_auth_source_plural: Authentification modes | |||
#label_subproject: Subproject | |||
#label_subproject_plural: Subprojects | |||
label_min_max_length: Min - Max Länge | |||
label_list: Liste | |||
label_date: Date | |||
label_integer: Zahl | |||
label_boolean: Boolesch | |||
#label_string: String | |||
label_text: Text | |||
label_attribute: Attribut | |||
label_attribute_plural: Attribute | |||
#label_download: %d Download | |||
#label_download_plural: %d Downloads | |||
label_no_data: Nichts anzuzeigen | |||
label_change_status: Statuswechsel | |||
label_history: Historie | |||
label_attachment: Datei | |||
label_attachment_new: Neue Datei | |||
#label_attachment_delete: Delete file | |||
label_attachment_plural: Dateien | |||
label_report: Bericht | |||
label_report_plural: Berichte | |||
#label_news: Neuigkeiten | |||
#label_news_new: Add news | |||
#label_news_plural: Neuigkeiten | |||
label_news_latest: Letzte Neuigkeiten | |||
label_news_view_all: Alle Neuigkeiten anzeigen | |||
label_change_log: Change log | |||
label_settings: Konfiguration | |||
label_overview: Übersicht | |||
label_version: Version | |||
label_version_new: Neue Version | |||
label_version_plural: Versionen | |||
label_confirmation: Bestätigung | |||
#label_export_csv: Export to CSV | |||
label_read: Lesen... | |||
label_public_projects: Öffentliche Projekte | |||
#label_open_issues: Open | |||
#label_open_issues_plural: Open | |||
#label_closed_issues: Closed | |||
#label_closed_issues_plural: Closed | |||
label_total: Gesamtzahl | |||
label_permissions: Berechtigungen | |||
label_current_status: Gegenwärtiger Status | |||
label_new_statuses_allowed: Neue Status gewährten | |||
label_all: Alle | |||
label_none: Kein | |||
label_next: Weiter | |||
label_previous: Zurück | |||
label_used_by: Benutzt von | |||
button_login: Einloggen | |||
button_submit: Einreichen | |||
button_save: Speichern | |||
button_check_all: Alles auswählen | |||
button_uncheck_all: Alles abwählen | |||
button_delete: Löschen | |||
button_create: Anlegen | |||
button_test: Testen | |||
button_edit: Bearbeiten | |||
button_add: Hinzufügen | |||
button_change: Wechseln | |||
button_apply: Anwenden | |||
button_clear: Zurücksetzen | |||
button_lock: Verriegeln | |||
button_unlock: Entriegeln | |||
button_download: Fernzuladen | |||
button_list: Aufzulisten | |||
button_view: Siehe | |||
text_select_mail_notifications: Aktionen für die Mailbenachrichtigung aktiviert werden soll. | |||
text_regexp_info: eg. ^[A-Z0-9]+$ | |||
text_min_max_length_info: 0 heisst keine Beschränkung | |||
#text_possible_values_info: values separated with | | |||
text_project_destroy_confirmation: Sind sie sicher, daß sie das Projekt löschen wollen ? | |||
text_workflow_edit: Auswahl Workflow zum Bearbeiten | |||
text_are_you_sure: Sind sie sicher ? | |||
default_role_manager: Manager | |||
default_role_developper: Developer | |||
default_role_reporter: Reporter | |||
default_tracker_bug: Fehler | |||
default_tracker_feature: Feature | |||
default_tracker_support: Support | |||
default_issue_status_new: Neu | |||
default_issue_status_assigned: Zugewiesen | |||
default_issue_status_resolved: Gelöst | |||
default_issue_status_feedback: Feedback | |||
default_issue_status_closed: Erledigt | |||
default_issue_status_rejected: Abgewiesen | |||
default_doc_category_user: Benutzerdokumentation | |||
default_doc_category_tech: Technische Dokumentation | |||
default_priority_low: Niedrig | |||
default_priority_normal: Normal | |||
default_priority_high: Hoch | |||
default_priority_urgent: Dringend | |||
default_priority_immediate: Sofort | |||
enumeration_issue_priorities: Issue-Prioritäten | |||
enumeration_doc_categories: Dokumentenkategorien |
@@ -101,7 +101,7 @@ field_user: User | |||
field_role: Role | |||
field_homepage: Homepage | |||
field_is_public: Public | |||
field_parent: Subproject de | |||
field_parent: Subproject of | |||
field_is_in_chlog: Issues displayed in changelog | |||
field_login: Login | |||
field_mail_notification: Mail notifications | |||
@@ -264,6 +264,7 @@ text_min_max_length_info: 0 means no restriction | |||
text_possible_values_info: values separated with | | |||
text_project_destroy_confirmation: Are you sure you want to delete this project and all related data ? | |||
text_workflow_edit: Select a role and a tracker to edit the workflow | |||
text_are_you_sure: Are you sure ? | |||
default_role_manager: Manager | |||
default_role_developper: Developer |
@@ -264,6 +264,7 @@ text_min_max_length_info: 0 para ninguna restricción | |||
#text_possible_values_info: values separated with | | |||
text_project_destroy_confirmation: ¿ Estás seguro de querer eliminar el proyecto ? | |||
text_workflow_edit: Seleccionar un workflow para actualizar | |||
text_are_you_sure: ¿ Estás seguro ? | |||
default_role_manager: Manager | |||
default_role_developper: Desarrollador |
@@ -264,6 +264,7 @@ text_min_max_length_info: 0 pour aucune restriction | |||
text_possible_values_info: valeurs séparées par | | |||
text_project_destroy_confirmation: Etes-vous sûr de vouloir supprimer ce projet et tout ce qui lui est rattaché ? | |||
text_workflow_edit: Sélectionner un tracker et un rôle pour éditer le workflow | |||
text_are_you_sure: Etes-vous sûr ? | |||
default_role_manager: Manager | |||
default_role_developper: Développeur |
@@ -13,6 +13,7 @@ line-height:1.4em; | |||
text-align:center; | |||
color:#303030; | |||
background:#e8eaec; | |||
margin:0; | |||
} | |||
@@ -39,25 +40,25 @@ img.right{float:right; margin:0 0 5px 12px;} | |||
#container{ | |||
width:100%; | |||
min-width: 800px; | |||
margin:5px auto; | |||
padding:1px 0; | |||
margin:0; | |||
padding:0; | |||
text-align:left; | |||
background:#ffffff; | |||
color:#303030; | |||
border:2px solid #a0a0a0; | |||
} | |||
#header{ | |||
height:5.5em; | |||
height:4.5em; | |||
/*width:758px;*/ | |||
margin:0 1px 1px 1px; | |||
margin:0; | |||
background:#467aa7; | |||
color:#ffffff; | |||
margin-bottom:1px; | |||
} | |||
#header h1{ | |||
padding:14px 0 0 20px; | |||
font-size:2.4em; | |||
padding:10px 0 0 20px; | |||
font-size:1.8em; | |||
background-color:inherit; | |||
color:#fff; /*rgb(152, 26, 33);*/ | |||
letter-spacing:-2px; | |||
@@ -65,7 +66,7 @@ font-weight:normal; | |||
} | |||
#header h2{ | |||
margin:10px 0 0 40px; | |||
margin:3px 0 0 40px; | |||
font-size:1.4em; | |||
background-color:inherit; | |||
color:#f0f2f4; | |||
@@ -77,7 +78,7 @@ font-weight:normal; | |||
height:2.2em; | |||
line-height:2.2em; | |||
/*width:758px;*/ | |||
margin:0 1px; | |||
margin:0; | |||
background:#578bb8; | |||
color:#ffffff; | |||
} | |||
@@ -127,16 +128,22 @@ background-color: #80b0da; | |||
/**************** Content styles ****************/ | |||
html>body #content { | |||
height: auto; | |||
min-height: 300px; | |||
} | |||
#content{ | |||
/*float:right;*/ | |||
/*width:530px;*/ | |||
width: auto; | |||
min-height: 500px; | |||
height:300px; | |||
font-size:0.9em; | |||
padding:20px 10px 10px 20px; | |||
/*position: absolute;*/ | |||
margin: 0 0 0 140px; | |||
margin-left: 120px; | |||
border-left: 1px dashed #c0c0c0; | |||
} | |||
#content h2{ | |||
@@ -176,6 +183,10 @@ form { | |||
.noborder { | |||
border:0px; | |||
Exception exceptions.AssertionError: <exceptions.AssertionError instance at 0xb7c0b20c> in <bound | |||
method SubversionRepository.__del__ of <vclib.svn.SubversionRepository instance at 0xb7c1252c>> | |||
ignored | |||
background-color:#fff; | |||
width:100%; | |||
} | |||
@@ -186,7 +197,7 @@ textarea { | |||
} | |||
input { | |||
vertical-align: top; | |||
vertical-align: middle; | |||
} | |||
input.button-small | |||
@@ -227,14 +238,13 @@ legend { | |||
} | |||
table.listTableContent { | |||
/*margin: 2em 2em 2em 0; */ | |||
border:1px solid #c0c0c0; | |||
border:1px solid #578bb8; | |||
width:99%; | |||
border-collapse: collapse; | |||
} | |||
table.listTableContent td { | |||
margin: 2px; | |||
padding:4px; | |||
} | |||
tr.ListHead { | |||
@@ -249,10 +259,10 @@ tr.ListHead a { | |||
} | |||
tr.odd { | |||
background-color: #C1E2F7; | |||
background-color:#f0f1f2; | |||
} | |||
tr.even { | |||
background-color:#CEE1ED; | |||
background-color: #fff; | |||
} | |||
hr { border:none; border-bottom: dotted 2px #c0c0c0; } | |||
@@ -263,19 +273,18 @@ hr { border:none; border-bottom: dotted 2px #c0c0c0; } | |||
#subcontent{ | |||
float:left; | |||
clear:both; | |||
width:130px; | |||
width:110px; | |||
padding:20px 20px 10px 5px; | |||
line-height:1.4em; | |||
} | |||
#subcontent h2{ | |||
display:block; | |||
margin:0 0 15px 0; | |||
font-size:1.6em; | |||
font-weight:normal; | |||
margin:0 0 5px 0; | |||
font-size:1.0em; | |||
font-weight:bold; | |||
text-align:left; | |||
letter-spacing:-1px; | |||
color:#505050; | |||
color:#606060; | |||
background-color:inherit; | |||
} | |||
@@ -283,11 +292,11 @@ background-color:inherit; | |||
/**************** Menublock styles ****************/ | |||
.menublock{margin:0 0 20px 8px; font-size:0.9em;} | |||
.menublock{margin:0 0 20px 8px; font-size:0.8em;} | |||
.menublock li{list-style:none; display:block; padding:1px; margin-bottom:0px;} | |||
.menublock li a{font-weight:bold; text-decoration:none;} | |||
.menublock li a:hover{text-decoration:none;} | |||
.menublock li ul{margin:3px 0 3px 15px; font-size:1em; font-weight:normal;} | |||
.menublock li ul{margin:0; font-size:1em; font-weight:normal;} | |||
.menublock li ul li{margin-bottom:0;} | |||
.menublock li ul a{font-weight:normal;} | |||
@@ -317,7 +326,7 @@ text-align:center; | |||
clear:both; | |||
/*width:758px;*/ | |||
padding:5px 0; | |||
margin:0 1px; | |||
margin:0; | |||
font-size:0.9em; | |||
color:#f0f0f0; | |||
background:#467aa7; | |||
@@ -352,3 +361,33 @@ width: 50%; | |||
text-align: left; | |||
} | |||
/***** CSS FORM ******/ | |||
.tabular p{ | |||
margin: 0; | |||
padding: 5px 0 8px 0; | |||
padding-left: 180px; /*width of left column containing the label elements*/ | |||
height: 1%; | |||
} | |||
.tabular label{ | |||
font-weight: bold; | |||
float: left; | |||
margin-left: -180px; /*width of left column*/ | |||
width: 175px; /*width of labels. Should be smaller than left column to create some right | |||
margin*/ | |||
} | |||
.error { | |||
color: #cc0000; | |||
} | |||
/*.threepxfix class below: | |||
Targets IE6- ONLY. Adds 3 pixel indent for multi-line form contents. | |||
to account for 3 pixel bug: http://www.positioniseverything.net/explorer/threepxtest.html | |||
*/ | |||
* html .threepxfix{ | |||
margin-left: 3px; | |||
} |