2019-08-22 17:09:13 +02:00
|
|
|
class Board < ApplicationRecord
|
2022-07-18 10:47:54 +02:00
|
|
|
include TenantOwnable
|
2022-05-08 16:36:35 +02:00
|
|
|
include Orderable
|
2024-04-05 18:23:31 +02:00
|
|
|
extend FriendlyId
|
2019-09-19 18:55:55 +02:00
|
|
|
|
2022-05-08 16:36:35 +02:00
|
|
|
has_many :posts, dependent: :destroy
|
2019-09-18 21:00:38 +02:00
|
|
|
|
2024-04-05 18:23:31 +02:00
|
|
|
before_save :sanitize_slug
|
|
|
|
|
|
2022-07-18 10:47:54 +02:00
|
|
|
validates :name, presence: true, uniqueness: { scope: :tenant_id }
|
2019-08-22 17:09:13 +02:00
|
|
|
validates :description, length: { in: 0..1024 }, allow_nil: true
|
2024-04-05 18:23:31 +02:00
|
|
|
|
2024-04-07 12:32:57 +02:00
|
|
|
friendly_id :name, use: :scoped, scope: :tenant_id
|
2024-04-05 18:23:31 +02:00
|
|
|
|
|
|
|
|
def sanitize_slug
|
|
|
|
|
self.slug = self.slug.parameterize
|
|
|
|
|
self.slug = nil if self.slug.blank? # friendly_id will generate a slug if it's nil
|
|
|
|
|
end
|
2019-08-22 17:09:13 +02:00
|
|
|
end
|