diff options
| author | Zog | 2018-01-24 16:56:16 +0100 | 
|---|---|---|
| committer | cedricnjanga | 2018-02-06 11:10:18 -0800 | 
| commit | f07802715562b31d15e31b5be90dbeac29cef227 (patch) | |
| tree | f64dc33cb1bc35acaeca9261012d10516a7daf2a /app/views/calendars | |
| parent | 5253b169da36a3de270f00038597b007035f09dd (diff) | |
| download | chouette-core-f07802715562b31d15e31b5be90dbeac29cef227.tar.bz2 | |
Refs #5682 @3h; Use same UI as for timetables
Diffstat (limited to 'app/views/calendars')
| -rw-r--r-- | app/views/calendars/_form.html.slim | 53 | ||||
| -rw-r--r-- | app/views/calendars/_form_advanced.html.slim | 8 | ||||
| -rw-r--r-- | app/views/calendars/_form_simple.html.slim | 56 | ||||
| -rw-r--r-- | app/views/calendars/edit.html.slim | 7 | ||||
| -rw-r--r-- | app/views/calendars/month.rabl | 9 | ||||
| -rw-r--r-- | app/views/calendars/new.html.slim | 4 | ||||
| -rw-r--r-- | app/views/calendars/show.html.slim | 11 | ||||
| -rw-r--r-- | app/views/calendars/show.rabl | 22 | 
8 files changed, 111 insertions, 59 deletions
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' diff --git a/app/views/calendars/_form_advanced.html.slim b/app/views/calendars/_form_advanced.html.slim new file mode 100644 index 000000000..b4154166b --- /dev/null +++ b/app/views/calendars/_form_advanced.html.slim @@ -0,0 +1,8 @@ +#periods + += javascript_tag do +  | window.actionType = "#{raw params[:action]}"; +  | window.I18n = #{(I18n.backend.send(:translations)[I18n.locale].to_json).html_safe}; +  | window.timetablesUrl = "#{calendar_url(@calendar).html_safe}"; + += javascript_pack_tag 'calendars/edit.js' diff --git a/app/views/calendars/_form_simple.html.slim b/app/views/calendars/_form_simple.html.slim new file mode 100644 index 000000000..2f469ada7 --- /dev/null +++ b/app/views/calendars/_form_simple.html.slim @@ -0,0 +1,56 @@ +.row +  .col-lg-8.col-lg-offset-2.col-md-8.col-md-offset-2.col-sm-10.col-sm-offset-1 +    = simple_form_for @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 + +      - unless has_feature?('application_days_on_calendars') +        .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' diff --git a/app/views/calendars/edit.html.slim b/app/views/calendars/edit.html.slim index a1af5e257..79ab1f5d0 100644 --- a/app/views/calendars/edit.html.slim +++ b/app/views/calendars/edit.html.slim @@ -2,6 +2,7 @@  - page_header_content_for @calendar  .page_content    .container-fluid -    .row -      .col-lg-8.col-lg-offset-2.col-md-8.col-md-offset-2.col-sm-10.col-sm-offset-1 -        = render 'form' +    - if has_feature?('application_days_on_calendars') +      = render 'form_advanced' +    - else +      = render 'form_simple' diff --git a/app/views/calendars/month.rabl b/app/views/calendars/month.rabl new file mode 100644 index 000000000..1584db44c --- /dev/null +++ b/app/views/calendars/month.rabl @@ -0,0 +1,9 @@ +object @calendar + +node do |tt| +  { +    name: I18n.l(@date, format: '%B'), +    days: tt.month_inspect(@date), +    day_types: %w(monday tuesday wednesday thursday friday saturday sunday).select{ |d| tt.send(d) }.map{ |d| tt.human_attribute_name(d).first(2)}.join('') +  } +end diff --git a/app/views/calendars/new.html.slim b/app/views/calendars/new.html.slim index c1e084913..5657a0c55 100644 --- a/app/views/calendars/new.html.slim +++ b/app/views/calendars/new.html.slim @@ -1,6 +1,4 @@  - breadcrumb :calendars, @workgroup  .page_content    .container-fluid -    .row -      .col-lg-8.col-lg-offset-2.col-md-8.col-md-offset-2.col-sm-10.col-sm-offset-1 -        = render 'form' +    = render 'form_simple' diff --git a/app/views/calendars/show.html.slim b/app/views/calendars/show.html.slim index cd2be2bd1..cec4f66a5 100644 --- a/app/views/calendars/show.html.slim +++ b/app/views/calendars/show.html.slim @@ -11,3 +11,14 @@              'Organisation' => resource.organisation.name,              Calendar.human_attribute_name(:dates) =>  resource.dates.collect{|d| l(d, format: :short)}.join(', ').html_safe,              Calendar.human_attribute_name(:date_ranges) => resource.periods.map{|d| t('validity_range', debut: l(d.begin, format: :short), end: l(d.end, format: :short))}.join('<br>').html_safe } + +    - if has_feature?('application_days_on_calendars') +      .row +        .col-lg-12.mb-sm +          .pagination.pull-right +            = @year +            .page_links +              = link_to '', calendar_path(@calendar, year: (@year - 1)), class: 'previous_page' +              = link_to '', calendar_path(@calendar, year: (@year + 1)), class: 'next_page' + +      = render 'time_tables/show_time_table', time_table: @calendar diff --git a/app/views/calendars/show.rabl b/app/views/calendars/show.rabl new file mode 100644 index 000000000..295d97528 --- /dev/null +++ b/app/views/calendars/show.rabl @@ -0,0 +1,22 @@ +object @calendar + +attributes :id +node do |tt| +  { +    comment: tt.name, +    time_table_bounding: tt.presenter.time_table_bounding, +    day_types: %w(monday tuesday wednesday thursday friday saturday sunday).select{ |d| tt.send(d) }.map{ |d| tt.human_attribute_name(d).first(2)}.join(''), +    current_month: tt.month_inspect(Date.today), +    periode_range: month_periode_enum(3), +    current_periode_range: Date.today.beginning_of_month, +    short_id: tt.object_id, +  } +end + +child(:periods, object_root: false, root: :time_table_periods) do +  attributes :id, :period_start, :period_end +end + +child(:all_dates, object_root: false, root: :time_table_dates) do +  attributes :id, :date, :in_out +end  | 
