helena_administration 0.0.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.gitignore +9 -0
- data/.rubocop.yml +18 -0
- data/.travis.yml +6 -0
- data/Gemfile +44 -0
- data/Gemfile.lock +309 -0
- data/MIT-LICENSE +20 -0
- data/README.md +82 -0
- data/Rakefile +28 -0
- data/app/assets/images/helena_administration/.keep +0 -0
- data/app/assets/javascripts/helena_administration.js.coffee +20 -0
- data/app/assets/javascripts/polyfills.js +10 -0
- data/app/assets/stylesheets/_dashboard.sass +4 -0
- data/app/assets/stylesheets/_layout.sass +50 -0
- data/app/assets/stylesheets/_media_queries.scss +18 -0
- data/app/assets/stylesheets/_variables.sass +19 -0
- data/app/assets/stylesheets/helena_administration.css.sass +27 -0
- data/app/controllers/helena_administration/application_controller.rb +19 -0
- data/app/controllers/helena_administration/dashboard_controller.rb +11 -0
- data/app/controllers/helena_administration/import_surveys_controller.rb +40 -0
- data/app/controllers/helena_administration/question_groups_controller.rb +68 -0
- data/app/controllers/helena_administration/questions/checkbox_groups_controller.rb +15 -0
- data/app/controllers/helena_administration/questions/checkbox_matrix_controller.rb +7 -0
- data/app/controllers/helena_administration/questions/long_texts_controller.rb +11 -0
- data/app/controllers/helena_administration/questions/radio_groups_controller.rb +15 -0
- data/app/controllers/helena_administration/questions/radio_matrix_controller.rb +7 -0
- data/app/controllers/helena_administration/questions/short_texts_controller.rb +11 -0
- data/app/controllers/helena_administration/questions/static_texts_controller.rb +11 -0
- data/app/controllers/helena_administration/questions_controller.rb +96 -0
- data/app/controllers/helena_administration/sessions_controller.rb +60 -0
- data/app/controllers/helena_administration/surveys_controller.rb +71 -0
- data/app/controllers/helena_administration/versions_controller.rb +82 -0
- data/app/helpers/helena_administration/application_helper.rb +14 -0
- data/app/models/helena_administration/import_survey_form.rb +9 -0
- data/app/views/helena_administration/application/_chromeframe.html.slim +4 -0
- data/app/views/helena_administration/application/_flash_messages.html.haml +5 -0
- data/app/views/helena_administration/application/_head.html.slim +13 -0
- data/app/views/helena_administration/application/_header.html.slim +16 -0
- data/app/views/helena_administration/dashboard/index.html.slim +14 -0
- data/app/views/helena_administration/import_surveys/_form.html.slim +11 -0
- data/app/views/helena_administration/import_surveys/new.html.slim +1 -0
- data/app/views/helena_administration/kaminari/_first_page.html.slim +2 -0
- data/app/views/helena_administration/kaminari/_gap.html.slim +2 -0
- data/app/views/helena_administration/kaminari/_last_page.html.slim +2 -0
- data/app/views/helena_administration/kaminari/_next_page.html.slim +2 -0
- data/app/views/helena_administration/kaminari/_page.html.slim +2 -0
- data/app/views/helena_administration/kaminari/_paginator.html.slim +11 -0
- data/app/views/helena_administration/kaminari/_prev_page.html.slim +2 -0
- data/app/views/helena_administration/layouts/application.html.slim +13 -0
- data/app/views/helena_administration/question_groups/_form.html.slim +5 -0
- data/app/views/helena_administration/question_groups/edit.html.slim +1 -0
- data/app/views/helena_administration/question_groups/new.html.slim +1 -0
- data/app/views/helena_administration/question_groups/show.html.slim +60 -0
- data/app/views/helena_administration/questions/_form.html.slim +15 -0
- data/app/views/helena_administration/questions/_labels.html.slim +24 -0
- data/app/views/helena_administration/questions/_sub_questions.html.slim +32 -0
- data/app/views/helena_administration/questions/edit.html.slim +1 -0
- data/app/views/helena_administration/questions/new.html.slim +1 -0
- data/app/views/helena_administration/questions/show.html.slim +26 -0
- data/app/views/helena_administration/sessions/_form.html.slim +8 -0
- data/app/views/helena_administration/sessions/edit.html.slim +1 -0
- data/app/views/helena_administration/surveys/_form.html.slim +5 -0
- data/app/views/helena_administration/surveys/edit.html.slim +1 -0
- data/app/views/helena_administration/surveys/index.html.slim +34 -0
- data/app/views/helena_administration/surveys/new.html.slim +1 -0
- data/app/views/helena_administration/surveys/show.html.slim +120 -0
- data/app/views/helena_administration/versions/_form.html.slim +14 -0
- data/app/views/helena_administration/versions/edit.html.slim +1 -0
- data/app/views/helena_administration/versions/new.html.slim +1 -0
- data/app/views/helena_administration/versions/show.html.slim +68 -0
- data/app/views/layouts/helena_administration/application.html.slim +10 -0
- data/bin/rails +12 -0
- data/config/compass.rb +2 -0
- data/config/html5_rails.yml +26 -0
- data/config/locales/en.yml +21 -0
- data/config/locales/views/dashboard.en.yml +6 -0
- data/config/locales/views/import_surveys.en.yml +11 -0
- data/config/locales/views/question_groups.en.yml +5 -0
- data/config/locales/views/questions.en.yml +5 -0
- data/config/locales/views/surveys.en.yml +10 -0
- data/config/locales/views/versions.en.yml +11 -0
- data/config/routes.rb +24 -0
- data/coverage/.resultset.json.lock +0 -0
- data/coverage/assets/0.8.0/application.css +799 -0
- data/coverage/assets/0.8.0/application.js +1559 -0
- data/coverage/assets/0.8.0/colorbox/border.png +0 -0
- data/coverage/assets/0.8.0/colorbox/controls.png +0 -0
- data/coverage/assets/0.8.0/colorbox/loading.gif +0 -0
- data/coverage/assets/0.8.0/colorbox/loading_background.png +0 -0
- data/coverage/assets/0.8.0/favicon_green.png +0 -0
- data/coverage/assets/0.8.0/favicon_red.png +0 -0
- data/coverage/assets/0.8.0/favicon_yellow.png +0 -0
- data/coverage/assets/0.8.0/loading.gif +0 -0
- data/coverage/assets/0.8.0/magnify.png +0 -0
- data/coverage/assets/0.8.0/smoothness/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
- data/coverage/assets/0.8.0/smoothness/images/ui-bg_flat_75_ffffff_40x100.png +0 -0
- data/coverage/assets/0.8.0/smoothness/images/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
- data/coverage/assets/0.8.0/smoothness/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
- data/coverage/assets/0.8.0/smoothness/images/ui-bg_glass_75_dadada_1x400.png +0 -0
- data/coverage/assets/0.8.0/smoothness/images/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
- data/coverage/assets/0.8.0/smoothness/images/ui-bg_glass_95_fef1ec_1x400.png +0 -0
- data/coverage/assets/0.8.0/smoothness/images/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
- data/coverage/assets/0.8.0/smoothness/images/ui-icons_222222_256x240.png +0 -0
- data/coverage/assets/0.8.0/smoothness/images/ui-icons_2e83ff_256x240.png +0 -0
- data/coverage/assets/0.8.0/smoothness/images/ui-icons_454545_256x240.png +0 -0
- data/coverage/assets/0.8.0/smoothness/images/ui-icons_888888_256x240.png +0 -0
- data/coverage/assets/0.8.0/smoothness/images/ui-icons_cd0a0a_256x240.png +0 -0
- data/helena_administration.gemspec +37 -0
- data/lib/helena_administration/engine.rb +13 -0
- data/lib/helena_administration/version.rb +3 -0
- data/lib/helena_administration.rb +15 -0
- data/lib/tasks/helena_administration_tasks.rake +4 -0
- data/spec/controllers/dashboard_controller_spec.rb +11 -0
- data/spec/controllers/sessions_controller_spec.rb +102 -0
- data/spec/controllers/survey_controller_spec.rb +36 -0
- data/spec/dummy/README.rdoc +28 -0
- data/spec/dummy/Rakefile +6 -0
- data/spec/dummy/app/assets/images/.keep +0 -0
- data/spec/dummy/app/assets/javascripts/application.js +13 -0
- data/spec/dummy/app/assets/stylesheets/application.css +15 -0
- data/spec/dummy/app/controllers/application_controller.rb +5 -0
- data/spec/dummy/app/controllers/concerns/.keep +0 -0
- data/spec/dummy/app/decorators/controllers/helena_administration/application_controller_decorator.rb +5 -0
- data/spec/dummy/app/helpers/application_helper.rb +2 -0
- data/spec/dummy/app/mailers/.keep +0 -0
- data/spec/dummy/app/models/.keep +0 -0
- data/spec/dummy/app/models/concerns/.keep +0 -0
- data/spec/dummy/app/views/layouts/application.html.erb +14 -0
- data/spec/dummy/bin/bundle +3 -0
- data/spec/dummy/bin/rails +4 -0
- data/spec/dummy/bin/rake +4 -0
- data/spec/dummy/config/application.rb +27 -0
- data/spec/dummy/config/boot.rb +5 -0
- data/spec/dummy/config/environment.rb +5 -0
- data/spec/dummy/config/environments/development.rb +34 -0
- data/spec/dummy/config/environments/production.rb +78 -0
- data/spec/dummy/config/environments/test.rb +39 -0
- data/spec/dummy/config/initializers/assets.rb +9 -0
- data/spec/dummy/config/initializers/backtrace_silencers.rb +7 -0
- data/spec/dummy/config/initializers/cookies_serializer.rb +3 -0
- data/spec/dummy/config/initializers/filter_parameter_logging.rb +4 -0
- data/spec/dummy/config/initializers/inflections.rb +16 -0
- data/spec/dummy/config/initializers/mime_types.rb +4 -0
- data/spec/dummy/config/initializers/session_store.rb +3 -0
- data/spec/dummy/config/initializers/wrap_parameters.rb +14 -0
- data/spec/dummy/config/locales/en.yml +23 -0
- data/spec/dummy/config/mongoid.yml +13 -0
- data/spec/dummy/config/routes.rb +4 -0
- data/spec/dummy/config/secrets.yml +22 -0
- data/spec/dummy/config.ru +4 -0
- data/spec/dummy/lib/assets/.keep +0 -0
- data/spec/dummy/log/.keep +0 -0
- data/spec/dummy/public/404.html +67 -0
- data/spec/dummy/public/422.html +67 -0
- data/spec/dummy/public/500.html +66 -0
- data/spec/dummy/public/favicon.ico +0 -0
- data/spec/features/dashboard/index.html.slim_spec.rb +9 -0
- data/spec/features/question_groups/manage_question_groups_spec.rb +97 -0
- data/spec/features/questions/manage_questions_spec.rb +108 -0
- data/spec/features/questions/question_types/manage_checkbox_group_question_spec.rb +53 -0
- data/spec/features/questions/question_types/manage_long_text_question_spec.rb +22 -0
- data/spec/features/questions/question_types/manage_radio_group_question_spec.rb +57 -0
- data/spec/features/questions/question_types/manage_radio_matrix_question_spec.rb +78 -0
- data/spec/features/questions/question_types/manage_short_text_question_spec.rb +20 -0
- data/spec/features/questions/question_types/manage_static_text_question_spec.rb +18 -0
- data/spec/features/sessions/manage_sessions_spec.rb +51 -0
- data/spec/features/surveys/manage_survey_spec.rb +95 -0
- data/spec/features/versions/manage_version_spec.rb +113 -0
- data/spec/helpers/applicatin_helper_spec.rb +17 -0
- data/spec/rails_helper.rb +23 -0
- data/spec/spec_helper.rb +63 -0
- data/spec/support/.keep +0 -0
- metadata +455 -0
@@ -0,0 +1,15 @@
|
|
1
|
+
= simple_form_for [@survey, @version, @question_group, question] do |f|
|
2
|
+
= f.input :question_text
|
3
|
+
= f.input :code, hint: t('shared.code_hint')
|
4
|
+
= f.input :_type, collection: Helena::Question::TYPES.map { |type| [type.model_name.human, type] }
|
5
|
+
- if @question.respond_to? :required
|
6
|
+
= f.input :required, as: :boolean
|
7
|
+
- if @question.is_a?(Helena::Questions::LongText) || @question.is_a?(Helena::Questions::StaticText)
|
8
|
+
= f.input :default_value
|
9
|
+
- if @question.is_a?(Helena::Questions::ShortText)
|
10
|
+
= f.input :default_value, as: :string
|
11
|
+
- if @question.includes_labels?
|
12
|
+
= render 'labels', form: f
|
13
|
+
- if @question.includes_subquestions?
|
14
|
+
= render 'sub_questions', form: f
|
15
|
+
= f.submit t('shared.save'), class: 'btn btn-success'
|
@@ -0,0 +1,24 @@
|
|
1
|
+
h3= t '.labels'
|
2
|
+
.table-responsive
|
3
|
+
table.table.labels
|
4
|
+
thead
|
5
|
+
tr
|
6
|
+
th.position= Helena::Label.human_attribute_name :position
|
7
|
+
th.preselected
|
8
|
+
th.text= Helena::Label.human_attribute_name :text
|
9
|
+
th.value= Helena::Label.human_attribute_name :value
|
10
|
+
th.delete
|
11
|
+
tbody
|
12
|
+
= form.simple_fields_for :labels do |label|
|
13
|
+
tr id="#{dom_id(label.object)}"
|
14
|
+
td.position
|
15
|
+
= label.input :position, as: :integer, label: false
|
16
|
+
td.preselected
|
17
|
+
= label.input :preselected, as: :boolean, label: Helena::Label.human_attribute_name(:preselected)
|
18
|
+
td.text
|
19
|
+
= label.input :text, label: false
|
20
|
+
td.value
|
21
|
+
= label.input :value, label: false
|
22
|
+
td.delete
|
23
|
+
- unless label.object.new_record?
|
24
|
+
= label.input :_destroy, as: :boolean, label: Helena::Label.human_attribute_name(:_destroy)
|
@@ -0,0 +1,32 @@
|
|
1
|
+
h3= t '.options'
|
2
|
+
.table-responsive
|
3
|
+
table.table.sub_questions
|
4
|
+
thead
|
5
|
+
tr
|
6
|
+
th.position= Helena::SubQuestion.human_attribute_name :position
|
7
|
+
th.position= Helena::SubQuestion.human_attribute_name :code
|
8
|
+
- if @question.is_a?(Helena::Questions::CheckboxGroup)
|
9
|
+
th.preselected
|
10
|
+
th.text= Helena::SubQuestion.human_attribute_name :text
|
11
|
+
- if @question.is_a?(Helena::Questions::CheckboxGroup)
|
12
|
+
th.value= Helena::SubQuestion.human_attribute_name :value
|
13
|
+
th.delete
|
14
|
+
tbody
|
15
|
+
= form.simple_fields_for :sub_questions do |sub_question|
|
16
|
+
tr id="#{dom_id(sub_question.object)}"
|
17
|
+
td.position
|
18
|
+
= sub_question.input :position, as: :integer, label: false
|
19
|
+
td.code
|
20
|
+
= sub_question.input :code, label: false, hint: t('shared.code_hint')
|
21
|
+
- if @question.is_a?(Helena::Questions::CheckboxGroup)
|
22
|
+
td.preselected
|
23
|
+
= sub_question.input :preselected, as: :boolean
|
24
|
+
td.text
|
25
|
+
= sub_question.input :text, label: false
|
26
|
+
- if @question.is_a?(Helena::Questions::CheckboxGroup)
|
27
|
+
td.value
|
28
|
+
= sub_question.input :value, label: false, as: :hidden, value: 1
|
29
|
+
td.delete
|
30
|
+
- unless sub_question.object.new_record?
|
31
|
+
= sub_question.input :_destroy, as: :boolean,
|
32
|
+
label: Helena::SubQuestion.human_attribute_name(:_destroy)
|
@@ -0,0 +1 @@
|
|
1
|
+
= render 'form', question: @question
|
@@ -0,0 +1 @@
|
|
1
|
+
= render 'form', question: @question
|
@@ -0,0 +1,26 @@
|
|
1
|
+
div id="#{dom_id(@question)}"
|
2
|
+
.row
|
3
|
+
.col-md-10
|
4
|
+
dl.dl-horizontal
|
5
|
+
dt = Helena::Question.human_attribute_name :position
|
6
|
+
dd = @question.position
|
7
|
+
|
8
|
+
dt = Helena::Question.human_attribute_name :code
|
9
|
+
dd = @question.code
|
10
|
+
|
11
|
+
dt = Helena::Question.human_attribute_name :question_text
|
12
|
+
dd = @question.question_text
|
13
|
+
|
14
|
+
dt = Helena::Question.human_attribute_name :type
|
15
|
+
dd = @question.class.model_name.human
|
16
|
+
|
17
|
+
dt = Helena::Question.human_attribute_name :created_at
|
18
|
+
dd = distance_of_time_in_words_to_now(@question.created_at)
|
19
|
+
.col-md-2
|
20
|
+
.pull-right
|
21
|
+
= link_to [:edit, @survey, @version, @question_group, @question], class: "btn btn-default #{'disabled' if @version.active}", role: 'button' do
|
22
|
+
i.fa.fa-pencil-square-o
|
23
|
+
= t('shared.actions.edit')
|
24
|
+
= link_to [@survey, @version, @question_group, @question] , class: "btn btn-danger #{'disabled' if @version.active}", method: :delete, data: { confirm: t('shared.actions.ask_for_deletion') } do
|
25
|
+
i.fa.fa-remove
|
26
|
+
= t('shared.actions.delete')
|
@@ -0,0 +1,8 @@
|
|
1
|
+
= simple_form_for [@survey, session] do | f |
|
2
|
+
= f.input :token
|
3
|
+
= f.input :view_token
|
4
|
+
= f.input :answers_as_yaml, as: :text, hint: t('shared.yaml_lang_hint_html'), input_html: { cols: 60, rows: 10, class: 'yaml_lang' }
|
5
|
+
= f.input :completed, as: :boolean
|
6
|
+
= f.input :last_question_group_id, collection: session.version.question_groups,
|
7
|
+
label_method: ->(question_group){ t("#{question_group.position}: #{question_group.title || t('shared.untitled')}") }
|
8
|
+
= f.submit t('shared.save'), class: 'btn btn-success'
|
@@ -0,0 +1 @@
|
|
1
|
+
= render 'form', session: @session
|
@@ -0,0 +1 @@
|
|
1
|
+
= render 'form', survey: @survey
|
@@ -0,0 +1,34 @@
|
|
1
|
+
table.table.table-striped
|
2
|
+
thead
|
3
|
+
tr
|
4
|
+
th.position width='1%' #
|
5
|
+
th.name = Helena::Survey.human_attribute_name(:name)
|
6
|
+
th.lanugage width='20%' = Helena::Survey.human_attribute_name(:language)
|
7
|
+
th.created_at width='10%' = Helena::Survey.human_attribute_name(:created_at)
|
8
|
+
th width='20%'
|
9
|
+
= link_to new_survey_path, class: 'btn btn-default pull-right', role: 'button' do
|
10
|
+
i.fa.fa-plus-square-o
|
11
|
+
= t('shared.actions.new')
|
12
|
+
= link_to new_import_survey_path, class: 'btn btn-default pull-right', role: 'button' do
|
13
|
+
i.fa.fa-caret-square-o-up
|
14
|
+
= t('.import')
|
15
|
+
tbody
|
16
|
+
- @surveys.each do |survey|
|
17
|
+
tr id="#{dom_id(survey)}"
|
18
|
+
td.position = survey.position
|
19
|
+
td.name = link_to survey.name, survey_path(survey)
|
20
|
+
td.language = survey.language
|
21
|
+
td.create_at = distance_of_time_in_words_to_now(survey.created_at)
|
22
|
+
td.actions
|
23
|
+
.pull-right
|
24
|
+
= link_to survey, class: 'btn btn-default', role: 'button' do
|
25
|
+
i.fa.fa-angle-right
|
26
|
+
= t('shared.actions.view')
|
27
|
+
|
28
|
+
= link_to edit_survey_path(survey), class: 'btn btn-default', role: 'button' do
|
29
|
+
i.fa.fa-pencil-square-o
|
30
|
+
= t('shared.actions.edit')
|
31
|
+
|
32
|
+
= link_to survey, class: 'btn btn-danger', method: :delete, data: { confirm: t('shared.actions.ask_for_deletion') } do
|
33
|
+
i.fa.fa-remove
|
34
|
+
= t('shared.actions.delete')
|
@@ -0,0 +1 @@
|
|
1
|
+
= render 'form', survey: @survey
|
@@ -0,0 +1,120 @@
|
|
1
|
+
div id="#{dom_id(@survey)}"
|
2
|
+
.row
|
3
|
+
.col-md-10
|
4
|
+
dl.dl-horizontal
|
5
|
+
dt #
|
6
|
+
dd = @survey.position
|
7
|
+
|
8
|
+
dt = Helena::Survey.human_attribute_name :name
|
9
|
+
dd = @survey.name
|
10
|
+
|
11
|
+
dt = Helena::Survey.human_attribute_name :created_at
|
12
|
+
dd = distance_of_time_in_words_to_now(@survey.created_at)
|
13
|
+
|
14
|
+
dt = Helena::Survey.human_attribute_name :language
|
15
|
+
dd = @survey.language
|
16
|
+
.col-md-2
|
17
|
+
.pull-right
|
18
|
+
= link_to edit_survey_path(@survey), class: 'btn btn-default', role: 'button' do
|
19
|
+
i.fa.fa-pencil-square-o
|
20
|
+
= t('shared.actions.edit')
|
21
|
+
|
22
|
+
= link_to survey_path(@survey), class: 'btn btn-danger', method: :delete, data: { confirm: t('shared.actions.ask_for_deletion') } do
|
23
|
+
i.fa.fa-remove
|
24
|
+
= t('shared.actions.delete')
|
25
|
+
|
26
|
+
|
27
|
+
hr
|
28
|
+
|
29
|
+
h3 = Helena::Version.model_name.human(count: 2)
|
30
|
+
|
31
|
+
table.table.table-striped.versions
|
32
|
+
thead
|
33
|
+
tr
|
34
|
+
th.version width='5%' = Helena::Version.human_attribute_name(:version)
|
35
|
+
th.activity_state width='5%' = Helena::Version.human_attribute_name(:active)
|
36
|
+
th.notes = Helena::Version.human_attribute_name(:notes)
|
37
|
+
th.created_at width='10%' = Helena::Version.human_attribute_name(:created_at)
|
38
|
+
th width='20%'
|
39
|
+
= link_to new_survey_version_path(@survey), class: 'btn btn-default pull-right', role: 'button' do
|
40
|
+
i.fa.fa-plus-square-o
|
41
|
+
= t('shared.actions.new')
|
42
|
+
tbody
|
43
|
+
- @survey.versions.desc(:version).each do |version|
|
44
|
+
tr id="#{dom_id(version)}"
|
45
|
+
td.version = version.version
|
46
|
+
td.activity_state
|
47
|
+
- if version.active
|
48
|
+
span.label.label-success = t 'shared.active'
|
49
|
+
- else
|
50
|
+
span.label.label-default = t 'shared.inactive'
|
51
|
+
td.notes = version.notes
|
52
|
+
td.create_at = distance_of_time_in_words_to_now(version.created_at)
|
53
|
+
td.actions
|
54
|
+
.pull-right
|
55
|
+
|
56
|
+
= link_to [@survey, version], class: 'btn btn-default', role: 'button' do
|
57
|
+
i.fa.fa-angle-right
|
58
|
+
= t('shared.actions.view')
|
59
|
+
= link_to edit_survey_version_path(@survey, version), class: 'btn btn-default', role: 'button' do
|
60
|
+
i.fa.fa-pencil-square-o
|
61
|
+
= t('shared.actions.edit')
|
62
|
+
= link_to [@survey, version], class: "btn btn-danger #{'disabled' if version.active}", method: :delete, data: { confirm: t('shared.actions.ask_for_deletion') } do
|
63
|
+
i.fa.fa-remove
|
64
|
+
= t('shared.actions.delete')
|
65
|
+
|
66
|
+
- if @survey.versions.any?
|
67
|
+
hr
|
68
|
+
h3.pull-left = Helena::Session.model_name.human(count: 2)
|
69
|
+
= link_to survey_sessions_path(@survey, format: :csv), class: 'btn btn-default pull-right', role: 'button' do
|
70
|
+
i.fa.fa-download
|
71
|
+
= t('.export_sessions_as_csv')
|
72
|
+
|
73
|
+
= link_to survey_sessions_path(@survey, format: :json), class: 'btn btn-default pull-right', role: 'button' do
|
74
|
+
i.fa.fa-download
|
75
|
+
= t('.export_sessions_as_json')
|
76
|
+
|
77
|
+
table.table.table-striped.sessions
|
78
|
+
thead
|
79
|
+
tr
|
80
|
+
th.completed width='5%' = Helena::Session.human_attribute_name(:completed)
|
81
|
+
th.version width='5%' = Helena::Session.human_attribute_name(:version)
|
82
|
+
th.token = Helena::Session.human_attribute_name(:token)
|
83
|
+
th.view_token = Helena::Session.human_attribute_name(:view_token)
|
84
|
+
th.updated_at width='10%' = Helena::Session.human_attribute_name(:updated_at)
|
85
|
+
th.created_at width='10%' = Helena::Session.human_attribute_name(:created_at)
|
86
|
+
th width='20%'
|
87
|
+
= link_to new_survey_session_path(@survey), class: 'btn btn-default pull-right', role: 'button' do
|
88
|
+
i.fa.fa-plus-square-o
|
89
|
+
= t('shared.actions.new')
|
90
|
+
tfoot
|
91
|
+
tr
|
92
|
+
td colspan='7'
|
93
|
+
.pull-right
|
94
|
+
= paginate @sessions
|
95
|
+
|
96
|
+
tbody
|
97
|
+
- @sessions.each do |session|
|
98
|
+
tr id="#{dom_id(session)}"
|
99
|
+
td.completed
|
100
|
+
- if session.completed
|
101
|
+
span.label.label-success = t 'shared.completed'
|
102
|
+
- else
|
103
|
+
span.label.label-default = t 'shared.not_completed'
|
104
|
+
|
105
|
+
td.version = session.version.version
|
106
|
+
td.token = session.token
|
107
|
+
td.view_token = session.view_token
|
108
|
+
td.updated_at = distance_of_time_in_words_to_now(session.updated_at)
|
109
|
+
td.create_at = distance_of_time_in_words_to_now(session.created_at)
|
110
|
+
td.actions
|
111
|
+
.pull-right
|
112
|
+
= link_to helena.edit_session_path(session.token), class: 'btn btn-default', role: 'button' do
|
113
|
+
i.fa.fa-play
|
114
|
+
= t('shared.actions.run')
|
115
|
+
= link_to edit_survey_session_path(@survey, session), class: 'btn btn-default', role: 'button' do
|
116
|
+
i.fa.fa-pencil-square-o
|
117
|
+
= t('shared.actions.edit')
|
118
|
+
= link_to survey_session_path(@survey, session), class: 'btn btn-danger', method: :delete, data: { confirm: t('shared.actions.ask_for_deletion') } do
|
119
|
+
i.fa.fa-remove
|
120
|
+
= t('shared.actions.delete')
|
@@ -0,0 +1,14 @@
|
|
1
|
+
= simple_form_for [@survey, version] do | f |
|
2
|
+
= f.simple_fields_for :survey_detail do |detail|
|
3
|
+
= detail.input :title
|
4
|
+
= detail.input :description, as: :text, input_html: { cols: 60, rows: 10 }
|
5
|
+
= f.input :notes
|
6
|
+
= f.input :session_report, as: :text, hint: t('.slim_lang_hint_html'), input_html: { cols: 60, rows: 10, class: 'slim_lang' }
|
7
|
+
- if f.object.persisted?
|
8
|
+
= f.input :active, as: :boolean
|
9
|
+
|
10
|
+
= f.simple_fields_for :settings do |setting|
|
11
|
+
= setting.input :display_progressbar, as: :boolean,
|
12
|
+
label: t('.display_progressbar'),
|
13
|
+
input_html: { checked: (version.settings['display_progressbar'] == '1') }
|
14
|
+
= f.submit t('shared.save'), class: 'btn btn-success'
|
@@ -0,0 +1 @@
|
|
1
|
+
= render 'form', version: @version
|
@@ -0,0 +1 @@
|
|
1
|
+
= render 'form', version: @version
|
@@ -0,0 +1,68 @@
|
|
1
|
+
div id="#{dom_id(@version)}"
|
2
|
+
.row
|
3
|
+
.col-md-10
|
4
|
+
dl.dl-horizontal
|
5
|
+
- if @version.survey_detail
|
6
|
+
dt = Helena::SurveyDetail.human_attribute_name :title
|
7
|
+
dd = @version.survey_detail.title
|
8
|
+
|
9
|
+
dt = Helena::SurveyDetail.human_attribute_name :description
|
10
|
+
dd = @version.survey_detail.description
|
11
|
+
|
12
|
+
dt = Helena::Version.human_attribute_name :active
|
13
|
+
dd
|
14
|
+
- if @version.active
|
15
|
+
span.label.label-success = t 'shared.active'
|
16
|
+
- else
|
17
|
+
span.label.label-default = t 'shared.inactive'
|
18
|
+
|
19
|
+
dt = Helena::Version.human_attribute_name :version
|
20
|
+
dd = @version.version
|
21
|
+
|
22
|
+
dt = Helena::Version.human_attribute_name :notes
|
23
|
+
dd = @version.notes
|
24
|
+
|
25
|
+
dt = Helena::Version.human_attribute_name :created_at
|
26
|
+
dd = distance_of_time_in_words_to_now(@version.created_at)
|
27
|
+
|
28
|
+
dt = Helena::Version.human_attribute_name :session_report
|
29
|
+
dd = truncate_between strip_tags(sanitize @version.session_report), 100
|
30
|
+
.col-md-2
|
31
|
+
.pull-right
|
32
|
+
= link_to edit_survey_version_path(@survey, @version), class: 'btn btn-default', role: 'button' do
|
33
|
+
i.fa.fa-pencil-square-o
|
34
|
+
= t('shared.actions.edit')
|
35
|
+
= link_to [@survey, @version], class: "btn btn-danger #{'disabled' if @version.active}", method: :delete, data: { confirm: t('shared.actions.ask_for_deletion') } do
|
36
|
+
i.fa.fa-remove
|
37
|
+
= t('shared.actions.delete')
|
38
|
+
hr
|
39
|
+
|
40
|
+
h3 = Helena::QuestionGroup.model_name.human(count: 2)
|
41
|
+
|
42
|
+
table.table.table-striped.question_groups
|
43
|
+
thead
|
44
|
+
tr
|
45
|
+
th.position width='5%' = Helena::QuestionGroup.human_attribute_name(:position)
|
46
|
+
th.title = Helena::QuestionGroup.human_attribute_name(:title)
|
47
|
+
th.created_at width='10%' = Helena::QuestionGroup.human_attribute_name(:created_at)
|
48
|
+
th width='20%'
|
49
|
+
= link_to [:new, @survey, @version, :question_group], class: "btn btn-default pull-right #{'disabled' if @version.active}", role: 'button' do
|
50
|
+
i.fa.fa-plus-square-o
|
51
|
+
= t('shared.actions.new')
|
52
|
+
tbody
|
53
|
+
- @version.question_groups.asc(:position).each do |question_group|
|
54
|
+
tr id="#{dom_id(question_group)}"
|
55
|
+
td.position = question_group.position
|
56
|
+
td.title = question_group.title
|
57
|
+
td.create_at = distance_of_time_in_words_to_now(question_group.created_at)
|
58
|
+
td.actions
|
59
|
+
.pull-right
|
60
|
+
= link_to [@survey, @version, question_group], class: 'btn btn-default', role: 'button' do
|
61
|
+
i.fa.fa-angle-right
|
62
|
+
= t('shared.actions.view')
|
63
|
+
= link_to [:edit, @survey, @version, question_group], class: "btn btn-default #{'disabled' if @version.active}", role: 'button' do
|
64
|
+
i.fa.fa-pencil-square-o
|
65
|
+
= t('shared.actions.edit')
|
66
|
+
= link_to [@survey, @version, question_group], class: "btn btn-danger #{'disabled' if @version.active}", method: :delete, data: { confirm: t('shared.actions.ask_for_deletion') } do
|
67
|
+
i.fa.fa-remove
|
68
|
+
= t('shared.actions.delete')
|
@@ -0,0 +1,10 @@
|
|
1
|
+
doctype html
|
2
|
+
html
|
3
|
+
= render 'helena_administration/application/head'
|
4
|
+
|
5
|
+
body class=controller.controller_name
|
6
|
+
= render 'helena_administration/application/header'
|
7
|
+
|
8
|
+
.container-fluid
|
9
|
+
= render 'helena_administration/application/flash_messages'
|
10
|
+
= yield
|
data/bin/rails
ADDED
@@ -0,0 +1,12 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
# This command will automatically be run when you run "rails" with Rails 4 gems installed from the root of your application.
|
3
|
+
|
4
|
+
ENGINE_ROOT = File.expand_path('../..', __FILE__)
|
5
|
+
ENGINE_PATH = File.expand_path('../../lib/helena_administration/engine', __FILE__)
|
6
|
+
|
7
|
+
# Set up gems listed in the Gemfile.
|
8
|
+
ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../../Gemfile', __FILE__)
|
9
|
+
require 'bundler/setup' if File.exist?(ENV['BUNDLE_GEMFILE'])
|
10
|
+
|
11
|
+
require 'rails/all'
|
12
|
+
require 'rails/engine/commands'
|
data/config/compass.rb
ADDED
@@ -0,0 +1,26 @@
|
|
1
|
+
# This file stores config values that html5-rails uses
|
2
|
+
# to render various code blocks and features.
|
3
|
+
# (i.e. Google Analytics)
|
4
|
+
#
|
5
|
+
# Leaving a value blank will result in that code block
|
6
|
+
# or feature not rendering.
|
7
|
+
#
|
8
|
+
# You can also define any key/value pair in you ENV and
|
9
|
+
# it will take precidence over the yml value.
|
10
|
+
# e.g. ENV['google_account_id'] || yml[:google_account_id]
|
11
|
+
|
12
|
+
defaults: &defaults
|
13
|
+
:google_account_id: '' # Google Analytics
|
14
|
+
:google_api_key: '' # Google APIs
|
15
|
+
|
16
|
+
:development:
|
17
|
+
<<: *defaults
|
18
|
+
|
19
|
+
:test:
|
20
|
+
<<: *defaults
|
21
|
+
|
22
|
+
:staging:
|
23
|
+
<<: *defaults
|
24
|
+
|
25
|
+
:production:
|
26
|
+
<<: *defaults
|