effective_committees 0.3.14 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/app/controllers/effective/committees_controller.rb +9 -0
- data/app/datatables/admin/effective_committee_files_datatable.rb +1 -2
- data/app/datatables/admin/effective_committee_members_datatable.rb +1 -0
- data/app/datatables/admin/effective_committees_datatable.rb +17 -5
- data/app/datatables/effective_committee_members_datatable.rb +1 -0
- data/app/datatables/effective_committees_datatable.rb +17 -8
- data/app/helpers/effective_committees_helper.rb +35 -0
- data/app/models/effective/committee.rb +3 -0
- data/app/models/effective/committee_member.rb +2 -0
- data/app/views/admin/committee_folders/_form.html.haml +4 -6
- data/app/views/admin/committee_members/_form.html.haml +7 -5
- data/app/views/admin/committees/_fields.html.haml +6 -5
- data/app/views/admin/committees/_form.html.haml +2 -2
- data/app/views/effective/committee_folders/_committee_folder.html.haml +8 -2
- data/app/views/effective/committee_members/_form.html.haml +3 -1
- data/app/views/effective/committees/_committee.html.haml +21 -2
- data/app/views/effective/committees/_dashboard.html.haml +14 -2
- data/app/views/effective/committees/_form.html.haml +1 -1
- data/app/views/effective/committees/_form_committee.html.haml +1 -1
- data/app/views/effective/committees/index.html.haml +30 -15
- data/app/views/effective/committees/my_committees.html.haml +46 -0
- data/config/routes.rb +2 -0
- data/db/migrate/101_create_effective_committees.rb +4 -0
- data/lib/effective_committees/version.rb +1 -1
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d8a33f8d6be9ba291dc023ec6e8446f7c4ca40cf66177622cfb85800f766d350
|
4
|
+
data.tar.gz: 3a1b0d3a1935cbc0eda280459ebe6438fc4e720ca3b1c71567a6c31d73edfd8c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: cd7e918cfc94e6002b680f6214e4ee1c6b299a472c7ea140ccb9ac6ea4875e8fabb11d9192d8c30b9dc8897c097b10bcdb55815911bbb7a5a5ae67c956e84bbd
|
7
|
+
data.tar.gz: 71c6f864296103d659ad309605b28ca71aeb53b9e12087c3f2013569419ddd8bfc5ecf52a030737e36aec42221a9efc241d5526531d8e5799428aa85bbd7228a
|
@@ -6,6 +6,15 @@ module Effective
|
|
6
6
|
|
7
7
|
resource_scope -> { Effective::Committee.all.deep }
|
8
8
|
|
9
|
+
def index
|
10
|
+
@committees = resource_scope.for_index
|
11
|
+
@page_title = EffectiveResources.et('effective_committees.name')
|
12
|
+
|
13
|
+
EffectiveResources.authorize!(self, :index, Effective::Committee)
|
14
|
+
|
15
|
+
render 'index'
|
16
|
+
end
|
17
|
+
|
9
18
|
private
|
10
19
|
|
11
20
|
def permitted_params
|
@@ -1,18 +1,30 @@
|
|
1
1
|
module Admin
|
2
2
|
class EffectiveCommitteesDatatable < Effective::Datatable
|
3
3
|
datatable do
|
4
|
-
|
5
4
|
col :updated_at, visible: false
|
6
5
|
col :created_at, visible: false
|
7
6
|
|
8
7
|
col :id, visible: false
|
9
8
|
|
10
|
-
col :title, label:
|
9
|
+
col :title, label: committee_label
|
11
10
|
col :slug, visible: false
|
12
11
|
col :body, visible: false
|
13
12
|
|
14
|
-
col :
|
15
|
-
col :
|
13
|
+
col :display_on_index, label: "Display on #{committees_name_label} page"
|
14
|
+
col :display_on_dashboard
|
15
|
+
|
16
|
+
col(:committee_members, label: committee_members_label) do |committee|
|
17
|
+
committee.committee_members.select(&:active?).sort_by(&:to_s).map do |member|
|
18
|
+
content_tag(:div, class: 'col-resource_item') do
|
19
|
+
label = link_to(member.to_s, "/admin/users/#{member.user_id}/edit")
|
20
|
+
badge = badge(member.category) if member.category.present?
|
21
|
+
|
22
|
+
[label, badge].compact.join(' ').html_safe
|
23
|
+
end
|
24
|
+
end.join.html_safe
|
25
|
+
end
|
26
|
+
|
27
|
+
col :committee_members_count, label: "#{committee_members_label} Count", visible: false
|
16
28
|
|
17
29
|
col :committee_folders, label: 'Folders', visible: false
|
18
30
|
col :committee_folders_count, label: 'Folders Count', visible: false
|
@@ -21,7 +33,7 @@ module Admin
|
|
21
33
|
col :committee_files_count, label: 'Files Count', visible: false
|
22
34
|
|
23
35
|
actions_col do |committee|
|
24
|
-
dropdown_link_to(
|
36
|
+
dropdown_link_to("View #{committee_label}", effective_committees.committee_path(committee), target: '_blank')
|
25
37
|
end
|
26
38
|
|
27
39
|
end
|
@@ -5,23 +5,32 @@ class EffectiveCommitteesDatatable < Effective::Datatable
|
|
5
5
|
|
6
6
|
col :id, visible: false
|
7
7
|
|
8
|
-
col :title, label:
|
8
|
+
col :title, label: committee_label
|
9
9
|
|
10
|
-
col
|
10
|
+
col(:committee_members, label: committee_members_label, visible: false) do |committee|
|
11
|
+
committee.committee_members.select(&:active?).sort_by(&:to_s).map do |member|
|
12
|
+
content_tag(:div, class: 'col-resource_item') do
|
13
|
+
label = link_to(member.to_s, "/admin/users/#{member.user_id}/edit")
|
14
|
+
badge = badge(member.category) if member.category.present?
|
11
15
|
|
12
|
-
|
13
|
-
|
16
|
+
[label, badge].compact.join(' ').html_safe
|
17
|
+
end
|
18
|
+
end.join.html_safe
|
19
|
+
end
|
20
|
+
|
21
|
+
col :committee_members_count, as: :string, label: committee_members_label do |committee|
|
22
|
+
pluralize(committee.committee_members.select(&:active?).length, committee_member_label.downcase)
|
14
23
|
end
|
15
24
|
|
16
25
|
col :committee_folders, label: 'Folders'
|
17
26
|
|
18
|
-
col :committee_folders_count, label: 'Folders', visible: false do |committee|
|
27
|
+
col :committee_folders_count, as: :string, label: 'Folders', visible: false do |committee|
|
19
28
|
pluralize(committee.committee_folders_count, 'folders')
|
20
29
|
end
|
21
30
|
|
22
31
|
col :committee_files, label: 'Files', visible: false
|
23
32
|
|
24
|
-
col :committee_files_count, label: 'Files' do |committee|
|
33
|
+
col :committee_files_count, as: :string, label: 'Files' do |committee|
|
25
34
|
pluralize(committee.committee_files_count, 'files')
|
26
35
|
end
|
27
36
|
|
@@ -29,8 +38,8 @@ class EffectiveCommitteesDatatable < Effective::Datatable
|
|
29
38
|
end
|
30
39
|
|
31
40
|
collection do
|
32
|
-
# This only displays active
|
33
|
-
Effective::Committee.deep.where(id: current_user.committees)
|
41
|
+
# This only displays committees published to the dashboard that the committee_member has active? access to
|
42
|
+
Effective::Committee.deep.for_dashboard.where(id: current_user.committees)
|
34
43
|
end
|
35
44
|
|
36
45
|
end
|
@@ -1,3 +1,38 @@
|
|
1
1
|
module EffectiveCommitteesHelper
|
2
2
|
|
3
|
+
def committees_name_label
|
4
|
+
et('effective_committees.name')
|
5
|
+
end
|
6
|
+
|
7
|
+
def committee_label
|
8
|
+
et(Effective::Committee)
|
9
|
+
end
|
10
|
+
|
11
|
+
def committees_label
|
12
|
+
ets(Effective::Committee)
|
13
|
+
end
|
14
|
+
|
15
|
+
def committee_member_label
|
16
|
+
et(Effective::CommitteeMember)
|
17
|
+
end
|
18
|
+
|
19
|
+
def committee_members_label
|
20
|
+
ets(Effective::CommitteeMember)
|
21
|
+
end
|
22
|
+
|
23
|
+
def committee_folder_label
|
24
|
+
et(Effective::CommitteeFolder)
|
25
|
+
end
|
26
|
+
|
27
|
+
def committee_folders_label
|
28
|
+
ets(Effective::CommitteeFolder)
|
29
|
+
end
|
30
|
+
|
31
|
+
def committee_file_label
|
32
|
+
et(Effective::CommitteeFile)
|
33
|
+
end
|
34
|
+
|
35
|
+
def committee_files_label
|
36
|
+
ets(Effective::CommitteeFile)
|
37
|
+
end
|
3
38
|
end
|
@@ -32,6 +32,9 @@ module Effective
|
|
32
32
|
scope :sorted, -> { order(:title) }
|
33
33
|
scope :deep, -> { with_rich_text_body.includes(committee_members: [:user], committee_folders: [:committee_files, :rich_text_body]) }
|
34
34
|
|
35
|
+
scope :for_dashboard, -> { where(display_on_dashboard: true) }
|
36
|
+
scope :for_index, -> { where(display_on_index: true) }
|
37
|
+
|
35
38
|
validates :title, presence: true, uniqueness: true, length: { maximum: 255 }
|
36
39
|
|
37
40
|
def to_s
|
@@ -3,18 +3,16 @@
|
|
3
3
|
= f.hidden_field :committee_id
|
4
4
|
= f.hidden_field :committee_type
|
5
5
|
- else
|
6
|
-
= f.select :committee, {
|
6
|
+
= f.select :committee, { committees_label => Effective::Committee.sorted }, polymorphic: true
|
7
7
|
|
8
8
|
= f.text_field :title
|
9
9
|
|
10
|
-
|
11
|
-
- current_url = (effective_committees.commitee_url(f.object) rescue nil)
|
12
|
-
= f.text_field :slug, hint: "The slug controls this committee's internet address. Be careful, changing the slug will break links that other websites may have to the old address.<br>#{('This folder is currently reachable via ' + link_to(current_url.gsub(f.object.slug, '<strong>' + f.object.slug + '</strong>').html_safe, current_url)) if current_url }".html_safe
|
10
|
+
= acts_as_slugged_fields(f, url: (effective_committees.commitee_url(f.object) rescue nil))
|
13
11
|
|
14
12
|
- if defined?(EffectiveArticleEditor)
|
15
|
-
= f.article_editor :body, hint:
|
13
|
+
= f.article_editor :body, hint: "Displayed on the #{committee_folder_label} page"
|
16
14
|
- else
|
17
|
-
= f.rich_text_area :body, hint:
|
15
|
+
= f.rich_text_area :body, hint: "Displayed on the #{commitee_fodler_label} page"
|
18
16
|
|
19
17
|
= f.submit
|
20
18
|
|
@@ -12,18 +12,20 @@
|
|
12
12
|
|
13
13
|
- if f.object.new_record?
|
14
14
|
- if inline_datatable? && inline_datatable.attributes[:committee_id].present?
|
15
|
-
= f.select :user_ids, current_user.class.all, label: 'Add user(s)', required: true, ajax_url: ajax_url, hint:
|
15
|
+
= f.select :user_ids, current_user.class.all, label: 'Add user(s)', required: true, ajax_url: ajax_url, hint: "Add one or more #{committee_member_label.downcase}"
|
16
16
|
|
17
17
|
- if inline_datatable? && inline_datatable.attributes[:user_id].present?
|
18
|
-
= f.select :committee_ids, Effective::Committee.sorted.all, label:
|
18
|
+
= f.select :committee_ids, Effective::Committee.sorted.all, label: "Add #{commitee_label}(s)", hint: "Add one or more #{commitees_label.downcase}"
|
19
19
|
|
20
20
|
- unless inline_datatable?
|
21
|
-
= f.select :committee_id, Effective::Committee.sorted.all
|
22
|
-
= f.select :user_ids, current_user.class.sorted, label: 'User(s)', required: true, ajax_url: ajax_url, hint:
|
21
|
+
= f.select :committee_id, Effective::Committee.sorted.all
|
22
|
+
= f.select :user_ids, current_user.class.sorted, label: 'User(s)', required: true, ajax_url: ajax_url, hint: "Add one or more #{committee_member_label.downcase}"
|
23
23
|
|
24
24
|
- if f.object.persisted?
|
25
25
|
= f.static_field :committee
|
26
|
-
= f.static_field :user, label:
|
26
|
+
= f.static_field :user, label: committee_member_label
|
27
|
+
|
28
|
+
= f.text_field :category
|
27
29
|
|
28
30
|
.row
|
29
31
|
.col= f.date_field :start_on, hint: 'optional start date'
|
@@ -1,10 +1,11 @@
|
|
1
1
|
= f.text_field :title
|
2
2
|
|
3
|
-
|
4
|
-
|
5
|
-
|
3
|
+
= acts_as_slugged_fields(f, url: (effective_committees.committee_url(f.object) rescue nil))
|
4
|
+
|
5
|
+
= f.check_box :display_on_index, label: "Display on the #{committees_name_label} page"
|
6
|
+
= f.check_box :display_on_dashboard, label: "Display to #{committee_members_label.downcase} on their dashboard"
|
6
7
|
|
7
8
|
- if defined?(EffectiveArticleEditor)
|
8
|
-
= f.article_editor :body, hint:
|
9
|
+
= f.article_editor :body, hint: "Displayed on the #{committee_label} page"
|
9
10
|
- else
|
10
|
-
= f.rich_text_area :body, hint:
|
11
|
+
= f.rich_text_area :body, hint: "Displayed on the #{committee_label} page"
|
@@ -1,9 +1,9 @@
|
|
1
1
|
= tabs do
|
2
|
-
= tab
|
2
|
+
= tab(committee_label) do
|
3
3
|
= render 'admin/committees/form_committee', committee: committee
|
4
4
|
|
5
5
|
- if committee.persisted?
|
6
|
-
= tab
|
6
|
+
= tab(Effective::CommitteeMember) do
|
7
7
|
- datatable = Admin::EffectiveCommitteeMembersDatatable.new(committee: committee)
|
8
8
|
= render_inline_datatable(datatable)
|
9
9
|
|
@@ -1,6 +1,12 @@
|
|
1
1
|
%nav{'aria-label': 'breadcrumb'}
|
2
2
|
%ol.breadcrumb
|
3
|
-
|
3
|
+
- if EffectiveResources.authorized?(self, :index, Effective::Committee)
|
4
|
+
%li.breadcrumb-item= link_to("All #{committees_label}", effective_committees.committees_path)
|
5
|
+
- elsif EffectiveResources.authorized?(self, :my_committees, Effective::Committee)
|
6
|
+
%li.breadcrumb-item= link_to("My #{committees_label}", effective_committees.my_committees_path)
|
7
|
+
- else
|
8
|
+
%li.breadcrumb-item= link_to("Home", root_path)
|
9
|
+
|
4
10
|
%li.breadcrumb-item= link_to(committee_folder.committee, effective_committees.committee_path(committee_folder.committee))
|
5
11
|
%li.breadcrumb-item.active{'aria-current': 'page'}= committee_folder
|
6
12
|
|
@@ -19,7 +25,7 @@
|
|
19
25
|
%tr
|
20
26
|
%td
|
21
27
|
- if file.file.attached?
|
22
|
-
= link_to(icon('download') + file.to_s, url_for(file.file), target: '_blank')
|
28
|
+
= link_to(icon('download') + ' ' + file.to_s, url_for(file.file), target: '_blank')
|
23
29
|
- else
|
24
30
|
= file.to_s
|
25
31
|
|
@@ -8,7 +8,7 @@
|
|
8
8
|
|
9
9
|
- if f.object.new_record?
|
10
10
|
- unless inline_datatable? && inline_datatable.attributes[:committee_id].present?
|
11
|
-
= f.select :committee, {
|
11
|
+
= f.select :committee, { committees_label => Effective::Committee.sorted }, polymorphic: true
|
12
12
|
|
13
13
|
.row
|
14
14
|
.col= f.date_field :start_on, hint: 'optional start date'
|
@@ -30,6 +30,8 @@
|
|
30
30
|
- unless inline_datatable? && inline_datatable.attributes[:user_id].present?
|
31
31
|
= f.static_field :user
|
32
32
|
|
33
|
+
= f.text_field :category
|
34
|
+
|
33
35
|
.row
|
34
36
|
.col= f.date_field :start_on, hint: 'optional start date'
|
35
37
|
.col= f.date_field :end_on, hint: 'optional end date'
|
@@ -1,12 +1,31 @@
|
|
1
1
|
%nav{'aria-label': 'breadcrumb'}
|
2
2
|
%ol.breadcrumb
|
3
|
-
|
3
|
+
- if EffectiveResources.authorized?(self, :index, Effective::Committee)
|
4
|
+
%li.breadcrumb-item= link_to("All #{committees_label}", effective_committees.committees_path)
|
5
|
+
- elsif EffectiveResources.authorized?(self, :my_committees, Effective::Committee)
|
6
|
+
%li.breadcrumb-item= link_to("My #{committees_label}", effective_committees.my_committees_path)
|
7
|
+
- else
|
8
|
+
%li.breadcrumb-item= link_to("Home", root_path)
|
9
|
+
|
4
10
|
%li.breadcrumb-item.active{'aria-current': 'page'}= committee
|
5
11
|
|
6
12
|
.effective-committee
|
7
13
|
- if committee.rich_text_body.present?
|
8
14
|
.mb-4= committee.rich_text_body.to_s
|
9
15
|
|
16
|
+
.mb-4
|
17
|
+
= collapse("Show #{committee_members_label.downcase}") do
|
18
|
+
- members = committee.committee_members.select(&:active?).sort_by(&:to_s)
|
19
|
+
|
20
|
+
%p= pluralize(members.length, committee_member_label.downcase)
|
21
|
+
|
22
|
+
%ul
|
23
|
+
- members.each do |member|
|
24
|
+
%li
|
25
|
+
= member.user.to_s
|
26
|
+
- if member.category.present?
|
27
|
+
= badge(member.category)
|
28
|
+
|
10
29
|
%table.table.table-striped
|
11
30
|
%thead
|
12
31
|
%tr
|
@@ -16,7 +35,7 @@
|
|
16
35
|
|
17
36
|
- committee.committee_folders.each do |folder|
|
18
37
|
%tr
|
19
|
-
%td= link_to(icon('folder') + folder.to_s, effective_committees.committee_committee_folder_path(committee, folder))
|
38
|
+
%td= link_to(icon('folder') + ' ' + folder.to_s, effective_committees.committee_committee_folder_path(committee, folder))
|
20
39
|
%td= pluralize(folder.committee_files.length, 'file')
|
21
40
|
%td= folder.body.to_s
|
22
41
|
|
@@ -1,8 +1,20 @@
|
|
1
|
-
%h2
|
1
|
+
%h2= committees_label
|
2
2
|
|
3
3
|
- if current_user.committees.present?
|
4
|
+
%p
|
5
|
+
You have access to #{pluralize(current_user.committees.length, committee_label.downcase)}.
|
6
|
+
|
7
|
+
- if EffectiveResources.authorized?(self, :index, Effective::Committee)
|
8
|
+
Please
|
9
|
+
= link_to('click here', effective_committees.committees_path)
|
10
|
+
to view all #{committees_label.downcase}.
|
11
|
+
- elsif EffectiveResources.authorized?(self, :my_committees, Effective::Committee)
|
12
|
+
Please
|
13
|
+
= link_to('click here', effective_committees.my_committees_path)
|
14
|
+
to view your #{committees_label.downcase}.
|
15
|
+
|
4
16
|
- datatable = EffectiveResources.best('EffectiveCommitteesDatatable').new(self, namespace: :effective)
|
5
17
|
= render_datatable(datatable, simple: true)
|
6
18
|
|
7
19
|
- else
|
8
|
-
%p You aren't assigned to any
|
20
|
+
%p You aren't assigned to any #{committees_label.downcase}. When you are, we'll show them here.
|
@@ -1,21 +1,36 @@
|
|
1
|
-
- committees = @committees.
|
2
|
-
|
3
|
-
%p
|
4
|
-
You have access to files for #{pluralize(committees.length, 'committee')}:
|
5
|
-
= committees.to_sentence
|
1
|
+
- committees = @committees.sorted
|
6
2
|
|
7
3
|
%nav{'aria-label': 'breadcrumb'}
|
8
4
|
%ol.breadcrumb
|
9
|
-
%li.breadcrumb-item
|
5
|
+
%li.breadcrumb-item= link_to("Home", root_path)
|
6
|
+
%li.breadcrumb-item.active{'aria-current': 'page'}= @page_title
|
7
|
+
|
8
|
+
%h1= @page_title
|
9
|
+
|
10
|
+
- if committees.blank?
|
11
|
+
%p There are no #{committees_label.downcase} to display.
|
12
|
+
- else
|
13
|
+
%p
|
14
|
+
= succeed('.') do
|
15
|
+
There are #{pluralize(committees.length, committee_label.downcase)} and
|
16
|
+
= pluralize(Effective::CommitteeMember.pluck(:user_id).uniq.length, committee_member_label.downcase)
|
10
17
|
|
11
18
|
.effective-committees
|
12
19
|
- committees.each do |committee|
|
13
|
-
=
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
20
|
+
%h3= committee
|
21
|
+
|
22
|
+
- members = committee.committee_members.select(&:active?).sort_by(&:to_s)
|
23
|
+
%ul
|
24
|
+
- members.each do |member|
|
25
|
+
%li
|
26
|
+
= member.user.to_s
|
27
|
+
- if member.category.present?
|
28
|
+
= badge(member.category)
|
29
|
+
|
30
|
+
- if members.blank?
|
31
|
+
%li No #{committee_members_label.downcase}
|
32
|
+
|
33
|
+
.my-4
|
34
|
+
|
35
|
+
.form-actions
|
36
|
+
= link_to 'Continue', return_to_dashboard_path, class: 'btn btn-primary mb-4'
|
@@ -0,0 +1,46 @@
|
|
1
|
+
- committees = @committees.sorted.where(id: current_user.committees)
|
2
|
+
|
3
|
+
%nav{'aria-label': 'breadcrumb'}
|
4
|
+
%ol.breadcrumb
|
5
|
+
- if EffectiveResources.authorized?(self, :index, Effective::Committee)
|
6
|
+
%li.breadcrumb-item= link_to("All #{committees_label}", effective_committees.committees_path)
|
7
|
+
- else
|
8
|
+
%li.breadcrumb-item= link_to("Home", root_path)
|
9
|
+
|
10
|
+
%li.breadcrumb-item.active{'aria-current': 'page'} My #{committees_label}
|
11
|
+
|
12
|
+
- if committees.blank?
|
13
|
+
%p There are no #{committees_label.downcase} to display.
|
14
|
+
|
15
|
+
- if committees.present?
|
16
|
+
%p You have access to #{pluralize(committees.length, committee_label.downcase)}: #{committees.to_sentence}
|
17
|
+
|
18
|
+
.effective-committees
|
19
|
+
- committees.each do |committee|
|
20
|
+
.card
|
21
|
+
.card-body
|
22
|
+
= link_to(icon('folder') + ' ' + committee.to_s, effective_committees.committee_path(committee))
|
23
|
+
|
24
|
+
= collapse("Show #{committee_members_label.downcase}", card_class: 'card card-body mt-4 mx-4', link_class: 'btn btn-link float-right') do
|
25
|
+
- members = committee.committee_members.select(&:active?).sort_by(&:to_s)
|
26
|
+
|
27
|
+
%p= pluralize(members.length, committee_member_label.downcase)
|
28
|
+
|
29
|
+
%ul
|
30
|
+
- members.each do |member|
|
31
|
+
%li
|
32
|
+
= member.user.to_s
|
33
|
+
- if member.category.present?
|
34
|
+
= badge(member.category)
|
35
|
+
|
36
|
+
%table.table.table-striped.mt-3.ml-4
|
37
|
+
- committee.committee_folders.each do |folder|
|
38
|
+
%tr
|
39
|
+
%td= link_to(icon('folder') + ' ' + folder.to_s, effective_committees.committee_committee_folder_path(committee, folder))
|
40
|
+
%td= pluralize(folder.committee_files.length, 'file')
|
41
|
+
%td= folder.body
|
42
|
+
|
43
|
+
.my-4
|
44
|
+
|
45
|
+
.form-actions
|
46
|
+
= link_to 'Continue', return_to_dashboard_path, class: 'btn btn-primary mb-4'
|
data/config/routes.rb
CHANGED
@@ -9,6 +9,9 @@ class CreateEffectiveCommittees < ActiveRecord::Migration[6.0]
|
|
9
9
|
t.integer :committee_folders_count, default: 0
|
10
10
|
t.integer :committee_files_count, default: 0
|
11
11
|
|
12
|
+
t.boolean :display_on_index, default: true
|
13
|
+
t.boolean :display_on_dashboard, default: true
|
14
|
+
|
12
15
|
t.datetime :updated_at
|
13
16
|
t.datetime :created_at
|
14
17
|
end
|
@@ -25,6 +28,7 @@ class CreateEffectiveCommittees < ActiveRecord::Migration[6.0]
|
|
25
28
|
t.string :user_type
|
26
29
|
|
27
30
|
t.integer :roles_mask
|
31
|
+
t.string :category
|
28
32
|
|
29
33
|
t.date :start_on
|
30
34
|
t.date :end_on
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: effective_committees
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.4.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Code and Effect
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2025-
|
11
|
+
date: 2025-08-08 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -214,6 +214,7 @@ files:
|
|
214
214
|
- app/views/effective/committees/_form.html.haml
|
215
215
|
- app/views/effective/committees/_form_committee.html.haml
|
216
216
|
- app/views/effective/committees/index.html.haml
|
217
|
+
- app/views/effective/committees/my_committees.html.haml
|
217
218
|
- config/effective_committees.rb
|
218
219
|
- config/locales/effective_committees.en.yml
|
219
220
|
- config/routes.rb
|