alchemy-devise 8.2.2 → 8.3.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d928e49a343ef2986c50b3a7da3fe0ae63f5772dc532992afc38d9e860a903f5
4
- data.tar.gz: 0c6d644ae0963efe14583ac80807e357c5caeebb9e04d11a617e6e69cabf3027
3
+ metadata.gz: bd67a95b3b8acb62ea89b7234b435f88fac641446715bc55c6d0ba97768c37c2
4
+ data.tar.gz: 66083de450b32ee439685bd643b5a15ad733d827271de44330a624aff372c4bc
5
5
  SHA512:
6
- metadata.gz: ceaa7da33c3ffcd1d5183258e5b53aecea88a28eb4c843b6f1cbdc6bbc4b6f0190976cbf232e5d27ba1a92fa7a264f4d7b5b33be65aeb5d44ef570e5291abb7f
7
- data.tar.gz: cc6e8751b959e485c1122891732784afa7e7602174e2c03bd46fef5829c0a392413c5748e9bedb52dbe41be83442367df8784dde92ca662d8182517b30352378
6
+ metadata.gz: 7819848589227eb5be3deb2438547145fe968565cc9bbcd01b371f2312fa2de543c31e134611dedce6c67d5942116af268e111227626d18db832b65759729f35
7
+ data.tar.gz: 5b868139b4b7b6b26c7b1fbeca32899b4aee323ecfc82aa8d8158b98ebcddf40a4bf39b0e3794cfe735b31b4169f5f96c771855ec31306f94bf17adb4a679978
data/CHANGELOG.md CHANGED
@@ -1,26 +1,17 @@
1
1
  # Changelog
2
2
 
3
- ## 8.2.2 (2026-05-06)
3
+ ## 8.3.0 (2026-06-25)
4
4
 
5
- <!-- Release notes generated using configuration in .github/release.yml at 8.2-stable -->
6
-
7
- ## What's Changed
8
- ### Other Changes
9
- * [8.2-stable] Merge pull request #279 from AlchemyCMS/prevent-deprecation-warnings by @alchemycms-bot[bot] in https://github.com/AlchemyCMS/alchemy-devise/pull/280
10
-
11
-
12
- **Full Changelog**: https://github.com/AlchemyCMS/alchemy-devise/compare/v8.2.1...v8.2.2
13
-
14
- ## 8.2.1 (2026-04-16)
15
-
16
- <!-- Release notes generated using configuration in .github/release.yml at 8.2-stable -->
5
+ <!-- Release notes generated using configuration in .github/release.yml at main -->
17
6
 
18
7
  ## What's Changed
19
- ### Other Changes
20
- * [8.2-stable] Merge pull request #276 from AlchemyCMS/locale-select-disable-auto-submit by @alchemycms-bot[bot] in https://github.com/AlchemyCMS/alchemy-devise/pull/277
8
+ ### New Features
9
+ * Update Alchemy to 8.3 by @tvdeyen in https://github.com/AlchemyCMS/alchemy-devise/pull/282
21
10
 
11
+ ## New Contributors
12
+ * @sascha-karnatz made their first contribution in https://github.com/AlchemyCMS/alchemy-devise/pull/279
22
13
 
23
- **Full Changelog**: https://github.com/AlchemyCMS/alchemy-devise/compare/v8.2.0...v8.2.1
14
+ **Full Changelog**: https://github.com/AlchemyCMS/alchemy-devise/compare/v8.2.2...v8.3.0
24
15
 
25
16
  ## 8.2.0 (2026-04-13)
26
17
 
