Redmine 3.4.4
This commit is contained in:
commit
64924a6376
2112 changed files with 259028 additions and 0 deletions
19
app/views/principal_memberships/_edit.html.erb
Normal file
19
app/views/principal_memberships/_edit.html.erb
Normal file
|
@ -0,0 +1,19 @@
|
|||
<%= form_for(:membership, :url => principal_membership_path(@principal, @membership),
|
||||
:remote => request.xhr?,
|
||||
:method => :put) do %>
|
||||
<p>
|
||||
<% @roles.each do |role| %>
|
||||
<label>
|
||||
<%= check_box_tag 'membership[role_ids][]', role.id, @membership.roles.to_a.include?(role),
|
||||
:disabled => !@membership.role_editable?(role),
|
||||
:id => nil %> <%= role.name %>
|
||||
</label><br />
|
||||
<% end %>
|
||||
</p>
|
||||
<%= hidden_field_tag 'membership[role_ids][]', '', :id => nil %>
|
||||
<p>
|
||||
<%= submit_tag l(:button_save) %>
|
||||
<%= link_to_function l(:button_cancel),
|
||||
"$('#member-#{@membership.id}-roles').show(); $('#member-#{@membership.id}-form').empty(); return false;" if request.xhr? %>
|
||||
</p>
|
||||
<% end %>
|
39
app/views/principal_memberships/_index.html.erb
Normal file
39
app/views/principal_memberships/_index.html.erb
Normal file
|
@ -0,0 +1,39 @@
|
|||
<% memberships = principal.memberships.preload(:member_roles, :roles).sorted_by_project.to_a %>
|
||||
|
||||
<p><%= link_to l(:label_add_projects), new_principal_membership_path(principal), :remote => true, :class => "icon icon-add" %></p>
|
||||
|
||||
<% if memberships.any? %>
|
||||
<table class="list memberships">
|
||||
<thead><tr>
|
||||
<th><%= l(:label_project) %></th>
|
||||
<th><%= l(:label_role_plural) %></th>
|
||||
<th style="width:15%"></th>
|
||||
<%= call_table_header_hook principal %>
|
||||
</tr></thead>
|
||||
<tbody>
|
||||
<% memberships.each do |membership| %>
|
||||
<% next if membership.new_record? %>
|
||||
<tr id="member-<%= membership.id %>" class="class">
|
||||
<td class="project name">
|
||||
<%= link_to_project membership.project %>
|
||||
</td>
|
||||
<td class="roles">
|
||||
<span id="member-<%= membership.id %>-roles"><%=h membership.roles.sort.collect(&:to_s).join(', ') %></span>
|
||||
<div id="member-<%= membership.id %>-form"></div>
|
||||
</td>
|
||||
<td class="buttons">
|
||||
<%= link_to l(:button_edit),
|
||||
edit_principal_membership_path(principal, membership),
|
||||
:remote => true,
|
||||
:class => 'icon icon-edit'
|
||||
%>
|
||||
<%= delete_link principal_membership_path(principal, membership), :remote => true if membership.deletable? %>
|
||||
</td>
|
||||
<%= call_table_row_hook principal, membership %>
|
||||
</tr>
|
||||
<% end %>
|
||||
</tbody>
|
||||
</table>
|
||||
<% else %>
|
||||
<p class="nodata"><%= l(:label_no_data) %></p>
|
||||
<% end %>
|
24
app/views/principal_memberships/_new_form.html.erb
Normal file
24
app/views/principal_memberships/_new_form.html.erb
Normal file
|
@ -0,0 +1,24 @@
|
|||
<fieldset class="box">
|
||||
<legend><%= l(:label_project_plural) %> <%= toggle_checkboxes_link('.projects-selection input:enabled') %></legend>
|
||||
<div class="objects-selection">
|
||||
<div class="projects-selection">
|
||||
<%= render_project_nested_lists(@projects) do |p| %>
|
||||
<label>
|
||||
<%= check_box_tag('membership[project_ids][]', p.id, false, :id => nil, :disabled => @principal.member_of?(p)) %> <%= p %>
|
||||
</label>
|
||||
<% end %>
|
||||
</div>
|
||||
</div>
|
||||
</fieldset>
|
||||
|
||||
<fieldset class="box">
|
||||
<legend><%= l(:label_role_plural) %> <%= toggle_checkboxes_link('.roles-selection input') %></legend>
|
||||
<div class="roles-selection">
|
||||
<% @roles.each do |role| %>
|
||||
<label>
|
||||
<%= check_box_tag 'membership[role_ids][]', role.id, false, :id => nil %>
|
||||
<%= role %>
|
||||
</label>
|
||||
<% end %>
|
||||
</div>
|
||||
</fieldset>
|
9
app/views/principal_memberships/_new_modal.html.erb
Normal file
9
app/views/principal_memberships/_new_modal.html.erb
Normal file
|
@ -0,0 +1,9 @@
|
|||
<h3 class="title"><%= l(:label_add_projects) %></h3>
|
||||
|
||||
<%= form_for :membership, :remote => true, :url => user_memberships_path(@principal), :method => :post do |f| %>
|
||||
<%= render :partial => 'new_form' %>
|
||||
<p class="buttons">
|
||||
<%= submit_tag l(:button_add), :name => nil %>
|
||||
<%= submit_tag l(:button_cancel), :name => nil, :onclick => "hideModal(this);", :type => 'button' %>
|
||||
</p>
|
||||
<% end %>
|
12
app/views/principal_memberships/create.js.erb
Normal file
12
app/views/principal_memberships/create.js.erb
Normal file
|
@ -0,0 +1,12 @@
|
|||
$('#tab-content-memberships').html('<%= escape_javascript(render :partial => 'principal_memberships/index', :locals => {:principal => @principal}) %>');
|
||||
hideOnLoad();
|
||||
|
||||
<% if @members.present? && @members.all? {|m| m.persisted? } %>
|
||||
hideModal();
|
||||
<% @members.each do |member| %>
|
||||
$("#member-<%= member.id %>").effect("highlight");
|
||||
<% end %>
|
||||
<% elsif @members.present? %>
|
||||
<% errors = @members.collect {|m| m.errors.full_messages}.flatten.uniq.join(', ') %>
|
||||
alert('<%= raw(escape_javascript(l(:notice_failed_to_save_members, :errors => errors))) %>');
|
||||
<% end %>
|
1
app/views/principal_memberships/destroy.js.erb
Normal file
1
app/views/principal_memberships/destroy.js.erb
Normal file
|
@ -0,0 +1 @@
|
|||
$('#tab-content-memberships').html('<%= escape_javascript(render :partial => 'principal_memberships/index', :locals => {:principal => @principal}) %>');
|
3
app/views/principal_memberships/edit.html.erb
Normal file
3
app/views/principal_memberships/edit.html.erb
Normal file
|
@ -0,0 +1,3 @@
|
|||
<%= title "#{@membership.principal} - #{@membership.project}" %>
|
||||
|
||||
<%= render :partial => 'edit' %>
|
2
app/views/principal_memberships/edit.js.erb
Normal file
2
app/views/principal_memberships/edit.js.erb
Normal file
|
@ -0,0 +1,2 @@
|
|||
$("#member-<%= @membership.id %>-roles").hide();
|
||||
$("#member-<%= @membership.id %>-form").html("<%= escape_javascript(render :partial => "edit") %>");
|
6
app/views/principal_memberships/new.html.erb
Normal file
6
app/views/principal_memberships/new.html.erb
Normal file
|
@ -0,0 +1,6 @@
|
|||
<h2><%= l(:label_add_projects) %></h2>
|
||||
|
||||
<%= form_for :membership, :url => user_memberships_path(@principal), :method => :post do |f| %>
|
||||
<%= render :partial => 'new_form' %>
|
||||
<p><%= submit_tag l(:button_add), :name => nil %></p>
|
||||
<% end %>
|
13
app/views/principal_memberships/new.js.erb
Normal file
13
app/views/principal_memberships/new.js.erb
Normal file
|
@ -0,0 +1,13 @@
|
|||
$('#ajax-modal').html('<%= escape_javascript(render :partial => 'principal_memberships/new_modal') %>');
|
||||
showModal('ajax-modal', '700px');
|
||||
|
||||
$('.projects-selection').on('click', 'input[type=checkbox]', function(e){
|
||||
if (!$(this).is(':checked')) {
|
||||
if ($(this).closest('li').find('ul input[type=checkbox]:not(:checked)').length > 0) {
|
||||
$(this).closest('li').find('ul input[type=checkbox]:not(:checked)').attr('checked', 'checked');
|
||||
e.preventDefault();
|
||||
} else {
|
||||
$(this).closest('li').find('ul input[type=checkbox]:checked').removeAttr('checked');
|
||||
}
|
||||
}
|
||||
});
|
9
app/views/principal_memberships/update.js.erb
Normal file
9
app/views/principal_memberships/update.js.erb
Normal file
|
@ -0,0 +1,9 @@
|
|||
<% if @membership.destroyed? %>
|
||||
$("#member-<%= @membership.id %>").remove();
|
||||
<% elsif @membership.valid? %>
|
||||
$("#member-<%= @membership.id %>-form").empty();
|
||||
$("#member-<%= @membership.id %>-roles").html("<%= escape_javascript @membership.roles.sort.collect(&:to_s).join(', ') %>").show();
|
||||
$("#member-<%= @membership.id %>").effect("highlight");
|
||||
<% else %>
|
||||
alert('<%= raw(escape_javascript(l(:notice_failed_to_save_members, :errors => @membership.errors.full_messages.join(', ')))) %>');
|
||||
<% end %>
|
Loading…
Add table
Add a link
Reference in a new issue