symphonia 4.2.0 → 5.0.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.
Files changed (57) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +27 -1
  3. data/app/assets/javascripts/symphonia/application.js +3 -3
  4. data/app/assets/stylesheets/symphonia/_font_awesome.scss +8 -6
  5. data/app/assets/stylesheets/symphonia/_layout.scss +33 -1
  6. data/app/assets/stylesheets/symphonia/basic.scss +3 -99
  7. data/app/assets/stylesheets/symphonia/filters.scss +3 -5
  8. data/app/assets/stylesheets/symphonia/symphonia_bootstrap.scss +1 -1
  9. data/app/controllers/symphonia/accounts_controller.rb +7 -3
  10. data/app/controllers/symphonia/application_controller.rb +2 -1
  11. data/app/controllers/symphonia/users_controller.rb +17 -29
  12. data/app/helpers/symphonia/application_helper.rb +48 -26
  13. data/app/models/symphonia/preference.rb +5 -5
  14. data/app/models/symphonia/user.rb +3 -35
  15. data/app/models/symphonia/user_ability.rb +46 -0
  16. data/app/views/common/403.html.erb +4 -3
  17. data/app/views/layouts/symphonia/application.html.erb +4 -4
  18. data/app/views/symphonia/accounts/_detail.html.erb +21 -18
  19. data/app/views/symphonia/common/_filters.html.erb +15 -15
  20. data/app/views/symphonia/common/_share_links.html.erb +2 -3
  21. data/app/views/symphonia/users/_form.html.erb +1 -6
  22. data/app/views/symphonia/users/show.html.erb +15 -20
  23. data/config/locales/cs.yml +3 -2
  24. data/db/migrate/20130714140500_create_users.rb +0 -2
  25. data/db/seeds.rb +3 -3
  26. data/lib/generators/symphonia/entity_controller/entity_controller_generator.rb +2 -2
  27. data/lib/generators/symphonia/entity_controller/templates/{controller.rb → controller.rb.tt} +0 -0
  28. data/lib/symphonia/admin_constraint.rb +1 -1
  29. data/lib/symphonia/base_controller.rb +9 -17
  30. data/lib/symphonia/controller_extensions.rb +5 -15
  31. data/lib/symphonia/engine.rb +12 -40
  32. data/lib/symphonia/form_builder.rb +17 -16
  33. data/lib/symphonia/menu_manager.rb +15 -11
  34. data/lib/symphonia/object.rb +9 -9
  35. data/lib/symphonia/spec_helper.rb +8 -4
  36. data/lib/symphonia/user_management.rb +1 -1
  37. data/lib/symphonia/version.rb +1 -1
  38. data/lib/symphonia.rb +12 -9
  39. data/spec/factories/factories.rb +0 -4
  40. data/spec/models/user_spec.rb +39 -2
  41. data/spec/spec_helper.rb +0 -1
  42. data/spec/support/stub_users.rb +7 -7
  43. metadata +39 -124
  44. data/app/controllers/symphonia/roles_controller.rb +0 -39
  45. data/app/models/symphonia/role.rb +0 -55
  46. data/app/views/symphonia/roles/_form.html.erb +0 -26
  47. data/app/views/symphonia/roles/edit.html.erb +0 -5
  48. data/app/views/symphonia/roles/index.html.erb +0 -6
  49. data/app/views/symphonia/roles/new.html.erb +0 -4
  50. data/app/views/symphonia/roles/show.html.erb +0 -11
  51. data/db/migrate/20130714140501_create_roles.rb +0 -18
  52. data/db/migrate/20210509141420_roles_change_permissions_to_json.rb +0 -18
  53. data/db/migrate/20210509180525_roles_change_permissions_to_native_json.rb +0 -7
  54. data/lib/symphonia/permissions.rb +0 -93
  55. data/spec/controllers/roles_controller_spec.rb +0 -12
  56. data/spec/models/role_spec.rb +0 -13
  57. data/spec/requests/roles_spec.rb +0 -10
@@ -1,26 +1,26 @@
1
1
  module Symphonia
2
2
  class FormBuilder < ::BootstrapForm::FormBuilder
3
3
 
4
+ delegate :tag, :t, to: :@template
5
+
4
6
  def error_messages
