phcdevworks_accounts_devise 0.1.0.pre.beta
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 +7 -0
- data/MIT-LICENSE +20 -0
- data/README.md +11 -0
- data/Rakefile +8 -0
- data/app/assets/config/phcdevworks_accounts_devise_manifest.js +2 -0
- data/app/controllers/phcdevworks_accounts_devise/admin/pages_controller.rb +25 -0
- data/app/controllers/phcdevworks_accounts_devise/application_controller.rb +25 -0
- data/app/controllers/phcdevworks_accounts_devise/user/pages_controller.rb +15 -0
- data/app/controllers/users/confirmations_controller.rb +30 -0
- data/app/controllers/users/omniauth_callbacks_controller.rb +30 -0
- data/app/controllers/users/passwords_controller.rb +34 -0
- data/app/controllers/users/registrations_controller.rb +74 -0
- data/app/controllers/users/sessions_controller.rb +27 -0
- data/app/controllers/users/unlocks_controller.rb +30 -0
- data/app/helpers/phcdevworks_accounts_devise/admin/pages_helper.rb +4 -0
- data/app/helpers/phcdevworks_accounts_devise/application_helper.rb +4 -0
- data/app/helpers/phcdevworks_accounts_devise/user/pages_helper.rb +4 -0
- data/app/jobs/phcdevworks_accounts_devise/application_job.rb +4 -0
- data/app/mailers/phcdevworks_accounts_devise/application_mailer.rb +6 -0
- data/app/models/phcdevworks_accounts_devise/application_record.rb +5 -0
- data/app/models/phcdevworks_accounts_devise/user.rb +39 -0
- data/app/views/layouts/phcdevworks_accounts_devise/application.html.erb +73 -0
- data/app/views/layouts/phcdevworks_accounts_devise/application_full_width.html.erb +73 -0
- data/app/views/layouts/phcdevworks_accounts_devise/application_no_sidebar.html.erb +64 -0
- data/app/views/layouts/phcdevworks_accounts_devise/application_profile.html.erb +73 -0
- data/app/views/layouts/phcdevworks_accounts_devise/components/backend/footer/_footer.html.erb +17 -0
- data/app/views/layouts/phcdevworks_accounts_devise/components/backend/navigation/_top_menu.html.erb +41 -0
- data/app/views/layouts/phcdevworks_accounts_devise/components/backend/sidebars/_side_menu.html.erb +529 -0
- data/app/views/layouts/phcdevworks_accounts_devise/devise.html.erb +38 -0
- data/app/views/phcdevworks_accounts_devise/admin/pages/components/_profile_header.html.erb +27 -0
- data/app/views/phcdevworks_accounts_devise/admin/pages/dashboard.html.erb +0 -0
- data/app/views/phcdevworks_accounts_devise/admin/pages/user_profile.html.erb +22 -0
- data/app/views/phcdevworks_accounts_devise/admin/pages/users_list.html.erb +68 -0
- data/app/views/phcdevworks_accounts_devise/user/pages/dashboard.html.erb +0 -0
- data/app/views/phcdevworks_accounts_devise/user/pages/profile.html.erb +0 -0
- data/app/views/users/confirmations/new.html.erb +48 -0
- data/app/views/users/mailer/confirmation_instructions.html.erb +5 -0
- data/app/views/users/mailer/email_changed.html.erb +7 -0
- data/app/views/users/mailer/password_change.html.erb +3 -0
- data/app/views/users/mailer/reset_password_instructions.html.erb +8 -0
- data/app/views/users/mailer/unlock_instructions.html.erb +7 -0
- data/app/views/users/passwords/edit.html.erb +59 -0
- data/app/views/users/passwords/new.html.erb +51 -0
- data/app/views/users/registrations/edit.html.erb +100 -0
- data/app/views/users/registrations/new.html.erb +109 -0
- data/app/views/users/sessions/new.html.erb +92 -0
- data/app/views/users/shared/_links.html.erb +25 -0
- data/app/views/users/unlocks/new.html.erb +50 -0
- data/config/initializers/devise.rb +310 -0
- data/config/locales/devise.en.yml +65 -0
- data/config/routes.rb +19 -0
- data/config/spring.rb +2 -0
- data/db/migrate/20191012042035_devise_create_phcdevworks_accounts_devise_users.rb +46 -0
- data/db/migrate/20191012060241_add_userinfo_to_users.rb +15 -0
- data/db/migrate/20191012060308_add_role_to_users.rb +7 -0
- data/db/migrate/20191012060324_add_tos_to_users.rb +7 -0
- data/db/migrate/20210407121952_add_customer_id_to_users.rb +7 -0
- data/db/migrate/20210425060053_add_subscription_id_to_users.rb +7 -0
- data/lib/phcdevworks_accounts_devise/engine.rb +43 -0
- data/lib/phcdevworks_accounts_devise/version.rb +3 -0
- data/lib/phcdevworks_accounts_devise.rb +6 -0
- data/lib/tasks/phcdevworks_accounts_devise_tasks.rake +4 -0
- metadata +417 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: a59f872567bbbd92218ad9594a4e47bf580fafc0b3b1df76d4fcd6f314ea2452
|
4
|
+
data.tar.gz: 6a511dc4386446b24ef853ffdea4a67301596dcab4ee80fef42f2c0589e9a701
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: b2902a85a120873ee02f2aeed4de6027d3fe6795d97216505391a347b5157791aa821dde7453101d387fde5ded74c43da88b8d622d2da1691c82c041b831fd07
|
7
|
+
data.tar.gz: 3329c5f33718e0c415713531491b9b153aa58312b6f8205c23bfc63d2702d52c82dc34f03d1c359c1eca6e67b960408640162b13fa7317d1687e1f1384c1225a
|
data/MIT-LICENSE
ADDED
@@ -0,0 +1,20 @@
|
|
1
|
+
Copyright 2022 PHCDevworks
|
2
|
+
|
3
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
4
|
+
a copy of this software and associated documentation files (the
|
5
|
+
"Software"), to deal in the Software without restriction, including
|
6
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
7
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
8
|
+
permit persons to whom the Software is furnished to do so, subject to
|
9
|
+
the following conditions:
|
10
|
+
|
11
|
+
The above copyright notice and this permission notice shall be
|
12
|
+
included in all copies or substantial portions of the Software.
|
13
|
+
|
14
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
15
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
16
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
17
|
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
18
|
+
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
19
|
+
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
20
|
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
data/README.md
ADDED
@@ -0,0 +1,11 @@
|
|
1
|
+
### PHCDevworks Accounts (Devise)
|
2
|
+
|
3
|
+
Rails devise based user accounts and administration engine.
|
4
|
+
|
5
|
+
- Using Devise for Authentication
|
6
|
+
- Extra user information built in
|
7
|
+
- Custom login views included
|
8
|
+
|
9
|
+
### Status
|
10
|
+
|
11
|
+
[](https://badge.fury.io/rb/phcdevworks_accounts_devise) [](https://github.com/phcdevworks/phcdevworks_accounts_devise/actions/workflows/publish_gem_github_com.yml) [](https://github.com/phcdevworks/phcdevworks_accounts_devise/actions/workflows/publish_gem_rubygems_org.yml)
|
data/Rakefile
ADDED
@@ -0,0 +1,25 @@
|
|
1
|
+
require_dependency "phcdevworks_accounts_devise/application_controller"
|
2
|
+
|
3
|
+
module PhcdevworksAccountsDevise
|
4
|
+
class Admin::PagesController < ApplicationController
|
5
|
+
|
6
|
+
# Filters
|
7
|
+
include PhcdevworksCore::PhcdevworksPluginsHelper
|
8
|
+
before_action :phcdevworks_accounts_admin_only
|
9
|
+
layout "phcdevworks_accounts_devise/application_profile", :only => [ :user_profile ]
|
10
|
+
|
11
|
+
# Account Admin
|
12
|
+
def dashboard
|
13
|
+
end
|
14
|
+
|
15
|
+
# User Admin
|
16
|
+
def users_list
|
17
|
+
@admin_users = User.all
|
18
|
+
end
|
19
|
+
|
20
|
+
def user_profile
|
21
|
+
@admin_user = User.find_by_id(params[:id])
|
22
|
+
end
|
23
|
+
|
24
|
+
end
|
25
|
+
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
module PhcdevworksAccountsDevise
|
2
|
+
class ApplicationController < ActionController::Base
|
3
|
+
|
4
|
+
# Devise Filter
|
5
|
+
before_action :phcdevworks_accounts_devise_permitted_parameters, if: :devise_controller?
|
6
|
+
|
7
|
+
# Security Filters
|
8
|
+
protect_from_forgery with: :exception
|
9
|
+
|
10
|
+
# Load Requried Helper Files
|
11
|
+
helper PhcdevworksActiveMenus::Engine.helpers
|
12
|
+
helper PhcdevworksNotifications::Engine.helpers
|
13
|
+
helper PhcdevworksTitleseo::Engine.helpers
|
14
|
+
|
15
|
+
private
|
16
|
+
|
17
|
+
# Whitelist Additional Fields
|
18
|
+
def phcdevworks_accounts_devise_permitted_parameters
|
19
|
+
added_attrs = [:username, :firstname, :lastname, :email, :terms_of_service, :payments_customer_id, :payments_subscription_id, :payments_plan_id, :password, :password_confirmation, :remember_me]
|
20
|
+
devise_parameter_sanitizer.permit :sign_up, keys: added_attrs
|
21
|
+
devise_parameter_sanitizer.permit :account_update, keys: added_attrs
|
22
|
+
end
|
23
|
+
|
24
|
+
end
|
25
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
require_dependency "phcdevworks_accounts_devise/application_controller"
|
2
|
+
|
3
|
+
module PhcdevworksAccountsDevise
|
4
|
+
class User::PagesController < ApplicationController
|
5
|
+
|
6
|
+
# Security Filters
|
7
|
+
before_action :authenticate_user!
|
8
|
+
|
9
|
+
# Pages - User
|
10
|
+
def profile
|
11
|
+
@user_profile = User.find_by_id(params[:id])
|
12
|
+
end
|
13
|
+
|
14
|
+
end
|
15
|
+
end
|
@@ -0,0 +1,30 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
class Users::ConfirmationsController < Devise::ConfirmationsController
|
4
|
+
# GET /resource/confirmation/new
|
5
|
+
# def new
|
6
|
+
# super
|
7
|
+
# end
|
8
|
+
|
9
|
+
# POST /resource/confirmation
|
10
|
+
# def create
|
11
|
+
# super
|
12
|
+
# end
|
13
|
+
|
14
|
+
# GET /resource/confirmation?confirmation_token=abcdef
|
15
|
+
# def show
|
16
|
+
# super
|
17
|
+
# end
|
18
|
+
|
19
|
+
# protected
|
20
|
+
|
21
|
+
# The path used after resending confirmation instructions.
|
22
|
+
# def after_resending_confirmation_instructions_path_for(resource_name)
|
23
|
+
# super(resource_name)
|
24
|
+
# end
|
25
|
+
|
26
|
+
# The path used after confirmation.
|
27
|
+
# def after_confirmation_path_for(resource_name, resource)
|
28
|
+
# super(resource_name, resource)
|
29
|
+
# end
|
30
|
+
end
|
@@ -0,0 +1,30 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
class Users::OmniauthCallbacksController < Devise::OmniauthCallbacksController
|
4
|
+
# You should configure your model like this:
|
5
|
+
# devise :omniauthable, omniauth_providers: [:twitter]
|
6
|
+
|
7
|
+
# You should also create an action method in this controller like this:
|
8
|
+
# def twitter
|
9
|
+
# end
|
10
|
+
|
11
|
+
# More info at:
|
12
|
+
# https://github.com/heartcombo/devise#omniauth
|
13
|
+
|
14
|
+
# GET|POST /resource/auth/twitter
|
15
|
+
# def passthru
|
16
|
+
# super
|
17
|
+
# end
|
18
|
+
|
19
|
+
# GET|POST /users/auth/twitter/callback
|
20
|
+
# def failure
|
21
|
+
# super
|
22
|
+
# end
|
23
|
+
|
24
|
+
# protected
|
25
|
+
|
26
|
+
# The path used when OmniAuth fails
|
27
|
+
# def after_omniauth_failure_path_for(scope)
|
28
|
+
# super(scope)
|
29
|
+
# end
|
30
|
+
end
|
@@ -0,0 +1,34 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
class Users::PasswordsController < Devise::PasswordsController
|
4
|
+
# GET /resource/password/new
|
5
|
+
# def new
|
6
|
+
# super
|
7
|
+
# end
|
8
|
+
|
9
|
+
# POST /resource/password
|
10
|
+
# def create
|
11
|
+
# super
|
12
|
+
# end
|
13
|
+
|
14
|
+
# GET /resource/password/edit?reset_password_token=abcdef
|
15
|
+
# def edit
|
16
|
+
# super
|
17
|
+
# end
|
18
|
+
|
19
|
+
# PUT /resource/password
|
20
|
+
# def update
|
21
|
+
# super
|
22
|
+
# end
|
23
|
+
|
24
|
+
# protected
|
25
|
+
|
26
|
+
# def after_resetting_password_path_for(resource)
|
27
|
+
# super(resource)
|
28
|
+
# end
|
29
|
+
|
30
|
+
# The path used after sending reset password instructions
|
31
|
+
# def after_sending_reset_password_instructions_path_for(resource_name)
|
32
|
+
# super(resource_name)
|
33
|
+
# end
|
34
|
+
end
|
@@ -0,0 +1,74 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
class Users::RegistrationsController < Devise::RegistrationsController
|
4
|
+
# before_action :configure_sign_up_params, only: [:create]
|
5
|
+
# before_action :configure_account_update_params, only: [:update]
|
6
|
+
after_action :phcdevworks_accounts_devise_payments_add_customer, :only => :create, if: -> {defined?(PhcdevworksAccountsStripe)}
|
7
|
+
|
8
|
+
# GET /resource/sign_up
|
9
|
+
# def new
|
10
|
+
# super
|
11
|
+
# end
|
12
|
+
|
13
|
+
# POST /resource
|
14
|
+
def create
|
15
|
+
super
|
16
|
+
end
|
17
|
+
|
18
|
+
# GET /resource/edit
|
19
|
+
# def edit
|
20
|
+
# super
|
21
|
+
# end
|
22
|
+
|
23
|
+
# PUT /resource
|
24
|
+
# def update
|
25
|
+
# super
|
26
|
+
# end
|
27
|
+
|
28
|
+
# DELETE /resource
|
29
|
+
# def destroy
|
30
|
+
# super
|
31
|
+
# end
|
32
|
+
|
33
|
+
# GET /resource/cancel
|
34
|
+
# Forces the session data which is usually expired after sign
|
35
|
+
# in to be expired now. This is useful if the user wants to
|
36
|
+
# cancel oauth signing in/up in the middle of the process,
|
37
|
+
# removing all OAuth session data.
|
38
|
+
# def cancel
|
39
|
+
# super
|
40
|
+
# end
|
41
|
+
|
42
|
+
# protected
|
43
|
+
|
44
|
+
# If you have extra params to permit, append them to the sanitizer.
|
45
|
+
# def configure_sign_up_params
|
46
|
+
# devise_parameter_sanitizer.permit(:sign_up, keys: [:attribute])
|
47
|
+
# end
|
48
|
+
|
49
|
+
# If you have extra params to permit, append them to the sanitizer.
|
50
|
+
# def configure_account_update_params
|
51
|
+
# devise_parameter_sanitizer.permit(:account_update, keys: [:attribute])
|
52
|
+
# end
|
53
|
+
|
54
|
+
# The path used after sign up.
|
55
|
+
# def after_sign_up_path_for(resource)
|
56
|
+
# super(resource)
|
57
|
+
# end
|
58
|
+
|
59
|
+
# The path used after sign up for inactive accounts.
|
60
|
+
# def after_inactive_sign_up_path_for(resource)
|
61
|
+
# super(resource)
|
62
|
+
# end
|
63
|
+
|
64
|
+
def phcdevworks_accounts_payments_add_customer
|
65
|
+
if resource.valid?
|
66
|
+
phcdevworks_accounts_devise_customer = Stripe::Customer.create({
|
67
|
+
email: current_user.email, name: current_user.firstname + " " + current_user.lastname
|
68
|
+
})
|
69
|
+
@user.payments_customer_id = phcdevworks_accounts_customer.id
|
70
|
+
@user.save
|
71
|
+
end
|
72
|
+
end
|
73
|
+
|
74
|
+
end
|
@@ -0,0 +1,27 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
class Users::SessionsController < Devise::SessionsController
|
4
|
+
# before_action :configure_sign_in_params, only: [:create]
|
5
|
+
|
6
|
+
# GET /resource/sign_in
|
7
|
+
# def new
|
8
|
+
# super
|
9
|
+
# end
|
10
|
+
|
11
|
+
# POST /resource/sign_in
|
12
|
+
# def create
|
13
|
+
# super
|
14
|
+
# end
|
15
|
+
|
16
|
+
# DELETE /resource/sign_out
|
17
|
+
# def destroy
|
18
|
+
# super
|
19
|
+
# end
|
20
|
+
|
21
|
+
# protected
|
22
|
+
|
23
|
+
# If you have extra params to permit, append them to the sanitizer.
|
24
|
+
# def configure_sign_in_params
|
25
|
+
# devise_parameter_sanitizer.permit(:sign_in, keys: [:attribute])
|
26
|
+
# end
|
27
|
+
end
|
@@ -0,0 +1,30 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
class Users::UnlocksController < Devise::UnlocksController
|
4
|
+
# GET /resource/unlock/new
|
5
|
+
# def new
|
6
|
+
# super
|
7
|
+
# end
|
8
|
+
|
9
|
+
# POST /resource/unlock
|
10
|
+
# def create
|
11
|
+
# super
|
12
|
+
# end
|
13
|
+
|
14
|
+
# GET /resource/unlock?unlock_token=abcdef
|
15
|
+
# def show
|
16
|
+
# super
|
17
|
+
# end
|
18
|
+
|
19
|
+
# protected
|
20
|
+
|
21
|
+
# The path used after sending unlock password instructions
|
22
|
+
# def after_sending_unlock_instructions_path_for(resource)
|
23
|
+
# super(resource)
|
24
|
+
# end
|
25
|
+
|
26
|
+
# The path used after unlocking the resource
|
27
|
+
# def after_unlock_path_for(resource)
|
28
|
+
# super(resource)
|
29
|
+
# end
|
30
|
+
end
|
@@ -0,0 +1,39 @@
|
|
1
|
+
module PhcdevworksAccountsDevise
|
2
|
+
class User < ApplicationRecord
|
3
|
+
|
4
|
+
# Autogenerate Organization ID
|
5
|
+
before_create :phcdevworks_generate_org_id
|
6
|
+
|
7
|
+
# User Gravatar Support
|
8
|
+
include Gravtastic
|
9
|
+
gravtastic
|
10
|
+
|
11
|
+
# Add Users Roles
|
12
|
+
enum role: [:user, :editor, :admin]
|
13
|
+
after_initialize :phcdevworks_set_default_role
|
14
|
+
|
15
|
+
# Include default devise modules. Others available are:
|
16
|
+
# :trackable, :confirmable, :lockable and :omniauthable
|
17
|
+
devise :database_authenticatable, :registerable, :recoverable, :rememberable, :validatable, :timeoutable
|
18
|
+
|
19
|
+
# Validations
|
20
|
+
validates :username, :presence => true, :uniqueness => true
|
21
|
+
|
22
|
+
private
|
23
|
+
|
24
|
+
# Autogenerate User Organization ID
|
25
|
+
def phcdevworks_generate_org_id
|
26
|
+
self.org_id = SecureRandom.hex(5)
|
27
|
+
end
|
28
|
+
|
29
|
+
# First Signup Admin and Rest Default to User
|
30
|
+
def phcdevworks_set_default_role
|
31
|
+
if User.all.count < 1
|
32
|
+
self.role ||= :admin
|
33
|
+
elsif
|
34
|
+
self.role ||= :user
|
35
|
+
end
|
36
|
+
end
|
37
|
+
|
38
|
+
end
|
39
|
+
end
|
@@ -0,0 +1,73 @@
|
|
1
|
+
<!DOCTYPE html>
|
2
|
+
<html>
|
3
|
+
<head>
|
4
|
+
|
5
|
+
<!-- SEO System -->
|
6
|
+
<% phc_seo_title "PHCDevworks Accounts" %>
|
7
|
+
<% phc_seo_description "Ruby on Rails 6 Authentication and User Management Engine." %>
|
8
|
+
<!-- SEO System -->
|
9
|
+
|
10
|
+
<!-- SEO and Site Description -->
|
11
|
+
<meta charset="utf-8">
|
12
|
+
<title><%= yield(:phc_seo_title) %></title>
|
13
|
+
<meta content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" name="viewport" />
|
14
|
+
<meta name="description" content="<%= yield(:phc_seo_description) %>">
|
15
|
+
<!-- SEO and Site Description -->
|
16
|
+
|
17
|
+
<!-- Rails Security Tags -->
|
18
|
+
<%= csrf_meta_tags %>
|
19
|
+
<%= csp_meta_tag %>
|
20
|
+
<!-- Rails Security Tags -->
|
21
|
+
|
22
|
+
<!-- CSS Styles -->
|
23
|
+
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet" />
|
24
|
+
<%= stylesheet_link_tag "coloradmin/default/phcthemes_admin_panel_pack_coloradmin", media: "all" %>
|
25
|
+
<!-- CSS Styles -->
|
26
|
+
|
27
|
+
</head>
|
28
|
+
<body>
|
29
|
+
|
30
|
+
<!-- -PHCDev- Page Container -->
|
31
|
+
<div id="app" class="app app-header-fixed app-sidebar-fixed app-with-wide-sidebar">
|
32
|
+
|
33
|
+
<!-- -PHCDev- Page Container - Header -->
|
34
|
+
<div id="header" class="app-header">
|
35
|
+
<%= render "layouts/phcdevworks_accounts_devise/components/backend/navigation/top_menu" %>
|
36
|
+
</div>
|
37
|
+
<!-- -PHCDev- Page Container - Header -->
|
38
|
+
|
39
|
+
<!-- -PHCDev- Page Container - Sidebar -->
|
40
|
+
<div id="sidebar" class="app-sidebar" data-disable-slide-animation="true">
|
41
|
+
<%= render "layouts/phcdevworks_accounts_devise/components/backend/sidebars/side_menu" %>
|
42
|
+
</div>
|
43
|
+
<div class="app-sidebar-bg"></div>
|
44
|
+
<div class="app-sidebar-mobile-backdrop"><a href="#" data-dismiss="app-sidebar-mobile" class="stretched-link"></a></div>
|
45
|
+
<!-- -PHCDev- Page Container - Sidebar -->
|
46
|
+
|
47
|
+
<!-- -PHCDev- Page Container - Content -->
|
48
|
+
<div id="app" class="app app-content-full-height">
|
49
|
+
<div id="content" class="app-content d-flex flex-column p-0">
|
50
|
+
<!-- -PHCDev- Page Container - Main -->
|
51
|
+
<div class="app-content-padding flex-grow-1 overflow-hidden" data-scrollbar="true" data-height="100%">
|
52
|
+
<%= render "phcdevworks_notifications/bootstrap/notifications" %>
|
53
|
+
<%= yield %>
|
54
|
+
</div>
|
55
|
+
<!-- -PHCDev- Page Container - Main -->
|
56
|
+
<!-- -PHCDev- Page Container - Footer -->
|
57
|
+
<div id="footer" class="app-footer m-0">
|
58
|
+
<%= render "layouts/phcdevworks_accounts_devise/components/backend/footer/footer" %>
|
59
|
+
</div>
|
60
|
+
<!-- -PHCDev- Page Container - Footer -->
|
61
|
+
</div>
|
62
|
+
</div>
|
63
|
+
<!-- -PHCDev- Page Container - Content -->
|
64
|
+
|
65
|
+
</div>
|
66
|
+
<!-- -PHCDev- Page Container -->
|
67
|
+
|
68
|
+
<!-- JavaScript -->
|
69
|
+
<%= javascript_include_tag "coloradmin/phcthemes_admin_panel_pack_coloradmin" %>
|
70
|
+
<!-- JavaScript -->
|
71
|
+
|
72
|
+
</body>
|
73
|
+
</html>
|
@@ -0,0 +1,73 @@
|
|
1
|
+
<!DOCTYPE html>
|
2
|
+
<html>
|
3
|
+
<head>
|
4
|
+
|
5
|
+
<!-- SEO System -->
|
6
|
+
<% phc_seo_title "PHCDevworks Accounts" %>
|
7
|
+
<% phc_seo_description "Ruby on Rails 6 Authentication and User Management Engine." %>
|
8
|
+
<!-- SEO System -->
|
9
|
+
|
10
|
+
<!-- SEO and Site Description -->
|
11
|
+
<meta charset="utf-8">
|
12
|
+
<title><%= yield(:phc_seo_title) %></title>
|
13
|
+
<meta content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" name="viewport" />
|
14
|
+
<meta name="description" content="<%= yield(:phc_seo_description) %>">
|
15
|
+
<!-- SEO and Site Description -->
|
16
|
+
|
17
|
+
<!-- Rails Security Tags -->
|
18
|
+
<%= csrf_meta_tags %>
|
19
|
+
<%= csp_meta_tag %>
|
20
|
+
<!-- Rails Security Tags -->
|
21
|
+
|
22
|
+
<!-- CSS Styles -->
|
23
|
+
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet" />
|
24
|
+
<%= stylesheet_link_tag "coloradmin/default/phcthemes_admin_panel_pack_coloradmin", media: "all" %>
|
25
|
+
<!-- CSS Styles -->
|
26
|
+
|
27
|
+
</head>
|
28
|
+
<body>
|
29
|
+
|
30
|
+
<!-- -PHCDev- Page Container -->
|
31
|
+
<div id="app" class="app app-header-fixed app-sidebar-fixed app-with-wide-sidebar">
|
32
|
+
|
33
|
+
<!-- -PHCDev- Page Container - Header -->
|
34
|
+
<div id="header" class="app-header">
|
35
|
+
<%= render "layouts/phcdevworks_accounts_devise/components/backend/navigation/top_menu" %>
|
36
|
+
</div>
|
37
|
+
<!-- -PHCDev- Page Container - Header -->
|
38
|
+
|
39
|
+
<!-- -PHCDev- Page Container - Sidebar -->
|
40
|
+
<div id="sidebar" class="app-sidebar" data-disable-slide-animation="true">
|
41
|
+
<%= render "layouts/phcdevworks_accounts_devise/components/backend/sidebars/side_menu" %>
|
42
|
+
</div>
|
43
|
+
<div class="app-sidebar-bg"></div>
|
44
|
+
<div class="app-sidebar-mobile-backdrop"><a href="#" data-dismiss="app-sidebar-mobile" class="stretched-link"></a></div>
|
45
|
+
<!-- -PHCDev- Page Container - Sidebar -->
|
46
|
+
|
47
|
+
<!-- -PHCDev- Page Container - Content -->
|
48
|
+
<div id="app" class="app app-content-full-height">
|
49
|
+
<div id="content" class="app-content d-flex flex-column p-0">
|
50
|
+
<!-- -PHCDev- Page Container - Main -->
|
51
|
+
<div class="app-content-padding flex-grow-1 overflow-hidden" data-scrollbar="true" data-height="100%">
|
52
|
+
<%= render "phcdevworks_notifications/bootstrap/notifications" %>
|
53
|
+
<%= yield %>
|
54
|
+
</div>
|
55
|
+
<!-- -PHCDev- Page Container - Main -->
|
56
|
+
<!-- -PHCDev- Page Container - Footer -->
|
57
|
+
<div id="footer" class="app-footer m-0">
|
58
|
+
<%= render "layouts/phcdevworks_accounts_devise/components/backend/footer/footer" %>
|
59
|
+
</div>
|
60
|
+
<!-- -PHCDev- Page Container - Footer -->
|
61
|
+
</div>
|
62
|
+
</div>
|
63
|
+
<!-- -PHCDev- Page Container - Content -->
|
64
|
+
|
65
|
+
</div>
|
66
|
+
<!-- -PHCDev- Page Container -->
|
67
|
+
|
68
|
+
<!-- JavaScript -->
|
69
|
+
<%= javascript_include_tag "coloradmin/phcthemes_admin_panel_pack_coloradmin" %>
|
70
|
+
<!-- JavaScript -->
|
71
|
+
|
72
|
+
</body>
|
73
|
+
</html>
|
@@ -0,0 +1,64 @@
|
|
1
|
+
<!DOCTYPE html>
|
2
|
+
<html>
|
3
|
+
<head>
|
4
|
+
|
5
|
+
<!-- SEO System -->
|
6
|
+
<% phc_seo_title "PHCDevworks Accounts" %>
|
7
|
+
<% phc_seo_description "Ruby on Rails 6 Authentication and User Management Engine." %>
|
8
|
+
<!-- SEO System -->
|
9
|
+
|
10
|
+
<!-- SEO and Site Description -->
|
11
|
+
<meta charset="utf-8">
|
12
|
+
<title><%= yield(:phc_seo_title) %></title>
|
13
|
+
<meta content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" name="viewport" />
|
14
|
+
<meta name="description" content="<%= yield(:phc_seo_description) %>">
|
15
|
+
<!-- SEO and Site Description -->
|
16
|
+
|
17
|
+
<!-- Rails Security Tags -->
|
18
|
+
<%= csrf_meta_tags %>
|
19
|
+
<%= csp_meta_tag %>
|
20
|
+
<!-- Rails Security Tags -->
|
21
|
+
|
22
|
+
<!-- CSS Styles -->
|
23
|
+
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet" />
|
24
|
+
<%= stylesheet_link_tag "coloradmin/default/phcthemes_admin_panel_pack_coloradmin", media: "all" %>
|
25
|
+
<!-- CSS Styles -->
|
26
|
+
|
27
|
+
</head>
|
28
|
+
<body>
|
29
|
+
|
30
|
+
<!-- -PHCDev- Page Container -->
|
31
|
+
<div id="app" class="app app-header-fixed app-without-sidebar">
|
32
|
+
|
33
|
+
<!-- -PHCDev- Page Container - Header -->
|
34
|
+
<div id="header" class="app-header">
|
35
|
+
<%= render "layouts/phcdevworks_accounts_devise/components/backend/navigation/top_menu" %>
|
36
|
+
</div>
|
37
|
+
<!-- -PHCDev- Page Container - Header -->
|
38
|
+
|
39
|
+
<!-- -PHCDev- Page Container - Content -->
|
40
|
+
<div id="content" class="app-content" style="margin-left:0px;">
|
41
|
+
|
42
|
+
<!-- -PHCDev- Page Container - Main -->
|
43
|
+
<%= render "phcdevworks_notifications/bootstrap/notifications" %>
|
44
|
+
<%= yield %>
|
45
|
+
<!-- -PHCDev- Page Container - Main -->
|
46
|
+
|
47
|
+
<!-- -PHCDev- Page Container - Footer -->
|
48
|
+
<div id="footer" class="app-footer m-0">
|
49
|
+
<%= render "layouts/phcdevworks_accounts_devise/components/backend/footer/footer" %>
|
50
|
+
</div>
|
51
|
+
<!-- -PHCDev- Page Container - Footer -->
|
52
|
+
|
53
|
+
</div>
|
54
|
+
<!-- -PHCDev- Page Container - Content -->
|
55
|
+
|
56
|
+
</div>
|
57
|
+
<!-- -PHCDev- Page Container -->
|
58
|
+
|
59
|
+
<!-- JavaScript -->
|
60
|
+
<%= javascript_include_tag "coloradmin/phcthemes_admin_panel_pack_coloradmin" %>
|
61
|
+
<!-- JavaScript -->
|
62
|
+
|
63
|
+
</body>
|
64
|
+
</html>
|