phcmembers 67.4.0 → 68.0.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/MIT-LICENSE +1 -1
- data/README.md +30 -15
- data/Rakefile +4 -18
- data/app/assets/config/phcmembers_manifest.js +2 -2
- data/app/controllers/phcmembers/application_controller.rb +14 -15
- data/app/controllers/phcmembers/directory/categories_controller.rb +1 -1
- data/app/controllers/phcmembers/member/addresses_controller.rb +1 -1
- data/app/controllers/phcmembers/member/listings_controller.rb +1 -1
- data/app/controllers/phcmembers/member/profiles_controller.rb +1 -1
- data/app/views/layouts/phcmembers/application.html.erb +58 -64
- data/app/views/layouts/phcmembers/components/backend/footer/_footer.html.erb +14 -6
- data/app/views/layouts/phcmembers/components/backend/navigation/_top_menu.html.erb +34 -30
- data/app/views/layouts/phcmembers/components/backend/sidebars/_side_menu.html.erb +919 -187
- data/app/views/layouts/phcmembers/member_profile.html.erb +58 -64
- data/app/views/phcmembers/directory/categories/_form.html.erb +12 -12
- data/app/views/phcmembers/directory/categories/components/_category_main.html.erb +20 -16
- data/app/views/phcmembers/directory/categories/components/_category_sidebar.html.erb +4 -1
- data/app/views/phcmembers/directory/categories/edit.html.erb +19 -17
- data/app/views/phcmembers/directory/categories/index.html.erb +23 -25
- data/app/views/phcmembers/directory/categories/new.html.erb +21 -17
- data/app/views/phcmembers/directory/categories/show.html.erb +13 -11
- data/app/views/phcmembers/member/addresses/_form.html.erb +30 -30
- data/app/views/phcmembers/member/addresses/components/_address_audits_table.html.erb +1 -1
- data/app/views/phcmembers/member/addresses/components/_address_main.html.erb +2 -2
- data/app/views/phcmembers/member/addresses/edit.html.erb +20 -16
- data/app/views/phcmembers/member/addresses/index.html.erb +23 -23
- data/app/views/phcmembers/member/addresses/new.html.erb +20 -16
- data/app/views/phcmembers/member/addresses/show.html.erb +14 -14
- data/app/views/phcmembers/member/listings/_form.html.erb +43 -43
- data/app/views/phcmembers/member/listings/components/_listing_audits_table.html.erb +1 -1
- data/app/views/phcmembers/member/listings/components/_listing_main.html.erb +2 -2
- data/app/views/phcmembers/member/listings/edit.html.erb +20 -16
- data/app/views/phcmembers/member/listings/index.html.erb +31 -31
- data/app/views/phcmembers/member/listings/new.html.erb +20 -16
- data/app/views/phcmembers/member/listings/show.html.erb +20 -24
- data/app/views/phcmembers/member/profiles/_form.html.erb +27 -27
- data/app/views/phcmembers/member/profiles/components/_profile_audits_table.html.erb +1 -1
- data/app/views/phcmembers/member/profiles/components/_profile_header.html.erb +25 -25
- data/app/views/phcmembers/member/profiles/components/_profile_sidebar.html.erb +3 -3
- data/app/views/phcmembers/member/profiles/edit.html.erb +21 -17
- data/app/views/phcmembers/member/profiles/index.html.erb +42 -42
- data/app/views/phcmembers/member/profiles/new.html.erb +21 -17
- data/app/views/phcmembers/member/profiles/show.html.erb +23 -31
- data/config/routes.rb +21 -24
- data/db/migrate/20160728230720_create_phcmembers_directory_categories.rb +15 -0
- data/db/migrate/20160728230901_create_phcmembers_member_addresses.rb +24 -0
- data/db/migrate/20160728231011_create_phcmembers_member_listings.rb +28 -0
- data/db/migrate/20160728231036_create_phcmembers_member_profiles.rb +21 -0
- data/db/migrate/20170509002355_create_phcmembers_friendly_id_slugs.rb +20 -0
- data/db/migrate/20170517064030_create_phcmembers_profile_versions.rb +19 -0
- data/db/migrate/20170517064049_create_phcmembers_listing_versions.rb +19 -0
- data/db/migrate/20170517064114_create_phcmembers_address_versions.rb +19 -0
- data/db/migrate/20170517064427_create_phcmembers_category_versions.rb +19 -0
- data/db/migrate/20190317215659_create_join_table_categories_listings.rb +8 -0
- data/lib/phcmembers/engine.rb +30 -56
- data/lib/phcmembers/version.rb +1 -1
- data/lib/phcmembers.rb +1 -0
- metadata +77 -395
- data/app/assets/javascripts/phcmembers/application.js +0 -2
- data/app/assets/stylesheets/phcmembers/application.scss +0 -2
- data/app/views/layouts/phcmembers/mailer.html.erb +0 -11
- data/app/views/layouts/phcmembers/mailer.text.erb +0 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c138ddaf87b1aaca94da7282e891fdc8cf4e51a617505a5a7989bb89274720d3
|
4
|
+
data.tar.gz: 4cf22cb12d9590caee46b1c510cfa5bce25e64994c5bef068172d6d3bd037d97
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e0b2c2c0c3d2d2e4cc92b1575aaab592a346174b29d0dc67ec483fcc10982894c7b0d12d902fe9a0fe8e193dc71575a2df6b6c9be30d8557c8cb0745a85db4c0
|
7
|
+
data.tar.gz: fabf8cd0cd6293c2d6a1a460a7e64767a7a9456592b2ef29a49cc5ac3def1b73b8a39a08958135b5de86504ee79b1faee794ca74799c0fb690afcc2a5fe9e0f3
|
data/MIT-LICENSE
CHANGED
data/README.md
CHANGED
@@ -1,36 +1,51 @@
|
|
1
|
-
|
2
|
-
PHCMembers
|
1
|
+
#### PHCMembers (Membership & Directory Engine) Documentation
|
2
|
+
PHCMembers rails engine to manage membership information and directory listings.
|
3
3
|
|
4
|
-
* Fast setup of membership and web directory modules.
|
4
|
+
* Fast setup of membership management and web directory modules.
|
5
5
|
* Directory and listings manager with a web directory API.
|
6
6
|
* Member's list, contact information, and listings manager.
|
7
7
|
* Easy app integration with views that can be customized.
|
8
8
|
|
9
|
-
#### Step 1 - Add PHCMembers to your gemfile and run
|
9
|
+
#### Step 1 - Add PHCMembers to your gemfile and run command
|
10
10
|
|
11
11
|
gem 'phcmembers'
|
12
12
|
bundle install
|
13
|
+
|
14
|
+
#### Step 2 Add either [PHCDevworks Accounts Devise](https://github.com/phcdevworks/phcdevworks_accounts_devise) or [Devise](https://github.com/heartcombo/devise)
|
15
|
+
|
16
|
+
#### 2a - Add authentication option 1 to your gemfile. Can pick option 1 or 2
|
17
|
+
This plugin is optimized for PHCDevworks Accounts Devise (Skins built using Devise).
|
18
|
+
|
19
|
+
gem 'phcdevworks_accounts_devise'
|
20
|
+
bundle install
|
21
|
+
|
22
|
+
#### Step 2b - Or you can add authentication option 2 to your gemfile.
|
23
|
+
This plugin can run fine with devise to run and operate.
|
24
|
+
|
25
|
+
gem 'devise'
|
26
|
+
bundle install
|
27
|
+
|
28
|
+
#### Step 3 - Add PHCMembers & PhcdevworksAccountsDevise Database Tables
|
29
|
+
To copy PHCMembers & PhcdevworksAccountsDevise database migrations, copy each command individually.
|
13
30
|
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
rails railties:install:migrations
|
31
|
+
rails phcmembers:install:migrations
|
32
|
+
rails PhcdevworksAccountsDevise:install:migrations
|
18
33
|
rails db:migrate
|
19
34
|
|
20
|
-
#### Step
|
21
|
-
Mount PHCMembers by adding
|
35
|
+
#### Step 4 - Mount PHCMembers & Add Routes
|
36
|
+
Mount PHCMembers by adding code below to your routes file.
|
22
37
|
|
23
|
-
mount
|
38
|
+
mount PhcdevworksAccountsDevise::Engine, :at => '/'
|
39
|
+
mount phcmembers::Engine, :at => '/'
|
24
40
|
|
25
|
-
#### Step
|
41
|
+
#### Step 5 - Recompile Assets
|
26
42
|
To properly function re-compile your application's assets to copy over required files.
|
27
43
|
|
28
44
|
rails assets:clobber
|
29
45
|
rails assets:precompile
|
30
46
|
|
31
|
-
#### Step
|
47
|
+
#### Step 6 - Generate Views (Customization)
|
32
48
|
Generate views for customization and app integration.
|
33
49
|
|
34
50
|
rails generate phcmembers:views
|
35
|
-
|
36
|
-
#### Additional Information
|
51
|
+
|
data/Rakefile
CHANGED
@@ -1,22 +1,8 @@
|
|
1
|
-
|
2
|
-
require 'bundler/setup'
|
3
|
-
rescue LoadError
|
4
|
-
puts 'You must `gem install bundler` and `bundle install` to run rake tasks'
|
5
|
-
end
|
6
|
-
|
7
|
-
require 'rdoc/task'
|
8
|
-
|
9
|
-
RDoc::Task.new(:rdoc) do |rdoc|
|
10
|
-
rdoc.rdoc_dir = 'rdoc'
|
11
|
-
rdoc.title = 'Phcmembers'
|
12
|
-
rdoc.options << '--line-numbers'
|
13
|
-
rdoc.rdoc_files.include('README.md')
|
14
|
-
rdoc.rdoc_files.include('lib/**/*.rb')
|
15
|
-
end
|
1
|
+
require "bundler/setup"
|
16
2
|
|
17
3
|
APP_RAKEFILE = File.expand_path("spec/test_app/Rakefile", __dir__)
|
18
|
-
load
|
4
|
+
load "rails/tasks/engine.rake"
|
19
5
|
|
20
|
-
load
|
6
|
+
load "rails/tasks/statistics.rake"
|
21
7
|
|
22
|
-
require
|
8
|
+
require "bundler/gem_tasks"
|
@@ -1,2 +1,2 @@
|
|
1
|
-
//=
|
2
|
-
//=
|
1
|
+
//= link coloradmin/default/phcthemes_admin_panel_pack_coloradmin.css
|
2
|
+
//= link coloradmin/phcthemes_admin_panel_pack_coloradmin.js
|
@@ -1,22 +1,21 @@
|
|
1
1
|
module Phcmembers
|
2
|
-
|
2
|
+
class ApplicationController < ActionController::Base
|
3
3
|
|
4
|
-
|
5
|
-
|
4
|
+
# Security Filters
|
5
|
+
protect_from_forgery with: :exception
|
6
6
|
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
helper Phcaccounts::Engine.helpers
|
7
|
+
# Load Requried Helper Files
|
8
|
+
helper PhcdevworksActiveMenus::Engine.helpers
|
9
|
+
helper PhcdevworksNotifications::Engine.helpers
|
10
|
+
helper PhcdevworksTitleseo::Engine.helpers
|
11
|
+
helper PhcdevworksCore::Engine.helpers
|
13
12
|
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
13
|
+
# Papertrail Whodunnit Username
|
14
|
+
def user_for_paper_trail
|
15
|
+
current_user ? current_user.username : 'Public user'
|
16
|
+
end
|
18
17
|
|
19
|
-
|
18
|
+
private
|
20
19
|
|
21
|
-
|
20
|
+
end
|
22
21
|
end
|
@@ -4,7 +4,7 @@ module Phcmembers
|
|
4
4
|
class Directory::CategoriesController < ApplicationController
|
5
5
|
|
6
6
|
# Include Core Helpers, Security & Action Filters
|
7
|
-
include
|
7
|
+
include PhcdevworksCore::PhcdevPluginsHelper
|
8
8
|
before_action :authenticate_user!
|
9
9
|
before_action :set_paper_trail_whodunnit
|
10
10
|
before_action :set_directory_category, only: [:show, :edit, :update, :destroy]
|
@@ -4,7 +4,7 @@ module Phcmembers
|
|
4
4
|
class Member::AddressesController < ApplicationController
|
5
5
|
|
6
6
|
# Include Core Helpers, Security & Action Filters
|
7
|
-
include
|
7
|
+
include PhcdevworksCore::PhcdevPluginsHelper
|
8
8
|
before_action :phcmembers_get_member_profile_info
|
9
9
|
before_action :authenticate_user!
|
10
10
|
before_action :set_paper_trail_whodunnit
|
@@ -4,7 +4,7 @@ module Phcmembers
|
|
4
4
|
class Member::ListingsController < ApplicationController
|
5
5
|
|
6
6
|
# Include Core Helpers, Security & Action Filters
|
7
|
-
include
|
7
|
+
include PhcdevworksCore::PhcdevPluginsHelper
|
8
8
|
before_action :phcmembers_get_member_profile_info
|
9
9
|
before_action :authenticate_user!
|
10
10
|
before_action :set_paper_trail_whodunnit
|
@@ -4,7 +4,7 @@ module Phcmembers
|
|
4
4
|
class Member::ProfilesController < ApplicationController
|
5
5
|
|
6
6
|
# Include Core Helpers, Security & Action Filters
|
7
|
-
include
|
7
|
+
include PhcdevworksCore::PhcdevPluginsHelper
|
8
8
|
before_action :authenticate_user!
|
9
9
|
before_action :set_paper_trail_whodunnit
|
10
10
|
before_action :set_member_profile, only: [:show, :edit, :update, :destroy]
|
@@ -1,79 +1,73 @@
|
|
1
1
|
<!DOCTYPE html>
|
2
2
|
<html>
|
3
|
-
<head>
|
3
|
+
<head>
|
4
4
|
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
5
|
+
<!-- SEO System -->
|
6
|
+
<% phc_seo_title "BradPotts - PHCMembers" %>
|
7
|
+
<% phc_seo_description "Ruby on Rails 7 Engine to Organize Members and Manage an Online Members Directory & Listings." %>
|
8
|
+
<!-- SEO System -->
|
9
9
|
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
<!-- SEO and Site Description -->
|
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 -->
|
17
16
|
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
17
|
+
<!-- Rails Security Tags -->
|
18
|
+
<%= csrf_meta_tags %>
|
19
|
+
<%= csp_meta_tag %>
|
20
|
+
<!-- Rails Security Tags -->
|
22
21
|
|
23
|
-
|
24
|
-
|
25
|
-
|
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
26
|
|
27
|
-
|
28
|
-
|
29
|
-
<!-- Font -->
|
27
|
+
</head>
|
28
|
+
<body>
|
30
29
|
|
31
|
-
|
32
|
-
<
|
30
|
+
<!-- -PHCDEV- Page Container -->
|
31
|
+
<div id="app" class="app app-header-fixed app-sidebar-fixed app-with-wide-sidebar">
|
33
32
|
|
34
|
-
|
35
|
-
|
33
|
+
<!-- -PHCDEV- Page Container - Header -->
|
34
|
+
<div id="header" class="app-header">
|
35
|
+
<%= render "layouts/phcmembers/components/backend/navigation/top_menu" %>
|
36
|
+
</div>
|
37
|
+
<!-- -PHCDEV- Page Container - Header -->
|
36
38
|
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
39
|
+
<!-- -PHCDEV- Page Container - Sidebar -->
|
40
|
+
<div id="sidebar" class="app-sidebar" data-disable-slide-animation="true">
|
41
|
+
<%= render "layouts/phcmembers/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 -->
|
42
46
|
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
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/phcmembers/components/backend/footer/footer" %>
|
59
|
+
</div>
|
60
|
+
<!-- -PHCDEV- Page Container - Footer -->
|
61
|
+
</div>
|
62
|
+
</div>
|
63
|
+
<!-- -PHCDEV- Page Container - Content -->
|
49
64
|
|
50
|
-
|
51
|
-
|
52
|
-
<%= render 'phcnotifi/default/notifications' %>
|
53
|
-
<%= yield %>
|
54
|
-
</div>
|
55
|
-
<!-- Page Content -->
|
65
|
+
</div>
|
66
|
+
<!-- -PHCDEV- Page Container -->
|
56
67
|
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
</div>
|
61
|
-
<!-- Footer Content -->
|
68
|
+
<!-- JavaScript -->
|
69
|
+
<%= javascript_include_tag "coloradmin/phcthemes_admin_panel_pack_coloradmin" %>
|
70
|
+
<!-- JavaScript -->
|
62
71
|
|
63
|
-
|
64
|
-
<!-- Page Container -->
|
65
|
-
|
66
|
-
<!-- JavaScript -->
|
67
|
-
<%= javascript_include_tag "phcmembers/application", 'data-turbolinks-track': 'reload' %>
|
68
|
-
<!-- JavaScript -->
|
69
|
-
|
70
|
-
<!-- JavaScript Loader -->
|
71
|
-
<script>
|
72
|
-
$(document).ready(function() {
|
73
|
-
App.init();
|
74
|
-
});
|
75
|
-
</script>
|
76
|
-
<!-- JavaScript Loader -->
|
77
|
-
|
78
|
-
</body>
|
72
|
+
</body>
|
79
73
|
</html>
|
@@ -1,9 +1,17 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
1
|
+
<!-- -PHCDEV- Page Container - Footer - Left -->
|
2
|
+
<span>
|
3
|
+
<!-- -PHCDEV- Page Container - Footer - Left - Copyright -->
|
4
|
+
<i class="fab fa-osi font-weight-bolder"></i> <%= Time.now.year %>
|
5
|
+
<span class="phc_dev_strong_plugin">PHC</span><span class="phc_dev_light_plugin">Members</span> - Engine v<%= Gem.loaded_specs["phcmembers"].version.to_s %>
|
6
|
+
<!-- -PHCDEV- Page Container - Footer - Left - Copyright -->
|
5
7
|
</span>
|
8
|
+
<!-- -PHCDEV- Page Container - Footer - Left -->
|
9
|
+
|
10
|
+
<!-- -PHCDEV- Page Container - Footer - Right -->
|
6
11
|
<span class="float-right">
|
7
|
-
|
8
|
-
|
12
|
+
<!-- -PHCDEV- Page Container - Footer - Right - Developed -->
|
13
|
+
Developed with <i class="fas fa-heart hanna_hearts"></i> by
|
14
|
+
<a class="phcnet_copyright text-dark" href="https://rubygems.org/profiles/bradpotts" target="_blank"><u><span class="phc_dev_strong_plugin">Brad</span><span class="phc_dev_light_plugin">Potts</span></u></a>
|
15
|
+
<!-- -PHCDEV- Page Container - Footer - Right - Developed -->
|
9
16
|
</span>
|
17
|
+
<!-- -PHCDEV- Page Container - Footer - Right -->
|
@@ -1,37 +1,41 @@
|
|
1
|
-
<!-- Topbar - Navigation Header -->
|
1
|
+
<!-- -PHCDEV- Topbar - Navigation Header -->
|
2
2
|
<div class="navbar-header">
|
3
|
-
|
4
|
-
<
|
5
|
-
<% end %>
|
6
|
-
<button type="button" class="navbar-toggle" data-click="sidebar-toggled">
|
3
|
+
|
4
|
+
<button type="button" class="navbar-mobile-toggler" data-toggle="app-sidebar-mobile">
|
7
5
|
<span class="icon-bar"></span>
|
8
6
|
<span class="icon-bar"></span>
|
9
7
|
<span class="icon-bar"></span>
|
10
|
-
|
11
|
-
</div>
|
12
|
-
<!-- Topbar - Navigation Header -->
|
13
|
-
|
14
|
-
<!-- Topbar - Navigation Main -->
|
15
|
-
<% if current_user %>
|
16
|
-
<ul class="navbar-nav navbar-right">
|
8
|
+
</button>
|
17
9
|
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
<%= image_tag current_user.gravatar_url %>
|
22
|
-
<span class="d-none d-md-inline"><%= current_user.firstname + ' ' + current_user.lastname %></span> <b class="caret"></b>
|
23
|
-
</a>
|
24
|
-
<div class="dropdown-menu dropdown-menu-right">
|
25
|
-
<%= link_to phcaccounts.edit_user_registration_path, class: "dropdown-item" do %>
|
26
|
-
<i class="fas fa-cogs"></i> Account Settings
|
27
|
-
<% end %>
|
28
|
-
<%= link_to phcaccounts.destroy_user_session_path, method: :delete, class: "dropdown-item" do %>
|
29
|
-
<i class="fas fa-sign-out-alt"></i> Logout
|
30
|
-
<% end %>
|
31
|
-
</div>
|
32
|
-
</li>
|
33
|
-
<!-- Topbar - Navigation Main - User Menu -->
|
10
|
+
<%= link_to phcdevworks_accounts_devise.user_path, class: "navbar-brand" do %>
|
11
|
+
<span class="phc_dev_strong_plugin_logo">PHC</span><span class="phc_dev_light_plugin_logo">Members</span>
|
12
|
+
<% end %>
|
34
13
|
|
35
|
-
|
14
|
+
</div>
|
15
|
+
<!-- -PHCDEV- Topbar - Navigation Header -->
|
16
|
+
|
17
|
+
<!-- -PHCDEV- Topbar - Navigation Main -->
|
18
|
+
<% if current_user %>
|
19
|
+
<div class="navbar-nav">
|
20
|
+
<div class="navbar-item navbar-user dropdown">
|
21
|
+
<a href="#" class="navbar-link dropdown-toggle d-flex align-items-center" data-bs-toggle="dropdown">
|
22
|
+
<%= image_tag current_user.gravatar_url %>
|
23
|
+
<span>
|
24
|
+
<span class="d-none d-md-inline"><%= current_user.firstname + " " + current_user.lastname %></span>
|
25
|
+
<b class="caret"></b>
|
26
|
+
</span>
|
27
|
+
</a>
|
28
|
+
<div class="dropdown-menu dropdown-menu-end me-1">
|
29
|
+
<%= link_to phcdevworks_accounts_devise.edit_user_registration_path, class: "dropdown-item" do %>
|
30
|
+
<i class="fad fa-cogs"></i> Account Settings
|
31
|
+
<% end %>
|
32
|
+
<%= link_to phcdevworks_accounts_devise.destroy_user_session_path, method: :delete, class: "dropdown-item" do %>
|
33
|
+
<i class="fad fa-sign-out-alt"></i> Logout
|
34
|
+
<% end %>
|
35
|
+
</div>
|
36
|
+
</div>
|
37
|
+
</div>
|
36
38
|
<% end %>
|
37
|
-
|
39
|
+
|
40
|
+
</div>
|
41
|
+
<!-- -PHCDEV- Topbar - Navigation Main -->
|