tramway-event 1.2.2 → 1.2.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/controllers/tramway/event/events_controller.rb +1 -3
- data/app/decorators/tramway/event/event_decorator.rb +1 -0
- data/app/forms/tramway/event/event_form.rb +3 -2
- data/app/forms/tramway/event/participant_extended_form_creator.rb +6 -0
- data/app/helpers/tramway/event/application_helper.rb +1 -1
- data/app/models/tramway/event/event.rb +4 -0
- data/app/views/tramway/event/events/_show_page.html.haml +40 -0
- data/app/views/tramway/event/events/show.html.haml +1 -36
- data/app/views/tramway/event/participants/_form.html.haml +3 -3
- data/lib/tramway/event/generators/install_generator.rb +1 -0
- data/lib/tramway/event/generators/templates/add_status_to_tramway_event_events.rb +5 -0
- data/lib/tramway/event/version.rb +1 -1
- metadata +5 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 40a19f3282b75310d92a2fc3bd21bdcb00c555c77fb8287795f3f67b80bd9b04
|
4
|
+
data.tar.gz: c70a3ada7e467bb2f4cd8e939208a56424ae4529534f924ce4700a5a09582697
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ca38e0fa4e489fe6a7c3d2d36cd25b3e44292ae2cced5ef320d39f83ab38adf006f87614949f0ee4d0e4f57aaa3f3d9b7a9a98a12b1520b1dea45b51705a587b
|
7
|
+
data.tar.gz: d2f940e9b5d3993c877583e04da177452b20cb736a3969714487ae87bd7251b2e9b36606ee8a366c13ffc9d8e11b3f7f357e9116186a72497dbb578ad54c9cab
|
@@ -3,9 +3,7 @@ class Tramway::Event::EventsController < Tramway::Event::ApplicationController
|
|
3
3
|
|
4
4
|
def show
|
5
5
|
@event = ::Tramway::Event::EventDecorator.decorate ::Tramway::Event::Event.find params[:id]
|
6
|
-
|
7
|
-
form_class = ::Tramway::Core::ExtendableForm.new(class_name, *@event.participant_form_fields.inputs_list.map(&:title).map(&:to_sym))
|
8
|
-
@participant_form = form_class.new ::Tramway::Event::Participant.new
|
6
|
+
@participant_form = ::Tramway::Event::ParticipantExtendedFormCreator.create_form_class(request.uuid, @event).new ::Tramway::Event::Participant.new
|
9
7
|
@sections_as_features = @event.sections.order(position: :asc).map { |s| ::Tramway::Event::SectionFeatureDecorator.decorate s }
|
10
8
|
@sections = @event.sections.order(position: :asc).map { |s| ::Tramway::Event::SectionDecorator.decorate s }
|
11
9
|
end
|
@@ -1,5 +1,5 @@
|
|
1
1
|
class Tramway::Event::EventForm < ::Tramway::Core::ApplicationForm
|
2
|
-
properties :title, :description, :begin_date, :end_date, :photo
|
2
|
+
properties :title, :description, :begin_date, :end_date, :photo, :status
|
3
3
|
|
4
4
|
def initialize(object)
|
5
5
|
form_object = super object
|
@@ -7,7 +7,8 @@ class Tramway::Event::EventForm < ::Tramway::Core::ApplicationForm
|
|
7
7
|
description: :ckeditor,
|
8
8
|
begin_date: :default,
|
9
9
|
end_date: :default,
|
10
|
-
photo: :file
|
10
|
+
photo: :file,
|
11
|
+
status: :default
|
11
12
|
form_object
|
12
13
|
end
|
13
14
|
end
|
@@ -0,0 +1,6 @@
|
|
1
|
+
class Tramway::Event::ParticipantExtendedFormCreator
|
2
|
+
def self.create_form_class(uuid, event)
|
3
|
+
class_name = "ParticipantExtendedForm#{uuid.gsub('-', '')}"
|
4
|
+
::Tramway::Core::ExtendableForm.new(class_name, *event.participant_form_fields.inputs_list.map(&:title).map(&:to_sym))
|
5
|
+
end
|
6
|
+
end
|
@@ -4,7 +4,7 @@ module Tramway
|
|
4
4
|
module Event
|
5
5
|
module ApplicationHelper
|
6
6
|
include ::FontAwesome::Rails::IconHelper
|
7
|
-
|
7
|
+
#extend ::Tramway::Collection::Helper
|
8
8
|
def collection_list_by(name:)
|
9
9
|
require name # needed to load class name with collection
|
10
10
|
unless ::Tramway::Collection.descendants.map(&:to_s).include?(name.camelize)
|
@@ -4,4 +4,8 @@ class Tramway::Event::Event < ::Tramway::Event::ApplicationRecord
|
|
4
4
|
has_many :participants, class_name: 'Tramway::Event::Participant'
|
5
5
|
has_many :participant_form_fields, class_name: 'Tramway::Event::ParticipantFormField'
|
6
6
|
has_many :sections, class_name: 'Tramway::Event::Section'
|
7
|
+
|
8
|
+
enumerize :status, default: :common, in: [ :common, :main ]
|
9
|
+
|
10
|
+
scope :main_event, -> { where(status: :main).last }
|
7
11
|
end
|
@@ -0,0 +1,40 @@
|
|
1
|
+
= stylesheet_link_tag 'tramway/event/events/show'
|
2
|
+
- if params[:flash] == 'success'
|
3
|
+
.alert.alert-success{role: "alert"}
|
4
|
+
%button.close{"aria-label" => "Close", "data-dismiss" => "alert", type: "button"}
|
5
|
+
%span{"aria-hidden" => "true"} ×
|
6
|
+
%h4.alert-heading Заявка успешно отправлена!
|
7
|
+
%p Орг.комитет мероприятия свяжется с вами по одному из указанных вами каналов связи: телефон, email, страница ВКонтакте
|
8
|
+
%hr/
|
9
|
+
%p.mb-0
|
10
|
+
По всем вопросам обращайтесь по телефону
|
11
|
+
= tel_tag '+79278023244'
|
12
|
+
или пишите на email
|
13
|
+
= mail_to 'kalashnikov@ulmic.ru'
|
14
|
+
- if params[:flash] == 'error'
|
15
|
+
.alert.alert-danger{role: "alert"}
|
16
|
+
%button.close{"aria-label" => "Close", "data-dismiss" => "alert", type: "button"}
|
17
|
+
%span{"aria-hidden" => "true"} ×
|
18
|
+
%h4.alert-heading Ошибка при отправлении заявки!
|
19
|
+
%p Подробности ошибки описаны ниже в форме приёма заявок
|
20
|
+
%hr/
|
21
|
+
%p.mb-0
|
22
|
+
Если ошибка повторяется или не отображается, обращайтесь по телефону
|
23
|
+
= tel_tag '+79278023244'
|
24
|
+
или пишите на email
|
25
|
+
= mail_to 'kalashnikov@ulmic.ru'
|
26
|
+
- if request.path == ::Tramway::Event::Engine.routes.url_helpers.event_path(event.id)
|
27
|
+
= render 'tramway/landing/blocks/templates/full_page', block: event, buttons: []
|
28
|
+
%main
|
29
|
+
.container
|
30
|
+
= render 'tramway/landing/blocks/templates/features_list', block: OpenStruct.new(title: "Направления IT Way'18", description: "Вы можете выбрать любое из направлений", anchor: :features), collection: sections_as_features
|
31
|
+
%br
|
32
|
+
.row
|
33
|
+
!= event.description
|
34
|
+
%hr
|
35
|
+
= render 'tramway/event/participants/form', event: event
|
36
|
+
%br
|
37
|
+
- sections.each_with_index do |section, index|
|
38
|
+
= render 'tramway/landing/blocks/templates/section_with_image_and_text', block: section
|
39
|
+
- if index < sections.count - 1
|
40
|
+
%br
|
@@ -1,39 +1,4 @@
|
|
1
1
|
- content_for :title do
|
2
2
|
= @event.title
|
3
3
|
- content_for :body_content do
|
4
|
-
=
|
5
|
-
- if params[:flash] == 'success'
|
6
|
-
.alert.alert-success{role: "alert"}
|
7
|
-
%button.close{"aria-label" => "Close", "data-dismiss" => "alert", type: "button"}
|
8
|
-
%span{"aria-hidden" => "true"} ×
|
9
|
-
%h4.alert-heading Заявка успешно отправлена!
|
10
|
-
%p Орг.комитет мероприятия свяжется с вами по одному из указанных вами каналов связи: телефон, email, страница ВКонтакте
|
11
|
-
%hr/
|
12
|
-
%p.mb-0
|
13
|
-
По всем вопросам обращайтесь по телефону
|
14
|
-
= tel_tag '+79278023244'
|
15
|
-
или пишите на email
|
16
|
-
= mail_to 'kalashnikov@ulmic.ru'
|
17
|
-
- if params[:flash] == 'error'
|
18
|
-
.alert.alert-danger{role: "alert"}
|
19
|
-
%button.close{"aria-label" => "Close", "data-dismiss" => "alert", type: "button"}
|
20
|
-
%span{"aria-hidden" => "true"} ×
|
21
|
-
%h4.alert-heading Ошибка при отправлении заявки!
|
22
|
-
%p Подробности ошибки описаны ниже в форме приёма заявок
|
23
|
-
%hr/
|
24
|
-
%p.mb-0
|
25
|
-
Если ошибка повторяется или не отображается, обращайтесь по телефону
|
26
|
-
= tel_tag '+79278023244'
|
27
|
-
или пишите на email
|
28
|
-
= mail_to 'kalashnikov@ulmic.ru'
|
29
|
-
= render 'tramway/landing/blocks/templates/full_page', block: @event, buttons: []
|
30
|
-
%main
|
31
|
-
.container
|
32
|
-
= render 'tramway/landing/blocks/templates/features_list', block: OpenStruct.new(title: "Направления IT Way'18", description: "Вы можете выбрать любое из направлений", anchor: :features), collection: @sections_as_features
|
33
|
-
%hr
|
34
|
-
= render 'tramway/event/participants/form'
|
35
|
-
%br
|
36
|
-
- @sections.each_with_index do |section, index|
|
37
|
-
= render 'tramway/landing/blocks/templates/section_with_image_and_text', block: section
|
38
|
-
- if index < @sections.count - 1
|
39
|
-
%br
|
4
|
+
= render 'tramway/event/events/show_page', event: @event, sections: @sections, sections_as_features: @sections_as_features
|
@@ -1,12 +1,12 @@
|
|
1
|
-
- if
|
1
|
+
- if event.participant_form_fields.any?
|
2
2
|
.row
|
3
3
|
.col-lg-12
|
4
4
|
%h1
|
5
5
|
= t('.registration')
|
6
6
|
- class_name = 'tramway_event_participant'
|
7
7
|
= simple_form_for @participant_form, url: { controller: 'tramway/event/participants', action: :create }, html: { class: class_name, id: class_name } do |f|
|
8
|
-
= f.input :event_id, as: :hidden, input_html: { value:
|
9
|
-
-
|
8
|
+
= f.input :event_id, as: :hidden, input_html: { value: event.id, class: class_name, id: "#{class_name}_event_id", name: "#{class_name}[event_id]" }
|
9
|
+
- event.participant_form_fields.inputs_list.each do |field|
|
10
10
|
- case field.field_type
|
11
11
|
- when 'text', 'string', 'numeric', 'date_picker'
|
12
12
|
= f.input field.title.to_sym, as: field.field_type, input_html: { class: class_name, id: "#{class_name}_#{field.title}", name: "#{class_name}[#{field.title}]" }
|
@@ -24,6 +24,7 @@ module Tramway::Event::Generators
|
|
24
24
|
migration_template 'create_tramway_event_sections.rb', 'db/migrate/create_tramway_event_sections.rb'
|
25
25
|
migration_template 'add_icon_to_tramway_event_sections.rb', 'db/migrate/add_icon_to_tramway_event_sections.rb'
|
26
26
|
migration_template 'add_position_to_tramway_event_sections.rb', 'db/migrate/add_position_to_tramway_event_sections.rb'
|
27
|
+
migration_template 'add_status_to_tramway_event_events.rb', 'db/migrate/add_status_to_tramway_event_events.rb'
|
27
28
|
end
|
28
29
|
end
|
29
30
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: tramway-event
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.2.
|
4
|
+
version: 1.2.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Pavel Kalashnikov
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-09-
|
11
|
+
date: 2018-09-25 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: Rails engine for events
|
14
14
|
email:
|
@@ -34,6 +34,7 @@ files:
|
|
34
34
|
- app/decorators/tramway/event/section_decorator.rb
|
35
35
|
- app/decorators/tramway/event/section_feature_decorator.rb
|
36
36
|
- app/forms/tramway/event/event_form.rb
|
37
|
+
- app/forms/tramway/event/participant_extended_form_creator.rb
|
37
38
|
- app/forms/tramway/event/participant_form.rb
|
38
39
|
- app/forms/tramway/event/participant_form_field_form.rb
|
39
40
|
- app/forms/tramway/event/section_form.rb
|
@@ -45,6 +46,7 @@ files:
|
|
45
46
|
- app/models/tramway/event/participant.rb
|
46
47
|
- app/models/tramway/event/participant_form_field.rb
|
47
48
|
- app/models/tramway/event/section.rb
|
49
|
+
- app/views/tramway/event/events/_show_page.html.haml
|
48
50
|
- app/views/tramway/event/events/show.html.haml
|
49
51
|
- app/views/tramway/event/participants/_form.html.haml
|
50
52
|
- config/initializers/assets.rb
|
@@ -61,6 +63,7 @@ files:
|
|
61
63
|
- lib/tramway/event/generators/templates/add_photo_to_tramway_event_events.rb
|
62
64
|
- lib/tramway/event/generators/templates/add_position_to_tramway_event_participant_form_fields.rb
|
63
65
|
- lib/tramway/event/generators/templates/add_position_to_tramway_event_sections.rb
|
66
|
+
- lib/tramway/event/generators/templates/add_status_to_tramway_event_events.rb
|
64
67
|
- lib/tramway/event/generators/templates/create_tramway_event_events.rb
|
65
68
|
- lib/tramway/event/generators/templates/create_tramway_event_participant_form_fields.rb
|
66
69
|
- lib/tramway/event/generators/templates/create_tramway_event_participants.rb
|