5
- if object.respond_to?(:errors) && object.errors.any?
6
- list = content_tag(:p, I18n.t('activerecord.errors.template.body')).html_safe
7
- list += content_tag(:ul) do
8
- object.errors.full_messages.collect do |error|
9
- content_tag(:li, error)
10
- end.join.html_safe
11
- end
12
- content_tag(:div, list, class: 'error_explanation')
7
+ return if !object.respond_to?(:errors) || object.errors.blank?
8
+
9
+ list = tag.p(@template.icon("circle-exclamation", t('activerecord.errors.template.body')))
10
+ list += tag.ul do
11
+ object.errors.full_messages.collect do |error|
12
+ tag.li error
13
+ end.join.html_safe
13
14
  end
15
+ tag.div(list, class: 'alert alert-danger error_explanation')
14
16
  end
15
17
 
16
18
  def calendar_field(name, options = {})
17
- options[:data] ||= {} #{'date-clear-btn': true, 'date-format': 'yyyy-mm-dd'}
18
- options[:data][:'date-clear-btn'] ||= true
19
- # options[:data][:'date-format'] ||= 'yyyy-mm-dd'
20
- text_field(name, options.merge({
21
- class: 'form-control datepicker',
22
- append: @template.fa_icon('calendar')
23
- }))
19
+ options[:type] ||= "date"
20
+ text_field(name, options.merge(
21
+ class: 'form-control datepicker',
22
+ append: @template.icon('calendar'),
23
+ ))
24
24
  end
25
25
 
26
26
  # def form_group_builder(method, options, html_options = nil)
@@ -91,6 +91,7 @@ module Symphonia
91
91
  options[:text]
92
92
  end
93
93
  end
94
+
94
95
  # def generate_label(id, name, options, custom_label_col, group_layout)
95
96
  # return if options.blank?
96
97
  # # id is the caller's options[:id] at the only place this method is called.
@@ -134,4 +135,4 @@ module Symphonia
134
135
  end
135
136
 
136
137
  end
137
- end
138
+ end
@@ -1,23 +1,27 @@
1
1
  module Symphonia
2
- module MenuManager
3
- @@mapper = {}
4
- mattr_accessor :mapper
2
+ # Store in-app menu super-global object for all instances/workers
3
+ class MenuManager
4
+ class << self
5
5
 
6
- def self.menu(name)
7
- return mapper[name.to_sym] || {}
8
- end
6
+ def mapper
7
+ $mapper ||= {}
8
+ end
9
+
10
+ # @param [Symbol] name
11
+ def menu(name)
12
+ mapper[name] || {}
13
+ end
9
14
 
10
- class << self
11
15
  def map(menu_name)
12
16
  mapper[menu_name] ||= {}
13
- if block_given?
14
- yield mapper[menu_name]
15
- end
17
+ yield mapper[menu_name]
16
18
  end
17
19
 
18
20
  def clear(menu_name)
19
- !mapper.delete(menu_name.to_sym).nil?
21
+ !mapper.delete(menu_name).nil?
20
22
  end
23
+
21
24
  end
25
+
22
26
  end
23
27
  end
@@ -1,31 +1,31 @@
1
- class Object
2
- # def to_boolean
3
- # return true if self.is_a?(TrueClass)
4
-
5
- # respond_to?(:downcase) && ['true', 1, '1', 'yes', 't', 'y'].include?(self.downcase)
6
- # end
7
- end
8
-
9
1
  class String
2
+
10
3
  def to_boolean
11
- ['true', 1, '1', 'yes', 't', 'y'].include?(self.downcase)
4
+ ['true', 1, '1', 'yes', 't', 'y'].include?(downcase)
12
5
  end
6
+
13
7
  end
14
8
 
15
9
  class NilClass
10
+
16
11
  def to_boolean
17
12
  false
18
13
  end
14
+
19
15
  end
20
16
 
21
17
  class FalseClass
18
+
22
19
  def to_boolean
23
20
  false
24
21
  end
22
+
25
23
  end
26
24
 
27
25
  class TrueClass
26
+
28
27
  def to_boolean
29
28
  true
30
29
  end
30
+
31
31
  end
@@ -1,6 +1,10 @@
1
- if Rails.env.test?
2
- require File.expand_path('../../../spec/spec_helper', __FILE__)
3
- Dir.glob(File.expand_path('../../../spec/{factories,support}/*.rb', __FILE__)).each do |file|
4
- require file
1
+ module Symphonia
2
+ module SpecHelper
3
+ if Rails.env.test?
4
+ require File.expand_path('../../../spec/spec_helper', __FILE__)
5
+ Dir.glob(File.expand_path('../../../spec/{factories,support}/*.rb', __FILE__)).each do |file|
6
+ require file
7
+ end
8
+ end
5
9
  end
