mirror of
https://github.com/Growstuff/growstuff.git
synced 2026-10-31 19:29:26 -04:00
43 lines
1.4 KiB
Ruby
43 lines
1.4 KiB
Ruby
# frozen_string_literal: true
|
|
|
|
module ButtonsHelper
|
|
include IconsHelper
|
|
include PhotosHelper
|
|
|
|
def garden_plan_something_button(garden, classes: "btn btn-outline-secondary")
|
|
return unless can? :edit, garden
|
|
|
|
link_to new_job_path(garden_id: garden.id), class: classes do
|
|
job_icon + ' ' + t('buttons.new_job')
|
|
end
|
|
end
|
|
|
|
def garden_mark_active_button(garden, classes: 'btn')
|
|
link_to t('buttons.mark_as_active'),
|
|
garden_path(garden, garden: { active: 1 }),
|
|
method: :put, class: classes
|
|
end
|
|
|
|
def add_photo_button(model, classes: "btn btn-outline-secondary")
|
|
return unless can?(:edit, model) && can?(:create, Photo)
|
|
|
|
link_to new_photo_path_for(model), class: classes, data: photo_dialog_data(model) do
|
|
add_photo_icon + ' ' + t('buttons.add_photo')
|
|
end
|
|
end
|
|
|
|
def delete_button(model, message: 'are_you_sure', classes: 'btn btn-danger', icon: delete_icon)
|
|
return unless can? :destroy, model
|
|
|
|
link_to model, method: :delete, data: { confirm: t(message) }, class: classes do
|
|
icon + ' ' + t('buttons.delete')
|
|
end
|
|
end
|
|
|
|
# The page (or dialog) for adding a photo of this record.
|
|
# `params` go on the link too, such as the `label` of a seed packet photo.
|
|
def new_photo_path_for(model, **params)
|
|
new_photo_path(id: model.id, type: ActiveModel::Name.new(model.class).to_s.downcase, **params)
|
|
end
|
|
end
|