Sha256: a98b89c3d5476c6e3ccbd9775a9a57299063ba909d71bed674ccc5b01a678cf1

Contents?: true

Size: 1.81 KB

Versions: 3

Compression:

Stored size: 1.81 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_and_belongs_to_many :categories, class_name: 'Phcmemberspro::Directory::Category', :join_table => 'categories_listings'
    
    # Validation for Form Fields
    validates :listing_companyname,
      presence: true,
      length: { minimum: 2 }
    
    validates :listing_contactname,
      presence: true,
      length: { minimum: 2 }
    
    validates :listing_addressl1,
      length: { minimum: 3 }
    
    validates :listing_city,
      presence: true,
      length: { minimum: 3 }
    
    validates :listing_country,
      presence: true,
      length: { minimum: 2 }
    
    validates :listing_province,
      presence: true,
      length: { minimum: 2 }
    
    validates :listing_postalcode,
      presence: true,
      length: { minimum: 3 }
    
    validates :listing_contactemail,
    	presence: true,
    	length: { minimum: 3 },
    	format: { with: /\A[^@\s]+@([^@\s]+\.)+[^@\s]+\z/, message: "Please follow this Email format: *****@********.***" }
    
    validates :listing_website,
    	presence: true,
    	length: { minimum: 6 }
    
    validates :listing_phone,
    	presence: true,
    	format: { with: /\A(\+\d{1,2}\s)?\(?\d{3}\)?[\s.-]?\d{3}[\s.-]?\d{4}\z/, message: "Please Follow this Phone Member Format: ***-***-****" }
    
    # Clean URL Define
    friendly_id :phcmelisting_erspro_listings_slug, use: [:slugged, :finders]
    
    # Define for Multiple Records
    def phcmelisting_erspro_listings_slug
    	[
    		[:org_id, :listing_companyname, :listing_contactname]
    	]
    end

  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
phcmemberspro-85.0.0 app/models/phcmemberspro/member/listing.rb
phcmemberspro-84.1.0 app/models/phcmemberspro/member/listing.rb
phcmemberspro-84.0.0 app/models/phcmemberspro/member/listing.rb