symphonia 6.1.1 → 6.1.3

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c2bc00b67bc87bcc37b75d39db1cc7ab28e6326584e59d16cdc1bf8734f3c2ee
4
- data.tar.gz: a39228ace17ac294ab5c6ac03df8984564ddabf9fe61ce5e3bc810c3624ec140
3
+ metadata.gz: c8bb8a9cc7b27ac91983ef2f0db28e9b96cb0c004fa91a40d3e0a2357963af4c
4
+ data.tar.gz: 9fd1475c5efe01fc9a159d8c78b1e4322a6324025c0299881fabbfc2f2138402
5
5
  SHA512:
6
- metadata.gz: 87a3cd9554903842c591e252d5878fea5c75c4378d513c7f7c7601d7303fad8c5910f295120a5e0d17b6a7c47120d61e880871d6b77e1d770ffee660f533bebf
7
- data.tar.gz: 8a07d24f59c5879839f27a65978d8b1afe0abfa5dc94574e800589f2292bff57d29e1ec84d101e11f29e6e810a8f192af0cf1d95444749710666d52d1c76e65d
6
+ metadata.gz: 1ee1613347bcdba0c5453a105cc72e9b7381ac2b78ba43913ebb0a4093246eee5beaa9a5b10d073f6dfe44f969bac60cf49864f9536574e66c66776176b0d0aa
7
+ data.tar.gz: b53e42395182ad7bd86eb591df08e9740e6fdf4db951705bbb232b988e6f3fa6aac92a808685c8d3b5a89e30d578fe899af4530fa6084d35ad581e8c52a6f8d4
data/CHANGELOG.md CHANGED
@@ -5,6 +5,17 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
5
5
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
6
6
 
7
7
  ## [Unreleased]
8
+ ## [6.1.3] - 2026-05-26
9
+ ### Fixed
10
+ - bootstrap_form cross-compatibility patch
11
+
12
+ ## [6.1.2] - 2026-01-10
13
+
14
+ ### Fixed
15
+
16
+ - Authlogic session keys
17
+ - NoMethodError `fa_icon` account details view
18
+
8
19
  ## [6.1.1] - 2025-12-23
9
20
  ### Fixed
10
21
  - cookies key of Authlogic
@@ -34,7 +34,7 @@ module Symphonia
34
34
  format.json { render status: :created }
35
35
  else
36
36
  format.html { render action: 'register' }
37
- format.json { render json: @user.errors, status: :unprocessable_entity }
37
+ format.json { render json: @user.errors, status: :unprocessable_content }
38
38
  end
39
39
  end
40
40
  end
@@ -55,7 +55,7 @@ module Symphonia
55
55
  format.js
56
56
  else
57
57
  format.html { render action: 'edit' }
58
- format.json { render json: @user.errors, status: :unprocessable_entity }
58
+ format.json { render json: @user.errors, status: :unprocessable_content }
59
59
  end
60
60
  end
61
61
  end
@@ -46,8 +46,8 @@ module Symphonia
46
46
  format.json { render json: @user, status: :created, location: @user }
47
47
  else
48
48
  format.html { render action: 'new' }
49
- format.xml { render xml: @user.errors, status: :unprocessable_entity }
50
- format.json { render json: @user.errors, status: :unprocessable_entity }
49
+ format.xml { render xml: @user.errors, status: :unprocessable_content }
50
+ format.json { render json: @user.errors, status: :unprocessable_content }
51
51
  end
52
52
  end
53
53
  end
@@ -65,8 +65,8 @@ module Symphonia
65
65
  format.any(:json, :xml) { head :no_content }
66
66
  else
67
67
  format.html { render action: 'edit' }
68
- format.xml { render xml: @user.errors, status: :unprocessable_entity }
69
- format.json { render json: @user.errors, status: :unprocessable_entity }
68
+ format.xml { render xml: @user.errors, status: :unprocessable_content }
69
+ format.json { render json: @user.errors, status: :unprocessable_content }
70
70
  end
71
71
  end
72
72
  end
@@ -177,7 +177,7 @@ module Symphonia
177
177
  end
178
178
 
179
179
  def format_price(value, options = {})
180
- number_to_currency(value, { precision: 1, strip_insignificant_zeros: true }.merge(options))
180
+ number_to_currency(value, { precision: 2, strip_insignificant_zeros: true }.merge(options))
181
181
  end
182
182
 
183
183
  def multiselect_toggler(id = nil)
@@ -16,7 +16,7 @@
16
16
  <% else %>
17
17
  <%= link_to(icon('edit', t(:button_edit)), edit_polymorphic_path(controller_name.singularize, id: account.id), :class => 'btn btn-primary', :remote => true) %>
18
18
  <% end %>
