diff options
| author | cedricnjanga | 2017-12-14 18:47:44 +0100 |
|---|---|---|
| committer | Luc Donnet | 2017-12-21 13:54:07 +0100 |
| commit | f2d00fad59d97130babc95f37d495245f3d53f80 (patch) | |
| tree | 97b100f22b716ed00fd456b8834d80db129a9981 /app/controllers | |
| parent | 7f9a61d5823bd6611351fcc6dce79a2159976b34 (diff) | |
| download | chouette-core-f2d00fad59d97130babc95f37d495245f3d53f80.tar.bz2 | |
Refs #5301 First draft for Business Calendars
Diffstat (limited to 'app/controllers')
| -rw-r--r-- | app/controllers/business_calendars_controller.rb | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/app/controllers/business_calendars_controller.rb b/app/controllers/business_calendars_controller.rb new file mode 100644 index 000000000..ee990dfba --- /dev/null +++ b/app/controllers/business_calendars_controller.rb @@ -0,0 +1,33 @@ +class BusinessCalendarsController < ChouetteController + include PolicyChecker + include RansackDateFilter + defaults resource_class: BusinessCalendar + before_action only: [:index] { set_date_time_params("bounding_dates", Date) } + + def index + index! do + scope = self.ransack_period_range(scope: @business_calendars, error_message: t('compliance_check_sets.filters.error_period_filter'), query: :overlapping) + @q = scope.ransack(params[:q]) + @business_calendars = decorate_business_calendars(@q.result.paginate(page: params[:page], per_page: 30)) + end + end + + def show + show! do + @business_calendar = @business_calendar.decorate + end + end + + private + + def business_calendar_params + permitted_params = [:id, :name, :short_name, periods_attributes: [:id, :begin, :end, :_destroy], date_values_attributes: [:id, :value, :_destroy]] + params.require(:business_calendar).permit(*permitted_params) + end + + def decorate_business_calendars(business_calendars) + ModelDecorator.decorate( + business_calendars, + with: BusinessCalendarDecorator) + end +end
\ No newline at end of file |
