Show confirmation message when creating/updating/deleting Schedules

This commit is contained in:
Rob Harrington
2017-03-02 12:49:35 +11:00
parent 877a5f27d1
commit 77a50eac42
3 changed files with 16 additions and 1 deletions

View File

@@ -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?

View File

@@ -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)

View File

@@ -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