administration-zero 0.0.9 → 0.0.10
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.rubocop.yml +15 -0
- data/Gemfile.lock +1 -1
- data/README.md +3 -5
- data/lib/administration_zero/version.rb +1 -1
- data/lib/generators/admin/install/install_generator.rb +1 -2
- data/lib/generators/admin/install/templates/controllers/admin/application_controller.rb +1 -1
- data/lib/generators/admin/install/templates/controllers/admin/password_resets_controller.rb +2 -2
- data/lib/generators/admin/install/templates/controllers/admin/sessions_controller.rb +2 -2
- data/lib/generators/admin/install/templates/controllers/admin/users_controller.rb +4 -4
- data/lib/generators/admin/install/templates/erb/admin/application/_flash_messages.html.erb +6 -8
- data/lib/generators/admin/install/templates/erb/admin/application/_secondary_navbar.html.erb +1 -1
- data/lib/generators/admin/install/templates/erb/admin/users/edit.html.erb +2 -2
- data/lib/generators/admin/install/templates/erb/admin/users/index.html.erb +3 -3
- data/lib/generators/admin/install/templates/erb/admin/users/new.html.erb +2 -2
- data/lib/generators/admin/install/templates/erb/admin/users/show.html.erb +4 -4
- data/lib/generators/admin/install/templates/helpers/admin/application_helper.rb +1 -1
- data/lib/generators/admin/install/templates/mailers/admin/application_mailer.rb +4 -0
- data/lib/generators/admin/install/templates/mailers/admin/user_mailer.rb +1 -1
- data/lib/generators/admin/install/templates/models/admin/application_record.rb +6 -0
- data/lib/generators/admin/install/templates/models/{admin_user.rb → admin/user.rb} +1 -3
- data/lib/generators/admin/install/templates/seeds.rb +1 -1
- data/lib/generators/admin/install/templates/test_unit/application_system_test_case.rb +1 -1
- data/lib/generators/admin/install/templates/test_unit/controllers/admin/users_controller_test.rb +4 -4
- data/lib/generators/admin/install/templates/test_unit/system/admin/users_test.rb +8 -8
- data/lib/generators/admin/scaffold/templates/erb/index.html.erb.tt +1 -1
- metadata +6 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 663bd62eb687f4ebb0a1cd879bc3dae595bc726c7cc29a91431f5e82f133033a
|
4
|
+
data.tar.gz: 0ca18a859d138db6b2f50383a1c561df8131466ece26093cfd797184e359f86b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f4d3486f4dcb59a2fb0aa41d4968106fc4cf6f8569f85610823cb0d832da093d380366ebb4a8ecdaf9aac5767635e2d9d557343b34b3189dc667f9566cccd7bf
|
7
|
+
data.tar.gz: 65eebeed7cbf48951eed8a0feef6242b2b32f37302726f0a4f9b74b20bb456564ad18d1ab8bb4b3e9dfa5f56269ed09eba1b7e881ebb77cc0497ef5264956f9c
|
data/.rubocop.yml
ADDED
@@ -0,0 +1,15 @@
|
|
1
|
+
inherit_from: https://raw.githubusercontent.com/rails/rails/master/.rubocop.yml
|
2
|
+
|
3
|
+
Performance:
|
4
|
+
Exclude:
|
5
|
+
- 'test/**/*'
|
6
|
+
|
7
|
+
Style/FrozenStringLiteralComment:
|
8
|
+
Enabled: false
|
9
|
+
|
10
|
+
Style/StringLiterals:
|
11
|
+
Enabled: true
|
12
|
+
EnforcedStyle: double_quotes
|
13
|
+
Include:
|
14
|
+
- 'app/**/*'
|
15
|
+
- 'test/**/*'
|
data/Gemfile.lock
CHANGED
data/README.md
CHANGED
@@ -27,13 +27,13 @@ Then run `bundle install`
|
|
27
27
|
You'll need to create a model to be administrated, if you don't have one. for this example let's use the following:
|
28
28
|
|
29
29
|
```
|
30
|
-
|
30
|
+
rails generate model posts title:string body:text published:boolean
|
31
31
|
```
|
32
32
|
|
33
33
|
## Usage
|
34
34
|
|
35
35
|
```
|
36
|
-
|
36
|
+
rails generate admin:install
|
37
37
|
```
|
38
38
|
|
39
39
|
Then run `bundle install` again
|
@@ -44,13 +44,11 @@ Then run `rails db:migrate db:seed`, you can access the admin panel in `/admin`,
|
|
44
44
|
Now you're ready to generate your admin scaffolds.
|
45
45
|
|
46
46
|
```
|
47
|
-
|
47
|
+
rails generate admin:scaffold posts title:string body:text published:boolean
|
48
48
|
```
|
49
49
|
|
50
50
|
## Development
|
51
51
|
|
52
|
-
After checking out the repo, run `bin/setup` to install dependencies. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
|
53
|
-
|
54
52
|
To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and the created tag, and push the `.gem` file to [rubygems.org](https://rubygems.org).
|
55
53
|
|
56
54
|
## Contributing
|
@@ -21,12 +21,11 @@ module Admin
|
|
21
21
|
|
22
22
|
def create_models
|
23
23
|
directory "models/admin", "app/models/admin"
|
24
|
-
copy_file "models/admin_user.rb", "app/models/admin_user.rb"
|
25
24
|
copy_file "models/application_record.rb", "app/models/application_record.rb", force: true
|
26
25
|
end
|
27
26
|
|
28
27
|
def create_fixture_file
|
29
|
-
copy_file "test_unit/admin_users.yml", "test/fixtures/
|
28
|
+
copy_file "test_unit/admin_users.yml", "test/fixtures/admin/users.yml"
|
30
29
|
end
|
31
30
|
|
32
31
|
def create_controllers
|
@@ -4,7 +4,7 @@ class Admin::ApplicationController < ActionController::Base
|
|
4
4
|
before_action :authenticate
|
5
5
|
|
6
6
|
def authenticate
|
7
|
-
if admin_user =
|
7
|
+
if admin_user = Admin::User.find_by_id(session[:admin_user_id])
|
8
8
|
Admin::Current.user = admin_user
|
9
9
|
else
|
10
10
|
redirect_to admin_sign_in_path
|
@@ -12,7 +12,7 @@ class Admin::PasswordResetsController < Admin::ApplicationController
|
|
12
12
|
end
|
13
13
|
|
14
14
|
def create
|
15
|
-
if @admin_user =
|
15
|
+
if @admin_user = Admin::User.find_by(email: params[:email])
|
16
16
|
Admin::UserMailer.with(admin_user: @admin_user).password_reset_provision.deliver_later
|
17
17
|
redirect_to admin_sign_in_path, notice: "Check your email for reset instructions"
|
18
18
|
else
|
@@ -30,7 +30,7 @@ class Admin::PasswordResetsController < Admin::ApplicationController
|
|
30
30
|
|
31
31
|
private
|
32
32
|
def set_admin_user
|
33
|
-
@admin_user =
|
33
|
+
@admin_user = Admin::User.find_signed!(params[:token], purpose: :password_reset)
|
34
34
|
rescue
|
35
35
|
redirect_to new_admin_password_reset_path, alert: "That password reset link is invalid"
|
36
36
|
end
|
@@ -4,11 +4,11 @@ class Admin::SessionsController < Admin::ApplicationController
|
|
4
4
|
layout "admin/authentication"
|
5
5
|
|
6
6
|
def new
|
7
|
-
@admin_user =
|
7
|
+
@admin_user = Admin::User.new
|
8
8
|
end
|
9
9
|
|
10
10
|
def create
|
11
|
-
@admin_user =
|
11
|
+
@admin_user = Admin::User.find_by(email: params[:email])
|
12
12
|
|
13
13
|
if @admin_user && @admin_user.authenticate(params[:password])
|
14
14
|
session[:admin_user_id] = @admin_user.id
|
@@ -2,7 +2,7 @@ class Admin::UsersController < Admin::ApplicationController
|
|
2
2
|
before_action :set_admin_user, only: %i[ show edit update destroy ]
|
3
3
|
|
4
4
|
def index
|
5
|
-
@search =
|
5
|
+
@search = Admin::User.all.ransack(params[:q])
|
6
6
|
|
7
7
|
respond_to do |format|
|
8
8
|
format.html { @pagy, @admin_users = pagy(@search.result) }
|
@@ -14,14 +14,14 @@ class Admin::UsersController < Admin::ApplicationController
|
|
14
14
|
end
|
15
15
|
|
16
16
|
def new
|
17
|
-
@admin_user =
|
17
|
+
@admin_user = Admin::User.new
|
18
18
|
end
|
19
19
|
|
20
20
|
def edit
|
21
21
|
end
|
22
22
|
|
23
23
|
def create
|
24
|
-
@admin_user =
|
24
|
+
@admin_user = Admin::User.new(admin_user_params)
|
25
25
|
|
26
26
|
if @admin_user.save
|
27
27
|
redirect_to @admin_user, notice: "User was successfully created."
|
@@ -45,7 +45,7 @@ class Admin::UsersController < Admin::ApplicationController
|
|
45
45
|
|
46
46
|
private
|
47
47
|
def set_admin_user
|
48
|
-
@admin_user =
|
48
|
+
@admin_user = Admin::User.find(params[:id])
|
49
49
|
end
|
50
50
|
|
51
51
|
def admin_user_params
|
@@ -1,11 +1,9 @@
|
|
1
|
-
<% flash.each do |
|
2
|
-
|
3
|
-
<div class="
|
4
|
-
<div class="toast
|
5
|
-
|
6
|
-
<%= message %>
|
7
|
-
</div>
|
1
|
+
<% flash.each do |name, message| %>
|
2
|
+
<div class="position-fixed start-50 translate-middle-x" style="z-index: 1030; top: 8rem;">
|
3
|
+
<div class="toast hide text-center text-white bg-dark border-0" data-controller="flash-message">
|
4
|
+
<div class="toast-body">
|
5
|
+
<%= message %>
|
8
6
|
</div>
|
9
7
|
</div>
|
10
|
-
|
8
|
+
</div>
|
11
9
|
<% end %>
|
data/lib/generators/admin/install/templates/erb/admin/application/_secondary_navbar.html.erb
CHANGED
@@ -19,7 +19,7 @@
|
|
19
19
|
<svg xmlns="http://www.w3.org/2000/svg" class="icon" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><circle cx="9" cy="7" r="4"></circle><path d="M3 21v-2a4 4 0 0 1 4 -4h4a4 4 0 0 1 4 4v2"></path><path d="M16 3.13a4 4 0 0 1 0 7.75"></path><path d="M21 21v-2a4 4 0 0 0 -3 -3.85"></path></svg>
|
20
20
|
</span>
|
21
21
|
<span class="nav-link-title">
|
22
|
-
|
22
|
+
Users
|
23
23
|
</span>
|
24
24
|
<% end %>
|
25
25
|
</li>
|
@@ -1,7 +1,7 @@
|
|
1
1
|
<%= render "page_header" do %>
|
2
|
-
<%= render "page_header_breadcrumb", title: "Editing
|
2
|
+
<%= render "page_header_breadcrumb", title: "Editing user" do %>
|
3
3
|
<li class="breadcrumb-item"><%= link_to "Admin", admin_path %></li>
|
4
|
-
<li class="breadcrumb-item"><%= link_to "
|
4
|
+
<li class="breadcrumb-item"><%= link_to "Users", admin_users_path %></li>
|
5
5
|
<li class="breadcrumb-item"><%= link_to @admin_user.email, @admin_user %></li>
|
6
6
|
<% end %>
|
7
7
|
<% end %>
|
@@ -1,11 +1,11 @@
|
|
1
1
|
<%= render "page_header" do %>
|
2
|
-
<%= render "page_header_breadcrumb", title: "
|
2
|
+
<%= render "page_header_breadcrumb", title: "Users" do %>
|
3
3
|
<li class="breadcrumb-item"><%= link_to "Admin", admin_path %></li>
|
4
4
|
<% end %>
|
5
5
|
|
6
6
|
<%= render "page_header_actions" do %>
|
7
7
|
<%= link_to "Filters", "#offcanvas_filters", "data-bs-toggle": "offcanvas", class: "btn btn-light" %>
|
8
|
-
<%= link_to "New
|
8
|
+
<%= link_to "New user", new_admin_user_path, class: "btn btn-primary" %>
|
9
9
|
<% end %>
|
10
10
|
<% end %>
|
11
11
|
|
@@ -41,7 +41,7 @@
|
|
41
41
|
<div class="card-footer d-flex align-items-center fs-5">
|
42
42
|
<div class="d-none d-md-block">
|
43
43
|
<div>Download: <%= link_to "CSV", admin_users_path(format: :csv, q: request.params[:q]) %></div>
|
44
|
-
|
44
|
+
<%= raw pagy_info(@pagy) %>
|
45
45
|
</div>
|
46
46
|
<div class="ms-auto">
|
47
47
|
<%= render "pagination", pagy: @pagy %>
|
@@ -1,7 +1,7 @@
|
|
1
1
|
<%= render "page_header" do %>
|
2
|
-
<%= render "page_header_breadcrumb", title: "New
|
2
|
+
<%= render "page_header_breadcrumb", title: "New user" do %>
|
3
3
|
<li class="breadcrumb-item"><%= link_to "Admin", admin_path %></li>
|
4
|
-
<li class="breadcrumb-item"><%= link_to "
|
4
|
+
<li class="breadcrumb-item"><%= link_to "Users", admin_users_path %></li>
|
5
5
|
<% end %>
|
6
6
|
<% end %>
|
7
7
|
|
@@ -1,12 +1,12 @@
|
|
1
1
|
<%= render "page_header" do %>
|
2
2
|
<%= render "page_header_breadcrumb", title: @admin_user.email do %>
|
3
3
|
<li class="breadcrumb-item"><%= link_to "Admin", admin_path %></li>
|
4
|
-
<li class="breadcrumb-item"><%= link_to "
|
4
|
+
<li class="breadcrumb-item"><%= link_to "Users", admin_users_path %></li>
|
5
5
|
<% end %>
|
6
6
|
|
7
7
|
<%= render "page_header_actions" do %>
|
8
|
-
<%= link_to "Edit
|
9
|
-
<%= button_to "Delete
|
8
|
+
<%= link_to "Edit user", edit_admin_user_path(@admin_user), class: "btn btn-primary" %>
|
9
|
+
<%= button_to "Delete user", @admin_user, method: :delete, "data-confirm": "Are you sure?", form_class: "d-inline", class: "btn btn-light" %>
|
10
10
|
<% end %>
|
11
11
|
<% end %>
|
12
12
|
|
@@ -14,7 +14,7 @@
|
|
14
14
|
<div class="container-xl">
|
15
15
|
<div class="card">
|
16
16
|
<div class="card-header">
|
17
|
-
<h3 class="card-title">
|
17
|
+
<h3 class="card-title">User details</h3>
|
18
18
|
</div>
|
19
19
|
<div class="card-body">
|
20
20
|
<dl class="row">
|
@@ -2,7 +2,7 @@ module Admin::ApplicationHelper
|
|
2
2
|
include Pagy::Frontend
|
3
3
|
|
4
4
|
def title
|
5
|
-
content_for(:title) || Rails.application.class.to_s.split(
|
5
|
+
content_for(:title) || Rails.application.class.to_s.split("::").first
|
6
6
|
end
|
7
7
|
|
8
8
|
def active_nav_item(controller, actions = %w( index show new edit create update))
|
@@ -6,4 +6,4 @@
|
|
6
6
|
# movies = Movie.create([{ name: "Star Wars" }, { name: "Lord of the Rings" }])
|
7
7
|
# Character.create(name: "Luke", movie: movies.first)
|
8
8
|
|
9
|
-
|
9
|
+
Admin::User.create(email: "admin@example.com", password: "Password9957", password_confirmation: "Password9957")
|
data/lib/generators/admin/install/templates/test_unit/controllers/admin/users_controller_test.rb
CHANGED
@@ -16,11 +16,11 @@ class Admin::UsersControllerTest < ActionDispatch::IntegrationTest
|
|
16
16
|
end
|
17
17
|
|
18
18
|
test "should create admin_user" do
|
19
|
-
assert_difference("
|
20
|
-
post admin_users_url, params: { admin_user: { email: "lazaronixon@hey.com", password: "Secret1*3*5*", password_confirmation: "Secret1*3*5*"} }
|
19
|
+
assert_difference("Admin::User.count") do
|
20
|
+
post admin_users_url, params: { admin_user: { email: "lazaronixon@hey.com", password: "Secret1*3*5*", password_confirmation: "Secret1*3*5*" } }
|
21
21
|
end
|
22
22
|
|
23
|
-
assert_redirected_to admin_user_url(
|
23
|
+
assert_redirected_to admin_user_url(Admin::User.last)
|
24
24
|
end
|
25
25
|
|
26
26
|
test "should show admin_user" do
|
@@ -39,7 +39,7 @@ class Admin::UsersControllerTest < ActionDispatch::IntegrationTest
|
|
39
39
|
end
|
40
40
|
|
41
41
|
test "should destroy admin_user" do
|
42
|
-
assert_difference("
|
42
|
+
assert_difference("Admin::User.count", -1) do
|
43
43
|
delete admin_user_url(@admin_user)
|
44
44
|
end
|
45
45
|
|
@@ -7,36 +7,36 @@ class Admin::UsersTest < ApplicationSystemTestCase
|
|
7
7
|
|
8
8
|
test "visiting the index" do
|
9
9
|
visit admin_users_url
|
10
|
-
assert_selector "h2", text: "
|
10
|
+
assert_selector "h2", text: "Users"
|
11
11
|
end
|
12
12
|
|
13
13
|
test "should create user" do
|
14
14
|
visit admin_users_url
|
15
|
-
click_on "New
|
15
|
+
click_on "New user"
|
16
16
|
|
17
17
|
fill_in "Email", with: "lazaronixon@hey.com"
|
18
18
|
fill_in "Password", with: "Secret1*3*5*"
|
19
19
|
fill_in "Password confirmation", with: "Secret1*3*5*"
|
20
|
-
click_on "Create
|
20
|
+
click_on "Create User"
|
21
21
|
|
22
22
|
assert_text "User was successfully created"
|
23
23
|
end
|
24
24
|
|
25
|
-
test "should update
|
25
|
+
test "should update user" do
|
26
26
|
visit admin_user_url(@admin_user)
|
27
|
-
click_on "Edit
|
27
|
+
click_on "Edit user"
|
28
28
|
|
29
29
|
fill_in "Email", with: @admin_user.email
|
30
30
|
fill_in "Password", with: "NewSecret1*3*5*"
|
31
31
|
fill_in "Password confirmation", with: "NewSecret1*3*5*"
|
32
|
-
click_on "Update
|
32
|
+
click_on "Update User"
|
33
33
|
|
34
34
|
assert_text "User was successfully updated"
|
35
35
|
end
|
36
36
|
|
37
|
-
test "should destroy
|
37
|
+
test "should destroy user" do
|
38
38
|
visit admin_user_url(@admin_user)
|
39
|
-
page.accept_confirm { click_on "Delete
|
39
|
+
page.accept_confirm { click_on "Delete user" }
|
40
40
|
|
41
41
|
assert_text "User was successfully destroyed"
|
42
42
|
end
|
@@ -49,7 +49,7 @@
|
|
49
49
|
<div class="card-footer d-flex align-items-center fs-5">
|
50
50
|
<div class="d-none d-md-block">
|
51
51
|
<div>Download: <%%= link_to "CSV", <%= index_helper(type: :path) %>(format: :csv, q: request.params[:q]) %></div>
|
52
|
-
|
52
|
+
<%%= raw pagy_info(@pagy) %>
|
53
53
|
</div>
|
54
54
|
<div class="ms-auto">
|
55
55
|
<%%= render "pagination", pagy: @pagy %>
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: administration-zero
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.10
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Nixon
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-03-
|
11
|
+
date: 2022-03-21 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description:
|
14
14
|
email:
|
@@ -19,6 +19,7 @@ extra_rdoc_files: []
|
|
19
19
|
files:
|
20
20
|
- ".documentation/screenshot.png"
|
21
21
|
- ".gitignore"
|
22
|
+
- ".rubocop.yml"
|
22
23
|
- CHANGELOG.md
|
23
24
|
- CODE_OF_CONDUCT.md
|
24
25
|
- Gemfile
|
@@ -63,10 +64,12 @@ files:
|
|
63
64
|
- lib/generators/admin/install/templates/helpers/admin/application_helper.rb
|
64
65
|
- lib/generators/admin/install/templates/images/admin/000m.jpg
|
65
66
|
- lib/generators/admin/install/templates/images/admin/logo.svg
|
67
|
+
- lib/generators/admin/install/templates/mailers/admin/application_mailer.rb
|
66
68
|
- lib/generators/admin/install/templates/mailers/admin/user_mailer.rb
|
67
69
|
- lib/generators/admin/install/templates/migrations/create_admin_users.rb.tt
|
70
|
+
- lib/generators/admin/install/templates/models/admin/application_record.rb
|
68
71
|
- lib/generators/admin/install/templates/models/admin/current.rb
|
69
|
-
- lib/generators/admin/install/templates/models/
|
72
|
+
- lib/generators/admin/install/templates/models/admin/user.rb
|
70
73
|
- lib/generators/admin/install/templates/models/application_record.rb
|
71
74
|
- lib/generators/admin/install/templates/seeds.rb
|
72
75
|
- lib/generators/admin/install/templates/test_unit/admin_users.yml
|