phcmembers 2.2.0 → 3.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (128) hide show
  1. checksums.yaml +4 -4
  2. data/MIT-LICENSE +20 -0
  3. data/README.md +4 -4
  4. data/Rakefile +15 -5
  5. data/app/assets/config/phcmembers_manifest.js +2 -0
  6. data/app/assets/stylesheets/phcmembers/_custom.scss +0 -9
  7. data/app/assets/stylesheets/phcmembers/application.scss +23 -0
  8. data/app/controllers/phcmembers/api/directories_controller.rb +18 -0
  9. data/app/controllers/phcmembers/application_controller.rb +4 -1
  10. data/app/controllers/phcmembers/dashboard/mains_controller.rb +19 -0
  11. data/app/controllers/phcmembers/directory/categories_controller.rb +6 -4
  12. data/app/controllers/phcmembers/directory/listings_controller.rb +71 -0
  13. data/app/controllers/phcmembers/members/businesses_controller.rb +83 -0
  14. data/app/controllers/phcmembers/members/contacts_controller.rb +13 -17
  15. data/app/controllers/phcmembers/members/mains_controller.rb +10 -7
  16. data/app/helpers/phcmembers/application_helper.rb +0 -1
  17. data/app/jobs/phcmembers/application_job.rb +4 -0
  18. data/app/mailers/phcmembers/application_mailer.rb +6 -0
  19. data/app/models/phcmembers/api.rb +7 -0
  20. data/app/models/phcmembers/application_record.rb +5 -0
  21. data/app/models/phcmembers/directory.rb +0 -3
  22. data/app/models/phcmembers/directory/category.rb +6 -3
  23. data/app/models/phcmembers/directory/listing.rb +20 -0
  24. data/app/models/phcmembers/members.rb +0 -3
  25. data/app/models/phcmembers/members/business.rb +44 -0
  26. data/app/models/phcmembers/members/contact.rb +10 -9
  27. data/app/models/phcmembers/members/main.rb +4 -3
  28. data/app/views/layouts/phcmembers/application.html.erb +12 -8
  29. data/app/views/layouts/phcmembers/directory/directory_all.html.erb +12 -8
  30. data/app/views/layouts/phcmembers/members/members_all.html.erb +12 -8
  31. data/app/views/phcmembers/directory/categories/_form.html.erb +2 -1
  32. data/app/views/phcmembers/directory/categories/components/_category_audits.html.erb +25 -0
  33. data/app/views/phcmembers/directory/categories/components/_category_list.html.erb +7 -0
  34. data/app/views/phcmembers/directory/categories/components/_category_main.html.erb +24 -0
  35. data/app/views/phcmembers/directory/categories/edit.html.erb +30 -11
  36. data/app/views/phcmembers/directory/categories/index.html.erb +37 -37
  37. data/app/views/phcmembers/directory/categories/new.html.erb +28 -9
  38. data/app/views/phcmembers/directory/categories/show.html.erb +34 -0
  39. data/app/views/phcmembers/directory/listings/_form.html.erb +15 -0
  40. data/app/views/phcmembers/directory/listings/_formpatch.html.erb +15 -0
  41. data/app/views/phcmembers/directory/listings/components/_listing_audits.html.erb +25 -0
  42. data/app/views/phcmembers/directory/listings/components/_listing_list.html.erb +48 -0
  43. data/app/views/phcmembers/directory/listings/components/_listing_main.html.erb +21 -0
  44. data/app/views/phcmembers/directory/listings/edit.html.erb +45 -0
  45. data/app/views/phcmembers/directory/listings/index.html.erb +73 -0
  46. data/app/views/phcmembers/directory/listings/new.html.erb +45 -0
  47. data/app/views/phcmembers/directory/listings/show.html.erb +34 -0
  48. data/app/views/phcmembers/members/businesses/_form.html.erb +65 -0
  49. data/app/views/phcmembers/members/businesses/_formpatch.html.erb +65 -0
  50. data/app/views/phcmembers/members/businesses/components/_business_address.html.erb +48 -0
  51. data/app/views/phcmembers/members/businesses/components/_business_audits.html.erb +25 -0
  52. data/app/views/phcmembers/members/businesses/components/_business_main.html.erb +21 -0
  53. data/app/views/phcmembers/members/businesses/edit.html.erb +46 -0
  54. data/app/views/phcmembers/members/businesses/index.html.erb +76 -0
  55. data/app/views/phcmembers/members/businesses/new.html.erb +47 -0
  56. data/app/views/phcmembers/members/businesses/show.html.erb +35 -0
  57. data/app/views/phcmembers/members/contacts/_form.html.erb +14 -26
  58. data/app/views/phcmembers/members/contacts/_formpatch.html.erb +14 -26
  59. data/app/views/phcmembers/members/contacts/components/_contact_address.html.erb +29 -0
  60. data/app/views/phcmembers/members/contacts/components/_contact_audits.html.erb +25 -0
  61. data/app/views/phcmembers/members/contacts/components/_contact_main.html.erb +21 -0
  62. data/app/views/phcmembers/members/contacts/edit.html.erb +30 -11
  63. data/app/views/phcmembers/members/contacts/index.html.erb +57 -37
  64. data/app/views/phcmembers/members/contacts/new.html.erb +30 -11
  65. data/app/views/phcmembers/members/contacts/show.html.erb +35 -51
  66. data/app/views/phcmembers/members/mains/_form.html.erb +14 -15
  67. data/app/views/phcmembers/members/mains/components/_profile_main.html.erb +48 -0
  68. data/app/views/phcmembers/members/mains/components/_profile_sidebar.html.erb +67 -0
  69. data/app/views/phcmembers/members/mains/edit.html.erb +28 -9
  70. data/app/views/phcmembers/members/mains/index.html.erb +53 -43
  71. data/app/views/phcmembers/members/mains/new.html.erb +27 -8
  72. data/app/views/phcmembers/members/mains/show.html.erb +31 -53
  73. data/config/routes.rb +22 -10
  74. data/db/migrate/20160706184011_create_phcmembers_members_businesses.rb +27 -0
  75. data/db/migrate/{20160227194651_create_phcmembers_members_contacts.rb → 20160706184249_create_phcmembers_members_contacts.rb} +3 -6
  76. data/db/migrate/{20160227150117_create_phcmembers_members_mains.rb → 20160706184353_create_phcmembers_members_mains.rb} +8 -2
  77. data/db/migrate/20160706184527_create_phcmembers_directory_listings.rb +15 -0
  78. data/db/migrate/{20160227205022_create_phcmembers_directory_categories.rb → 20160706184708_create_phcmembers_directory_categories.rb} +4 -2
  79. data/db/migrate/20160707154842_create_versions.rb +80 -0
  80. data/lib/phcmembers/engine.rb +11 -8
  81. data/lib/phcmembers/version.rb +2 -2
  82. metadata +132 -155
  83. data/LICENSE +0 -238
  84. data/app/assets/stylesheets/adminlte_overrides.scss +0 -56
  85. data/app/assets/stylesheets/phcmembers/_variables.scss +0 -0
  86. data/app/assets/stylesheets/phcmembers/application.css.scss +0 -12
  87. data/app/assets/stylesheets/phcmembers/dashboard.scss +0 -3
  88. data/app/assets/stylesheets/scaffolds.scss +0 -73
  89. data/app/controllers/phcmembers/api/catsapi_controller.rb +0 -15
  90. data/app/controllers/phcmembers/api/listapi_controller.rb +0 -16
  91. data/app/controllers/phcmembers/dashboard/indices_controller.rb +0 -20
  92. data/app/controllers/phcmembers/directory/catlists_controller.rb +0 -98
  93. data/app/controllers/phcmembers/members/listings_controller.rb +0 -87
  94. data/app/helpers/nav_helper.rb +0 -29
  95. data/app/helpers/phcmembers/dashboard_helper.rb +0 -4
  96. data/app/helpers/phcmembers/directory/categories_helper.rb +0 -4
  97. data/app/helpers/phcmembers/directory/catlists_helper.rb +0 -4
  98. data/app/helpers/phcmembers/members/contacts_helper.rb +0 -4
  99. data/app/helpers/phcmembers/members/listings_helper.rb +0 -4
  100. data/app/helpers/phcmembers/members/mains_helper.rb +0 -4
  101. data/app/models/phcmembers/api/category.rb +0 -8
  102. data/app/models/phcmembers/api/catlist.rb +0 -9
  103. data/app/models/phcmembers/directory/catlist.rb +0 -17
  104. data/app/models/phcmembers/members/listing.rb +0 -42
  105. data/app/views/layouts/_application_header.html.erb +0 -133
  106. data/app/views/layouts/_application_sidebar.html.erb +0 -39
  107. data/app/views/layouts/application.html.erb +0 -19
  108. data/app/views/phcmembers/api/catsapi/index.json.rabl +0 -2
  109. data/app/views/phcmembers/api/listapi/index.json.rabl +0 -6
  110. data/app/views/phcmembers/dashboard/indices/index.html.erb +0 -51
  111. data/app/views/phcmembers/directory/catlists/_form.html.erb +0 -15
  112. data/app/views/phcmembers/directory/catlists/index.html.erb +0 -37
  113. data/app/views/phcmembers/directory/catlists/new.html.erb +0 -26
  114. data/app/views/phcmembers/members/listings/_form.html.erb +0 -54
  115. data/app/views/phcmembers/members/listings/_formpatch.html.erb +0 -54
  116. data/app/views/phcmembers/members/listings/edit.html.erb +0 -27
  117. data/app/views/phcmembers/members/listings/index.html.erb +0 -58
  118. data/app/views/phcmembers/members/listings/new.html.erb +0 -25
  119. data/app/views/phcmembers/members/listings/show.html.erb +0 -56
  120. data/db/migrate/20160227160416_create_phcmembers_members_listings.rb +0 -23
  121. data/db/migrate/20160227212144_create_phcmembers_directory_catlists.rb +0 -13
  122. data/lib/generators/phcmembers/views_generator.rb +0 -53
  123. data/lib/templates/erb/controller/view.html.erb +0 -9
  124. data/lib/templates/erb/scaffold/_form.html.erb +0 -30
  125. data/lib/templates/erb/scaffold/edit.html.erb +0 -15
  126. data/lib/templates/erb/scaffold/index.html.erb +0 -52
  127. data/lib/templates/erb/scaffold/new.html.erb +0 -13
  128. data/lib/templates/erb/scaffold/show.html.erb +0 -38
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 32d16f09e9d6ba90e4e4510827acd4af8cd1a777
4
- data.tar.gz: 89e118564c151ebfb80dd51adf0aea7aa7885a6f
3
+ metadata.gz: a2e6dcc56f5ba83bf4a47bd2e43280bab7d6d6b6
4
+ data.tar.gz: a831fc855f548419e64a88e67735c0272dd05aa3
5
5
  SHA512:
