mirror of
https://github.com/Growstuff/growstuff.git
synced 2025-12-30 13:07:49 -05:00
* Ability to like activities * Ability to like activities * Add likeable everywhere * Refactor * Remove extra newline * Typo * Use classes, not IDs * Explicitly wait for ajax * Fix tests * Move likes under owner * Add separation * Move harvest likes near actions * Rearrange harvests * Render likes under owner * Make harvest consistent with other views * Move planting detail into header * Move detail into header * Move detail into header * Revert * Fix header * Move likes into jumotrons * Fix name * Change all actions to be after likes and a span * Cleanup * Cleanup * Cleanup * Cleanup * i18n and accessibility * Fix name * Temporarily make ack into a div * Update app/views/photos/_actions.html.haml
34 lines
853 B
Ruby
34 lines
853 B
Ruby
# frozen_string_literal: true
|
|
|
|
class Activity < ApplicationRecord
|
|
extend FriendlyId
|
|
include Ownable
|
|
include Finishable
|
|
include SearchActivities
|
|
include Likeable
|
|
|
|
belongs_to :garden, optional: true
|
|
belongs_to :planting, optional: true
|
|
|
|
friendly_id :activity_slug, use: %i(slugged finders)
|
|
|
|
CATEGORIES = ["General", "Weeding", "Soil Cultivation", "Fertilizing", "Pruning", "Topical Application/Treating", "Watering"]
|
|
|
|
validates :name, presence: true
|
|
validates :category, inclusion: { in: CATEGORIES }, presence: true
|
|
validates :owner, presence: true
|
|
|
|
validates :slug, uniqueness: true
|
|
|
|
delegate :location, :latitude, :longitude, to: :owner
|
|
delegate :login_name, :slug, :location, to: :owner, prefix: true
|
|
|
|
def activity_slug
|
|
"#{owner.login_name}-#{name}-#{id}".downcase.tr(' ', '-')
|
|
end
|
|
|
|
def to_s
|
|
name
|
|
end
|
|
end
|