diff options
| -rw-r--r-- | app/controllers/calendars_controller.rb | 26 | ||||
| -rw-r--r-- | app/models/concerns/timetable_support.rb | 3 | ||||
| -rw-r--r-- | app/views/calendars/_form.html.slim | 53 | 
3 files changed, 28 insertions, 54 deletions
| diff --git a/app/controllers/calendars_controller.rb b/app/controllers/calendars_controller.rb index a9f792bd0..d06652569 100644 --- a/app/controllers/calendars_controller.rb +++ b/app/controllers/calendars_controller.rb @@ -55,6 +55,32 @@ class CalendarsController < ChouetteController      end    end +  def month +    @date = params['date'] ? Date.parse(params['date']) : Date.today +    @calendar = resource +  end + +  def create +    create! do +      if @calendar.valid? && has_feature?('application_days_on_calendars') +        redirect_to([:edit, @calendar]) +        return +      end +    end +  end + +  def update +    if params[:calendar] +      super +    else +      state  = JSON.parse request.raw_post +      resource.state_update state +      respond_to do |format| +        format.json { render json: state, status: state['errors'] ? :unprocessable_entity : :ok } +      end +    end +  end +    private    def decorate_calendars(calendars) diff --git a/app/models/concerns/timetable_support.rb b/app/models/concerns/timetable_support.rb index d2bc99d51..8c49723fe 100644 --- a/app/models/concerns/timetable_support.rb +++ b/app/models/concerns/timetable_support.rb @@ -100,7 +100,8 @@ module TimetableSupport        period.period_start = Date.parse(item['period_start'])        period.period_end   = Date.parse(item['period_end']) -      period.save if period.is_a?(ActiveRecord::Base) && period.changed? + +      period.save if period === ActiveRecord::Base && period.changed?        item['id'] = period.id      end diff --git a/app/views/calendars/_form.html.slim b/app/views/calendars/_form.html.slim deleted file mode 100644 index bf9f4f3a7..000000000 --- a/app/views/calendars/_form.html.slim +++ /dev/null @@ -1,53 +0,0 @@ -= simple_form_for [@workgroup, @calendar], html: { class: 'form-horizontal', id: 'calendar_form' }, wrapper: :horizontal_form do |f| -  .row -    .col-lg-12 -      = f.input :name -      = f.input :short_name - -      - if policy(@calendar).share? -        .form-group.has_switch -          = f.label :shared, class: 'col-sm-4 col-xs-5 control-label' -          = f.input :shared, as: :boolean, checked_value: true, unchecked_value: false, label: content_tag(:span, t("#{@calendar.shared}"), class: 'switch-label', data: {checkedValue: t('true'), uncheckedValue: t('false')}), wrapper_html: { class: 'col-sm-8 col-xs-7'} - -  .separator -   -  .row -    .col-lg-12 -      .subform -        .nested-head -          .wrapper -            div -              .form-group -                label.control-label -                  = Calendar.human_attribute_name(:date) -            div - -        = f.simple_fields_for :date_values do |date_value| -          = render 'date_value_fields', f: date_value - -        .links.nested-linker -          = link_to_add_association t('simple_form.labels.calendar.add_a_date'), f, :date_values, class: 'btn btn-outline-primary' -   -  .separator -   -  .row -    .col-lg-12 -      .subform -        .nested-head -          .wrapper -            div -              .form-group -                label.control-label -                  = t('simple_form.labels.calendar.ranges.begin') -            div -              .form-group -                label.control-label -                  = t('simple_form.labels.calendar.ranges.end') -            div - -        = f.simple_fields_for :periods do |period| -          = render 'period_fields', f: period -        .links.nested-linker -          = link_to_add_association t('simple_form.labels.calendar.add_a_date_range'), f, :periods, class: 'btn btn-outline-primary' - -  = f.button :submit, t('actions.submit'), class: 'btn btn-default formSubmitr', form: 'calendar_form' | 