19
- <%= link_to(fa_icon('key'), 'javascript:void(0)', onclick: %q{SymphoniaUserDetail.popup.show()}, class: 'btn') %>
19
+ <%= link_to(icon('key'), 'javascript:void(0)', onclick: %q{SymphoniaUserDetail.popup.show()}, class: 'btn') %>
20
20
  </div>
21
21
 
22
22
  <%= title(account.name, account.active? && '' || account.format_value(:status, self)) %>
@@ -53,8 +53,8 @@ class <%= controller_class_name %>Controller < ApplicationController
53
53
  format.xml { render xml: @<%= singular_table_name %>, status: :created, location: @<%= singular_table_name %> }
54
54
  else
55
55
  format.html { render :new }
56
- format.json { render json: @<%= singular_table_name %>.errors, status: :unprocessable_entity }
57
- format.xml { render xml: @<%= singular_table_name %>.errors, status: :unprocessable_entity }
56
+ format.json { render json: @<%= singular_table_name %>.errors, status: :unprocessable_content }
57
+ format.xml { render xml: @<%= singular_table_name %>.errors, status: :unprocessable_content }
58
58
  end
59
59
  end
60
60
  end
@@ -66,7 +66,7 @@ class <%= controller_class_name %>Controller < ApplicationController
66
66
  format.any(:json, :xml) { head(:no_content) }
67
67
  else
68
68
  format.html { render(:edit) }
69
- format.json { render(json: @<%= singular_table_name %>.errors, status: :unprocessable_entity) }
69
+ format.json { render(json: @<%= singular_table_name %>.errors, status: :unprocessable_content) }
70
70
  end
71
71
  end
72
72
  end
@@ -9,15 +9,24 @@ module Symphonia
9
9
 
10
10
  def connect
11
11
  self.current_user = find_verified_user_or_guest
12
- logger.add_tags 'ActionCable', current_user.login unless current_user.nil?
12
+
13
+ if current_user.nil?
14
+ reject_unauthorized_connection
15
+ else
16
+ logger.add_tags "ActionCable", current_user.login
17
+ end
13
18
  end
14
19
 
15
20
  protected
16
21
 
17
22
  def find_verified_user_or_guest
18
- return if (credentials = request.session["symphonia/user_credentials"]).blank?
23
+ credentials = request.session["symphonia_user_credentials"]
24
+ return if credentials.blank?
19
25
 
20
- ::Symphonia::User.find_by(persistence_token: credentials.split(':')[0])
26
+ ::Symphonia::User.find_by(persistence_token: credentials.split(":")[0])
27
+ rescue StandardError => e
28
+ logger.error "ActionCable: Error finding user: #{e.message}"
29
+ nil
21
30
  end
22
31
  end
23
32
 
@@ -2,7 +2,7 @@ module Symphonia
2
2
  class AdminConstraint
3
3
 
4
4
  def matches?(request)
5
- return false if (credentials = request.session["symphonia/user_credentials"]).blank?
5
+ return false if (credentials = request.session["symphonia_user_credentials"]).blank?
6
6
 
7
7
  user = User.find_by(persistence_token: credentials.split(':')[0])
8
8
  user&.admin?
@@ -87,7 +87,7 @@ module Symphonia
87
87
  format.json { render json: @entity, status: :created, location: @entity }
88
88
  else
89
89
  format.html { render action: 'new' }
90
- format.json { render status: :unprocessable_entity, json: { errors: @entity.errors } }
90
+ format.json { render status: :unprocessable_content, json: { errors: @entity.errors } }
91
91
  end
92
92
  end
93
93
  end
@@ -100,7 +100,7 @@ module Symphonia
100
100
  format.json { head :no_content }
101
101
  else
102
102
  format.html { render action: 'edit' }
103
- format.json { render status: :unprocessable_entity, json: { errors: @entity.errors } }
103
+ format.json { render status: :unprocessable_content, json: { errors: @entity.errors } }
104
104
  end
105
105
  end
106
106
  end
@@ -83,13 +83,7 @@ module Symphonia
83
83
  # end
84
84
 
85
85
  def label_text(name, options)
86
- name = name.to_s.remove(/_id$/)
87
-
88
- if label_errors && error?(name)
89
- (options[:text] || object.class.human_attribute_name(name)).to_s.concat(" #{get_error_messages(name)}")
90
- else
91
- options[:text]
92
- end
86
+ super(name.to_s.remove(/_id$/), options)
93
87
  end
94
88
 
95
89
  # def generate_label(id, name, options, custom_label_col, group_layout)
@@ -1,5 +1,5 @@
1
1
  module Symphonia
2
2
 
3
- VERSION = "6.1.1"
3
+ VERSION = "6.1.3"
4
4
 
5
5
  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: 6.1.1
4
+ version: 6.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Lukas Pokorny
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2025-12-23 00:00:00.000000000 Z
11
+ date: 2026-05-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: api-pagination