tramway-sport_school 1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/MIT-LICENSE +20 -0
- data/README.md +28 -0
- data/Rakefile +36 -0
- data/app/assets/config/tramway_sport_school_manifest.js +2 -0
- data/app/assets/images/tramway/sport_school/1.jpg +0 -0
- data/app/assets/images/tramway/sport_school/11.jpg +0 -0
- data/app/assets/images/tramway/sport_school/12.jpg +0 -0
- data/app/assets/images/tramway/sport_school/13.jpg +0 -0
- data/app/assets/images/tramway/sport_school/6.jpg +0 -0
- data/app/assets/images/tramway/sport_school/7.jpg +0 -0
- data/app/assets/images/tramway/sport_school/9.jpg +0 -0
- data/app/assets/images/tramway/sport_school/admin.jpg +0 -0
- data/app/assets/images/tramway/sport_school/annvs73.jpg +0 -0
- data/app/assets/images/tramway/sport_school/default.jpg +0 -0
- data/app/assets/images/tramway/sport_school/director.jpg +0 -0
- data/app/assets/images/tramway/sport_school/gosuslugi.jpg +0 -0
- data/app/assets/images/tramway/sport_school/knnvs.png +0 -0
- data/app/assets/images/tramway/sport_school/min_sport.jpg +0 -0
- data/app/assets/images/tramway/sport_school/rule_sport.jpg +0 -0
- data/app/assets/javascripts/tramway/sport_school/application.js.coffee +13 -0
- data/app/assets/javascripts/tramway/sport_school/jquery.scrollTo.min.js +7 -0
- data/app/assets/javascripts/tramway/sport_school/tramway/sport_school/web/welcome.js +2 -0
- data/app/assets/javascripts/tramway/sport_school/web/welcome.js +2 -0
- data/app/assets/stylesheets/tramway/sport_school/application.css.sass +7 -0
- data/app/controllers/tramway/sport_school/application_controller.rb +13 -0
- data/app/controllers/tramway/sport_school/web/welcome_controller.rb +13 -0
- data/app/decorators/tramway/sport_school/cards/trainer_decorator.rb +11 -0
- data/app/decorators/tramway/sport_school/document_decorator.rb +24 -0
- data/app/decorators/tramway/sport_school/features/kind_sport_decorator.rb +11 -0
- data/app/decorators/tramway/sport_school/institution_decorator.rb +9 -0
- data/app/decorators/tramway/sport_school/kind_sport_decorator.rb +24 -0
- data/app/decorators/tramway/sport_school/organization_decorator.rb +24 -0
- data/app/decorators/tramway/sport_school/trainer_decorator.rb +38 -0
- data/app/forms/tramway/sport_school/document_form.rb +9 -0
- data/app/forms/tramway/sport_school/institution_form.rb +14 -0
- data/app/forms/tramway/sport_school/kind_sport_form.rb +9 -0
- data/app/forms/tramway/sport_school/organization_form.rb +13 -0
- data/app/forms/tramway/sport_school/trainer_form.rb +14 -0
- data/app/helpers/tramway/sport_school/application_helper.rb +7 -0
- data/app/helpers/tramway/sport_school/web/welcome_helper.rb +5 -0
- data/app/jobs/tramway/sport_school/application_job.rb +6 -0
- data/app/mailers/tramway/sport_school/application_mailer.rb +8 -0
- data/app/models/tramway/sport_school/document.rb +18 -0
- data/app/models/tramway/sport_school/institution.rb +5 -0
- data/app/models/tramway/sport_school/kind_sport.rb +21 -0
- data/app/models/tramway/sport_school/organization.rb +21 -0
- data/app/models/tramway/sport_school/trainer.rb +23 -0
- data/app/views/tramway/sport_school/web/welcome/_adults.html.haml +23 -0
- data/app/views/tramway/sport_school/web/welcome/_contacts.html.haml +3 -0
- data/app/views/tramway/sport_school/web/welcome/_directors_text.html.haml +18 -0
- data/app/views/tramway/sport_school/web/welcome/_footer.html.haml +28 -0
- data/app/views/tramway/sport_school/web/welcome/_header.html.haml +17 -0
- data/app/views/tramway/sport_school/web/welcome/_parents.html.haml +15 -0
- data/app/views/tramway/sport_school/web/welcome/_schoolkids.html.haml +3 -0
- data/app/views/tramway/sport_school/web/welcome/index.html.haml +43 -0
- data/app/views/tramway/sport_school/web/welcome/shared/_block.html.haml +5 -0
- data/app/views/tramway/sport_school/web/welcome/shared/_kind_sport.html.haml +4 -0
- data/app/views/tramway/sport_school/web/welcome/shared/_man_card.html.haml +5 -0
- data/config/initializers/simple_form.rb +22 -0
- data/config/initializers/simple_form_bootstrap.rb +133 -0
- data/config/initializers/tramway.rb +8 -0
- data/config/locales/models.yml +64 -0
- data/config/locales/ru.yml +16 -0
- data/config/locales/state_machines.yml +28 -0
- data/config/routes.rb +11 -0
- data/db/migrate/20180117222018_create_tramway_user_users.rb +18 -0
- data/db/migrate/20180117222019_create_tramway_sport_school_kind_sports.rb +9 -0
- data/db/migrate/20180117222020_add_state_to_tramway_sport_school_kind_sports.rb +6 -0
- data/db/migrate/20180117222021_add_image_to_tramway_sport_school_kind_sports.rb +5 -0
- data/db/migrate/20180117222022_create_tramway_sport_school_trainers.rb +13 -0
- data/db/migrate/20180117223438_install_audited.rb +30 -0
- data/lib/tasks/tramway/sport_school_tasks.rake +4 -0
- data/lib/tramway/sport_school.rb +8 -0
- data/lib/tramway/sport_school/engine.rb +9 -0
- data/lib/tramway/sport_school/generates/install_generator.rb +37 -0
- data/lib/tramway/sport_school/generates/templates/add_contacts_to_tramway_sport_school_institutions.rb +6 -0
- data/lib/tramway/sport_school/generates/templates/add_degree_to_tramway_sport_school_trainers.rb +6 -0
- data/lib/tramway/sport_school/generates/templates/add_description_to_tramway_sport_school_kind_sports.rb +5 -0
- data/lib/tramway/sport_school/generates/templates/add_description_to_tramway_sport_school_trainers.rb +5 -0
- data/lib/tramway/sport_school/generates/templates/add_image_to_tramway_sport_school_kind_sports.rb +5 -0
- data/lib/tramway/sport_school/generates/templates/add_ll_to_tramway_sport_school_institutions.rb +6 -0
- data/lib/tramway/sport_school/generates/templates/add_state_to_tramway_sport_school_kind_sports.rb +6 -0
- data/lib/tramway/sport_school/generates/templates/create_tramway_sport_school_documents.rb +12 -0
- data/lib/tramway/sport_school/generates/templates/create_tramway_sport_school_institutions.rb +12 -0
- data/lib/tramway/sport_school/generates/templates/create_tramway_sport_school_kind_sports.rb +9 -0
- data/lib/tramway/sport_school/generates/templates/create_tramway_sport_school_organizations.rb +15 -0
- data/lib/tramway/sport_school/generates/templates/create_tramway_sport_school_trainers.rb +13 -0
- data/lib/tramway/sport_school/version.rb +5 -0
- metadata +146 -0
@@ -0,0 +1,18 @@
|
|
1
|
+
module Tramway::SportSchool
|
2
|
+
class Document < ::Tramway::Core::ApplicationRecord
|
3
|
+
mount_uploader :file, FileUploader
|
4
|
+
|
5
|
+
state_machine :view_state, initial: :published do
|
6
|
+
state :published
|
7
|
+
state :hidden
|
8
|
+
|
9
|
+
event :publish do
|
10
|
+
transition hidden: :published
|
11
|
+
end
|
12
|
+
|
13
|
+
event :hide do
|
14
|
+
transition published: :hidden
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
module Tramway::SportSchool
|
2
|
+
class KindSport < ::Tramway::Core::ApplicationRecord
|
3
|
+
mount_uploader :image, PhotoUploader
|
4
|
+
|
5
|
+
state_machine :view_state, initial: :published do
|
6
|
+
state :published
|
7
|
+
state :hidden
|
8
|
+
|
9
|
+
event :publish do
|
10
|
+
transition hidden: :published
|
11
|
+
end
|
12
|
+
|
13
|
+
event :hide do
|
14
|
+
transition published: :hidden
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
scope :published, -> { where view_state: :published }
|
19
|
+
scope :hidden, -> { where view_state: :hidden }
|
20
|
+
end
|
21
|
+
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
class Tramway::SportSchool::Organization < ::Tramway::Core::ApplicationRecord
|
2
|
+
mount_uploader :logo, PhotoUploader
|
3
|
+
|
4
|
+
enumerize :organization_type, in: [ :required, :partner, :sponsor ], default: :required
|
5
|
+
|
6
|
+
state_machine :view_state, initial: :published do
|
7
|
+
state :published
|
8
|
+
state :hidden
|
9
|
+
|
10
|
+
event :publish do
|
11
|
+
transition hidden: :published
|
12
|
+
end
|
13
|
+
|
14
|
+
event :hide do
|
15
|
+
transition published: :hidden
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
scope :published, -> { where view_state: :published }
|
20
|
+
scope :hidden, -> { where view_state: :hidden }
|
21
|
+
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
module Tramway::SportSchool
|
2
|
+
class Trainer < ::Tramway::Core::ApplicationRecord
|
3
|
+
enumerize :degree, in: [ :master_of_sport, :candidate_master_of_sports ]
|
4
|
+
|
5
|
+
mount_uploader :photo, PhotoUploader
|
6
|
+
|
7
|
+
state_machine :view_state, initial: :published do
|
8
|
+
state :published
|
9
|
+
state :hidden
|
10
|
+
|
11
|
+
event :publish do
|
12
|
+
transition hidden: :published
|
13
|
+
end
|
14
|
+
|
15
|
+
event :hide do
|
16
|
+
transition published: :hidden
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
scope :published, -> { where view_state: :published }
|
21
|
+
scope :hidden, -> { where view_state: :hidden }
|
22
|
+
end
|
23
|
+
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
= render 'tramway/sport_school/web/welcome/shared/block', id: :adults do
|
2
|
+
%h1.cover-heading Ищете удобное место для занятия спортом?
|
3
|
+
%p.lead
|
4
|
+
Не знаете, как занять себя в свободное время? Любите спорт, но не знаете куда пойти? Приходите к нам! В нашем обновлённом спортивном зале вас ждут:
|
5
|
+
%ul
|
6
|
+
%li тренажеры на все группы мышц;
|
7
|
+
%li квалифицированный тренер, под чьим руководством вы будете заниматься, а это значит, что никаких травм – только результат;
|
8
|
+
%li супер-низкие цены.
|
9
|
+
|
10
|
+
= render 'tramway/sport_school/web/welcome/shared/block', id: :kind_sports do
|
11
|
+
.row
|
12
|
+
= render 'tramway/sport_school/web/welcome/shared/kind_sport', photo: 'tramway/sport_school/1.jpg', title: 'Шахматы'
|
13
|
+
= render 'tramway/sport_school/web/welcome/shared/kind_sport', photo: 'tramway/sport_school/default.jpg', title: 'Горнолыжный спорт'
|
14
|
+
= render 'tramway/sport_school/web/welcome/shared/kind_sport', photo: 'tramway/sport_school/default.jpg', title: 'Дзюдо'
|
15
|
+
= render 'tramway/sport_school/web/welcome/shared/kind_sport', photo: 'tramway/sport_school/default.jpg', title: 'Гиревой спорт'
|
16
|
+
= render 'tramway/sport_school/web/welcome/shared/kind_sport', photo: 'tramway/sport_school/default.jpg', title: 'Спортивное ориентирование'
|
17
|
+
= render 'tramway/sport_school/web/welcome/shared/kind_sport', photo: 'tramway/sport_school/6.jpg', title: 'Бокс'
|
18
|
+
= render 'tramway/sport_school/web/welcome/shared/kind_sport', photo: 'tramway/sport_school/7.jpg', title: 'Лыжные гонки'
|
19
|
+
= render 'tramway/sport_school/web/welcome/shared/kind_sport', photo: 'tramway/sport_school/default.jpg', title: 'Каратэ'
|
20
|
+
= render 'tramway/sport_school/web/welcome/shared/kind_sport', photo: 'tramway/sport_school/9.jpg', title: 'Спортивная аэробика'
|
21
|
+
= render 'tramway/sport_school/web/welcome/shared/kind_sport', photo: 'tramway/sport_school/11.jpg', title: 'Армрестлинг'
|
22
|
+
= render 'tramway/sport_school/web/welcome/shared/kind_sport', photo: 'tramway/sport_school/12.jpg', title: 'Футбол'
|
23
|
+
= render 'tramway/sport_school/web/welcome/shared/kind_sport', photo: 'tramway/sport_school/13.jpg', title: 'Сноуборд'
|
@@ -0,0 +1,18 @@
|
|
1
|
+
= render 'tramway/sport_school/web/welcome/shared/block', id: :directors_text do
|
2
|
+
.row.justify-content-center
|
3
|
+
.media
|
4
|
+
= image_tag 'tramway/sport_school/director.jpg', class: 'align-self-center mr-3', style: 'height: 20vw'
|
5
|
+
.media-body.text-left
|
6
|
+
Доброго времени суток, меня зовут Егоров Рамиль Евгеньевич!
|
7
|
+
%br
|
8
|
+
Всю свою сознательную жизнь я посвятил спорту.
|
9
|
+
%br
|
10
|
+
С большим трепетом я вспоминаю свои школьные годы и первые шаги на старте в будущее. В будущее, где я буду носить гордое звание - спортсмен! Конечно, здесь необходимо упомянуть человека, которые сопровождали меня в начале моего пути - это Заслуженный тренер России Курдюмов Анатолий Константинович и ЗТР Мерчин Владимир Александрович. Именно они помогли мне понять, что спорт - это гораздо больше, чем ежедневные тренировки и выработка определённых рефлексов. Спорт - это здоровье, сила воли, дисциплинированность, достоинство, умение самоанализа. Спорт - это образ жизни. Он объяснил мне, что для спортсмена победа важнее участия, но и не всякое поражение должно восприниматься как проигрыш. И за это я благодарен больше всего. Ведь буквально пару лет назад я и сам был в качестве тренера и пытался объяснить совсем юным мальчишкам, каким и я тогда был, что прежде чем заслужить свою первую победу придётся не раз прочувствовать поражение, но согласитесь, что оно того стоит!
|
11
|
+
%br
|
12
|
+
Без преувеличения могу сказать, что эта школа одна из лучших в городе! Ежегодно сотни юных спортсменов ДЮСШ Ленинского района занимают призовые места на межрегиональных и международных соревнованиях доказывая всему миру, что в Ульяновске одно из лучших дополнительных образований в сфере спорта. Конечно, это было бы невозможно без тренеров, которые не жалея себя воспитывают в юных ребятах будущих именитых спортсменов. На сегодняшний день в школе работают 13 отделений по олимпийским и неолимпийским видам спорта, учатся более 1000 спортсменов, работают 30 тренеров-преподавателей и я уверен, что это не предел!
|
13
|
+
%br
|
14
|
+
Если вы выберете нашу школу в качестве первой ступени в большой спорт – уверяю вас вы не пожалеете!
|
15
|
+
%br
|
16
|
+
%br
|
17
|
+
%h4
|
18
|
+
Директор ДЮСШ "Симбирск" Ленинского района города Ульяновска, Р.Е. Егоров
|
@@ -0,0 +1,28 @@
|
|
1
|
+
%footer
|
2
|
+
.row
|
3
|
+
.col
|
4
|
+
= link_to 'http://ulmeria.ru/' do
|
5
|
+
= image_tag 'tramway/sport_school/admin.jpg', class: 'img-thumbnail'
|
6
|
+
.col
|
7
|
+
= link_to 'http://sport.ulgov.ru/' do
|
8
|
+
= image_tag 'tramway/sport_school/min_sport.jpg', class: 'img-thumbnail'
|
9
|
+
.col
|
10
|
+
= link_to 'http://ulkms.ru/' do
|
11
|
+
= image_tag 'tramway/sport_school/rule_sport.jpg', class: 'img-thumbnail'
|
12
|
+
.col
|
13
|
+
= link_to 'http://knnvs.com/' do
|
14
|
+
= image_tag 'tramway/sport_school/knnvs.png', class: 'img-thumbnail'
|
15
|
+
.col
|
16
|
+
= link_to 'https://vk.com/annvs73' do
|
17
|
+
= image_tag 'tramway/sport_school/annvs73.jpg', class: 'img-thumbnail'
|
18
|
+
.col
|
19
|
+
= link_to 'http://gosuslugi.ru' do
|
20
|
+
= image_tag 'tramway/sport_school/gosuslugi.jpg', class: 'img-thumbnail'
|
21
|
+
.row
|
22
|
+
.col
|
23
|
+
%h5
|
24
|
+
Документы
|
25
|
+
%ul
|
26
|
+
- @documents.each do |document|
|
27
|
+
%li
|
28
|
+
= link_to document.title, document.file.url
|
@@ -0,0 +1,17 @@
|
|
1
|
+
.site-wrapper
|
2
|
+
.site-wrapper-inner
|
3
|
+
.cover-container
|
4
|
+
%main.inner.cover{ role: :main }
|
5
|
+
%h1.cover-heading Спортивная школа Ленинского района
|
6
|
+
%p.lead Главный слоган спортивной школы Ленинского района
|
7
|
+
%p.lead
|
8
|
+
- [ :parents, :schoolkids, :adults ].each do |block|
|
9
|
+
= link_to t("blocks.header_buttons.#{block}"), "##{block}", class: 'btn btn-lg btn-secondary scroll', data: { id: block }
|
10
|
+
.inner
|
11
|
+
%p
|
12
|
+
г.Ульяновск, ул.Марата, 9
|
13
|
+
%p
|
14
|
+
8(8422) 58-96-07
|
15
|
+
%p
|
16
|
+
= link_to fa_icon('vk 4x'), 'https://vk.com/'
|
17
|
+
= link_to fa_icon('twitter 4x'), 'https://twitter.com/'
|
@@ -0,0 +1,15 @@
|
|
1
|
+
= render 'tramway/sport_school/web/welcome/shared/block', id: :parents do
|
2
|
+
%h1.cover-heading{ style: 'color: white' } Мы находимся в центре города
|
3
|
+
%p.lead{ style: 'color: white' } Вы живете в Ленинском районе города Ульяновска? Или может быть ваш ребенок учится в одной из центральных школ города? Вы стали замечать, что у него есть способности к спорту? Тогда вам сюда!
|
4
|
+
|
5
|
+
|
6
|
+
= render 'tramway/sport_school/web/welcome/shared/block', id: :trainers do
|
7
|
+
.row
|
8
|
+
.col
|
9
|
+
%h1.cover-heading{ style: 'color: white' }
|
10
|
+
Опытный коллектив тренеров
|
11
|
+
%hr
|
12
|
+
.row
|
13
|
+
- @trainers.each do |trainer|
|
14
|
+
.col-2{ style: 'margin-top: 25px;' }
|
15
|
+
= render 'tramway/sport_school/web/welcome/shared/man_card', photo: trainer.photo.medium.url, name: trainer.initial_short_name, position: trainer.description
|
@@ -0,0 +1,43 @@
|
|
1
|
+
= content_for :head_content do
|
2
|
+
= stylesheet_link_tag 'tramway/sport_school/application', media: 'all'
|
3
|
+
= javascript_include_tag 'tramway/sport_school/application'
|
4
|
+
|
5
|
+
= content_for :application_name do
|
6
|
+
= @application.title || t('application.name')
|
7
|
+
|
8
|
+
= content_for :title do
|
9
|
+
= @application.title || t('application.name')
|
10
|
+
|
11
|
+
= content_for :application_tagline do
|
12
|
+
= @application.tagline || t('application.tagline')
|
13
|
+
|
14
|
+
= content_for :address do
|
15
|
+
= @institution.address
|
16
|
+
|
17
|
+
= content_for :phone do
|
18
|
+
= @institution.phone
|
19
|
+
|
20
|
+
= content_for :navbar do
|
21
|
+
- [ :parents, :schoolkids, :adults, :contacts ].each do |block|
|
22
|
+
= menu_item t("blocks.navbar_links.#{block}"), "##{block}"
|
23
|
+
|
24
|
+
= content_for :footer_links do
|
25
|
+
%h5.title
|
26
|
+
= plural Tramway::SportSchool::Document.model_name
|
27
|
+
%ul
|
28
|
+
- @documents.each do |document|
|
29
|
+
%li
|
30
|
+
= link_to document.title, document.file.url
|
31
|
+
|
32
|
+
= content_for :footer_logos do
|
33
|
+
- @organizations.each do |organization|
|
34
|
+
= image_tag organization.logo.url
|
35
|
+
|
36
|
+
= content_for :latitude do
|
37
|
+
= @institution.latitude
|
38
|
+
|
39
|
+
= content_for :longtitude do
|
40
|
+
= @institution.longtitude
|
41
|
+
- @collection_parents = @trainers
|
42
|
+
- @collection_kindsports = @kind_sports
|
43
|
+
- @collection_news = @news
|
@@ -0,0 +1,22 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
SimpleForm.setup do |config|
|
3
|
+
config.wrappers :default, class: :input,
|
4
|
+
hint_class: :field_with_hint, error_class: :field_with_errors do |b|
|
5
|
+
b.use :html5
|
6
|
+
b.use :placeholder
|
7
|
+
b.optional :maxlength
|
8
|
+
b.optional :pattern
|
9
|
+
b.optional :min_max
|
10
|
+
b.optional :readonly
|
11
|
+
b.use :label_input
|
12
|
+
b.use :hint, wrap_with: { tag: :span, class: :hint }
|
13
|
+
b.use :error, wrap_with: { tag: :span, class: :error }
|
14
|
+
end
|
15
|
+
config.default_wrapper = :default
|
16
|
+
config.boolean_style = :nested
|
17
|
+
config.button_class = 'btn'
|
18
|
+
config.error_notification_tag = :div
|
19
|
+
config.error_notification_class = 'error_notification'
|
20
|
+
config.browser_validations = false
|
21
|
+
config.boolean_label_class = 'checkbox'
|
22
|
+
end
|
@@ -0,0 +1,133 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
SimpleForm.setup do |config|
|
4
|
+
config.error_notification_class = 'alert alert-danger'
|
5
|
+
config.button_class = 'btn btn-default'
|
6
|
+
config.boolean_label_class = nil
|
7
|
+
|
8
|
+
config.wrappers :vertical_form, tag: 'div', class: 'form-group', error_class: 'has-error' do |b|
|
9
|
+
b.use :html5
|
10
|
+
b.use :placeholder
|
11
|
+
b.optional :maxlength
|
12
|
+
b.optional :pattern
|
13
|
+
b.optional :min_max
|
14
|
+
b.optional :readonly
|
15
|
+
b.use :label, class: 'control-label'
|
16
|
+
|
17
|
+
b.use :input, class: 'form-control'
|
18
|
+
b.use :error, wrap_with: { tag: 'span', class: 'help-block' }
|
19
|
+
b.use :hint, wrap_with: { tag: 'p', class: 'help-block' }
|
20
|
+
end
|
21
|
+
|
22
|
+
config.wrappers :vertical_file_input, tag: 'div', class: 'form-group', error_class: 'has-error' do |b|
|
23
|
+
b.use :html5
|
24
|
+
b.use :placeholder
|
25
|
+
b.optional :maxlength
|
26
|
+
b.optional :readonly
|
27
|
+
b.use :label, class: 'control-label'
|
28
|
+
|
29
|
+
b.use :input
|
30
|
+
b.use :error, wrap_with: { tag: 'span', class: 'help-block' }
|
31
|
+
b.use :hint, wrap_with: { tag: 'p', class: 'help-block' }
|
32
|
+
end
|
33
|
+
|
34
|
+
config.wrappers :vertical_boolean, tag: 'div', class: 'form-group', error_class: 'has-error' do |b|
|
35
|
+
b.use :html5
|
36
|
+
b.optional :readonly
|
37
|
+
|
38
|
+
b.wrapper tag: 'div', class: 'checkbox' do |ba|
|
39
|
+
ba.use :label_input
|
40
|
+
end
|
41
|
+
|
42
|
+
b.use :error, wrap_with: { tag: 'span', class: 'help-block' }
|
43
|
+
b.use :hint, wrap_with: { tag: 'p', class: 'help-block' }
|
44
|
+
end
|
45
|
+
|
46
|
+
config.wrappers :vertical_radio_and_checkboxes, tag: 'div', class: 'form-group', error_class: 'has-error' do |b|
|
47
|
+
b.use :html5
|
48
|
+
b.optional :readonly
|
49
|
+
b.use :label, class: 'control-label'
|
50
|
+
b.use :input
|
51
|
+
b.use :error, wrap_with: { tag: 'span', class: 'help-block' }
|
52
|
+
b.use :hint, wrap_with: { tag: 'p', class: 'help-block' }
|
53
|
+
end
|
54
|
+
|
55
|
+
config.wrappers :horizontal_form, tag: 'div', class: 'form-group', error_class: 'has-error' do |b|
|
56
|
+
b.use :html5
|
57
|
+
b.use :placeholder
|
58
|
+
b.optional :maxlength
|
59
|
+
b.optional :pattern
|
60
|
+
b.optional :min_max
|
61
|
+
b.optional :readonly
|
62
|
+
b.use :label, class: 'col-sm-3 control-label'
|
63
|
+
|
64
|
+
b.wrapper tag: 'div', class: 'col-sm-9' do |ba|
|
65
|
+
ba.use :input, class: 'form-control'
|
66
|
+
ba.use :error, wrap_with: { tag: 'span', class: 'help-block' }
|
67
|
+
ba.use :hint, wrap_with: { tag: 'p', class: 'help-block' }
|
68
|
+
end
|
69
|
+
end
|
70
|
+
|
71
|
+
config.wrappers :horizontal_file_input, tag: 'div', class: 'form-group', error_class: 'has-error' do |b|
|
72
|
+
b.use :html5
|
73
|
+
b.use :placeholder
|
74
|
+
b.optional :maxlength
|
75
|
+
b.optional :readonly
|
76
|
+
b.use :label, class: 'col-sm-3 control-label'
|
77
|
+
|
78
|
+
b.wrapper tag: 'div', class: 'col-sm-9' do |ba|
|
79
|
+
ba.use :input
|
80
|
+
ba.use :error, wrap_with: { tag: 'span', class: 'help-block' }
|
81
|
+
ba.use :hint, wrap_with: { tag: 'p', class: 'help-block' }
|
82
|
+
end
|
83
|
+
end
|
84
|
+
|
85
|
+
config.wrappers :horizontal_boolean, tag: 'div', class: 'form-group', error_class: 'has-error' do |b|
|
86
|
+
b.use :html5
|
87
|
+
b.optional :readonly
|
88
|
+
|
89
|
+
b.wrapper tag: 'div', class: 'col-sm-offset-3 col-sm-9' do |wr|
|
90
|
+
wr.wrapper tag: 'div', class: 'checkbox' do |ba|
|
91
|
+
ba.use :label_input, class: 'col-sm-9'
|
92
|
+
end
|
93
|
+
|
94
|
+
wr.use :error, wrap_with: { tag: 'span', class: 'help-block' }
|
95
|
+
wr.use :hint, wrap_with: { tag: 'p', class: 'help-block' }
|
96
|
+
end
|
97
|
+
end
|
98
|
+
|
99
|
+
config.wrappers :horizontal_radio_and_checkboxes, tag: 'div', class: 'form-group', error_class: 'has-error' do |b|
|
100
|
+
b.use :html5
|
101
|
+
b.optional :readonly
|
102
|
+
|
103
|
+
b.use :label, class: 'col-sm-3 control-label'
|
104
|
+
|
105
|
+
b.wrapper tag: 'div', class: 'col-sm-9' do |ba|
|
106
|
+
ba.use :input
|
107
|
+
ba.use :error, wrap_with: { tag: 'span', class: 'help-block' }
|
108
|
+
ba.use :hint, wrap_with: { tag: 'p', class: 'help-block' }
|
109
|
+
end
|
110
|
+
end
|
111
|
+
|
112
|
+
config.wrappers :inline_form, tag: 'div', class: 'form-group', error_class: 'has-error' do |b|
|
113
|
+
b.use :html5
|
114
|
+
b.use :placeholder
|
115
|
+
b.optional :maxlength
|
116
|
+
b.optional :pattern
|
117
|
+
b.optional :min_max
|
118
|
+
b.optional :readonly
|
119
|
+
b.use :label, class: 'sr-only'
|
120
|
+
|
121
|
+
b.use :input, class: 'form-control'
|
122
|
+
b.use :error, wrap_with: { tag: 'span', class: 'help-block' }
|
123
|
+
b.use :hint, wrap_with: { tag: 'p', class: 'help-block' }
|
124
|
+
end
|
125
|
+
|
126
|
+
config.default_wrapper = :vertical_form
|
127
|
+
config.wrapper_mappings = {
|
128
|
+
check_boxes: :vertical_radio_and_checkboxes,
|
129
|
+
radio_buttons: :vertical_radio_and_checkboxes,
|
130
|
+
file: :vertical_file_input,
|
131
|
+
boolean: :vertical_boolean
|
132
|
+
}
|
133
|
+
end
|