diff options
author | Louise Crow <louise.crow@gmail.com> | 2014-12-15 17:16:11 +0000 |
---|---|---|
committer | Louise Crow <louise.crow@gmail.com> | 2014-12-15 18:23:05 +0000 |
commit | 8e69a9372fb29bc8107ee8c542f9408efa54b76e (patch) | |
tree | 763662478955bb44584b6abd9a060c6aa7863f53 /app/controllers | |
parent | ceae995a5356a651f5e466afc2cd30ff70fe1555 (diff) |
Allow import of holidays from feed or built-in suggestions
Diffstat (limited to 'app/controllers')
-rw-r--r-- | app/controllers/admin_holiday_imports_controller.rb | 28 | ||||
-rw-r--r-- | app/controllers/admin_holidays_controller.rb | 2 |
2 files changed, 29 insertions, 1 deletions
diff --git a/app/controllers/admin_holiday_imports_controller.rb b/app/controllers/admin_holiday_imports_controller.rb new file mode 100644 index 000000000..8596936f0 --- /dev/null +++ b/app/controllers/admin_holiday_imports_controller.rb @@ -0,0 +1,28 @@ +class AdminHolidayImportsController < AdminController + + def new + @holiday_import = HolidayImport.new(holiday_import_params) + @holiday_import.populate if @holiday_import.valid? + end + + def create + @holiday_import = HolidayImport.new(holiday_import_params) + if @holiday_import.save + notice = "Holidays successfully imported" + redirect_to admin_holidays_path, :notice => notice + else + render :new + end + end + + private + + def holiday_import_params(key = :holiday_import) + if params[key] + params[key].slice(:holidays_attributes, :start_year, :end_year, :source, :ical_feed_url) + else + {} + end + end + +end diff --git a/app/controllers/admin_holidays_controller.rb b/app/controllers/admin_holidays_controller.rb index 3c4b37530..9177ebd44 100644 --- a/app/controllers/admin_holidays_controller.rb +++ b/app/controllers/admin_holidays_controller.rb @@ -7,7 +7,7 @@ class AdminHolidaysController < AdminController def new @holiday = Holiday.new if request.xhr? - render :partial => 'new_form' + render :partial => 'new_form', :locals => { :holiday => @holiday } else render :action => 'new' end |