phcmemberspro 87.0.0 → 88.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (61) hide show
  1. checksums.yaml +4 -4
  2. data/MIT-LICENSE +1 -1
  3. data/app/controllers/phcmemberspro/api/v1/categories_controller.rb +2 -3
  4. data/app/controllers/phcmemberspro/api/v1/listings_controller.rb +2 -2
  5. data/app/controllers/phcmemberspro/application_controller.rb +18 -18
  6. data/app/controllers/phcmemberspro/directory/categories_controller.rb +15 -16
  7. data/app/controllers/phcmemberspro/member/addresses_controller.rb +12 -13
  8. data/app/controllers/phcmemberspro/member/dashboards_controller.rb +5 -4
  9. data/app/controllers/phcmemberspro/member/listings_controller.rb +15 -16
  10. data/app/controllers/phcmemberspro/member/profiles_controller.rb +12 -13
  11. data/app/jobs/phcmemberspro/application_job.rb +1 -1
  12. data/app/mailers/phcmemberspro/application_mailer.rb +1 -1
  13. data/app/models/phcmemberspro/address_versions.rb +3 -3
  14. data/app/models/phcmemberspro/directory/category.rb +10 -12
  15. data/app/models/phcmemberspro/member/address.rb +18 -27
  16. data/app/models/phcmemberspro/member/listing.rb +35 -43
  17. data/app/models/phcmemberspro/member/profile.rb +10 -14
  18. data/app/views/layouts/phcmemberspro/application.html.erb +7 -12
  19. data/app/views/layouts/phcmemberspro/components/backend/footer/_footer.html.erb +5 -5
  20. data/app/views/layouts/phcmemberspro/components/backend/navigation/_top_menu.html.erb +1 -42
  21. data/app/views/layouts/phcmemberspro/components/backend/sidebars/_side_menu.html.erb +68 -61
  22. data/app/views/layouts/phcmemberspro/mailer.html.erb +0 -1
  23. data/app/views/layouts/phcmemberspro/member_profile.html.erb +7 -12
  24. data/app/views/phcmemberspro/api/v1/listings/index.json.rabl +1 -1
  25. data/app/views/phcmemberspro/directory/categories/_form.html.erb +12 -11
  26. data/app/views/phcmemberspro/directory/categories/edit.html.erb +3 -1
  27. data/app/views/phcmemberspro/directory/categories/index.html.erb +22 -17
  28. data/app/views/phcmemberspro/directory/categories/new.html.erb +3 -1
  29. data/app/views/phcmemberspro/directory/categories/show.html.erb +1 -1
  30. data/app/views/phcmemberspro/member/addresses/_form.html.erb +24 -23
  31. data/app/views/phcmemberspro/member/addresses/components/_address_audits_table.html.erb +7 -7
  32. data/app/views/phcmemberspro/member/addresses/components/_address_main.html.erb +17 -0
  33. data/app/views/phcmemberspro/member/addresses/edit.html.erb +3 -3
  34. data/app/views/phcmemberspro/member/addresses/index.html.erb +23 -20
  35. data/app/views/phcmemberspro/member/addresses/new.html.erb +3 -3
  36. data/app/views/phcmemberspro/member/addresses/show.html.erb +38 -28
  37. data/app/views/phcmemberspro/member/listings/_form.html.erb +34 -33
  38. data/app/views/phcmemberspro/member/listings/components/_listing_audits_table.html.erb +7 -7
  39. data/app/views/phcmemberspro/member/listings/components/_listing_main.html.erb +22 -0
  40. data/app/views/phcmemberspro/member/listings/edit.html.erb +3 -3
  41. data/app/views/phcmemberspro/member/listings/index.html.erb +24 -23
  42. data/app/views/phcmemberspro/member/listings/new.html.erb +3 -3
  43. data/app/views/phcmemberspro/member/listings/show.html.erb +38 -28
  44. data/app/views/phcmemberspro/member/profiles/_form.html.erb +22 -21
  45. data/app/views/phcmemberspro/member/profiles/components/_profile_addresses_table.html.erb +6 -6
  46. data/app/views/phcmemberspro/member/profiles/components/_profile_audits_table.html.erb +7 -7
  47. data/app/views/phcmemberspro/member/profiles/components/_profile_header.html.erb +1 -0
  48. data/app/views/phcmemberspro/member/profiles/components/_profile_information_table.html.erb +2 -2
  49. data/app/views/phcmemberspro/member/profiles/components/_profile_listings_table.html.erb +6 -6
  50. data/app/views/phcmemberspro/member/profiles/components/_profile_sidebar.html.erb +15 -15
  51. data/app/views/phcmemberspro/member/profiles/edit.html.erb +3 -3
  52. data/app/views/phcmemberspro/member/profiles/index.html.erb +24 -22
  53. data/app/views/phcmemberspro/member/profiles/new.html.erb +3 -3
  54. data/app/views/phcmemberspro/member/profiles/show.html.erb +2 -2
  55. data/config/routes.rb +8 -11
  56. data/lib/phcmemberspro.rb +0 -1
  57. data/lib/phcmemberspro/engine.rb +9 -8
  58. data/lib/phcmemberspro/version.rb +1 -1
  59. metadata +64 -64
  60. data/app/views/phcmemberspro/member/addresses/components/_address_table.html.erb +0 -26
  61. data/app/views/phcmemberspro/member/listings/components/_listing_table.html.erb +0 -33
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 18b7ecd73386baff70b8466e08557c816e6786179cb7d20e02732f3c3f68700c
4
- data.tar.gz: 6063c079604b39596256ff2b379547337df4d13c03d0c5ce8faf7f4c46e2dc6b
3
+ metadata.gz: d33a3cb5f655f68bf5226812992122db0ba97ae25bf0e2bd85c2d5f9aee4f9e9
4
+ data.tar.gz: d1f70f4caeb997edc657728b2a350ca535adb3521bc194ce95b3ee9b8444f441
5
5
  SHA512:
6
- metadata.gz: 72cd7c53fd4362f1fdd341e9396ad1e3e9f87d3ec716006b700e87304e974fac66b76fb2a91264aedc994203741c98b8a5bfafbfa37146b7d1f2fd8561fef331
7
- data.tar.gz: ba9966b25ccc35ed1527060fc6f3cf800c9644ffa13717f9c95897b1b0e2ef51345a047f645bfc4ab48d17068557f34c3b223c928208366d2a5355170e114933
6
+ metadata.gz: 329c099a4a4799067590145d89ac2472ca759d6402fc72815ac9df6d8248761e0dd6a307c197d64bbc135db65b217eb681ecf2bbdf498307600daafdf5e55bdf
7
+ data.tar.gz: ff10f5b0a9cf67df358b0bac20f4207e39f3a4ebf2dd2971bcf93870858e3c9c63411a9b24b82dd993a997e8c9ce50b1af8b144084fc509de694b2afb9df2d5a
@@ -1,4 +1,4 @@
1
- Copyright 2012-2019 BradPotts - PHCNetco/PHCDevworks/PHCNetworks
1
+ Copyright 2012-2019 BradPotts - PHCNetCo/PHCDevworks/PHCNetworks
2
2
 
3
3
  Permission is hereby granted, free of charge, to any person obtaining
