phcmembers 13.0.0 → 14.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 +1 -2
- data/Rakefile +1 -1
- data/app/models/phcmembers/directory/category.rb +9 -10
- data/app/models/phcmembers/directory/categorylisting.rb +0 -3
- data/app/models/phcmembers/member/address.rb +19 -19
- data/app/models/phcmembers/member/listing.rb +24 -23
- data/app/models/phcmembers/member/profile.rb +22 -21
- data/app/views/layouts/phcmembers/components/backend/footer/_footer.html.erb +1 -1
- data/app/views/phcmembers/directory/categories/components/_category_list.html.erb +1 -1
- data/app/views/phcmembers/modules/dashboards/index.html.erb +1 -1
- data/config/initializers/friendly_id.rb +1 -1
- data/config/locales/en.yml +8 -8
- data/config/routes.rb +0 -3
- data/db/migrate/20170509002355_create_phcmembers_friendly_id_slugs.rb +14 -11
- data/db/migrate/20170517064030_create_phcmembers_profile_versions.rb +3 -0
- data/db/migrate/20170517064049_create_phcmembers_listing_versions.rb +2 -0
- data/db/migrate/20170517064114_create_phcmembers_address_versions.rb +2 -0
- data/db/migrate/20170517064208_create_phcmembers_categorylisting_versions.rb +2 -0
- data/db/migrate/20170517064427_create_phcmembers_category_versions.rb +2 -0
- data/lib/phcmembers/version.rb +1 -1
- metadata +2 -3
- data/app/models/phcmembers/categorylisting_versions.rb +0 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a2f08402451e864e3f4876cbf9152151920086f6
|
4
|
+
data.tar.gz: 28083ca2a04c817fa159bbc3c8c0db20d335a72f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 137e7bc09e71cff7a26e3ab851631ee3ef8518315a4fc46835e7f43f112ba97f96f1ab6813de6a051a84fdc8cb6757f09c83295e68ef455277446fb836965c3e
|
7
|
+
data.tar.gz: 122551950841c6b1d0e81d710d0b3a53f93be93daaa186965bea9a5ac3ad9e984e2c39b1270e22d87912936eb5642743bc417516fc712b6575700f7918b66d8c
|
data/README.md
CHANGED
@@ -11,11 +11,10 @@ PHCMembers(2017) rails engine to manage membership information and directory lis
|
|
11
11
|
* Directory and listings manager with a web directory API.
|
12
12
|
* Member's list, contact information, and listings manager.
|
13
13
|
* Easy app integration with views that can be customized.
|
14
|
-
* User authentication will activate when Devise is installed.
|
15
14
|
|
16
15
|
#### Step 1 - Add PHCMembers to your gemfile and run command
|
17
16
|
|
18
|
-
gem 'phcmembers', '~>
|
17
|
+
gem 'phcmembers', '~> 14.0'
|
19
18
|
bundle install
|
20
19
|
|
21
20
|
#### Step 2 - Add PHCMembers Database Tables
|
data/Rakefile
CHANGED
@@ -12,18 +12,17 @@ module Phcmembers
|
|
12
12
|
has_many :listings, class_name: 'Phcmembers::Member::Listing', :through => :categorylistings
|
13
13
|
|
14
14
|
validates :catname,
|
15
|
-
|
15
|
+
length: { minimum: 3 }
|
16
16
|
|
17
|
-
|
18
|
-
|
17
|
+
# Clean URL Define
|
18
|
+
friendly_id :phcmembers_category_slug, use: [:slugged, :finders]
|
19
19
|
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
end
|
20
|
+
# Define for Multiple Records
|
21
|
+
def phcmembers_category_slug
|
22
|
+
[
|
23
|
+
:catname
|
24
|
+
]
|
25
|
+
end
|
27
26
|
|
28
27
|
end
|
29
28
|
end
|
@@ -1,9 +1,6 @@
|
|
1
1
|
module Phcmembers
|
2
2
|
class Directory::Categorylisting < ApplicationRecord
|
3
3
|
|
4
|
-
# Add Paper Trail
|
5
|
-
has_paper_trail :class_name => 'Phcmembers::CategoryListingVersions'
|
6
|
-
|
7
4
|
# Model Relationships
|
8
5
|
belongs_to :listing, class_name: 'Phcmembers::Member::Listing'
|
9
6
|
belongs_to :category, class_name: 'Phcmembers::Directory::Category'
|
@@ -12,37 +12,37 @@ module Phcmembers
|
|
12
12
|
|
13
13
|
# Validation for Form Fields
|
14
14
|
validates :mcaddressl1,
|
15
|
-
|
16
|
-
|
15
|
+
presence: true,
|
16
|
+
length: { minimum: 2 }
|
17
17
|
|
18
18
|
validates :mccity,
|
19
|
-
|
19
|
+
length: { minimum: 3 }
|
20
20
|
|
21
21
|
validates :mcprovince,
|
22
|
-
|
23
|
-
|
22
|
+
presence: true,
|
23
|
+
length: { minimum: 2 }
|
24
24
|
|
25
25
|
validates :mccountry,
|
26
|
-
|
27
|
-
|
26
|
+
presence: true,
|
27
|
+
length: { minimum: 2 }
|
28
28
|
|
29
29
|
validates :mcpostalcode,
|
30
|
-
|
31
|
-
|
30
|
+
presence: true,
|
31
|
+
length: { minimum: 3 }
|
32
32
|
|
33
33
|
validates :mctype,
|
34
|
-
|
35
|
-
|
34
|
+
presence: true,
|
35
|
+
length: { minimum: 2 }
|
36
36
|
|
37
37
|
# Clean URL Define
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
38
|
+
friendly_id :phcmembers_address_slug, use: [:slugged, :finders]
|
39
|
+
|
40
|
+
# Define for Multiple Records
|
41
|
+
def phcmembers_address_slug
|
42
|
+
[
|
43
|
+
[:mcaddressl1, :mccity, :mcprovince]
|
44
|
+
]
|
45
|
+
end
|
46
46
|
|
47
47
|
end
|
48
48
|
end
|
@@ -2,55 +2,56 @@ module Phcmembers
|
|
2
2
|
class Member::Listing < ApplicationRecord
|
3
3
|
|
4
4
|
# Clean URL Initialize
|
5
|
-
|
5
|
+
extend FriendlyId
|
6
6
|
|
7
|
-
|
8
|
-
|
7
|
+
# Add Paper Trail
|
8
|
+
has_paper_trail :class_name => 'Phcmembers::ListingVersions'
|
9
9
|
|
10
|
-
|
10
|
+
# Model Relationships
|
11
11
|
belongs_to :profile, class_name: 'Phcmembers::Member::Profile'
|
12
12
|
has_many :categorylistings, class_name: 'Phcmembers::Directory::Categorylisting', dependent: :destroy
|
13
13
|
has_many :categories, class_name: 'Phcmembers::Directory::Category', :through => :categorylistings
|
14
14
|
|
15
15
|
# Validation for Form Fields
|
16
16
|
validates :mbcompanyname,
|
17
|
-
|
18
|
-
|
17
|
+
presence: true,
|
18
|
+
length: { minimum: 2 }
|
19
19
|
|
20
20
|
validates :mbcontactname,
|
21
|
-
|
22
|
-
|
21
|
+
presence: true,
|
22
|
+
length: { minimum: 2 }
|
23
23
|
|
24
24
|
validates :mbaddressl1,
|
25
|
-
|
25
|
+
length: { minimum: 3 }
|
26
26
|
|
27
27
|
validates :mbcity,
|
28
|
-
|
29
|
-
|
28
|
+
presence: true,
|
29
|
+
length: { minimum: 3 }
|
30
30
|
|
31
31
|
validates :mbcountry,
|
32
|
-
|
33
|
-
|
32
|
+
presence: true,
|
33
|
+
length: { minimum: 2 }
|
34
34
|
|
35
35
|
validates :mbprovince,
|
36
|
-
|
37
|
-
|
36
|
+
presence: true,
|
37
|
+
length: { minimum: 2 }
|
38
38
|
|
39
39
|
validates :mbpostalcode,
|
40
|
-
|
41
|
-
|
40
|
+
presence: true,
|
41
|
+
length: { minimum: 3 }
|
42
42
|
|
43
43
|
validates :mbcontactemail,
|
44
|
-
|
45
|
-
|
44
|
+
presence: true,
|
45
|
+
length: { minimum: 3 },
|
46
|
+
format: { with: /\A[^@\s]+@([^@\s]+\.)+[^@\s]+\z/, message: "Please follow this Email format: *****@********.***" }
|
46
47
|
|
47
48
|
validates :mbwebsite,
|
48
|
-
|
49
|
-
|
49
|
+
presence: true,
|
50
|
+
length: { minimum: 6 }
|
50
51
|
|
51
52
|
validates :mbphone,
|
52
|
-
|
53
|
-
|
53
|
+
presence: true,
|
54
|
+
format: { with: /\A(\+\d{1,2}\s)?\(?\d{3}\)?[\s.-]?\d{3}[\s.-]?\d{4}\z/, message: "Please Follow this Phone Number Format: ***-***-****" }
|
54
55
|
|
55
56
|
# Clean URL Define
|
56
57
|
friendly_id :phcmembers_listings_slug, use: [:slugged, :finders]
|
@@ -2,38 +2,39 @@ module Phcmembers
|
|
2
2
|
class Member::Profile < ApplicationRecord
|
3
3
|
|
4
4
|
# Clean URL Initialize
|
5
|
-
|
5
|
+
extend FriendlyId
|
6
6
|
|
7
|
-
|
8
|
-
|
7
|
+
# Add Paper Trail
|
8
|
+
has_paper_trail :class_name => 'Phcmembers::ProfileVersions'
|
9
9
|
|
10
|
-
|
11
|
-
|
12
|
-
|
10
|
+
# Gravatar
|
11
|
+
include Gravtastic
|
12
|
+
gravtastic :memail
|
13
13
|
|
14
|
-
|
14
|
+
# Model Relationships
|
15
15
|
has_many :addresses, class_name: 'Phcmembers::Member::Address'
|
16
16
|
has_many :listings, class_name: 'Phcmembers::Member::Listing'
|
17
17
|
|
18
18
|
# Validation for Form Fields
|
19
|
-
|
20
|
-
|
21
|
-
|
19
|
+
validates :mfirstname,
|
20
|
+
presence: true,
|
21
|
+
length: { minimum: 1 }
|
22
22
|
|
23
|
-
|
24
|
-
|
25
|
-
|
23
|
+
validates :mlastname,
|
24
|
+
presence: true,
|
25
|
+
length: { minimum: 1 }
|
26
26
|
|
27
|
-
|
28
|
-
|
27
|
+
validates :mtitle,
|
28
|
+
length: { minimum: 2 }
|
29
29
|
|
30
|
-
|
31
|
-
|
32
|
-
|
30
|
+
validates :memail,
|
31
|
+
presence: true,
|
32
|
+
length: { minimum: 6 },
|
33
|
+
format: { with: /\A[^@\s]+@([^@\s]+\.)+[^@\s]+\z/, message: "Please follow this Email format: *****@********.***" }
|
33
34
|
|
34
|
-
|
35
|
-
|
36
|
-
|
35
|
+
validates :mphone,
|
36
|
+
presence: true,
|
37
|
+
format: { with: /\A(\+\d{1,2}\s)?\(?\d{3}\)?[\s.-]?\d{3}[\s.-]?\d{4}\z/, message: "Please Follow this Phone Number Format: ***-***-****" }
|
37
38
|
|
38
39
|
# Clean URL Define
|
39
40
|
friendly_id :phcmembers_profiles_slug, use: [:slugged, :finders]
|
@@ -1,4 +1,4 @@
|
|
1
1
|
<div class="pull-right hidden-xs">
|
2
|
-
<b>Version</b>
|
2
|
+
<b>Version</b> 14.0.0 - 05-29-<%= Date.today.year %>
|
3
3
|
</div>
|
4
4
|
<strong>© 2012-<%= Time.now.year %> <%= link_to "https://phcnetworks.net", target: "_blank", rel: "nofollow" do %>PHCNetworks<% end %></strong>
|
@@ -1,7 +1,7 @@
|
|
1
1
|
<ul class="list-group">
|
2
2
|
<% @directory_category.listings.each do |member_listing| %>
|
3
3
|
<li class="list-group-item">
|
4
|
-
<%= link_to member_listing.
|
4
|
+
<%= link_to member_listing.mbcompanyname, phcmembers.member_profile_listing_path(member_listing.profile, member_listing) %>
|
5
5
|
</li>
|
6
6
|
<% end %>
|
7
7
|
</ul>
|
@@ -46,7 +46,7 @@
|
|
46
46
|
<span class="info-box-icon bg-aqua"><i class="ion ion-ios-gear-outline"></i></span>
|
47
47
|
<div class="info-box-content">
|
48
48
|
<span class="info-box-text"><%= "Address".pluralize(2) %></span>
|
49
|
-
<span class="info-box-number"><%= @member_address.count(:all)
|
49
|
+
<span class="info-box-number"><%= @member_address.count(:all) %></span>
|
50
50
|
</div>
|
51
51
|
</div>
|
52
52
|
</div>
|
data/config/locales/en.yml
CHANGED
@@ -1,9 +1,9 @@
|
|
1
1
|
en:
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
2
|
+
activerecord:
|
3
|
+
attributes:
|
4
|
+
member/profiles:
|
5
|
+
mfirstname: "Member First Name"
|
6
|
+
mlastname: "Member Last Name"
|
7
|
+
mtitle: "Member Title"
|
8
|
+
memail: "Member Email"
|
9
|
+
mphone: "Member Phone Number"
|
data/config/routes.rb
CHANGED
@@ -11,13 +11,10 @@ Phcmembers::Engine.routes.draw do
|
|
11
11
|
end
|
12
12
|
end
|
13
13
|
|
14
|
-
# Application Client Backend
|
15
|
-
|
16
14
|
# Members Section
|
17
15
|
namespace :member do
|
18
16
|
# Members Main Index
|
19
17
|
root 'profiles#index'
|
20
|
-
|
21
18
|
# Member Routes
|
22
19
|
resources :profiles, class_name: 'Phcmembers::Member::Profile' do
|
23
20
|
resources :listings, class_name: 'Phcmembers::Member::Listing'
|
@@ -1,15 +1,18 @@
|
|
1
1
|
class CreatePhcmembersFriendlyIdSlugs < ActiveRecord::Migration[5.1]
|
2
2
|
def change
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
3
|
+
|
4
|
+
create_table :phcmembers_friendly_id_slugs do |t|
|
5
|
+
t.string :slug, :null => false
|
6
|
+
t.integer :sluggable_id, :null => false
|
7
|
+
t.string :sluggable_type, :limit => 50
|
8
|
+
t.string :scope
|
9
|
+
t.datetime :created_at
|
10
|
+
end
|
11
|
+
|
12
|
+
add_index :phcmembers_friendly_id_slugs, :sluggable_id
|
13
|
+
add_index :phcmembers_friendly_id_slugs, [:slug, :sluggable_type], length: { slug: 140, sluggable_type: 50 }
|
14
|
+
add_index :phcmembers_friendly_id_slugs, [:slug, :sluggable_type, :scope], name: 'fri_id_slugable_scope_type', length: { slug: 70, sluggable_type: 50, scope: 70 }, unique: true
|
15
|
+
add_index :phcmembers_friendly_id_slugs, :sluggable_type
|
16
|
+
|
14
17
|
end
|
15
18
|
end
|
@@ -1,6 +1,7 @@
|
|
1
1
|
class CreatePhcmembersProfileVersions < ActiveRecord::Migration[5.1]
|
2
2
|
TEXT_BYTES = 1_073_741_823
|
3
3
|
def change
|
4
|
+
|
4
5
|
create_table :phcmembers_profile_versions do |t|
|
5
6
|
t.string :item_type, {:null=>false}
|
6
7
|
t.integer :item_id, null: false
|
@@ -9,6 +10,8 @@ class CreatePhcmembersProfileVersions < ActiveRecord::Migration[5.1]
|
|
9
10
|
t.text :object, limit: TEXT_BYTES
|
10
11
|
t.datetime :created_at
|
11
12
|
end
|
13
|
+
|
12
14
|
add_index :phcmembers_profile_versions, %i(item_type item_id), :name => 'mem_profile_versions'
|
15
|
+
|
13
16
|
end
|
14
17
|
end
|
@@ -1,6 +1,7 @@
|
|
1
1
|
class CreatePhcmembersListingVersions < ActiveRecord::Migration[5.1]
|
2
2
|
TEXT_BYTES = 1_073_741_823
|
3
3
|
def change
|
4
|
+
|
4
5
|
create_table :phcmembers_listing_versions do |t|
|
5
6
|
t.string :item_type, {:null=>false}
|
6
7
|
t.integer :item_id, null: false
|
@@ -10,5 +11,6 @@ class CreatePhcmembersListingVersions < ActiveRecord::Migration[5.1]
|
|
10
11
|
t.datetime :created_at
|
11
12
|
end
|
12
13
|
add_index :phcmembers_listing_versions, %i(item_type item_id), :name => 'mem_listing_versions'
|
14
|
+
|
13
15
|
end
|
14
16
|
end
|
@@ -1,6 +1,7 @@
|
|
1
1
|
class CreatePhcmembersAddressVersions < ActiveRecord::Migration[5.1]
|
2
2
|
TEXT_BYTES = 1_073_741_823
|
3
3
|
def change
|
4
|
+
|
4
5
|
create_table :phcmembers_address_versions do |t|
|
5
6
|
t.string :item_type, {:null=>false}
|
6
7
|
t.integer :item_id, null: false
|
@@ -10,5 +11,6 @@ class CreatePhcmembersAddressVersions < ActiveRecord::Migration[5.1]
|
|
10
11
|
t.datetime :created_at
|
11
12
|
end
|
12
13
|
add_index :phcmembers_address_versions, %i(item_type item_id), :name => 'mem_address_versions'
|
14
|
+
|
13
15
|
end
|
14
16
|
end
|
@@ -1,6 +1,7 @@
|
|
1
1
|
class CreatePhcmembersCategorylistingVersions < ActiveRecord::Migration[5.1]
|
2
2
|
TEXT_BYTES = 1_073_741_823
|
3
3
|
def change
|
4
|
+
|
4
5
|
create_table :phcmembers_categorylisting_versions do |t|
|
5
6
|
t.string :item_type, {:null=>false}
|
6
7
|
t.integer :item_id, null: false
|
@@ -10,5 +11,6 @@ class CreatePhcmembersCategorylistingVersions < ActiveRecord::Migration[5.1]
|
|
10
11
|
t.datetime :created_at
|
11
12
|
end
|
12
13
|
add_index :phcmembers_categorylisting_versions, %i(item_type item_id), :name => 'mem_catlisting_versions'
|
14
|
+
|
13
15
|
end
|
14
16
|
end
|
@@ -1,6 +1,7 @@
|
|
1
1
|
class CreatePhcmembersCategoryVersions < ActiveRecord::Migration[5.1]
|
2
2
|
TEXT_BYTES = 1_073_741_823
|
3
3
|
def change
|
4
|
+
|
4
5
|
create_table :phcmembers_category_versions do |t|
|
5
6
|
t.string :item_type, {:null=>false}
|
6
7
|
t.integer :item_id, null: false
|
@@ -10,5 +11,6 @@ class CreatePhcmembersCategoryVersions < ActiveRecord::Migration[5.1]
|
|
10
11
|
t.datetime :created_at
|
11
12
|
end
|
12
13
|
add_index :phcmembers_category_versions, %i(item_type item_id), :name => 'mem_category_versions'
|
14
|
+
|
13
15
|
end
|
14
16
|
end
|
data/lib/phcmembers/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: phcmembers
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 14.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- BradPotts
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-05-
|
11
|
+
date: 2017-05-29 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -670,7 +670,6 @@ files:
|
|
670
670
|
- app/models/phcmembers/address_versions.rb
|
671
671
|
- app/models/phcmembers/application_record.rb
|
672
672
|
- app/models/phcmembers/category_versions.rb
|
673
|
-
- app/models/phcmembers/categorylisting_versions.rb
|
674
673
|
- app/models/phcmembers/connections.rb
|
675
674
|
- app/models/phcmembers/directory.rb
|
676
675
|
- app/models/phcmembers/directory/category.rb
|