Merged trunk r1773.
git-svn-id: http://redmine.rubyforge.org/svn/branches/work@1774 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
<div id="login-form">
|
||||
<% form_tag({:action=> "login"}) do %>
|
||||
<%= back_url_hidden_field_tag %>
|
||||
<table>
|
||||
<tr>
|
||||
<td align="right"><label for="username"><%=l(:field_login)%>:</label></td>
|
||||
|
||||
@@ -5,8 +5,9 @@
|
||||
|
||||
<div class="box">
|
||||
<!--[form:user]-->
|
||||
<% if @user.auth_source_id.nil? %>
|
||||
<p><label for="user_login"><%=l(:field_login)%> <span class="required">*</span></label>
|
||||
<%= text_field 'user', 'login', :size => 25 %></p>
|
||||
<%= text_field 'user', 'login', :size => 25 %></p>
|
||||
|
||||
<p><label for="password"><%=l(:field_password)%> <span class="required">*</span></label>
|
||||
<%= password_field_tag 'password', nil, :size => 25 %><br />
|
||||
@@ -14,6 +15,7 @@
|
||||
|
||||
<p><label for="password_confirmation"><%=l(:field_password_confirmation)%> <span class="required">*</span></label>
|
||||
<%= password_field_tag 'password_confirmation', nil, :size => 25 %></p>
|
||||
<% end %>
|
||||
|
||||
<p><label for="user_firstname"><%=l(:field_firstname)%> <span class="required">*</span></label>
|
||||
<%= text_field 'user', 'firstname' %></p>
|
||||
@@ -27,8 +29,8 @@
|
||||
<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>
|
||||
<% @user.custom_field_values.each do |value| %>
|
||||
<p><%= custom_field_tag_with_label :user, value %></p>
|
||||
<% end %>
|
||||
<!--[eoform:user]-->
|
||||
</div>
|
||||
|
||||
@@ -1,7 +1,11 @@
|
||||
<div class="contextual">
|
||||
<%= link_to(l(:button_edit), {:controller => 'users', :action => 'edit', :id => @user}, :class => 'icon icon-edit') if User.current.admin? %>
|
||||
</div>
|
||||
|
||||
<h2><%=h @user.name %></h2>
|
||||
|
||||
<p>
|
||||
<%= mail_to @user.mail unless @user.pref.hide_mail %>
|
||||
<%= mail_to(h(@user.mail)) unless @user.pref.hide_mail %>
|
||||
<ul>
|
||||
<li><%=l(:label_registered_on)%>: <%= format_date(@user.created_on) %></li>
|
||||
<% for custom_value in @custom_values %>
|
||||
@@ -16,8 +20,8 @@
|
||||
<h3><%=l(:label_project_plural)%></h3>
|
||||
<ul>
|
||||
<% for membership in @memberships %>
|
||||
<li><%= link_to membership.project.name, :controller => 'projects', :action => 'show', :id => membership.project %>
|
||||
(<%= membership.role.name %>, <%= format_date(membership.created_on) %>)</li>
|
||||
<li><%= link_to(h(membership.project.name), :controller => 'projects', :action => 'show', :id => membership.project) %>
|
||||
(<%=h membership.role.name %>, <%= format_date(membership.created_on) %>)</li>
|
||||
<% end %>
|
||||
</ul>
|
||||
<% end %>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<div class="attachments">
|
||||
<% for attachment in attachments %>
|
||||
<p><%= link_to attachment.filename, {:controller => 'attachments', :action => 'download', :id => attachment }, :class => 'icon icon-attachment' -%>
|
||||
<p><%= link_to_attachment attachment, :class => 'icon icon-attachment' -%>
|
||||
<%= h(" - #{attachment.description}") unless attachment.description.blank? %>
|
||||
<span class="size">(<%= number_to_human_size attachment.filesize %>)</span>
|
||||
<% if options[:delete_url] %>
|
||||
|
||||
@@ -0,0 +1,15 @@
|
||||
<h2><%=h @attachment.filename %></h2>
|
||||
|
||||
<div class="attachments">
|
||||
<p><%= h("#{@attachment.description} - ") unless @attachment.description.blank? %>
|
||||
<span class="author"><%= @attachment.author %>, <%= format_time(@attachment.created_on) %></span></p>
|
||||
<p><%= link_to_attachment @attachment, :text => l(:button_download), :download => true -%>
|
||||
<span class="size">(<%= number_to_human_size @attachment.filesize %>)</span></p>
|
||||
|
||||
</div>
|
||||
|
||||
<%= render :partial => 'common/diff', :locals => {:diff => @diff, :diff_type => @diff_type} %>
|
||||
|
||||
<% content_for :header_tags do -%>
|
||||
<%= stylesheet_link_tag "scm" -%>
|
||||
<% end -%>
|
||||
@@ -0,0 +1,15 @@
|
||||
<h2><%=h @attachment.filename %></h2>
|
||||
|
||||
<div class="attachments">
|
||||
<p><%= h("#{@attachment.description} - ") unless @attachment.description.blank? %>
|
||||
<span class="author"><%= @attachment.author %>, <%= format_time(@attachment.created_on) %></span></p>
|
||||
<p><%= link_to_attachment @attachment, :text => l(:button_download), :download => true -%>
|
||||
<span class="size">(<%= number_to_human_size @attachment.filesize %>)</span></p>
|
||||
|
||||
</div>
|
||||
|
||||
<%= render :partial => 'common/file', :locals => {:content => @content, :filename => @attachment.filename} %>
|
||||
|
||||
<% content_for :header_tags do -%>
|
||||
<%= stylesheet_link_tag "scm" -%>
|
||||
<% end -%>
|
||||
@@ -22,14 +22,12 @@
|
||||
|
||||
<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>
|
||||
|
||||
<div class="box">
|
||||
<p><label for="auth_source_onthefly_register"><%=l(:field_onthefly)%></label>
|
||||
<%= check_box 'auth_source', 'onthefly_register' %></p>
|
||||
</div>
|
||||
|
||||
<p>
|
||||
<fieldset><legend><%=l(:label_attribute_plural)%></legend>
|
||||
<fieldset class="box"><legend><%=l(:label_attribute_plural)%></legend>
|
||||
<p><label for="auth_source_attr_login"><%=l(:field_login)%> <span class="required">*</span></label>
|
||||
<%= text_field 'auth_source', 'attr_login', :size => 20 %></p>
|
||||
|
||||
@@ -42,7 +40,5 @@
|
||||
<p><label for="auth_source_attr_mail"><%=l(:field_mail)%></label>
|
||||
<%= text_field 'auth_source', 'attr_mail', :size => 20 %></p>
|
||||
</fieldset>
|
||||
</p>
|
||||
</div>
|
||||
<!--[eoform:auth_source]-->
|
||||
|
||||
|
||||
@@ -38,3 +38,5 @@
|
||||
<% content_for :header_tags do %>
|
||||
<%= auto_discovery_link_tag(:atom, {:controller => 'projects', :action => 'activity', :id => @project, :format => 'atom', :show_messages => 1, :key => User.current.rss_key}) %>
|
||||
<% end %>
|
||||
|
||||
<% html_title l(:label_board_plural) %>
|
||||
|
||||
@@ -33,7 +33,7 @@
|
||||
<th><%= l(:field_subject) %></th>
|
||||
<th><%= l(:field_author) %></th>
|
||||
<%= sort_header_tag("#{Message.table_name}.created_on", :caption => l(:field_created_on)) %>
|
||||
<th><%= l(:label_reply_plural) %></th>
|
||||
<%= sort_header_tag("#{Message.table_name}.replies_count", :caption => l(:label_reply_plural)) %>
|
||||
<%= sort_header_tag("#{Message.table_name}.updated_on", :caption => l(:label_message_last)) %>
|
||||
</tr></thead>
|
||||
<tbody>
|
||||
@@ -57,3 +57,5 @@
|
||||
<% else %>
|
||||
<p class="nodata"><%= l(:label_no_data) %></p>
|
||||
<% end %>
|
||||
|
||||
<% html_title h(@board.name) %>
|
||||
|
||||
@@ -0,0 +1,64 @@
|
||||
<% Redmine::UnifiedDiff.new(diff, diff_type).each do |table_file| -%>
|
||||
<div class="autoscroll">
|
||||
<% if diff_type == 'sbs' -%>
|
||||
<table class="filecontent CodeRay">
|
||||
<thead>
|
||||
<tr><th colspan="4" class="filename"><%= table_file.file_name %></th></tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<% prev_line_left, prev_line_right = nil, nil -%>
|
||||
<% table_file.keys.sort.each do |key| -%>
|
||||
<% if prev_line_left && prev_line_right && (table_file[key].nb_line_left != prev_line_left+1) && (table_file[key].nb_line_right != prev_line_right+1) -%>
|
||||
<tr class="spacing">
|
||||
<th class="line-num">...</th><td></td><th class="line-num">...</th><td></td>
|
||||
<% end -%>
|
||||
<tr>
|
||||
<th class="line-num"><%= table_file[key].nb_line_left %></th>
|
||||
<td class="line-code <%= table_file[key].type_diff_left %>">
|
||||
<pre><%=to_utf8 table_file[key].line_left %></pre>
|
||||
</td>
|
||||
<th class="line-num"><%= table_file[key].nb_line_right %></th>
|
||||
<td class="line-code <%= table_file[key].type_diff_right %>">
|
||||
<pre><%=to_utf8 table_file[key].line_right %></pre>
|
||||
</td>
|
||||
</tr>
|
||||
<% prev_line_left, prev_line_right = table_file[key].nb_line_left.to_i, table_file[key].nb_line_right.to_i -%>
|
||||
<% end -%>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<% else -%>
|
||||
<table class="filecontent CodeRay">
|
||||
<thead>
|
||||
<tr><th colspan="3" class="filename"><%= table_file.file_name %></th></tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<% prev_line_left, prev_line_right = nil, nil -%>
|
||||
<% table_file.keys.sort.each do |key, line| %>
|
||||
<% if prev_line_left && prev_line_right && (table_file[key].nb_line_left != prev_line_left+1) && (table_file[key].nb_line_right != prev_line_right+1) -%>
|
||||
<tr class="spacing">
|
||||
<th class="line-num">...</th><th class="line-num">...</th><td></td>
|
||||
</tr>
|
||||
<% end -%>
|
||||
<tr>
|
||||
<th class="line-num"><%= table_file[key].nb_line_left %></th>
|
||||
<th class="line-num"><%= table_file[key].nb_line_right %></th>
|
||||
<% if table_file[key].line_left.empty? -%>
|
||||
<td class="line-code <%= table_file[key].type_diff_right %>">
|
||||
<pre><%=to_utf8 table_file[key].line_right %></pre>
|
||||
</td>
|
||||
<% else -%>
|
||||
<td class="line-code <%= table_file[key].type_diff_left %>">
|
||||
<pre><%=to_utf8 table_file[key].line_left %></pre>
|
||||
</td>
|
||||
<% end -%>
|
||||
</tr>
|
||||
<% prev_line_left = table_file[key].nb_line_left.to_i if table_file[key].nb_line_left.to_i > 0 -%>
|
||||
<% prev_line_right = table_file[key].nb_line_right.to_i if table_file[key].nb_line_right.to_i > 0 -%>
|
||||
<% end -%>
|
||||
</tbody>
|
||||
</table>
|
||||
<% end -%>
|
||||
|
||||
</div>
|
||||
<% end -%>
|
||||
@@ -0,0 +1,11 @@
|
||||
<div class="autoscroll">
|
||||
<table class="filecontent CodeRay">
|
||||
<tbody>
|
||||
<% line_num = 1 %>
|
||||
<% syntax_highlight(filename, to_utf8(content)).each_line do |line| %>
|
||||
<tr><th class="line-num" id="L<%= line_num %>"><%= line_num %></th><td class="line-code"><pre><%= line %></pre></td></tr>
|
||||
<% line_num += 1 %>
|
||||
<% end %>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
@@ -1,3 +1,3 @@
|
||||
<fieldset class="preview"><legend><%= l(:label_preview) %></legend>
|
||||
<%= textilizable @text, :attachments => @attachements %>
|
||||
<%= textilizable @text, :attachments => @attachements, :object => @previewed %>
|
||||
</fieldset>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
xml.instruct!
|
||||
xml.feed "xmlns" => "http://www.w3.org/2005/Atom" do
|
||||
xml.title @title
|
||||
xml.title truncate_single_line(@title, 100)
|
||||
xml.link "rel" => "self", "href" => url_for(params.merge({:format => nil, :only_path => false}))
|
||||
xml.link "rel" => "alternate", "href" => url_for(:controller => 'welcome', :only_path => false)
|
||||
xml.id url_for(:controller => 'welcome', :only_path => false)
|
||||
@@ -10,11 +10,15 @@ xml.feed "xmlns" => "http://www.w3.org/2005/Atom" do
|
||||
@items.each do |item|
|
||||
xml.entry do
|
||||
url = url_for(item.event_url(:only_path => false))
|
||||
xml.title truncate(item.event_title, 100)
|
||||
if @project
|
||||
xml.title truncate_single_line(item.event_title, 100)
|
||||
else
|
||||
xml.title truncate_single_line("#{item.project} - #{item.event_title}", 100)
|
||||
end
|
||||
xml.link "rel" => "alternate", "href" => url
|
||||
xml.id url
|
||||
xml.updated item.event_datetime.xmlschema
|
||||
author = item.event_author if item.respond_to?(:author)
|
||||
author = item.event_author if item.respond_to?(:event_author)
|
||||
xml.author do
|
||||
xml.name(author)
|
||||
xml.email(author.mail) if author.respond_to?(:mail) && !author.mail.blank?
|
||||
|
||||
@@ -102,6 +102,9 @@ when "IssueCustomField" %>
|
||||
<% else %>
|
||||
<p><%= f.check_box :is_required %></p>
|
||||
|
||||
<% when "TimeEntryCustomField" %>
|
||||
<p><%= f.check_box :is_required %></p>
|
||||
|
||||
<% end %>
|
||||
</div>
|
||||
<%= javascript_tag "toggle_custom_field_format();" %>
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
<h2><%= l(@enumeration.option_name) %>: <%=h @enumeration %></h2>
|
||||
|
||||
<% form_tag({}) do %>
|
||||
<div class="box">
|
||||
<p><strong><%= l(:text_enumeration_destroy_question, @enumeration.objects_count) %></strong></p>
|
||||
<p><%= l(:text_enumeration_category_reassign_to) %>
|
||||
<%= select_tag 'reassign_to_id', ("<option>--- #{l(:actionview_instancetag_blank_option)} ---</option>" + options_from_collection_for_select(@enumerations, 'id', 'name')) %></p>
|
||||
</div>
|
||||
|
||||
<%= submit_tag l(:button_apply) %>
|
||||
<%= link_to l(:button_cancel), :controller => 'enumerations', :action => 'index' %>
|
||||
<% end %>
|
||||
@@ -1,14 +1,14 @@
|
||||
<h2><%=l(:label_enumerations)%></h2>
|
||||
|
||||
<% Enumeration::OPTIONS.each do |option, name| %>
|
||||
<h3><%= l(name) %></h3>
|
||||
<% Enumeration::OPTIONS.each do |option, params| %>
|
||||
<h3><%= l(params[:label]) %></h3>
|
||||
|
||||
<% enumerations = Enumeration.get_values(option) %>
|
||||
<% if enumerations.any? %>
|
||||
<table class="list">
|
||||
<% enumerations.each do |enumeration| %>
|
||||
<tr class="<%= cycle('odd', 'even') %>">
|
||||
<td><%= link_to enumeration.name, :action => 'edit', :id => enumeration %></td>
|
||||
<td><%= link_to h(enumeration), :action => 'edit', :id => enumeration %></td>
|
||||
<td style="width:15%;"><%= image_tag('true.png') if enumeration.is_default? %></td>
|
||||
<td style="width:15%;">
|
||||
<%= link_to image_tag('2uparrow.png', :alt => l(:label_sort_highest)), {:action => 'move', :id => enumeration, :position => 'highest'}, :method => :post, :title => l(:label_sort_highest) %>
|
||||
@@ -16,6 +16,9 @@
|
||||
<%= link_to image_tag('1downarrow.png', :alt => l(:label_sort_lower)), {:action => 'move', :id => enumeration, :position => 'lower'}, :method => :post, :title => l(:label_sort_lower) %>
|
||||
<%= link_to image_tag('2downarrow.png', :alt => l(:label_sort_lowest)), {:action => 'move', :id => enumeration, :position => 'lowest'}, :method => :post, :title => l(:label_sort_lowest) %>
|
||||
</td>
|
||||
<td align="center" style="width:10%;">
|
||||
<%= link_to l(:button_delete), { :action => 'destroy', :id => enumeration }, :method => :post, :confirm => l(:text_are_you_sure), :class => "icon icon-del" %>
|
||||
</td>
|
||||
</tr>
|
||||
<% end %>
|
||||
</table>
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
:class => nil,
|
||||
:multipart => true} do |f| %>
|
||||
<%= error_messages_for 'issue' %>
|
||||
<%= error_messages_for 'time_entry' %>
|
||||
<div class="box">
|
||||
<% if @edit_allowed || !@allowed_statuses.empty? %>
|
||||
<fieldset class="tabular"><legend><%= l(:label_change_properties) %>
|
||||
@@ -21,9 +22,12 @@
|
||||
<p><%= time_entry.text_field :hours, :size => 6, :label => :label_spent_time %> <%= l(:field_hours) %></p>
|
||||
</div>
|
||||
<div class="splitcontentright">
|
||||
<p><%= time_entry.text_field :comments, :size => 40 %></p>
|
||||
<p><%= time_entry.select :activity_id, (@activities.collect {|p| [p.name, p.id]}) %></p>
|
||||
<p><%= time_entry.select :activity_id, activity_collection_for_select_options %></p>
|
||||
</div>
|
||||
<p><%= time_entry.text_field :comments, :size => 60 %></p>
|
||||
<% @time_entry.custom_field_values.each do |value| %>
|
||||
<p><%= custom_field_tag_with_label :time_entry, value %></p>
|
||||
<% end %>
|
||||
<% end %>
|
||||
</fieldset>
|
||||
<% end %>
|
||||
|
||||
@@ -42,7 +42,7 @@
|
||||
</div>
|
||||
|
||||
<div style="clear:both;"> </div>
|
||||
<%= render :partial => 'form_custom_fields', :locals => {:values => @custom_values} %>
|
||||
<%= render :partial => 'form_custom_fields' %>
|
||||
|
||||
<% if @issue.new_record? %>
|
||||
<p><label><%=l(:label_attachment_plural)%></label><%= render :partial => 'attachments/form' %></p>
|
||||
|
||||
@@ -1,11 +1,12 @@
|
||||
<div class="splitcontentleft">
|
||||
<% i = 1 %>
|
||||
<% for @custom_value in values %>
|
||||
<p><%= custom_field_tag_with_label @custom_value %></p>
|
||||
<% if i == values.size / 2 %>
|
||||
<% i = 0 %>
|
||||
<% split_on = @issue.custom_field_values.size / 2 %>
|
||||
<% @issue.custom_field_values.each do |value| %>
|
||||
<p><%= custom_field_tag_with_label :issue, value %></p>
|
||||
<% if i == split_on -%>
|
||||
</div><div class="splitcontentright">
|
||||
<% end %>
|
||||
<% i += 1 %>
|
||||
<% end %>
|
||||
<% end -%>
|
||||
<% i += 1 -%>
|
||||
<% end -%>
|
||||
</div>
|
||||
<div style="clear:both;"> </div>
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
<% reply_links = authorize_for('issues', 'edit') -%>
|
||||
<% for journal in journals %>
|
||||
<div id="change-<%= journal.id %>" class="journal">
|
||||
<h4><div style="float:right;"><%= link_to "##{journal.indice}", :anchor => "note-#{journal.indice}" %></div>
|
||||
@@ -8,6 +9,6 @@
|
||||
<li><%= show_detail(detail) %></li>
|
||||
<% end %>
|
||||
</ul>
|
||||
<%= render_notes(journal) unless journal.notes.blank? %>
|
||||
<%= render_notes(journal, :reply_links => reply_links) unless journal.notes.blank? %>
|
||||
</div>
|
||||
<% end %>
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<% form_tag({}) do -%>
|
||||
<table class="list issues">
|
||||
<thead><tr>
|
||||
<th><%= link_to image_tag('toggle_check.png'), {}, :onclick => 'toggleIssuesSelection(this.up("form")); return false;',
|
||||
<th><%= link_to image_tag('toggle_check.png'), {}, :onclick => 'toggleIssuesSelection(Element.up(this, "form")); return false;',
|
||||
:title => "#{l(:button_check_all)}/#{l(:button_uncheck_all)}" %>
|
||||
</th>
|
||||
<%= sort_header_tag("#{Issue.table_name}.id", :caption => '#', :default_order => 'desc') %>
|
||||
|
||||
@@ -1,118 +0,0 @@
|
||||
<% pdf.SetFontStyle('B',11)
|
||||
pdf.Cell(190,10, "#{issue.project.name} - #{issue.tracker.name} # #{issue.id}: #{issue.subject}")
|
||||
pdf.Ln
|
||||
|
||||
y0 = pdf.GetY
|
||||
|
||||
pdf.SetFontStyle('B',9)
|
||||
pdf.Cell(35,5, l(:field_status) + ":","LT")
|
||||
pdf.SetFontStyle('',9)
|
||||
pdf.Cell(60,5, issue.status.name,"RT")
|
||||
pdf.SetFontStyle('B',9)
|
||||
pdf.Cell(35,5, l(:field_priority) + ":","LT")
|
||||
pdf.SetFontStyle('',9)
|
||||
pdf.Cell(60,5, issue.priority.name,"RT")
|
||||
pdf.Ln
|
||||
|
||||
pdf.SetFontStyle('B',9)
|
||||
pdf.Cell(35,5, l(:field_author) + ":","L")
|
||||
pdf.SetFontStyle('',9)
|
||||
pdf.Cell(60,5, issue.author.name,"R")
|
||||
pdf.SetFontStyle('B',9)
|
||||
pdf.Cell(35,5, l(:field_category) + ":","L")
|
||||
pdf.SetFontStyle('',9)
|
||||
pdf.Cell(60,5, (issue.category ? issue.category.name : "-"),"R")
|
||||
pdf.Ln
|
||||
|
||||
pdf.SetFontStyle('B',9)
|
||||
pdf.Cell(35,5, l(:field_created_on) + ":","L")
|
||||
pdf.SetFontStyle('',9)
|
||||
pdf.Cell(60,5, format_date(issue.created_on),"R")
|
||||
pdf.SetFontStyle('B',9)
|
||||
pdf.Cell(35,5, l(:field_assigned_to) + ":","L")
|
||||
pdf.SetFontStyle('',9)
|
||||
pdf.Cell(60,5, (issue.assigned_to ? issue.assigned_to.name : "-"),"R")
|
||||
pdf.Ln
|
||||
|
||||
pdf.SetFontStyle('B',9)
|
||||
pdf.Cell(35,5, l(:field_updated_on) + ":","LB")
|
||||
pdf.SetFontStyle('',9)
|
||||
pdf.Cell(60,5, format_date(issue.updated_on),"RB")
|
||||
pdf.SetFontStyle('B',9)
|
||||
pdf.Cell(35,5, l(:field_due_date) + ":","LB")
|
||||
pdf.SetFontStyle('',9)
|
||||
pdf.Cell(60,5, format_date(issue.due_date),"RB")
|
||||
pdf.Ln
|
||||
|
||||
for custom_value in issue.custom_values
|
||||
pdf.SetFontStyle('B',9)
|
||||
pdf.Cell(35,5, custom_value.custom_field.name + ":","L")
|
||||
pdf.SetFontStyle('',9)
|
||||
pdf.MultiCell(155,5, (show_value custom_value),"R")
|
||||
end
|
||||
|
||||
pdf.SetFontStyle('B',9)
|
||||
pdf.Cell(35,5, l(:field_subject) + ":","LTB")
|
||||
pdf.SetFontStyle('',9)
|
||||
pdf.Cell(155,5, issue.subject,"RTB")
|
||||
pdf.Ln
|
||||
|
||||
pdf.SetFontStyle('B',9)
|
||||
pdf.Cell(35,5, l(:field_description) + ":")
|
||||
pdf.SetFontStyle('',9)
|
||||
pdf.MultiCell(155,5, issue.description,"BR")
|
||||
|
||||
pdf.Line(pdf.GetX, y0, pdf.GetX, pdf.GetY)
|
||||
pdf.Line(pdf.GetX, pdf.GetY, 170, pdf.GetY)
|
||||
|
||||
pdf.Ln
|
||||
|
||||
if @issue.changesets.any? && User.current.allowed_to?(:view_changesets, issue.project)
|
||||
pdf.SetFontStyle('B',9)
|
||||
pdf.Cell(190,5, l(:label_associated_revisions), "B")
|
||||
pdf.Ln
|
||||
for changeset in @issue.changesets
|
||||
pdf.SetFontStyle('B',8)
|
||||
pdf.Cell(190,5, format_time(changeset.committed_on) + " - " + changeset.committer)
|
||||
pdf.Ln
|
||||
unless changeset.comments.blank?
|
||||
pdf.SetFontStyle('',8)
|
||||
pdf.MultiCell(190,5, changeset.comments)
|
||||
end
|
||||
pdf.Ln
|
||||
end
|
||||
end
|
||||
|
||||
pdf.SetFontStyle('B',9)
|
||||
pdf.Cell(190,5, l(:label_history), "B")
|
||||
pdf.Ln
|
||||
for journal in issue.journals.find(:all, :include => [:user, :details], :order => "#{Journal.table_name}.created_on ASC")
|
||||
pdf.SetFontStyle('B',8)
|
||||
pdf.Cell(190,5, format_time(journal.created_on) + " - " + journal.user.name)
|
||||
pdf.Ln
|
||||
pdf.SetFontStyle('I',8)
|
||||
for detail in journal.details
|
||||
pdf.Cell(190,5, "- " + show_detail(detail, true))
|
||||
pdf.Ln
|
||||
end
|
||||
if journal.notes?
|
||||
pdf.SetFontStyle('',8)
|
||||
pdf.MultiCell(190,5, journal.notes)
|
||||
end
|
||||
pdf.Ln
|
||||
end
|
||||
|
||||
if issue.attachments.any?
|
||||
pdf.SetFontStyle('B',9)
|
||||
pdf.Cell(190,5, l(:label_attachment_plural), "B")
|
||||
pdf.Ln
|
||||
for attachment in issue.attachments
|
||||
pdf.SetFontStyle('',8)
|
||||
pdf.Cell(80,5, attachment.filename)
|
||||
pdf.Cell(20,5, number_to_human_size(attachment.filesize),0,0,"R")
|
||||
pdf.Cell(25,5, format_date(attachment.created_on),0,0,"R")
|
||||
pdf.Cell(65,5, attachment.author.name,0,0,"R")
|
||||
pdf.Ln
|
||||
end
|
||||
end
|
||||
%>
|
||||
@@ -6,47 +6,83 @@
|
||||
<a href="#" class="submenu" onclick="return false;"><%= l(:field_status) %></a>
|
||||
<ul>
|
||||
<% @statuses.each do |s| -%>
|
||||
<li><%= context_menu_link s.name, {:controller => 'issues', :action => 'edit', :id => @issue, :issue => {:status_id => s}},
|
||||
<li><%= context_menu_link s.name, {:controller => 'issues', :action => 'edit', :id => @issue, :issue => {:status_id => s}, :back_to => @back}, :method => :post,
|
||||
:selected => (s == @issue.status), :disabled => !(@can[:update] && @allowed_statuses.include?(s)) %></li>
|
||||
<% end -%>
|
||||
</ul>
|
||||
</li>
|
||||
<% else %>
|
||||
<li><%= context_menu_link l(:button_edit), {:controller => 'issues', :action => 'bulk_edit', :ids => @issues.collect(&:id)},
|
||||
:class => 'icon-edit', :disabled => !@can[:edit] %></li>
|
||||
<% end %>
|
||||
|
||||
<li class="folder">
|
||||
<a href="#" class="submenu"><%= l(:field_priority) %></a>
|
||||
<ul>
|
||||
<% @priorities.each do |p| -%>
|
||||
<li><%= context_menu_link p.name, {:controller => 'issues', :action => 'edit', :id => @issue, 'issue[priority_id]' => p, :back_to => @back}, :method => :post,
|
||||
:selected => (p == @issue.priority), :disabled => !@can[:edit] %></li>
|
||||
<li><%= context_menu_link p.name, {:controller => 'issues', :action => 'bulk_edit', :ids => @issues.collect(&:id), 'priority_id' => p, :back_to => @back}, :method => :post,
|
||||
:selected => (@issue && p == @issue.priority), :disabled => !@can[:edit] %></li>
|
||||
<% end -%>
|
||||
</ul>
|
||||
</li>
|
||||
<% unless @project.nil? || @project.versions.empty? -%>
|
||||
<li class="folder">
|
||||
<a href="#" class="submenu"><%= l(:field_fixed_version) %></a>
|
||||
<ul>
|
||||
<% @project.versions.sort.each do |v| -%>
|
||||
<li><%= context_menu_link v.name, {:controller => 'issues', :action => 'bulk_edit', :ids => @issues.collect(&:id), 'fixed_version_id' => v, :back_to => @back}, :method => :post,
|
||||
:selected => (@issue && v == @issue.fixed_version), :disabled => !@can[:update] %></li>
|
||||
<% end -%>
|
||||
<li><%= context_menu_link l(:label_none), {:controller => 'issues', :action => 'bulk_edit', :ids => @issues.collect(&:id), 'fixed_version_id' => 'none', :back_to => @back}, :method => :post,
|
||||
:selected => (@issue && @issue.fixed_version.nil?), :disabled => !@can[:update] %></li>
|
||||
</ul>
|
||||
</li>
|
||||
<% end %>
|
||||
<% unless @assignables.nil? || @assignables.empty? -%>
|
||||
<li class="folder">
|
||||
<a href="#" class="submenu"><%= l(:field_assigned_to) %></a>
|
||||
<ul>
|
||||
<% @assignables.each do |u| -%>
|
||||
<li><%= context_menu_link u.name, {:controller => 'issues', :action => 'edit', :id => @issue, 'issue[assigned_to_id]' => u, :back_to => @back}, :method => :post,
|
||||
:selected => (u == @issue.assigned_to), :disabled => !@can[:update] %></li>
|
||||
<li><%= context_menu_link u.name, {:controller => 'issues', :action => 'bulk_edit', :ids => @issues.collect(&:id), 'assigned_to_id' => u, :back_to => @back}, :method => :post,
|
||||
:selected => (@issue && u == @issue.assigned_to), :disabled => !@can[:update] %></li>
|
||||
<% end -%>
|
||||
<li><%= context_menu_link l(:label_nobody), {:controller => 'issues', :action => 'edit', :id => @issue, 'issue[assigned_to_id]' => '', :back_to => @back}, :method => :post,
|
||||
:selected => @issue.assigned_to.nil?, :disabled => !@can[:update] %></li>
|
||||
<li><%= context_menu_link l(:label_nobody), {:controller => 'issues', :action => 'bulk_edit', :ids => @issues.collect(&:id), 'assigned_to_id' => 'none', :back_to => @back}, :method => :post,
|
||||
:selected => (@issue && @issue.assigned_to.nil?), :disabled => !@can[:update] %></li>
|
||||
</ul>
|
||||
</li>
|
||||
<% end %>
|
||||
<% unless @project.nil? || @project.issue_categories.empty? -%>
|
||||
<li class="folder">
|
||||
<a href="#" class="submenu"><%= l(:field_category) %></a>
|
||||
<ul>
|
||||
<% @project.issue_categories.each do |u| -%>
|
||||
<li><%= context_menu_link u.name, {:controller => 'issues', :action => 'bulk_edit', :ids => @issues.collect(&:id), 'category_id' => u, :back_to => @back}, :method => :post,
|
||||
:selected => (@issue && u == @issue.category), :disabled => !@can[:update] %></li>
|
||||
<% end -%>
|
||||
<li><%= context_menu_link l(:label_none), {:controller => 'issues', :action => 'bulk_edit', :ids => @issues.collect(&:id), 'category_id' => 'none', :back_to => @back}, :method => :post,
|
||||
:selected => (@issue && @issue.category.nil?), :disabled => !@can[:update] %></li>
|
||||
</ul>
|
||||
</li>
|
||||
<% end -%>
|
||||
<li class="folder">
|
||||
<a href="#" class="submenu"><%= l(:field_done_ratio) %></a>
|
||||
<ul>
|
||||
<% (0..10).map{|x|x*10}.each do |p| -%>
|
||||
<li><%= context_menu_link "#{p}%", {:controller => 'issues', :action => 'edit', :id => @issue, 'issue[done_ratio]' => p, :back_to => @back}, :method => :post,
|
||||
:selected => (p == @issue.done_ratio), :disabled => !@can[:edit] %></li>
|
||||
<li><%= context_menu_link "#{p}%", {:controller => 'issues', :action => 'bulk_edit', :ids => @issues.collect(&:id), 'done_ratio' => p, :back_to => @back}, :method => :post,
|
||||
:selected => (@issue && p == @issue.done_ratio), :disabled => !@can[:edit] %></li>
|
||||
<% end -%>
|
||||
</ul>
|
||||
</li>
|
||||
|
||||
<% if !@issue.nil? %>
|
||||
<li><%= context_menu_link l(:button_copy), {:controller => 'issues', :action => 'new', :project_id => @project, :copy_from => @issue},
|
||||
:class => 'icon-copy', :disabled => !@can[:copy] %></li>
|
||||
<% else -%>
|
||||
<li><%= context_menu_link l(:button_edit), {:controller => 'issues', :action => 'bulk_edit', :ids => @issues.collect(&:id)},
|
||||
:class => 'icon-edit', :disabled => !@can[:edit] %></li>
|
||||
<% end -%>
|
||||
|
||||
<% if @can[:log_time] -%>
|
||||
<li><%= context_menu_link l(:button_log_time), {:controller => 'timelog', :action => 'edit', :issue_id => @issue},
|
||||
:class => 'icon-time' %></li>
|
||||
<% end %>
|
||||
<% end %>
|
||||
|
||||
<li><%= context_menu_link l(:button_move), {:controller => 'issues', :action => 'move', :ids => @issues.collect(&:id)},
|
||||
:class => 'icon-move', :disabled => !@can[:move] %></li>
|
||||
<li><%= context_menu_link l(:button_delete), {:controller => 'issues', :action => 'destroy', :ids => @issues.collect(&:id)},
|
||||
|
||||
@@ -45,7 +45,7 @@
|
||||
|
||||
<p class="other-formats">
|
||||
<%= l(:label_export_to) %>
|
||||
<span><%= link_to 'Atom', {:format => 'atom', :key => User.current.rss_key}, :class => 'feed' %></span>
|
||||
<span><%= link_to 'Atom', {:query_id => @query, :format => 'atom', :key => User.current.rss_key}, :class => 'feed' %></span>
|
||||
<span><%= link_to 'CSV', {:format => 'csv'}, :class => 'csv' %></span>
|
||||
<span><%= link_to 'PDF', {:format => 'pdf'}, :class => 'pdf' %></span>
|
||||
</p>
|
||||
|
||||
@@ -4,7 +4,123 @@
|
||||
pdf.footer_date = format_date(Date.today)
|
||||
pdf.AddPage
|
||||
|
||||
render :partial => 'issues/pdf', :locals => { :pdf => pdf, :issue => @issue }
|
||||
pdf.SetFontStyle('B',11)
|
||||
pdf.Cell(190,10, "#{@issue.project} - #{@issue.tracker} # #{@issue.id}: #{@issue.subject}")
|
||||
pdf.Ln
|
||||
|
||||
y0 = pdf.GetY
|
||||
|
||||
pdf.SetFontStyle('B',9)
|
||||
pdf.Cell(35,5, l(:field_status) + ":","LT")
|
||||
pdf.SetFontStyle('',9)
|
||||
pdf.Cell(60,5, @issue.status.name,"RT")
|
||||
pdf.SetFontStyle('B',9)
|
||||
pdf.Cell(35,5, l(:field_priority) + ":","LT")
|
||||
pdf.SetFontStyle('',9)
|
||||
pdf.Cell(60,5, @issue.priority.name,"RT")
|
||||
pdf.Ln
|
||||
|
||||
pdf.SetFontStyle('B',9)
|
||||
pdf.Cell(35,5, l(:field_author) + ":","L")
|
||||
pdf.SetFontStyle('',9)
|
||||
pdf.Cell(60,5, @issue.author.name,"R")
|
||||
pdf.SetFontStyle('B',9)
|
||||
pdf.Cell(35,5, l(:field_category) + ":","L")
|
||||
pdf.SetFontStyle('',9)
|
||||
pdf.Cell(60,5, (@issue.category ? @issue.category.name : "-"),"R")
|
||||
pdf.Ln
|
||||
|
||||
pdf.SetFontStyle('B',9)
|
||||
pdf.Cell(35,5, l(:field_created_on) + ":","L")
|
||||
pdf.SetFontStyle('',9)
|
||||
pdf.Cell(60,5, format_date(@issue.created_on),"R")
|
||||
pdf.SetFontStyle('B',9)
|
||||
pdf.Cell(35,5, l(:field_assigned_to) + ":","L")
|
||||
pdf.SetFontStyle('',9)
|
||||
pdf.Cell(60,5, (@issue.assigned_to ? @issue.assigned_to.name : "-"),"R")
|
||||
pdf.Ln
|
||||
|
||||
pdf.SetFontStyle('B',9)
|
||||
pdf.Cell(35,5, l(:field_updated_on) + ":","LB")
|
||||
pdf.SetFontStyle('',9)
|
||||
pdf.Cell(60,5, format_date(@issue.updated_on),"RB")
|
||||
pdf.SetFontStyle('B',9)
|
||||
pdf.Cell(35,5, l(:field_due_date) + ":","LB")
|
||||
pdf.SetFontStyle('',9)
|
||||
pdf.Cell(60,5, format_date(@issue.due_date),"RB")
|
||||
pdf.Ln
|
||||
|
||||
for custom_value in @issue.custom_values
|
||||
pdf.SetFontStyle('B',9)
|
||||
pdf.Cell(35,5, custom_value.custom_field.name + ":","L")
|
||||
pdf.SetFontStyle('',9)
|
||||
pdf.MultiCell(155,5, (show_value custom_value),"R")
|
||||
end
|
||||
|
||||
pdf.SetFontStyle('B',9)
|
||||
pdf.Cell(35,5, l(:field_subject) + ":","LTB")
|
||||
pdf.SetFontStyle('',9)
|
||||
pdf.Cell(155,5, @issue.subject,"RTB")
|
||||
pdf.Ln
|
||||
|
||||
pdf.SetFontStyle('B',9)
|
||||
pdf.Cell(35,5, l(:field_description) + ":")
|
||||
pdf.SetFontStyle('',9)
|
||||
pdf.MultiCell(155,5, @issue.description,"BR")
|
||||
|
||||
pdf.Line(pdf.GetX, y0, pdf.GetX, pdf.GetY)
|
||||
pdf.Line(pdf.GetX, pdf.GetY, 170, pdf.GetY)
|
||||
|
||||
pdf.Ln
|
||||
|
||||
if @issue.changesets.any? && User.current.allowed_to?(:view_changesets, @issue.project)
|
||||
pdf.SetFontStyle('B',9)
|
||||
pdf.Cell(190,5, l(:label_associated_revisions), "B")
|
||||
pdf.Ln
|
||||
for changeset in @issue.changesets
|
||||
pdf.SetFontStyle('B',8)
|
||||
pdf.Cell(190,5, format_time(changeset.committed_on) + " - " + changeset.committer)
|
||||
pdf.Ln
|
||||
unless changeset.comments.blank?
|
||||
pdf.SetFontStyle('',8)
|
||||
pdf.MultiCell(190,5, changeset.comments)
|
||||
end
|
||||
pdf.Ln
|
||||
end
|
||||
end
|
||||
|
||||
pdf.SetFontStyle('B',9)
|
||||
pdf.Cell(190,5, l(:label_history), "B")
|
||||
pdf.Ln
|
||||
for journal in @issue.journals.find(:all, :include => [:user, :details], :order => "#{Journal.table_name}.created_on ASC")
|
||||
pdf.SetFontStyle('B',8)
|
||||
pdf.Cell(190,5, format_time(journal.created_on) + " - " + journal.user.name)
|
||||
pdf.Ln
|
||||
pdf.SetFontStyle('I',8)
|
||||
for detail in journal.details
|
||||
pdf.Cell(190,5, "- " + show_detail(detail, true))
|
||||
pdf.Ln
|
||||
end
|
||||
if journal.notes?
|
||||
pdf.SetFontStyle('',8)
|
||||
pdf.MultiCell(190,5, journal.notes)
|
||||
end
|
||||
pdf.Ln
|
||||
end
|
||||
|
||||
if @issue.attachments.any?
|
||||
pdf.SetFontStyle('B',9)
|
||||
pdf.Cell(190,5, l(:label_attachment_plural), "B")
|
||||
pdf.Ln
|
||||
for attachment in @issue.attachments
|
||||
pdf.SetFontStyle('',8)
|
||||
pdf.Cell(80,5, attachment.filename)
|
||||
pdf.Cell(20,5, number_to_human_size(attachment.filesize),0,0,"R")
|
||||
pdf.Cell(25,5, format_date(attachment.created_on),0,0,"R")
|
||||
pdf.Cell(65,5, attachment.author.name,0,0,"R")
|
||||
pdf.Ln
|
||||
end
|
||||
end
|
||||
%>
|
||||
|
||||
<%= pdf.Output %>
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<div class="contextual">
|
||||
<%= show_and_goto_link(l(:button_update), 'update', :class => 'icon icon-edit', :accesskey => accesskey(:edit)) if authorize_for('issues', 'edit') %>
|
||||
<%= link_to_if_authorized(l(:button_update), {:controller => 'issues', :action => 'edit', :id => @issue }, :onclick => 'showAndScrollTo("update", "notes"); return false;', :class => 'icon icon-edit', :accesskey => accesskey(:edit)) %>
|
||||
<%= link_to_if_authorized l(:button_log_time), {:controller => 'timelog', :action => 'edit', :issue_id => @issue}, :class => 'icon icon-time' %>
|
||||
<%= watcher_tag(@issue, User.current) %>
|
||||
<%= link_to_if_authorized l(:button_copy), {:controller => 'issues', :action => 'new', :project_id => @project, :copy_from => @issue }, :class => 'icon icon-copy' %>
|
||||
@@ -18,34 +18,34 @@
|
||||
|
||||
<table width="100%">
|
||||
<tr>
|
||||
<td style="width:15%"><b><%=l(:field_status)%> :</b></td><td style="width:35%"><%= @issue.status.name %></td>
|
||||
<td style="width:15%"><b><%=l(:field_start_date)%> :</b></td><td style="width:35%"><%= format_date(@issue.start_date) %></td>
|
||||
<td style="width:15%"><b><%=l(:field_status)%>:</b></td><td style="width:35%"><%= @issue.status.name %></td>
|
||||
<td style="width:15%"><b><%=l(:field_start_date)%>:</b></td><td style="width:35%"><%= format_date(@issue.start_date) %></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><b><%=l(:field_priority)%> :</b></td><td><%= @issue.priority.name %></td>
|
||||
<td><b><%=l(:field_due_date)%> :</b></td><td><%= format_date(@issue.due_date) %></td>
|
||||
<td><b><%=l(:field_priority)%>:</b></td><td><%= @issue.priority.name %></td>
|
||||
<td><b><%=l(:field_due_date)%>:</b></td><td><%= format_date(@issue.due_date) %></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><b><%=l(:field_assigned_to)%> :</b></td><td><%= @issue.assigned_to ? link_to_user(@issue.assigned_to) : "-" %></td>
|
||||
<td><b><%=l(:field_done_ratio)%> :</b></td><td><%= progress_bar @issue.done_ratio, :width => '80px', :legend => "#{@issue.done_ratio}%" %></td>
|
||||
<td><b><%=l(:field_assigned_to)%>:</b></td><td><%= @issue.assigned_to ? link_to_user(@issue.assigned_to) : "-" %></td>
|
||||
<td><b><%=l(:field_done_ratio)%>:</b></td><td><%= progress_bar @issue.done_ratio, :width => '80px', :legend => "#{@issue.done_ratio}%" %></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><b><%=l(:field_category)%> :</b></td><td><%=h @issue.category ? @issue.category.name : "-" %></td>
|
||||
<td><b><%=l(:field_category)%>:</b></td><td><%=h @issue.category ? @issue.category.name : "-" %></td>
|
||||
<% if User.current.allowed_to?(:view_time_entries, @project) %>
|
||||
<td><b><%=l(:label_spent_time)%> :</b></td>
|
||||
<td><b><%=l(:label_spent_time)%>:</b></td>
|
||||
<td><%= @issue.spent_hours > 0 ? (link_to lwr(:label_f_hour, @issue.spent_hours), {:controller => 'timelog', :action => 'details', :project_id => @project, :issue_id => @issue}, :class => 'icon icon-time') : "-" %></td>
|
||||
<% end %>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><b><%=l(:field_fixed_version)%> :</b></td><td><%= @issue.fixed_version ? link_to_version(@issue.fixed_version) : "-" %></td>
|
||||
<td><b><%=l(:field_fixed_version)%>:</b></td><td><%= @issue.fixed_version ? link_to_version(@issue.fixed_version) : "-" %></td>
|
||||
<% if @issue.estimated_hours %>
|
||||
<td><b><%=l(:field_estimated_hours)%> :</b></td><td><%= lwr(:label_f_hour, @issue.estimated_hours) %></td>
|
||||
<td><b><%=l(:field_estimated_hours)%>:</b></td><td><%= lwr(:label_f_hour, @issue.estimated_hours) %></td>
|
||||
<% end %>
|
||||
</tr>
|
||||
<tr>
|
||||
<% n = 0
|
||||
for custom_value in @custom_values %>
|
||||
<td valign="top"><b><%= custom_value.custom_field.name %> :</b></td><td valign="top"><%= simple_format(h(show_value(custom_value))) %></td>
|
||||
<% n = 0 -%>
|
||||
<% @issue.custom_values.each do |value| -%>
|
||||
<td valign="top"><b><%=h value.custom_field.name %>:</b></td><td valign="top"><%= simple_format(h(show_value(value))) %></td>
|
||||
<% n = n + 1
|
||||
if (n > 1)
|
||||
n = 0 %>
|
||||
@@ -56,6 +56,10 @@ end %>
|
||||
</table>
|
||||
<hr />
|
||||
|
||||
<div class="contextual">
|
||||
<%= link_to_remote_if_authorized l(:button_quote), { :url => {:action => 'reply', :id => @issue} }, :class => 'icon icon-comment' %>
|
||||
</div>
|
||||
|
||||
<p><strong><%=l(:field_description)%></strong></p>
|
||||
<div class="wiki">
|
||||
<%= textilizable @issue, :description, :attachments => @issue.attachments %>
|
||||
@@ -72,6 +76,14 @@ end %>
|
||||
</div>
|
||||
<% end %>
|
||||
|
||||
<% if User.current.allowed_to?(:add_issue_watchers, @project) ||
|
||||
(@issue.watchers.any? && User.current.allowed_to?(:view_issue_watchers, @project)) %>
|
||||
<hr />
|
||||
<div id="watchers">
|
||||
<%= render :partial => 'watchers/watchers', :locals => {:watched => @issue} %>
|
||||
</div>
|
||||
<% end %>
|
||||
|
||||
</div>
|
||||
|
||||
<% if @issue.changesets.any? && User.current.allowed_to?(:view_changesets, @project) %>
|
||||
@@ -110,4 +122,5 @@ end %>
|
||||
|
||||
<% content_for :header_tags do %>
|
||||
<%= auto_discovery_link_tag(:atom, {:format => 'atom', :key => User.current.rss_key}, :title => "#{@issue.project} - #{@issue.tracker} ##{@issue.id}: #{@issue.subject}") %>
|
||||
<%= stylesheet_link_tag 'scm' %>
|
||||
<% end %>
|
||||
|
||||
@@ -36,7 +36,7 @@
|
||||
<%= render :partial => 'layouts/project_selector' if User.current.memberships.any? %>
|
||||
</div>
|
||||
|
||||
<h1><%= h(@project ? @project.name : Setting.app_title) %></h1>
|
||||
<h1><%= h(@project && !@project.new_record? ? @project.name : Setting.app_title) %></h1>
|
||||
|
||||
<div id="main-menu">
|
||||
<%= render_main_menu(@project) %>
|
||||
|
||||
@@ -1,12 +1,32 @@
|
||||
<html>
|
||||
<head>
|
||||
<style>
|
||||
body { font-family: Verdana, sans-serif; font-size: 0.8em; color:#484848; }
|
||||
body h1 { font-family: "Trebuchet MS", Verdana, sans-serif; font-size: 1.2em; margin: 0;}
|
||||
a, a:link, a:visited{ color: #2A5685; }
|
||||
a:hover, a:active{ color: #c61a1a; }
|
||||
hr { width: 100%; height: 1px; background: #ccc; border: 0; }
|
||||
.footer { font-size: 0.8em; font-style: italic; }
|
||||
body {
|
||||
font-family: Verdana, sans-serif;
|
||||
font-size: 0.8em;
|
||||
color:#484848;
|
||||
}
|
||||
h1 {
|
||||
font-family: "Trebuchet MS", Verdana, sans-serif;
|
||||
font-size: 1.2em;
|
||||
margin: 0px;
|
||||
}
|
||||
a, a:link, a:visited {
|
||||
color: #2A5685;
|
||||
}
|
||||
a:hover, a:active {
|
||||
color: #c61a1a;
|
||||
}
|
||||
hr {
|
||||
width: 100%;
|
||||
height: 1px;
|
||||
background: #ccc;
|
||||
border: 0;
|
||||
}
|
||||
.footer {
|
||||
font-size: 0.8em;
|
||||
font-style: italic;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
@@ -1,2 +1,4 @@
|
||||
<p><%= l(:mail_body_lost_password) %><br />
|
||||
<%= auto_link(@url) %></p>
|
||||
|
||||
<p><%= l(:field_login) %>: <b><%= @token.user.login %></b></p>
|
||||
|
||||
@@ -1,2 +1,4 @@
|
||||
<%= l(:mail_body_lost_password) %>
|
||||
<%= @url %>
|
||||
|
||||
<%= l(:field_login) %>: <%= @token.user.login %>
|
||||
|
||||
@@ -0,0 +1,9 @@
|
||||
<p><%= l(:mail_body_reminder, @issues.size, @days) %></p>
|
||||
|
||||
<ul>
|
||||
<% @issues.each do |issue| -%>
|
||||
<li><%=h "#{issue.project} - #{issue.tracker} ##{issue.id}: #{issue.subject}" %></li>
|
||||
<% end -%>
|
||||
</ul>
|
||||
|
||||
<p><%= link_to l(:label_issue_view_all), @issues_url %></p>
|
||||
@@ -0,0 +1,7 @@
|
||||
<%= l(:mail_body_reminder, @issues.size, @days) %>:
|
||||
|
||||
<% @issues.each do |issue| -%>
|
||||
* <%= "#{issue.project} - #{issue.tracker} ##{issue.id}: #{issue.subject}" %>
|
||||
<% end -%>
|
||||
|
||||
<%= @issues_url %>
|
||||
@@ -2,6 +2,7 @@
|
||||
link_to(h(@board.name), {:controller => 'boards', :action => 'show', :project_id => @project, :id => @board}) %>
|
||||
|
||||
<div class="contextual">
|
||||
<%= link_to_remote_if_authorized l(:button_quote), { :url => {:action => 'quote', :id => @topic} }, :class => 'icon icon-comment' %>
|
||||
<%= link_to_if_authorized l(:button_edit), {:action => 'edit', :id => @topic}, :class => 'icon icon-edit' %>
|
||||
<%= link_to_if_authorized l(:button_delete), {:action => 'destroy', :id => @topic}, :method => :post, :confirm => l(:text_are_you_sure), :class => 'icon icon-del' %>
|
||||
</div>
|
||||
@@ -17,10 +18,12 @@
|
||||
</div>
|
||||
<br />
|
||||
|
||||
<% unless @replies.empty? %>
|
||||
<h3 class="icon22 icon22-comment"><%= l(:label_reply_plural) %></h3>
|
||||
<% @replies.each do |message| %>
|
||||
<a name="<%= "message-#{message.id}" %>"></a>
|
||||
<div class="contextual">
|
||||
<%= link_to_remote_if_authorized image_tag('comment.png'), { :url => {:action => 'quote', :id => message} }, :title => l(:button_quote) %>
|
||||
<%= link_to_if_authorized image_tag('edit.png'), {:action => 'edit', :id => message}, :title => l(:button_edit) %>
|
||||
<%= link_to_if_authorized image_tag('delete.png'), {:action => 'destroy', :id => message}, :method => :post, :confirm => l(:text_are_you_sure), :title => l(:button_delete) %>
|
||||
</div>
|
||||
@@ -30,6 +33,7 @@
|
||||
<%= link_to_attachments message.attachments, :no_author => true %>
|
||||
</div>
|
||||
<% end %>
|
||||
<% end %>
|
||||
|
||||
<% if !@topic.locked? && authorize_for('messages', 'reply') %>
|
||||
<p><%= toggle_link l(:button_reply), "reply", :focus => 'message_content' %></p>
|
||||
@@ -48,3 +52,9 @@
|
||||
<div id="preview" class="wiki"></div>
|
||||
</div>
|
||||
<% end %>
|
||||
|
||||
<% content_for :header_tags do %>
|
||||
<%= stylesheet_link_tag 'scm' %>
|
||||
<% end %>
|
||||
|
||||
<% html_title h(@topic.subject) %>
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
<h3><%=l(:label_document_plural)%></h3>
|
||||
|
||||
<% project_ids = @user.projects.select {|p| @user.allowed_to?(:view_documents, p)}.collect(&:id) %>
|
||||
<%= render(:partial => 'documents/document',
|
||||
:collection => Document.find(:all,
|
||||
:limit => 10,
|
||||
:order => "#{Document.table_name}.created_on DESC",
|
||||
:conditions => "#{Document.table_name}.project_id in (#{@user.projects.collect{|m| m.id}.join(',')})",
|
||||
:include => [:project])) unless @user.projects.empty? %>
|
||||
:conditions => "#{Document.table_name}.project_id in (#{project_ids.join(',')})",
|
||||
:include => [:project])) unless project_ids.empty? %>
|
||||
@@ -5,7 +5,7 @@
|
||||
<%= render :partial => 'form', :locals => { :f => f } %>
|
||||
<%= submit_tag l(:button_save) %>
|
||||
<%= link_to_remote l(:label_preview),
|
||||
{ :url => { :controller => 'news', :action => 'preview' },
|
||||
{ :url => { :controller => 'news', :action => 'preview', :project_id => @project },
|
||||
:method => 'post',
|
||||
:update => 'preview',
|
||||
:with => "Form.serialize('news-form')"
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
<%= render :partial => 'news/form', :locals => { :f => f } %>
|
||||
<%= submit_tag l(:button_create) %>
|
||||
<%= link_to_remote l(:label_preview),
|
||||
{ :url => { :controller => 'news', :action => 'preview' },
|
||||
{ :url => { :controller => 'news', :action => 'preview', :project_id => @project },
|
||||
:method => 'post',
|
||||
:update => 'preview',
|
||||
:with => "Form.serialize('news-form')"
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
<%= render :partial => 'news/form', :locals => { :f => f } %>
|
||||
<%= submit_tag l(:button_create) %>
|
||||
<%= link_to_remote l(:label_preview),
|
||||
{ :url => { :controller => 'news', :action => 'preview' },
|
||||
{ :url => { :controller => 'news', :action => 'preview', :project_id => @project },
|
||||
:method => 'post',
|
||||
:update => 'preview',
|
||||
:with => "Form.serialize('news-form')"
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
<%= render :partial => 'form', :locals => { :f => f } %>
|
||||
<%= submit_tag l(:button_save) %>
|
||||
<%= link_to_remote l(:label_preview),
|
||||
{ :url => { :controller => 'news', :action => 'preview' },
|
||||
{ :url => { :controller => 'news', :action => 'preview', :project_id => @project },
|
||||
:method => 'post',
|
||||
:update => 'preview',
|
||||
:with => "Form.serialize('news-form')"
|
||||
@@ -55,3 +55,7 @@
|
||||
<% end %>
|
||||
|
||||
<% html_title @news.title -%>
|
||||
|
||||
<% content_for :header_tags do %>
|
||||
<%= stylesheet_link_tag 'scm' %>
|
||||
<% end %>
|
||||
|
||||
@@ -13,12 +13,12 @@
|
||||
<% unless @project.identifier_frozen? %>
|
||||
<br /><em><%= l(:text_length_between, 3, 20) %> <%= l(:text_project_identifier_info) %></em>
|
||||
<% end %></p>
|
||||
<p><%= f.text_field :homepage, :size => 40 %></p>
|
||||
<p><%= f.text_field :homepage, :size => 60 %></p>
|
||||
<p><%= f.check_box :is_public %></p>
|
||||
<%= wikitoolbar_for 'project_description' %>
|
||||
|
||||
<% for @custom_value in @custom_values %>
|
||||
<p><%= custom_field_tag_with_label @custom_value %></p>
|
||||
<% @project.custom_field_values.each do |value| %>
|
||||
<p><%= custom_field_tag_with_label :project, value %></p>
|
||||
<% end %>
|
||||
</div>
|
||||
|
||||
@@ -34,15 +34,15 @@
|
||||
</fieldset>
|
||||
<% end %>
|
||||
|
||||
<% unless @custom_fields.empty? %>
|
||||
<% unless @issue_custom_fields.empty? %>
|
||||
<fieldset class="box"><legend><%=l(:label_custom_field_plural)%></legend>
|
||||
<% for custom_field in @custom_fields %>
|
||||
<% @issue_custom_fields.each do |custom_field| %>
|
||||
<label class="floating">
|
||||
<%= check_box_tag 'project[custom_field_ids][]', custom_field.id, ((@project.custom_fields.include? custom_field) or custom_field.is_for_all?), (custom_field.is_for_all? ? {:disabled => "disabled"} : {}) %>
|
||||
<%= check_box_tag 'project[issue_custom_field_ids][]', custom_field.id, (@project.all_issue_custom_fields.include? custom_field), (custom_field.is_for_all? ? {:disabled => "disabled"} : {}) %>
|
||||
<%= custom_field.name %>
|
||||
</label>
|
||||
<% end %>
|
||||
<%= hidden_field_tag 'project[custom_field_ids][]', '' %>
|
||||
<%= hidden_field_tag 'project[issue_custom_field_ids][]', '' %>
|
||||
</fieldset>
|
||||
<% end %>
|
||||
<!--[eoform:project]-->
|
||||
|
||||
@@ -6,11 +6,11 @@
|
||||
<h3><%= format_activity_day(day) %></h3>
|
||||
<dl>
|
||||
<% @events_by_day[day].sort {|x,y| y.event_datetime <=> x.event_datetime }.each do |e| -%>
|
||||
<dt class="<%= e.event_type %>"><span class="time"><%= format_time(e.event_datetime, false) %></span>
|
||||
<%= content_tag('span', h(e.project), :class => 'project') if @project.nil? || @project != e.project %> <%= link_to h(truncate(e.event_title, 100)), e.event_url %></dt>
|
||||
<dd><% unless e.event_description.blank? -%>
|
||||
<span class="description"><%= format_activity_description(e.event_description) %></span><br />
|
||||
<% end %>
|
||||
<dt class="<%= e.event_type %> <%= User.current.logged? && e.respond_to?(:event_author) && User.current == e.event_author ? 'me' : nil %>">
|
||||
<span class="time"><%= format_time(e.event_datetime, false) %></span>
|
||||
<%= content_tag('span', h(e.project), :class => 'project') if @project.nil? || @project != e.project %>
|
||||
<%= link_to format_activity_title(e.event_title), e.event_url %></dt>
|
||||
<dd><span class="description"><%= format_activity_description(e.event_description) %></span>
|
||||
<span class="author"><%= e.event_author if e.respond_to?(:event_author) %></span></dd>
|
||||
<% end -%>
|
||||
</dl>
|
||||
@@ -44,8 +44,8 @@
|
||||
<% content_for :sidebar do %>
|
||||
<% form_tag({}, :method => :get) do %>
|
||||
<h3><%= l(:label_activity) %></h3>
|
||||
<p><% @event_types.each do |t| %>
|
||||
<label><%= check_box_tag "show_#{t}", 1, @scope.include?(t) %> <%= l("label_#{t.singularize}_plural")%></label><br />
|
||||
<p><% @activity.event_types.each do |t| %>
|
||||
<label><%= check_box_tag "show_#{t}", 1, @activity.scope.include?(t) %> <%= l("label_#{t.singularize}_plural")%></label><br />
|
||||
<% end %></p>
|
||||
<% if @project && @project.active_children.any? %>
|
||||
<p><label><%= check_box_tag 'with_subprojects', 1, @with_subprojects %> <%=l(:label_subproject_plural)%></label></p>
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
<% content_for :sidebar do %>
|
||||
<h3><%= l(:label_calendar) %></h3>
|
||||
|
||||
<% form_tag() do %>
|
||||
<% form_tag({}, :method => :get) do %>
|
||||
<p><%= select_month(@month, :prefix => "month", :discard_type => true) %>
|
||||
<%= select_year(@year, :prefix => "year", :discard_type => true) %></p>
|
||||
|
||||
|
||||
@@ -124,9 +124,9 @@ pdf.SetFontStyle('B',7)
|
||||
|
||||
if i.is_a? Issue
|
||||
i_start_date = (i.start_date >= @date_from ? i.start_date : @date_from )
|
||||
i_end_date = (i.due_date <= @date_to ? i.due_date : @date_to )
|
||||
i_end_date = (i.due_before <= @date_to ? i.due_before : @date_to )
|
||||
|
||||
i_done_date = i.start_date + ((i.due_date - i.start_date+1)*i.done_ratio/100).floor
|
||||
i_done_date = i.start_date + ((i.due_before - i.start_date+1)*i.done_ratio/100).floor
|
||||
i_done_date = (i_done_date <= @date_from ? @date_from : i_done_date )
|
||||
i_done_date = (i_done_date >= @date_to ? @date_to : i_done_date )
|
||||
|
||||
|
||||
@@ -166,9 +166,9 @@ top = headers_height + 10
|
||||
@events.each do |i|
|
||||
if i.is_a? Issue
|
||||
i_start_date = (i.start_date >= @date_from ? i.start_date : @date_from )
|
||||
i_end_date = (i.due_date <= @date_to ? i.due_date : @date_to )
|
||||
i_end_date = (i.due_before <= @date_to ? i.due_before : @date_to )
|
||||
|
||||
i_done_date = i.start_date + ((i.due_date - i.start_date+1)*i.done_ratio/100).floor
|
||||
i_done_date = i.start_date + ((i.due_before - i.start_date+1)*i.done_ratio/100).floor
|
||||
i_done_date = (i_done_date <= @date_from ? @date_from : i_done_date )
|
||||
i_done_date = (i_done_date >= @date_to ? @date_to : i_done_date )
|
||||
|
||||
@@ -190,7 +190,6 @@ top = headers_height + 10
|
||||
<%= i.status.name %>
|
||||
<%= (i.done_ratio).to_i %>%
|
||||
</div>
|
||||
<% # === tooltip === %>
|
||||
<div class="tooltip" style="position: absolute;top:<%= top %>px;left:<%= i_left %>px;width:<%= i_width %>px;height:12px;">
|
||||
<span class="tip">
|
||||
<%= render_issue_tooltip i %>
|
||||
@@ -235,7 +234,7 @@ if Date.today >= @date_from and Date.today <= @date_to %>
|
||||
|
||||
<% content_for :sidebar do %>
|
||||
<h3><%= l(:label_gantt) %></h3>
|
||||
<% form_tag(params.merge(:tracker_ids => nil, :with_subprojects => nil)) do %>
|
||||
<% form_tag(params.merge(:tracker_ids => nil, :with_subprojects => nil), :method => :get) do %>
|
||||
<% @trackers.each do |tracker| %>
|
||||
<label><%= check_box_tag "tracker_ids[]", tracker.id, (@selected_tracker_ids.include? tracker.id.to_s) %> <%= tracker.name %></label><br />
|
||||
<% end %>
|
||||
@@ -243,7 +242,7 @@ if Date.today >= @date_from and Date.today <= @date_to %>
|
||||
<br /><label><%= check_box_tag 'with_subprojects', 1, @with_subprojects %> <%=l(:label_subproject_plural)%></label>
|
||||
<%= hidden_field_tag 'with_subprojects', 0 %>
|
||||
<% end %>
|
||||
<p><%= submit_tag l(:button_apply), :class => 'button-small' %></p>
|
||||
<p><%= submit_tag l(:button_apply), :class => 'button-small', :name => nil %></p>
|
||||
<% end %>
|
||||
<% end %>
|
||||
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
<div class="contextual">
|
||||
<%= link_to(l(:label_project_new), {:controller => 'projects', :action => 'add'}, :class => 'icon icon-add') + ' |' if User.current.admin? %>
|
||||
<%= link_to l(:label_issue_view_all), { :controller => 'issues' } %> |
|
||||
<%= link_to l(:label_overall_activity), { :controller => 'projects', :action => 'activity' }%>
|
||||
</div>
|
||||
@@ -17,9 +18,14 @@
|
||||
<% end %>
|
||||
|
||||
<% if User.current.logged? %>
|
||||
<div class="contextual">
|
||||
<p style="text-align:right;">
|
||||
<span class="icon icon-fav"><%= l(:label_my_projects) %></span>
|
||||
</div>
|
||||
</p>
|
||||
<% end %>
|
||||
|
||||
<p class="other-formats">
|
||||
<%= l(:label_export_to) %>
|
||||
<span><%= link_to 'Atom', {:format => 'atom', :key => User.current.rss_key}, :class => 'feed' %></span>
|
||||
</p>
|
||||
|
||||
<% html_title(l(:label_project_plural)) -%>
|
||||
@@ -23,8 +23,7 @@
|
||||
<% for file in version.attachments %>
|
||||
<tr class="<%= cycle("odd", "even") %>">
|
||||
<td></td>
|
||||
<td><%= link_to(file.filename, {:controller => 'versions', :action => 'download', :id => version, :attachment_id => file},
|
||||
:title => file.description) %></td>
|
||||
<td><%= link_to_attachment file, :download => true, :title => file.description %></td>
|
||||
<td align="center"><%= format_time(file.created_on) %></td>
|
||||
<td align="center"><%= number_to_human_size(file.filesize) %></td>
|
||||
<td align="center"><%= file.downloads %></td>
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
<fieldset class="related-issues"><legend><%= l(:label_related_issues) %></legend>
|
||||
<ul>
|
||||
<%- issues.each do |issue| -%>
|
||||
<li class="issue <%= 'closed' if issue.closed? %>"><%= link_to_issue(issue) %>: <%=h issue.subject %></li>
|
||||
<li><%= link_to_issue(issue) %>: <%=h issue.subject %></li>
|
||||
<%- end -%>
|
||||
</ul>
|
||||
</fieldset>
|
||||
@@ -30,7 +30,7 @@
|
||||
<% end %>
|
||||
|
||||
<% content_for :sidebar do %>
|
||||
<% form_tag do %>
|
||||
<% form_tag({}, :method => :get) do %>
|
||||
<h3><%= l(:label_roadmap) %></h3>
|
||||
<% @trackers.each do |tracker| %>
|
||||
<label><%= check_box_tag "tracker_ids[]", tracker.id, (@selected_tracker_ids.include? tracker.id.to_s), :id => nil %>
|
||||
@@ -38,12 +38,12 @@
|
||||
<% end %>
|
||||
<br />
|
||||
<label for="completed"><%= check_box_tag "completed", 1, params[:completed] %> <%= l(:label_show_completed_versions) %></label>
|
||||
<p><%= submit_tag l(:button_apply), :class => 'button-small' %></p>
|
||||
<p><%= submit_tag l(:button_apply), :class => 'button-small', :name => nil %></p>
|
||||
<% end %>
|
||||
|
||||
<h3><%= l(:label_version_plural) %></h3>
|
||||
<% @versions.each do |version| %>
|
||||
<%= link_to version.name, :anchor => version.name %><br />
|
||||
<%= link_to version.name, "##{version.name}" %><br />
|
||||
<% end %>
|
||||
<% end %>
|
||||
|
||||
|
||||
@@ -17,5 +17,5 @@
|
||||
:class => 'icon icon-del') if @repository && !@repository.new_record? %>
|
||||
</div>
|
||||
|
||||
<%= submit_tag((@repository.nil? || @repository.new_record?) ? l(:button_create) : l(:button_save)) %>
|
||||
<%= submit_tag((@repository.nil? || @repository.new_record?) ? l(:button_create) : l(:button_save), :disabled => @repository.nil?) %>
|
||||
<% end %>
|
||||
|
||||
@@ -3,14 +3,14 @@
|
||||
<div class="splitcontentleft">
|
||||
<%= textilizable @project.description %>
|
||||
<ul>
|
||||
<% unless @project.homepage.blank? %><li><%=l(:field_homepage)%>: <%= auto_link @project.homepage %></li><% end %>
|
||||
<% unless @project.homepage.blank? %><li><%=l(:field_homepage)%>: <%= auto_link(h(@project.homepage)) %></li><% end %>
|
||||
<% if @subprojects.any? %>
|
||||
<li><%=l(:label_subproject_plural)%>: <%= @subprojects.collect{|p| link_to(h(p.name), :action => 'show', :id => p)}.join(", ") %></li>
|
||||
<% end %>
|
||||
<% if @project.parent %>
|
||||
<li><%=l(:field_parent)%>: <%= link_to h(@project.parent.name), :controller => 'projects', :action => 'show', :id => @project.parent %></li>
|
||||
<% end %>
|
||||
<% for custom_value in @custom_values %>
|
||||
<% @project.custom_values.each do |custom_value| %>
|
||||
<% if !custom_value.value.empty? %>
|
||||
<li><%= custom_value.custom_field.name%>: <%=h show_value(custom_value) %></li>
|
||||
<% end %>
|
||||
|
||||
@@ -78,7 +78,7 @@ function toggle_multi_select(field) {
|
||||
<select <%= "multiple=true" if query.values_for(field) and query.values_for(field).length > 1 %> name="values[<%= field %>][]" id="values_<%= field %>" class="select-small" style="vertical-align: top;">
|
||||
<%= options_for_select options[:values], query.values_for(field) %>
|
||||
</select>
|
||||
<%= link_to_function image_tag('expand.png'), "toggle_multi_select('#{field}');" %>
|
||||
<%= link_to_function image_tag('bullet_toggle_plus.png'), "toggle_multi_select('#{field}');", :style => "vertical-align: bottom;" %>
|
||||
<% when :date, :date_past %>
|
||||
<%= text_field_tag "values[#{field}][]", query.values_for(field), :id => "values_#{field}", :size => 3, :class => "select-small" %> <%= l(:label_day_plural) %>
|
||||
<% when :string, :text %>
|
||||
|
||||
@@ -1,32 +1,24 @@
|
||||
<% @entries.each do |entry| %>
|
||||
<% tr_id = Digest::MD5.hexdigest(entry.path)
|
||||
depth = params[:depth].to_i %>
|
||||
<tr id="<%= tr_id %>" class="<%= params[:parent_id] %> entry">
|
||||
<td class="filename">
|
||||
<%= if entry.is_dir?
|
||||
link_to_remote h(entry.name),
|
||||
{:url => {:action => 'browse', :id => @project, :path => entry.path, :rev => @rev, :depth => (depth + 1), :parent_id => tr_id},
|
||||
<tr id="<%= tr_id %>" class="<%= params[:parent_id] %> entry <%= entry.kind %>">
|
||||
<td style="padding-left: <%=18 * depth%>px;" class="filename">
|
||||
<% if entry.is_dir? %>
|
||||
<span class="expander" onclick="<%= remote_function :url => {:action => 'browse', :id => @project, :path => to_path_param(entry.path), :rev => @rev, :depth => (depth + 1), :parent_id => tr_id},
|
||||
:update => { :success => tr_id },
|
||||
:position => :after,
|
||||
:success => "scmEntryLoaded('#{tr_id}')",
|
||||
:condition => "scmEntryClick('#{tr_id}')"
|
||||
},
|
||||
{:href => url_for({:action => 'browse', :id => @project, :path => entry.path, :rev => @rev}),
|
||||
:class => ('icon icon-folder'),
|
||||
:style => "margin-left: #{18 * depth}px;"
|
||||
}
|
||||
else
|
||||
link_to h(entry.name),
|
||||
{:action => (entry.is_dir? ? 'browse' : 'changes'), :id => @project, :path => entry.path, :rev => @rev},
|
||||
:class => 'icon icon-file',
|
||||
:style => "margin-left: #{18 * depth}px;"
|
||||
end %>
|
||||
:condition => "scmEntryClick('#{tr_id}')"%>"> </span>
|
||||
<% end %>
|
||||
<%= link_to h(entry.name),
|
||||
{:action => (entry.is_dir? ? 'browse' : 'changes'), :id => @project, :path => to_path_param(entry.path), :rev => @rev},
|
||||
:class => (entry.is_dir? ? 'icon icon-folder' : 'icon icon-file')%>
|
||||
</td>
|
||||
<td class="size"><%= (entry.size ? number_to_human_size(entry.size) : "?") unless entry.is_dir? %></td>
|
||||
<td class="revision"><%= link_to(format_revision(entry.lastrev.name), :action => 'revision', :id => @project, :rev => entry.lastrev.identifier) if entry.lastrev && entry.lastrev.identifier %></td>
|
||||
<td class="age"><%= distance_of_time_in_words(entry.lastrev.time, Time.now) if entry.lastrev && entry.lastrev.time %></td>
|
||||
<td class="author"><%=h(entry.lastrev.author.to_s.split('<').first) if entry.lastrev %></td>
|
||||
<% changeset = @project.repository.changesets.find_by_revision(entry.lastrev.identifier) if entry.lastrev %>
|
||||
<% changeset = @project.repository.changesets.find_by_revision(entry.lastrev.identifier) if entry.lastrev && entry.lastrev.identifier %>
|
||||
<td class="comments"><%=h truncate(changeset.comments, 50) unless changeset.nil? %></td>
|
||||
</tr>
|
||||
<% end %>
|
||||
|
||||
@@ -10,10 +10,10 @@ dirs.each do |dir|
|
||||
link_path << '/' unless link_path.empty?
|
||||
link_path << "#{dir}"
|
||||
%>
|
||||
/ <%= link_to h(dir), :action => 'browse', :id => @project, :path => link_path, :rev => @rev %>
|
||||
/ <%= link_to h(dir), :action => 'browse', :id => @project, :path => to_path_param(link_path), :rev => @rev %>
|
||||
<% end %>
|
||||
<% if filename %>
|
||||
/ <%= link_to h(filename), :action => 'changes', :id => @project, :path => "#{link_path}/#{filename}", :rev => @rev %>
|
||||
/ <%= link_to h(filename), :action => 'changes', :id => @project, :path => to_path_param("#{link_path}/#{filename}"), :rev => @rev %>
|
||||
<% end %>
|
||||
|
||||
<%= "@ #{revision}" if revision %>
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
<% form_tag({:controller => 'repositories', :action => 'diff', :id => @project, :path => path}, :method => :get) do %>
|
||||
<% form_tag({:controller => 'repositories', :action => 'diff', :id => @project, :path => to_path_param(path)}, :method => :get) do %>
|
||||
<table class="list changesets">
|
||||
<thead><tr>
|
||||
<th>#</th>
|
||||
|
||||
@@ -7,6 +7,7 @@
|
||||
<h2><%= render :partial => 'navigation', :locals => { :path => @path, :kind => 'dir', :revision => @rev } %></h2>
|
||||
|
||||
<%= render :partial => 'dir_list' %>
|
||||
<%= render_properties(@properties) %>
|
||||
|
||||
<% content_for :header_tags do %>
|
||||
<%= stylesheet_link_tag "scm" %>
|
||||
|
||||
@@ -1,18 +1,19 @@
|
||||
<h2><%= render :partial => 'navigation', :locals => { :path => @path, :kind => (@entry ? @entry.kind : nil), :revision => @rev } %></h2>
|
||||
|
||||
<h3><%=h @entry.name %></h3>
|
||||
|
||||
<p>
|
||||
<% if @repository.supports_cat? %>
|
||||
<%= link_to l(:button_view), {:action => 'entry', :id => @project, :path => @path, :rev => @rev } %> |
|
||||
<%= link_to l(:button_view), {:action => 'entry', :id => @project, :path => to_path_param(@path), :rev => @rev } %> |
|
||||
<% end %>
|
||||
<% if @repository.supports_annotate? %>
|
||||
<%= link_to l(:button_annotate), {:action => 'annotate', :id => @project, :path => @path, :rev => @rev } %> |
|
||||
<%= link_to l(:button_annotate), {:action => 'annotate', :id => @project, :path => to_path_param(@path), :rev => @rev } %> |
|
||||
<% end %>
|
||||
<%= link_to(l(:button_download), {:action => 'entry', :id => @project, :path => @path, :rev => @rev, :format => 'raw' }) if @repository.supports_cat? %>
|
||||
<%= link_to(l(:button_download), {:action => 'entry', :id => @project, :path => to_path_param(@path), :rev => @rev, :format => 'raw' }) if @repository.supports_cat? %>
|
||||
<%= "(#{number_to_human_size(@entry.size)})" if @entry.size %>
|
||||
</p>
|
||||
|
||||
<%= render :partial => 'revisions', :locals => {:project => @project, :path => @path, :revisions => @changesets, :entry => @entry }%>
|
||||
<%= render_properties(@properties) %>
|
||||
|
||||
<%= render(:partial => 'revisions',
|
||||
:locals => {:project => @project, :path => @path, :revisions => @changesets, :entry => @entry }) unless @changesets.empty? %>
|
||||
|
||||
<% html_title(l(:label_change_plural)) -%>
|
||||
|
||||
@@ -11,82 +11,14 @@
|
||||
<%= select_tag 'type', options_for_select([[l(:label_diff_inline), "inline"], [l(:label_diff_side_by_side), "sbs"]], @diff_type), :onchange => "if (this.value != '') {this.form.submit()}" %></p>
|
||||
<% end %>
|
||||
|
||||
<% cache(@cache_key) do %>
|
||||
<% @diff.each do |table_file| %>
|
||||
<div class="autoscroll">
|
||||
<% if @diff_type == 'sbs' %>
|
||||
<table class="filecontent CodeRay">
|
||||
<thead>
|
||||
<tr>
|
||||
<th colspan="4" class="filename">
|
||||
<%= table_file.file_name %>
|
||||
</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<th colspan="2">@<%= format_revision @rev %></th>
|
||||
<th colspan="2">@<%= format_revision @rev_to %></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<% table_file.keys.sort.each do |key| %>
|
||||
<tr>
|
||||
<th class="line-num">
|
||||
<%= table_file[key].nb_line_left %>
|
||||
</th>
|
||||
<td class="line-code <%= table_file[key].type_diff_left %>">
|
||||
<pre><%=to_utf8 table_file[key].line_left %></pre>
|
||||
</td>
|
||||
<th class="line-num">
|
||||
<%= table_file[key].nb_line_right %>
|
||||
</th>
|
||||
<td class="line-code <%= table_file[key].type_diff_right %>">
|
||||
<pre><%=to_utf8 table_file[key].line_right %></pre>
|
||||
</td>
|
||||
</tr>
|
||||
<% end %>
|
||||
</tbody>
|
||||
</table>
|
||||
<% cache(@cache_key) do -%>
|
||||
<%= render :partial => 'common/diff', :locals => {:diff => @diff, :diff_type => @diff_type} %>
|
||||
<% end -%>
|
||||
|
||||
<% else %>
|
||||
<table class="filecontent CodeRay">
|
||||
<thead>
|
||||
<tr>
|
||||
<th colspan="3" class="filename">
|
||||
<%= table_file.file_name %>
|
||||
</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>@<%= format_revision @rev %></th>
|
||||
<th>@<%= format_revision @rev_to %></th>
|
||||
<th></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<% table_file.keys.sort.each do |key, line| %>
|
||||
<tr>
|
||||
<th class="line-num">
|
||||
<%= table_file[key].nb_line_left %>
|
||||
</th>
|
||||
<th class="line-num">
|
||||
<%= table_file[key].nb_line_right %>
|
||||
</th>
|
||||
<% if table_file[key].line_left.empty? %>
|
||||
<td class="line-code <%= table_file[key].type_diff_right %>">
|
||||
<pre><%=to_utf8 table_file[key].line_right %></pre>
|
||||
</td>
|
||||
<% else %>
|
||||
<td class="line-code <%= table_file[key].type_diff_left %>">
|
||||
<pre><%=to_utf8 table_file[key].line_left %></pre>
|
||||
</td>
|
||||
<% end %>
|
||||
</tr>
|
||||
<% end %>
|
||||
</tbody>
|
||||
</table>
|
||||
<% end %>
|
||||
</div>
|
||||
<% end %>
|
||||
<% end %>
|
||||
<p class="other-formats">
|
||||
<%= l(:label_export_to) %>
|
||||
<span><%= link_to 'Unified diff', params.merge(:format => 'diff') %></span>
|
||||
</p>
|
||||
|
||||
<% html_title(with_leading_slash(@path), 'Diff') -%>
|
||||
|
||||
|
||||
@@ -1,16 +1,6 @@
|
||||
<h2><%= render :partial => 'navigation', :locals => { :path => @path, :kind => 'file', :revision => @rev } %></h2>
|
||||
|
||||
<div class="autoscroll">
|
||||
<table class="filecontent CodeRay">
|
||||
<tbody>
|
||||
<% line_num = 1 %>
|
||||
<% syntax_highlight(@path, to_utf8(@content)).each_line do |line| %>
|
||||
<tr><th class="line-num" id="L<%= line_num %>"><%= line_num %></th><td class="line-code"><pre><%= line %></pre></td></tr>
|
||||
<% line_num += 1 %>
|
||||
<% end %>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<%= render :partial => 'common/file', :locals => {:filename => @path, :content => @content} %>
|
||||
|
||||
<% content_for :header_tags do %>
|
||||
<%= stylesheet_link_tag "scm" %>
|
||||
|
||||
@@ -13,9 +13,9 @@
|
||||
<% end -%>
|
||||
»
|
||||
|
||||
<% form_tag do %>
|
||||
<% form_tag({:controller => 'repositories', :action => 'revision', :id => @project, :rev => nil}, :method => :get) do %>
|
||||
<%= text_field_tag 'rev', @rev, :size => 5 %>
|
||||
<%= submit_tag 'OK' %>
|
||||
<%= submit_tag 'OK', :name => nil %>
|
||||
<% end %>
|
||||
</div>
|
||||
|
||||
@@ -46,10 +46,16 @@
|
||||
<tbody>
|
||||
<% @changes.each do |change| %>
|
||||
<tr class="<%= cycle 'odd', 'even' %>">
|
||||
<td><div class="square action_<%= change.action %>"></div> <%= change.path %> <%= "(#{change.revision})" unless change.revision.blank? %></td>
|
||||
<td><div class="square action_<%= change.action %>"></div>
|
||||
<% if change.action == "D" -%>
|
||||
<%= change.path -%>
|
||||
<% else -%>
|
||||
<%= link_to change.path, :action => 'entry', :id => @project, :path => to_path_param(change.relative_path), :rev => @changeset.revision -%>
|
||||
<% end -%>
|
||||
<%= "(#{change.revision})" unless change.revision.blank? %></td>
|
||||
<td align="right">
|
||||
<% if change.action == "M" %>
|
||||
<%= link_to l(:label_view_diff), :action => 'diff', :id => @project, :path => without_leading_slash(change.path), :rev => @changeset.revision %>
|
||||
<%= link_to l(:label_view_diff), :action => 'diff', :id => @project, :path => to_path_param(change.relative_path), :rev => @changeset.revision %>
|
||||
<% end %>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
@@ -1,11 +1,16 @@
|
||||
<div class="contextual">
|
||||
<%= link_to l(:label_statistics), {:action => 'stats', :id => @project}, :class => 'icon icon-stats' %>
|
||||
|
||||
<% if !@entries.nil? && authorize_for('repositories', 'browse') -%>
|
||||
<% form_tag(:action => 'browse', :id => @project) do -%>
|
||||
| <%= l(:label_revision) %>: <%= text_field_tag 'rev', @rev, :size => 5 %>
|
||||
<% end -%>
|
||||
<% end -%>
|
||||
</div>
|
||||
|
||||
<h2><%= l(:label_repository) %> (<%= @repository.scm_name %>)</h2>
|
||||
|
||||
<% if !@entries.nil? && authorize_for('repositories', 'browse') %>
|
||||
<h3><%= l(:label_browse) %></h3>
|
||||
<%= render :partial => 'dir_list' %>
|
||||
<% end %>
|
||||
|
||||
|
||||
@@ -1,13 +1,12 @@
|
||||
<h2><%= l(:label_statistics) %></h2>
|
||||
|
||||
<table width="100%">
|
||||
<tr><td>
|
||||
<%= tag("embed", :width => 500, :height => 300, :type => "image/svg+xml", :src => url_for(:controller => 'repositories', :action => 'graph', :id => @project, :graph => "commits_per_month")) %>
|
||||
</td><td>
|
||||
<%= tag("embed", :width => 500, :height => 300, :type => "image/svg+xml", :src => url_for(:controller => 'repositories', :action => 'graph', :id => @project, :graph => "commits_per_author")) %>
|
||||
</td></tr>
|
||||
</table>
|
||||
<br />
|
||||
<p>
|
||||
<%= tag("embed", :width => 800, :height => 300, :type => "image/svg+xml", :src => url_for(:controller => 'repositories', :action => 'graph', :id => @project, :graph => "commits_per_month")) %>
|
||||
</p>
|
||||
<p>
|
||||
<%= tag("embed", :width => 800, :height => 400, :type => "image/svg+xml", :src => url_for(:controller => 'repositories', :action => 'graph', :id => @project, :graph => "commits_per_author")) %>
|
||||
</p>
|
||||
|
||||
<p><%= link_to l(:button_back), :action => 'show', :id => @project %></p>
|
||||
|
||||
<% html_title(l(:label_repository), l(:label_statistics)) -%>
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
<% end %>
|
||||
|
||||
<h3><%= l(:label_permissions) %></h3>
|
||||
<div class="box">
|
||||
<div class="box" id="permissions">
|
||||
<% perms_by_module = @permissions.group_by {|p| p.project_module.to_s} %>
|
||||
<% perms_by_module.keys.sort.each do |mod| %>
|
||||
<fieldset><legend><%= mod.blank? ? l(:label_project) : mod.humanize %></legend>
|
||||
@@ -24,6 +24,6 @@
|
||||
<% end %>
|
||||
</fieldset>
|
||||
<% end %>
|
||||
<br /><%= check_all_links 'role_form' %>
|
||||
<br /><%= check_all_links 'permissions' %>
|
||||
<%= hidden_field_tag 'role[permissions][]', '' %>
|
||||
</div>
|
||||
|
||||
@@ -1,13 +1,17 @@
|
||||
<h2><%=l(:label_permissions_report)%></h2>
|
||||
|
||||
<% form_tag({:action => 'report'}, :id => 'permissions_form') do %>
|
||||
<%= hidden_field_tag 'permissions[0]', '' %>
|
||||
<%= hidden_field_tag 'permissions[0]', '', :id => nil %>
|
||||
<table class="list">
|
||||
<thead>
|
||||
<tr>
|
||||
<th><%=l(:label_permissions)%></th>
|
||||
<% @roles.each do |role| %>
|
||||
<th><%= content_tag(role.builtin? ? 'em' : 'span', h(role.name)) %></th>
|
||||
<th>
|
||||
<%= content_tag(role.builtin? ? 'em' : 'span', h(role.name)) %>
|
||||
<%= link_to_function(image_tag('toggle_check.png'), "toggleCheckboxesBySelector('input.role-#{role.id}')",
|
||||
:title => "#{l(:button_check_all)}/#{l(:button_uncheck_all)}") %>
|
||||
</th>
|
||||
<% end %>
|
||||
</tr>
|
||||
</thead>
|
||||
@@ -18,12 +22,16 @@
|
||||
<tr><%= content_tag('th', mod.humanize, :colspan => (@roles.size + 1), :align => 'left') %></tr>
|
||||
<% end %>
|
||||
<% perms_by_module[mod].each do |permission| %>
|
||||
<tr class="<%= cycle('odd', 'even') %>">
|
||||
<td><%= permission.name.to_s.humanize %></td>
|
||||
<tr class="<%= cycle('odd', 'even') %> permission-<%= permission.name %>">
|
||||
<td>
|
||||
<%= link_to_function(image_tag('toggle_check.png'), "toggleCheckboxesBySelector('.permission-#{permission.name} input')",
|
||||
:title => "#{l(:button_check_all)}/#{l(:button_uncheck_all)}") %>
|
||||
<%= permission.name.to_s.humanize %>
|
||||
</td>
|
||||
<% @roles.each do |role| %>
|
||||
<td align="center">
|
||||
<% if role.setable_permissions.include? permission %>
|
||||
<%= check_box_tag "permissions[#{role.id}][]", permission.name, (role.permissions.include? permission.name) %>
|
||||
<%= check_box_tag "permissions[#{role.id}][]", permission.name, (role.permissions.include? permission.name), :id => nil, :class => "role-#{role.id}" %>
|
||||
<% end %>
|
||||
</td>
|
||||
<% end %>
|
||||
|
||||
@@ -4,27 +4,33 @@
|
||||
<% form_tag({}, :method => :get) do %>
|
||||
<p><%= text_field_tag 'q', @question, :size => 60, :id => 'search-input' %>
|
||||
<%= javascript_tag "Field.focus('search-input')" %>
|
||||
|
||||
<% @object_types.each do |t| %>
|
||||
<label><%= check_box_tag t, 1, @scope.include?(t) %> <%= l("label_#{t.singularize}_plural")%></label>
|
||||
<% end %>
|
||||
<br />
|
||||
<%= project_select_tag %>
|
||||
<label><%= check_box_tag 'all_words', 1, @all_words %> <%= l(:label_all_words) %></label>
|
||||
<label><%= check_box_tag 'titles_only', 1, @titles_only %> <%= l(:label_search_titles_only) %></label>
|
||||
</p>
|
||||
<%= submit_tag l(:button_submit), :name => 'submit' %>
|
||||
<p>
|
||||
<% @object_types.each do |t| %>
|
||||
<label><%= check_box_tag t, 1, @scope.include?(t) %> <%= type_label(t) %></label>
|
||||
<% end %>
|
||||
</p>
|
||||
|
||||
<p><%= submit_tag l(:button_submit), :name => 'submit' %></p>
|
||||
<% end %>
|
||||
</div>
|
||||
|
||||
<% if @results %>
|
||||
<h3><%= l(:label_result_plural) %></h3>
|
||||
<ul>
|
||||
<div id="search-results-counts">
|
||||
<%= render_results_by_type(@results_by_type) unless @scope.size == 1 %>
|
||||
</div>
|
||||
|
||||
<h3><%= l(:label_result_plural) %> (<%= @results_by_type.values.sum %>)</h3>
|
||||
<dl id="search-results">
|
||||
<% @results.each do |e| %>
|
||||
<li><p><%= link_to highlight_tokens(truncate(e.event_title, 255), @tokens), e.event_url %><br />
|
||||
<%= highlight_tokens(e.event_description, @tokens) %><br />
|
||||
<span class="author"><%= format_time(e.event_datetime) %></span></p></li>
|
||||
<dt class="<%= e.event_type %>"><%= content_tag('span', h(e.project), :class => 'project') unless @project == e.project %> <%= link_to highlight_tokens(truncate(e.event_title, 255), @tokens), e.event_url %></dt>
|
||||
<dd><span class="description"><%= highlight_tokens(e.event_description, @tokens) %></span>
|
||||
<span class="author"><%= format_time(e.event_datetime) %></span></dd>
|
||||
<% end %>
|
||||
</ul>
|
||||
</dl>
|
||||
<% end %>
|
||||
|
||||
<p><center>
|
||||
|
||||
@@ -0,0 +1,18 @@
|
||||
<% form_tag({:action => 'edit', :tab => 'mail_handler'}) do %>
|
||||
|
||||
<div class="box tabular settings">
|
||||
<p><label><%= l(:setting_mail_handler_api_enabled) %></label>
|
||||
<%= check_box_tag 'settings[mail_handler_api_enabled]', 1, Setting.mail_handler_api_enabled?,
|
||||
:onclick => "if (this.checked) { Form.Element.enable('settings_mail_handler_api_key'); } else { Form.Element.disable('settings_mail_handler_api_key'); }" %>
|
||||
<%= hidden_field_tag 'settings[mail_handler_api_enabled]', 0 %></p>
|
||||
|
||||
<p><label><%= l(:setting_mail_handler_api_key) %></label>
|
||||
<%= text_field_tag 'settings[mail_handler_api_key]', Setting.mail_handler_api_key,
|
||||
:size => 30,
|
||||
:id => 'settings_mail_handler_api_key',
|
||||
:disabled => !Setting.mail_handler_api_enabled? %>
|
||||
<%= link_to_function l(:label_generate_key), "if ($('settings_mail_handler_api_key').disabled == false) { $('settings_mail_handler_api_key').value = randomKey(20) }" %></p>
|
||||
</div>
|
||||
|
||||
<%= submit_tag l(:button_save) %>
|
||||
<% end %>
|
||||
@@ -1,3 +1,4 @@
|
||||
<% if @deliveries %>
|
||||
<% form_tag({:action => 'edit', :tab => 'notifications'}) do %>
|
||||
|
||||
<div class="box tabular settings">
|
||||
@@ -9,13 +10,13 @@
|
||||
<%= hidden_field_tag 'settings[bcc_recipients]', 0 %></p>
|
||||
</div>
|
||||
|
||||
<fieldset class="box"><legend><%=l(:text_select_mail_notifications)%></legend>
|
||||
<fieldset class="box" id="notified_events"><legend><%=l(:text_select_mail_notifications)%></legend>
|
||||
<% @notifiables.each do |notifiable| %>
|
||||
<label><%= check_box_tag 'settings[notified_events][]', notifiable, Setting.notified_events.include?(notifiable) %>
|
||||
<%= l_or_humanize(notifiable) %></label><br />
|
||||
<% end %>
|
||||
<%= hidden_field_tag 'settings[notified_events][]', '' %>
|
||||
<p><%= check_all_links('mail-options-form') %></p>
|
||||
<p><%= check_all_links('notified_events') %></p>
|
||||
</fieldset>
|
||||
|
||||
<fieldset class="box"><legend><%= l(:setting_emails_footer) %></legend>
|
||||
@@ -28,3 +29,8 @@
|
||||
|
||||
<%= submit_tag l(:button_save) %>
|
||||
<% end %>
|
||||
<% else %>
|
||||
<div class="nodata">
|
||||
<%= simple_format(l(:text_email_delivery_not_configured)) %>
|
||||
</div>
|
||||
<% end %>
|
||||
|
||||
@@ -7,8 +7,18 @@
|
||||
<p><label><%= l(:setting_sys_api_enabled) %></label>
|
||||
<%= check_box_tag 'settings[sys_api_enabled]', 1, Setting.sys_api_enabled? %><%= hidden_field_tag 'settings[sys_api_enabled]', 0 %></p>
|
||||
|
||||
<p><label><%= l(:setting_enabled_scm) %></label>
|
||||
<% REDMINE_SUPPORTED_SCM.each do |scm| -%>
|
||||
<%= check_box_tag 'settings[enabled_scm][]', scm, Setting.enabled_scm.include?(scm) %> <%= scm %>
|
||||
<% end -%>
|
||||
<%= hidden_field_tag 'settings[enabled_scm][]', '' %>
|
||||
</p>
|
||||
|
||||
<p><label><%= l(:setting_repositories_encodings) %></label>
|
||||
<%= text_field_tag 'settings[repositories_encodings]', Setting.repositories_encodings, :size => 60 %><br /><em><%= l(:text_comma_separated) %></em></p>
|
||||
|
||||
<p><label><%= l(:setting_commit_logs_encoding) %></label>
|
||||
<%= select_tag 'settings[commit_logs_encoding]', options_for_select(Setting::ENCODINGS, Setting.commit_logs_encoding) %></p>
|
||||
</div>
|
||||
|
||||
<fieldset class="box tabular settings"><legend><%= l(:text_issues_ref_in_commit_messages) %></legend>
|
||||
|
||||
@@ -27,9 +27,9 @@
|
||||
<td class="hours"><%= html_hours("%.2f" % entry.hours) %></td>
|
||||
<td align="center">
|
||||
<% if entry.editable_by?(User.current) -%>
|
||||
<%= link_to image_tag('edit.png'), {:controller => 'timelog', :action => 'edit', :id => entry},
|
||||
<%= link_to image_tag('edit.png'), {:controller => 'timelog', :action => 'edit', :id => entry, :project_id => nil},
|
||||
:title => l(:button_edit) %>
|
||||
<%= link_to image_tag('delete.png'), {:controller => 'timelog', :action => 'destroy', :id => entry},
|
||||
<%= link_to image_tag('delete.png'), {:controller => 'timelog', :action => 'destroy', :id => entry, :project_id => nil},
|
||||
:confirm => l(:text_are_you_sure),
|
||||
:method => :post,
|
||||
:title => l(:button_delete) %>
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
<% next if hours_for_value.empty? -%>
|
||||
<tr class="<%= cycle('odd', 'even') %> <%= 'last-level' unless criterias.length > level+1 %>">
|
||||
<%= '<td></td>' * level %>
|
||||
<td><%= format_criteria_value(criterias[level], value) %></td>
|
||||
<td><%= h(format_criteria_value(criterias[level], value)) %></td>
|
||||
<%= '<td></td>' * (criterias.length - level - 1) -%>
|
||||
<% total = 0 -%>
|
||||
<% @periods.each do |period| -%>
|
||||
|
||||
@@ -24,8 +24,13 @@
|
||||
|
||||
<p class="other-formats">
|
||||
<%= l(:label_export_to) %>
|
||||
<span><%= link_to 'Atom', {:issue_id => @issue, :format => 'atom', :key => User.current.rss_key}, :class => 'feed' %></span>
|
||||
<span><%= link_to 'CSV', params.merge(:format => 'csv'), :class => 'csv' %></span>
|
||||
</p>
|
||||
<% end %>
|
||||
|
||||
<% html_title l(:label_spent_time), l(:label_details) %>
|
||||
|
||||
<% content_for :header_tags do %>
|
||||
<%= auto_discovery_link_tag(:atom, {:issue_id => @issue, :format => 'atom', :key => User.current.rss_key}, :title => l(:label_spent_time)) %>
|
||||
<% end %>
|
||||
|
||||
@@ -9,7 +9,10 @@
|
||||
<p><%= f.text_field :spent_on, :size => 10, :required => true %><%= calendar_for('time_entry_spent_on') %></p>
|
||||
<p><%= f.text_field :hours, :size => 6, :required => true %></p>
|
||||
<p><%= f.text_field :comments, :size => 100 %></p>
|
||||
<p><%= f.select :activity_id, (@activities.collect {|p| [p.name, p.id]}), :required => true %></p>
|
||||
<p><%= f.select :activity_id, activity_collection_for_select_options, :required => true %></p>
|
||||
<% @time_entry.custom_field_values.each do |value| %>
|
||||
<p><%= custom_field_tag_with_label :time_entry, value %></p>
|
||||
<% end %>
|
||||
</div>
|
||||
|
||||
<%= submit_tag l(:button_save) %>
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
|
||||
<!--[form:user]-->
|
||||
<div class="box">
|
||||
<h3><%=l(:label_information_plural)%></h3>
|
||||
<p><%= f.text_field :login, :required => true, :size => 25 %></p>
|
||||
<p><%= f.text_field :firstname, :required => true %></p>
|
||||
<p><%= f.text_field :lastname, :required => true %></p>
|
||||
@@ -12,11 +11,11 @@
|
||||
<% end -%>
|
||||
<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 if @custom_values%>
|
||||
<% @user.custom_field_values.each do |value| %>
|
||||
<p><%= custom_field_tag_with_label :user, value %></p>
|
||||
<% end %>
|
||||
|
||||
<p><%= f.check_box :admin %></p>
|
||||
<p><%= f.check_box :admin, :disabled => (@user == User.current) %></p>
|
||||
</div>
|
||||
|
||||
<div class="box">
|
||||
|
||||
@@ -0,0 +1,4 @@
|
||||
<% labelled_tabular_form_for :user, @user, :url => { :action => "edit" } do |f| %>
|
||||
<%= render :partial => 'form', :locals => { :f => f } %>
|
||||
<%= submit_tag l(:button_save) %>
|
||||
<% end %>
|
||||
@@ -1,33 +1,40 @@
|
||||
<div class="box" style="margin-top: 16px;">
|
||||
<h3><%= l(:label_project_plural) %></h3>
|
||||
|
||||
<% @user.memberships.select {|m| m.inherited_from.nil? }.each do |membership| %>
|
||||
<% form_tag({ :action => 'edit_membership', :id => @user, :membership_id => membership }, :class => "tabular") do %>
|
||||
<p style="margin:0;padding-top:0;">
|
||||
<label><%= membership.project.name %></label>
|
||||
<select name="membership[role_id]">
|
||||
<%= options_from_collection_for_select @roles, "id", "name", membership.role_id %>
|
||||
</select>
|
||||
<%= submit_tag l(:button_change), :class => "button-small" %>
|
||||
<%= link_to l(:button_delete), {:action => 'destroy_membership', :id => @user, :membership_id => membership }, :confirm => l(:text_are_you_sure), :method => :post, :class => 'icon icon-del' %>
|
||||
</p>
|
||||
<% end %>
|
||||
<% if @memberships.any? %>
|
||||
<table class="list memberships">
|
||||
<thead>
|
||||
<th><%= l(:label_project) %></th>
|
||||
<th><%= l(:label_role) %></th>
|
||||
<th style="width:15%"></th>
|
||||
</thead>
|
||||
<tbody>
|
||||
<% @memberships.each do |membership| %>
|
||||
<% next if membership.new_record? %>
|
||||
<tr class="<%= cycle 'odd', 'even' %>">
|
||||
<td><%=h membership.project %></td>
|
||||
<td align="center">
|
||||
<% form_tag({ :action => 'edit_membership', :id => @user, :membership_id => membership }) do %>
|
||||
<%= select_tag 'membership[role_id]', options_from_collection_for_select(@roles, "id", "name", membership.role_id) %>
|
||||
<%= submit_tag l(:button_change), :class => "small" %>
|
||||
<% end %>
|
||||
</td>
|
||||
<td align="center">
|
||||
<%= link_to l(:button_delete), {:action => 'destroy_membership', :id => @user, :membership_id => membership }, :method => :post, :class => 'icon icon-del' %>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
<% end; reset_cycle %>
|
||||
</table>
|
||||
<% else %>
|
||||
<p class="nodata"><%= l(:label_no_data) %></p>
|
||||
<% end %>
|
||||
|
||||
<% unless @projects.empty? || @roles.empty? %>
|
||||
<hr />
|
||||
<% if @projects.any? %>
|
||||
<p>
|
||||
<label><%=l(:label_project_new)%></label><br/>
|
||||
<% form_tag({ :action => 'edit_membership', :id => @user }) do %>
|
||||
<select name="membership[project_id]">
|
||||
<%= options_from_collection_for_select @projects, "id", "name", @membership.project_id %>
|
||||
</select>
|
||||
<%= select_tag 'membership[project_id]', projects_options_for_select(@projects) %>
|
||||
<%= l(:label_role) %>:
|
||||
<select name="membership[role_id]">
|
||||
<%= options_from_collection_for_select @roles, "id", "name", @membership.role_id %>
|
||||
</select>
|
||||
<%= select_tag 'membership[role_id]', options_from_collection_for_select(@roles, "id", "name") %>
|
||||
<%= submit_tag l(:button_add) %>
|
||||
<% end %>
|
||||
</p>
|
||||
<% end %>
|
||||
</div>
|
||||
@@ -1,8 +1,27 @@
|
||||
<h2><%=l(:label_user)%></h2>
|
||||
<div class="contextual">
|
||||
<%= change_status_link(@user) %>
|
||||
</div>
|
||||
|
||||
<% labelled_tabular_form_for :user, @user, :url => { :action => "edit" } do |f| %>
|
||||
<%= render :partial => 'form', :locals => { :f => f } %>
|
||||
<%= submit_tag l(:button_save) %>
|
||||
<% end %>
|
||||
<h2><%=l(:label_user)%>: <%=h @user.login %></h2>
|
||||
|
||||
<%= render :partial => 'memberships' %>
|
||||
<% selected_tab = params[:tab] ? params[:tab].to_s : user_settings_tabs.first[:name] %>
|
||||
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<% user_settings_tabs.each do |tab| -%>
|
||||
<li><%= link_to l(tab[:label]), { :tab => tab[:name] },
|
||||
:id => "tab-#{tab[:name]}",
|
||||
:class => (tab[:name] != selected_tab ? nil : 'selected'),
|
||||
:onclick => "showTab('#{tab[:name]}'); this.blur(); return false;" %></li>
|
||||
<% end -%>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<% user_settings_tabs.each do |tab| -%>
|
||||
<%= content_tag('div', render(:partial => tab[:partial]),
|
||||
:id => "tab-content-#{tab[:name]}",
|
||||
:style => (tab[:name] != selected_tab ? 'display:none' : nil),
|
||||
:class => 'tab-content') %>
|
||||
<% end -%>
|
||||
|
||||
<% html_title(l(:label_user), @user.login, l(:label_administration)) -%>
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
<% form_tag({}, :method => :get) do %>
|
||||
<fieldset><legend><%= l(:label_filter_plural) %></legend>
|
||||
<label><%= l(:field_status) %> :</label>
|
||||
<%= select_tag 'status', status_options_for_select(@status), :class => "small", :onchange => "this.form.submit(); return false;" %>
|
||||
<%= select_tag 'status', users_status_options_for_select(@status), :class => "small", :onchange => "this.form.submit(); return false;" %>
|
||||
</fieldset>
|
||||
<% end %>
|
||||
|
||||
@@ -27,10 +27,10 @@
|
||||
<tbody>
|
||||
<% for user in @users -%>
|
||||
<tr class="user <%= cycle("odd", "even") %> <%= %w(anon active registered locked)[user.status] %>">
|
||||
<td class="username"><%= link_to user.login, :action => 'edit', :id => user %></td>
|
||||
<td class="firstname"><%=h user.firstname %></td>
|
||||
<td class="lastname"><%=h user.lastname %></td>
|
||||
<td class="email"><%=h user.mail %></td>
|
||||
<td class="username"><%= link_to h(user.login), :action => 'edit', :id => user %></td>
|
||||
<td class="firstname"><%= h(user.firstname) %></td>
|
||||
<td class="lastname"><%= h(user.lastname) %></td>
|
||||
<td class="email"><%= mail_to(h(user.mail)) %></td>
|
||||
<td class="group"><%=h user.group %></td>
|
||||
<td align="center"><%= image_tag('true.png') if user.admin? %></td>
|
||||
<td class="created_on" align="center"><%= format_time(user.created_on) %></td>
|
||||
|
||||
@@ -38,7 +38,7 @@
|
||||
<fieldset class="related-issues"><legend><%= l(:label_related_issues) %></legend>
|
||||
<ul>
|
||||
<% issues.each do |issue| -%>
|
||||
<li class="issue <%= 'closed' if issue.closed? %>"><%= link_to_issue(issue) %>: <%=h issue.subject %></li>
|
||||
<li><%= link_to_issue(issue) %>: <%=h issue.subject %></li>
|
||||
<% end -%>
|
||||
</ul>
|
||||
</fieldset>
|
||||
|
||||
@@ -0,0 +1,25 @@
|
||||
<div class="contextual">
|
||||
<%= link_to_remote l(:button_add),
|
||||
:url => {:controller => 'watchers',
|
||||
:action => 'new',
|
||||
:object_type => watched.class.name.underscore,
|
||||
:object_id => watched} if User.current.allowed_to?(:add_issue_watchers, @project) %>
|
||||
</div>
|
||||
|
||||
<p><strong><%= l(:label_issue_watchers) %></strong></p>
|
||||
<%= watchers_list(watched) %>
|
||||
|
||||
<% unless @watcher.nil? %>
|
||||
<% remote_form_for(:watcher, @watcher,
|
||||
:url => {:controller => 'watchers',
|
||||
:action => 'new',
|
||||
:object_type => watched.class.name.underscore,
|
||||
:object_id => watched},
|
||||
:method => :post,
|
||||
:html => {:id => 'new-watcher-form'}) do |f| %>
|
||||
<p><%= f.select :user_id, (watched.addable_watcher_users.collect {|m| [m.name, m.id]}), :prompt => true %>
|
||||
|
||||
<%= submit_tag l(:button_add) %>
|
||||
<%= toggle_link l(:button_cancel), 'new-watcher-form'%></p>
|
||||
<% end %>
|
||||
<% end %>
|
||||
@@ -12,17 +12,19 @@
|
||||
</div>
|
||||
|
||||
<div class="splitcontentright">
|
||||
<% if @projects.any? %>
|
||||
<div class="box">
|
||||
<h3 class="icon22 icon22-projects"><%=l(:label_project_latest)%></h3>
|
||||
<ul>
|
||||
<% for project in @projects %>
|
||||
<li>
|
||||
<%= link_to project.name, :controller => 'projects', :action => 'show', :id => project %> (<%= format_time(project.created_on) %>)
|
||||
<%= link_to h(project.name), :controller => 'projects', :action => 'show', :id => project %> (<%= format_time(project.created_on) %>)
|
||||
<%= textilizable project.short_description, :project => project %>
|
||||
</li>
|
||||
<% end %>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<% end %>
|
||||
</div>
|
||||
|
||||
<% content_for :header_tags do %>
|
||||
|
||||
@@ -6,6 +6,10 @@
|
||||
<style>
|
||||
body { font:80% Verdana,Tahoma,Arial,sans-serif; }
|
||||
h1, h2, h3, h4 { font-family: Trebuchet MS,Georgia,"Times New Roman",serif; }
|
||||
ul.toc { padding: 4px; margin-left: 0; }
|
||||
ul.toc li { list-style-type:none; }
|
||||
ul.toc li.heading2 { margin-left: 1em; }
|
||||
ul.toc li.heading3 { margin-left: 2em; }
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
<% line_num = 1 %>
|
||||
<% @versions.each do |ver| %>
|
||||
<tr class="<%= cycle("odd", "even") %>">
|
||||
<td class="id"><%= link_to ver.version, :action => 'index', :page => @page.title, :version => ver.version %></th>
|
||||
<td class="id"><%= link_to ver.version, :action => 'index', :page => @page.title, :version => ver.version %></td>
|
||||
<td class="checkbox"><%= radio_button_tag('version', ver.version, (line_num==1), :id => "cb-#{line_num}", :onclick => "$('cbto-#{line_num+1}').checked=true;") if show_diff && (line_num < @versions.size) %></td>
|
||||
<td class="checkbox"><%= radio_button_tag('version_from', ver.version, (line_num==2), :id => "cbto-#{line_num}", :onclick => "if ($('cb-#{line_num}').checked==true || $('version_from').value > #{ver.version}) {$('cb-#{line_num-1}').checked=true;}") if show_diff && (line_num > 1) %></td>
|
||||
<td align="center"><%= format_time(ver.updated_on) %></td>
|
||||
@@ -30,6 +30,6 @@
|
||||
<% end %>
|
||||
</tbody>
|
||||
</table>
|
||||
<%= submit_tag l(:label_view_diff), :class => 'small' %>
|
||||
<%= submit_tag l(:label_view_diff), :class => 'small' if show_diff %>
|
||||
<span class="pagination"><%= pagination_links_full @version_pages, @version_count, :page_param => :p %></span>
|
||||
<% end %>
|
||||
|
||||
@@ -4,8 +4,9 @@
|
||||
|
||||
<% labelled_tabular_form_for :wiki_page, @page, :url => { :action => 'rename' } do |f| %>
|
||||
<div class="box">
|
||||
<p><%= f.text_field :title, :required => true, :size => 255 %></p>
|
||||
<p><%= f.text_field :title, :required => true, :size => 100 %></p>
|
||||
<p><%= f.check_box :redirect_existing_links %></p>
|
||||
<p><%= f.text_field :parent_title, :size => 100 %></p>
|
||||
</div>
|
||||
<%= submit_tag l(:button_rename) %>
|
||||
<% end %>
|
||||
|
||||
@@ -1,11 +1,17 @@
|
||||
<div class="contextual">
|
||||
<% if @editable %>
|
||||
<%= link_to_if_authorized(l(:button_edit), {:action => 'edit', :page => @page.title}, :class => 'icon icon-edit', :accesskey => accesskey(:edit)) if @content.version == @page.content.version %>
|
||||
<%= link_to_if_authorized(l(:button_lock), {:action => 'protect', :page => @page.title, :protected => 1}, :method => :post, :class => 'icon icon-lock') if !@page.protected? %>
|
||||
<%= link_to_if_authorized(l(:button_unlock), {:action => 'protect', :page => @page.title, :protected => 0}, :method => :post, :class => 'icon icon-unlock') if @page.protected? %>
|
||||
<%= link_to_if_authorized(l(:button_rename), {:action => 'rename', :page => @page.title}, :class => 'icon icon-move') if @content.version == @page.content.version %>
|
||||
<%= link_to_if_authorized(l(:button_delete), {:action => 'destroy', :page => @page.title}, :method => :post, :confirm => l(:text_are_you_sure), :class => 'icon icon-del') %>
|
||||
<%= link_to_if_authorized(l(:button_rollback), {:action => 'edit', :page => @page.title, :version => @content.version }, :class => 'icon icon-cancel') if @content.version < @page.content.version %>
|
||||
<% end %>
|
||||
<%= link_to(l(:label_history), {:action => 'history', :page => @page.title}, :class => 'icon icon-history') %>
|
||||
</div>
|
||||
|
||||
<%= breadcrumb(@page.ancestors.reverse.collect {|parent| link_to h(parent.pretty_title), {:page => parent.title}}) %>
|
||||
|
||||
<% if @content.version != @page.content.version %>
|
||||
<p>
|
||||
<%= link_to(('« ' + l(:label_previous)), :action => 'index', :page => @page.title, :version => (@content.version - 1)) + " - " if @content.version > 1 %>
|
||||
@@ -22,9 +28,9 @@
|
||||
|
||||
<%= render(:partial => "wiki/content", :locals => {:content => @content}) %>
|
||||
|
||||
<%= link_to_attachments @page.attachments, :delete_url => (authorize_for('wiki', 'destroy_attachment') ? {:controller => 'wiki', :action => 'destroy_attachment', :page => @page.title} : nil) %>
|
||||
<%= link_to_attachments @page.attachments, :delete_url => ((@editable && authorize_for('wiki', 'destroy_attachment')) ? {:controller => 'wiki', :action => 'destroy_attachment', :page => @page.title} : nil) %>
|
||||
|
||||
<% if authorize_for('wiki', 'add_attachment') %>
|
||||
<% if @editable && authorize_for('wiki', 'add_attachment') %>
|
||||
<p><%= link_to l(:label_attachment_new), {}, :onclick => "Element.show('add_attachment_form'); Element.hide(this); Element.scrollTo('add_attachment_form'); return false;",
|
||||
:id => 'attach_files_link' %></p>
|
||||
<% form_tag({ :controller => 'wiki', :action => 'add_attachment', :page => @page.title }, :multipart => true, :id => "add_attachment_form", :style => "display:none;") do %>
|
||||
|
||||
@@ -4,11 +4,7 @@
|
||||
<p class="nodata"><%= l(:label_no_data) %></p>
|
||||
<% end %>
|
||||
|
||||
<ul><% @pages.each do |page| %>
|
||||
<li><%= link_to page.pretty_title, {:action => 'index', :page => page.title},
|
||||
:title => l(:label_updated_time, distance_of_time_in_words(Time.now, page.updated_on)) %>
|
||||
</li>
|
||||
<% end %></ul>
|
||||
<%= render_page_hierarchy(@pages_by_parent_id) %>
|
||||
|
||||
<% content_for :sidebar do %>
|
||||
<%= render :partial => 'sidebar' %>
|
||||
|
||||
Reference in New Issue
Block a user