phcmembers 11.0.0 → 12.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (95) hide show
  1. checksums.yaml +4 -4
  2. data/MIT-LICENSE +20 -20
  3. data/README.md +45 -45
  4. data/Rakefile +33 -33
  5. data/app/assets/config/phcmembers_manifest.js +2 -2
  6. data/app/assets/javascripts/phcmembers/application.js +2 -2
  7. data/app/assets/stylesheets/phcmembers/application.scss +2 -2
  8. data/app/controllers/phcmembers/api/directories_controller.rb +18 -18
  9. data/app/controllers/phcmembers/application_controller.rb +17 -17
  10. data/app/controllers/phcmembers/directory/categories_controller.rb +68 -68
  11. data/app/controllers/phcmembers/directory/categorylistings_controller.rb +21 -21
  12. data/app/controllers/phcmembers/member/addresses_controller.rb +75 -75
  13. data/app/controllers/phcmembers/member/listings_controller.rb +77 -77
  14. data/app/controllers/phcmembers/member/profiles_controller.rb +68 -68
  15. data/app/controllers/phcmembers/modules/dashboards_controller.rb +14 -14
  16. data/app/helpers/phcmembers/application_helper.rb +14 -14
  17. data/app/jobs/phcmembers/application_job.rb +4 -4
  18. data/app/mailers/phcmembers/application_mailer.rb +8 -8
  19. data/app/models/phcmembers/application_record.rb +5 -5
  20. data/app/models/phcmembers/connections.rb +7 -7
  21. data/app/models/phcmembers/directory.rb +7 -7
  22. data/app/models/phcmembers/directory/category.rb +29 -19
  23. data/app/models/phcmembers/directory/categorylisting.rb +12 -18
  24. data/app/models/phcmembers/member.rb +7 -7
  25. data/app/models/phcmembers/member/address.rb +45 -17
  26. data/app/models/phcmembers/member/listing.rb +66 -26
  27. data/app/models/phcmembers/member/profile.rb +49 -49
  28. data/app/models/phcmembers/versions_address.rb +5 -0
  29. data/app/models/phcmembers/versions_category.rb +5 -0
  30. data/app/models/phcmembers/versions_category_listing.rb +5 -0
  31. data/app/models/phcmembers/versions_listing.rb +5 -0
  32. data/app/models/phcmembers/versions_profile.rb +5 -0
  33. data/app/views/layouts/phcmembers/application.html.erb +56 -56
  34. data/app/views/layouts/phcmembers/components/backend/footer/_footer.html.erb +4 -4
  35. data/app/views/layouts/phcmembers/components/backend/navigation/_navigation.html.erb +60 -60
  36. data/app/views/layouts/phcmembers/components/backend/topbar/_topbar.html.erb +5 -5
  37. data/app/views/layouts/phcmembers/components/backend/topbar/_topbar_links.html.erb +0 -0
  38. data/app/views/layouts/phcmembers/directory/directory_all.html.erb +56 -56
  39. data/app/views/layouts/phcmembers/members/members_all.html.erb +56 -56
  40. data/app/views/phcmembers/directory/categories/_form.html.erb +15 -15
  41. data/app/views/phcmembers/directory/categories/components/_category_audits.html.erb +14 -14
  42. data/app/views/phcmembers/directory/categories/components/_category_list.html.erb +7 -7
  43. data/app/views/phcmembers/directory/categories/components/_category_main.html.erb +31 -31
  44. data/app/views/phcmembers/directory/categories/edit.html.erb +38 -38
  45. data/app/views/phcmembers/directory/categories/index.html.erb +47 -47
  46. data/app/views/phcmembers/directory/categories/new.html.erb +36 -36
  47. data/app/views/phcmembers/directory/categories/show.html.erb +27 -27
  48. data/app/views/phcmembers/directory/categorylistings/index.html.erb +63 -63
  49. data/app/views/phcmembers/directory/categorylistings/show.html.erb +4 -4
  50. data/app/views/phcmembers/member/addresses/_form.html.erb +44 -44
  51. data/app/views/phcmembers/member/addresses/components/_address_address.html.erb +29 -29
  52. data/app/views/phcmembers/member/addresses/components/_address_audits.html.erb +12 -12
  53. data/app/views/phcmembers/member/addresses/components/_address_main.html.erb +31 -31
  54. data/app/views/phcmembers/member/addresses/edit.html.erb +40 -40
  55. data/app/views/phcmembers/member/addresses/index.html.erb +74 -74
  56. data/app/views/phcmembers/member/addresses/new.html.erb +40 -40
  57. data/app/views/phcmembers/member/addresses/show.html.erb +27 -27
  58. data/app/views/phcmembers/member/listings/_form.html.erb +68 -68
  59. data/app/views/phcmembers/member/listings/components/_listing_address.html.erb +48 -48
  60. data/app/views/phcmembers/member/listings/components/_listing_audits.html.erb +14 -14
  61. data/app/views/phcmembers/member/listings/components/_listing_main.html.erb +31 -31
  62. data/app/views/phcmembers/member/listings/edit.html.erb +40 -40
  63. data/app/views/phcmembers/member/listings/index.html.erb +76 -76
  64. data/app/views/phcmembers/member/listings/new.html.erb +40 -40
  65. data/app/views/phcmembers/member/listings/show.html.erb +27 -27
  66. data/app/views/phcmembers/member/profiles/_form.html.erb +36 -36
  67. data/app/views/phcmembers/member/profiles/components/_profile_main.html.erb +44 -44
  68. data/app/views/phcmembers/member/profiles/components/_profile_sidebar.html.erb +28 -28
  69. data/app/views/phcmembers/member/profiles/edit.html.erb +39 -39
  70. data/app/views/phcmembers/member/profiles/index.html.erb +68 -68
  71. data/app/views/phcmembers/member/profiles/new.html.erb +39 -39
  72. data/app/views/phcmembers/member/profiles/show.html.erb +31 -31
  73. data/app/views/phcmembers/modules/dashboards/index.html.erb +66 -66
  74. data/config/initializers/friendly_id.rb +92 -92
  75. data/config/initializers/paper_trail.rb +1 -0
  76. data/config/locales/en.yml +9 -9
  77. data/config/routes.rb +36 -36
  78. data/db/migrate/20160724220339_create_phcmembers_member_profiles.rb +23 -23
  79. data/db/migrate/20160725153306_create_phcmembers_member_addresses.rb +26 -26
  80. data/db/migrate/20160725182257_create_phcmembers_directory_categories.rb +18 -18
  81. data/db/migrate/20160727024006_create_phcmembers_member_listings.rb +30 -30
  82. data/db/migrate/20160727042756_create_phcmembers_directory_categorylistings.rb +19 -19
  83. data/db/migrate/20170509002355_create_phcmembers_friendly_id_slugs.rb +15 -0
  84. data/db/migrate/20170517064030_create_phcmembers_versions_profiles.rb +12 -0
  85. data/db/migrate/20170517064049_create_phcmembers_versions_listings.rb +12 -0
  86. data/db/migrate/20170517064114_create_phcmembers_versions_addresses.rb +12 -0
  87. data/db/migrate/20170517064208_create_phcmembers_versions_categorylistings.rb +12 -0
  88. data/db/migrate/20170517064427_create_phcmembers_versions_categories.rb +12 -0
  89. data/lib/phcmembers.rb +4 -4
  90. data/lib/phcmembers/engine.rb +73 -73
  91. data/lib/phcmembers/version.rb +3 -3
  92. data/lib/tasks/phcmembers_tasks.rake +4 -4
  93. metadata +59 -7
  94. data/db/migrate/20160707154842_create_versions.rb +0 -80
  95. data/db/migrate/20170509002355_create_friendly_id_slugs.rb +0 -15