@@ -1 +1 @@
1
- body.user_sessions #errors,body.user_sessions .message.info,body.passwords #errors,body.passwords .message.info{border-color:rgba(0,0,0,0)}body.user_sessions #errors,body.passwords #errors{margin-left:157px}.logo-box{width:250px;margin:0 10px 1.5em 200px}.logo-box svg{width:200px;height:auto}.login_signup_box{position:absolute;top:50%;left:50%;transform:translate(-50%, -50%)}.login_signup_box alchemy-message{width:300px;margin-left:var(--form-left-column-width)}.no-js .login_signup_box{display:none}.login_signup_box .message{margin-left:157px}.login_signup_box .submit{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-4);margin-left:var(--form-left-column-width);padding-left:var(--spacing-0)}.login_signup_box .submit.align-right{justify-content:end}.login_signup_box .submit>label{text-align:start}.login_signup_box .submit>label input[type=checkbox]{margin:0 var(--spacing-0) 0 0}.login_signup_box .submit>a{display:inline-flex;align-items:center;gap:var(--spacing-0)}.login_signup_box .submit>a:hover alchemy-icon{transform:translateX(-2px);transition:transform var(--transition-duration)}
1
+ body.user_sessions #errors,body.user_sessions .message.info,body.passwords #errors,body.passwords .message.info{border-color:rgba(0,0,0,0)}body.user_sessions #errors,body.passwords #errors{margin-left:157px}.logo-box{width:250px;margin:0 10px 1.5em 200px}.logo-box svg{width:200px;height:auto}.login_signup_box{position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);--form-right-column-width: 1.65fr}.login_signup_box alchemy-message{width:281px;margin-left:auto}.no-js .login_signup_box{display:none}.login_signup_box .message{margin-left:157px}.login_signup_box .submit>label{text-align:start}.login_signup_box .submit>label input[type=checkbox]{margin:0 var(--spacing-0) 0 0}.login_signup_box .submit>a{display:inline-flex;align-items:center;gap:var(--spacing-0);grid-column:2;grid-row:1}.login_signup_box .submit>a:hover alchemy-icon{transform:translateX(-2px);transition:transform var(--transition-duration)}
@@ -25,10 +25,11 @@ body.passwords {
25
25
  top: 50%;
26
26
  left: 50%;
27
27
  transform: translate(-50%, -50%);
28
+ --form-right-column-width: 1.65fr;
28
29
 
29
30
  alchemy-message {
30
- width: 300px;
31
- margin-left: var(--form-left-column-width);
31
+ width: 281px;
32
+ margin-left: auto;
32
33
  }
33
34
 
34
35
  .no-js & {
@@ -40,17 +41,6 @@ body.passwords {
40
41
  }
41
42
 
42
43
  .submit {
43
- display: flex;
44
- align-items: center;
45
- justify-content: space-between;
46
- gap: var(--spacing-4);
47
- margin-left: var(--form-left-column-width);
48
- padding-left: var(--spacing-0);
49
-
50
- &.align-right {
51
- justify-content: end;
52
- }
53
-
54
44
  > label {
55
45
  text-align: start;
56
46
 
@@ -63,6 +53,8 @@ body.passwords {
63
53
  display: inline-flex;
64
54
  align-items: center;
65
55
  gap: var(--spacing-0);
56
+ grid-column: 2;
57
+ grid-row: 1;
66
58
 
67
59
  &:hover {
68
60
  alchemy-icon {
@@ -1 +1 @@
1
- @import "alchemy-devise/login";
1
+ @use "alchemy-devise/login";
@@ -87,7 +87,7 @@ module Alchemy
87
87
  end
88
88
 
89
89
  def while_signup?
90
- User.count == 0
90
+ @_while_signup ||= User.count == 0
91
91
  end
92
92
 
93
93
  def signup_admin_or_redirect
@@ -1,21 +1,22 @@
1
- <%= f.input :firstname, input_html: {autocomplete: "given-name"} %>
2
- <%= f.input :lastname, input_html: {autocomplete: "family-name"} %>
3
- <%= f.input :login, autofocus: true, required: f.object.login_required?, input_html: {autocomplete: "username"} %>
4
- <%= f.input :email, required: f.object.email_required?, input_html: {autocomplete: "email"} %>
1
+ <%= f.input :firstname, input_html: {autocomplete: while_signup? ? "given-name" : "off"} %>
2
+ <%= f.input :lastname, input_html: {autocomplete: while_signup? ? "family-name" : "off"} %>
3
+ <%= f.input :login, autofocus: true, required: f.object.login_required?, input_html: {autocomplete: while_signup? ? "username" : "off"} %>
4
+ <%= f.input :email, required: f.object.email_required?, input_html: {autocomplete: while_signup? ? "email" : "off"} %>
5
5
  <% if Alchemy::I18n.available_locales.many? %>
6
6
  <div class="input select">
7
7
  <%= f.label(:language) %>
8
8
  <%= render Alchemy::Admin::LocaleSelect.new(f.field_name(:language), auto_submit: false) %>
9
9
  </div>
10
10
  <% end %>
11
- <%= f.input :password, required: while_signup?, input_html: {autocomplete: "new-password"} %>
12
- <%= f.input :password_confirmation, required: while_signup?, input_html: {autocomplete: "new-password"} %>
11
+ <%= f.input :password, required: while_signup?, input_html: {autocomplete: while_signup? ? "new-password" : "off"} %>
12
+ <%= f.input :password_confirmation, required: while_signup?, input_html: {autocomplete: while_signup? ? "new-password" : "off"} %>
13
13
  <%= f.input :timezone,
14
14
  collection: ActiveSupport::TimeZone.all, label_method: :to_s, value_method: :name,
15
+ include_blank: Alchemy.t("Default"),
15
16
  input_html: {
16
17
  is: "alchemy-select",
17
18
  data: {allow_clear: true}
18
- } %>
19
+ }, hint: Alchemy.t("admin.users.preferred_timezone", server_timezone: Time.zone) %>
19
20
  <% if local_assigns[:user_roles] && can_update_role? %>
20
21
  <%= f.input :alchemy_roles,
21
22
  collection: user_roles,
@@ -35,8 +36,11 @@
35
36
  object: f.object %>
36
37
  </div>
37
38
  <% end %>
38
- <%= f.input :send_credentials, as: 'boolean' %>
39
- <div class="submit align-right">
39
+ <div class="submit">
40
+ <label class="checkbox">
41
+ <%= f.check_box :send_credentials %>
42
+ <%= Alchemy.config.user_class.human_attribute_name :send_credentials %>
43
+ </label>
40
44
  <button type="submit">
41
45
  <%= Alchemy.t(:save) %>
42
46
  </button>
@@ -8,7 +8,7 @@
8
8
  alchemy.edit_admin_user_path(user), {
9
9
  title: Alchemy.t(:edit_user),
10
10
  overflow: true,
11
- size: "430x530"
11
+ size: "460x530"
12
12
  },
13
13
  title: Alchemy.t(:edit_user) %>
14
14
  <% else %>
@@ -28,5 +28,5 @@
28
28
  <%= user.human_roles_string %>
29
29
  <% end %>
30
30
  <% table.delete_button tooltip: Alchemy.t(:delete_user), confirm_message: Alchemy.t(:confirm_to_delete_user) %>
31
- <% table.edit_button tooltip: Alchemy.t(:edit_user), dialog_size: "430x530" %>
31
+ <% table.edit_button tooltip: Alchemy.t(:edit_user), dialog_size: "460x530" %>
32
32
  <% end %>
@@ -12,7 +12,7 @@
12
12
  tooltip_placement: "top-start",
13
13
  dialog_options: {
14
14
  title: Alchemy.t(:create_user),
15
- size: "430x530"
15
+ size: "460x530"
16
16
  },
17
17
  if_permitted_to: [:create, Alchemy::User]
18
18
  ) %>
@@ -20,4 +20,5 @@ Rails.application.config.to_prepare do
20
20
  Alchemy.config.logout_path = "/admin/logout"
21
21
  Alchemy.config.logout_method = Devise.sign_out_via.to_s
22
22
  Alchemy.config.edit_user_path = "/admin/users/:id/edit"
23
+ Alchemy.config.admin_users_path = "/admin/users"
23
24
  end
@@ -3,3 +3,5 @@ de:
3
3
  admin:
4
4
  login:
5
5
  remember_me: "Für %{days} Tage angemeldet bleiben"
6
+ users:
7
+ preferred_timezone: Wählen Sie eine bevorzugte Zeitzone, wenn sie sich von %{server_timezone} unterscheidet
@@ -3,3 +3,5 @@ en:
3
3
  admin:
4
4
  login:
5
5
  remember_me: "Remember me for %{days} days"
6
+ users:
7
+ preferred_timezone: Pick the users preferred timezone if it is different from %{server_timezone}
@@ -1,5 +1,5 @@
1
1
  module Alchemy
2
2
  module Devise
3
- VERSION = "8.2.2"
3
+ VERSION = "8.3.0"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: alchemy-devise
3
3
  version: !ruby/object:Gem::Version
4
- version: 8.2.2
4
+ version: 8.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Thomas von Deyen
@@ -15,7 +15,7 @@ dependencies:
15
15
  requirements:
16
16
  - - ">="
17
17
  - !ruby/object:Gem::Version
18
- version: 8.2.0
18
+ version: 8.3.0
19
19
  - - "<"
20
20
  - !ruby/object:Gem::Version
21
21
  version: '9.0'
@@ -25,7 +25,7 @@ dependencies:
25
25
  requirements:
26
26
  - - ">="
27
27
  - !ruby/object:Gem::Version
28
- version: 8.2.0
28
+ version: 8.3.0
29
29
  - - "<"
30
30
  - !ruby/object:Gem::Version
31
31
  version: '9.0'
@@ -266,7 +266,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
266
266
  - !ruby/object:Gem::Version
267
267
  version: '0'
268
268
  requirements: []
269
- rubygems_version: 4.0.6
269
+ rubygems_version: 4.0.10
270
270
  specification_version: 4
271
271
  summary: Devise based user authentication for AlchemyCMS.
272
272
  test_files: []