phcmemberspro 87.0.0 → 88.0.0
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/app/controllers/phcmemberspro/api/v1/categories_controller.rb +2 -3
- data/app/controllers/phcmemberspro/api/v1/listings_controller.rb +2 -2
- data/app/controllers/phcmemberspro/application_controller.rb +18 -18
- data/app/controllers/phcmemberspro/directory/categories_controller.rb +15 -16
- data/app/controllers/phcmemberspro/member/addresses_controller.rb +12 -13
- data/app/controllers/phcmemberspro/member/dashboards_controller.rb +5 -4
- data/app/controllers/phcmemberspro/member/listings_controller.rb +15 -16
- data/app/controllers/phcmemberspro/member/profiles_controller.rb +12 -13
- data/app/jobs/phcmemberspro/application_job.rb +1 -1
- data/app/mailers/phcmemberspro/application_mailer.rb +1 -1
- data/app/models/phcmemberspro/address_versions.rb +3 -3
- data/app/models/phcmemberspro/directory/category.rb +10 -12
- data/app/models/phcmemberspro/member/address.rb +18 -27
- data/app/models/phcmemberspro/member/listing.rb +35 -43
- data/app/models/phcmemberspro/member/profile.rb +10 -14
- data/app/views/layouts/phcmemberspro/application.html.erb +7 -12
- data/app/views/layouts/phcmemberspro/components/backend/footer/_footer.html.erb +5 -5
- data/app/views/layouts/phcmemberspro/components/backend/navigation/_top_menu.html.erb +1 -42
- data/app/views/layouts/phcmemberspro/components/backend/sidebars/_side_menu.html.erb +68 -61
- data/app/views/layouts/phcmemberspro/mailer.html.erb +0 -1
- data/app/views/layouts/phcmemberspro/member_profile.html.erb +7 -12
- data/app/views/phcmemberspro/api/v1/listings/index.json.rabl +1 -1
- data/app/views/phcmemberspro/directory/categories/_form.html.erb +12 -11
- data/app/views/phcmemberspro/directory/categories/edit.html.erb +3 -1
- data/app/views/phcmemberspro/directory/categories/index.html.erb +22 -17
- data/app/views/phcmemberspro/directory/categories/new.html.erb +3 -1
- data/app/views/phcmemberspro/directory/categories/show.html.erb +1 -1
- data/app/views/phcmemberspro/member/addresses/_form.html.erb +24 -23
- data/app/views/phcmemberspro/member/addresses/components/_address_audits_table.html.erb +7 -7
- data/app/views/phcmemberspro/member/addresses/components/_address_main.html.erb +17 -0
- data/app/views/phcmemberspro/member/addresses/edit.html.erb +3 -3
- data/app/views/phcmemberspro/member/addresses/index.html.erb +23 -20
- data/app/views/phcmemberspro/member/addresses/new.html.erb +3 -3
- data/app/views/phcmemberspro/member/addresses/show.html.erb +38 -28
- data/app/views/phcmemberspro/member/listings/_form.html.erb +34 -33
- data/app/views/phcmemberspro/member/listings/components/_listing_audits_table.html.erb +7 -7
- data/app/views/phcmemberspro/member/listings/components/_listing_main.html.erb +22 -0
- data/app/views/phcmemberspro/member/listings/edit.html.erb +3 -3
- data/app/views/phcmemberspro/member/listings/index.html.erb +24 -23
- data/app/views/phcmemberspro/member/listings/new.html.erb +3 -3
- data/app/views/phcmemberspro/member/listings/show.html.erb +38 -28
- data/app/views/phcmemberspro/member/profiles/_form.html.erb +22 -21
- data/app/views/phcmemberspro/member/profiles/components/_profile_addresses_table.html.erb +6 -6
- data/app/views/phcmemberspro/member/profiles/components/_profile_audits_table.html.erb +7 -7
- data/app/views/phcmemberspro/member/profiles/components/_profile_header.html.erb +1 -0
- data/app/views/phcmemberspro/member/profiles/components/_profile_information_table.html.erb +2 -2
- data/app/views/phcmemberspro/member/profiles/components/_profile_listings_table.html.erb +6 -6
- data/app/views/phcmemberspro/member/profiles/components/_profile_sidebar.html.erb +15 -15
- data/app/views/phcmemberspro/member/profiles/edit.html.erb +3 -3
- data/app/views/phcmemberspro/member/profiles/index.html.erb +24 -22
- data/app/views/phcmemberspro/member/profiles/new.html.erb +3 -3
- data/app/views/phcmemberspro/member/profiles/show.html.erb +2 -2
- data/config/routes.rb +8 -11
- data/lib/phcmemberspro.rb +0 -1
- data/lib/phcmemberspro/engine.rb +9 -8
- data/lib/phcmemberspro/version.rb +1 -1
- metadata +64 -64
- data/app/views/phcmemberspro/member/addresses/components/_address_table.html.erb +0 -26
- 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:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d33a3cb5f655f68bf5226812992122db0ba97ae25bf0e2bd85c2d5f9aee4f9e9
|
4
|
+
data.tar.gz: d1f70f4caeb997edc657728b2a350ca535adb3521bc194ce95b3ee9b8444f441
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 329c099a4a4799067590145d89ac2472ca759d6402fc72815ac9df6d8248761e0dd6a307c197d64bbc135db65b217eb681ecf2bbdf498307600daafdf5e55bdf
|
7
|
+
data.tar.gz: ff10f5b0a9cf67df358b0bac20f4207e39f3a4ebf2dd2971bcf93870858e3c9c63411a9b24b82dd993a997e8c9ce50b1af8b144084fc509de694b2afb9df2d5a
|
data/MIT-LICENSE
CHANGED
@@ -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
|
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('
|
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
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
12
|
+
# INDEX
|
13
13
|
def index
|
14
|
-
@directory_categories = Directory::Category.
|
14
|
+
@directory_categories = Directory::Category.all
|
15
15
|
end
|
16
16
|
|
17
|
-
#
|
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
|
23
|
+
# NEW
|
24
24
|
def new
|
25
|
-
|
25
|
+
@directory_category = Directory::Category.new
|
26
26
|
end
|
27
27
|
|
28
|
-
# EDIT
|
28
|
+
# EDIT
|
29
29
|
def edit
|
30
30
|
end
|
31
31
|
|
32
|
-
#
|
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,
|
37
|
+
redirect_to directory_categories_url, :flash => { :success => 'Category was successfully created.' }
|
39
38
|
else
|
40
|
-
|
39
|
+
render :new
|
41
40
|
end
|
42
41
|
end
|
43
42
|
|
44
|
-
#
|
43
|
+
# UPDATE
|
45
44
|
def update
|
46
45
|
if @directory_category.update(directory_category_params)
|
47
|
-
redirect_to directory_categories_url,
|
46
|
+
redirect_to directory_categories_url, :flash => { :success => 'Category was successfully updated.' }
|
48
47
|
else
|
49
|
-
|
48
|
+
render :edit
|
50
49
|
end
|
51
50
|
end
|
52
51
|
|
53
|
-
# DELETE
|
52
|
+
# DELETE
|
54
53
|
def destroy
|
55
54
|
@directory_category.destroy
|
56
|
-
redirect_to directory_categories_url,
|
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
|
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
|
13
|
+
# INDEX
|
14
14
|
def index
|
15
15
|
profile = Member::Profile.find(params[:profile_id])
|
16
|
-
@member_addresses = profile.addresses.
|
16
|
+
@member_addresses = profile.addresses.all
|
17
17
|
end
|
18
18
|
|
19
|
-
#
|
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
|
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
|
32
|
+
# EDIT
|
33
33
|
def edit
|
34
34
|
end
|
35
35
|
|
36
|
-
#
|
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,
|
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
|
-
#
|
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,
|
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
|
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,
|
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
|
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.
|
11
|
-
@member_listing = Phcmemberspro::Member::Listing.
|
12
|
-
@member_address = Phcmemberspro::Member::Address.
|
13
|
-
@directory_category = Phcmemberspro::Directory::Category.
|
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
|
13
|
+
# INDEX
|
14
14
|
def index
|
15
15
|
profile = Member::Profile.find(params[:profile_id])
|
16
|
-
@member_listings = profile.listings.
|
16
|
+
@member_listings = profile.listings.all
|
17
17
|
end
|
18
18
|
|
19
|
-
#
|
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: '
|
23
|
+
@member_listing_versions = Phcmemberspro::ListingVersions.where(item_id: @member_listing, item_type: 'Phcmembers::Member::Listing')
|
24
24
|
end
|
25
25
|
|
26
|
-
# NEW
|
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
|
32
|
+
# EDIT
|
33
33
|
def edit
|
34
34
|
end
|
35
35
|
|
36
|
-
#
|
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,
|
42
|
+
redirect_to member_profile_listings_url, :flash => { :success => 'Listing was successfully created.' }
|
44
43
|
else
|
45
|
-
|
44
|
+
render :new
|
46
45
|
end
|
47
46
|
end
|
48
47
|
|
49
|
-
#
|
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,
|
52
|
+
redirect_to member_profile_listings_url, :flash => { :success => 'Listing was successfully updated.' }
|
54
53
|
else
|
55
|
-
|
54
|
+
render :edit
|
56
55
|
end
|
57
56
|
end
|
58
57
|
|
59
|
-
# DELETE
|
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,
|
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,
|
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
|
13
|
+
# INDEX
|
14
14
|
def index
|
15
|
-
@member_profiles = Member::Profile.
|
15
|
+
@member_profiles = Member::Profile.all
|
16
16
|
end
|
17
17
|
|
18
|
-
#
|
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
|
24
|
+
# NEW
|
25
25
|
def new
|
26
26
|
@member_profile = Member::Profile.new
|
27
27
|
end
|
28
28
|
|
29
|
-
# EDIT
|
29
|
+
# EDIT
|
30
30
|
def edit
|
31
31
|
end
|
32
32
|
|
33
|
-
#
|
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,
|
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
|
-
#
|
44
|
+
# UPDATE
|
46
45
|
def update
|
47
46
|
if @member_profile.update(member_profile_params)
|
48
|
-
redirect_to member_profiles_url,
|
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
|
53
|
+
# DELETE
|
55
54
|
def destroy
|
56
55
|
@member_profile.destroy
|
57
|
-
redirect_to member_profiles_url,
|
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
|
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,26 +1,24 @@
|
|
1
1
|
module Phcmemberspro
|
2
2
|
class Directory::Category < ApplicationRecord
|
3
3
|
|
4
|
-
|
4
|
+
# Clean URL Initialize
|
5
5
|
extend FriendlyId
|
6
6
|
|
7
|
-
#
|
7
|
+
# Paper Trail Initialize
|
8
8
|
has_paper_trail :class_name => 'Phcmemberspro::CategoryVersions'
|
9
9
|
|
10
|
-
|
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
|
-
|
15
|
-
|
16
|
-
# Clean URL Define
|
17
|
-
friendly_id :phcmemberspro_category_slug, use: [:slugged, :finders]
|
15
|
+
presence: true
|
18
16
|
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
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
|