added datetime type to survey
This commit is contained in:
parent
18d1e2561f
commit
ad241361fe
|
@ -31,6 +31,7 @@ function setData(l, length, optionsI, className) {
|
||||||
_title_translations: [id+l+"_title_translations", name+l+"][title_translations]", "questions_title_"+l,{"en":"","zh_tw":""}],
|
_title_translations: [id+l+"_title_translations", name+l+"][title_translations]", "questions_title_"+l,{"en":"","zh_tw":""}],
|
||||||
_description_translations: [id+l+"_description_translations", name+l+"][description_translations]", "questions_depiction_"+l,{"en":"","zh_tw":""}],
|
_description_translations: [id+l+"_description_translations", name+l+"][description_translations]", "questions_depiction_"+l,{"en":"","zh_tw":""}],
|
||||||
_type: [id+l+"_type", name+l+"][type]"],
|
_type: [id+l+"_type", name+l+"][type]"],
|
||||||
|
_dateformat : [id+l+"_datetime_type", name+l+"][datetime_type]"],
|
||||||
_is_required: [id+l+"_is_required", name+l+"][is_required]",false],
|
_is_required: [id+l+"_is_required", name+l+"][is_required]",false],
|
||||||
_option: [id+optionID, name+optionName, "attributes_"+l+"_options_"+optionsI+"_",{"en":"","zh_tw":""}],
|
_option: [id+optionID, name+optionName, "attributes_"+l+"_options_"+optionsI+"_",{"en":"","zh_tw":""}],
|
||||||
_points: [id+pointsID, name+pointsName, "attributes_"+l+"_options_"+optionsI+"_"],
|
_points: [id+pointsID, name+pointsName, "attributes_"+l+"_options_"+optionsI+"_"],
|
||||||
|
@ -64,6 +65,7 @@ function setEditData(l, length, d, optionsI, className) {
|
||||||
_title_translations: [id+l+"_title_translations", name+l+"][title_translations]", "questions_title_"+l,d.title_translations],
|
_title_translations: [id+l+"_title_translations", name+l+"][title_translations]", "questions_title_"+l,d.title_translations],
|
||||||
_description_translations: [id+l+"_description_translations", name+l+"][description_translations]", "questions_depiction_"+l,d.description_translations],
|
_description_translations: [id+l+"_description_translations", name+l+"][description_translations]", "questions_depiction_"+l,d.description_translations],
|
||||||
_type: [id+l+"_type", name+l+"][type]",d.type],
|
_type: [id+l+"_type", name+l+"][type]",d.type],
|
||||||
|
_dateformat : [id+l+"_datetime_type", name+l+"][datetime_type]",d.datetime_type],
|
||||||
_is_required: [id+l+"_is_required", name+l+"][is_required]",d.is_required],
|
_is_required: [id+l+"_is_required", name+l+"][is_required]",d.is_required],
|
||||||
_option: [id+optionID, name+optionName, "attributes_"+l+"_options_"+optionsI+"_"],
|
_option: [id+optionID, name+optionName, "attributes_"+l+"_options_"+optionsI+"_"],
|
||||||
_points: [id+pointsID, name+pointsName, "attributes_"+l+"_options_"+optionsI+"_", d.points],
|
_points: [id+pointsID, name+pointsName, "attributes_"+l+"_options_"+optionsI+"_", d.points],
|
||||||
|
@ -74,7 +76,6 @@ function setEditData(l, length, d, optionsI, className) {
|
||||||
};
|
};
|
||||||
|
|
||||||
function setEditQuestionAttributes(l, length, d, optionsI, className) {
|
function setEditQuestionAttributes(l, length, d, optionsI, className) {
|
||||||
console.log(d);
|
|
||||||
if(!optionsI) {
|
if(!optionsI) {
|
||||||
optionsI = 0;
|
optionsI = 0;
|
||||||
}
|
}
|
||||||
|
@ -123,7 +124,7 @@ function editQuestion (dataArray){
|
||||||
$('#template-survery').tmpl(setEditData(l, $('.questions > .attributes').length + 1, d)).appendTo($('.questions'));
|
$('#template-survery').tmpl(setEditData(l, $('.questions > .attributes').length + 1, d)).appendTo($('.questions'));
|
||||||
checkQuestionsLength();
|
checkQuestionsLength();
|
||||||
textareaResizable(); // from textarea-lang-btn.js
|
textareaResizable(); // from textarea-lang-btn.js
|
||||||
if( d.type > 1 && d.type < 5 ){
|
if( (d.type > 1 && d.type < 5) || d.type == 6 ){
|
||||||
onQuestionTypeChanged( $(".questions .field-type:eq("+ i +")"), d.type );
|
onQuestionTypeChanged( $(".questions .field-type:eq("+ i +")"), d.type );
|
||||||
$.each(d.survey_question_options,function ( x, data ){
|
$.each(d.survey_question_options,function ( x, data ){
|
||||||
$('#template-survery-option').tmpl(setEditQuestionAttributes( l, "", data, x, "options" )).insertBefore($(".questions .field-type:eq("+ i +") .options .add-btn"));
|
$('#template-survery-option').tmpl(setEditQuestionAttributes( l, "", data, x, "options" )).insertBefore($(".questions .field-type:eq("+ i +") .options .add-btn"));
|
||||||
|
@ -147,9 +148,13 @@ function editQuestion (dataArray){
|
||||||
function onQuestionTypeChanged ( $fieldType, _val ){
|
function onQuestionTypeChanged ( $fieldType, _val ){
|
||||||
if(_val < 2) {
|
if(_val < 2) {
|
||||||
$fieldType.fadeOut(300);
|
$fieldType.fadeOut(300);
|
||||||
|
$fieldType.next(".date-format").fadeOut(300);
|
||||||
|
}else if(_val == 6){
|
||||||
|
$fieldType.fadeOut(300);
|
||||||
|
$fieldType.next(".date-format").fadeIn(300);
|
||||||
} else {
|
} else {
|
||||||
$fieldType.fadeIn(300);
|
$fieldType.fadeIn(300);
|
||||||
|
$fieldType.next(".date-format").fadeOut(300);
|
||||||
if(_val < 5) {
|
if(_val < 5) {
|
||||||
$fieldType.find('.rgl, hr').addClass('hide').siblings('.allow').removeClass('hide');
|
$fieldType.find('.rgl, hr').addClass('hide').siblings('.allow').removeClass('hide');
|
||||||
} else {
|
} else {
|
||||||
|
|
|
@ -167,7 +167,7 @@ class SurveysController < ApplicationController
|
||||||
end
|
end
|
||||||
individual_total << t
|
individual_total << t
|
||||||
end
|
end
|
||||||
when SurveyQuestion::Oneline, SurveyQuestion::Multiline
|
when SurveyQuestion::Oneline, SurveyQuestion::Multiline, SurveyQuestion::DateTime
|
||||||
@answer_model[qid] = answer[qid]
|
@answer_model[qid] = answer[qid]
|
||||||
individual_total << 0
|
individual_total << 0
|
||||||
end
|
end
|
||||||
|
|
|
@ -6,6 +6,7 @@ class SurveyQuestion
|
||||||
Check = 3
|
Check = 3
|
||||||
Select = 4
|
Select = 4
|
||||||
Radiogroup = 5
|
Radiogroup = 5
|
||||||
|
DateTime = 6
|
||||||
|
|
||||||
include Mongoid::Document
|
include Mongoid::Document
|
||||||
|
|
||||||
|
@ -13,6 +14,7 @@ class SurveyQuestion
|
||||||
field :description, :localize => true
|
field :description, :localize => true
|
||||||
field :is_required, :type => Boolean
|
field :is_required, :type => Boolean
|
||||||
field :type, :type => Integer
|
field :type, :type => Integer
|
||||||
|
field :datetime_type
|
||||||
|
|
||||||
# allow custom answer option
|
# allow custom answer option
|
||||||
field :custom_option, :type => Boolean
|
field :custom_option, :type => Boolean
|
||||||
|
|
|
@ -59,6 +59,7 @@
|
||||||
<option value="3" {{if _type[2] == 3}}selected="selected"{{/if}}><%= t('survey_question.check') %></option>
|
<option value="3" {{if _type[2] == 3}}selected="selected"{{/if}}><%= t('survey_question.check') %></option>
|
||||||
<option value="4" {{if _type[2] == 4}}selected="selected"{{/if}}><%= t('survey_question.select') %></option>
|
<option value="4" {{if _type[2] == 4}}selected="selected"{{/if}}><%= t('survey_question.select') %></option>
|
||||||
<option value="5" {{if _type[2] == 5}}selected="selected"{{/if}}><%= t('survey_question.radiogroup') %></option>
|
<option value="5" {{if _type[2] == 5}}selected="selected"{{/if}}><%= t('survey_question.radiogroup') %></option>
|
||||||
|
<option value="6" {{if _type[2] == 6}}selected="selected"{{/if}}><%= t('survey_question.datetime') %></option>
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -104,7 +105,18 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="control-group date-format" style="display:none;">
|
||||||
|
<label class="control-label muted" for=""><%= t('survey_question.datetimeformat') %> </label>
|
||||||
|
<div class="controls">
|
||||||
|
<select id="${_dateformat[0]}" name="${_dateformat[1]}">
|
||||||
|
<option value="yyyy/MM/dd hh:mm" {{if _dateformat[2] == 'yyyy/MM/dd hh:mm'}}selected="selected"{{/if}}>YYYY/MM/DD HH:MM</option>
|
||||||
|
<option value="yyyy/MM/dd" {{if _dateformat[2] == 'yyyy/MM/dd'}}selected="selected"{{/if}}>YYYY/MM/DD</option>
|
||||||
|
<option value="yyyy/MM" {{if _dateformat[2] == 'yyyy/MM'}}selected="selected"{{/if}}>YYYY/MM</option>
|
||||||
|
<option value="yyyy" {{if _dateformat[2] == 'yyyy'}}selected="selected"{{/if}}>YYYY</option>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="control-group">
|
<div class="control-group">
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
<% # encoding: utf-8 %>
|
<% # encoding: utf-8 %>
|
||||||
|
<%= javascript_include_tag "lib/bootstrap-datetimepicker" %>
|
||||||
|
<%= javascript_include_tag "lib/datetimepicker/datetimepicker.js" %>
|
||||||
<%
|
<%
|
||||||
data = action_data
|
data = action_data
|
||||||
@survey = data["survey"]
|
@survey = data["survey"]
|
||||||
|
@ -73,6 +74,8 @@
|
||||||
</li>
|
</li>
|
||||||
<% end %>
|
<% end %>
|
||||||
</ul>
|
</ul>
|
||||||
|
<% when SurveyQuestion::DateTime %>
|
||||||
|
<%= f.datetime_picker question.id, :no_label => true, :new_record => true, :format => question.datetime_type, :placeholder => question.datetime_type.upcase, :required => question.is_required %>
|
||||||
<% when SurveyQuestion::Check %>
|
<% when SurveyQuestion::Check %>
|
||||||
<ul class="o-question-group view-list">
|
<ul class="o-question-group view-list">
|
||||||
<%= f.fields_for "#{question.id}" do |cf| %>
|
<%= f.fields_for "#{question.id}" do |cf| %>
|
||||||
|
|
|
@ -83,7 +83,8 @@ en:
|
||||||
use_custom_option: Other
|
use_custom_option: Other
|
||||||
add: Add
|
add: Add
|
||||||
delete: Delete
|
delete: Delete
|
||||||
|
datetime: DateTime
|
||||||
|
datetimeformat: Format
|
||||||
have_not_chart: This type of question havn't chart
|
have_not_chart: This type of question havn't chart
|
||||||
|
|
||||||
move_up: Move up
|
move_up: Move up
|
||||||
|
|
|
@ -87,7 +87,8 @@ zh_tw:
|
||||||
use_custom_option: 其他
|
use_custom_option: 其他
|
||||||
add: 新增
|
add: 新增
|
||||||
delete: 刪除
|
delete: 刪除
|
||||||
|
datetime: DateTime
|
||||||
|
datetimeformat: Format
|
||||||
have_not_chart: 此種類型問題不含結果圖表
|
have_not_chart: 此種類型問題不含結果圖表
|
||||||
|
|
||||||
move_up: 上移
|
move_up: 上移
|
||||||
|
|
Loading…
Reference in New Issue