6
10
  end
@@ -29,7 +29,7 @@ module Symphonia
29
29
  end
30
30
 
31
31
  def name=(string)
32
- words = string.split(" ")
32
+ words = string.split
33
33
  self.first_name = words[0..-2].join(" ")
34
34
  self.last_name = words[-1]
35
35
  end
@@ -1,5 +1,5 @@
1
1
  module Symphonia
2
2
 
3
- VERSION = '4.2.0'
3
+ VERSION = '5.0.0'
4
4
 
5
5
  end
data/lib/symphonia.rb CHANGED
@@ -2,15 +2,18 @@ module Symphonia
2
2
 
3
3
  include ::ActiveSupport::Configurable
4
4
 
5
- autoload :BaseController, 'symphonia/base_controller'
6
- autoload :BootstrapLinkRender, 'symphonia/bootstrap_link_render'
7
- autoload :ControllerExtensions, 'symphonia/controller_extensions'
8
- autoload :EntityDecorator, 'symphonia/entity_decorator'
9
- autoload :FormBuilder, 'symphonia/form_builder'
10
- autoload :ModelAttributes, 'symphonia/model_attributes'
11
- autoload :ModelFilters, 'symphonia/model_filters'
12
- autoload :Query, 'symphonia/query'
13
- autoload :QueryColumns, 'symphonia/query_columns'
5
+ # autoload :BaseController, 'symphonia/base_controller'
6
+ # autoload :BootstrapLinkRender, 'symphonia/bootstrap_link_render'
7
+ # autoload :ControllerExtensions, 'symphonia/controller_extensions'
8
+ # autoload :EntityDecorator, 'symphonia/entity_decorator'
9
+ # autoload :FormBuilder, 'symphonia/form_builder'
10
+ # autoload :MenuManager, 'symphonia/menu_manager'
11
+ # autoload :ModelAttributes, 'symphonia/model_attributes'
12
+ # autoload :ModelFilters, 'symphonia/model_filters'
13
+ # autoload :Permissions, 'symphonia/permissions'
14
+ # autoload :Query, 'symphonia/query'
15
+ # autoload :QueryColumns, 'symphonia/query_columns'
16
+ # autoload :UserManagement, 'symphonia/user_management'
14
17
 
15
18
  module ActionCable
16
19
 
@@ -23,10 +23,6 @@ FactoryBot.define do
23
23
  factory :admin_user, traits: [:admin]
24
24
  end
25
25
 
26
- factory :role, class: 'Symphonia::Role' do
27
- sequence(:name) { |n| "#{Faker::Job.title} #{n}" }
28
- end
29
-
30
26
  factory :preference, class: 'Symphonia::Preference' do
31
27
 
32
28
  factory :email_preference, class: 'Symphonia::EmailPreference' do
@@ -1,7 +1,8 @@
1
1
  RSpec.describe Symphonia::User do
2
2
  subject { FactoryBot.create(:user, email: "test@dummy.com") }
3
+
3
4
  it "#like" do
4
- expect(Symphonia::User.like(subject.mail)).to be_all Symphonia::User
5
+ expect(described_class.like(subject.mail)).to be_all described_class
5
6
  end
6
7
 
7
8
  it "#to_s" do
@@ -22,14 +23,50 @@ RSpec.describe Symphonia::User do
22
23
  end
23
24
  end
24
25
 
25
-
26
26
  describe "#required_password" do
27
27
  it "require password for internal" do
28
28
  expect { FactoryBot.create(:user, password: nil) }.to raise_error ActiveRecord::RecordInvalid
29
29
  end
30
+
30
31
  it "do not require password for external_ids" do
31
32
  expect { FactoryBot.create(:user, password: nil, external_id: "ex1") }.not_to raise_error
32
33
  end
33
34
  end
34
35
 