@@ -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,19 +1,29 @@
1
- module Phcmembers
2
- class Directory::Category < ApplicationRecord
3
-
4
-
5
- # Clean URL Initialize
6
- extend FriendlyId
7
-
8
- # Paper_tail Initialize
9
- has_paper_trail
10
-
11
- # Relationships
12
- has_many :categorylistings, class_name: 'Phcmembers::Directory::Categorylisting', dependent: :destroy
13
- has_many :listings, class_name: 'Phcmembers::Member::Listing', :through => :categorylistings
14
-
15
- # Clean URL Define
16
- friendly_id :catname, use: :slugged
17
-
18
- end
19
- 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,18 +1,12 @@
1
- module Phcmembers
2
- class Directory::Categorylisting < ApplicationRecord
3
-
4
- # Clean URL Initialize
5
- extend FriendlyId
6
-
7
- # Add Paper Trail
8
- has_paper_trail
9
-
10
- # Model Relationships
11
- belongs_to :listing, class_name: 'Phcmembers::Member::Listing'
12
- belongs_to :category, class_name: 'Phcmembers::Directory::Category'
13
-
14
- # Clean URL Define
15
- friendly_id :id, use: :slugged
16
-
17
- end
18
- 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,17 +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
9
-
10
- # Model Relationships
11
- belongs_to :profile, class_name: 'Phcmembers::Member::Profile'
12
-
13
- # Clean URL Define
14
- friendly_id :id, use: :slugged
15
-
16
- end
17
- 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,26 +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
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
- # Clean URL Define
16
- friendly_id :businessmemberfullname, use: :slugged
17
-
18
- # Define for Multiple Records
19
- def businessmemberfullname
20
- [
21
- [:mbcompanyname, :mbcontactname]
22
- ]
23
- end
24
-
25
- end
26
- 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
9
-
10
- # Gravatar
11
- include Gravtastic
12
- gravtastic :memail
13
-
14
- # Model Relationship
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 :memberfullname, use: :slugged
40
-
41
- # Define for Multiple Records
42
- def memberfullname
43
- [
44
- [: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