phcdevworks_accounts_devise 0.1.0.pre.beta
Sign up to get free protection for your applications and to get access to all the features.
- 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
|
+
[![Gem Version](https://badge.fury.io/rb/phcdevworks_accounts_devise.svg)](https://badge.fury.io/rb/phcdevworks_accounts_devise) [![Publish to Github.com](https://github.com/phcdevworks/phcdevworks_accounts_devise/actions/workflows/publish_gem_github_com.yml/badge.svg)](https://github.com/phcdevworks/phcdevworks_accounts_devise/actions/workflows/publish_gem_github_com.yml) [![Publish to Rubygems.org](https://github.com/phcdevworks/phcdevworks_accounts_devise/actions/workflows/publish_gem_rubygems_org.yml/badge.svg)](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>
|