enju_subject 0.1.1 → 0.2.0.beta.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/README.rdoc +3 -3
- data/app/controllers/classification_types_controller.rb +13 -2
- data/app/controllers/classifications_controller.rb +12 -3
- data/app/controllers/concerns/enju_subject/controller.rb +27 -0
- data/app/controllers/subject_heading_types_controller.rb +13 -2
- data/app/controllers/subject_types_controller.rb +13 -2
- data/app/controllers/subjects_controller.rb +12 -4
- data/app/models/classification.rb +1 -1
- data/app/models/classification_type.rb +0 -1
- data/app/models/concerns/enju_subject/enju_manifestation.rb +37 -0
- data/app/models/subject.rb +1 -1
- data/app/models/subject_heading_type.rb +0 -1
- data/app/models/subject_type.rb +0 -1
- data/app/policies/classification_policy.rb +21 -0
- data/app/policies/classification_type_policy.rb +23 -0
- data/app/policies/subject_heading_type_policy.rb +23 -0
- data/app/policies/subject_policy.rb +21 -0
- data/app/policies/subject_type_policy.rb +21 -0
- data/app/views/classification_types/index.html.erb +4 -4
- data/app/views/classification_types/show.html.erb +2 -2
- data/app/views/classifications/index.html.erb +2 -2
- data/app/views/classifications/show.html.erb +2 -2
- data/app/views/manifestations/_classification_fields.html.erb +5 -0
- data/app/views/manifestations/_subject_facet.html.erb +2 -2
- data/app/views/manifestations/_subject_fields.html.erb +6 -0
- data/app/views/manifestations/_subject_form.html.erb +8 -9
- data/app/views/subject_heading_types/index.html.erb +4 -4
- data/app/views/subject_heading_types/show.html.erb +2 -2
- data/app/views/subject_types/index.html.erb +4 -4
- data/app/views/subject_types/show.html.erb +2 -2
- data/app/views/subjects/index.html.erb +3 -3
- data/app/views/subjects/index.rss.builder +2 -2
- data/app/views/subjects/show.html.erb +3 -3
- data/db/fixtures/subject_types.yml +4 -4
- data/lib/enju_subject/master_model.rb +3 -3
- data/lib/enju_subject/version.rb +1 -1
- data/lib/enju_subject.rb +0 -29
- data/lib/generators/enju_subject/setup/setup_generator.rb +6 -1
- data/lib/generators/enju_subject/setup/templates/db/fixtures/classification_types.yml +6 -0
- data/lib/generators/enju_subject/setup/templates/db/fixtures/subject_heading_types.yml +6 -6
- data/lib/tasks/enju_subject_tasks.rake +1 -1
- data/spec/controllers/classification_types_controller_spec.rb +13 -13
- data/spec/controllers/classifications_controller_spec.rb +9 -9
- data/spec/controllers/subject_heading_types_controller_spec.rb +58 -58
- data/spec/controllers/subject_types_controller_spec.rb +13 -13
- data/spec/controllers/subjects_controller_spec.rb +9 -9
- data/spec/dummy/app/controllers/application_controller.rb +8 -4
- data/spec/dummy/app/models/user.rb +1 -1
- data/spec/dummy/config/application.rb +5 -24
- data/spec/dummy/config/environments/development.rb +25 -14
- data/spec/dummy/config/environments/production.rb +50 -31
- data/spec/dummy/config/environments/test.rb +23 -18
- data/spec/dummy/config/initializers/enju_leaf.rb +1 -0
- data/spec/dummy/db/schema.rb +2 -1
- data/spec/lib/generators/enju_subject/setup/setup_generator_spec.rb +34 -0
- data/spec/support/devise.rb +2 -1
- metadata +95 -20
- data/app/models/enju_subject/ability.rb +0 -58
- data/lib/enju_subject/manifestation.rb +0 -44
- data/spec/dummy/app/models/ability.rb +0 -59
- data/spec/dummy/config/application.yml +0 -38
- data/spec/dummy/config/initializers/assets.rb +0 -12
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4634ca355d0b6c820085bdc7ea5f3d6694cd40b9
|
4
|
+
data.tar.gz: 7b4ff7ab670cf1d95ae0b8bfdbca0a617ddb6be0
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b990544941c243f050fff730c0c168f3c5601b27fa42432f57a1d99eb341b2e9e141bda6ea5e06d6c40923f0f25dd878ad5e1dbd814b14e1311bfc110768b9f4
|
7
|
+
data.tar.gz: 6259f4790c078008714c6f325eade1f753510b188173780abf801374892916cc1ec5408d06b7874663fabe641d6fdcbdc99be14d1d0b38c6ed3104bd5b18a2c6
|
data/README.rdoc
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
= EnjuSubject
|
2
|
-
{<img src="https://travis-ci.org/next-l/enju_subject.svg?branch=1.
|
3
|
-
{<img src="https://coveralls.io/repos/next-l/enju_subject/badge.svg?branch=1.
|
4
|
-
{<img src="https://hakiri.io/github/next-l/enju_subject/1.
|
2
|
+
{<img src="https://travis-ci.org/next-l/enju_subject.svg?branch=1.2" alt="Build Status" />}[https://travis-ci.org/next-l/enju_subject]
|
3
|
+
{<img src="https://coveralls.io/repos/next-l/enju_subject/badge.svg?branch=1.2&service=github" alt="Coverage Status" />}[https://coveralls.io/github/next-l/enju_subject?branch=1.2]
|
4
|
+
{<img src="https://hakiri.io/github/next-l/enju_subject/1.2.svg" alt="security" />}[https://hakiri.io/github/next-l/enju_subject/1.2]
|
5
5
|
|
6
6
|
This project rocks and uses MIT-LICENSE.
|
7
7
|
|
@@ -1,9 +1,11 @@
|
|
1
1
|
class ClassificationTypesController < ApplicationController
|
2
|
-
|
2
|
+
before_action :set_classification_type, only: [:show, :edit, :update, :destroy]
|
3
|
+
before_action :check_policy, only: [:index, :new, :create]
|
4
|
+
|
3
5
|
# GET /classification_types
|
4
6
|
# GET /classification_types.json
|
5
7
|
def index
|
6
|
-
@classification_types = ClassificationType.
|
8
|
+
@classification_types = ClassificationType.order(:position)
|
7
9
|
|
8
10
|
respond_to do |format|
|
9
11
|
format.html # index.html.erb
|
@@ -82,6 +84,15 @@ class ClassificationTypesController < ApplicationController
|
|
82
84
|
end
|
83
85
|
|
84
86
|
private
|
87
|
+
def set_classification_type
|
88
|
+
@classification_type = ClassificationType.find(params[:id])
|
89
|
+
authorize @classification_type
|
90
|
+
end
|
91
|
+
|
92
|
+
def check_policy
|
93
|
+
authorize ClassificationType
|
94
|
+
end
|
95
|
+
|
85
96
|
def classification_type_params
|
86
97
|
params.require(:classification_type).permit(:name, :display_name, :note)
|
87
98
|
end
|
@@ -1,8 +1,8 @@
|
|
1
1
|
# -*- encoding: utf-8 -*-
|
2
2
|
class ClassificationsController < ApplicationController
|
3
|
-
|
4
|
-
|
5
|
-
|
3
|
+
before_action :set_classification, only: [:show, :edit, :update, :destroy]
|
4
|
+
before_action :check_policy, only: [:index, :new, :create]
|
5
|
+
before_action :get_subject, :get_classification_type
|
6
6
|
|
7
7
|
# GET /classifications
|
8
8
|
# GET /classifications.json
|
@@ -109,6 +109,15 @@ class ClassificationsController < ApplicationController
|
|
109
109
|
end
|
110
110
|
|
111
111
|
private
|
112
|
+
def set_classification
|
113
|
+
@classification = Classification.find(params[:id])
|
114
|
+
authorize @classification
|
115
|
+
end
|
116
|
+
|
117
|
+
def check_policy
|
118
|
+
authorize Classification
|
119
|
+
end
|
120
|
+
|
112
121
|
def classification_params
|
113
122
|
params.require(:classification).permit(
|
114
123
|
:parent_id, :category, :note, :classification_type_id, :url, :label
|
@@ -0,0 +1,27 @@
|
|
1
|
+
module EnjuSubject
|
2
|
+
module Controller
|
3
|
+
|
4
|
+
private
|
5
|
+
|
6
|
+
def get_subject_heading_type
|
7
|
+
if params[:subject_heading_type_id]
|
8
|
+
@subject_heading_type = SubjectHeadingType.find(params[:subject_heading_type_id])
|
9
|
+
authorize @subject_heading_type, :show?
|
10
|
+
end
|
11
|
+
end
|
12
|
+
|
13
|
+
def get_subject
|
14
|
+
if params[:subject_id]
|
15
|
+
@subject = Subject.find(params[:subject_id])
|
16
|
+
authorize @subject, :show?
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
def get_classification
|
21
|
+
if params[:classification_id]
|
22
|
+
@classification = Classification.find(params[:classification_id])
|
23
|
+
authorize @classification, :show?
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
@@ -1,9 +1,11 @@
|
|
1
1
|
class SubjectHeadingTypesController < ApplicationController
|
2
|
-
|
2
|
+
before_action :set_subject_heading_type, only: [:show, :edit, :update, :destroy]
|
3
|
+
before_action :check_policy, only: [:index, :new, :create]
|
4
|
+
|
3
5
|
# GET /subject_heading_types
|
4
6
|
# GET /subject_heading_types.json
|
5
7
|
def index
|
6
|
-
@subject_heading_types = SubjectHeadingType.
|
8
|
+
@subject_heading_types = SubjectHeadingType.order(:position)
|
7
9
|
|
8
10
|
respond_to do |format|
|
9
11
|
format.html # index.html.erb
|
@@ -82,6 +84,15 @@ class SubjectHeadingTypesController < ApplicationController
|
|
82
84
|
end
|
83
85
|
|
84
86
|
private
|
87
|
+
def set_subject_heading_type
|
88
|
+
@subject_heading_type = SubjectHeadingType.find(params[:id])
|
89
|
+
authorize @subject_heading_type
|
90
|
+
end
|
91
|
+
|
92
|
+
def check_policy
|
93
|
+
authorize SubjectHeadingType
|
94
|
+
end
|
95
|
+
|
85
96
|
def subject_heading_type_params
|
86
97
|
params.require(:subject_heading_type).permit(:name, :display_name, :note)
|
87
98
|
end
|
@@ -1,9 +1,11 @@
|
|
1
1
|
class SubjectTypesController < ApplicationController
|
2
|
-
|
2
|
+
before_action :set_subject_type, only: [:show, :edit, :update, :destroy]
|
3
|
+
before_action :check_policy, only: [:index, :new, :create]
|
4
|
+
|
3
5
|
# GET /subject_types
|
4
6
|
# GET /subject_types.json
|
5
7
|
def index
|
6
|
-
@subject_types = SubjectType.
|
8
|
+
@subject_types = SubjectType.order(:position)
|
7
9
|
|
8
10
|
respond_to do |format|
|
9
11
|
format.html # index.html.erb
|
@@ -82,6 +84,15 @@ class SubjectTypesController < ApplicationController
|
|
82
84
|
end
|
83
85
|
|
84
86
|
private
|
87
|
+
def set_subject_type
|
88
|
+
@subject_type = SubjectType.find(params[:id])
|
89
|
+
authorize @subject_type
|
90
|
+
end
|
91
|
+
|
92
|
+
def check_policy
|
93
|
+
authorize SubjectType
|
94
|
+
end
|
95
|
+
|
85
96
|
def subject_type_params
|
86
97
|
params.require(:subject_type).permit(:name, :display_name, :note)
|
87
98
|
end
|
@@ -1,9 +1,8 @@
|
|
1
1
|
# -*- encoding: utf-8 -*-
|
2
2
|
class SubjectsController < ApplicationController
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
after_filter :solr_commit, only: [:create, :update, :destroy]
|
3
|
+
before_action :set_subject, only: [:show, :edit, :update, :destroy]
|
4
|
+
before_action :check_policy, only: [:index, :new, :create]
|
5
|
+
before_action :prepare_options, only: [:new, :edit]
|
7
6
|
|
8
7
|
# GET /subjects
|
9
8
|
# GET /subjects.json
|
@@ -131,6 +130,15 @@ class SubjectsController < ApplicationController
|
|
131
130
|
end
|
132
131
|
|
133
132
|
private
|
133
|
+
def set_subject
|
134
|
+
@subject = Subject.find(params[:id])
|
135
|
+
authorize @subject
|
136
|
+
end
|
137
|
+
|
138
|
+
def check_policy
|
139
|
+
authorize Subject
|
140
|
+
end
|
141
|
+
|
134
142
|
def subject_params
|
135
143
|
params.require(:subject).permit(
|
136
144
|
:parent_id, :use_term_id, :term, :term_transcription,
|
@@ -0,0 +1,37 @@
|
|
1
|
+
module EnjuSubject
|
2
|
+
module EnjuManifestation
|
3
|
+
extend ActiveSupport::Concern
|
4
|
+
|
5
|
+
included do
|
6
|
+
has_many :subjects
|
7
|
+
has_many :classifications
|
8
|
+
accepts_nested_attributes_for :subjects, allow_destroy: true, reject_if: :all_blank
|
9
|
+
accepts_nested_attributes_for :classifications, allow_destroy: true, reject_if: :all_blank
|
10
|
+
after_save do
|
11
|
+
subject_index!
|
12
|
+
end
|
13
|
+
after_destroy do
|
14
|
+
subject_index!
|
15
|
+
end
|
16
|
+
|
17
|
+
searchable do
|
18
|
+
text :subject do
|
19
|
+
subjects.map{|s| [s.term, s.term_transcription]}.flatten.compact
|
20
|
+
end
|
21
|
+
string :subject, multiple: true do
|
22
|
+
subjects.map{|s| [s.term, s.term_transcription]}.flatten.compact
|
23
|
+
end
|
24
|
+
string :classification, multiple: true do
|
25
|
+
classifications.map{|c| "#{c.classification_type.name}_#{c.category}"}
|
26
|
+
end
|
27
|
+
integer :subject_ids, multiple: true
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
def subject_index!
|
32
|
+
subjects.map{|subject| subject.index}
|
33
|
+
classifications.map{|classification| classification.index}
|
34
|
+
Sunspot.commit
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
data/app/models/subject.rb
CHANGED
data/app/models/subject_type.rb
CHANGED
@@ -0,0 +1,21 @@
|
|
1
|
+
class ClassificationPolicy < ApplicationPolicy
|
2
|
+
def index?
|
3
|
+
true
|
4
|
+
end
|
5
|
+
|
6
|
+
def show?
|
7
|
+
true
|
8
|
+
end
|
9
|
+
|
10
|
+
def create?
|
11
|
+
true if user.try(:has_role?, 'Administrator')
|
12
|
+
end
|
13
|
+
|
14
|
+
def update?
|
15
|
+
true if user.try(:has_role?, 'Administrator')
|
16
|
+
end
|
17
|
+
|
18
|
+
def destroy?
|
19
|
+
true if user.try(:has_role?, 'Administrator')
|
20
|
+
end
|
21
|
+
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
class ClassificationTypePolicy < ApplicationPolicy
|
2
|
+
def index?
|
3
|
+
true
|
4
|
+
end
|
5
|
+
|
6
|
+
def show?
|
7
|
+
true
|
8
|
+
end
|
9
|
+
|
10
|
+
def create?
|
11
|
+
true if user.try(:has_role?, 'Administrator')
|
12
|
+
end
|
13
|
+
|
14
|
+
def update?
|
15
|
+
true if user.try(:has_role?, 'Administrator')
|
16
|
+
end
|
17
|
+
|
18
|
+
def destroy?
|
19
|
+
if user.try(:has_role?, 'Administrator')
|
20
|
+
true if record.classifications.empty?
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
class SubjectHeadingTypePolicy < ApplicationPolicy
|
2
|
+
def index?
|
3
|
+
true
|
4
|
+
end
|
5
|
+
|
6
|
+
def show?
|
7
|
+
true
|
8
|
+
end
|
9
|
+
|
10
|
+
def create?
|
11
|
+
true if user.try(:has_role?, 'Administrator')
|
12
|
+
end
|
13
|
+
|
14
|
+
def update?
|
15
|
+
true if user.try(:has_role?, 'Administrator')
|
16
|
+
end
|
17
|
+
|
18
|
+
def destroy?
|
19
|
+
if user.try(:has_role?, 'Administrator')
|
20
|
+
true if record.subjects.empty?
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
class SubjectPolicy < ApplicationPolicy
|
2
|
+
def index?
|
3
|
+
true
|
4
|
+
end
|
5
|
+
|
6
|
+
def show?
|
7
|
+
true
|
8
|
+
end
|
9
|
+
|
10
|
+
def create?
|
11
|
+
true if user.try(:has_role?, 'Administrator')
|
12
|
+
end
|
13
|
+
|
14
|
+
def update?
|
15
|
+
true if user.try(:has_role?, 'Administrator')
|
16
|
+
end
|
17
|
+
|
18
|
+
def destroy?
|
19
|
+
true if user.try(:has_role?, 'Administrator')
|
20
|
+
end
|
21
|
+
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
class SubjectTypePolicy < ApplicationPolicy
|
2
|
+
def index?
|
3
|
+
true if user.try(:has_role?, 'Librarian')
|
4
|
+
end
|
5
|
+
|
6
|
+
def show?
|
7
|
+
true if user.try(:has_role?, 'Librarian')
|
8
|
+
end
|
9
|
+
|
10
|
+
def create?
|
11
|
+
true if user.try(:has_role?, 'Administrator')
|
12
|
+
end
|
13
|
+
|
14
|
+
def update?
|
15
|
+
true if user.try(:has_role?, 'Administrator')
|
16
|
+
end
|
17
|
+
|
18
|
+
def destroy?
|
19
|
+
true if user.try(:has_role?, 'Administrator')
|
20
|
+
end
|
21
|
+
end
|
@@ -18,7 +18,7 @@
|
|
18
18
|
<%- @classification_types.each do |classification_type| -%>
|
19
19
|
<tr class="line<%= cycle("0", "1") -%>">
|
20
20
|
<td>
|
21
|
-
<%- if
|
21
|
+
<%- if policy(classification_type).update? -%>
|
22
22
|
<%= move_position(classification_type) -%>
|
23
23
|
<%- end -%>
|
24
24
|
</td>
|
@@ -29,10 +29,10 @@
|
|
29
29
|
<%= classification_type.note %>
|
30
30
|
</td>
|
31
31
|
<td>
|
32
|
-
<%- if
|
32
|
+
<%- if policy(classification_type).update? -%>
|
33
33
|
<%= link_to t('page.edit'), edit_classification_type_path(classification_type) -%>
|
34
34
|
<% end %>
|
35
|
-
<%- if
|
35
|
+
<%- if policy(classification_type).destroy? -%>
|
36
36
|
<%= link_to t('page.destroy'), classification_type_path(classification_type), data: {confirm: t('page.are_you_sure')}, method: :delete -%>
|
37
37
|
<%- end -%>
|
38
38
|
</td>
|
@@ -45,7 +45,7 @@
|
|
45
45
|
|
46
46
|
<div id="submenu" class="ui-corner-all ui-widget-content">
|
47
47
|
<ul>
|
48
|
-
<%- if
|
48
|
+
<%- if policy(ClassificationType).create? -%>
|
49
49
|
<li><%= link_to t('page.new', model: t('activerecord.models.classification_type')), new_classification_type_path -%></li>
|
50
50
|
<%- end -%>
|
51
51
|
</ul>
|
@@ -23,9 +23,9 @@
|
|
23
23
|
|
24
24
|
<div id="submenu" class="ui-corner-all ui-widget-content">
|
25
25
|
<ul>
|
26
|
-
<%- if
|
26
|
+
<%- if policy(@classification_type).update? -%>
|
27
27
|
<li><%= link_to t('page.edit'), edit_classification_type_path(@classification_type) -%></li>
|
28
28
|
<%- end -%>
|
29
|
-
<li><%=
|
29
|
+
<li><%= link_to t('page.back'), :back -%></li>
|
30
30
|
</ul>
|
31
31
|
</div>
|
@@ -26,7 +26,7 @@
|
|
26
26
|
<td><%= classification.label -%></td>
|
27
27
|
<td><%= link_to classification.classification_type.display_name.localize, classification.classification_type -%></td>
|
28
28
|
<td>
|
29
|
-
<%- if
|
29
|
+
<%- if policy(classification).destroy? -%>
|
30
30
|
<%= link_to t('page.edit'), edit_classification_path(classification) -%>
|
31
31
|
<%= link_to t('page.destroy'), classification, data: {confirm: t('page.are_you_sure')}, method: :delete -%>
|
32
32
|
<%- end -%>
|
@@ -42,7 +42,7 @@
|
|
42
42
|
|
43
43
|
<div id="submenu" class="ui-corner-all ui-widget-content">
|
44
44
|
<ul>
|
45
|
-
<%- if
|
45
|
+
<%- if policy(Classification).create? -%>
|
46
46
|
<%- if @classification_type -%>
|
47
47
|
<li><%= link_to t('page.new', model: t('activerecord.models.classification')), new_classification_type_classification_path(@classification_type) -%></li>
|
48
48
|
<%- else -%>
|
@@ -33,10 +33,10 @@
|
|
33
33
|
|
34
34
|
<div id="submenu" class="ui-corner-all ui-widget-content">
|
35
35
|
<ul>
|
36
|
-
<%- if
|
36
|
+
<%- if policy(@classification).update? -%>
|
37
37
|
|
38
38
|
<li><%= link_to t('page.edit'), edit_classification_path(@classification) %></li>
|
39
39
|
<%- end -%>
|
40
|
-
<li><%=
|
40
|
+
<li><%= link_to t('page.back'), :back -%></li>
|
41
41
|
</ul>
|
42
42
|
</div>
|
@@ -0,0 +1,5 @@
|
|
1
|
+
<div class="nested-fields">
|
2
|
+
<%= f.select(:classification_type_id, @classification_types.collect{|c| [c.display_name.localize, c.id]}) %>
|
3
|
+
<%= f.text_field :category, class: 'resource_subject' %>
|
4
|
+
<%= link_to_remove_association t('page.remove'), f, data: {confirm: t('page.are_you_sure')} %>
|
5
|
+
</div>
|
@@ -5,12 +5,12 @@
|
|
5
5
|
<%- subject = Subject.where(id: facet.value).first -%>
|
6
6
|
<%- if subject -%>
|
7
7
|
<li>
|
8
|
-
<%= link_to "#{subject.term} (#{facet.count})", url_for(params.merge(page: nil, subject: "\"#{subject.term}\"", view: nil, only_path: true)) -%>
|
8
|
+
<%= link_to "#{subject.term} (#{facet.count})", url_for(params.permit.merge(page: nil, subject: "\"#{subject.term}\"", view: nil, only_path: true)) -%>
|
9
9
|
</li>
|
10
10
|
<%- end -%>
|
11
11
|
<%- end -%>
|
12
12
|
<%- if @subject_by_term -%>
|
13
|
-
<li><%= link_to t('page.remove_this_facet'), url_for(params.merge(subject: nil, page: nil, view: nil, only_path: true)) -%></li>
|
13
|
+
<li><%= link_to t('page.remove_this_facet'), url_for(params.permit.merge(subject: nil, page: nil, view: nil, only_path: true)) -%></li>
|
14
14
|
<%- end -%>
|
15
15
|
</ul>
|
16
16
|
<%- else -%>
|
@@ -0,0 +1,6 @@
|
|
1
|
+
<div class="nested-fields">
|
2
|
+
<%= f.select(:subject_heading_type_id, @subject_heading_types.collect{|s| [s.display_name.localize, s.id]}) %>
|
3
|
+
<%= f.text_field :term, class: 'resource_subject' %>
|
4
|
+
<%= f.select(:subject_type_id, @subject_types.collect{|s| [s.display_name.localize, s.id]}) %>
|
5
|
+
<%= link_to_remove_association t('page.remove'), f, data: {confirm: t('page.are_you_sure')} %>
|
6
|
+
</div>
|
@@ -1,21 +1,20 @@
|
|
1
1
|
<div class="field">
|
2
2
|
<%= f.label :subject -%><br />
|
3
3
|
<%= f.fields_for :subjects do |subject_form| %>
|
4
|
-
<%=
|
5
|
-
<%= subject_form.text_field :term %>
|
6
|
-
<%= subject_form.select(:subject_type_id, @subject_types.collect{|s| [s.display_name.localize, s.id]}) %>
|
7
|
-
<%= subject_form.link_to_remove t('page.remove'), confirm: t('page.are_you_sure') %>
|
4
|
+
<%= render 'subject_fields', f: subject_form %>
|
8
5
|
<% end %>
|
9
|
-
<
|
6
|
+
<div class="links">
|
7
|
+
<p><%= link_to_add_association t('page.add'), f, :subjects %></p>
|
8
|
+
</div>
|
10
9
|
</div>
|
11
10
|
|
12
11
|
<div class="field">
|
13
12
|
<%= f.label :classification -%><br />
|
14
13
|
<%= f.fields_for :classifications do |classification_form| %>
|
15
|
-
<%=
|
16
|
-
<%= classification_form.text_field :category %>
|
17
|
-
<%= classification_form.link_to_remove t('page.remove'), confirm: t('page.are_you_sure') %>
|
14
|
+
<%= render 'classification_fields', f: classification_form %>
|
18
15
|
<% end %>
|
19
|
-
<
|
16
|
+
<div class="links">
|
17
|
+
<p><%= link_to_add_association t('page.add'), f, :classifications %></p>
|
18
|
+
</div>
|
20
19
|
</div>
|
21
20
|
|
@@ -18,7 +18,7 @@
|
|
18
18
|
<%- @subject_heading_types.each do |subject_heading_type| -%>
|
19
19
|
<tr class="line<%= cycle("0", "1") -%>">
|
20
20
|
<td>
|
21
|
-
<%- if
|
21
|
+
<%- if policy(subject_heading_type).update? -%>
|
22
22
|
<%= move_position(subject_heading_type) -%>
|
23
23
|
<%- end -%>
|
24
24
|
</td>
|
@@ -29,10 +29,10 @@
|
|
29
29
|
<%= subject_heading_type.note %>
|
30
30
|
</td>
|
31
31
|
<td>
|
32
|
-
<%- if
|
32
|
+
<%- if policy(subject_heading_type).update? -%>
|
33
33
|
<%= link_to t('page.edit'), edit_subject_heading_type_path(subject_heading_type) -%>
|
34
34
|
<% end %>
|
35
|
-
<%- if
|
35
|
+
<%- if policy(subject_heading_type).destroy? -%>
|
36
36
|
<%= link_to t('page.destroy'), subject_heading_type_path(subject_heading_type), data: {confirm: t('page.are_you_sure')}, method: :delete -%>
|
37
37
|
<%- end -%>
|
38
38
|
</td>
|
@@ -45,7 +45,7 @@
|
|
45
45
|
|
46
46
|
<div id="submenu" class="ui-corner-all ui-widget-content">
|
47
47
|
<ul>
|
48
|
-
<%- if
|
48
|
+
<%- if policy(SubjectHeadingType).create? -%>
|
49
49
|
<li><%= link_to t('page.new', model: t('activerecord.models.subject_heading_type')), new_subject_heading_type_path -%></li>
|
50
50
|
<%- end -%>
|
51
51
|
</ul>
|
@@ -23,9 +23,9 @@
|
|
23
23
|
|
24
24
|
<div id="submenu" class="ui-corner-all ui-widget-content">
|
25
25
|
<ul>
|
26
|
-
<%- if
|
26
|
+
<%- if policy(@subject_heading_type).update? -%>
|
27
27
|
<li><%= link_to t('page.edit'), edit_subject_heading_type_path(@subject_heading_type) -%></li>
|
28
28
|
<%- end -%>
|
29
|
-
<li><%=
|
29
|
+
<li><%= link_to t('page.back'), :back -%></li>
|
30
30
|
</ul>
|
31
31
|
</div>
|
@@ -18,7 +18,7 @@
|
|
18
18
|
<%- @subject_types.each do |subject_type| -%>
|
19
19
|
<tr class="line<%= cycle("0", "1") -%>">
|
20
20
|
<td>
|
21
|
-
<%- if
|
21
|
+
<%- if policy(subject_type).update? -%>
|
22
22
|
<%= move_position(subject_type) -%>
|
23
23
|
<%- end -%>
|
24
24
|
</td>
|
@@ -29,10 +29,10 @@
|
|
29
29
|
<%= subject_type.note %>
|
30
30
|
</td>
|
31
31
|
<td>
|
32
|
-
<%- if
|
32
|
+
<%- if policy(subject_type).update? -%>
|
33
33
|
<%= link_to t('page.edit'), edit_subject_type_path(subject_type) -%>
|
34
34
|
<% end %>
|
35
|
-
<%- if
|
35
|
+
<%- if policy(subject_type).destroy? -%>
|
36
36
|
<%= link_to t('page.destroy'), subject_type_path(subject_type), data: {confirm: t('page.are_you_sure')}, method: :delete -%>
|
37
37
|
<%- end -%>
|
38
38
|
</td>
|
@@ -45,7 +45,7 @@
|
|
45
45
|
|
46
46
|
<div id="submenu" class="ui-corner-all ui-widget-content">
|
47
47
|
<ul>
|
48
|
-
<%- if
|
48
|
+
<%- if policy(SubjectType).create? -%>
|
49
49
|
<li><%= link_to t('page.new', model: t('activerecord.models.subject_type')), new_subject_type_path -%></li>
|
50
50
|
<%- end -%>
|
51
51
|
</ul>
|
@@ -23,9 +23,9 @@
|
|
23
23
|
|
24
24
|
<div id="submenu" class="ui-corner-all ui-widget-content">
|
25
25
|
<ul>
|
26
|
-
<%- if
|
26
|
+
<%- if policy().update?@subject_type -%>
|
27
27
|
<li><%= link_to t('page.edit'), edit_subject_type_path(@subject_type) %></li>
|
28
28
|
<%- end -%>
|
29
|
-
<li><%=
|
29
|
+
<li><%= link_to t('page.back'), :back %></li>
|
30
30
|
</ul>
|
31
31
|
</div>
|
@@ -21,10 +21,10 @@
|
|
21
21
|
<tr class="line<%= cycle("0", "1") -%>">
|
22
22
|
<td><%= link_to subject.term, subject -%></td>
|
23
23
|
<td>
|
24
|
-
<%- if
|
24
|
+
<%- if policy(subject).update? -%>
|
25
25
|
<%= link_to t('page.edit'), edit_subject_path(subject) -%>
|
26
26
|
<%- end -%>
|
27
|
-
<%- if
|
27
|
+
<%- if policy(subject).destroy? -%>
|
28
28
|
<%= link_to t('page.destroy'), subject, data: {confirm: t('page.are_you_sure')}, method: :delete -%>
|
29
29
|
<%- end -%>
|
30
30
|
</td>
|
@@ -38,7 +38,7 @@
|
|
38
38
|
|
39
39
|
<div id="submenu" class="ui-corner-all ui-widget-content">
|
40
40
|
<ul>
|
41
|
-
<%- if
|
41
|
+
<%- if policy(Subject).create? -%>
|
42
42
|
<li><%= link_to t('page.new', model: t('activerecord.models.subject')), new_subject_path -%></li>
|
43
43
|
<%- end -%>
|
44
44
|
</ul>
|