4
4
  a copy of this software and associated documentation files (the
@@ -3,13 +3,12 @@ require_dependency "phcmemberspro/application_controller"
3
3
  module Phcmemberspro
4
4
  class Api::V1::CategoriesController < ApplicationController
5
5
 
6
- # Only Responds to API Requests & Skips Member Profile Info
7
- skip_before_action :phcmemberspro_get_member_profile_info
6
+ # Only Responds to API
8
7
  respond_to :json
9
8
 
10
9
  # Directory Category API
11
10
  def index
12
- @directory_categories = Directory::Category.where(org_id: current_user.org_id).order('catname ASC')
11
+ @directory_categories = Directory::Category.where(org_id: current_user.org_id).order('category_name ASC')
13
12
  end
14
13
 
15
14
  end
@@ -3,14 +3,14 @@ require_dependency "phcmemberspro/application_controller"
3
3
  module Phcmemberspro
4
4
  class Api::V1::ListingsController < ApplicationController
5
5
 
6
- # Only Responds to API Requests & Skips Member Profile Info
6
+ # Only Responds to API
7
7
  skip_before_action :phcmemberspro_get_member_profile_info
8
8
  respond_to :json
9
9
 
10
10
  # Directory Listing API
11
11
  def index
12
12
  category = Directory::Category.find(params[:category_id])
13
- @member_listings = category.listings.where(org_id: current_user.org_id)
13
+ @member_listings = category.listings.where(org_id: current_user.org_id).order('listing_company_name ASC')
14
14
  end
15
15
 
16
16
  end
@@ -1,22 +1,22 @@
1
1
  module Phcmemberspro
2
- class ApplicationController < ActionController::Base
3
-
4
- # Security Filters
5
- protect_from_forgery with: :exception
6
-
7
- # Load Requried Helper Files
8
- helper Phccorehelpers::Engine.helpers
9
- helper Phcmenus::Engine.helpers
10
- helper Phctitleseo::Engine.helpers
11
- helper Phcnotifi::Engine.helpers
12
- helper Phcaccountspro::Engine.helpers
13
-
14
- # Papertrail Whodunnit Username
15
- def user_for_paper_trail
16
- current_user ? current_user.username : 'Public user'
17
- end
2
+ class ApplicationController < ActionController::Base
18
3
 
19
- private
4
+ # Security Filters
5
+ protect_from_forgery with: :exception
20
6
 
7
+ # Load Requried Helper Files
8
+ helper Phcaccountspro::Engine.helpers
9
+ helper Phccorehelpers::Engine.helpers
10
+ helper Phcmenus::Engine.helpers
11
+ helper Phctitleseo::Engine.helpers
12
+ helper Phcnotifi::Engine.helpers
13
+
14
+ # Papertrail Whodunnit Username
15
+ def user_for_paper_trail
16
+ current_user ? current_user.username : 'Public user'
21
17
  end
22
- end
18
+
19
+ private
20
+
21
+ end
22
+ end
@@ -9,51 +9,50 @@ module Phcmemberspro
9
9
  before_action :set_paper_trail_whodunnit
10
10
  before_action :set_directory_category, only: [:show, :edit, :update, :destroy]
11
11
 
12
- # INDEX - Directory Category
12
+ # INDEX
13
13
  def index
14
- @directory_categories = Directory::Category.where(org_id: current_user.org_id)
14
+ @directory_categories = Directory::Category.all
15
15
  end
16
16
 
17
- # DETAILED - Directory Category
17
+ # SHOW
18
18
  def show
19
19
  @directory_category = Directory::Category.find(params[:id])
20
20
  @directory_category_versions = Phcmemberspro::CategoryVersions.where(item_id: @directory_category, item_type: 'Phcmemberspro::Directory::Category')
21
21
  end
22
22
 
23
- # NEW - Directory Category
23
+ # NEW
24
24
  def new
25
- @directory_category = Directory::Category.new
25
+ @directory_category = Directory::Category.new
26
26
  end
27
27
 
28
- # EDIT - Directory Category
28
+ # EDIT
29
29
  def edit
30
30
  end
31
31
 
32
- # POST - Directory Category
32
+ # CREATE
33
33
  def create
34
34
  @directory_category = Directory::Category.new(directory_category_params)
35
35
  @directory_category.user_id = current_user.id
36
- @directory_category.org_id = current_user.org_id
37
36
  if @directory_category.save
38
- redirect_to directory_categories_url, notice: 'Category was successfully created.'
37
+ redirect_to directory_categories_url, :flash => { :success => 'Category was successfully created.' }
39
38
  else
40
- render :new
39
+ render :new
41
40
  end
42
41
  end
43
42
 
44
- # PATCH/PUT - Directory Category
43
+ # UPDATE
45
44
  def update
46
45
  if @directory_category.update(directory_category_params)
47
- redirect_to directory_categories_url, notice: 'Category was successfully updated.'
46
+ redirect_to directory_categories_url, :flash => { :success => 'Category was successfully updated.' }
48
47
  else
49
- render :edit
48
+ render :edit
50
49
  end
51
50
  end
52
51
 
53
- # DELETE - Directory Category
52
+ # DELETE
54
53
  def destroy
55
54
  @directory_category.destroy
56
- redirect_to directory_categories_url, notice: 'Category was successfully destroyed.'
55
+ redirect_to directory_categories_url, :flash => { :error => 'Category was successfully destroyed.' }
57
56
  end
58
57
 
59
58
  private
@@ -65,7 +64,7 @@ module Phcmemberspro
65
64
 
66
65
  # Whitelist
67
66
  def directory_category_params
68
- params.require(:directory_category).permit(:category_name, :slug, :user_id, :org_id)
67
+ params.require(:directory_category).permit(:category_name, :slug, :user_id)
69
68
  end
70
69
 
71
70
  end
@@ -10,58 +10,57 @@ module Phcmemberspro
10
10
  before_action :set_paper_trail_whodunnit
11
11
  before_action :set_member_address, only: [:show, :edit, :update, :destroy]
12
12
 
13
- # INDEX - Directory Listings
13
+ # INDEX
14
14
  def index
15
15
  profile = Member::Profile.find(params[:profile_id])
16
- @member_addresses = profile.addresses.where(org_id: current_user.org_id)
16
+ @member_addresses = profile.addresses.all
17
17
  end
18
18
 
19
- # LISTINGS DETAILS - Directory Listings
19
+ # SHOW
20
20
  def show
21
21
  profile = Member::Profile.find(params[:profile_id])
22
22
  @member_address = profile.addresses.find(params[:id])
23
23
  @member_address_versions = Phcmemberspro::AddressVersions.where(item_id: @member_address, item_type: 'Phcmemberspro::Member::Address')
24
24
  end
25
25
 
26
- # NEW - Directory Listings
26
+ # NEW
27
27
  def new
28
28
  profile = Member::Profile.find(params[:profile_id])
29
29
  @member_address = profile.addresses.build
30
30
  end
31
31
 
32
- # EDIT - Directory Listings
32
+ # EDIT
33
33
  def edit
34
34
  end
35
35
 
36
- # POST - Directory Listings
36
+ # CREATE
37
37
  def create
38
38
  @profile = Member::Profile.find(params[:profile_id])
39
39
  @member_address = @profile.addresses.create(member_address_params)
40
40
  @member_address.user_id = current_user.id
41
- @member_address.org_id = current_user.org_id
42
41
  if @member_address.save
43
- redirect_to member_profile_addresses_url, notice: 'Address was successfully created.'
42
+ redirect_to member_profile_addresses_url, :flash => { :success => 'Address was successfully created.' }
44
43
  else
45
44
  render :new
46
45
  end
47
46
  end
48
47
 
49
- # PATCH/PUT - Directory Listings
48
+ # UPDATE
50
49
  def update
51
50
  @profile = Member::Profile.find(params[:profile_id])
52
51
  if @member_address.update(member_address_params)
53
- redirect_to member_profile_addresses_url, notice: 'Address was successfully updated.'
52
+ redirect_to member_profile_addresses_url, :flash => { :success => 'Address was successfully updated.' }
54
53
  else
55
54
  render :edit
56
55
  end
57
56
  end
58
57
 
59
- # DELETE - Directory Listings
58
+ # DELETE
60
59
  def destroy
61
60
  @profile = Member::Profile.find(params[:profile_id])
62
61
  @member_address = @profile.addresses.find(params[:id])
63
62
  @member_address.destroy
64
- redirect_to member_profile_addresses_url, notice: 'Listing was successfully destroyed.'
63
+ redirect_to member_profile_addresses_url, :flash => { :error => 'Listing was successfully destroyed.' }
65
64
  end
66
65
 
67
66
  private
@@ -73,7 +72,7 @@ module Phcmemberspro
73
72
 
74
73
  # Whitelist
75
74
  def member_address_params
76
- params.require(:member_address).permit(:address_address_line_1, :address_address_line_2, :address_city, :address_province, :address_country, :address_postal_code, :address_type, :user_name, :profile_id, :slug, :user_id, :org_id)
75
+ params.require(:member_address).permit(:address_address_line_1, :address_address_line_2, :address_city, :address_province, :address_country, :address_postal_code, :address_type, :user_name, :profile_id, :slug, :user_id)
77
76
  end
78
77
 
79
78
  end
@@ -6,11 +6,12 @@ module Phcmemberspro
6
6
  # Security & Action Filters
7
7
  before_action :authenticate_user!
8
8
 
9
+ # INDEX
9
10
  def index
10
- @member_profile = Phcmemberspro::Member::Profile.where(org_id: current_user.org_id)
11
- @member_listing = Phcmemberspro::Member::Listing.where(org_id: current_user.org_id)
12
- @member_address = Phcmemberspro::Member::Address.where(org_id: current_user.org_id)
13
- @directory_category = Phcmemberspro::Directory::Category.where(org_id: current_user.org_id)
11
+ @member_profile = Phcmemberspro::Member::Profile.all
12
+ @member_listing = Phcmemberspro::Member::Listing.all
13
+ @member_address = Phcmemberspro::Member::Address.all
14
+ @directory_category = Phcmemberspro::Directory::Category.all
14
15
  end
15
16
 
16
17
  end
@@ -10,58 +10,57 @@ module Phcmemberspro
10
10
  before_action :set_paper_trail_whodunnit
11
11
  before_action :set_member_listing, only: [:show, :edit, :update, :destroy]
12
12
 
13
- # INDEX - Directory Listings
13
+ # INDEX
14
14
  def index
15
15
  profile = Member::Profile.find(params[:profile_id])
16
- @member_listings = profile.listings.where(org_id: current_user.org_id)
16
+ @member_listings = profile.listings.all
17
17
  end
18
18
 
19
- # LISTINGS DETAILS - Directory Listings
19
+ # SHOW
20
20
  def show
21
21
  profile = Member::Profile.find(params[:profile_id])
22
22
  @meber_listing = profile.listings.find(params[:id])
23
- @member_listing_versions = Phcmemberspro::ListingVersions.where(item_id: @member_listing, item_type: 'Phcmemberspro::Member::Listing')
23
+ @member_listing_versions = Phcmemberspro::ListingVersions.where(item_id: @member_listing, item_type: 'Phcmembers::Member::Listing')
24
24
  end
25
25
 
26
- # NEW - Directory Listings
26
+ # NEW
27
27
  def new
28
28
  profile = Member::Profile.find(params[:profile_id])
29
29
  @member_listing = profile.listings.build
30
30
  end
31
31
 
32
- # EDIT - Directory Listings
32
+ # EDIT
33
33
  def edit
34
34
  end
35
35
 
36
- # POST - Directory Listings
36
+ # CREATE
37
37
  def create
38
38
  @profile = Member::Profile.find(params[:profile_id])
39
39
  @member_listing = @profile.listings.create(member_listing_params)
40
40
  @member_listing.user_id = current_user.id
41
- @member_listing.org_id = current_user.org_id
42
41
  if @member_listing.save
43
- redirect_to member_profile_listings_url, notice: 'Listing was successfully created.'
42
+ redirect_to member_profile_listings_url, :flash => { :success => 'Listing was successfully created.' }
44
43
  else
45
- render :new
44
+ render :new
46
45
  end
47
46
  end
48
47
 
49
- # PATCH/PUT - Directory Listings
48
+ # UPDATE
50
49
  def update
51
50
  @profile = Member::Profile.find(params[:profile_id])
52
51
  if @member_listing.update(member_listing_params)
53
- redirect_to member_profile_listings_url, notice: 'Listing was successfully updated.'
52
+ redirect_to member_profile_listings_url, :flash => { :success => 'Listing was successfully updated.' }
54
53
  else
55
- render :edit
54
+ render :edit
56
55
  end
57
56
  end
58
57
 
59
- # DELETE - Directory Listings
58
+ # DELETE
60
59
  def destroy
61
60
  @profile = Member::Profile.find(params[:profile_id])
62
61
  @member_listing = @profile.listings.find(params[:id])
63
62
  @member_listing.destroy
64
- redirect_to member_profile_listings_url, notice: 'Listing was successfully destroyed.'
63
+ redirect_to member_profile_listings_url, :flash => { :error => 'Listing was successfully destroyed.' }
65
64
  end
66
65
 
67
66
  private
@@ -73,7 +72,7 @@ module Phcmemberspro
73
72
 
74
73
  # Whitelist
75
74
  def member_listing_params
76
- params.require(:member_listing).permit(:listing_company_name, :listing_contact_name, :listing_address_line_1, :listing_address_line_2, :listing_city, :listing_country, :listing_province, :listing_postal_code, :listing_phone, :listing_contact_email, :listing_website, :profile_id, :slug, :user_id, :org_id, category_ids: [])
75
+ params.require(:member_listing).permit(:listing_company_name, :listing_contact_name, :listing_address_line_1, :listing_address_line_2, :listing_city, :listing_country, :listing_province, :listing_postal_code, :listing_phone, :listing_contact_email, :listing_website, :profile_id, :slug, :user_id, category_ids: [])
77
76
  end
78
77
 
79
78
  end
@@ -10,51 +10,50 @@ module Phcmemberspro
10
10
  before_action :set_member_profile, only: [:show, :edit, :update, :destroy]
11
11
  layout "phcmemberspro/member_profile", :only => [ :show ]
12
12
 
13
- # INDEX - Member Profile
13
+ # INDEX
14
14
  def index
15
- @member_profiles = Member::Profile.where(org_id: current_user.org_id)
15
+ @member_profiles = Member::Profile.all
16
16
  end
17
17
 
18
- # DETAILED PROFILE - Member Profile
18
+ # SHOW
19
19
  def show
20
20
  @member_profile = Member::Profile.find(params[:id])
21
21
  @member_profile_versions = Phcmemberspro::ProfileVersions.where(item_id: @member_profile, item_type: 'Phcmemberspro::Member::Profile')
22
22
  end
23
23
 
24
- # NEW FORM - Member Profile
24
+ # NEW
25
25
  def new
26
26
  @member_profile = Member::Profile.new
27
27
  end
28
28
 
29
- # EDIT FORM - Member Profile
29
+ # EDIT
30
30
  def edit
31
31
  end
32
32
 
33
- # POST - Member Profile
33
+ # CREATE
34
34
  def create
35
35
  @member_profile = Member::Profile.new(member_profile_params)
36
36
  @member_profile.user_id = current_user.id
37
- @member_profile.org_id = current_user.org_id
38
37
  if @member_profile.save
39
- redirect_to member_profiles_url, notice: 'Profile was successfully created.'
38
+ redirect_to member_profiles_url, :flash => { :success => 'Profile was successfully created.' }
40
39
  else
41
40
  render :new
42
41
  end
43
42
  end
44
43
 
45
- # PATCH/PUT - Member Profile
44
+ # UPDATE
46
45
  def update
47
46
  if @member_profile.update(member_profile_params)
48
- redirect_to member_profiles_url, notice: 'Profile was successfully updated.'
47
+ redirect_to member_profiles_url, :flash => { :success => 'Profile was successfully updated.' }
49
48
  else
50
49
  render :edit
51
50
  end
52
51
  end
53
52
 
54
- # DELETE - Member Profile
53
+ # DELETE
55
54
  def destroy
56
55
  @member_profile.destroy
57
- redirect_to member_profiles_url, notice: 'Profile was successfully destroyed.'
56
+ redirect_to member_profiles_url, :flash => { :error => 'Profile was successfully destroyed.' }
58
57
  end
59
58
 
60
59
  private
@@ -66,7 +65,7 @@ module Phcmemberspro
66
65
 
67
66
  # Whitelist
68
67
  def member_profile_params
69
- params.require(:member_profile).permit(:member_first_name, :member_last_name, :member_title, :member_email, :member_phone, :member_notes, :slug, :user_id, :org_id)
68
+ params.require(:member_profile).permit(:member_first_name, :member_last_name, :member_title, :member_email, :member_phone, :member_notes, :slug, :user_id)
70
69
  end
71
70
 
72
71
  end
@@ -1,4 +1,4 @@
1
- module Phcmemberspro
1
+ module Phcmembers
2
2
  class ApplicationJob < ActiveJob::Base
3
3
  end
4
4
  end
@@ -1,6 +1,6 @@
1
1
  module Phcmemberspro
2
2
  class ApplicationMailer < ActionMailer::Base
3
- default from: ENV['PHC_MEMBERS_PRO_EMAIL_ADDRESS']
3
+ default from: 'from@example.com'
4
4
  layout 'mailer'
5
5
  end
6
6
  end
@@ -1,5 +1,5 @@
1
1
  module Phcmemberspro
2
- class AddressVersions < PaperTrail::Version
3
- self.table_name = :phcmemberspro_address_versions
4
- end
2
+ class AddressVersions < PaperTrail::Version
3
+ self.table_name = :phcmemberspro_address_versions
4
+ end
5
5
  end
@@ -1,26 +1,24 @@
1
1
  module Phcmemberspro
2
2
  class Directory::Category < ApplicationRecord
3
3
 
4
- # Clean URL Initialize
4
+ # Clean URL Initialize
5
5
  extend FriendlyId
6
6
 
7
- # Paper_tail Initialize
7
+ # Paper Trail Initialize
8
8
  has_paper_trail :class_name => 'Phcmemberspro::CategoryVersions'
9
9
 
10
- # Relationships
10
+ # Relationships
11
11
  has_and_belongs_to_many :listings, class_name: 'Phcmemberspro::Member::Listing', :join_table => 'categories_listings', :dependent => :destroy
12
12
 
13
+ # Form Fields Validation
13
14
  validates :category_name,
14
- length: { minimum: 3 }
15
-
16
- # Clean URL Define
17
- friendly_id :phcmemberspro_category_slug, use: [:slugged, :finders]
15
+ presence: true
18
16
 
19
- # Define for Multiple Records
20
- def phcmemberspro_category_slug
21
- [
22
- [:org_id, :category_name]
23
- ]
17
+ # Clean URL Define
18
+ friendly_id :phc_nice_url_slug, use: [:slugged, :finders]
19
+
20
+ def phc_nice_url_slug
21
+ [:category_name]
24
22
  end
25
23
 
26
24
  end