Replace all datepickers with date input
Nowadays all browsers have reasonable date input support...
This commit is contained in:
parent
07bfff8fa1
commit
30fdc2d796
6 changed files with 26 additions and 39 deletions
|
|
@ -49,11 +49,11 @@
|
||||||
.form-group
|
.form-group
|
||||||
= f.label :start_date, "Start Date"
|
= f.label :start_date, "Start Date"
|
||||||
%abbr{title: 'This field is required'} *
|
%abbr{title: 'This field is required'} *
|
||||||
= f.text_field :start_date, id: 'conference-start-datepicker', required: true, class: 'form-control'
|
= f.date_field :start_date, required: true, class: 'form-control'
|
||||||
.form-group
|
.form-group
|
||||||
= f.label :end_date, "End Date"
|
= f.label :end_date, "End Date"
|
||||||
%abbr{title: 'This field is required'} *
|
%abbr{title: 'This field is required'} *
|
||||||
= f.text_field :end_date, id: 'conference-end-datepicker', required: true, class: 'form-control'
|
= f.date_field :end_date, required: true, class: 'form-control'
|
||||||
- unless f.object.new_record? # We are showing more fields on the edit form
|
- unless f.object.new_record? # We are showing more fields on the edit form
|
||||||
.form-group
|
.form-group
|
||||||
= f.number_field :start_hour, size: 2, min: 0, max: 23, class: 'form-control'
|
= f.number_field :start_hour, size: 2, min: 0, max: 23, class: 'form-control'
|
||||||
|
|
|
||||||
|
|
@ -25,9 +25,9 @@
|
||||||
For the feature to work you need to set the voting dates below as well
|
For the feature to work you need to set the voting dates below as well
|
||||||
.form-group
|
.form-group
|
||||||
= f.label :voting_start_date
|
= f.label :voting_start_date
|
||||||
= f.text_field :voting_start_date, id: 'datetimepicker-voting_start_date', value: (f.object.voting_start_date.to_formatted_s(:db_without_seconds) unless f.object.voting_start_date.nil?), class: 'form-control'
|
= f.datetime_field :voting_start_date, value: (f.object.voting_start_date.to_formatted_s(:db_without_seconds) unless f.object.voting_start_date.nil?), class: 'form-control'
|
||||||
= f.label :voting_end_date
|
= f.label :voting_end_date
|
||||||
= f.text_field :voting_end_date, id: 'datetimepicker-voting_end_date', value: (f.object.voting_end_date.to_formatted_s(:db_without_seconds) unless f.object.voting_end_date.nil?), class: 'form-control'
|
= f.datetime_field :voting_end_date, value: (f.object.voting_end_date.to_formatted_s(:db_without_seconds) unless f.object.voting_end_date.nil?), class: 'form-control'
|
||||||
%h4
|
%h4
|
||||||
Languages
|
Languages
|
||||||
%hr
|
%hr
|
||||||
|
|
|
||||||
|
|
@ -86,10 +86,10 @@
|
||||||
.kinds.text{ class: @survey_question.text? ? '' : 'hidden' }
|
.kinds.text{ class: @survey_question.text? ? '' : 'hidden' }
|
||||||
%textarea.form-control{ rows: 4 }
|
%textarea.form-control{ rows: 4 }
|
||||||
.kinds.datetime{ class: @survey_question.datetime? ? '' : 'hidden' }
|
.kinds.datetime{ class: @survey_question.datetime? ? '' : 'hidden' }
|
||||||
.form-group{ class: 'datetimepicker' }
|
.form-group
|
||||||
.input-group
|
.input-group
|
||||||
.input-group-addon
|
.input-group-addon
|
||||||
%span.fa-solid.fa-calendar
|
%span.fa-solid.fa-calendar
|
||||||
%input.form-control{ readonly: 'readonly' }
|
%input.form-control{ type: 'datetime-local', readonly: 'readonly' }
|
||||||
.kinds.numeric{ class: @survey_question.numeric? ? '' : 'hidden' }
|
.kinds.numeric{ class: @survey_question.numeric? ? '' : 'hidden' }
|
||||||
%input.form-control{ type: 'number' }
|
%input.form-control{ type: 'number' }
|
||||||
|
|
|
||||||
|
|
@ -22,7 +22,7 @@
|
||||||
= f.select :target, Survey.targets.keys, class: 'form-control'
|
= f.select :target, Survey.targets.keys, class: 'form-control'
|
||||||
.form-group
|
.form-group
|
||||||
= f.label :start_date
|
= f.label :start_date
|
||||||
= f.text_field :start_date, class: 'datetimepicker form-control'
|
= f.datetime_field :start_date, class: 'form-control'
|
||||||
= f.label :end_date
|
= f.label :end_date
|
||||||
= f.text_field :end_date, class: 'datetimepicker form-control'
|
= f.datetime_field :end_date, class: 'form-control'
|
||||||
= f.submit nil, class: 'btn btn-primary'
|
= f.submit nil, class: 'btn btn-primary'
|
||||||
|
|
|
||||||
|
|
@ -32,10 +32,10 @@
|
||||||
- elsif survey_question.text?
|
- elsif survey_question.text?
|
||||||
= text_area_tag "survey_submission[#{survey_question.id}][]", survey_reply.text, rows: 4, class: 'form-control', required: survey_question.mandatory
|
= text_area_tag "survey_submission[#{survey_question.id}][]", survey_reply.text, rows: 4, class: 'form-control', required: survey_question.mandatory
|
||||||
- elsif survey_question.datetime?
|
- elsif survey_question.datetime?
|
||||||
.form-group{ class: 'datetimepicker' }
|
.form-group
|
||||||
.input-group
|
.input-group
|
||||||
.input-group-addon
|
.input-group-addon
|
||||||
%span.fa-solid.fa-calendar
|
%span.fa-solid.fa-calendar
|
||||||
%input.form-control{ readonly: 'readonly', name: "survey_submission[#{survey_question.id}][]", value: survey_reply.text, required: survey_question.mandatory }
|
%input.form-control{ type: 'datetime-local', readonly: 'readonly', name: "survey_submission[#{survey_question.id}][]", value: survey_reply.text, required: survey_question.mandatory }
|
||||||
- elsif survey_question.numeric?
|
- elsif survey_question.numeric?
|
||||||
%input.form-control{ type: 'number', name: "survey_submission[#{survey_question.id}][]", value: survey_reply.text, required: survey_question.mandatory }
|
%input.form-control{ type: 'number', name: "survey_submission[#{survey_question.id}][]", value: survey_reply.text, required: survey_question.mandatory }
|
||||||
|
|
|
||||||
|
|
@ -3,9 +3,19 @@
|
||||||
require 'spec_helper'
|
require 'spec_helper'
|
||||||
|
|
||||||
feature Conference do
|
feature Conference do
|
||||||
let!(:user) { create(:admin) }
|
let(:user) { create(:admin) }
|
||||||
let!(:organization) { create(:organization) }
|
let!(:organization) { create(:organization) }
|
||||||
shared_examples 'add and update conference' do
|
|
||||||
|
describe 'admin' do
|
||||||
|
let(:conference) { create(:conference, organization: organization) }
|
||||||
|
|
||||||
|
scenario 'has organization name in menu bar for conference views', feature: true, js: true do
|
||||||
|
sign_in user
|
||||||
|
visit admin_conference_path(conference.short_title)
|
||||||
|
|
||||||
|
expect(find('.navbar-brand').text).to eq(conference.organization.name)
|
||||||
|
end
|
||||||
|
|
||||||
scenario 'adds a new conference', feature: true, js: true do
|
scenario 'adds a new conference', feature: true, js: true do
|
||||||
expected_count = Conference.count + 1
|
expected_count = Conference.count + 1
|
||||||
sign_in user
|
sign_in user
|
||||||
|
|
@ -19,13 +29,8 @@ feature Conference do
|
||||||
select('(GMT+01:00) Berlin', from: 'conference[timezone]')
|
select('(GMT+01:00) Berlin', from: 'conference[timezone]')
|
||||||
|
|
||||||
today = Time.zone.today - 1
|
today = Time.zone.today - 1
|
||||||
page
|
fill_in 'conference_start_date', with: today.strftime('%Y/%m/%d')
|
||||||
.execute_script("$('#conference-start-datepicker').val('" +
|
fill_in 'conference_end_date', with: (today + 7).strftime('%Y/%m/%d')
|
||||||
"#{today.strftime('%d/%m/%Y')}')")
|
|
||||||
page
|
|
||||||
.execute_script("$('#conference-end-datepicker').val('" +
|
|
||||||
"#{(today + 7).strftime('%d/%m/%Y')}')")
|
|
||||||
|
|
||||||
click_button 'Create Conference'
|
click_button 'Create Conference'
|
||||||
|
|
||||||
page.find('#flash')
|
page.find('#flash')
|
||||||
|
|
@ -50,13 +55,8 @@ feature Conference do
|
||||||
fill_in 'conference_short_title', with: 'NewCon'
|
fill_in 'conference_short_title', with: 'NewCon'
|
||||||
|
|
||||||
day = Time.zone.today + 10
|
day = Time.zone.today + 10
|
||||||
page
|
fill_in 'conference_start_date', with: day.strftime('%Y/%m/%d')
|
||||||
.execute_script("$('#conference-start-datepicker').val('" +
|
fill_in 'conference_end_date', with: (day + 7).strftime('%Y/%m/%d')
|
||||||
"#{day.strftime('%d/%m/%Y')}')")
|
|
||||||
page
|
|
||||||
.execute_script("$('#conference-end-datepicker').val('" +
|
|
||||||
"#{(day + 7).strftime('%d/%m/%Y')}')")
|
|
||||||
|
|
||||||
page.accept_alert do
|
page.accept_alert do
|
||||||
click_button 'Update Conference'
|
click_button 'Update Conference'
|
||||||
end
|
end
|
||||||
|
|
@ -70,17 +70,4 @@ feature Conference do
|
||||||
expect(Conference.count).to eq(expected_count)
|
expect(Conference.count).to eq(expected_count)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
describe 'admin' do
|
|
||||||
let!(:conference) { create(:conference) }
|
|
||||||
|
|
||||||
scenario 'has organization name in menu bar for conference views', feature: true, js: true do
|
|
||||||
sign_in user
|
|
||||||
visit admin_conference_path(conference.short_title)
|
|
||||||
|
|
||||||
expect(find('.navbar-brand').text).to eq(conference.organization.name)
|
|
||||||
end
|
|
||||||
|
|
||||||
it_behaves_like 'add and update conference'
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue