##// END OF EJS Templates
Removes duplicate ids (#15485)....
Jean-Philippe Lang -
r12382:e9689f5fe326
parent child
Show More
@@ -1,65 +1,65
1 1 <% roles = Role.find_all_givable %>
2 2 <% projects = Project.active.all %>
3 3
4 4 <div class="splitcontentleft">
5 5 <% if @group.memberships.any? %>
6 6 <table class="list memberships">
7 7 <thead><tr>
8 8 <th><%= l(:label_project) %></th>
9 9 <th><%= l(:label_role_plural) %></th>
10 10 <th style="width:15%"></th>
11 11 </tr></thead>
12 12 <tbody>
13 13 <% @group.memberships.each do |membership| %>
14 14 <% next if membership.new_record? %>
15 15 <tr id="member-<%= membership.id %>" class="<%= cycle 'odd', 'even' %> class">
16 16 <td class="project"><%= link_to_project membership.project %></td>
17 17 <td class="roles">
18 18 <span id="member-<%= membership.id %>-roles"><%=h membership.roles.sort.collect(&:to_s).join(', ') %></span>
19 19 <%= form_for(:membership, :remote => true,
20 20 :url => { :action => 'edit_membership', :id => @group, :membership_id => membership },
21 21 :html => { :id => "member-#{membership.id}-roles-form", :style => 'display:none;'}) do %>
22 22 <p><% roles.each do |role| %>
23 <label><%= check_box_tag 'membership[role_ids][]', role.id, membership.roles.include?(role) %> <%=h role %></label><br />
23 <label><%= check_box_tag 'membership[role_ids][]', role.id, membership.roles.include?(role), :id => nil %> <%=h role %></label><br />
24 24 <% end %></p>
25 25 <p><%= submit_tag l(:button_change) %>
26 26 <%= link_to_function(
27 27 l(:button_cancel),
28 28 "$('#member-#{membership.id}-roles').show(); $('#member-#{membership.id}-roles-form').hide(); return false;"
29 29 ) %></p>
30 30 <% end %>
31 31 </td>
32 32 <td class="buttons">
33 33 <%= link_to_function(
34 34 l(:button_edit),
35 35 "$('#member-#{membership.id}-roles').hide(); $('#member-#{membership.id}-roles-form').show(); return false;",
36 36 :class => 'icon icon-edit'
37 37 ) %>
38 38 <%= delete_link({:controller => 'groups', :action => 'destroy_membership', :id => @group, :membership_id => membership},
39 39 :remote => true,
40 40 :method => :post) %>
41 41 </td>
42 42 </tr>
43 43 <% end; reset_cycle %>
44 44 </tbody>
45 45 </table>
46 46 <% else %>
47 47 <p class="nodata"><%= l(:label_no_data) %></p>
48 48 <% end %>
49 49 </div>
50 50
51 51 <div class="splitcontentright">
52 52 <% if projects.any? %>
53 53 <fieldset><legend><%=l(:label_project_new)%></legend>
54 54 <%= form_for(:membership, :remote => true, :url => { :action => 'edit_membership', :id => @group }) do %>
55 55 <%= label_tag "membership_project_id", l(:description_choose_project), :class => "hidden-for-sighted" %>
56 56 <%= select_tag 'membership[project_id]', options_for_membership_project_select(@group, projects) %>
57 57 <p><%= l(:label_role_plural) %>:
58 58 <% roles.each do |role| %>
59 <label><%= check_box_tag 'membership[role_ids][]', role.id %> <%=h role %></label>
59 <label><%= check_box_tag 'membership[role_ids][]', role.id, false, :id => nil %> <%=h role %></label>
60 60 <% end %></p>
61 61 <p><%= submit_tag l(:button_add) %></p>
62 62 <% end %>
63 63 </fieldset>
64 64 <% end %>
65 65 </div>
@@ -1,100 +1,102
1 1 <%= error_messages_for 'project' %>
2 2
3 3 <div class="box tabular">
4 4 <!--[form:project]-->
5 5 <p><%= f.text_field :name, :required => true, :size => 60 %></p>
6 6
7 7 <p><%= f.text_area :description, :rows => 8, :class => 'wiki-edit' %></p>
8 8 <p><%= f.text_field :identifier, :required => true, :size => 60, :disabled => @project.identifier_frozen?, :maxlength => Project::IDENTIFIER_MAX_LENGTH %>
9 9 <% unless @project.identifier_frozen? %>
10 10 <em class="info"><%= l(:text_length_between, :min => 1, :max => Project::IDENTIFIER_MAX_LENGTH) %> <%= l(:text_project_identifier_info).html_safe %></em>
11 11 <% end %></p>
12 12 <p><%= f.text_field :homepage, :size => 60 %></p>
13 13 <p><%= f.check_box :is_public %></p>
14 14
15 15 <% unless @project.allowed_parents.compact.empty? %>
16 16 <p><%= label(:project, :parent_id, l(:field_parent)) %><%= parent_project_select_tag(@project) %></p>
17 17 <% end %>
18 18
19 19 <% if @project.safe_attribute? 'inherit_members' %>
20 20 <p><%= f.check_box :inherit_members %></p>
21 21 <% end %>
22 22
23 23 <%= wikitoolbar_for 'project_description' %>
24 24
25 25 <% @project.custom_field_values.each do |value| %>
26 26 <p><%= custom_field_tag_with_label :project, value %></p>
27 27 <% end %>
28 28 <%= call_hook(:view_projects_form, :project => @project, :form => f) %>
29 29 </div>
30 30
31 31 <% if @project.new_record? %>
32 32 <fieldset class="box tabular"><legend><%= l(:label_module_plural) %></legend>
33 33 <% Redmine::AccessControl.available_project_modules.each do |m| %>
34 34 <label class="floating">
35 35 <%= check_box_tag 'project[enabled_module_names][]', m, @project.module_enabled?(m), :id => "project_enabled_module_names_#{m}" %>
36 36 <%= l_or_humanize(m, :prefix => "project_module_") %>
37 37 </label>
38 38 <% end %>
39 39 <%= hidden_field_tag 'project[enabled_module_names][]', '' %>
40 40 </fieldset>
41 41 <% end %>
42 42
43 43 <% if @project.new_record? || @project.module_enabled?('issue_tracking') %>
44 44 <% unless @trackers.empty? %>
45 45 <fieldset class="box tabular" id="project_trackers"><legend><%=l(:label_tracker_plural)%></legend>
46 46 <% @trackers.each do |tracker| %>
47 47 <label class="floating">
48 <%= check_box_tag 'project[tracker_ids][]', tracker.id, @project.trackers.include?(tracker) %>
48 <%= check_box_tag 'project[tracker_ids][]', tracker.id, @project.trackers.include?(tracker), :id => nil %>
49 49 <%=h tracker %>
50 50 </label>
51 51 <% end %>
52 52 <%= hidden_field_tag 'project[tracker_ids][]', '' %>
53 53 </fieldset>
54 54 <% end %>
55 55
56 56 <% unless @issue_custom_fields.empty? %>
57 57 <fieldset class="box tabular" id="project_issue_custom_fields"><legend><%=l(:label_custom_field_plural)%></legend>
58 58 <% @issue_custom_fields.each do |custom_field| %>
59 59 <label class="floating">
60 <%= 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"} : {}) %>
60 <%= check_box_tag 'project[issue_custom_field_ids][]', custom_field.id, (@project.all_issue_custom_fields.include? custom_field),
61 :disabled => (custom_field.is_for_all? ? "disabled" : nil),
62 :id => nil %>
61 63 <%=h custom_field.name %>
62 64 </label>
63 65 <% end %>
64 66 <%= hidden_field_tag 'project[issue_custom_field_ids][]', '' %>
65 67 </fieldset>
66 68 <% end %>
67 69 <% end %>
68 70 <!--[eoform:project]-->
69 71
70 72 <% unless @project.identifier_frozen? %>
71 73 <% content_for :header_tags do %>
72 74 <%= javascript_include_tag 'project_identifier' %>
73 75 <% end %>
74 76 <% end %>
75 77
76 78 <% if !User.current.admin? && @project.inherit_members? && @project.parent && User.current.member_of?(@project.parent) %>
77 79 <%= javascript_tag do %>
78 80 $(document).ready(function() {
79 81 $("#project_inherit_members").change(function(){
80 82 if (!$(this).is(':checked')) {
81 83 if (!confirm("<%= escape_javascript(l(:text_own_membership_delete_confirmation)) %>")) {
82 84 $("#project_inherit_members").attr("checked", true);
83 85 }
84 86 }
85 87 });
86 88 });
87 89 <% end %>
88 90 <% end %>
89 91
90 92 <%= javascript_tag do %>
91 93 $(document).ready(function() {
92 94 $('#project_enabled_module_names_issue_tracking').on('change', function(){
93 95 if ($(this).attr('checked')){
94 96 $('#project_trackers, #project_issue_custom_fields').show();
95 97 } else {
96 98 $('#project_trackers, #project_issue_custom_fields').hide();
97 99 }
98 100 }).trigger('change');
99 101 });
100 102 <% end %>
@@ -1,89 +1,90
1 1 <%= error_messages_for 'member' %>
2 2 <% roles = Role.find_all_givable
3 3 members = @project.member_principals.includes(:member_roles, :roles, :principal).all.sort %>
4 4
5 5 <div class="splitcontentleft">
6 6 <% if members.any? %>
7 7 <table class="list members">
8 8 <thead><tr>
9 9 <th><%= l(:label_user) %> / <%= l(:label_group) %></th>
10 10 <th><%= l(:label_role_plural) %></th>
11 11 <th style="width:15%"></th>
12 12 <%= call_hook(:view_projects_settings_members_table_header, :project => @project) %>
13 13 </tr></thead>
14 14 <tbody>
15 15 <% members.each do |member| %>
16 16 <% next if member.new_record? %>
17 17 <tr id="member-<%= member.id %>" class="<%= cycle 'odd', 'even' %> member">
18 18 <td class="name <%= member.principal.class.name.downcase %>"><%= link_to_user member.principal %></td>
19 19 <td class="roles">
20 20 <span id="member-<%= member.id %>-roles"><%= member.roles.sort.collect(&:to_s).join(', ') %></span>
21 21 <%= form_for(member,
22 22 {:as => :membership, :remote => true,
23 23 :url => membership_path(member),
24 24 :method => :put,
25 25 :html => { :id => "member-#{member.id}-roles-form", :class => 'hol' }}
26 26 ) do |f| %>
27 27 <p>
28 28 <% roles.each do |role| %>
29 29 <label>
30 30 <%= check_box_tag('membership[role_ids][]',
31 31 role.id, member.roles.include?(role),
32 :id => nil,
32 33 :disabled => member.member_roles.detect {
33 34 |mr| mr.role_id == role.id && !mr.inherited_from.nil?
34 35 } ) %> <%= role %>
35 36 </label><br />
36 37 <% end %>
37 38 </p>
38 39 <%= hidden_field_tag 'membership[role_ids][]', '' %>
39 40 <p>
40 41 <%= submit_tag l(:button_save), :class => "small" %>
41 42 <%= link_to_function(l(:button_cancel),
42 43 "$('#member-#{member.id}-roles').show(); $('#member-#{member.id}-roles-form').hide(); return false;") %>
43 44 </p>
44 45 <% end %>
45 46 </td>
46 47 <td class="buttons">
47 48 <%= link_to_function l(:button_edit),
48 49 "$('#member-#{member.id}-roles').hide(); $('#member-#{member.id}-roles-form').show(); return false;",
49 50 :class => 'icon icon-edit' %>
50 51 <%= delete_link membership_path(member),
51 52 :remote => true,
52 53 :data => (!User.current.admin? && member.include?(User.current) ? {:confirm => l(:text_own_membership_delete_confirmation)} : {}) if member.deletable? %>
53 54 </td>
54 55 <%= call_hook(:view_projects_settings_members_table_row, { :project => @project, :member => member}) %>
55 56 </tr>
56 57 <% end; reset_cycle %>
57 58 </tbody>
58 59 </table>
59 60 <% else %>
60 61 <p class="nodata"><%= l(:label_no_data) %></p>
61 62 <% end %>
62 63 </div>
63 64
64 65 <div class="splitcontentright">
65 66 <% if roles.any? %>
66 67 <%= form_for(@member,
67 68 {:as => :membership, :url => project_memberships_path(@project),
68 69 :remote => true, :method => :post}) do |f| %>
69 70 <fieldset>
70 71 <legend><%=l(:label_member_new)%></legend>
71 72 <p>
72 73 <%= label_tag("principal_search", l(:label_principal_search)) %>
73 74 <%= text_field_tag('principal_search', nil) %>
74 75 </p>
75 76 <%= javascript_tag "observeSearchfield('principal_search', null, '#{ escape_javascript autocomplete_project_memberships_path(@project, :format => 'js') }')" %>
76 77 <div id="principals_for_new_member">
77 78 <%= render_principals_for_new_members(@project) %>
78 79 </div>
79 80 <p>
80 81 <%= l(:label_role_plural) %>:
81 82 <% roles.each do |role| %>
82 <label><%= check_box_tag 'membership[role_ids][]', role.id %> <%= role %></label>
83 <label><%= check_box_tag 'membership[role_ids][]', role.id, false, :id => nil %> <%= role %></label>
83 84 <% end %>
84 85 </p>
85 86 <p><%= submit_tag l(:button_add), :id => 'member-add-submit' %></p>
86 87 </fieldset>
87 88 <% end %>
88 89 <% end %>
89 90 </div>
@@ -1,18 +1,18
1 1 <%= form_for @project,
2 2 :url => { :action => 'modules', :id => @project },
3 3 :html => {:id => 'modules-form',
4 4 :method => :post} do |f| %>
5 5
6 6 <fieldset class="box">
7 7 <legend><%= l(:text_select_project_modules) %></legend>
8 8
9 9 <% Redmine::AccessControl.available_project_modules.each do |m| %>
10 <p><label><%= check_box_tag 'enabled_module_names[]', m, @project.module_enabled?(m) -%>
10 <p><label><%= check_box_tag 'enabled_module_names[]', m, @project.module_enabled?(m), :id => nil -%>
11 11 <%= l_or_humanize(m, :prefix => "project_module_") %></label></p>
12 12 <% end %>
13 13 </fieldset>
14 14 <p><%= check_all_links 'modules-form' %></p>
15 15
16 16 <p><%= submit_tag l(:button_save) %></p>
17 17
18 18 <% end %>
@@ -1,32 +1,32
1 1 <%= error_messages_for 'role' %>
2 2
3 3 <% unless @role.anonymous? %>
4 4 <div class="box tabular">
5 5 <% unless @role.builtin? %>
6 6 <p><%= f.text_field :name, :required => true %></p>
7 7 <p><%= f.check_box :assignable %></p>
8 8 <% end %>
9 9 <p><%= f.select :issues_visibility, Role::ISSUES_VISIBILITY_OPTIONS.collect {|v| [l(v.last), v.first]} %></p>
10 10 <% if @role.new_record? && @roles.any? %>
11 11 <p><label for="copy_workflow_from"><%= l(:label_copy_workflow_from) %></label>
12 12 <%= select_tag(:copy_workflow_from, content_tag("option") + options_from_collection_for_select(@roles, :id, :name, params[:copy_workflow_from] || @copy_from.try(:id))) %></p>
13 13 <% end %>
14 14 </div>
15 15 <% end %>
16 16
17 17 <h3><%= l(:label_permissions) %></h3>
18 18 <div class="box tabular" id="permissions">
19 19 <% perms_by_module = @role.setable_permissions.group_by {|p| p.project_module.to_s} %>
20 20 <% perms_by_module.keys.sort.each do |mod| %>
21 21 <fieldset><legend><%= mod.blank? ? l(:label_project) : l_or_humanize(mod, :prefix => 'project_module_') %></legend>
22 22 <% perms_by_module[mod].each do |permission| %>
23 23 <label class="floating">
24 <%= check_box_tag 'role[permissions][]', permission.name, (@role.permissions.include? permission.name) %>
24 <%= check_box_tag 'role[permissions][]', permission.name, (@role.permissions.include? permission.name), :id => nil %>
25 25 <%= l_or_humanize(permission.name, :prefix => 'permission_') %>
26 26 </label>
27 27 <% end %>
28 28 </fieldset>
29 29 <% end %>
30 30 <br /><%= check_all_links 'permissions' %>
31 31 <%= hidden_field_tag 'role[permissions][]', '' %>
32 32 </div>
@@ -1,52 +1,52
1 1 <%= error_messages_for 'tracker' %>
2 2
3 3 <div class="splitcontentleft">
4 4 <div class="box tabular">
5 5 <!--[form:tracker]-->
6 6 <p><%= f.text_field :name, :required => true %></p>
7 7 <p><%= f.check_box :is_in_roadmap %></p>
8 8
9 9 <p>
10 10 <label><%= l(:field_core_fields) %></label>
11 11 <% Tracker::CORE_FIELDS.each do |field| %>
12 12 <label class="block">
13 <%= check_box_tag 'tracker[core_fields][]', field, @tracker.core_fields.include?(field) %>
13 <%= check_box_tag 'tracker[core_fields][]', field, @tracker.core_fields.include?(field), :id => nil %>
14 14 <%= l("field_#{field}".sub(/_id$/, '')) %>
15 15 </label>
16 16 <% end %>
17 17 </p>
18 18 <%= hidden_field_tag 'tracker[core_fields][]', '' %>
19 19
20 20 <% if IssueCustomField.all.any? %>
21 21 <p>
22 22 <label><%= l(:label_custom_field_plural) %></label>
23 23 <% IssueCustomField.all.each do |field| %>
24 24 <label class="block">
25 <%= check_box_tag 'tracker[custom_field_ids][]',field.id, @tracker.custom_fields.to_a.include?(field) %>
25 <%= check_box_tag 'tracker[custom_field_ids][]',field.id, @tracker.custom_fields.to_a.include?(field), :id => nil %>
26 26 <%=h field.name %>
27 27 </label>
28 28 <% end %>
29 29 </p>
30 30 <%= hidden_field_tag 'tracker[custom_field_ids][]', '' %>
31 31 <% end %>
32 32
33 33 <% if @tracker.new_record? && @trackers.any? %>
34 34 <p><label for="copy_workflow_from"><%= l(:label_copy_workflow_from) %></label>
35 35 <%= select_tag(:copy_workflow_from, content_tag("option") + options_from_collection_for_select(@trackers, :id, :name)) %></p>
36 36 <% end %>
37 37 <!--[eoform:tracker]-->
38 38 </div>
39 39 <%= submit_tag l(@tracker.new_record? ? :button_create : :button_save) %>
40 40 </div>
41 41
42 42 <div class="splitcontentright">
43 43 <% if @projects.any? %>
44 44 <fieldset class="box" id="tracker_project_ids"><legend><%= l(:label_project_plural) %></legend>
45 45 <%= render_project_nested_lists(@projects) do |p|
46 46 content_tag('label', check_box_tag('tracker[project_ids][]', p.id, @tracker.projects.to_a.include?(p), :id => nil) + ' ' + h(p))
47 47 end %>
48 48 <%= hidden_field_tag('tracker[project_ids][]', '', :id => nil) %>
49 49 <p><%= check_all_links 'tracker_project_ids' %></p>
50 50 </fieldset>
51 51 <% end %>
52 52 </div>
General Comments 0
You need to be logged in to leave comments. Login now