git-svn-id: http://redmine.rubyforge.org/svn/trunk@14 e93f8b46-1217-0410-a6f0-8f06a7374b81pull/351/head
parent
5b47d7bfcc
commit
b862c447f1
@ -1,8 +1,8 @@ |
||||
<h2><%=_('Document')%></h2> |
||||
<h2><%=l(:label_document)%></h2> |
||||
|
||||
<%= start_form_tag :action => 'edit', :id => @document %> |
||||
<%= render :partial => 'form' %> |
||||
<%= submit_tag _('Save') %> |
||||
<%= submit_tag l(:button_save) %> |
||||
<%= end_form_tag %> |
||||
|
||||
|
||||
|
@ -1,10 +1,10 @@ |
||||
<h2><%=_('Enumerations')%></h2> |
||||
<h2><%=l(:label_enumerations)%></h2> |
||||
|
||||
<%= start_form_tag :action => 'update', :id => @enumeration %> |
||||
<%= render :partial => 'form' %> |
||||
<%= submit_tag _('Save') %> |
||||
<%= submit_tag l(:button_save) %> |
||||
<%= end_form_tag %> |
||||
|
||||
<%= start_form_tag :action => 'destroy', :id => @enumeration %> |
||||
<%= submit_tag _('Delete') %> |
||||
<%= submit_tag l(:button_delete) %> |
||||
<%= end_form_tag %> |
@ -1,22 +1,21 @@ |
||||
<h2><%=_('Enumerations')%></h2> |
||||
<h2><%=l(:label_enumerations)%></h2> |
||||
|
||||
<% for option in Enumeration::OPTIONS %> |
||||
<% Enumeration::OPTIONS.each do |option, name| %> |
||||
|
||||
<% if @params[:opt]==option[1] %> |
||||
<% if @params[:opt]==option %> |
||||
|
||||
<p><%= image_tag 'dir_open' %> <b><%=_ option[0] %></b></p> |
||||
<p><%= image_tag 'dir_open' %> <b><%= l(name) %></b></p> |
||||
<ul> |
||||
<% for value in Enumeration::find(:all, :conditions => [ "opt = ?", option[1]]) %> |
||||
<% for value in Enumeration.find(:all, :conditions => ["opt = ?", option]) %> |
||||
<li><%= link_to value.name, :action => 'edit', :id => value %></li> |
||||
<% end %> |
||||
</ul> |
||||
<ul> |
||||
<li><%= link_to ('» ' + _('New')), :action => 'new', :opt => option[1] %></li> |
||||
<li><%= link_to ('» ' + l(:label_new)), :action => 'new', :opt => option %></li> |
||||
</ul> |
||||
|
||||
<% else %> |
||||
<p><%= image_tag 'dir' %> <%= link_to _(option[0]), :opt => option[1] %></p> |
||||
<p><%= image_tag 'dir' %> <%= link_to l(name), :opt => option %></p> |
||||
<% end %> |
||||
|
||||
<% end %> |
||||
|
||||
<% end %> |
@ -1,6 +1,6 @@ |
||||
<h2><%=_('New enumeration')%></h2> |
||||
<h2><%=l(:label_enumeration_new)%></h2> |
||||
|
||||
<%= start_form_tag :action => 'create' %> |
||||
<%= render :partial => 'form' %> |
||||
<%= submit_tag _('Create') %> |
||||
<%= 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"><%=_('Name')%></label><br/> |
||||
<p><label for="issue_category_name"><%l(:field_name)%></label><br/> |
||||
<%= text_field 'issue_category', 'name' %></p> |
||||
<!--[eoform:issue_category]--> |
||||
|
||||
|
@ -1,6 +1,6 @@ |
||||
<h2>Editing issue category</h2> |
||||
<h2><%=l(:label_issue_category)%></h2> |
||||
|
||||
<%= start_form_tag :action => 'edit', :id => @category %> |
||||
<%= render :partial => 'form' %> |
||||
<%= submit_tag _('Save') %> |
||||
<%= submit_tag l(:button_save) %> |
||||
<%= end_form_tag %> |
||||
|
@ -1,6 +1,6 @@ |
||||
<h2><%=_('Issue status')%></h2> |
||||
<h2><%=l(:label_issue_status)%></h2> |
||||
|
||||
<%= start_form_tag :action => 'update', :id => @issue_status %> |
||||
<%= render :partial => 'form' %> |
||||
<%= submit_tag _('Save') %> |
||||
<%= submit_tag l(:button_save) %> |
||||
<%= end_form_tag %> |
||||
|
@ -1,6 +1,6 @@ |
||||
<h2><%=_('New issue status')%></h2> |
||||
<h2><%=l(:label_issue_status_new)%></h2> |
||||
|
||||
<%= start_form_tag :action => 'create' %> |
||||
<%= render :partial => 'form' %> |
||||
<%= submit_tag _('Create') %> |
||||
<%= submit_tag l(:button_create) %> |
||||
<%= end_form_tag %> |
||||
|
@ -1,28 +1,28 @@ |
||||
<% 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"> |
||||
<tr class="ListHead"> |
||||
<th>#</th> |
||||
<th><%=_('Tracker')%></th> |
||||
<th><%=_('Subject')%></th> |
||||
</tr> |
||||
<% for issue in issues %> |
||||
<tr bgcolor="#<%= issue.status.html_color %>"> |
||||
<td align="center"> |
||||
<%= link_to issue.id, :controller => 'issues', :action => 'show', :id => issue %><br /> |
||||
</td> |
||||
<td><p class="small"><%= issue.project.name %> - <%= issue.tracker.name %><br /> |
||||
<%= issue.status.name %> - <%= format_time(issue.updated_on) %></p></td> |
||||
<td> |
||||
<p class="small"><%= link_to issue.subject, :controller => 'issues', :action => 'show', :id => issue %></p> |
||||
</td> |
||||
</tr> |
||||
<% end %> |
||||
</table> |
||||
</td> |
||||
<table cellspacing="0" cellpadding="1" width="100%" border="0" class="listTable"> |
||||
<tr><td> |
||||
<table width="100%" border="0" cellspacing="1" cellpadding="2" class="listTableContent"> |
||||
<tr class="ListHead"> |
||||
<th>#</th> |
||||
<th><%=l(:field_tracker)%></th> |
||||
<th><%=l(:field_subject)%></th> |
||||
</tr> |
||||
</table> |
||||
<% for issue in issues %> |
||||
<tr bgcolor="#<%= issue.status.html_color %>"> |
||||
<td align="center"> |
||||
<%= link_to issue.id, :controller => 'issues', :action => 'show', :id => issue %><br /> |
||||
</td> |
||||
<td><p class="small"><%= issue.project.name %> - <%= issue.tracker.name %><br /> |
||||
<%= issue.status.name %> - <%= format_time(issue.updated_on) %></p></td> |
||||
<td> |
||||
<p class="small"><%= link_to issue.subject, :controller => 'issues', :action => 'show', :id => issue %></p> |
||||
</td> |
||||
</tr> |
||||
<% end %> |
||||
</table> |
||||
</td> |
||||
</tr> |
||||
</table> |
||||
<% else %> |
||||
<%=_('No issue')%> |
||||
<i><%=l(:label_no_data)%></i> |
||||
<% end %> |
@ -1,5 +1,5 @@ |
||||
<%=_('Issue')%> #<%= issue.id %> - <%= issue.subject %> |
||||
<%=_('Author')%>: <%= issue.author.display_name %> |
||||
<%=l(:label_issue)%> #<%= issue.id %> - <%= issue.subject %> |
||||
<%=l(:field_author)%>: <%= issue.author.display_name %> |
||||
|
||||
<%= issue.description %> |
||||
|
||||
|
@ -1,13 +1,13 @@ |
||||
<%= error_messages_for 'news' %> |
||||
|
||||
<!--[form:news]--> |
||||
<p><label for="news_title"><%=_('Title')%></label> <span class="required">*</span><br/> |
||||
<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"><%=_('Summary')%></label><br/> |
||||
<p><label for="news_summary"><%=l(:field_summary)%></label><br/> |
||||
<%= text_area 'news', 'summary', :cols => 60, :rows => 2 %></p> |
||||
|
||||
<p><label for="news_description"><%=_('Description')%> <span class="required">*</span></label><br/> |
||||
<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]--> |
||||
|
||||
|
@ -1,6 +1,6 @@ |
||||
<h2><%=_('News')%></h2> |
||||
<h2><%=l(:label_news)%></h2> |
||||
|
||||
<%= start_form_tag :action => 'edit', :id => @news %> |
||||
<%= render :partial => 'form' %> |
||||
<%= submit_tag _('Save') %> |
||||
<%= submit_tag l(:button_save) %> |
||||
<%= end_form_tag %> |
||||
|
@ -1,6 +1,6 @@ |
||||
<h2><%=_('New project')%></h2> |
||||
<h2><%=l(:label_project_new)%></h2> |
||||
|
||||
<%= start_form_tag :action => 'add' %> |
||||
<%= render :partial => 'form' %> |
||||
<%= submit_tag _('Create') %> |
||||
<%= submit_tag l(:button_create) %> |
||||
<%= end_form_tag %> |
||||
|
@ -1,26 +1,12 @@ |
||||
<h2><%=_('New document')%></h2> |
||||
<h2><%=l(:label_document_new)%></h2> |
||||
|
||||
<%= error_messages_for 'document' %> |
||||
<%= start_form_tag( { :action => 'add_document', :id => @project }, :multipart => true) %> |
||||
|
||||
<!--[form:document]--> |
||||
<p><label for="document_category_id"><%=_('Category')%></label><br /> |
||||
<select name="document[category_id]"> |
||||
<%= options_from_collection_for_select @categories, "id", "name",@document.category_id %> |
||||
</select></p> |
||||
|
||||
<p><label for="document_title"><%=_('Title')%> <span class="required">*</span></label><br /> |
||||
<%= text_field 'document', 'title', :size => 60 %></p> |
||||
|
||||
<p><label for="document_description"><%=_('Description')%> <span class="required">*</span></label><br /> |
||||
<%= text_area 'document', 'description', :cols => 60, :rows => 5 %></p> |
||||
<%= render :partial => 'documents/form' %> |
||||
|
||||
<p><label for="attachment_file"><%=_('File')%></label><br/> |
||||
<p><label for="attachment_file"><%=l(:label_attachment)%></label><br/> |
||||
<%= file_field 'attachment', 'file' %></p> |
||||
|
||||
<!--[eoform:document]--> |
||||
|
||||
<%= submit_tag _('Create') %> |
||||
<%= submit_tag l(:button_create) %> |
||||
<%= end_form_tag %> |
||||
|
||||
|
||||
|
@ -1,13 +1,14 @@ |
||||
<h2><%=_('New file')%></h2> |
||||
<h2><%=l(:label_attachment_new)%></h2> |
||||
|
||||
<%= error_messages_for 'attachment' %> |
||||
<%= start_form_tag ({ :action => 'add_file', :project => @project }, :multipart => true) %> |
||||
|
||||
<p><label for="version_id"><%=_('Version')%></label><br /> |
||||
<p><label for="version_id"><%=l(:field_version)%></label><br /> |
||||
<select name="version_id"> |
||||
<%= options_from_collection_for_select @versions, "id", "name" %> |
||||
</select></p> |
||||
|
||||
<p><b><%=_('File')%><b><br /><%= file_field 'attachment', 'file' %></p> |
||||
<p><b><%=l(:label_attachment)%><b><br /><%= file_field 'attachment', 'file' %></p> |
||||
<br/> |
||||
<%= submit_tag _('Add') %> |
||||
<%= submit_tag l(:button_add) %> |
||||
<%= end_form_tag %> |
@ -1,7 +1,7 @@ |
||||
<h2><%=('Add news')%></h2> |
||||
<h2><%=l(:label_news_new)%></h2> |
||||
|
||||
<%= start_form_tag :action => 'add_news', :id => @project %> |
||||
<%= render :partial => 'news/form' %> |
||||
<%= submit_tag _('Create') %> |
||||
<%= submit_tag l(:button_create) %> |
||||
<%= end_form_tag %> |
||||
|
||||
|
@ -1,7 +1,7 @@ |
||||
<h2><%=_('New version')%></h2> |
||||
<h2><%=l(:label_version_new)%></h2> |
||||
|
||||
<%= start_form_tag :action => 'add_version', :id => @project %> |
||||
<%= render :partial => 'versions/form' %> |
||||
<%= submit_tag _('Create') %> |
||||
<%= submit_tag l(:button_create) %> |
||||
<%= end_form_tag %> |
||||
|
||||
|
@ -1,11 +1,13 @@ |
||||
<h2><%=_('Confirmation')%></h2> |
||||
<h2><%=l(:label_confirmation)%></h2> |
||||
<div class="box"> |
||||
<center> |
||||
<p><%=_('Are you sure you want to delete project')%> <strong><%= @project.name %></strong> ?</p> |
||||
<p><strong><%= @project.name %></strong><br /> |
||||
<%=l(:text_project_destroy_confirmation)%></p> |
||||
|
||||
<p> |
||||
<%= start_form_tag({:controller => 'projects', :action => 'destroy', :id => @project}) %> |
||||
<%= hidden_field_tag "confirm", 1 %> |
||||
<%= submit_tag _('Delete') %> |
||||
<%= submit_tag l(:button_delete) %> |
||||
<%= end_form_tag %> |
||||
</p> |
||||
</center> |
||||
|
@ -1,56 +1,53 @@ |
||||
<h2><%=_('Issues')%></h2> |
||||
<h2><%=l(:label_issue_plural)%></h2> |
||||
|
||||
<form method="post" class="noborder"> |
||||
<table cellpadding=2> |
||||
<table cellpadding=2> |
||||
<tr> |
||||
<td><small><%=_('Status')%>:</small><br /><%= search_filter_tag 'status_id', :class => 'select-small' %></td> |
||||
<td><small><%=_('Tracker')%>:</small><br /><%= search_filter_tag 'tracker_id', :class => 'select-small' %></td> |
||||
<td><small><%=_('Priority')%>:</small><br /><%= search_filter_tag 'priority_id', :class => 'select-small' %></td> |
||||
<td><small><%=_('Category')%>:</small><br /><%= search_filter_tag 'category_id', :class => 'select-small' %></td> |
||||
<td><small><%=_('Fixed in version')%>:</small><br /><%= search_filter_tag 'fixed_version_id', :class => 'select-small' %></td> |
||||
<td><small><%=_('Assigned to')%>:</small><br /><%= search_filter_tag 'assigned_to_id', :class => 'select-small' %></td> |
||||
<td><small><%=_('Subprojects')%>:</small><br /><%= search_filter_tag 'subproject_id', :class => 'select-small' %></td> |
||||
<td><small><%=l(:field_status)%>:</small><br /><%= search_filter_tag 'status_id', :class => 'select-small' %></td> |
||||
<td><small><%=l(:field_tracker)%>:</small><br /><%= search_filter_tag 'tracker_id', :class => 'select-small' %></td> |
||||
<td><small><%=l(:field_priority)%>:</small><br /><%= search_filter_tag 'priority_id', :class => 'select-small' %></td> |
||||
<td><small><%=l(:field_category)%>:</small><br /><%= search_filter_tag 'category_id', :class => 'select-small' %></td> |
||||
<td><small><%=l(:field_fixed_version)%>:</small><br /><%= search_filter_tag 'fixed_version_id', :class => 'select-small' %></td> |
||||
<td><small><%=l(:field_assigned_to)%>:</small><br /><%= search_filter_tag 'assigned_to_id', :class => 'select-small' %></td> |
||||
<td><small><%=l(:label_subproject_plural)%>:</small><br /><%= search_filter_tag 'subproject_id', :class => 'select-small' %></td> |
||||
|
||||
<td valign="bottom"> |
||||
<%= submit_tag _('Apply filter'), :class => 'button-small' %> |
||||
<%= submit_tag l(:button_apply), :class => 'button-small' %> |
||||
<%= end_form_tag %> |
||||
|
||||
<%= start_form_tag %> |
||||
<%= submit_tag _('Reset'), :class => 'button-small' %> |
||||
<%= submit_tag l(:button_clear), :class => 'button-small' %> |
||||
<%= end_form_tag %> |
||||
</td> |
||||
</tr> |
||||
</table> |
||||
|
||||
<table border="0" cellspacing="1" cellpadding="2" class="listTableContent"> |
||||
|
||||
<tr><td colspan="7" align="right"> |
||||
<small><%= link_to 'Export to CSV', :action => 'export_issues_csv', :id => @project.id %></small> |
||||
</td></tr> |
||||
|
||||
<tr class="ListHead"> |
||||
<%= sort_header_tag('issues.id', :caption => '#') %> |
||||
<%= sort_header_tag('issue_statuses.name', :caption => _('Status')) %> |
||||
<%= sort_header_tag('issues.tracker_id', :caption => _('Tracker')) %> |
||||
<th><%=_('Subject')%></th> |
||||
<%= sort_header_tag('users.lastname', :caption => _('Author')) %> |
||||
<%= sort_header_tag('issues.created_on', :caption => _('Created on')) %> |
||||
<%= sort_header_tag('issues.updated_on', :caption => _('Last update')) %> |
||||
</tr> |
||||
|
||||
<% for issue in @issues %> |
||||
<tr bgcolor="#<%= issue.status.html_color %>"> |
||||
<td align="center"><%= link_to issue.long_id, :controller => 'issues', :action => 'show', :id => issue %></td> |
||||
<td align="center"><%= issue.status.name %></td> |
||||
<td align="center"><%= issue.tracker.name %></td> |
||||
<td><%= link_to issue.subject, :controller => 'issues', :action => 'show', :id => issue %></td> |
||||
<td align="center"><%= issue.author.display_name %></td> |
||||
<td align="center"><%= format_time(issue.created_on) %></td> |
||||
<td align="center"><%= format_time(issue.updated_on) %></td> |
||||
</tr> |
||||
<% end %> |
||||
</table> |
||||
<p> |
||||
<%= pagination_links_full @issue_pages %> |
||||
[ <%= @issue_pages.current.first_item %> - <%= @issue_pages.current.last_item %> / <%= @issue_count %> ] |
||||
</p> |
||||
<table border="0" cellspacing="1" cellpadding="2" 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> |
||||
<tr class="ListHead"> |
||||
<%= sort_header_tag('issues.id', :caption => '#') %> |
||||
<%= sort_header_tag('issue_statuses.name', :caption => l(:field_status)) %> |
||||
<%= sort_header_tag('issues.tracker_id', :caption => l(:field_tracker)) %> |
||||
<th><%=l(:field_subject)%></th> |
||||
<%= sort_header_tag('users.lastname', :caption => l(:field_author)) %> |
||||
<%= sort_header_tag('issues.created_on', :caption => l(:field_created_on)) %> |
||||
<%= sort_header_tag('issues.updated_on', :caption => l(:field_updated_on)) %> |
||||
</tr> |
||||
<% for issue in @issues %> |
||||
<tr bgcolor="#<%= issue.status.html_color %>"> |
||||
<td align="center"><%= link_to issue.long_id, :controller => 'issues', :action => 'show', :id => issue %></td> |
||||
<td align="center"><%= issue.status.name %></td> |
||||
<td align="center"><%= issue.tracker.name %></td> |
||||
<td><%= link_to issue.subject, :controller => 'issues', :action => 'show', :id => issue %></td> |
||||
<td align="center"><%= issue.author.display_name %></td> |
||||
<td align="center"><%= format_time(issue.created_on) %></td> |
||||
<td align="center"><%= format_time(issue.updated_on) %></td> |
||||
</tr> |
||||
<% end %> |
||||
</table> |
||||
<p> |
||||
<%= pagination_links_full @issue_pages %> |
||||
[ <%= @issue_pages.current.first_item %> - <%= @issue_pages.current.last_item %> / <%= @issue_count %> ] |
||||
</p> |
@ -1,13 +1,13 @@ |
||||
<h2><%=_('Reports')%></h2> |
||||
<h2><%=l(:label_report_plural)%></h2> |
||||
|
||||
<strong><%=_('Issues by tracker')%></strong> |
||||
<strong><%=l(:field_tracker)%></strong> |
||||
<%= render :partial => 'simple', :locals => { :data => @issues_by_tracker, :field_name => "tracker_id", :rows => @trackers } %> |
||||
<br /> |
||||
|
||||
<strong><%=_('Issues by priority')%></strong> |
||||
<strong><%=l(:field_priority)%></strong> |
||||
<%= render :partial => 'simple', :locals => { :data => @issues_by_priority, :field_name => "priority_id", :rows => @priorities } %> |
||||
<br /> |
||||
|
||||
<strong><%=_('Issues by category')%></strong> |
||||
<strong><%=l(:field_category)%></strong> |
||||
<%= render :partial => 'simple', :locals => { :data => @issues_by_category, :field_name => "category_id", :rows => @categories } %> |
||||
|
||||
|
@ -1,10 +1,8 @@ |
||||
<h2><%=_('Role')%></h2> |
||||
<h2><%=l(:label_role)%></h2> |
||||
|
||||
<%= start_form_tag ({ :action => 'edit', :id => @role }, :id => 'role_form') %> |
||||
<%= render :partial => 'form' %> |
||||
|
||||
<br /> |
||||
<%= submit_tag _('Save') %> |
||||
<%= submit_tag l(:button_save) %> |
||||
<%= end_form_tag %> |
||||
|
||||
|
||||
|
@ -1,8 +1,7 @@ |
||||
<h2><%=_('New role')%></h2> |
||||
<h2><%=l(:label_role_new)%></h2> |
||||
|
||||
<%= start_form_tag ({ :action => 'new' }, :id => 'role_form') %> |
||||
<%= render :partial => 'form' %> |
||||
|
||||
<br /><%= submit_tag _('Create') %> |
||||
<%= render :partial => 'form' %> |
||||
<%= submit_tag l(:button_create) %> |
||||
<%= end_form_tag %> |
||||
|
||||
|
@ -1,10 +1,10 @@ |
||||
<%= error_messages_for 'tracker' %> |
||||
|
||||
<!--[form:tracker]--> |
||||
<p><label for="tracker_name"><%=_('Name')%></label> <span class="required">*</span><br/> |
||||
<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"><%=_('View issues in change log')%></label></p> |
||||
<label for="tracker_is_in_chlog"><%=l(:field_is_in_chlog)%></label></p> |
||||
<!--[eoform:tracker]--> |
||||
|
||||
|
@ -1,6 +1,6 @@ |
||||
<h2><%=_('Tracker')%></h2> |
||||
<h2><%=l(:label_tracker)%></h2> |
||||
|
||||
<%= start_form_tag :action => 'edit', :id => @tracker %> |
||||
<%= render :partial => 'form' %> |
||||
<%= submit_tag _('Save') %> |
||||
<%= submit_tag l(:button_save) %> |
||||
<%= end_form_tag %> |
||||
|
@ -1,7 +1,7 @@ |
||||
<h2><%=_('New tracker')%></h2> |
||||
<h2><%=l(:label_tracker_new)%></h2> |
||||
|
||||
<%= start_form_tag :action => 'new' %> |
||||
<%= render :partial => 'form' %> |
||||
<%= submit_tag _('Create') %> |
||||
<%= submit_tag l(:button_create) %> |
||||
<%= end_form_tag %> |
||||
|
||||
|
@ -1,6 +1,6 @@ |
||||
<h2><%=_('New user')%></h2> |
||||
<h2><%=l(:label_user_new)%></h2> |
||||
|
||||
<%= start_form_tag :action => 'add' %> |
||||
<%= render :partial => 'form' %> |
||||
<%= submit_tag _('Create') %> |
||||
<%= submit_tag l(:button_create) %> |
||||
<%= end_form_tag %> |
||||
|
@ -1,7 +1,6 @@ |
||||
<h2><%=_('User')%></h2> |
||||
<h2><%=l(:label_user)%></h2> |
||||
|
||||
<%= start_form_tag :action => 'edit', :id => @user %> |
||||
<%= render :partial => 'form' %> |
||||
<%= submit_tag _('Save') %> |
||||
|
||||
<%= submit_tag l(:button_save) %> |
||||
<%= end_form_tag %> |
||||
|
@ -1,13 +1,13 @@ |
||||
<%= error_messages_for 'version' %> |
||||
|
||||
<!--[form:version]--> |
||||
<p><label for="version_name"><%=_('Version')%></label> <span class="required">*</span><br/> |
||||
<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"><%=_('Description')%></label><br/> |
||||
<p><label for="version_description"><%=l(:field_description)%></label><br/> |
||||
<%= text_field 'version', 'description', :size => 60 %></p> |
||||
|
||||
<p><label for="version_effective_date"><%=_('Date')%></label><br/> |
||||
<p><label for="version_effective_date"><%=l(:field_effective_date)%></label><br/> |
||||
<%= date_select 'version', 'effective_date' %></p> |
||||
<!--[eoform:version]--> |
||||
|
||||
|
@ -1,8 +1,8 @@ |
||||
<h2><%=_('Version')%></h2> |
||||
<h2><%=l(:label_version)%></h2> |
||||
|
||||
<%= start_form_tag :action => 'edit', :id => @version %> |
||||
<%= render :partial => 'form' %> |
||||
<%= submit_tag _('Save') %> |
||||
<%= submit_tag l(:button_save) %> |
||||
<%= end_form_tag %> |
||||
|
||||
|
||||
|
@ -1,61 +0,0 @@ |
||||
# redMine - project management software |
||||
# Copyright (C) 2006 Jean-Philippe Lang |
||||
# |
||||
# This program is free software; you can redistribute it and/or |
||||
# modify it under the terms of the GNU General Public License |
||||
# as published by the Free Software Foundation; either version 2 |
||||
# of the License, or (at your option) any later version. |
||||
# |
||||
# This program is distributed in the hope that it will be useful, |
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
# GNU General Public License for more details. |
||||
# |
||||
# You should have received a copy of the GNU General Public License |
||||
# along with this program; if not, write to the Free Software |
||||
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. |
||||
|
||||
class DefaultConfiguration < ActiveRecord::Migration |
||||
def self.up |
||||
# roles |
||||
r = Role.create(:name => "Manager") |
||||
r.permissions = Permission.find(:all) |
||||
r = Role.create :name => "Developer" |
||||
r.permissions = Permission.find(:all) |
||||
r = Role.create :name => "Reporter" |
||||
r.permissions = Permission.find(:all) |
||||
# trackers |
||||
Tracker.create(:name => "Bug", :is_in_chlog => true) |
||||
Tracker.create(:name => "Feature request", :is_in_chlog => true) |
||||
Tracker.create(:name => "Support request", :is_in_chlog => false) |
||||
# issue statuses |
||||
IssueStatus.create(:name => "New", :is_closed => false, :is_default => true, :html_color => 'F98787') |
||||
IssueStatus.create(:name => "Assigned", :is_closed => false, :is_default => false, :html_color => 'C0C0FF') |
||||
IssueStatus.create(:name => "Resolved", :is_closed => false, :is_default => false, :html_color => '88E0B3') |
||||
IssueStatus.create(:name => "Feedback", :is_closed => false, :is_default => false, :html_color => 'F3A4F4') |
||||
IssueStatus.create(:name => "Closed", :is_closed => true, :is_default => false, :html_color => 'DBDBDB') |
||||
IssueStatus.create(:name => "Rejected", :is_closed => true, :is_default => false, :html_color => 'F5C28B') |
||||
# workflow |
||||
Tracker.find(:all).each { |t| |
||||
Role.find(:all).each { |r| |
||||
IssueStatus.find(:all).each { |os| |
||||
IssueStatus.find(:all).each { |ns| |
||||
Workflow.create(:tracker_id => t.id, :role_id => r.id, :old_status_id => os.id, :new_status_id => ns.id) unless os == ns |
||||
} |
||||
} |
||||
} |
||||
} |
||||
# enumeartions |
||||
Enumeration.create(:opt => "DCAT", :name => 'Uncategorized') |
||||
Enumeration.create(:opt => "DCAT", :name => 'User documentation') |
||||
Enumeration.create(:opt => "DCAT", :name => 'Technical documentation') |
||||
Enumeration.create(:opt => "IPRI", :name => 'Low') |
||||
Enumeration.create(:opt => "IPRI", :name => 'Normal') |
||||
Enumeration.create(:opt => "IPRI", :name => 'High') |
||||
Enumeration.create(:opt => "IPRI", :name => 'Urgent') |
||||
Enumeration.create(:opt => "IPRI", :name => 'Immediate') |
||||
end |
||||
|
||||
def self.down |
||||
end |
||||
end |
Binary file not shown.
After Width: | Height: | Size: 8.0 KiB |
After Width: | Height: | Size: 6.3 KiB |
After Width: | Height: | Size: 6.4 KiB |
@ -0,0 +1,400 @@ |
||||
<?xml version="1.0" encoding="UTF-8"?> |
||||
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" |
||||
"http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd"> |
||||
<book> |
||||
<title>Documentation redMine</title> |
||||
|
||||
<chapter> |
||||
<title>Administration</title> |
||||
|
||||
<section> |
||||
<title>Utilisateurs</title> |
||||
|
||||
<para>Ces écrans vous permettent de gérer les utilisateurs de |
||||
l'application.</para> |
||||
|
||||
<section> |
||||
<title>Liste des utilisateurs</title> |
||||
|
||||
<para></para> |
||||
|
||||
<screenshot> |
||||
<screeninfo>Liste des utilisateurs</screeninfo> |
||||
|
||||
<mediaobject> |
||||
<imageobject> |
||||
<imagedata fileref="images/users_list.png" /> |
||||
</imageobject> |
||||
</mediaobject> |
||||
</screenshot> |
||||
|
||||
<para>Les boutons Lock/Unlock vous permettent de |
||||
vérouiller/dévérouiller les comptes utilisateurs.</para> |
||||
|
||||
<para>Un utilisateur dont le compte est vérouillé ne peut plus |
||||
s'identifier pour accéder à l'application.</para> |
||||
</section> |
||||
|
||||
<section> |
||||
<title>Création ou modification d'un utilisateur</title> |
||||
|
||||
<para>En mode modification, laissez le champ Password vide pour |
||||
laisser le mot de passe de l'utilisateur inchangé.</para> |
||||
|
||||
<para>Un utilisateur déclaré comme administrateur dispose de toutes |
||||
les permissions sur l'application et sur tous les projets.</para> |
||||
|
||||
<itemizedlist> |
||||
<listitem> |
||||
<para><guilabel>Administrateur</guilabel>: déclare l'utilisateur |
||||
comme administrateur de l'application.</para> |
||||
</listitem> |
||||
|
||||
<listitem> |
||||
<para><guilabel>Notifications par mail</guilabel>: permet |
||||
d'activer ou non l'envoi automatique de notifications par mail |
||||
pour cet utilisateur</para> |
||||
</listitem> |
||||
|
||||
<listitem> |
||||
<para><guilabel>Vérouillé</guilabel>: désactive le compte de |
||||
l'utilisateur</para> |
||||
</listitem> |
||||
</itemizedlist> |
||||
</section> |
||||
</section> |
||||
|
||||
<section> |
||||
<title>Rôles et permissions</title> |
||||
|
||||
<para>Les rôles permettent de définir les permissions des différents |
||||
membres d'un projet. Chaque membre d'un projet dispose d'un rôle unique |
||||
au sein d'un projet. Un utilisateur peut avoir différents rôles au sein |
||||
de différents projets.</para> |
||||
|
||||
<para>Sur l'écran d'édition du rôle, cochez les actions que vous |
||||
souhaitez autoriser pour le rôle.</para> |
||||
</section> |
||||
|
||||
<section> |
||||
<title>Trackers</title> |
||||
|
||||
<para>Les trackers permettent de typer les demandes et de définir des |
||||
workflows spécifiques pour chacun de ces types.</para> |
||||
</section> |
||||
|
||||
<section> |
||||
<title>Champs personnalisés</title> |
||||
|
||||
<para>Les champs personnalisés vous permettent d'ajouter des |
||||
informations supplémentaires sur les demandes. Un champ personnalisé |
||||
peut être de l'un des types suivants:</para> |
||||
|
||||
<itemizedlist> |
||||
<listitem> |
||||
<para><guilabel>Integer</guilabel>: entier positif ou négatif</para> |
||||
</listitem> |
||||
|
||||
<listitem> |
||||
<para><guilabel>String</guilabel>: chaîne de caractère</para> |
||||
</listitem> |
||||
|
||||
<listitem> |
||||
<para><guilabel>Date</guilabel>: date</para> |
||||
</listitem> |
||||
|
||||
<listitem> |
||||
<para><guilabel>Boolean</guilabel>: booléen (case à cocher)</para> |
||||
</listitem> |
||||
|
||||
<listitem> |
||||
<para><guilabel>List</guilabel>: valeur à sélectionnée parmi une |
||||
liste prédéfinie (liste déroulante)</para> |
||||
</listitem> |
||||
</itemizedlist> |
||||
|
||||
<para>Des éléments de validation peuvent être définis:</para> |
||||
|
||||
<itemizedlist> |
||||
<listitem> |
||||
<para><guilabel>Obligatoire</guilabel>: champ dont la saisie est |
||||
obligatoire sur les demandes</para> |
||||
</listitem> |
||||
|
||||
<listitem> |
||||
<para><guilabel>Pour tous les projects</guilabel>: champ |
||||
automatiquement associé à l'ensemble des projets</para> |
||||
</listitem> |
||||
|
||||
<listitem> |
||||
<para><guilabel>Min - max length</guilabel>: longueurs minimales et |
||||
maximales pour les champs en saisie libre (0 signifie qu'il n'y a |
||||
pas de restriction)</para> |
||||
</listitem> |
||||
|
||||
<listitem> |
||||
<para><guilabel>Expression régulière</guilabel>: expression |
||||
régulière permettant de valider la valeur saisie</para> |
||||
</listitem> |
||||
|
||||
<listitem> |
||||
<para><guilabel>Valeurs possibles</guilabel>: valeurs possibles pour |
||||
les champs de type "Liste". Les valeurs sont séparées par le |
||||
caractère |</para> |
||||
</listitem> |
||||
</itemizedlist> |
||||
|
||||
<para>Si l'option <guilabel>Pour tous les projets</guilabel> n'est pas |
||||
activée, chaque projet pourra choisir d'utiliser ou non le champ pour |
||||
ses demandes.</para> |
||||
</section> |
||||
|
||||
<section> |
||||
<title>Statut des demandes</title> |
||||
|
||||
<para>Ces écrans vous permettent de définir les différents statuts |
||||
possibles des demandes.</para> |
||||
|
||||
<itemizedlist> |
||||
<listitem> |
||||
<para><guilabel>Demande fermée</guilabel>: indique que le statut |
||||
correspond à une demande considérée comme fermée</para> |
||||
</listitem> |
||||
|
||||
<listitem> |
||||
<para><guilabel>Statut par défaut</guilabel>: statut appliqué par |
||||
défaut aux nouvelles demandes (seul un statut peut être déclaré |
||||
comme statut par défaut)</para> |
||||
</listitem> |
||||
|
||||
<listitem> |
||||
<para><guilabel>Couleur</guilabel>: code couleur HTML (6 caractères) |
||||
représentant le statut à l'affichage</para> |
||||
</listitem> |
||||
</itemizedlist> |
||||
|
||||
<para></para> |
||||
</section> |
||||
|
||||
<section> |
||||
<title>Workflow</title> |
||||
|
||||
<para>Le workflow permet de définir les changements que les différents |
||||
membres d'un projet sont autorisés à effectuer sur les demandes, en |
||||
fonction de leur type.</para> |
||||
|
||||
<para>Sélectionnez le rôle et le tracker pour lesquels vous souhaitez |
||||
modifier le workflow, puis cliquez sur Edit. L'écran vous permet alors |
||||
de modifier, pour le rôle et le tracker choisi, les changements |
||||
autorisés. Les lignes représentent les statuts initiaux des demandes. |
||||
Les colonnes représentent les statuts autorisés à être appliqués.</para> |
||||
|
||||
<para>Remarque: pour qu'un rôle puisse changer le statut des demandes, |
||||
la permission doit lui être explicitement donnée indépendemment de la |
||||
configuration du workflow.</para> |
||||
|
||||
<para></para> |
||||
|
||||
<screenshot> |
||||
<screeninfo>Exemple de configuration d'un workflow</screeninfo> |
||||
|
||||
<mediaobject> |
||||
<imageobject> |
||||
<imagedata fileref="images/workflow.png" /> |
||||
</imageobject> |
||||
</mediaobject> |
||||
</screenshot> |
||||
|
||||
<para>Dans l'exemple ci-dessus, les demandes de type Bug au statut |
||||
Nouveau pourront être passées au statut Assignée ou Résolue par le rôle |
||||
Développeur. Celles au statut Assignée pourront être passées au statut |
||||
Résolue. Le statut de toutes les autres demandes de type Bug ne pourra |
||||
pas être modifié par le Développeur.</para> |
||||
</section> |
||||
|
||||
<section> |
||||
<title>Listes de valeurs</title> |
||||
|
||||
<para>Les listes de valeurs utilisées par l'application (exemple: les |
||||
priorités des demandes) peuvent être personnalisées. Cet écran vous |
||||
permet de définir les valeurs possibles pour chacune des listes |
||||
suivantes:</para> |
||||
|
||||
<itemizedlist> |
||||
<listitem> |
||||
<para>Priorités des demandes</para> |
||||
</listitem> |
||||
|
||||
<listitem> |
||||
<para>Catégories de documents</para> |
||||
</listitem> |
||||
</itemizedlist> |
||||
|
||||
<para></para> |
||||
</section> |
||||
|
||||
<section> |
||||
<title>Notifications par mail</title> |
||||
|
||||
<para>Cet écran vous permet de sélectionner les actions qui donneront |
||||
lieu à une notification par mail aux membres du projet.</para> |
||||
|
||||
<para>Remarque: l'envoi de mails doit être activé dans la configuration |
||||
de l'application si souhaitez effectuer des notifications.</para> |
||||
</section> |
||||
|
||||
<section> |
||||
<title>Informations</title> |
||||
|
||||
<para>Affiche des informations relatives à l'application et à son |
||||
environnement.</para> |
||||
</section> |
||||
</chapter> |
||||
|
||||
<chapter> |
||||
<title>Projets</title> |
||||
|
||||
<para></para> |
||||
|
||||
<section> |
||||
<title>Aperçu du projet</title> |
||||
|
||||
<para>L'aperçu vous présente les informations générales relatives au |
||||
projet, les principaux membres, les dernières annonces, ainsi qu'une |
||||
synthèse du nombre de demandes ouvertes par tracker.</para> |
||||
|
||||
<para></para> |
||||
</section> |
||||
|
||||
<section> |
||||
<title>Gestion des demandes</title> |
||||
|
||||
<para></para> |
||||
|
||||
<section> |
||||
<title>Liste des demandes</title> |
||||
|
||||
<para>Par défaut, l'ensemble des demandes ouvertes du projet sont |
||||
affichées. Différents filtres vous permettent de sélectionner les |
||||
demandes à afficher. Si le projet comporte des sous-projets, vous avez |
||||
la possibilité d'afficher également les demandes relatives aux |
||||
sous-projets (non affichées par défaut).</para> |
||||
|
||||
<para>Une fois appliqué, un filtre reste valable durant toute votre |
||||
session. Vous pouvez le redéfinir, ou le supprimer en cliquant sur |
||||
Annuler.</para> |
||||
|
||||
<para></para> |
||||
|
||||
<screenshot> |
||||
<screeninfo>Liste des demandes</screeninfo> |
||||
|
||||
<mediaobject> |
||||
<imageobject> |
||||
<imagedata fileref="images/issues_list.png" /> |
||||
</imageobject> |
||||
</mediaobject> |
||||
</screenshot> |
||||
|
||||
<para></para> |
||||
</section> |
||||
</section> |
||||
|
||||
<section> |
||||
<title>Rapports</title> |
||||
|
||||
<para>Cet écran présente la synthèse du nombre de demandes par statut et |
||||
selon différents critères (tracker, priorité, catégorie). Des liens |
||||
directs permettent d'accéder à la liste détaillée des demandes pour |
||||
chaque critère.</para> |
||||
</section> |
||||
|
||||
<section> |
||||
<title>Historique</title> |
||||
|
||||
<para>Cette page présente l'ensemble des demandes résolues dans chacune |
||||
des versions du projet. Certains types de demande peuvent être exclus de |
||||
cet affichage.</para> |
||||
</section> |
||||
|
||||
<section> |
||||
<title>Annonces</title> |
||||
|
||||
<para>Les nouvelles vous permettent d'informer les utilisateurs sur |
||||
l'activité du projet.</para> |
||||
</section> |
||||
|
||||
<section> |
||||
<title>Documents</title> |
||||
|
||||
<para>Les documents sont groupés par catégories (voir Listes de |
||||
valeurs). Un document peut contenir plusieurs fichiers (exemple: |
||||
révisions ou versions successives).</para> |
||||
</section> |
||||
|
||||
<section> |
||||
<title>Fichiers</title> |
||||
|
||||
<para>Ce module vous permet de publier les différents fichiers (sources, |
||||
binaires, ...) pour chaque version de l'application.</para> |
||||
</section> |
||||
|
||||
<section> |
||||
<title>Configuration du projet</title> |
||||
|
||||
<para></para> |
||||
|
||||
<section> |
||||
<title>Propriétés du projet</title> |
||||
|
||||
<para></para> |
||||
|
||||
<itemizedlist> |
||||
<listitem> |
||||
<para><guilabel>Public</guilabel>: si le projet est public, il |
||||
sera visible (consultation des demandes, des documents, ...) pour |
||||
l'ensemble des utilisateurs, y compris ceux qui ne sont pas |
||||
membres du projet. Si le projet n'est pas public, seuls les |
||||
membres du projet y ont accès, en fonction de leur rôle.</para> |
||||
</listitem> |
||||
|
||||
<listitem> |
||||
<para><guilabel>Champs personnalisés</guilabel>: sélectionner les |
||||
champs personnalisés que vous souhaitez utiliser au sein du |
||||
projet. Seul l'administrateur peut ajouter de nouveaux champs |
||||
personnalisés.</para> |
||||
</listitem> |
||||
</itemizedlist> |
||||
|
||||
<para></para> |
||||
</section> |
||||
|
||||
<section> |
||||
<title>Membres</title> |
||||
|
||||
<para>Cet écran vous permet de définir les membres du projet ainsi que |
||||
leurs rôles respectifs. Un utilisateur ne peut avoir qu'un rôle au |
||||
sein d'un projet donné. Le rôle d'un membre détermine les permissions |
||||
dont il bénéficie sur le projet.</para> |
||||
</section> |
||||
|
||||
<section> |
||||
<title>Versions</title> |
||||
|
||||
<para>Les versions vous permettent de suivre les changements survenus |
||||
tout au long du projet. A la fermeture d'une demande, vous pouvez par |
||||
exemple indiquer quelle version la prend en compte. Vous pouvez par |
||||
ailleurs publier les différentes versions de l'application (voir |
||||
Fichiers).</para> |
||||
</section> |
||||
|
||||
<section> |
||||
<title>Catégories des demandes</title> |
||||
|
||||
<para>Les catégories de demande vous permettent de typer les demandes. |
||||
Les catégories peuvent par exemple correspondre aux différents modules |
||||
du projet.</para> |
||||
</section> |
||||
</section> |
||||
</chapter> |
||||
</book> |
@ -0,0 +1,43 @@ |
||||
desc 'Load default configuration data (using default language)' |
||||
|
||||
task :load_default_data => :environment do |
||||
include GLoc |
||||
set_language_if_valid($RDM_DEFAULT_LANG) |
||||
|
||||
# roles |
||||
r = Role.create :name => l(:default_role_manager) |
||||
r.permissions = Permission.find(:all, :conditions => ["is_public=?", false]) |
||||
r = Role.create :name => l(:default_role_developper) |
||||
r.permissions = Permission.find(:all, :conditions => ["is_public=?", false]) |
||||
r = Role.create :name => l(:default_role_reporter) |
||||
r.permissions = Permission.find(:all, :conditions => ["is_public=?", false]) |
||||
# trackers |
||||
Tracker.create(:name => l(:default_tracker_bug), :is_in_chlog => true) |
||||
Tracker.create(:name => l(:default_tracker_feature), :is_in_chlog => true) |
||||
Tracker.create(:name => l(:default_tracker_support), :is_in_chlog => false) |
||||
# issue statuses |
||||
IssueStatus.create(:name => l(:default_issue_status_new), :is_closed => false, :is_default => true, :html_color => 'F98787') |
||||
IssueStatus.create(:name => l(:default_issue_status_assigned), :is_closed => false, :is_default => false, :html_color => 'C0C0FF') |
||||
IssueStatus.create(:name => l(:default_issue_status_resolved), :is_closed => false, :is_default => false, :html_color => '88E0B3') |
||||
IssueStatus.create(:name => l(:default_issue_status_feedback), :is_closed => false, :is_default => false, :html_color => 'F3A4F4') |
||||
IssueStatus.create(:name => l(:default_issue_status_closed), :is_closed => true, :is_default => false, :html_color => 'DBDBDB') |
||||
IssueStatus.create(:name => l(:default_issue_status_rejected), :is_closed => true, :is_default => false, :html_color => 'F5C28B') |
||||
# workflow |
||||
Tracker.find(:all).each { |t| |
||||
Role.find(:all).each { |r| |
||||
IssueStatus.find(:all).each { |os| |
||||
IssueStatus.find(:all).each { |ns| |
||||
Workflow.create(:tracker_id => t.id, :role_id => r.id, :old_status_id => os.id, :new_status_id => ns.id) unless os == ns |
||||
} |
||||
} |
||||
} |
||||
} |
||||
# enumerations |
||||
Enumeration.create(:opt => "DCAT", :name => l(:default_doc_category_user)) |
||||
Enumeration.create(:opt => "DCAT", :name => l(:default_doc_category_tech)) |
||||
Enumeration.create(:opt => "IPRI", :name => l(:default_priority_low)) |
||||
Enumeration.create(:opt => "IPRI", :name => l(:default_priority_normal)) |
||||
Enumeration.create(:opt => "IPRI", :name => l(:default_priority_high)) |
||||
Enumeration.create(:opt => "IPRI", :name => l(:default_priority_urgent)) |
||||
Enumeration.create(:opt => "IPRI", :name => l(:default_priority_immediate)) |
||||
end |
Loading…
Reference in new issue