36
+ require "cancan/matchers"
37
+
38
+ describe "abilities" do
39
+ subject(:ability) { Symphonia::UserAbility.new(user) }
40
+
41
+ let(:admin) { create(:admin_user) }
42
+ let(:franta) { create(:user, login: "franta", status: :pending) }
43
+ let(:user) { nil }
44
+
45
+ context "when is an admin" do
46
+ let(:user) { create(:admin_user) }
47
+
48
+ it { is_expected.to be_able_to(:show, admin) }
49
+ it { is_expected.to be_able_to(:edit, admin) }
50
+ it { is_expected.to be_able_to(:edit, user) }
51
+ it { is_expected.not_to be_able_to(:activate, described_class.new(status: :active)) }
52
+ it { is_expected.to be_able_to(:activate, described_class.new(status: :pending)) }
53
+ it { is_expected.not_to be_able_to(:activate, described_class.new(status: :archived)) }
54
+ it { is_expected.to be_able_to(:archive, described_class.new(status: :active)) }
55
+ it { is_expected.not_to be_able_to(:archive, described_class.new(status: :archived)) }
56
+
57
+ end
58
+
59
+ context "regular user" do
60
+ let(:user) { create(:user) }
61
+
62
+ it { is_expected.not_to be_able_to(:show, franta) }
63
+ it { is_expected.to be_able_to(:show, user) }
64
+ it { is_expected.to be_able_to(:edit, user) }
65
+ it { is_expected.not_to be_able_to(:edit, franta) }
66
+ it { is_expected.to be_able_to(:update, user) }
67
+ it { is_expected.not_to be_able_to(:destroy, described_class.new) }
68
+ it { is_expected.not_to be_able_to(:create, described_class.new) }
69
+ it { is_expected.not_to be_able_to(:update, described_class.new) }
70
+ end
71
+ end
35
72
  end
data/spec/spec_helper.rb CHANGED
@@ -3,7 +3,6 @@ require 'pry-rails'
3
3
  require 'faker'
4
4
  require 'factory_bot_rails'
5
5
  require 'database_cleaner'
6
- require 'sass-rails'
7
6
  require 'authlogic/test_case'
8
7
 
9
8
  Dir.glob(File.join(__dir__, 'support', '*.rb')).sort.each { |f| require f }
@@ -6,10 +6,10 @@ def regular_user
6
6
  @regular_user ||= FactoryBot.create :user
7
7
  end
8
8
 
9
- def add_permission *args
10
- @role ||= FactoryBot.build_stubbed :role
11
- @role.permissions = args
12
- regular_user.role = @role
13
- # allow(regular_user).to receive(:role).and_return @role
14
- @role
15
- end
9
+ # def add_permission *args
10
+ # # @role ||= FactoryBot.build_stubbed :role
11
+ # # @role.permissions = args
12
+ # # regular_user.role = @role
13
+ # # # allow(regular_user).to receive(:role).and_return @role
14
+ # # @role
15
+ # end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: symphonia
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.2.0
4
+ version: 5.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Lukas Pokorny
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-04-08 00:00:00.000000000 Z
11
+ date: 2022-09-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: api-pagination
@@ -38,34 +38,6 @@ dependencies:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
40
  version: 6.4.0
41
- - !ruby/object:Gem::Dependency
42
- name: bootstrap
43
- requirement: !ruby/object:Gem::Requirement
44
- requirements:
45
- - - "~>"
46
- - !ruby/object:Gem::Version
47
- version: 4.6.0
48
- type: :runtime
49
- prerelease: false
50
- version_requirements: !ruby/object:Gem::Requirement
51
- requirements:
52
- - - "~>"
53
- - !ruby/object:Gem::Version
54
- version: 4.6.0
55
- - !ruby/object:Gem::Dependency
56
- name: bootstrap-datepicker-rails
57
- requirement: !ruby/object:Gem::Requirement
58
- requirements:
59
- - - ">="
60
- - !ruby/object:Gem::Version
61
- version: '0'
62
- type: :runtime
63
- prerelease: false
64
- version_requirements: !ruby/object:Gem::Requirement
65
- requirements:
66
- - - ">="
67
- - !ruby/object:Gem::Version
68
- version: '0'
69
41
  - !ruby/object:Gem::Dependency
70
42
  name: bootstrap_form
71
43
  requirement: !ruby/object:Gem::Requirement
@@ -81,47 +53,33 @@ dependencies:
81
53
  - !ruby/object:Gem::Version
82
54
  version: 4.4.0
83
55
  - !ruby/object:Gem::Dependency
84
- name: font-awesome-rails
56
+ name: cancancan
85
57
  requirement: !ruby/object:Gem::Requirement
86
58
  requirements:
87
59
  - - "~>"
88
60
  - !ruby/object:Gem::Version
89
- version: 4.7.0.5
61
+ version: '3.4'
90
62
  type: :runtime
