phcmembers 12.1.1 → 12.2.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 +20 -20
- data/README.md +45 -45
- data/Rakefile +33 -33
- data/app/assets/config/phcmembers_manifest.js +2 -2
- data/app/assets/javascripts/phcmembers/application.js +2 -2
- data/app/assets/stylesheets/phcmembers/application.scss +2 -2
- data/app/controllers/phcmembers/api/directories_controller.rb +18 -18
- data/app/controllers/phcmembers/application_controller.rb +17 -17
- data/app/controllers/phcmembers/directory/categories_controller.rb +68 -68
- data/app/controllers/phcmembers/directory/categorylistings_controller.rb +21 -21
- data/app/controllers/phcmembers/member/addresses_controller.rb +75 -75
- data/app/controllers/phcmembers/member/listings_controller.rb +77 -77
- data/app/controllers/phcmembers/member/profiles_controller.rb +68 -68
- data/app/controllers/phcmembers/modules/dashboards_controller.rb +14 -14
- data/app/helpers/phcmembers/application_helper.rb +14 -14
- data/app/jobs/phcmembers/application_job.rb +4 -4
- data/app/mailers/phcmembers/application_mailer.rb +8 -8
- data/app/models/phcmembers/application_record.rb +5 -5
- data/app/models/phcmembers/connections.rb +7 -7
- data/app/models/phcmembers/directory.rb +7 -7
- data/app/models/phcmembers/directory/category.rb +29 -29
- data/app/models/phcmembers/directory/categorylisting.rb +12 -12
- data/app/models/phcmembers/member.rb +7 -7
- data/app/models/phcmembers/member/address.rb +45 -45
- data/app/models/phcmembers/member/listing.rb +66 -66
- data/app/models/phcmembers/member/profile.rb +49 -49
- data/app/models/phcmembers/versions_address.rb +5 -5
- data/app/models/phcmembers/versions_category.rb +5 -5
- data/app/models/phcmembers/versions_category_listing.rb +5 -5
- data/app/models/phcmembers/versions_listing.rb +5 -5
- data/app/models/phcmembers/versions_profile.rb +5 -5
- data/app/views/layouts/phcmembers/application.html.erb +56 -56
- data/app/views/layouts/phcmembers/components/backend/footer/_footer.html.erb +4 -4
- data/app/views/layouts/phcmembers/components/backend/navigation/_navigation.html.erb +60 -60
- data/app/views/layouts/phcmembers/components/backend/topbar/_topbar.html.erb +5 -5
- data/app/views/layouts/phcmembers/directory/directory_all.html.erb +56 -56
- data/app/views/layouts/phcmembers/members/members_all.html.erb +56 -56
- data/app/views/phcmembers/directory/categories/_form.html.erb +15 -15
- data/app/views/phcmembers/directory/categories/components/_category_audits.html.erb +14 -14
- data/app/views/phcmembers/directory/categories/components/_category_list.html.erb +7 -7
- data/app/views/phcmembers/directory/categories/components/_category_main.html.erb +31 -31
- data/app/views/phcmembers/directory/categories/edit.html.erb +38 -38
- data/app/views/phcmembers/directory/categories/index.html.erb +47 -47
- data/app/views/phcmembers/directory/categories/new.html.erb +36 -36
- data/app/views/phcmembers/directory/categories/show.html.erb +27 -27
- data/app/views/phcmembers/directory/categorylistings/index.html.erb +63 -63
- data/app/views/phcmembers/directory/categorylistings/show.html.erb +4 -4
- data/app/views/phcmembers/member/addresses/_form.html.erb +44 -44
- data/app/views/phcmembers/member/addresses/components/_address_address.html.erb +29 -29
- data/app/views/phcmembers/member/addresses/components/_address_audits.html.erb +12 -12
- data/app/views/phcmembers/member/addresses/components/_address_main.html.erb +31 -31
- data/app/views/phcmembers/member/addresses/edit.html.erb +40 -40
- data/app/views/phcmembers/member/addresses/index.html.erb +74 -74
- data/app/views/phcmembers/member/addresses/new.html.erb +40 -40
- data/app/views/phcmembers/member/addresses/show.html.erb +27 -27
- data/app/views/phcmembers/member/listings/_form.html.erb +68 -68
- data/app/views/phcmembers/member/listings/components/_listing_address.html.erb +48 -48
- data/app/views/phcmembers/member/listings/components/_listing_audits.html.erb +14 -14
- data/app/views/phcmembers/member/listings/components/_listing_main.html.erb +31 -31
- data/app/views/phcmembers/member/listings/edit.html.erb +40 -40
- data/app/views/phcmembers/member/listings/index.html.erb +76 -76
- data/app/views/phcmembers/member/listings/new.html.erb +40 -40
- data/app/views/phcmembers/member/listings/show.html.erb +27 -27
- data/app/views/phcmembers/member/profiles/_form.html.erb +36 -36
- data/app/views/phcmembers/member/profiles/components/_profile_main.html.erb +44 -44
- data/app/views/phcmembers/member/profiles/components/_profile_sidebar.html.erb +28 -28
- data/app/views/phcmembers/member/profiles/edit.html.erb +39 -39
- data/app/views/phcmembers/member/profiles/index.html.erb +68 -68
- data/app/views/phcmembers/member/profiles/new.html.erb +39 -39
- data/app/views/phcmembers/member/profiles/show.html.erb +31 -31
- data/app/views/phcmembers/modules/dashboards/index.html.erb +66 -66
- data/config/initializers/friendly_id.rb +92 -92
- data/config/initializers/paper_trail.rb +1 -1
- data/config/locales/en.yml +9 -9
- data/config/routes.rb +36 -36
- data/db/migrate/20160724220339_create_phcmembers_member_profiles.rb +23 -23
- data/db/migrate/20160725153306_create_phcmembers_member_addresses.rb +26 -26
- data/db/migrate/20160725182257_create_phcmembers_directory_categories.rb +18 -18
- data/db/migrate/20160727024006_create_phcmembers_member_listings.rb +30 -30
- data/db/migrate/20160727042756_create_phcmembers_directory_categorylistings.rb +19 -19
- data/db/migrate/20170509002355_create_phcmembers_friendly_id_slugs.rb +15 -15
- data/db/migrate/20170517064030_create_phcmembers_versions_profiles.rb +12 -12
- data/db/migrate/20170517064049_create_phcmembers_versions_listings.rb +12 -12
- data/db/migrate/20170517064114_create_phcmembers_versions_addresses.rb +12 -12
- data/db/migrate/20170517064208_create_phcmembers_versions_categorylistings.rb +12 -12
- data/db/migrate/20170517064427_create_phcmembers_versions_categories.rb +12 -12
- data/lib/phcmembers.rb +4 -4
- data/lib/phcmembers/engine.rb +73 -73
- data/lib/phcmembers/version.rb +3 -3
- data/lib/tasks/phcmembers_tasks.rake +4 -4
- metadata +15 -45
@@ -1,14 +1,14 @@
|
|
1
|
-
module Phcmembers
|
2
|
-
module ApplicationHelper
|
3
|
-
|
4
|
-
# Add Active to Menu
|
5
|
-
def is_active_controller(controller_name)
|
6
|
-
params[:controller] == controller_name ? "active open selected" : nil
|
7
|
-
end
|
8
|
-
|
9
|
-
def is_active_action(action_name)
|
10
|
-
params[:action] == action_name ? "active" : nil
|
11
|
-
end
|
12
|
-
|
13
|
-
end
|
14
|
-
end
|
1
|
+
module Phcmembers
|
2
|
+
module ApplicationHelper
|
3
|
+
|
4
|
+
# Add Active to Menu
|
5
|
+
def is_active_controller(controller_name)
|
6
|
+
params[:controller] == controller_name ? "active open selected" : nil
|
7
|
+
end
|
8
|
+
|
9
|
+
def is_active_action(action_name)
|
10
|
+
params[:action] == action_name ? "active" : nil
|
11
|
+
end
|
12
|
+
|
13
|
+
end
|
14
|
+
end
|
@@ -1,4 +1,4 @@
|
|
1
|
-
module Phcmembers
|
2
|
-
class ApplicationJob < ActiveJob::Base
|
3
|
-
end
|
4
|
-
end
|
1
|
+
module Phcmembers
|
2
|
+
class ApplicationJob < ActiveJob::Base
|
3
|
+
end
|
4
|
+
end
|
@@ -1,8 +1,8 @@
|
|
1
|
-
module Phcmembers
|
2
|
-
|
3
|
-
class ApplicationMailer < ActionMailer::Base
|
4
|
-
default from: 'info@example.com'
|
5
|
-
layout 'mailer'
|
6
|
-
end
|
7
|
-
|
8
|
-
end
|
1
|
+
module Phcmembers
|
2
|
+
|
3
|
+
class ApplicationMailer < ActionMailer::Base
|
4
|
+
default from: 'info@example.com'
|
5
|
+
layout 'mailer'
|
6
|
+
end
|
7
|
+
|
8
|
+
end
|
@@ -1,5 +1,5 @@
|
|
1
|
-
module Phcmembers
|
2
|
-
class ApplicationRecord < ActiveRecord::Base
|
3
|
-
self.abstract_class = true
|
4
|
-
end
|
5
|
-
end
|
1
|
+
module Phcmembers
|
2
|
+
class ApplicationRecord < ActiveRecord::Base
|
3
|
+
self.abstract_class = true
|
4
|
+
end
|
5
|
+
end
|
@@ -1,7 +1,7 @@
|
|
1
|
-
module Phcmembers
|
2
|
-
module Connections
|
3
|
-
def self.table_name_prefix
|
4
|
-
'phcmembers_connections_'
|
5
|
-
end
|
6
|
-
end
|
7
|
-
end
|
1
|
+
module Phcmembers
|
2
|
+
module Connections
|
3
|
+
def self.table_name_prefix
|
4
|
+
'phcmembers_connections_'
|
5
|
+
end
|
6
|
+
end
|
7
|
+
end
|
@@ -1,7 +1,7 @@
|
|
1
|
-
module Phcmembers
|
2
|
-
module Directory
|
3
|
-
def self.table_name_prefix
|
4
|
-
'phcmembers_directory_'
|
5
|
-
end
|
6
|
-
end
|
7
|
-
end
|
1
|
+
module Phcmembers
|
2
|
+
module Directory
|
3
|
+
def self.table_name_prefix
|
4
|
+
'phcmembers_directory_'
|
5
|
+
end
|
6
|
+
end
|
7
|
+
end
|
@@ -1,29 +1,29 @@
|
|
1
|
-
module Phcmembers
|
2
|
-
class Directory::Category < ApplicationRecord
|
3
|
-
|
4
|
-
# Clean URL Initialize
|
5
|
-
extend FriendlyId
|
6
|
-
|
7
|
-
# Paper_tail Initialize
|
8
|
-
has_paper_trail :class_name => 'Phcmembers::VersionsCategory'
|
9
|
-
|
10
|
-
# Relationships
|
11
|
-
has_many :categorylistings, class_name: 'Phcmembers::Directory::Categorylisting', dependent: :destroy
|
12
|
-
has_many :listings, class_name: 'Phcmembers::Member::Listing', :through => :categorylistings
|
13
|
-
|
14
|
-
validates :catname,
|
15
|
-
length: { minimum: 3 }
|
16
|
-
|
17
|
-
# Clean URL Define
|
18
|
-
friendly_id :phcmembers_category_slug, use: [:slugged, :finders]
|
19
|
-
|
20
|
-
# Define for Multiple Records
|
21
|
-
def phcmembers_category_slug
|
22
|
-
[
|
23
|
-
:catname,
|
24
|
-
[:catname, :id]
|
25
|
-
]
|
26
|
-
end
|
27
|
-
|
28
|
-
end
|
29
|
-
end
|
1
|
+
module Phcmembers
|
2
|
+
class Directory::Category < ApplicationRecord
|
3
|
+
|
4
|
+
# Clean URL Initialize
|
5
|
+
extend FriendlyId
|
6
|
+
|
7
|
+
# Paper_tail Initialize
|
8
|
+
has_paper_trail :class_name => 'Phcmembers::VersionsCategory'
|
9
|
+
|
10
|
+
# Relationships
|
11
|
+
has_many :categorylistings, class_name: 'Phcmembers::Directory::Categorylisting', dependent: :destroy
|
12
|
+
has_many :listings, class_name: 'Phcmembers::Member::Listing', :through => :categorylistings
|
13
|
+
|
14
|
+
validates :catname,
|
15
|
+
length: { minimum: 3 }
|
16
|
+
|
17
|
+
# Clean URL Define
|
18
|
+
friendly_id :phcmembers_category_slug, use: [:slugged, :finders]
|
19
|
+
|
20
|
+
# Define for Multiple Records
|
21
|
+
def phcmembers_category_slug
|
22
|
+
[
|
23
|
+
:catname,
|
24
|
+
[:catname, :id]
|
25
|
+
]
|
26
|
+
end
|
27
|
+
|
28
|
+
end
|
29
|
+
end
|
@@ -1,12 +1,12 @@
|
|
1
|
-
module Phcmembers
|
2
|
-
class Directory::Categorylisting < ApplicationRecord
|
3
|
-
|
4
|
-
# Add Paper Trail
|
5
|
-
has_paper_trail :class_name => 'Phcmembers::VersionsCategoryListing'
|
6
|
-
|
7
|
-
# Model Relationships
|
8
|
-
belongs_to :listing, class_name: 'Phcmembers::Member::Listing'
|
9
|
-
belongs_to :category, class_name: 'Phcmembers::Directory::Category'
|
10
|
-
|
11
|
-
end
|
12
|
-
end
|
1
|
+
module Phcmembers
|
2
|
+
class Directory::Categorylisting < ApplicationRecord
|
3
|
+
|
4
|
+
# Add Paper Trail
|
5
|
+
has_paper_trail :class_name => 'Phcmembers::VersionsCategoryListing'
|
6
|
+
|
7
|
+
# Model Relationships
|
8
|
+
belongs_to :listing, class_name: 'Phcmembers::Member::Listing'
|
9
|
+
belongs_to :category, class_name: 'Phcmembers::Directory::Category'
|
10
|
+
|
11
|
+
end
|
12
|
+
end
|
@@ -1,7 +1,7 @@
|
|
1
|
-
module Phcmembers
|
2
|
-
module Member
|
3
|
-
def self.table_name_prefix
|
4
|
-
'phcmembers_member_'
|
5
|
-
end
|
6
|
-
end
|
7
|
-
end
|
1
|
+
module Phcmembers
|
2
|
+
module Member
|
3
|
+
def self.table_name_prefix
|
4
|
+
'phcmembers_member_'
|
5
|
+
end
|
6
|
+
end
|
7
|
+
end
|
@@ -1,45 +1,45 @@
|
|
1
|
-
module Phcmembers
|
2
|
-
class Member::Address < ApplicationRecord
|
3
|
-
|
4
|
-
# Clean URL Initialize
|
5
|
-
extend FriendlyId
|
6
|
-
|
7
|
-
# Add Paper Trail
|
8
|
-
has_paper_trail :class_name => 'Phcmembers::VersionsAddress'
|
9
|
-
|
10
|
-
# Validation for Form Fields
|
11
|
-
validates :mcaddressl1,
|
12
|
-
presence: true,
|
13
|
-
length: { minimum: 2 }
|
14
|
-
|
15
|
-
validates :mccity,
|
16
|
-
length: { minimum: 3 }
|
17
|
-
|
18
|
-
validates :mcprovince,
|
19
|
-
presence: true,
|
20
|
-
length: { minimum: 2 }
|
21
|
-
|
22
|
-
validates :mccountry,
|
23
|
-
presence: true,
|
24
|
-
length: { minimum: 2 }
|
25
|
-
|
26
|
-
validates :mcpostalcode,
|
27
|
-
presence: true,
|
28
|
-
length: { minimum: 3 }
|
29
|
-
|
30
|
-
validates :mctype,
|
31
|
-
presence: true,
|
32
|
-
length: { minimum: 2 }
|
33
|
-
|
34
|
-
# Clean URL Define
|
35
|
-
friendly_id :phcmembers_address_slug, use: [:slugged, :finders]
|
36
|
-
|
37
|
-
# Define for Multiple Records
|
38
|
-
def phcmembers_address_slug
|
39
|
-
[
|
40
|
-
[:mcaddressl1, :mccity, :mcprovince]
|
41
|
-
]
|
42
|
-
end
|
43
|
-
|
44
|
-
end
|
45
|
-
end
|
1
|
+
module Phcmembers
|
2
|
+
class Member::Address < ApplicationRecord
|
3
|
+
|
4
|
+
# Clean URL Initialize
|
5
|
+
extend FriendlyId
|
6
|
+
|
7
|
+
# Add Paper Trail
|
8
|
+
has_paper_trail :class_name => 'Phcmembers::VersionsAddress'
|
9
|
+
|
10
|
+
# Validation for Form Fields
|
11
|
+
validates :mcaddressl1,
|
12
|
+
presence: true,
|
13
|
+
length: { minimum: 2 }
|
14
|
+
|
15
|
+
validates :mccity,
|
16
|
+
length: { minimum: 3 }
|
17
|
+
|
18
|
+
validates :mcprovince,
|
19
|
+
presence: true,
|
20
|
+
length: { minimum: 2 }
|
21
|
+
|
22
|
+
validates :mccountry,
|
23
|
+
presence: true,
|
24
|
+
length: { minimum: 2 }
|
25
|
+
|
26
|
+
validates :mcpostalcode,
|
27
|
+
presence: true,
|
28
|
+
length: { minimum: 3 }
|
29
|
+
|
30
|
+
validates :mctype,
|
31
|
+
presence: true,
|
32
|
+
length: { minimum: 2 }
|
33
|
+
|
34
|
+
# Clean URL Define
|
35
|
+
friendly_id :phcmembers_address_slug, use: [:slugged, :finders]
|
36
|
+
|
37
|
+
# Define for Multiple Records
|
38
|
+
def phcmembers_address_slug
|
39
|
+
[
|
40
|
+
[:mcaddressl1, :mccity, :mcprovince]
|
41
|
+
]
|
42
|
+
end
|
43
|
+
|
44
|
+
end
|
45
|
+
end
|
@@ -1,66 +1,66 @@
|
|
1
|
-
module Phcmembers
|
2
|
-
class Member::Listing < ApplicationRecord
|
3
|
-
|
4
|
-
# Clean URL Initialize
|
5
|
-
extend FriendlyId
|
6
|
-
|
7
|
-
# Add Paper Trail
|
8
|
-
has_paper_trail :class_name => 'Phcmembers::VersionsListing'
|
9
|
-
|
10
|
-
# Model Relationships
|
11
|
-
belongs_to :profile, class_name: 'Phcmembers::Member::Profile'
|
12
|
-
has_many :categorylistings, class_name: 'Phcmembers::Directory::Categorylisting', dependent: :destroy
|
13
|
-
has_many :categories, class_name: 'Phcmembers::Directory::Category', :through => :categorylistings
|
14
|
-
|
15
|
-
# Validation for Form Fields
|
16
|
-
validates :mbcompanyname,
|
17
|
-
presence: true,
|
18
|
-
length: { minimum: 2 }
|
19
|
-
|
20
|
-
validates :mbcontactname,
|
21
|
-
presence: true,
|
22
|
-
length: { minimum: 2 }
|
23
|
-
|
24
|
-
validates :mbaddressl1,
|
25
|
-
length: { minimum: 3 }
|
26
|
-
|
27
|
-
validates :mbcity,
|
28
|
-
presence: true,
|
29
|
-
length: { minimum: 3 }
|
30
|
-
|
31
|
-
validates :mbcountry,
|
32
|
-
presence: true,
|
33
|
-
length: { minimum: 2 }
|
34
|
-
|
35
|
-
validates :mbprovince,
|
36
|
-
presence: true,
|
37
|
-
length: { minimum: 2 }
|
38
|
-
|
39
|
-
validates :mbpostalcode,
|
40
|
-
presence: true,
|
41
|
-
length: { minimum: 3 }
|
42
|
-
|
43
|
-
validates :mbcontactemail,
|
44
|
-
presence: true,
|
45
|
-
length: { minimum: 3 }
|
46
|
-
|
47
|
-
validates :mbwebsite,
|
48
|
-
presence: true,
|
49
|
-
length: { minimum: 6 }
|
50
|
-
|
51
|
-
validates :mbphone,
|
52
|
-
presence: true,
|
53
|
-
format: { with: /\A(\+\d{1,2}\s)?\(?\d{3}\)?[\s.-]?\d{3}[\s.-]?\d{4}\z/, message: "Please Follow this Phone Number Format: xxx-xxx-xxxx" }
|
54
|
-
|
55
|
-
# Clean URL Define
|
56
|
-
friendly_id :phcmembers_listings_slug, use: [:slugged, :finders]
|
57
|
-
|
58
|
-
# Define for Multiple Records
|
59
|
-
def phcmembers_listings_slug
|
60
|
-
[
|
61
|
-
[:mbcompanyname, :mbcontactname]
|
62
|
-
]
|
63
|
-
end
|
64
|
-
|
65
|
-
end
|
66
|
-
end
|
1
|
+
module Phcmembers
|
2
|
+
class Member::Listing < ApplicationRecord
|
3
|
+
|
4
|
+
# Clean URL Initialize
|
5
|
+
extend FriendlyId
|
6
|
+
|
7
|
+
# Add Paper Trail
|
8
|
+
has_paper_trail :class_name => 'Phcmembers::VersionsListing'
|
9
|
+
|
10
|
+
# Model Relationships
|
11
|
+
belongs_to :profile, class_name: 'Phcmembers::Member::Profile'
|
12
|
+
has_many :categorylistings, class_name: 'Phcmembers::Directory::Categorylisting', dependent: :destroy
|
13
|
+
has_many :categories, class_name: 'Phcmembers::Directory::Category', :through => :categorylistings
|
14
|
+
|
15
|
+
# Validation for Form Fields
|
16
|
+
validates :mbcompanyname,
|
17
|
+
presence: true,
|
18
|
+
length: { minimum: 2 }
|
19
|
+
|
20
|
+
validates :mbcontactname,
|
21
|
+
presence: true,
|
22
|
+
length: { minimum: 2 }
|
23
|
+
|
24
|
+
validates :mbaddressl1,
|
25
|
+
length: { minimum: 3 }
|
26
|
+
|
27
|
+
validates :mbcity,
|
28
|
+
presence: true,
|
29
|
+
length: { minimum: 3 }
|
30
|
+
|
31
|
+
validates :mbcountry,
|
32
|
+
presence: true,
|
33
|
+
length: { minimum: 2 }
|
34
|
+
|
35
|
+
validates :mbprovince,
|
36
|
+
presence: true,
|
37
|
+
length: { minimum: 2 }
|
38
|
+
|
39
|
+
validates :mbpostalcode,
|
40
|
+
presence: true,
|
41
|
+
length: { minimum: 3 }
|
42
|
+
|
43
|
+
validates :mbcontactemail,
|
44
|
+
presence: true,
|
45
|
+
length: { minimum: 3 }
|
46
|
+
|
47
|
+
validates :mbwebsite,
|
48
|
+
presence: true,
|
49
|
+
length: { minimum: 6 }
|
50
|
+
|
51
|
+
validates :mbphone,
|
52
|
+
presence: true,
|
53
|
+
format: { with: /\A(\+\d{1,2}\s)?\(?\d{3}\)?[\s.-]?\d{3}[\s.-]?\d{4}\z/, message: "Please Follow this Phone Number Format: xxx-xxx-xxxx" }
|
54
|
+
|
55
|
+
# Clean URL Define
|
56
|
+
friendly_id :phcmembers_listings_slug, use: [:slugged, :finders]
|
57
|
+
|
58
|
+
# Define for Multiple Records
|
59
|
+
def phcmembers_listings_slug
|
60
|
+
[
|
61
|
+
[:mbcompanyname, :mbcontactname]
|
62
|
+
]
|
63
|
+
end
|
64
|
+
|
65
|
+
end
|
66
|
+
end
|
@@ -1,49 +1,49 @@
|
|
1
|
-
module Phcmembers
|
2
|
-
class Member::Profile < ApplicationRecord
|
3
|
-
|
4
|
-
# Clean URL Initialize
|
5
|
-
extend FriendlyId
|
6
|
-
|
7
|
-
# Add Paper Trail
|
8
|
-
has_paper_trail :class_name => 'Phcmembers::VersionsProfile'
|
9
|
-
|
10
|
-
# Gravatar
|
11
|
-
include Gravtastic
|
12
|
-
gravtastic :memail
|
13
|
-
|
14
|
-
# Model Relationships
|
15
|
-
has_many :addresses, class_name: 'Phcmembers::Member::Address'
|
16
|
-
has_many :listings, class_name: 'Phcmembers::Member::Listing'
|
17
|
-
|
18
|
-
# Validation for Form Fields
|
19
|
-
validates :mfirstname,
|
20
|
-
presence: true,
|
21
|
-
length: { minimum: 1 }
|
22
|
-
|
23
|
-
validates :mlastname,
|
24
|
-
presence: true,
|
25
|
-
length: { minimum: 1 }
|
26
|
-
|
27
|
-
validates :mtitle,
|
28
|
-
length: { minimum: 2 }
|
29
|
-
|
30
|
-
validates :memail,
|
31
|
-
presence: true,
|
32
|
-
length: { minimum: 6 }
|
33
|
-
|
34
|
-
validates :mphone,
|
35
|
-
presence: true,
|
36
|
-
format: { with: /\A(\+\d{1,2}\s)?\(?\d{3}\)?[\s.-]?\d{3}[\s.-]?\d{4}\z/, message: "Please Follow this Phone Number Format: xxx-xxx-xxxx" }
|
37
|
-
|
38
|
-
# Clean URL Define
|
39
|
-
friendly_id :phcmembers_profiles_slug, use: [:slugged, :finders]
|
40
|
-
|
41
|
-
# Define for Multiple Records
|
42
|
-
def phcmembers_profiles_slug
|
43
|
-
[
|
44
|
-
[:user_name, :mfirstname, :mlastname]
|
45
|
-
]
|
46
|
-
end
|
47
|
-
|
48
|
-
end
|
49
|
-
end
|
1
|
+
module Phcmembers
|
2
|
+
class Member::Profile < ApplicationRecord
|
3
|
+
|
4
|
+
# Clean URL Initialize
|
5
|
+
extend FriendlyId
|
6
|
+
|
7
|
+
# Add Paper Trail
|
8
|
+
has_paper_trail :class_name => 'Phcmembers::VersionsProfile'
|
9
|
+
|
10
|
+
# Gravatar
|
11
|
+
include Gravtastic
|
12
|
+
gravtastic :memail
|
13
|
+
|
14
|
+
# Model Relationships
|
15
|
+
has_many :addresses, class_name: 'Phcmembers::Member::Address'
|
16
|
+
has_many :listings, class_name: 'Phcmembers::Member::Listing'
|
17
|
+
|
18
|
+
# Validation for Form Fields
|
19
|
+
validates :mfirstname,
|
20
|
+
presence: true,
|
21
|
+
length: { minimum: 1 }
|
22
|
+
|
23
|
+
validates :mlastname,
|
24
|
+
presence: true,
|
25
|
+
length: { minimum: 1 }
|
26
|
+
|
27
|
+
validates :mtitle,
|
28
|
+
length: { minimum: 2 }
|
29
|
+
|
30
|
+
validates :memail,
|
31
|
+
presence: true,
|
32
|
+
length: { minimum: 6 }
|
33
|
+
|
34
|
+
validates :mphone,
|
35
|
+
presence: true,
|
36
|
+
format: { with: /\A(\+\d{1,2}\s)?\(?\d{3}\)?[\s.-]?\d{3}[\s.-]?\d{4}\z/, message: "Please Follow this Phone Number Format: xxx-xxx-xxxx" }
|
37
|
+
|
38
|
+
# Clean URL Define
|
39
|
+
friendly_id :phcmembers_profiles_slug, use: [:slugged, :finders]
|
40
|
+
|
41
|
+
# Define for Multiple Records
|
42
|
+
def phcmembers_profiles_slug
|
43
|
+
[
|
44
|
+
[:user_name, :mfirstname, :mlastname]
|
45
|
+
]
|
46
|
+
end
|
47
|
+
|
48
|
+
end
|
49
|
+
end
|