From f5edd36558a5178e7a3fbde5b6fc828be27702b5 Mon Sep 17 00:00:00 2001
From: Frederico Camara
Date: Fri, 8 Nov 2019 10:58:48 -0300
Subject: [PATCH 05/21] Hide trackers and roles by workspace & workflow & color
roles
---
app/helpers/members_helper.rb | 10 ++++++++++
app/helpers/principal_memberships_helper.rb | 10 ++++++++++
app/helpers/projects_helper.rb | 4 ++++
app/views/members/_edit.html.erb | 14 +++++++++-----
app/views/members/_new_form.html.erb | 4 ++--
app/views/principal_memberships/_edit.html.erb | 10 +++++++---
app/views/principal_memberships/_new_form.html.erb | 2 +-
app/views/projects/_form.html.erb | 2 +-
app/views/projects/settings/_issues.html.erb | 4 ++--
public/stylesheets/application.css | 3 +++
10 files changed, 49 insertions(+), 14 deletions(-)
diff --git a/app/helpers/members_helper.rb b/app/helpers/members_helper.rb
index ff7ff1bff..fd187ee88 100644
--- a/app/helpers/members_helper.rb
+++ b/app/helpers/members_helper.rb
@@ -35,4 +35,14 @@ module MembersHelper
s + content_tag('span', links, :class => 'pagination')
end
+
+ def role_color_and_hide(role)
+ color_and_hide = ""
+ if ! role.assignable
+ color_and_hide += " style=color:darkblue"
+ elsif ! role.workflow_rules.where(:workspace_id => @project.workspace_id).any?
+ color_and_hide += " class=unused style=color:darkred"
+ end
+ color_and_hide
+ end
end
diff --git a/app/helpers/principal_memberships_helper.rb b/app/helpers/principal_memberships_helper.rb
index bf6898fde..4a34d510d 100644
--- a/app/helpers/principal_memberships_helper.rb
+++ b/app/helpers/principal_memberships_helper.rb
@@ -61,4 +61,14 @@ module PrincipalMembershipsHelper
user_membership_path(principal, membership, *args)
end
end
+
+ def role_color_and_hide(role, project = nil)
+ color_and_hide = ""
+ if ! role.assignable
+ color_and_hide += " style=color:darkblue"
+ elsif ! project.nil? && ! role.workflow_rules.where(:workspace_id => project.workspace_id).any?
+ color_and_hide += " class=unused style=color:darkred"
+ end
+ color_and_hide
+ end
end
diff --git a/app/helpers/projects_helper.rb b/app/helpers/projects_helper.rb
index 1dd7a84b7..57ac2e385 100644
--- a/app/helpers/projects_helper.rb
+++ b/app/helpers/projects_helper.rb
@@ -103,6 +103,10 @@ module ProjectsHelper
options_for_select(grouped, project.workspace_id)
end
+ def used_workspaces_by_tracker(tracker)
+ tracker.workflow_rules.map(&:workspace_id).uniq
+ end
+
def format_version_sharing(sharing)
sharing = 'none' unless Version::VERSION_SHARINGS.include?(sharing)
l("label_version_sharing_#{sharing}")
diff --git a/app/views/members/_edit.html.erb b/app/views/members/_edit.html.erb
index 91c340fec..da915fc55 100644
--- a/app/views/members/_edit.html.erb
+++ b/app/views/members/_edit.html.erb
@@ -3,15 +3,19 @@
:remote => request.xhr?,
:method => :put) do |f| %>
- <% @roles.each do |role| %>
-
+ <% @roles.each do |role| %>
+ >
<%= check_box_tag('membership[role_ids][]',
role.id, @member.roles.to_a.include?(role),
:id => nil,
:disabled => !@member.role_editable?(role)) %> <%= role %>
-
- <% end %>
-
+
+ <% end %>
<%= hidden_field_tag 'membership[role_ids][]', '', :id => nil %>
<%= submit_tag l(:button_save), :class => "small" %>
diff --git a/app/views/members/_new_form.html.erb b/app/views/members/_new_form.html.erb
index 70caa2600..7cca92f72 100644
--- a/app/views/members/_new_form.html.erb
+++ b/app/views/members/_new_form.html.erb
@@ -7,10 +7,10 @@
diff --git a/app/views/principal_memberships/_edit.html.erb b/app/views/principal_memberships/_edit.html.erb
index af05c4935..8662d2ec0 100644
--- a/app/views/principal_memberships/_edit.html.erb
+++ b/app/views/principal_memberships/_edit.html.erb
@@ -2,14 +2,18 @@
:remote => request.xhr?,
:method => :put) do %>
+
+ <%= l(:label_role_plural) %>
+ (<%= l(:label_all) %>):
+
+
<% @roles.each do |role| %>
-
<%= hidden_field_tag 'membership[role_ids][]', '', :id => nil %>
<%= submit_tag l(:button_save) %>
diff --git a/app/views/principal_memberships/_new_form.html.erb b/app/views/principal_memberships/_new_form.html.erb
index 90d91fc71..06ec18b5f 100644
--- a/app/views/principal_memberships/_new_form.html.erb
+++ b/app/views/principal_memberships/_new_form.html.erb
@@ -15,7 +15,7 @@
<% @roles.each do |role| %>
-