diff --git a/app/controllers/activities_controller.rb b/app/controllers/activities_controller.rb
index 8ca7f956e..3cb447def 100644
--- a/app/controllers/activities_controller.rb
+++ b/app/controllers/activities_controller.rb
@@ -32,6 +32,8 @@ class ActivitiesController < DataController
owner: current_member,
due_date: Date.today
)
+ @activity.name = params[:name] if params[:name]
+ @activity.due_date = params[:due_date] if params[:due_date]
if params[:garden_id]
@activity.garden = Garden.find_by(
owner: current_member,
@@ -63,7 +65,17 @@ class ActivitiesController < DataController
end
def update
- @activity.update(activity_params)
+ if @activity.update(activity_params)
+ if activity_params[:finished].present?
+ link = new_activity_path(
+ name: @activity.name,
+ garden_id: @activity.garden_id,
+ planting_id: @activity.planting_id,
+ due_date: 2.weeks.from_now.to_date
+ )
+ flash[:notice] = t('activities.finished_prompt_html', link: link).html_safe
+ end
+ end
respond_with @activity
end
diff --git a/app/controllers/gardens_controller.rb b/app/controllers/gardens_controller.rb
index 3d50dfa03..4f0bbd6aa 100644
--- a/app/controllers/gardens_controller.rb
+++ b/app/controllers/gardens_controller.rb
@@ -39,7 +39,10 @@ class GardensController < DataController
def create
@garden.owner_id = current_member.id
- flash[:notice] = I18n.t('gardens.created') if @garden.save
+ if @garden.save
+ link = new_activity_path(name: 'Weed the garden bed', garden_id: @garden.id, due_date: 2.weeks.from_now.to_date)
+ flash[:notice] = t('gardens.created_prompt_html', link: link).html_safe
+ end
respond_with(@garden)
end
diff --git a/app/controllers/plantings_controller.rb b/app/controllers/plantings_controller.rb
index c123fb869..8e6228163 100644
--- a/app/controllers/plantings_controller.rb
+++ b/app/controllers/plantings_controller.rb
@@ -83,7 +83,12 @@ class PlantingsController < DataController
end
def update
- @planting.update(planting_params)
+ if @planting.update(planting_params)
+ if planting_params[:finished].present? && @planting.garden.plantings.current.empty?
+ link = new_activity_path(name: 'Cultivate soil', garden_id: @planting.garden_id)
+ flash[:notice] = t('plantings.finished_prompt_html', link: link).html_safe
+ end
+ end
respond_with @planting
end
diff --git a/config/locales/en.yml b/config/locales/en.yml
index 0f37ed647..d0c1adc4d 100644
--- a/config/locales/en.yml
+++ b/config/locales/en.yml
@@ -125,6 +125,7 @@ en:
updated: Garden was successfully updated.
confirm_delete: All plantings associated with this garden will also be deleted. Are you sure?
confirm_deactivate: All plantings associated with this garden will be marked as finished. Are you sure?
+ created_prompt_html: "Garden was successfully created. Would you like to plan to weed this garden bed in two weeks?"
harvests:
created: Harvest was successfully created.
harvest_something: Harvest something
@@ -301,6 +302,7 @@ en:
finish_helper: >
An activity is finished when you've completed it, or it's otherwise
no longer possible.
+ finished_prompt_html: "Activity finished. Would you like to repeat this activity in two weeks?"
plantings:
badges:
days_until_finished: days until finished
@@ -325,6 +327,7 @@ en:
string: "%{crop} planting in %{garden} by %{owner}"
progress:
progress_0_not_planted_yet: 'Progress: 0% - not planted yet'
+ finished_prompt_html: "Planting was successfully updated. Would you like to plan a soil cultivation activity?"
posts:
write_blog_post: Write blog post
index:
diff --git a/spec/features/plantings/planting_a_crop_spec.rb b/spec/features/plantings/planting_a_crop_spec.rb
index 4aa8a243b..e171e2244 100644
--- a/spec/features/plantings/planting_a_crop_spec.rb
+++ b/spec/features/plantings/planting_a_crop_spec.rb
@@ -187,7 +187,7 @@ describe "Planting a crop", :js, :search do
check "finished"
fill_in "Finished date", with: "2015-06-25"
click_button "Save"
- expect(page).to have_content "planting was successfully updated"
+ expect(page).to have_content "Planting was successfully updated"
expect(page).to have_content "Finished"
end