Redmine 3.4.4

This commit is contained in:
Manuel Cillero 2018-02-02 22:19:29 +01:00
commit 64924a6376
2112 changed files with 259028 additions and 0 deletions

View 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 %>

View 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 %>

View 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>

View 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 %>

View 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 %>

View file

@ -0,0 +1 @@
$('#tab-content-memberships').html('<%= escape_javascript(render :partial => 'principal_memberships/index', :locals => {:principal => @principal}) %>');

View file

@ -0,0 +1,3 @@
<%= title "#{@membership.principal} - #{@membership.project}" %>
<%= render :partial => 'edit' %>

View file

@ -0,0 +1,2 @@
$("#member-<%= @membership.id %>-roles").hide();
$("#member-<%= @membership.id %>-form").html("<%= escape_javascript(render :partial => "edit") %>");

View 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 %>

View 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');
}
}
});

View 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 %>