91
63
  prerelease: false
92
64
  version_requirements: !ruby/object:Gem::Requirement
93
65
  requirements:
94
66
  - - "~>"
95
67
  - !ruby/object:Gem::Version
96
- version: 4.7.0.5
97
- - !ruby/object:Gem::Dependency
98
- name: jquery-rails
99
- requirement: !ruby/object:Gem::Requirement
100
- requirements:
101
- - - ">="
102
- - !ruby/object:Gem::Version
103
- version: '0'
104
- type: :runtime
105
- prerelease: false
106
- version_requirements: !ruby/object:Gem::Requirement
107
- requirements:
108
- - - ">="
109
- - !ruby/object:Gem::Version
110
- version: '0'
68
+ version: '3.4'
111
69
  - !ruby/object:Gem::Dependency
112
- name: jquery-ui-rails
70
+ name: net-smtp
113
71
  requirement: !ruby/object:Gem::Requirement
114
72
  requirements:
115
- - - ">="
73
+ - - "~>"
116
74
  - !ruby/object:Gem::Version
117
- version: '0'
75
+ version: 0.3.1
118
76
  type: :runtime
119
77
  prerelease: false
120
78
  version_requirements: !ruby/object:Gem::Requirement
121
79
  requirements:
122
- - - ">="
80
+ - - "~>"
123
81
  - !ruby/object:Gem::Version
124
- version: '0'
82
+ version: 0.3.1
125
83
  - !ruby/object:Gem::Dependency
126
84
  name: rails
127
85
  requirement: !ruby/object:Gem::Requirement
@@ -140,16 +98,16 @@ dependencies:
140
98
  name: rails-i18n
141
99
  requirement: !ruby/object:Gem::Requirement
142
100
  requirements:
143
- - - ">="
101
+ - - "~>"
144
102
  - !ruby/object:Gem::Version
145
- version: '0'
103
+ version: '6.0'
146
104
  type: :runtime
147
105
  prerelease: false
148
106
  version_requirements: !ruby/object:Gem::Requirement
149
107
  requirements:
150
- - - ">="
108
+ - - "~>"
151
109
  - !ruby/object:Gem::Version
152
- version: '0'
110
+ version: '6.0'
153
111
  - !ruby/object:Gem::Dependency
154
112
  name: rake
155
113
  requirement: !ruby/object:Gem::Requirement
@@ -178,20 +136,6 @@ dependencies:
178
136
  - - ">="
179
137
  - !ruby/object:Gem::Version
180
138
  version: '0'
181
- - !ruby/object:Gem::Dependency
182
- name: sass-rails
183
- requirement: !ruby/object:Gem::Requirement
184
- requirements:
185
- - - ">="
186
- - !ruby/object:Gem::Version
187
- version: '0'
188
- type: :runtime
189
- prerelease: false
190
- version_requirements: !ruby/object:Gem::Requirement
191
- requirements:
192
- - - ">="
193
- - !ruby/object:Gem::Version
194
- version: '0'
195
139
  - !ruby/object:Gem::Dependency
196
140
  name: scrypt
197
141
  requirement: !ruby/object:Gem::Requirement
@@ -248,20 +192,6 @@ dependencies:
248
192
  - - ">="
249
193
  - !ruby/object:Gem::Version
250
194
  version: 0.1.1
251
- - !ruby/object:Gem::Dependency
252
- name: turbolinks
253
- requirement: !ruby/object:Gem::Requirement
254
- requirements:
255
- - - ">="
256
- - !ruby/object:Gem::Version
257
- version: '0'
258
- type: :runtime
259
- prerelease: false
260
- version_requirements: !ruby/object:Gem::Requirement
261
- requirements:
262
- - - ">="
263
- - !ruby/object:Gem::Version
264
- version: '0'
265
195
  - !ruby/object:Gem::Dependency
266
196
  name: will_paginate
267
197
  requirement: !ruby/object:Gem::Requirement
@@ -318,7 +248,6 @@ files:
318
248
  - app/controllers/symphonia/application_controller.rb
319
249
  - app/controllers/symphonia/filters_controller.rb
320
250
  - app/controllers/symphonia/login_controller.rb
321
- - app/controllers/symphonia/roles_controller.rb
322
251
  - app/controllers/symphonia/user_sessions_controller.rb
323
252
  - app/controllers/symphonia/users_controller.rb
