Role-based issue custom field visibility (#5037).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12012 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
1 parent
a74d55edd9
commit
628d05629b
41 files changed
+953
-121
No files matched your search
@@ -64,6 +64,24 @@ when "IssueCustomField" %>
|
||||
<p><%= f.check_box :is_for_all %></p>
|
||||
<p><%= f.check_box :is_filter %></p>
|
||||
<p><%= f.check_box :searchable %></p>
|
||||
<p>
|
||||
<label><%= l(:field_visible) %></label>
|
||||
<label class="block">
|
||||
<%= radio_button_tag 'custom_field[visible]', 1, @custom_field.visible?, :id => 'custom_field_visible_on' %>
|
||||
<%= l(:label_visibility_public) %>
|
||||
</label>
|
||||
<label class="block">
|
||||
<%= radio_button_tag 'custom_field[visible]', 0, !@custom_field.visible?, :id => 'custom_field_visible_off' %>
|
||||
<%= l(:label_visibility_roles) %>:
|
||||
</label>
|
||||
<% Role.givable.sorted.each do |role| %>
|
||||
<label class="block custom_field_role" style="padding-left:2em;">
|
||||
<%= check_box_tag 'custom_field[role_ids][]', role.id, @custom_field.roles.include?(role) %>
|
||||
<%= role.name %>
|
||||
</label>
|
||||
<% end %>
|
||||
<%= hidden_field_tag 'custom_field[role_ids][]', '' %>
|
||||
</p>
|
||||
|
||||
<% when "UserCustomField" %>
|
||||
<p><%= f.check_box :is_required %></p>
|
||||
@@ -97,3 +115,12 @@ when "IssueCustomField" %>
|
||||
</div>
|
||||
|
||||
<% include_calendar_headers_tags %>
|
||||
|
||||
<%= javascript_tag do %>
|
||||
function toggleCustomFieldRoles(){
|
||||
var checked = $("#custom_field_visible_on").is(':checked');
|
||||
$('.custom_field_role input').attr('disabled', checked);
|
||||
}
|
||||
$("#custom_field_visible_on, #custom_field_visible_off").change(toggleCustomFieldRoles);
|
||||
$(document).ready(toggleCustomFieldRoles);
|
||||
<% end %>
|
||||
@@ -8,7 +8,7 @@
|
||||
|
||||
<% if journal.details.any? %>
|
||||
<ul class="details">
|
||||
<% details_to_strings(journal.details).each do |string| %>
|
||||
<% details_to_strings(journal.visible_details).each do |string| %>
|
||||
<li><%= string %></li>
|
||||
<% end %>
|
||||
</ul>
|
||||
|
||||
@@ -19,7 +19,7 @@ api.array :issues, api_meta(:total_count => @issue_count, :offset => @offset, :l
|
||||
api.done_ratio issue.done_ratio
|
||||
api.estimated_hours issue.estimated_hours
|
||||
|
||||
render_api_custom_values issue.custom_field_values, api
|
||||
render_api_custom_values issue.visible_custom_field_values, api
|
||||
|
||||
api.created_on issue.created_on
|
||||
api.updated_on issue.updated_on
|
||||
|
||||
@@ -18,7 +18,7 @@ api.issue do
|
||||
api.estimated_hours @issue.estimated_hours
|
||||
api.spent_hours(@issue.spent_hours) if User.current.allowed_to?(:view_time_entries, @project)
|
||||
|
||||
render_api_custom_values @issue.custom_field_values, api
|
||||
render_api_custom_values @issue.visible_custom_field_values, api
|
||||
|
||||
api.created_on @issue.created_on
|
||||
api.updated_on @issue.updated_on
|
||||
@@ -55,7 +55,7 @@ api.issue do
|
||||
api.notes journal.notes
|
||||
api.created_on journal.created_on
|
||||
api.array :details do
|
||||
journal.details.each do |detail|
|
||||
journal.visible_details.each do |detail|
|
||||
api.detail :property => detail.property, :name => detail.prop_key do
|
||||
api.old_value detail.old_value
|
||||
api.new_value detail.value
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
<li><%=l(:field_assigned_to)%>: <%=h issue.assigned_to %></li>
|
||||
<li><%=l(:field_category)%>: <%=h issue.category %></li>
|
||||
<li><%=l(:field_fixed_version)%>: <%=h issue.fixed_version %></li>
|
||||
<% issue.custom_field_values.each do |c| %>
|
||||
<% issue.visible_custom_field_values(users.first).each do |c| %>
|
||||
<li><%=h c.custom_field.name %>: <%=h show_value(c) %></li>
|
||||
<% end %>
|
||||
</ul>
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
* <%=l(:field_assigned_to)%>: <%= issue.assigned_to %>
|
||||
* <%=l(:field_category)%>: <%= issue.category %>
|
||||
* <%=l(:field_fixed_version)%>: <%= issue.fixed_version %>
|
||||
<% issue.custom_field_values.each do |c| %>* <%= c.custom_field.name %>: <%= show_value(c) %>
|
||||
<% issue.visible_custom_field_values(users.first).each do |c| %>* <%= c.custom_field.name %>: <%= show_value(c) %>
|
||||
<% end -%>
|
||||
----------------------------------------
|
||||
<%= issue.description %>
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
<%= l(:text_issue_added, :id => "##{@issue.id}", :author => h(@issue.author)) %>
|
||||
<hr />
|
||||
<%= render :partial => 'issue', :formats => [:html], :locals => { :issue => @issue, :issue_url => @issue_url } %>
|
||||
<%= render :partial => 'issue', :formats => [:html], :locals => { :issue => @issue, :users => @users, :issue_url => @issue_url } %>
|
||||
@@ -1,4 +1,4 @@
|
||||
<%= l(:text_issue_added, :id => "##{@issue.id}", :author => @issue.author) %>
|
||||
|
||||
----------------------------------------
|
||||
<%= render :partial => 'issue', :formats => [:text], :locals => { :issue => @issue, :issue_url => @issue_url } %>
|
||||
<%= render :partial => 'issue', :formats => [:text], :locals => { :issue => @issue, :users => @users, :issue_url => @issue_url } %>
|
||||
@@ -4,11 +4,11 @@
|
||||
<%= l(:text_issue_updated, :id => "##{@issue.id}", :author => h(@journal.user)) %>
|
||||
|
||||
<ul>
|
||||
<% details_to_strings(@journal.details, false, :only_path => false).each do |string| %>
|
||||
<% details_to_strings(@journal_details, false, :only_path => false).each do |string| %>
|
||||
<li><%= string %></li>
|
||||
<% end %>
|
||||
</ul>
|
||||
|
||||
<%= textilizable(@journal, :notes, :only_path => false) %>
|
||||
<hr />
|
||||
<%= render :partial => 'issue', :formats => [:html], :locals => { :issue => @issue, :issue_url => @issue_url } %>
|
||||
<%= render :partial => 'issue', :formats => [:html], :locals => { :issue => @issue, :users => @users, :issue_url => @issue_url } %>
|
||||
@@ -1,6 +1,6 @@
|
||||
<%= "(#{l(:field_private_notes)}) " if @journal.private_notes? -%><%= l(:text_issue_updated, :id => "##{@issue.id}", :author => @journal.user) %>
|
||||
|
||||
<% details_to_strings(@journal.details, true).each do |string| -%>
|
||||
<% details_to_strings(@journal_details, true).each do |string| -%>
|
||||
<%= string %>
|
||||
<% end -%>
|
||||
|
||||
@@ -9,4 +9,4 @@
|
||||
|
||||
<% end -%>
|
||||
----------------------------------------
|
||||
<%= render :partial => 'issue', :formats => [:text], :locals => { :issue => @issue, :issue_url => @issue_url } %>
|
||||
<%= render :partial => 'issue', :formats => [:text], :locals => { :issue => @issue, :users => @users, :issue_url => @issue_url } %>
|
||||
@@ -62,7 +62,7 @@
|
||||
</td>
|
||||
<% for status in @statuses -%>
|
||||
<td align="center" class="<%= @permissions[status.id][field] %>">
|
||||
<%= field_permission_tag(@permissions, status, field) %>
|
||||
<%= field_permission_tag(@permissions, status, field, @role) %>
|
||||
<% unless status == @statuses.last %><a href="#" class="repeat-value">»</a><% end %>
|
||||
</td>
|
||||
<% end -%>
|
||||
@@ -82,7 +82,7 @@
|
||||
</td>
|
||||
<% for status in @statuses -%>
|
||||
<td align="center" class="<%= @permissions[status.id][field.id.to_s] %>">
|
||||
<%= field_permission_tag(@permissions, status, field) %>
|
||||
<%= field_permission_tag(@permissions, status, field, @role) %>
|
||||
<% unless status == @statuses.last %><a href="#" class="repeat-value">»</a><% end %>
|
||||
</td>
|
||||
<% end -%>
|
||||
|
||||
Reference in new issue
Block a user