phcmembers 3.0.1 → 4.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +2 -2
- data/app/assets/stylesheets/phcmembers/_custom.scss +38 -0
- data/app/controllers/phcmembers/application_controller.rb +6 -1
- data/app/controllers/phcmembers/directory/categories_controller.rb +15 -16
- data/app/controllers/phcmembers/directory/categorylistings_controller.rb +20 -0
- data/app/controllers/phcmembers/member/addresses_controller.rb +75 -0
- data/app/controllers/phcmembers/member/listings_controller.rb +77 -0
- data/app/controllers/phcmembers/member/profiles_controller.rb +68 -0
- data/app/helpers/phcmembers/directory/categories_helper.rb +4 -0
- data/app/helpers/phcmembers/directory/categorylistings_helper.rb +4 -0
- data/app/helpers/phcmembers/member/listings_helper.rb +4 -0
- data/app/models/phcmembers/connections.rb +7 -0
- data/app/models/phcmembers/directory/category.rb +4 -9
- data/app/models/phcmembers/directory/categorylisting.rb +12 -0
- data/app/models/phcmembers/member.rb +7 -0
- data/app/models/phcmembers/member/address.rb +11 -0
- data/app/models/phcmembers/member/listing.rb +13 -0
- data/app/models/phcmembers/{members/main.rb → member/profile.rb} +3 -3
- data/app/views/layouts/phcmembers/application.html.erb +1 -1
- data/app/views/layouts/phcmembers/directory/directory_all.html.erb +1 -1
- data/app/views/layouts/phcmembers/members/members_all.html.erb +1 -1
- data/app/views/phcmembers/directory/categories/_form.html.erb +2 -2
- data/app/views/phcmembers/directory/categories/components/_category_audits.html.erb +6 -19
- data/app/views/phcmembers/directory/categories/components/_category_list.html.erb +3 -3
- data/app/views/phcmembers/directory/categories/components/_category_main.html.erb +18 -11
- data/app/views/phcmembers/directory/categories/edit.html.erb +20 -19
- data/app/views/phcmembers/directory/categories/index.html.erb +13 -17
- data/app/views/phcmembers/directory/categories/new.html.erb +19 -18
- data/app/views/phcmembers/directory/categories/show.html.erb +8 -14
- data/app/views/phcmembers/directory/categorylistings/index.html.erb +63 -0
- data/app/views/phcmembers/directory/categorylistings/show.html.erb +4 -0
- data/app/views/phcmembers/{members/contacts → member/addresses}/_form.html.erb +5 -5
- data/app/views/phcmembers/member/addresses/components/_address_address.html.erb +29 -0
- data/app/views/phcmembers/member/addresses/components/_address_audits.html.erb +12 -0
- data/app/views/phcmembers/member/addresses/components/_address_main.html.erb +31 -0
- data/app/views/phcmembers/member/addresses/edit.html.erb +47 -0
- data/app/views/phcmembers/member/addresses/index.html.erb +78 -0
- data/app/views/phcmembers/member/addresses/new.html.erb +47 -0
- data/app/views/phcmembers/member/addresses/show.html.erb +29 -0
- data/app/views/phcmembers/{members/businesses → member/listings}/_form.html.erb +11 -4
- data/app/views/phcmembers/member/listings/components/_listing_address.html.erb +48 -0
- data/app/views/phcmembers/member/listings/components/_listing_audits.html.erb +12 -0
- data/app/views/phcmembers/member/listings/components/_listing_main.html.erb +31 -0
- data/app/views/phcmembers/member/listings/edit.html.erb +47 -0
- data/app/views/phcmembers/member/listings/index.html.erb +78 -0
- data/app/views/phcmembers/member/listings/new.html.erb +47 -0
- data/app/views/phcmembers/member/listings/show.html.erb +29 -0
- data/app/views/phcmembers/{members/mains → member/profiles}/_form.html.erb +6 -8
- data/app/views/phcmembers/member/profiles/components/_profile_main.html.erb +44 -0
- data/app/views/phcmembers/member/profiles/components/_profile_sidebar.html.erb +28 -0
- data/app/views/phcmembers/member/profiles/edit.html.erb +46 -0
- data/app/views/phcmembers/member/profiles/index.html.erb +71 -0
- data/app/views/phcmembers/member/profiles/new.html.erb +45 -0
- data/app/views/phcmembers/member/profiles/show.html.erb +35 -0
- data/config/routes.rb +9 -15
- data/db/migrate/20160724220339_create_phcmembers_member_profiles.rb +16 -0
- data/db/migrate/{20160706184249_create_phcmembers_members_contacts.rb → 20160725153306_create_phcmembers_member_addresses.rb} +4 -4
- data/db/migrate/{20160706184708_create_phcmembers_directory_categories.rb → 20160725182257_create_phcmembers_directory_categories.rb} +0 -2
- data/db/migrate/{20160706184011_create_phcmembers_members_businesses.rb → 20160727024006_create_phcmembers_member_listings.rb} +5 -9
- data/db/migrate/20160727042756_create_phcmembers_directory_categorylistings.rb +10 -0
- data/lib/phcmembers/version.rb +1 -1
- metadata +45 -50
- data/app/controllers/phcmembers/directory/listings_controller.rb +0 -71
- data/app/controllers/phcmembers/members/businesses_controller.rb +0 -83
- data/app/controllers/phcmembers/members/contacts_controller.rb +0 -83
- data/app/controllers/phcmembers/members/mains_controller.rb +0 -70
- data/app/models/phcmembers/directory/listing.rb +0 -20
- data/app/models/phcmembers/members.rb +0 -7
- data/app/models/phcmembers/members/business.rb +0 -44
- data/app/models/phcmembers/members/contact.rb +0 -34
- data/app/views/phcmembers/directory/listings/_form.html.erb +0 -15
- data/app/views/phcmembers/directory/listings/_formpatch.html.erb +0 -15
- data/app/views/phcmembers/directory/listings/components/_listing_audits.html.erb +0 -25
- data/app/views/phcmembers/directory/listings/components/_listing_list.html.erb +0 -48
- data/app/views/phcmembers/directory/listings/components/_listing_main.html.erb +0 -21
- data/app/views/phcmembers/directory/listings/edit.html.erb +0 -45
- data/app/views/phcmembers/directory/listings/index.html.erb +0 -73
- data/app/views/phcmembers/directory/listings/new.html.erb +0 -45
- data/app/views/phcmembers/directory/listings/show.html.erb +0 -34
- data/app/views/phcmembers/members/businesses/_formpatch.html.erb +0 -65
- data/app/views/phcmembers/members/businesses/components/_business_address.html.erb +0 -48
- data/app/views/phcmembers/members/businesses/components/_business_audits.html.erb +0 -25
- data/app/views/phcmembers/members/businesses/components/_business_main.html.erb +0 -21
- data/app/views/phcmembers/members/businesses/edit.html.erb +0 -46
- data/app/views/phcmembers/members/businesses/index.html.erb +0 -76
- data/app/views/phcmembers/members/businesses/new.html.erb +0 -47
- data/app/views/phcmembers/members/businesses/show.html.erb +0 -35
- data/app/views/phcmembers/members/contacts/_formpatch.html.erb +0 -38
- data/app/views/phcmembers/members/contacts/components/_contact_address.html.erb +0 -29
- data/app/views/phcmembers/members/contacts/components/_contact_audits.html.erb +0 -25
- data/app/views/phcmembers/members/contacts/components/_contact_main.html.erb +0 -21
- data/app/views/phcmembers/members/contacts/edit.html.erb +0 -46
- data/app/views/phcmembers/members/contacts/index.html.erb +0 -75
- data/app/views/phcmembers/members/contacts/new.html.erb +0 -46
- data/app/views/phcmembers/members/contacts/show.html.erb +0 -35
- data/app/views/phcmembers/members/mains/components/_profile_main.html.erb +0 -48
- data/app/views/phcmembers/members/mains/components/_profile_sidebar.html.erb +0 -67
- data/app/views/phcmembers/members/mains/edit.html.erb +0 -45
- data/app/views/phcmembers/members/mains/index.html.erb +0 -69
- data/app/views/phcmembers/members/mains/new.html.erb +0 -45
- data/app/views/phcmembers/members/mains/show.html.erb +0 -39
- data/db/migrate/20160706184353_create_phcmembers_members_mains.rb +0 -22
- data/db/migrate/20160706184527_create_phcmembers_directory_listings.rb +0 -15
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 146b4a1e4e4ae6620908d4cb3d45cbc8cb671b5e
|
4
|
+
data.tar.gz: cdae959e292e7b93479e136c8985fb003ba517e6
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 255cb6a6ae8e54768d4cfd62e33bd1170968d930d968c39d95b189c8a876e73c9aac5ab9c441e156855d39d8ea02bb1ad6e5558c7ec01a9eab66f531ed3d1280
|
7
|
+
data.tar.gz: d33d0fd6896c5f3c91a6d2351b6a181279a92b68cac3f55b509d7608beaa0604b8a49d4d2926a1eb5f5ccbfc24f7e0e52bc3d79de394baa3a6df9f5ac82e5739
|
data/README.md
CHANGED
@@ -10,11 +10,11 @@ PHCMembers(3) is an open source membership and listing directory engine purpose
|
|
10
10
|
- Directory and listings manager with a web directory API.
|
11
11
|
- Member's list, contact information and listings manager.
|
12
12
|
- Easy app integration with views that can be customized.
|
13
|
-
- User
|
13
|
+
- User authentication will activate when Devise is installed.
|
14
14
|
|
15
15
|
#### Step 1 - Add PHCMembers to your gemfile
|
16
16
|
|
17
|
-
gem 'phcmembers', '~>
|
17
|
+
gem 'phcmembers', '~> 3.0', '>= 3.0.1'
|
18
18
|
bundle exec install
|
19
19
|
|
20
20
|
#### Step 2 - Add database migration files
|
@@ -0,0 +1,38 @@
|
|
1
|
+
// Page Header Title
|
2
|
+
.page-title {
|
3
|
+
padding: 25px 0px 40px 0px;
|
4
|
+
font-size: 28px;
|
5
|
+
letter-spacing: -1px;
|
6
|
+
display: block;
|
7
|
+
color: #666;
|
8
|
+
margin: 0px 0px 15px 0px;
|
9
|
+
font-weight: 300;
|
10
|
+
// Title SubScript
|
11
|
+
small {
|
12
|
+
font-size: 14px;
|
13
|
+
letter-spacing: 0px;
|
14
|
+
font-weight: 300;
|
15
|
+
color: #888;
|
16
|
+
}
|
17
|
+
|
18
|
+
.page-content-white &,
|
19
|
+
.page-container-bg-solid & {
|
20
|
+
color: #666;
|
21
|
+
margin-bottom: 20px;
|
22
|
+
margin-top: 20px;
|
23
|
+
small {
|
24
|
+
color: #666;
|
25
|
+
}
|
26
|
+
}
|
27
|
+
|
28
|
+
.page-content-white & {
|
29
|
+
margin: 25px 0;
|
30
|
+
font-size: 24px;
|
31
|
+
}
|
32
|
+
}
|
33
|
+
|
34
|
+
// Fix for Time in List
|
35
|
+
.feeds {
|
36
|
+
padding: 5px 5px 5px 5px;
|
37
|
+
font-size: 13px;
|
38
|
+
}
|
@@ -3,7 +3,12 @@ module Phcmembers
|
|
3
3
|
|
4
4
|
# Security Filters
|
5
5
|
protect_from_forgery with: :exception
|
6
|
-
|
6
|
+
|
7
|
+
# Grab Member Information
|
8
|
+
def get_member_profile_info
|
9
|
+
@members_profile_info = Member::Profile.find(params[:profile_id])
|
10
|
+
end
|
11
|
+
|
7
12
|
# Load Helpers
|
8
13
|
helper Phctitleseo::Engine.helpers
|
9
14
|
helper Phcnotifi::Engine.helpers
|
@@ -3,54 +3,53 @@ require_dependency "phcmembers/application_controller"
|
|
3
3
|
module Phcmembers
|
4
4
|
class Directory::CategoriesController < ApplicationController
|
5
5
|
|
6
|
-
# Filters
|
6
|
+
# Security & Action Filters
|
7
7
|
before_action :set_paper_trail_whodunnit
|
8
|
-
before_action :set_directory_category, only: [:edit, :update, :destroy]
|
9
|
-
# layout 'layouts/phcmemberspro/directory/directory_all.html.erb'
|
8
|
+
before_action :set_directory_category, only: [:show, :edit, :update, :destroy]
|
10
9
|
|
11
|
-
# Directory Category
|
10
|
+
# INDEX - Directory Category
|
12
11
|
def index
|
13
12
|
@directory_categories = Directory::Category.all
|
14
13
|
end
|
15
14
|
|
16
|
-
# Directory Category
|
15
|
+
# DETAILED - Directory Category
|
17
16
|
def show
|
18
|
-
@versions = PaperTrail::Version.where(item_id: params[:id], item_type: 'Phcmembers::Directory::Category')
|
19
17
|
@directory_category = Directory::Category.find(params[:id])
|
18
|
+
@versions = PaperTrail::Version.where(item_id: params[:id], item_type: 'Phcmembers::Directory::Category')
|
20
19
|
end
|
21
20
|
|
22
|
-
#
|
21
|
+
# NEW - Directory Category
|
23
22
|
def new
|
24
23
|
@directory_category = Directory::Category.new
|
25
24
|
end
|
26
25
|
|
27
|
-
#
|
26
|
+
# EDIT - Directory Category
|
28
27
|
def edit
|
29
28
|
end
|
30
29
|
|
31
|
-
#
|
30
|
+
# POST - Directory Category
|
32
31
|
def create
|
33
32
|
@directory_category = Directory::Category.new(directory_category_params)
|
34
33
|
if @directory_category.save
|
35
|
-
redirect_to
|
34
|
+
redirect_to directory_categories_url, notice: 'Category was successfully created.'
|
36
35
|
else
|
37
36
|
render :new
|
38
37
|
end
|
39
38
|
end
|
40
39
|
|
41
|
-
#
|
40
|
+
# PATCH/PUT - Directory Category
|
42
41
|
def update
|
43
42
|
if @directory_category.update(directory_category_params)
|
44
|
-
redirect_to
|
43
|
+
redirect_to directory_categories_url, notice: 'Category was successfully updated.'
|
45
44
|
else
|
46
45
|
render :edit
|
47
46
|
end
|
48
47
|
end
|
49
48
|
|
50
|
-
#
|
49
|
+
# DELETE - Directory Category
|
51
50
|
def destroy
|
52
51
|
@directory_category.destroy
|
53
|
-
redirect_to
|
52
|
+
redirect_to directory_categories_url, notice: 'Category was successfully destroyed.'
|
54
53
|
end
|
55
54
|
|
56
55
|
private
|
@@ -60,10 +59,10 @@ module Phcmembers
|
|
60
59
|
@directory_category = Directory::Category.find(params[:id])
|
61
60
|
end
|
62
61
|
|
63
|
-
#
|
62
|
+
# Whitelist
|
64
63
|
def directory_category_params
|
65
64
|
params.require(:directory_category).permit(:catname)
|
66
65
|
end
|
67
66
|
|
68
67
|
end
|
69
|
-
end
|
68
|
+
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
require_dependency "phcmembers/application_controller"
|
2
|
+
|
3
|
+
module Phcmembers
|
4
|
+
class Directory::CategorylistingsController < ApplicationController
|
5
|
+
|
6
|
+
# Security & Action Filters
|
7
|
+
before_action :set_paper_trail_whodunnit
|
8
|
+
before_action :set_directory_category, only: [:show, :edit, :update, :destroy]
|
9
|
+
|
10
|
+
# INDEX - Directory Category/Listings
|
11
|
+
def index
|
12
|
+
@directory_categorylistings = Directory::Categorylisting.all
|
13
|
+
end
|
14
|
+
|
15
|
+
# DETAILED - Directory Category/Listings
|
16
|
+
def show
|
17
|
+
end
|
18
|
+
|
19
|
+
end
|
20
|
+
end
|
@@ -0,0 +1,75 @@
|
|
1
|
+
require_dependency "phcmembers/application_controller"
|
2
|
+
|
3
|
+
module Phcmembers
|
4
|
+
class Member::AddressesController < ApplicationController
|
5
|
+
|
6
|
+
# Security & Action Filters
|
7
|
+
before_action :set_paper_trail_whodunnit
|
8
|
+
before_action :get_member_profile_info
|
9
|
+
before_action :set_member_address, only: [:show, :edit, :update, :destroy]
|
10
|
+
|
11
|
+
# INDEX - Directory Listings
|
12
|
+
def index
|
13
|
+
profile = Member::Profile.find(params[:profile_id])
|
14
|
+
@member_addresses = profile.addresses
|
15
|
+
end
|
16
|
+
|
17
|
+
# LISTINGS DETAILS - Directory Listings
|
18
|
+
def show
|
19
|
+
profile = Member::Profile.find(params[:profile_id])
|
20
|
+
@member_address = profile.addresses.find(params[:id])
|
21
|
+
@versions = PaperTrail::Version.where(item_id: params[:id], item_type: 'Phcmembers::Member::Address')
|
22
|
+
end
|
23
|
+
|
24
|
+
# NEW - Directory Listings
|
25
|
+
def new
|
26
|
+
profile = Member::Profile.find(params[:profile_id])
|
27
|
+
@member_address = profile.addresses.build
|
28
|
+
end
|
29
|
+
|
30
|
+
# EDIT - Directory Listings
|
31
|
+
def edit
|
32
|
+
end
|
33
|
+
|
34
|
+
# POST - Directory Listings
|
35
|
+
def create
|
36
|
+
@profile = Member::Profile.find(params[:profile_id])
|
37
|
+
@member_address = @profile.addresses.create(member_address_params)
|
38
|
+
if @member_address.save
|
39
|
+
redirect_to member_profile_addresses_url, notice: 'Listing was successfully created.'
|
40
|
+
else
|
41
|
+
render :new
|
42
|
+
end
|
43
|
+
end
|
44
|
+
|
45
|
+
# PATCH/PUT - Directory Listings
|
46
|
+
def update
|
47
|
+
if @member_address.update(member_address_params)
|
48
|
+
redirect_to member_profile_addresses_url, notice: 'Listing was successfully updated.'
|
49
|
+
else
|
50
|
+
render :edit
|
51
|
+
end
|
52
|
+
end
|
53
|
+
|
54
|
+
# DELETE - Directory Listings
|
55
|
+
def destroy
|
56
|
+
@profile = Member::Profile.find(params[:profile_id])
|
57
|
+
@member_address = @profile.addresses.find(params[:id])
|
58
|
+
@member_address.destroy
|
59
|
+
redirect_to member_profile_addresses_url, notice: 'Listing was successfully destroyed.'
|
60
|
+
end
|
61
|
+
|
62
|
+
private
|
63
|
+
|
64
|
+
# Common Callbacks
|
65
|
+
def set_member_address
|
66
|
+
@member_address = Member::Address.find(params[:id])
|
67
|
+
end
|
68
|
+
|
69
|
+
# Whitelist
|
70
|
+
def member_address_params
|
71
|
+
params.require(:member_address).permit(:mcaddressl1, :mcaddressl2, :mccity, :mcprovince, :mccountry, :mcpostalcode, :mctype, :profile_id)
|
72
|
+
end
|
73
|
+
|
74
|
+
end
|
75
|
+
end
|
@@ -0,0 +1,77 @@
|
|
1
|
+
require_dependency "phcmembers/application_controller"
|
2
|
+
|
3
|
+
module Phcmembers
|
4
|
+
class Member::ListingsController < ApplicationController
|
5
|
+
|
6
|
+
# Security & Action Filters
|
7
|
+
before_action :set_paper_trail_whodunnit
|
8
|
+
before_action :get_member_profile_info
|
9
|
+
before_action :set_member_listing, only: [:show, :edit, :update, :destroy]
|
10
|
+
|
11
|
+
# INDEX - Directory Listings
|
12
|
+
def index
|
13
|
+
profile = Member::Profile.find(params[:profile_id])
|
14
|
+
@member_listings = profile.listings
|
15
|
+
end
|
16
|
+
|
17
|
+
# LISTINGS DETAILS - Directory Listings
|
18
|
+
def show
|
19
|
+
profile = Member::Profile.find(params[:profile_id])
|
20
|
+
@meber_listing = profile.listings.find(params[:id])
|
21
|
+
@versions = PaperTrail::Version.where(item_id: params[:id], item_type: 'Phcmembers::Member::Listing')
|
22
|
+
end
|
23
|
+
|
24
|
+
# NEW - Directory Listings
|
25
|
+
def new
|
26
|
+
profile = Member::Profile.find(params[:profile_id])
|
27
|
+
@member_listing = profile.listings.build
|
28
|
+
end
|
29
|
+
|
30
|
+
# EDIT - Directory Listings
|
31
|
+
def edit
|
32
|
+
end
|
33
|
+
|
34
|
+
# POST - Directory Listings
|
35
|
+
def create
|
36
|
+
@profile = Member::Profile.find(params[:profile_id])
|
37
|
+
@member_listing = @profile.listings.create(member_listing_params)
|
38
|
+
if @member_listing.save
|
39
|
+
@member_listing.categorylistings.build
|
40
|
+
redirect_to member_profile_listings_url, notice: 'Listing was successfully created.'
|
41
|
+
else
|
42
|
+
render :new
|
43
|
+
end
|
44
|
+
end
|
45
|
+
|
46
|
+
# PATCH/PUT - Directory Listings
|
47
|
+
def update
|
48
|
+
if @member_listing.update(member_listing_params)
|
49
|
+
@member_listing.categorylistings.build
|
50
|
+
redirect_to member_profile_listings_url, notice: 'Listing was successfully updated.'
|
51
|
+
else
|
52
|
+
render :edit
|
53
|
+
end
|
54
|
+
end
|
55
|
+
|
56
|
+
# DELETE - Directory Listings
|
57
|
+
def destroy
|
58
|
+
@profile = Member::Profile.find(params[:profile_id])
|
59
|
+
@member_listing = @profile.listings.find(params[:id])
|
60
|
+
@member_listing.destroy
|
61
|
+
redirect_to member_profile_listings_url, notice: 'Listing was successfully destroyed.'
|
62
|
+
end
|
63
|
+
|
64
|
+
private
|
65
|
+
|
66
|
+
# Common Callbacks
|
67
|
+
def set_member_listing
|
68
|
+
@member_listing = Member::Listing.find(params[:id])
|
69
|
+
end
|
70
|
+
|
71
|
+
# Whitelist
|
72
|
+
def member_listing_params
|
73
|
+
params.require(:member_listing).permit(:mbcompanyname, :mbcontactname, :mbaddressl1, :mbaddressl2, :mbcity, :mbcountry, :mbprovince, :mbpostalcode, :mbphone, :mbcontactemail, :mbwebsite, :profile_id, category_ids: [])
|
74
|
+
end
|
75
|
+
|
76
|
+
end
|
77
|
+
end
|
@@ -0,0 +1,68 @@
|
|
1
|
+
require_dependency "phcmembers/application_controller"
|
2
|
+
|
3
|
+
module Phcmembers
|
4
|
+
class Member::ProfilesController < ApplicationController
|
5
|
+
|
6
|
+
# Security & Action Filters
|
7
|
+
before_action :set_paper_trail_whodunnit
|
8
|
+
before_action :set_member_profile, only: [:show, :edit, :update, :destroy]
|
9
|
+
|
10
|
+
# INDEX - Member Profile
|
11
|
+
def index
|
12
|
+
@member_profiles = Member::Profile.all
|
13
|
+
end
|
14
|
+
|
15
|
+
# DETAILED PROFILE - Member Profile
|
16
|
+
def show
|
17
|
+
@member_profile = Member::Profile.find(params[:id])
|
18
|
+
@versions = PaperTrail::Version.where(item_id: params[:id], item_type: 'Phcmembers::Member::Profile')
|
19
|
+
end
|
20
|
+
|
21
|
+
# NEW FORM - Member Profile
|
22
|
+
def new
|
23
|
+
@member_profile = Member::Profile.new
|
24
|
+
end
|
25
|
+
|
26
|
+
# EDIT FORM - Member Profile
|
27
|
+
def edit
|
28
|
+
end
|
29
|
+
|
30
|
+
# POST - Member Profile
|
31
|
+
def create
|
32
|
+
@member_profile = Member::Profile.new(member_profile_params)
|
33
|
+
if @member_profile.save
|
34
|
+
redirect_to member_profiles_url, notice: 'Profile was successfully created.'
|
35
|
+
else
|
36
|
+
render :new
|
37
|
+
end
|
38
|
+
end
|
39
|
+
|
40
|
+
# PATCH/PUT - Member Profile
|
41
|
+
def update
|
42
|
+
if @member_profile.update(member_profile_params)
|
43
|
+
redirect_to member_profiles_url, notice: 'Profile was successfully updated.'
|
44
|
+
else
|
45
|
+
render :edit
|
46
|
+
end
|
47
|
+
end
|
48
|
+
|
49
|
+
# DELETE - Member Profile
|
50
|
+
def destroy
|
51
|
+
@member_profile.destroy
|
52
|
+
redirect_to member_profiles_url, notice: 'Profile was successfully destroyed.'
|
53
|
+
end
|
54
|
+
|
55
|
+
private
|
56
|
+
|
57
|
+
# Common Callbacks
|
58
|
+
def set_member_profile
|
59
|
+
@member_profile = Member::Profile.find(params[:id])
|
60
|
+
end
|
61
|
+
|
62
|
+
# Whitelist
|
63
|
+
def member_profile_params
|
64
|
+
params.require(:member_profile).permit(:mfirstname, :mlastname, :mtitle, :memail, :mphone, :mnotes)
|
65
|
+
end
|
66
|
+
|
67
|
+
end
|
68
|
+
end
|
@@ -1,17 +1,12 @@
|
|
1
1
|
module Phcmembers
|
2
|
-
class Directory::Category <
|
2
|
+
class Directory::Category < ApplicationRecord
|
3
3
|
|
4
4
|
# Add Paper Trail
|
5
5
|
has_paper_trail
|
6
6
|
|
7
|
-
# Model
|
8
|
-
has_many :
|
9
|
-
has_many :
|
10
|
-
|
11
|
-
# Validation for Form Fields
|
12
|
-
validates :catname,
|
13
|
-
presence: true,
|
14
|
-
length: { minimum: 3 }
|
7
|
+
# Model Relationships
|
8
|
+
has_many :categorylistings, class_name: 'Phcmembers::Directory::Categorylisting', dependent: :destroy
|
9
|
+
has_many :listings, class_name: 'Phcmembers::Member::Listing', :through => :categorylistings
|
15
10
|
|
16
11
|
end
|
17
12
|
end
|