324
253
  - app/helpers/symphonia/application_helper.rb
@@ -330,8 +259,8 @@ files:
330
259
  - app/models/symphonia/application_record.rb
331
260
  - app/models/symphonia/email_preference.rb
332
261
  - app/models/symphonia/preference.rb
333
- - app/models/symphonia/role.rb
334
262
  - app/models/symphonia/user.rb
263
+ - app/models/symphonia/user_ability.rb
335
264
  - app/models/symphonia/user_session.rb
336
265
  - app/views/base/_form.html.erb
337
266
  - app/views/base/edit.html.erb
@@ -377,11 +306,6 @@ files:
377
306
  - app/views/symphonia/notifier/user_change_to_active.text.erb
378
307
  - app/views/symphonia/notifier/user_registered.html.erb
379
308
  - app/views/symphonia/notifier/user_registered.text.erb
380
- - app/views/symphonia/roles/_form.html.erb
381
- - app/views/symphonia/roles/edit.html.erb
382
- - app/views/symphonia/roles/index.html.erb
383
- - app/views/symphonia/roles/new.html.erb
384
- - app/views/symphonia/roles/show.html.erb
385
309
  - app/views/symphonia/users/_form.html.erb
386
310
  - app/views/symphonia/users/edit.html.erb
387
311
  - app/views/symphonia/users/edit.js.erb
@@ -393,16 +317,13 @@ files:
393
317
  - config/locales/en.yml
394
318
  - config/routes.rb
395
319
  - db/migrate/20130714140500_create_users.rb
396
- - db/migrate/20130714140501_create_roles.rb
397
320
  - db/migrate/20130714140502_create_preferences.rb
398
321
  - db/migrate/20190706130409_add_external_id_to_users.rb
399
322
  - db/migrate/20200428180001_add_uuid_to_users.rb
400
323
  - db/migrate/20200428180008_add_avatar_to_users.rb
401
- - db/migrate/20210509141420_roles_change_permissions_to_json.rb
402
- - db/migrate/20210509180525_roles_change_permissions_to_native_json.rb
403
324
  - db/seeds.rb
404
325
  - lib/generators/symphonia/entity_controller/entity_controller_generator.rb
405
- - lib/generators/symphonia/entity_controller/templates/controller.rb
326
+ - lib/generators/symphonia/entity_controller/templates/controller.rb.tt
406
327
  - lib/generators/symphonia/query/query_generator.rb
407
328
  - lib/generators/symphonia/setup/setup_generator.rb
408
329
  - lib/generators/symphonia/setup/templates/Gemfile
@@ -434,7 +355,6 @@ files:
434
355
  - lib/symphonia/model_filters/select_filter.rb
435
356
  - lib/symphonia/model_filters/string_filter.rb
436
357
  - lib/symphonia/object.rb
437
- - lib/symphonia/permissions.rb
438
358
  - lib/symphonia/query.rb
439
359
  - lib/symphonia/query_columns.rb
440
360
  - lib/symphonia/query_columns/attribute_column.rb
@@ -446,7 +366,6 @@ files:
446
366
  - spec/controllers/base_controller_spec.rb
447
367
  - spec/controllers/filters_controller_spec.rb
448
368
  - spec/controllers/login_controller_spec.rb
449
- - spec/controllers/roles_controller_spec.rb
450
369
  - spec/controllers/users_controller_spec.rb
451
370
  - spec/factories/factories.rb
452
371
  - spec/helpers/symphonia/application_helper_spec.rb
@@ -458,12 +377,10 @@ files:
458
377
  - spec/models/query/attribute_spec.rb
459
378
  - spec/models/query/filters_spec.rb
460
379
  - spec/models/query/symphonia_query_spec.rb
461
- - spec/models/role_spec.rb
462
380
  - spec/models/user_spec.rb
463
381
  - spec/rails_helper.rb
464
382
  - spec/requests/accounts_spec.rb
465
383
  - spec/requests/login_spec.rb
466
- - spec/requests/roles_spec.rb
467
384
  - spec/requests/users_spec.rb
468
385
  - spec/spec_helper.rb
469
386
  - spec/support/query.rb
@@ -477,7 +394,8 @@ files:
477
394
  homepage: https://github.com/luk4s
478
395
  licenses:
479
396
  - GPL-3.0
480
- metadata: {}
397
+ metadata:
398
+ rubygems_mfa_required: 'true'
481
399
  post_install_message: 'run: rails g symphonia:setup'
