alchemy-devise 8.1.0 → 8.2.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 +4 -4
- data/CHANGELOG.md +25 -0
- data/app/models/alchemy/user.rb +2 -1
- data/app/views/alchemy/admin/users/_fields.html.erb +11 -5
- data/app/views/alchemy/admin/users/_resource_table.html.erb +4 -6
- data/app/views/alchemy/admin/users/edit.html.erb +21 -2
- data/app/views/alchemy/admin/users/index.html.erb +3 -5
- data/app/views/alchemy/admin/users/new.html.erb +1 -1
- data/config/initializers/alchemy.rb +1 -0
- data/db/migrate/20260410115756_add_timezone_to_alchemy_users.rb +6 -0
- data/lib/alchemy/devise/version.rb +1 -1
- metadata +5 -4
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 9cf0b606ca435cbea3b017b1585034201aa28e2bfbc20ec30533fa7cc4c23311
|
|
4
|
+
data.tar.gz: 9ec0a3c91ff2260c708dbda96aaee91d27d56688aaea1c8ed27136d2bdb2e8e2
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 8f9c7b8fb5f6dff4eb7671833a01a8071fea6af6fbb66b09909e78df1ec34fc04f6c81ecf3f0317563d9561a47a2592bcaaed2bd4777190de2bdf77181e5233f
|
|
7
|
+
data.tar.gz: 25bca78c7c9f51dc686b4c23d272b5af68256551a9c54b89f0b92a08525e737fac3e8c338421077ebb79efa80baa6d42e3a662b40b575a872e44d66dbdb6cec4
|
data/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,29 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 8.2.0 (2026-04-13)
|
|
4
|
+
|
|
5
|
+
<!-- Release notes generated using configuration in .github/release.yml at main -->
|
|
6
|
+
|
|
7
|
+
## What's Changed
|
|
8
|
+
### New Features
|
|
9
|
+
* feat: Add timezone to users by @tvdeyen in https://github.com/AlchemyCMS/alchemy-devise/pull/269
|
|
10
|
+
* feat: Add edit user link to user info by @tvdeyen in https://github.com/AlchemyCMS/alchemy-devise/pull/270
|
|
11
|
+
### Bug Fixes
|
|
12
|
+
* fix: remove duplicate pagination in users resource table by @blish-guenzler in https://github.com/AlchemyCMS/alchemy-devise/pull/256
|
|
13
|
+
* Don't render link when user login is nil by @blish-guenzler in https://github.com/AlchemyCMS/alchemy-devise/pull/259
|
|
14
|
+
* fix: user table pagination by @tvdeyen in https://github.com/AlchemyCMS/alchemy-devise/pull/265
|
|
15
|
+
### Dependencies
|
|
16
|
+
* Bump immutable from 4.3.6 to 4.3.8 by @dependabot[bot] in https://github.com/AlchemyCMS/alchemy-devise/pull/254
|
|
17
|
+
* Bump picomatch from 2.3.1 to 2.3.2 by @dependabot[bot] in https://github.com/AlchemyCMS/alchemy-devise/pull/264
|
|
18
|
+
* chore(deps): update local dev puma to 8.0 by @dependabot[bot] in https://github.com/AlchemyCMS/alchemy-devise/pull/271
|
|
19
|
+
### Other Changes
|
|
20
|
+
* CI: Test Alchemy 8.2 by @tvdeyen in https://github.com/AlchemyCMS/alchemy-devise/pull/268
|
|
21
|
+
|
|
22
|
+
## New Contributors
|
|
23
|
+
* @blish-guenzler made their first contribution in https://github.com/AlchemyCMS/alchemy-devise/pull/256
|
|
24
|
+
|
|
25
|
+
**Full Changelog**: https://github.com/AlchemyCMS/alchemy-devise/compare/v8.1.1...v8.2.0
|
|
26
|
+
|
|
3
27
|
## 8.1.0 (2026-02-02)
|
|
4
28
|
|
|
5
29
|
<!-- Release notes generated using configuration in .github/release.yml at 8.1-stable -->
|
|
@@ -23,6 +47,7 @@
|
|
|
23
47
|
|
|
24
48
|
**Full Changelog**: https://github.com/AlchemyCMS/alchemy-devise/compare/v8.0.0...v8.1.0
|
|
25
49
|
|
|
50
|
+
|
|
26
51
|
## 8.0.0 (2025-11-28)
|
|
27
52
|
|
|
28
53
|
- Enable rememberable module [#237](https://github.com/AlchemyCMS/alchemy-devise/pull/237) ([tvdeyen](https://github.com/tvdeyen))
|
data/app/models/alchemy/user.rb
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<%= f.input :firstname, input_html: {autocomplete: "given-name"} %>
|
|
2
2
|
<%= f.input :lastname, input_html: {autocomplete: "family-name"} %>
|
|
3
|
-
<%= f.input :login, autofocus: true, required:
|
|
4
|
-
<%= f.input :email, required:
|
|
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"} %>
|
|
5
5
|
<% if Alchemy::I18n.available_locales.many? %>
|
|
6
6
|
<div class="input select">
|
|
7
7
|
<%= f.label(:language) %>
|
|
@@ -10,9 +10,15 @@
|
|
|
10
10
|
<% end %>
|
|
11
11
|
<%= f.input :password, required: while_signup?, input_html: {autocomplete: "new-password"} %>
|
|
12
12
|
<%= f.input :password_confirmation, required: while_signup?, input_html: {autocomplete: "new-password"} %>
|
|
13
|
-
|
|
13
|
+
<%= f.input :timezone,
|
|
14
|
+
collection: ActiveSupport::TimeZone.all, label_method: :to_s, value_method: :name,
|
|
15
|
+
input_html: {
|
|
16
|
+
is: "alchemy-select",
|
|
17
|
+
data: {allow_clear: true}
|
|
18
|
+
} %>
|
|
19
|
+
<% if local_assigns[:user_roles] && can_update_role? %>
|
|
14
20
|
<%= f.input :alchemy_roles,
|
|
15
|
-
collection:
|
|
21
|
+
collection: user_roles,
|
|
16
22
|
input_html: {
|
|
17
23
|
multiple: true,
|
|
18
24
|
is: 'alchemy-select',
|
|
@@ -26,7 +32,7 @@
|
|
|
26
32
|
<%= f.label :tag_list %>
|
|
27
33
|
<%= render 'alchemy/admin/partials/autocomplete_tag_list',
|
|
28
34
|
f: f,
|
|
29
|
-
object:
|
|
35
|
+
object: f.object %>
|
|
30
36
|
</div>
|
|
31
37
|
<% end %>
|
|
32
38
|
<%= f.input :send_credentials, as: 'boolean' %>
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
<%= render Alchemy::Admin::Resource::Table.new(
|
|
1
|
+
<%= render Alchemy::Admin::Resource::Table.new(users, query: query) do |table| %>
|
|
2
2
|
<% table.icon_column do |user| %>
|
|
3
3
|
<%= render_icon(:user, style: user.logged_in? ? "solid" : "regular") %>
|
|
4
4
|
<% end %>
|
|
5
5
|
<% table.column :login, sortable: true do |user| %>
|
|
6
|
-
<% if can?(:edit, user) %>
|
|
6
|
+
<% if can?(:edit, user) && user.login %>
|
|
7
7
|
<%= link_to_dialog user.login,
|
|
8
8
|
alchemy.edit_admin_user_path(user), {
|
|
9
9
|
title: Alchemy.t(:edit_user),
|
|
10
10
|
overflow: true,
|
|
11
|
-
size: "
|
|
11
|
+
size: "430x530"
|
|
12
12
|
},
|
|
13
13
|
title: Alchemy.t(:edit_user) %>
|
|
14
14
|
<% else %>
|
|
@@ -28,7 +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: "
|
|
31
|
+
<% table.edit_button tooltip: Alchemy.t(:edit_user), dialog_size: "430x530" %>
|
|
32
32
|
<% end %>
|
|
33
|
-
|
|
34
|
-
<%= paginate @users, theme: "alchemy" %>
|
|
@@ -1,3 +1,22 @@
|
|
|
1
|
-
|
|
2
|
-
<%=
|
|
1
|
+
<% if request.xhr? || turbo_frame_request? %>
|
|
2
|
+
<%= alchemy_form_for [:admin, @user] do |f| %>
|
|
3
|
+
<%= render "fields", f: f, user_roles: @user_roles %>
|
|
4
|
+
<% end %>
|
|
5
|
+
<% else %>
|
|
6
|
+
<%= content_for :toolbar do %>
|
|
7
|
+
<sl-tooltip content="<%= Alchemy.t(:back) %>">
|
|
8
|
+
<%= link_to request.referer || alchemy.admin_dashboard_path, class: "icon_button" do %>
|
|
9
|
+
<alchemy-icon name="arrow-left-s"></alchemy-icon>
|
|
10
|
+
<% end %>
|
|
11
|
+
</sl-tooltip>
|
|
12
|
+
<% end %>
|
|
13
|
+
|
|
14
|
+
<div class="panel">
|
|
15
|
+
<alchemy-message type="info">
|
|
16
|
+
<%= Alchemy.t(:edit_user) %>
|
|
17
|
+
</alchemy-message>
|
|
18
|
+
<%= alchemy_form_for [:admin, @user] do |f| %>
|
|
19
|
+
<%= render "fields", f: f, user_roles: @user_roles %>
|
|
20
|
+
<% end %>
|
|
21
|
+
</div>
|
|
3
22
|
<% end %>
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
tooltip_placement: "top-start",
|
|
13
13
|
dialog_options: {
|
|
14
14
|
title: Alchemy.t(:create_user),
|
|
15
|
-
size: "
|
|
15
|
+
size: "430x530"
|
|
16
16
|
},
|
|
17
17
|
if_permitted_to: [:create, Alchemy::User]
|
|
18
18
|
) %>
|
|
@@ -22,10 +22,8 @@
|
|
|
22
22
|
<div id="archive_all" class="resources-table-wrapper">
|
|
23
23
|
<% if @users.any? %>
|
|
24
24
|
<%= render "alchemy/admin/resources/table_header" %>
|
|
25
|
-
<%= render "resource_table" %>
|
|
26
|
-
|
|
27
|
-
<%= paginate @users, theme: 'alchemy' %>
|
|
28
|
-
|
|
25
|
+
<%= render "resource_table", users: @users, query: @query %>
|
|
26
|
+
<%= render "alchemy/admin/resources/pagination", resources: @users %>
|
|
29
27
|
<% elsif params[:query] %>
|
|
30
28
|
|
|
31
29
|
<div class="info">
|
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.
|
|
4
|
+
version: 8.2.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.
|
|
18
|
+
version: 8.2.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.
|
|
28
|
+
version: 8.2.0
|
|
29
29
|
- - "<"
|
|
30
30
|
- !ruby/object:Gem::Version
|
|
31
31
|
version: '9.0'
|
|
@@ -236,6 +236,7 @@ files:
|
|
|
236
236
|
- db/migrate/20131225232042_add_alchemy_roles_to_alchemy_users.rb
|
|
237
237
|
- db/migrate/20141209144532_add_indexes_to_alchemy_users.rb
|
|
238
238
|
- db/migrate/20251127170649_add_rememberable_column.rb
|
|
239
|
+
- db/migrate/20260410115756_add_timezone_to_alchemy_users.rb
|
|
239
240
|
- lib/alchemy/devise.rb
|
|
240
241
|
- lib/alchemy/devise/configuration.rb
|
|
241
242
|
- lib/alchemy/devise/engine.rb
|
|
@@ -265,7 +266,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
265
266
|
- !ruby/object:Gem::Version
|
|
266
267
|
version: '0'
|
|
267
268
|
requirements: []
|
|
268
|
-
rubygems_version: 4.0.
|
|
269
|
+
rubygems_version: 4.0.6
|
|
269
270
|
specification_version: 4
|
|
270
271
|
summary: Devise based user authentication for AlchemyCMS.
|
|
271
272
|
test_files: []
|