aboutsummaryrefslogtreecommitdiffstats
path: root/app
diff options
context:
space:
mode:
Diffstat (limited to 'app')
-rw-r--r--app/assets/stylesheets/admin.scss24
-rw-r--r--app/controllers/admin_holidays_controller.rb14
-rw-r--r--app/views/admin_holidays/_holiday.html.erb7
-rw-r--r--app/views/admin_holidays/index.html.erb26
4 files changed, 71 insertions, 0 deletions
diff --git a/app/assets/stylesheets/admin.scss b/app/assets/stylesheets/admin.scss
index 104f10c75..69fce108c 100644
--- a/app/assets/stylesheets/admin.scss
+++ b/app/assets/stylesheets/admin.scss
@@ -119,5 +119,29 @@ body.admin {
padding: 3px 0;
}
+ /* Holidays */
+ .day_select {
+ width: 75px;
+ }
+
+ .holiday-description, .holiday-day, .holiday-buttons, .holiday-destroy {
+ padding: 6px 4px;
+ }
+
+ .holiday-description, .holiday-day, .holiday-buttons{
+ display: inline-block;
+ }
+
+ .holiday-description {
+ width: 300px;
+ }
+ .holiday-day {
+ width: 240px;
+ text-align: center;
+ }
+ .holiday-buttons{
+ width: 200px;
+ text-align: right;
+ }
}
diff --git a/app/controllers/admin_holidays_controller.rb b/app/controllers/admin_holidays_controller.rb
new file mode 100644
index 000000000..74fce2a89
--- /dev/null
+++ b/app/controllers/admin_holidays_controller.rb
@@ -0,0 +1,14 @@
+class AdminHolidaysController < AdminController
+
+ def index
+ get_all_holidays
+ end
+
+ private
+
+ def get_all_holidays
+ @holidays_by_year = Holiday.all.group_by { |holiday| holiday.day.year }
+ @years = @holidays_by_year.keys.sort.reverse
+ end
+
+end
diff --git a/app/views/admin_holidays/_holiday.html.erb b/app/views/admin_holidays/_holiday.html.erb
new file mode 100644
index 000000000..78818f411
--- /dev/null
+++ b/app/views/admin_holidays/_holiday.html.erb
@@ -0,0 +1,7 @@
+<td>
+ <div class="holiday-description"><%= holiday.description %></div>
+ <div class="holiday-day"><%= holiday.day %></div>
+ <div class="holiday-buttons">
+ <%= link_to 'Edit', edit_admin_holiday_path(holiday), :class => "btn edit-button" %>
+ </div>
+</td>
diff --git a/app/views/admin_holidays/index.html.erb b/app/views/admin_holidays/index.html.erb
new file mode 100644
index 000000000..be1f672de
--- /dev/null
+++ b/app/views/admin_holidays/index.html.erb
@@ -0,0 +1,26 @@
+<% @title = 'Public Holidays' %>
+<h1><%= @title %></h1>
+
+<div class="btn-toolbar">
+ <div class="btn-group">
+ <%= link_to 'New holiday', new_admin_holiday_path, :class => "btn btn-primary", :id => 'new-holiday-button' %>
+ </div>
+ <div class="btn-group">
+ <%= link_to 'Create holidays from suggestions or iCal feed', new_admin_holiday_import_path, :class => "btn btn-warning" %>
+ </div>
+</div>
+
+<div id="existing-holidays">
+ <% @years.each do |year| %>
+ <h2><%= year %></h2>
+ <table class="table table-striped table-condensed">
+ <tbody>
+ <% @holidays_by_year[year].sort_by(&:day).each do |holiday| %>
+ <%= content_tag_for(:tr, holiday, prefix=nil, 'data-target' => edit_admin_holiday_path(holiday)) do %>
+ <%= render :partial => 'holiday', :locals => { :holiday => holiday }%>
+ <% end %>
+ <% end %>
+ </tbody>
+ </table>
+ <% end %>
+</div>