diff options
Diffstat (limited to 'app/models/organizations/organization.rb')
-rw-r--r-- | app/models/organizations/organization.rb | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/app/models/organizations/organization.rb b/app/models/organizations/organization.rb index 157b851e009..764378a5d19 100644 --- a/app/models/organizations/organization.rb +++ b/app/models/organizations/organization.rb @@ -13,6 +13,7 @@ module Organizations has_many :projects has_one :settings, class_name: "OrganizationSetting" + has_one :organization_detail, inverse_of: :organization, autosave: true has_many :organization_users, inverse_of: :organization has_many :users, through: :organization_users, inverse_of: :organizations @@ -23,13 +24,22 @@ module Organizations validates :path, presence: true, + uniqueness: { case_sensitive: false }, 'organizations/path': true, length: { minimum: 2, maximum: 255 } + delegate :description, :avatar, :avatar_url, to: :organization_detail + + accepts_nested_attributes_for :organization_detail + def self.default_organization find_by(id: DEFAULT_ORGANIZATION_ID) end + def organization_detail + super.presence || build_organization_detail + end + def default? id == DEFAULT_ORGANIZATION_ID end |