6
- metadata.gz: dff8e4d4a5e7d239fec434f1bdd85ff08babde7d058bf43e37a7785295e0e35a044f90b8e1edb64a117837772bbe2bb106782066511e2c1e6ad8364a4f4fb30d
7
- data.tar.gz: 6c52651a4fb69ff27825e8619e8d3489ae47f59a04b8acd1ac016566e5a9aaf0ac1d3beff2df3f9095f98eb74ed8c13fcb24d9275c392e9b6e5fc4de43f60368
6
+ metadata.gz: df53edb77e446b93e837f1612fd3da2271b053f8add0f8221891c6a0fed24b92e5a9b32162f1fe14784c44a283a71ace8e974d4b4a231dc24eba9dde16c3d02a
7
+ data.tar.gz: 85b5e24566b12c3bd0007cc03e29d1c00aff1621b5f36f175d3de7bdd2e7a6ddd3bc72579eb4ea6b3ef6b7f78fe0fff74f30e3719adf4db0f4362e01ae0864ac
data/MIT-LICENSE ADDED
@@ -0,0 +1,20 @@
1
+ Copyright 2016 BradPotts - PHCNetworks
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining
4
+ a copy of this software and associated documentation files (the
5
+ "Software"), to deal in the Software without restriction, including
6
+ without limitation the rights to use, copy, modify, merge, publish,
7
+ distribute, sublicense, and/or sell copies of the Software, and to
8
+ permit persons to whom the Software is furnished to do so, subject to
9
+ the following conditions:
10
+
11
+ The above copyright notice and this permission notice shall be
12
+ included in all copies or substantial portions of the Software.
13
+
14
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/README.md CHANGED
@@ -3,8 +3,8 @@
3
3
  [![Issue Count](https://codeclimate.com/github/PHCNetworks/phc-members/badges/issue_count.svg)](https://codeclimate.com/github/PHCNetworks/phc-members)
4
4
  [![Gem Version](https://badge.fury.io/rb/phcmembers.svg)](https://badge.fury.io/rb/phcmembers)
5
5
 
6
- ### PHCMembers(2) (Membership & Directory Engine) Documentation
7
- PHCMembers(2) is an open source membership and listing directory engine purpose built for PHCMembers application.
6
+ ### PHCMembers(3) (Membership & Directory Engine) Documentation
7
+ PHCMembers(3) is an open source membership and listing directory engine purpose built for PHCMembers application.
8
8
 
9
9
  - Fast setup of membership and web directory modules.
10
10
  - Directory and listings manager with a web directory API.
@@ -14,7 +14,7 @@ PHCMembers(2) is an open source membership and listing directory engine purpose
14
14
 
15
15
  #### Step 1 - Add PHCMembers to your gemfile
16
16
 
17
- gem 'phcmembers', '~> 2.1', '>= 2.1.3'
17
+ gem 'phcmembers', '~> 2.2'
18
18
  bundle exec install
19
19
 
20
20
  #### Step 2 - Add database migration files
@@ -41,4 +41,4 @@ PHC-Members UI requires bootstrap and fontawesome to operate.
41
41
  #### Additional Info & Help
42
42
 
43
43
  [Past Security Patch Notes](https://github.com/PHCNetworks/phc-members/wiki/Critical-Security-Updates)
44
-
44
+
data/Rakefile CHANGED
@@ -1,5 +1,5 @@
1
1
  begin
2
- require 'bundler/setup'
2
+ require 'bundler/setup'
3
3
 
4
4
  rescue LoadError
5
5
  puts 'You must `gem install bundler` and `bundle install` to run rake tasks'
@@ -11,13 +11,23 @@ RDoc::Task.new(:rdoc) do |rdoc|
11
11
  rdoc.rdoc_dir = 'rdoc'
12
12
  rdoc.title = 'Phcmembers'
13
13
  rdoc.options << '--line-numbers'
14
- rdoc.rdoc_files.include('README.rdoc')
14
+ rdoc.rdoc_files.include('README.md')
15
15
  rdoc.rdoc_files.include('lib/**/*.rb')
16
16
  end
17
17
 
18
- APP_RAKEFILE = File.expand_path("../spec/test_app/Rakefile", __FILE__)
19
-
18
+ APP_RAKEFILE = File.expand_path("../spec/testapp/Rakefile", __FILE__)
20
19
  load 'rails/tasks/engine.rake'
21
20
  load 'rails/tasks/statistics.rake'
22
21
 
23
- Bundler::GemHelper.install_tasks
22
+ require 'bundler/gem_tasks'
23
+
24
+ require 'rake/testtask'
25
+
26
+ Rake::TestTask.new(:test) do |t|
27
+ t.libs << 'lib'
28
+ t.libs << 'test'
29
+ t.pattern = 'test/**/*_test.rb'
30
+ t.verbose = false
31
+ end
32
+
33
+ task default: :test
@@ -0,0 +1,2 @@
1
+ //= link_directory ../javascripts/phcmembers .js
2
+ //= link_directory ../stylesheets/phcmembers .scss
@@ -1,9 +0,0 @@
1
- // Main Container Margin
2
- .container {
3
- padding-top: 40px;
4
- }
5
-
6
- // Text Alginment in Table Cells
7
- .table > tbody > tr > td {
8
- vertical-align: middle;
9
- }
@@ -0,0 +1,23 @@
1
+ /*
2
+ * This is a manifest file that'll be compiled into application.css, which will include all the files
3
+ * listed below.
4
+ *
5
+ * Any CSS and SCSS file within this directory, lib/assets/stylesheets, vendor/assets/stylesheets,
6
+ * or any plugin's vendor/assets/stylesheets directory can be referenced here using a relative path.
7
+ *
8
+ * You're free to add application-wide styles to this file and they'll appear at the bottom of the
9
+ * compiled file so the styles you add here take precedence over styles defined in any other CSS/SCSS
10
+ * files in this directory. Styles in this file should be added after the last require_* statement.
11
+ * It is generally better to create a new file per style scope.
12
+ *
13
+ *= require_tree .
14
+ *= require_self
15
+ */
16
+
17
+ // Bootstrap & Font Awesome
18
+ @import "bootstrap-sprockets";
19
+ @import "bootstrap";
20
+ @import "font-awesome";
21
+
22
+ // Custom Alterations
23
+ @import "custom";
@@ -0,0 +1,18 @@
1
+ require_dependency "phcmembers/application_controller"
2
+
3
+ module Phcmembers
4
+ class Api::DirectoriesController < ApplicationController
5
+
6
+ # Directory Category API
7
+ def index
8
+ @directory_categories = Directory::Category.where(membership_id: membership_info.id).order('catname ASC')
9
+ end
10
+
11
+ # Directory Listing API
12
+ def show
13
+ category = Directory::Category.find(params[:category_id])
14
+ @directory_listings = category.catlists.where(membership_id: membership_info.id)
15
+ end
16
+
17
+ end
18
+ end
@@ -1,7 +1,10 @@
1
1
  module Phcmembers
2
2
  class ApplicationController < ActionController::Base
3
3
 
4
- # Add Helpers
4
+ # Security Filters
5
+ protect_from_forgery with: :exception
6
+
7
+ # Load Helpers
5
8
  helper Phctitleseo::Engine.helpers
6
9
  helper Phcnotifi::Engine.helpers
7
10
 
@@ -0,0 +1,19 @@
1
+ require_dependency "phcmembers/application_controller"
2
+
3
+ module Phcmembers
4
+ class Dashboard::MainsController < ApplicationController
5
+
6
+ # Dashboard Index
7
+ def index
8
+ @members_main = Phcmembers::Members::Main
9
+ @members_business = Phcmembers::Members::Business
10
+ @members_contact = Phcmembers::Members::Contact
11
+
12
+ @directory_category = Phcmembers::Directory::Category
13
+ @directory_catlists = Phcmembers::Directory::Listing
14
+ end
15
+
16
+ private
17
+
18
+ end
19
+ end
@@ -4,17 +4,19 @@ module Phcmembers
4
4
  class Directory::CategoriesController < ApplicationController
5
5
 
6
6
  # Filters
7
- layout 'layouts/phcmembers/directory/directory_all.html.erb'
8
- before_filter :authenticate_user!, if: -> { defined?(Devise) }
7
+ before_action :set_paper_trail_whodunnit
9
8
  before_action :set_directory_category, only: [:edit, :update, :destroy]
9
+ # layout 'layouts/phcmemberspro/directory/directory_all.html.erb'
10
10
 
11
11
  # Directory Category Index
12
12
  def index
13
- @directory_categories = Directory::Category.all.order('catname ASC')
13
+ @directory_categories = Directory::Category.all
14
14
  end
15
15
 
16
16
  # Directory Category Details
17
17
  def show
18
+ @versions = PaperTrail::Version.where(item_id: params[:id], item_type: 'Phcmembers::Directory::Category')
19
+ @directory_category = Directory::Category.find(params[:id])
18
20
  end
19
21
 
20
22
  # New Directory Category
@@ -64,4 +66,4 @@ module Phcmembers
64
66
  end
65
67
 
66
68
  end
67
- end
69
+ end
@@ -0,0 +1,71 @@
1
+ require_dependency "phcmembers/application_controller"
2
+
3
+ module Phcmembers
4
+ class Directory::ListingsController < ApplicationController
5
+
6
+ # Filters
7
+ before_action :set_paper_trail_whodunnit
8
+ before_action :set_directory_listing, only: [:show, :update, :destroy]
9
+ # layout 'layouts/phcmemberspro/directory/directory_all.html.erb'
10
+
11
+ # Directory Listing Index
12
+ def index
13
+ category = Directory::Category.find(params[:category_id])
14
+ @directory_listings = category.listings
15
+ end
16
+
17
+ # Show Directory Listing
18
+ def show
19
+ @versions = PaperTrail::Version.where(item_id: params[:id], item_type: 'Phcmembers::Directory::Listing')
20
+ category = Directory::Category.find(params[:category_id])
21
+ @directory_listing = category.listings.find(params[:id])
22
+ end
23
+
24
+ # New Directory Listing
25
+ def new
26
+ category = Directory::Category.find(params[:category_id])
27
+ @directory_listing = category.listings.build
28
+ end
29
+
30
+ # Create Directory Listing Action
31
+ def create
32
+ @category = Directory::Category.find(params[:category_id])
33
+ @directory_listing = @category.listings.create(directory_listing_params)
34
+ if @directory_listing.save
35
+ redirect_to directory_category_listings_path, notice: 'Listing was successfully created.'
36
+ else
37
+ render :new
38
+ end
39
+ end
40
+
41
+ # Update Directory Listing Action
42
+ def update
43
+ if @directory_listing.update(directory_listing_params)
44
+ redirect_to directory_category_listings_path, notice: 'Listing was successfully updated.'
45
+ else
46
+ render :edit
47
+ end
48
+ end
49
+
50
+ # Delete Directory Listing
51
+ def destroy
52
+ @category = Directory::Category.find(params[:category_id])
53
+ @directory_listing = @category.listings.find(params[:id])
54
+ @directory_listing.destroy
55
+ redirect_to directory_category_listings_path, notice: 'Listing was successfully destroyed.'
56
+ end
57
+
58
+ private
59
+
60
+ # Common Callbacks
61
+ def set_directory_listing
62
+ @directory_listing = Directory::Listing.find(params[:id])
63
+ end
64
+
65
+ # Whitelists
66
+ def directory_listing_params
67
+ params.require(:directory_listing).permit(:business_id, :category_id, :main_id)
68
+ end
69
+
70
+ end
71
+ end
@@ -0,0 +1,83 @@
1
+ require_dependency "phcmembers/application_controller"
2
+
3
+ module Phcmembers
4
+ class Members::BusinessesController < ApplicationController
5
+
6
+ # Filters
7
+ before_action :set_paper_trail_whodunnit
8
+ before_action :phc_member_mains_info
9
+ before_action :set_members_business, only: [:edit, :update, :destroy]
10
+ # layout 'layouts/phcmembers/members/members_all.html.erb'
11
+
12
+ # Member Members Business Information Index
13
+ def index
14
+ main = Members::Main.find(params[:main_id])
15
+ @members_businesses = main.businesses.order('mbcompanyname ASC')
16
+ end
17
+
18
+ # Detailed Member Contact Information
19
+ def show
20
+ @versions = PaperTrail::Version.where(item_id: params[:id], item_type: 'Phcmembers::Members::Business')
21
+ main = Members::Main.find(params[:main_id])
22
+ @members_businesses = main.businesses.find(params[:id])
23
+ end
24
+
25
+ # New Member Members Business Information
26
+ def new
27
+ main = Members::Main.find(params[:main_id])
28
+ @members_business = main.businesses.build
29
+ end
30
+
31
+ # Edit Member Members Business Information
32
+ def edit
33
+ main = Members::Main.find(params[:main_id])
34
+ @members_business = main.businesses.find(params[:id])
35
+ end
36
+
37
+ # Create Action
38
+ def create
39
+ @main = Members::Main.find(params[:main_id])
40
+ @members_business = @main.businesses.create(members_business_params)
41
+ if @members_business.save
42
+ redirect_to members_main_businesses_path, notice: 'Members Business was successfully created.'
43
+ else
44
+ render :new
45
+ end
46
+ end
47
+
48
+ # Update Action
49
+ def update
50
+ if @members_business.update(members_business_params)
51
+ redirect_to members_main_businesses_path, notice: 'Members Business Information was successfully updated.'
52
+ else
53
+ render :edit
54
+ end
55
+ end
56
+
57
+ # Delete Action
58
+ def destroy
59
+ @main = Members::Main.find(params[:main_id])
60
+ @members_business = @main.businesses.find(params[:id])
61
+ @members_business.destroy
62
+ redirect_to members_main_businesses_path, notice: 'Members Business has been Deleted.'
63
+ end
64
+
65
+ private
66
+
67
+ # Grab Member Information
68
+ def phc_member_mains_info
69
+ @members_main = Members::Main.find(params[:main_id])
70
+ end
71
+
72
+ # Common Callbacks
73
+ def set_members_business
74
+ @members_business = Members::Business.find(params[:id])
75
+ end
76
+
77
+ # White List
78
+ def members_business_params
79
+ params.require(:members_business).permit(:mbcompanyname, :mbcontactname, :mbaddressl1, :mbaddressl2, :mbcity, :mbcountry, :mbprovince, :mbpostalcode, :mbphone, :mbcontactemail, :mbwebsite, :main_id)
80
+ end
81
+
82
+ end
83
+ end
@@ -4,25 +4,20 @@ module Phcmembers
4
4
  class Members::ContactsController < ApplicationController
5
5
 
6
6
  # Filters
7
- layout 'layouts/phcmembers/members/members_all.html.erb'
8
- before_filter :authenticate_user!, if: -> { defined?(Devise) }
9
- before_action :set_members_contact, only: [:show, :edit, :update, :destroy]
10
-
11
- # Add Member Contact Information
7
+ before_action :set_paper_trail_whodunnit
12
8
  before_action :phc_member_mains_info
13
-
14
- def phc_member_mains_info
15
- @members_main = Members::Main.find(params[:main_id])
16
- end
9
+ before_action :set_members_contact, only: [:show, :edit, :update, :destroy]
10
+ # layout 'layouts/phcmemberspro/members/members_all.html.erb'
17
11
 
18
12
  # Member Contact Index
19
13
  def index
20
14
  main = Members::Main.find(params[:main_id])
21
- @members_contact = main.contacts
15
+ @members_contacts = main.contacts.order('mcprovince ASC')
22
16
  end
23
17
 
24
18
  # Detailed Member Contact Information
25
19
  def show
20
+ @versions = PaperTrail::Version.where(item_id: params[:id], item_type: 'Phcmembers::Members::Contact')
26
21
  main = Members::Main.find(params[:main_id])
27
22
  @members_contact = main.contacts.find(params[:id])
28
23
  end
@@ -31,10 +26,6 @@ module Phcmembers
31
26
  def new
32
27
  main = Members::Main.find(params[:main_id])
33
28
  @members_contact = main.contacts.build
34
- respond_to do |format|
35
- format.html # new.html.erb
36
- format.xml { render :xml => @members_contact }
37
- end
38
29
  end
39
30
 
40
31
  # Edit Contact
@@ -48,7 +39,7 @@ module Phcmembers
48
39
  @main = Members::Main.find(params[:main_id])
49
40
  @members_contact = @main.contacts.create(members_contact_params)
50
41
  if @members_contact.save
51
- redirect_to members_main_contacts_path, notice: 'Member contact information was successfully created.'
42
+ redirect_to members_main_contacts_path, notice: 'Member contact was successfully created.'
52
43
  else
53
44
  render :new
54
45
  end
@@ -68,11 +59,16 @@ module Phcmembers
68
59
  @main = Members::Main.find(params[:main_id])
69
60
  @members_contact = @main.contacts.find(params[:id])
70
61
  @members_contact.destroy
71
- redirect_to members_main_contacts_path, notice: 'Member contact information was successfully destroyed.'
62
+ redirect_to members_main_contacts_path, notice: 'Member contact was successfully destroyed.'
72
63
  end
73
64
 
74
65
  private
75
66
 
67
+ # Get Main Member Info
68
+ def phc_member_mains_info
69
+ @members_main = Members::Main.find(params[:main_id])
70
+ end
71
+
76
72
  # Common Callbacks
77
73
  def set_members_contact
78
74
  @members_contact = Members::Contact.find(params[:id])
@@ -80,7 +76,7 @@ module Phcmembers
80
76
 
81
77
  # White List
82
78
  def members_contact_params
83
- params.require(:members_contact).permit(:mccontactname, :mccompanyname, :mcaddressl1, :mcaddressl2, :mccity, :mcprovince, :mccountry, :mcpostalcode, :mcphone, :mcwebsite, :mcemail, :main_id)
79
+ params.require(:members_contact).permit(:mcaddressl1, :mcaddressl2, :mccity, :mcprovince, :mccountry, :mcpostalcode, :mctype, :main_id)
84
80
  end
85
81
 
86
82
  end