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.
Files changed (63) hide show
  1. checksums.yaml +7 -0
  2. data/MIT-LICENSE +20 -0
  3. data/README.md +11 -0
  4. data/Rakefile +8 -0
  5. data/app/assets/config/phcdevworks_accounts_devise_manifest.js +2 -0
  6. data/app/controllers/phcdevworks_accounts_devise/admin/pages_controller.rb +25 -0
  7. data/app/controllers/phcdevworks_accounts_devise/application_controller.rb +25 -0
  8. data/app/controllers/phcdevworks_accounts_devise/user/pages_controller.rb +15 -0
  9. data/app/controllers/users/confirmations_controller.rb +30 -0
  10. data/app/controllers/users/omniauth_callbacks_controller.rb +30 -0
  11. data/app/controllers/users/passwords_controller.rb +34 -0
  12. data/app/controllers/users/registrations_controller.rb +74 -0
  13. data/app/controllers/users/sessions_controller.rb +27 -0
  14. data/app/controllers/users/unlocks_controller.rb +30 -0
  15. data/app/helpers/phcdevworks_accounts_devise/admin/pages_helper.rb +4 -0
  16. data/app/helpers/phcdevworks_accounts_devise/application_helper.rb +4 -0
  17. data/app/helpers/phcdevworks_accounts_devise/user/pages_helper.rb +4 -0
  18. data/app/jobs/phcdevworks_accounts_devise/application_job.rb +4 -0
  19. data/app/mailers/phcdevworks_accounts_devise/application_mailer.rb +6 -0
  20. data/app/models/phcdevworks_accounts_devise/application_record.rb +5 -0
  21. data/app/models/phcdevworks_accounts_devise/user.rb +39 -0
  22. data/app/views/layouts/phcdevworks_accounts_devise/application.html.erb +73 -0
  23. data/app/views/layouts/phcdevworks_accounts_devise/application_full_width.html.erb +73 -0
  24. data/app/views/layouts/phcdevworks_accounts_devise/application_no_sidebar.html.erb +64 -0
  25. data/app/views/layouts/phcdevworks_accounts_devise/application_profile.html.erb +73 -0
  26. data/app/views/layouts/phcdevworks_accounts_devise/components/backend/footer/_footer.html.erb +17 -0
  27. data/app/views/layouts/phcdevworks_accounts_devise/components/backend/navigation/_top_menu.html.erb +41 -0
  28. data/app/views/layouts/phcdevworks_accounts_devise/components/backend/sidebars/_side_menu.html.erb +529 -0
  29. data/app/views/layouts/phcdevworks_accounts_devise/devise.html.erb +38 -0
  30. data/app/views/phcdevworks_accounts_devise/admin/pages/components/_profile_header.html.erb +27 -0
  31. data/app/views/phcdevworks_accounts_devise/admin/pages/dashboard.html.erb +0 -0
  32. data/app/views/phcdevworks_accounts_devise/admin/pages/user_profile.html.erb +22 -0
  33. data/app/views/phcdevworks_accounts_devise/admin/pages/users_list.html.erb +68 -0
  34. data/app/views/phcdevworks_accounts_devise/user/pages/dashboard.html.erb +0 -0
  35. data/app/views/phcdevworks_accounts_devise/user/pages/profile.html.erb +0 -0
  36. data/app/views/users/confirmations/new.html.erb +48 -0
  37. data/app/views/users/mailer/confirmation_instructions.html.erb +5 -0
  38. data/app/views/users/mailer/email_changed.html.erb +7 -0
  39. data/app/views/users/mailer/password_change.html.erb +3 -0
  40. data/app/views/users/mailer/reset_password_instructions.html.erb +8 -0
  41. data/app/views/users/mailer/unlock_instructions.html.erb +7 -0
  42. data/app/views/users/passwords/edit.html.erb +59 -0
  43. data/app/views/users/passwords/new.html.erb +51 -0
  44. data/app/views/users/registrations/edit.html.erb +100 -0
  45. data/app/views/users/registrations/new.html.erb +109 -0
  46. data/app/views/users/sessions/new.html.erb +92 -0
  47. data/app/views/users/shared/_links.html.erb +25 -0
  48. data/app/views/users/unlocks/new.html.erb +50 -0
  49. data/config/initializers/devise.rb +310 -0
  50. data/config/locales/devise.en.yml +65 -0
  51. data/config/routes.rb +19 -0
  52. data/config/spring.rb +2 -0
  53. data/db/migrate/20191012042035_devise_create_phcdevworks_accounts_devise_users.rb +46 -0
  54. data/db/migrate/20191012060241_add_userinfo_to_users.rb +15 -0
  55. data/db/migrate/20191012060308_add_role_to_users.rb +7 -0
  56. data/db/migrate/20191012060324_add_tos_to_users.rb +7 -0
  57. data/db/migrate/20210407121952_add_customer_id_to_users.rb +7 -0
  58. data/db/migrate/20210425060053_add_subscription_id_to_users.rb +7 -0
  59. data/lib/phcdevworks_accounts_devise/engine.rb +43 -0
  60. data/lib/phcdevworks_accounts_devise/version.rb +3 -0
  61. data/lib/phcdevworks_accounts_devise.rb +6 -0
  62. data/lib/tasks/phcdevworks_accounts_devise_tasks.rake +4 -0
  63. 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,8 @@
1
+ require "bundler/setup"
2
+
3
+ APP_RAKEFILE = File.expand_path("spec/test_app/Rakefile", __dir__)
4
+ load "rails/tasks/engine.rake"
5
+
6
+ load "rails/tasks/statistics.rake"
7
+
8
+ require "bundler/gem_tasks"
@@ -0,0 +1,2 @@
1
+ //= link coloradmin/default/phcthemes_admin_panel_pack_coloradmin.css
2
+ //= link coloradmin/phcthemes_admin_panel_pack_coloradmin.js
@@ -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,4 @@
1
+ module PhcdevworksAccountsDevise
2
+ module Admin::PagesHelper
3
+ end
4
+ end
@@ -0,0 +1,4 @@
1
+ module PhcdevworksAccountsDevise
2
+ module ApplicationHelper
3
+ end
4
+ end
@@ -0,0 +1,4 @@
1
+ module PhcdevworksAccountsDevise
2
+ module User::PagesHelper
3
+ end
4
+ end
@@ -0,0 +1,4 @@
1
+ module PhcdevworksAccountsDevise
2
+ class ApplicationJob < ActiveJob::Base
3
+ end
4
+ end
@@ -0,0 +1,6 @@
1
+ module PhcdevworksAccountsDevise
2
+ class ApplicationMailer < ActionMailer::Base
3
+ default from: 'from@example.com'
4
+ layout 'mailer'
5
+ end
6
+ end
@@ -0,0 +1,5 @@
1
+ module PhcdevworksAccountsDevise
2
+ class ApplicationRecord < ActiveRecord::Base
3
+ self.abstract_class = true
4
+ end
5
+ 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>