effective_committees 0.5.1 → 0.6.1
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/admin/committee_folders_controller.rb +2 -0
- data/app/datatables/admin/effective_committee_files_datatable.rb +2 -0
- data/app/models/effective/committee_file.rb +7 -3
- data/app/models/effective/committee_folder.rb +6 -0
- data/app/views/admin/committee_files/_form_committee_file.html.haml +9 -4
- data/app/views/admin/committee_folders/_form.html.haml +2 -0
- data/app/views/admin/committee_folders/_form_bulk_upload.html.haml +3 -0
- data/app/views/admin/committee_folders/_form_committee_folder.html.haml +2 -2
- data/app/views/admin/committee_members/_form_committee_member.html.haml +2 -2
- data/app/views/admin/committees/_fields.html.haml +2 -2
- data/app/views/effective/committees/_dashboard_activity.html.haml +3 -4
- data/app/views/effective/committees/_form.html.haml +1 -1
- data/db/migrate/101_create_effective_committees.rb +2 -0
- data/lib/effective_committees/version.rb +1 -1
- metadata +2 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 4a528b08eb7dc0d58d450aaa85a537a2795b1eee6f2786d98c76f32fd1570fa8
|
|
4
|
+
data.tar.gz: f2d84ed3da7694d91d49035852da6a9a2da0c036fb0343845426032d178068fe
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 0f66144da2d5716c7a0bd7e0be84f7da454200f3b9933bfb574924b67e73cf40d12f48f6b3e2f3cb6c09253a97d437c41def61cc53a64bb79ea280cbd4fb2051
|
|
7
|
+
data.tar.gz: 7ca4214b46b4ac71deaf33e9725fd7b798ba7b511781ca99d4a999bef28f063119a8f10d776f77044763ede1b4f5b9db6d7ee2570defd98464816f00c1aa8d93
|
|
@@ -18,11 +18,14 @@ module Effective
|
|
|
18
18
|
file_id :integer
|
|
19
19
|
file_created_at :datetime
|
|
20
20
|
|
|
21
|
+
position :integer
|
|
22
|
+
|
|
21
23
|
timestamps
|
|
22
24
|
end
|
|
23
25
|
|
|
24
|
-
before_validation do
|
|
25
|
-
self.committee ||= committee_folder
|
|
26
|
+
before_validation(if: -> { committee_folder.present? }) do
|
|
27
|
+
self.committee ||= committee_folder.committee
|
|
28
|
+
self.position ||= (committee_folder.committee_files.map { |obj| obj.position }.compact.max || -1) + 1
|
|
26
29
|
end
|
|
27
30
|
|
|
28
31
|
before_validation(if: -> { file.attached? }) do
|
|
@@ -30,10 +33,11 @@ module Effective
|
|
|
30
33
|
end
|
|
31
34
|
|
|
32
35
|
scope :deep, -> { with_attached_file.includes(:committee, :committee_folder) }
|
|
33
|
-
scope :sorted, -> { order(:
|
|
36
|
+
scope :sorted, -> { order(:position) }
|
|
34
37
|
|
|
35
38
|
validates :title, presence: true
|
|
36
39
|
validates :file, presence: true
|
|
40
|
+
validates :position, presence: true, if: -> { committee_folder.present? }
|
|
37
41
|
|
|
38
42
|
def to_s
|
|
39
43
|
title.presence || 'file'
|
|
@@ -12,6 +12,8 @@ module Effective
|
|
|
12
12
|
has_rich_text :body
|
|
13
13
|
has_many :committee_files, -> { Effective::CommitteeFile.sorted.deep }, dependent: :destroy, inverse_of: :committee_folder
|
|
14
14
|
|
|
15
|
+
has_many_attached :files
|
|
16
|
+
|
|
15
17
|
effective_resource do
|
|
16
18
|
title :string
|
|
17
19
|
slug :string
|
|
@@ -38,5 +40,9 @@ module Effective
|
|
|
38
40
|
title.presence || 'folder'
|
|
39
41
|
end
|
|
40
42
|
|
|
43
|
+
def bulk_upload!
|
|
44
|
+
files.each { |file| committee_files.create(file: file.blob) }
|
|
45
|
+
true
|
|
46
|
+
end
|
|
41
47
|
end
|
|
42
48
|
end
|
|
@@ -6,11 +6,16 @@
|
|
|
6
6
|
|
|
7
7
|
- if inline_datatable? && inline_datatable.attributes[:committee_folder_id].present?
|
|
8
8
|
= f.hidden_field :committee_folder_id
|
|
9
|
-
- elsif
|
|
10
|
-
= f.
|
|
9
|
+
- elsif f.object.persisted?
|
|
10
|
+
= f.static_field :committee
|
|
11
|
+
= f.select :committee_folder_id, Effective::CommitteeFolder.where(committee: f.object.committee), label: "Folder"
|
|
11
12
|
- else
|
|
12
|
-
= f.select :committee_id, Effective::Committee.sorted.all
|
|
13
|
-
|
|
13
|
+
= f.select :committee_id, Effective::Committee.sorted.all,
|
|
14
|
+
'data-load-ajax-url': effective_committees.new_admin_committee_file_path,
|
|
15
|
+
'data-load-ajax-div': '#effective-committees-ajax'
|
|
16
|
+
|
|
17
|
+
#effective-committees-ajax
|
|
18
|
+
= f.select :committee_folder_id, Effective::CommitteeFolder.where(committee: f.object.committee), label: "Folder"
|
|
14
19
|
|
|
15
20
|
= f.file_field :file
|
|
16
21
|
= f.text_area :notes
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
= tabs do
|
|
2
2
|
- if committee_folder.persisted?
|
|
3
3
|
= tab 'Folder Files' do
|
|
4
|
+
= render('admin/committee_folders/form_bulk_upload', committee_folder: committee_folder)
|
|
5
|
+
|
|
4
6
|
- datatable = Admin::EffectiveCommitteeFilesDatatable.new(committee_folder: committee_folder, committee: committee_folder.committee)
|
|
5
7
|
= render_inline_datatable(datatable)
|
|
6
8
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
= effective_form_with(model: [:admin, committee_folder], engine: true) do |f|
|
|
2
2
|
- if inline_datatable?
|
|
3
|
-
= f.hidden_field :committee_id
|
|
4
3
|
= f.hidden_field :committee_type
|
|
4
|
+
= f.hidden_field :committee_id
|
|
5
5
|
- else
|
|
6
6
|
= f.select :committee, { committees_label => Effective::Committee.sorted }, polymorphic: true
|
|
7
7
|
|
|
@@ -14,4 +14,4 @@
|
|
|
14
14
|
- else
|
|
15
15
|
= f.rich_text_area :body, hint: "Displayed on the #{committee_folder_label} page"
|
|
16
16
|
|
|
17
|
-
=
|
|
17
|
+
= f.submit
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
= f.select :user_ids, current_user.class.all, label: 'Select user(s)', required: true, ajax_url: ajax_url
|
|
16
16
|
|
|
17
17
|
- if inline_datatable? && inline_datatable.attributes[:user_id].present?
|
|
18
|
-
= f.select :committee_ids, Effective::Committee.sorted.all, label: "Select #{
|
|
18
|
+
= f.select :committee_ids, Effective::Committee.sorted.all, label: "Select #{committee_label}(s)"
|
|
19
19
|
|
|
20
20
|
- unless inline_datatable?
|
|
21
21
|
= f.select :committee_id, Effective::Committee.sorted.all
|
|
@@ -29,7 +29,7 @@
|
|
|
29
29
|
|
|
30
30
|
.row
|
|
31
31
|
.col= f.date_field :start_on
|
|
32
|
-
.col= f.date_field :end_on, hint: 'End dating will remove access'
|
|
32
|
+
.col= f.date_field :end_on, hint: 'End dating will remove access', date_linked: false
|
|
33
33
|
|
|
34
34
|
- if EffectiveCommittees.use_effective_roles
|
|
35
35
|
= f.checks :roles, EffectiveRoles.roles_collection(f.object, skip_disabled: true)
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
= acts_as_slugged_fields(f, url: (effective_committees.committee_url(f.object) rescue nil))
|
|
4
4
|
|
|
5
|
-
= f.check_box :display_on_index, label: "Show on the member-only #{link_to "Volunteers and Committees", effective_committees.volunteers_and_committees_path} page"
|
|
6
|
-
= f.check_box :display_on_dashboard, label: "Show on the
|
|
5
|
+
= f.check_box :display_on_index, label: "Show on the member-only #{link_to "Volunteers and Committees", effective_committees.volunteers_and_committees_path, target: '_blank'} page"
|
|
6
|
+
= f.check_box :display_on_dashboard, label: "Show on the #{link_to "My #{committee_label.pluralize}", effective_committees.committees_path, target: '_blank'} page".html_safe
|
|
7
7
|
|
|
8
8
|
- if defined?(EffectiveArticleEditor)
|
|
9
9
|
= f.article_editor :body, hint: "Shown on the #{committee_label} page."
|
|
@@ -11,15 +11,14 @@
|
|
|
11
11
|
- committee_folder = log.associated.try(:committee_folder) || log.associated
|
|
12
12
|
- link_to_committee_folder = link_to(committee_folder, effective_committees.committee_committee_folder_path(committee, committee_folder))
|
|
13
13
|
|
|
14
|
-
|
|
15
|
-
|
|
14
|
+
- committee_file = log.associated.try(:file).try(:blob)
|
|
15
|
+
- link_to_file = link_to(log.associated, (committee_file ? url_for(committee_file) : '#'))
|
|
16
16
|
|
|
17
17
|
- if logs.length == 1 && log.associated_type == 'Effective::CommitteeFolder'
|
|
18
18
|
%li Folder #{link_to_committee_folder} was added to #{link_to_committee}.
|
|
19
19
|
|
|
20
20
|
- elsif logs.length == 1 && log.associated_type == 'Effective::CommitteeFile'
|
|
21
|
-
%li File {
|
|
22
|
-
-# %li File #{link_to_file} was added to #{link_to_committee} → #{link_to_committee_folder}.
|
|
21
|
+
%li File #{link_to_file} was added to #{link_to_committee} → #{link_to_committee_folder}.
|
|
23
22
|
|
|
24
23
|
- elsif logs.length > 1 && logs.all? { |log| log.associated_type == 'Effective::CommitteeFile' }
|
|
25
24
|
%li #{logs.length} files were added to #{link_to_committee} → #{link_to_committee_folder}.
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: effective_committees
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.6.1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Code and Effect
|
|
@@ -202,6 +202,7 @@ files:
|
|
|
202
202
|
- app/views/admin/committee_files/_form.html.haml
|
|
203
203
|
- app/views/admin/committee_files/_form_committee_file.html.haml
|
|
204
204
|
- app/views/admin/committee_folders/_form.html.haml
|
|
205
|
+
- app/views/admin/committee_folders/_form_bulk_upload.html.haml
|
|
205
206
|
- app/views/admin/committee_folders/_form_committee_folder.html.haml
|
|
206
207
|
- app/views/admin/committee_members/_form.html.haml
|
|
207
208
|
- app/views/admin/committee_members/_form_committee_member.html.haml
|