Sha256: 74517cf457c0f982fb44ffe0b053691371b3cc608d98d420edac5abeb4f1f056

Contents?: true

Size: 1.72 KB

Versions: 57

Compression:

Stored size: 1.72 KB

Contents

module Phcmemberspro
  class Member::Listing < ApplicationRecord

		# Clean URL Initialize
		extend FriendlyId

		# Add Paper Trail
		has_paper_trail :class_name => 'Phcmemberspro::ListingVersions'

		# Model Relationships
    belongs_to :profile, class_name: 'Phcmemberspro::Member::Profile'
    has_many :categorylistings, class_name: 'Phcmemberspro::Directory::Categorylisting', dependent: :destroy
    has_many :categories, class_name: 'Phcmemberspro::Directory::Category', :through => :categorylistings

    # Validation for Form Fields
    validates :mbcompanyname,
      presence: true,
      length: { minimum: 2 }

    validates :mbcontactname,
      presence: true,
      length: { minimum: 2 }

    validates :mbaddressl1,
      length: { minimum: 3 }

    validates :mbcity,
      presence: true,
      length: { minimum: 3 }

    validates :mbcountry,
      presence: true,
      length: { minimum: 2 }

    validates :mbprovince,
      presence: true,
      length: { minimum: 2 }

    validates :mbpostalcode,
      presence: true,
      length: { minimum: 3 }

    validates :mbcontactemail,
			presence: true,
			length: { minimum: 3 },
			format: { with: /\A[^@\s]+@([^@\s]+\.)+[^@\s]+\z/, message: "Please follow this Email format: *****@********.***" }

		validates :mbwebsite,
			presence: true,
			length: { minimum: 6 }

		validates :mbphone,
			presence: true,
			format: { with: /\A(\+\d{1,2}\s)?\(?\d{3}\)?[\s.-]?\d{3}[\s.-]?\d{4}\z/, message: "Please Follow this Phone Number Format: ***-***-****" }

    # Clean URL Define
		friendly_id :phcmemberspro_listings_slug, use: [:slugged, :finders]

		# Define for Multiple Records
		def phcmemberspro_listings_slug
			[
				[:org_id, :mbcompanyname, :mbcontactname]
			]
		end

	end
end

Version data entries

57 entries across 57 versions & 1 rubygems

Version Path
phcmemberspro-76.0.0 app/models/phcmemberspro/member/listing.rb
phcmemberspro-74.1.0 app/models/phcmemberspro/member/listing.rb
phcmemberspro-74.0.0 app/models/phcmemberspro/member/listing.rb
phcmemberspro-73.0.0 app/models/phcmemberspro/member/listing.rb
phcmemberspro-72.0.0 app/models/phcmemberspro/member/listing.rb
phcmemberspro-71.0.0 app/models/phcmemberspro/member/listing.rb
phcmemberspro-70.0.0 app/models/phcmemberspro/member/listing.rb
phcmemberspro-69.0.0 app/models/phcmemberspro/member/listing.rb
phcmemberspro-68.0.0 app/models/phcmemberspro/member/listing.rb
phcmemberspro-67.0.0 app/models/phcmemberspro/member/listing.rb
phcmemberspro-66.0.0 app/models/phcmemberspro/member/listing.rb
phcmemberspro-65.0.0 app/models/phcmemberspro/member/listing.rb
phcmemberspro-64.0.0 app/models/phcmemberspro/member/listing.rb
phcmemberspro-63.0.0 app/models/phcmemberspro/member/listing.rb
phcmemberspro-62.0.0 app/models/phcmemberspro/member/listing.rb
phcmemberspro-61.0.0 app/models/phcmemberspro/member/listing.rb
phcmemberspro-60.0.0 app/models/phcmemberspro/member/listing.rb
phcmemberspro-59.0.1 app/models/phcmemberspro/member/listing.rb
phcmemberspro-59.0.0 app/models/phcmemberspro/member/listing.rb
phcmemberspro-58.0.0 app/models/phcmemberspro/member/listing.rb