aboutsummaryrefslogtreecommitdiffstats
path: root/app/controllers
diff options
context:
space:
mode:
authorLouise Crow <louise.crow@gmail.com>2014-12-15 17:16:11 +0000
committerLouise Crow <louise.crow@gmail.com>2014-12-15 18:23:05 +0000
commit8e69a9372fb29bc8107ee8c542f9408efa54b76e (patch)
tree763662478955bb44584b6abd9a060c6aa7863f53 /app/controllers
parentceae995a5356a651f5e466afc2cd30ff70fe1555 (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.rb28
-rw-r--r--app/controllers/admin_holidays_controller.rb2
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