mirror of
https://github.com/openfoodfoundation/openfoodnetwork
synced 2026-01-24 20:36:49 +00:00
Show confirmation message when creating/updating/deleting Schedules
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
angular.module("admin.resources").factory "Schedules", ($q, $injector, RequestMonitor, ScheduleResource, OrderCycles, Dereferencer) ->
|
||||
angular.module("admin.resources").factory "Schedules", ($q, $injector, RequestMonitor, ScheduleResource, OrderCycles, Dereferencer, StatusMessage) ->
|
||||
new class Schedules
|
||||
# all: []
|
||||
byID: {}
|
||||
@@ -17,6 +17,7 @@ angular.module("admin.resources").factory "Schedules", ($q, $injector, RequestMo
|
||||
@byID[schedule.id] = schedule if schedule.id?
|
||||
Dereferencer.dereference(schedule.order_cycles, OrderCycles.byID)
|
||||
orderCycle.schedules.push(schedule) for orderCycle in schedule.order_cycles
|
||||
StatusMessage.display 'success', "#{t('admin.order_cycles.index.created_schedule')}: '#{schedule.name}'"
|
||||
|
||||
update: (params) =>
|
||||
ScheduleResource.update params, (schedule) =>
|
||||
@@ -28,6 +29,7 @@ angular.module("admin.resources").factory "Schedules", ($q, $injector, RequestMo
|
||||
for orderCycle in schedule.order_cycles when orderCycle.id not in @byID[schedule.id].order_cycle_ids
|
||||
orderCycle.schedules.push(@byID[schedule.id])
|
||||
angular.extend(@byID[schedule.id], schedule)
|
||||
StatusMessage.display 'success', "#{t('admin.order_cycles.index.updated_schedule')}: '#{schedule.name}'"
|
||||
|
||||
remove: (schedule) ->
|
||||
params = id: schedule.id
|
||||
@@ -36,6 +38,7 @@ angular.module("admin.resources").factory "Schedules", ($q, $injector, RequestMo
|
||||
if orderCycle.schedules # Only if we need to update the schedules
|
||||
orderCycle.schedules.splice(i, 1) for s, i in orderCycle.schedules by -1 when s.id == schedule.id
|
||||
delete @byID[schedule.id]
|
||||
StatusMessage.display 'success', "#{t('admin.order_cycles.index.deleted_schedule')}: '#{schedule.name}'"
|
||||
, (response) =>
|
||||
errors = response.data.errors
|
||||
if errors?
|
||||
|
||||
@@ -704,6 +704,9 @@ en:
|
||||
create_schedule: Create Schedule
|
||||
update_schedule: Update Schedule
|
||||
delete_schedule: Delete Schedule
|
||||
created_schedule: Created schedule
|
||||
updated_schedule: Updated schedule
|
||||
deleted_schedule: Deleted schedule
|
||||
schedule_name_placeholder: Schedule Name
|
||||
name_required_error: Please enter a name for this schedule
|
||||
no_order_cycles_error: Please select at least one order cycle (drag and drop)
|
||||
|
||||
@@ -41,6 +41,9 @@ feature 'Schedules', js: true do
|
||||
click_button "Create Schedule"
|
||||
end
|
||||
|
||||
save_bar = find("#save-bar")
|
||||
expect(save_bar).to have_content "Created schedule: 'Fortnightly'"
|
||||
|
||||
within ".order-cycle-#{oc1.id} td.schedules" do
|
||||
expect(page).to have_selector "a", text: "Weekly"
|
||||
expect(page).to have_selector "a", text: "Fortnightly"
|
||||
@@ -74,6 +77,9 @@ feature 'Schedules', js: true do
|
||||
click_button "Update Schedule"
|
||||
end
|
||||
|
||||
save_bar = find("#save-bar")
|
||||
expect(save_bar).to have_content "Updated schedule: 'Weekly'"
|
||||
|
||||
within ".order-cycle-#{oc1.id} td.schedules" do
|
||||
expect(page).to have_selector "a", text: "Weekly"
|
||||
expect(page).to have_selector "a", text: "Fortnightly"
|
||||
@@ -103,6 +109,9 @@ feature 'Schedules', js: true do
|
||||
click_button "Delete Schedule"
|
||||
end
|
||||
|
||||
save_bar = find("#save-bar")
|
||||
expect(save_bar).to have_content "Deleted schedule: 'Weekly'"
|
||||
|
||||
within ".order-cycle-#{oc1.id} td.schedules" do
|
||||
expect(page).to have_no_selector "a", text: "Weekly"
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user