482
400
  rdoc_options: []
483
401
  require_paths:
@@ -493,41 +411,38 @@ required_rubygems_version: !ruby/object:Gem::Requirement
493
411
  - !ruby/object:Gem::Version
494
412
  version: '0'
495
413
  requirements: []
496
- rubygems_version: 3.3.9
414
+ rubygems_version: 3.3.7
497
415
  signing_key:
498
416
  specification_version: 4
499
417
  summary: My administration
500
418
  test_files:
501
- - spec/spec_helper.rb
502
- - spec/mailers/symphonia/notifier_spec.rb
419
+ - spec/controllers/account_controller_spec.rb
420
+ - spec/controllers/admin_controller_spec.rb
421
+ - spec/controllers/base_controller_spec.rb
422
+ - spec/controllers/filters_controller_spec.rb
423
+ - spec/controllers/login_controller_spec.rb
424
+ - spec/controllers/users_controller_spec.rb
425
+ - spec/factories/factories.rb
426
+ - spec/helpers/symphonia/application_helper_spec.rb
427
+ - spec/helpers/symphonia/entity_decorator_spec.rb
428
+ - spec/helpers/symphonia/renderer_helper_spec.rb
429
+ - spec/libs/some_lib_spec.rb
503
430
  - spec/mailers/previews/symphonia/notifier_preview.rb
504
- - spec/version_spec.rb
431
+ - spec/mailers/symphonia/notifier_spec.rb
505
432
  - spec/models/query/attribute_spec.rb
506
- - spec/models/query/symphonia_query_spec.rb
507
433
  - spec/models/query/filters_spec.rb
434
+ - spec/models/query/symphonia_query_spec.rb
508
435
  - spec/models/user_spec.rb
509
- - spec/models/role_spec.rb
510
- - spec/requests/roles_spec.rb
511
- - spec/requests/login_spec.rb
436
+ - spec/rails_helper.rb
512
437
  - spec/requests/accounts_spec.rb
438
+ - spec/requests/login_spec.rb
513
439
  - spec/requests/users_spec.rb
514
- - spec/libs/some_lib_spec.rb
515
- - spec/support/stub_users.rb
440
+ - spec/spec_helper.rb
441
+ - spec/support/query.rb
516
442
  - spec/support/shared.rb
517
- - spec/support/wait_for_ajax.rb
518
443
  - spec/support/shared_controllers.rb
519
444
  - spec/support/shared_requests.rb
520
- - spec/support/query.rb
521
- - spec/factories/factories.rb
522
- - spec/controllers/roles_controller_spec.rb
523
- - spec/controllers/login_controller_spec.rb
524
- - spec/controllers/users_controller_spec.rb
525
- - spec/controllers/filters_controller_spec.rb
526
- - spec/controllers/admin_controller_spec.rb
527
- - spec/controllers/account_controller_spec.rb
528
- - spec/controllers/base_controller_spec.rb
445
+ - spec/support/stub_users.rb
446
+ - spec/support/wait_for_ajax.rb
447
+ - spec/version_spec.rb
529
448
  - spec/views/filters/options.html.erb_spec.rb
530
- - spec/rails_helper.rb
531
- - spec/helpers/symphonia/application_helper_spec.rb
532
- - spec/helpers/symphonia/renderer_helper_spec.rb
533
- - spec/helpers/symphonia/entity_decorator_spec.rb
@@ -1,39 +0,0 @@
1
- module Symphonia
2
- class RolesController < ApplicationController
3
-
4
- include BaseController
5
-
6
- def model
7
- Role
8
- end
9
-
10
- def safe_attributes
11
- [:name, :description, permissions: []]
12
- end
13
- # helper Symphonia::RendererHelper
14
- #
15
- # before_action :authorize
16
- before_action :load_permissions, only: [:new, :edit, :update, :create]
17
-
18
- def create
19
- @entity = @role = Role.new(entity_params)
20
- @role.permissions = Symphonia::Permissions.find_all(params[:permissions]).map(&:name)
21
- super
22
- end
23
-
24
- def update
25
- @entity = @role = Role.find(params[:id])
26
- @role.permissions = Symphonia::Permissions.find_all(params[:permissions]).map(&:name)
27
- super
28
-
29
- end
30
-
31
- private
32
-
33
- def load_permissions
34
- @permissions = Symphonia::Permissions.all
35
- end
36
-
37
- end
38
-
39
- end