tramway-event 1.12.4 → 1.12.6.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 +5 -5
- data/app/decorators/tramway/event/event_decorator.rb +4 -3
- data/app/decorators/tramway/event/events/show/event_decorator.rb +1 -1
- data/app/decorators/tramway/event/participant_decorator.rb +1 -1
- data/app/decorators/tramway/event/participant_xls_decorator.rb +1 -1
- data/app/decorators/tramway/event/section_decorator.rb +5 -1
- data/app/forms/admin/tramway/event/participant_form.rb +1 -2
- data/app/models/tramway/event/action.rb +5 -5
- data/app/models/tramway/event/event.rb +1 -1
- data/app/models/tramway/event/participant.rb +10 -10
- data/app/models/tramway/event/participant_form_field.rb +1 -1
- data/app/models/tramway/event/person.rb +1 -1
- data/app/models/tramway/event/section.rb +1 -1
- data/config/initializers/tramway.rb +1 -1
- data/config/locales/state_machines.yml +29 -30
- data/lib/tramway/event/version.rb +1 -1
- metadata +3 -4
- data/app/models/tramway/event/application_record.rb +0 -9
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ed98922babffdc1a3de30a4ba9fdaa0a7ee7d27a8ca99e6410f6a78efa69acac
|
4
|
+
data.tar.gz: 9e4a42ece100b7438e90e91a4f0173d111ca04acbe269206432bc2402d6d90ae
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: adeb3d5a0efceb9e0d6d3c764cd1445c266aa7049337bd872886c2e07f215eb4a3eb406ee139c091ead1406d42062c7e50662162aa9ee9e7fb04d7ce1b94436e
|
7
|
+
data.tar.gz: 320a9180d27c0c5b874ac69a4dc0a8f28aca96d66d6d9715535af4669253b638284e7bc2aad53326dde91a89d90e946fcbc0e808eeb973d36e32b10a0f856ca4
|
@@ -7,14 +7,14 @@ class Tramway::Event::EventsController < Tramway::Event::ApplicationController
|
|
7
7
|
event = ::Tramway::Event::Event.find params[:id]
|
8
8
|
@event = ::Tramway::Event::Events::Show::EventDecorator.decorate event
|
9
9
|
@participant_form = ::Tramway::Event::ParticipantExtendedFormCreator.create_form_class(request.uuid, @event).new ::Tramway::Event::Participant.new
|
10
|
-
@sections_as_features = @event.sections.
|
11
|
-
@sections = @event.sections.
|
10
|
+
@sections_as_features = @event.sections.order(position: :asc).map { |s| ::Tramway::Event::SectionFeatureDecorator.decorate s }
|
11
|
+
@sections = @event.sections.order(position: :asc).map { |s| ::Tramway::Event::SectionDecorator.decorate s }
|
12
12
|
@footer = ::Tramway::Landing::BlockDecorator.decorate ::Tramway::Landing::Block.footer
|
13
|
-
@events = ::Tramway::Event::Event.
|
14
|
-
@people_as_features = @event.partakings.
|
13
|
+
@events = ::Tramway::Event::Event.actual.map { |e| ::Tramway::Event::Events::Show::EventDecorator.decorate e }
|
14
|
+
@people_as_features = @event.partakings.map { |p| ::Tramway::Event::PartakingFeatureDecorator.decorate p }
|
15
15
|
if defined?(::Tramway::Partner)
|
16
16
|
@partners = ::Tramway::Partner::Partnership.partnership_type.values.reduce({}) do |hash, partnership_type|
|
17
|
-
hash.merge! partnership_type => (event.send(partnership_type.to_s.pluralize).
|
17
|
+
hash.merge! partnership_type => (event.send(partnership_type.to_s.pluralize).map do |partner|
|
18
18
|
Tramway::Partner::OrganizationFeatureDecorator.decorate partner
|
19
19
|
end)
|
20
20
|
end
|
@@ -11,7 +11,7 @@ class Tramway::Event::EventDecorator < ::Tramway::Core::ApplicationDecorator
|
|
11
11
|
end
|
12
12
|
|
13
13
|
def show_associations
|
14
|
-
%i[participant_form_fields actions sections]
|
14
|
+
%i[participant_form_fields actions sections partakings]
|
15
15
|
end
|
16
16
|
|
17
17
|
def list_attributes
|
@@ -20,9 +20,10 @@ class Tramway::Event::EventDecorator < ::Tramway::Core::ApplicationDecorator
|
|
20
20
|
end
|
21
21
|
|
22
22
|
delegate :title, to: :object
|
23
|
-
decorate_associations :participants, :
|
23
|
+
decorate_associations :participants, :partnerships, :organizations
|
24
24
|
decorate_association :participant_form_fields, as: :event
|
25
25
|
decorate_association :sections, as: :event
|
26
|
+
decorate_association :partakings, as: :part
|
26
27
|
decorate_association :actions, as: :event, state_machines: [:action_state]
|
27
28
|
|
28
29
|
def background
|
@@ -76,7 +77,7 @@ class Tramway::Event::EventDecorator < ::Tramway::Core::ApplicationDecorator
|
|
76
77
|
end
|
77
78
|
|
78
79
|
def requested_participants
|
79
|
-
object.participants.
|
80
|
+
object.participants.count
|
80
81
|
end
|
81
82
|
|
82
83
|
def approved_participants
|
@@ -34,7 +34,7 @@ class Tramway::Event::Events::Show::EventDecorator < ::Tramway::Core::Applicatio
|
|
34
34
|
def partners
|
35
35
|
if defined?(::Tramway::Partner)
|
36
36
|
@partners ||= ::Tramway::Partner::Partnership.partnership_type.values.reduce({}) do |hash, partnership_type|
|
37
|
-
hash.merge! partnership_type => (object.send(partnership_type.to_s.pluralize).
|
37
|
+
hash.merge! partnership_type => (object.send(partnership_type.to_s.pluralize).map do |partner|
|
38
38
|
Tramway::Partner::OrganizationFeatureDecorator.decorate partner
|
39
39
|
end)
|
40
40
|
end
|
@@ -44,7 +44,7 @@ class Tramway::Event::ParticipantDecorator < ::Tramway::Core::ApplicationDecorat
|
|
44
44
|
object.event.title
|
45
45
|
end)
|
46
46
|
end)
|
47
|
-
object.event.participant_form_fields.
|
47
|
+
object.event.participant_form_fields.map do |field|
|
48
48
|
hash = if field.options.is_a?(Hash)
|
49
49
|
field.options
|
50
50
|
else
|
@@ -20,7 +20,7 @@ class Tramway::Event::ParticipantXlsDecorator < Tramway::Export::Xls::Applicatio
|
|
20
20
|
end
|
21
21
|
|
22
22
|
def flexible_columns
|
23
|
-
object.event.participant_form_fields.
|
23
|
+
object.event.participant_form_fields.order(position: :asc).map(&:title).map do |key|
|
24
24
|
{ Tramway::Event::Participant.human_attribute_name(key).to_sym => -> { values&.dig(key) } }
|
25
25
|
end
|
26
26
|
end
|
@@ -5,11 +5,15 @@ class Tramway::Event::SectionDecorator < ::Tramway::Landing::BlockTypes::Feature
|
|
5
5
|
def collections
|
6
6
|
[:all]
|
7
7
|
end
|
8
|
+
|
9
|
+
def show_associations
|
10
|
+
[ :partakings ]
|
11
|
+
end
|
8
12
|
end
|
9
13
|
|
10
14
|
delegate :description, to: :object
|
11
15
|
decorate_association :event
|
12
|
-
decorate_association :partakings, decorator: Tramway::Event::PartakingFeatureDecorator
|
16
|
+
decorate_association :partakings, as: :part, decorator: Tramway::Event::PartakingFeatureDecorator
|
13
17
|
|
14
18
|
def name
|
15
19
|
"#{object.title} | #{object.event.title}"
|
@@ -3,7 +3,7 @@
|
|
3
3
|
require 'securerandom'
|
4
4
|
|
5
5
|
class Admin::Tramway::Event::ParticipantForm < ::Tramway::Core::ApplicationForm
|
6
|
-
properties :
|
6
|
+
properties :comment
|
7
7
|
association :event
|
8
8
|
|
9
9
|
def self.new(object)
|
@@ -11,7 +11,6 @@ class Admin::Tramway::Event::ParticipantForm < ::Tramway::Core::ApplicationForm
|
|
11
11
|
::Tramway::Event::ParticipantExtendedFormCreator.create_form_class(
|
12
12
|
SecureRandom.hex,
|
13
13
|
object.event,
|
14
|
-
participation_state_event: :default,
|
15
14
|
comment: :string
|
16
15
|
).new object
|
17
16
|
else
|
@@ -3,21 +3,21 @@
|
|
3
3
|
class Tramway::Event::Action < Tramway::Core::ApplicationRecord
|
4
4
|
belongs_to :event, class_name: 'Tramway::Event::Event'
|
5
5
|
|
6
|
-
|
7
|
-
state :must_be_done
|
6
|
+
aasm :action_state, column: :action_state do
|
7
|
+
state :must_be_done, initial: true
|
8
8
|
state :done
|
9
9
|
state :declined
|
10
10
|
|
11
11
|
event :do do
|
12
|
-
|
12
|
+
transitions from: :must_be_done, to: :done
|
13
13
|
end
|
14
14
|
|
15
15
|
event :decline do
|
16
|
-
|
16
|
+
transitions from: :must_be_done, to: :declined
|
17
17
|
end
|
18
18
|
|
19
19
|
event :return do
|
20
|
-
|
20
|
+
transitions from: %i[declined done], to: :must_be_done
|
21
21
|
end
|
22
22
|
end
|
23
23
|
end
|
@@ -1,10 +1,10 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
class Tramway::Event::Participant < ::Tramway::
|
3
|
+
class Tramway::Event::Participant < ::Tramway::Core::ApplicationRecord
|
4
4
|
belongs_to :event, class_name: 'Tramway::Event::Event'
|
5
5
|
|
6
|
-
|
7
|
-
state :requested
|
6
|
+
aasm :participation_state, column: :participation_state do
|
7
|
+
state :requested, initial: true
|
8
8
|
state :prev_approved
|
9
9
|
state :waiting
|
10
10
|
state :rejected
|
@@ -13,31 +13,31 @@ class Tramway::Event::Participant < ::Tramway::Event::ApplicationRecord
|
|
13
13
|
state :reserved
|
14
14
|
|
15
15
|
event :previous_approve do
|
16
|
-
|
16
|
+
transitions from: %i[requested without_answer waiting], to: :prev_approved
|
17
17
|
end
|
18
18
|
|
19
19
|
event :wait_for_decision do
|
20
|
-
|
20
|
+
transitions from: %i[requested without_answer], to: :waiting
|
21
21
|
end
|
22
22
|
|
23
23
|
event :reserve do
|
24
|
-
|
24
|
+
transitions from: %i[requested without_answer waiting], to: :reserved
|
25
25
|
end
|
26
26
|
|
27
27
|
event :reject do
|
28
|
-
|
28
|
+
transitions from: %i[requested without_answer waiting prev_approved reserved], to: :rejected
|
29
29
|
end
|
30
30
|
|
31
31
|
event :approve do
|
32
|
-
|
32
|
+
transitions from: %i[prev_approved reserved requested], to: :approved
|
33
33
|
end
|
34
34
|
|
35
35
|
event :not_got_answer do
|
36
|
-
|
36
|
+
transitions from: :requested, to: :without_answer
|
37
37
|
end
|
38
38
|
|
39
39
|
event :return_to_requested do
|
40
|
-
|
40
|
+
transitions from: %i[prev_approved rejected], to: :requested
|
41
41
|
end
|
42
42
|
end
|
43
43
|
|
@@ -1,6 +1,6 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
class Tramway::Event::ParticipantFormField < ::Tramway::
|
3
|
+
class Tramway::Event::ParticipantFormField < ::Tramway::Core::ApplicationRecord
|
4
4
|
belongs_to :event, class_name: 'Tramway::Event::Event'
|
5
5
|
|
6
6
|
enumerize :field_type, in: %i[text string numeric date_picker select checkbox], default: :text
|
@@ -1,6 +1,6 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
class Tramway::Event::Section < ::Tramway::
|
3
|
+
class Tramway::Event::Section < ::Tramway::Core::ApplicationRecord
|
4
4
|
mount_uploader :photo, PhotoUploader
|
5
5
|
|
6
6
|
belongs_to :event, class_name: 'Tramway::Event::Event'
|
@@ -10,7 +10,7 @@
|
|
10
10
|
::Tramway::Event::Action,
|
11
11
|
project: :event)
|
12
12
|
::Tramway::Admin.set_notificable_queries new_participants: lambda { |current_user|
|
13
|
-
::Tramway::Event::Participant.
|
13
|
+
::Tramway::Event::Participant.where(participation_state: :requested).send "#{current_user.role}_scope", current_user.id
|
14
14
|
}
|
15
15
|
|
16
16
|
::Tramway::Landing.head_content = lambda do
|
@@ -3,33 +3,32 @@ ru:
|
|
3
3
|
tramway/event/participant:
|
4
4
|
published: Опубликованные
|
5
5
|
hidden: Скрытые
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
return: Вернуть статус
|
6
|
+
state_machines:
|
7
|
+
tramway/event/participant:
|
8
|
+
participation_state:
|
9
|
+
states:
|
10
|
+
requested: Заявка отправлена
|
11
|
+
prev_approved: Получено предварительное подтверждение
|
12
|
+
waiting: Ожидание решения
|
13
|
+
rejected: Заявка отклонена
|
14
|
+
approved: Прибывшие
|
15
|
+
without_answer: Без ответа
|
16
|
+
reserved: В резерве
|
17
|
+
events:
|
18
|
+
previous_approve: Предварительно подтвердить
|
19
|
+
wait_for_decision: Ожидать ответа
|
20
|
+
reject: Отклонить
|
21
|
+
approve: Прибыл(а)
|
22
|
+
not_got_answer: Связаться не удалось
|
23
|
+
reserve: Отправить в резерв
|
24
|
+
return_to_requested: Вернуть в необработанные
|
25
|
+
tramway/event/action:
|
26
|
+
action_state:
|
27
|
+
states:
|
28
|
+
done: Сделано
|
29
|
+
must_be_done: Запланировано
|
30
|
+
declined: Отклонено
|
31
|
+
events:
|
32
|
+
do: Выполнено
|
33
|
+
decline: Отклонить
|
34
|
+
return: Вернуть статус
|
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.12.
|
4
|
+
version: 1.12.6.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:
|
11
|
+
date: 2021-12-19 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: configus
|
@@ -68,7 +68,6 @@ files:
|
|
68
68
|
- app/jobs/tramway/event/application_job.rb
|
69
69
|
- app/mailers/tramway/event/application_mailer.rb
|
70
70
|
- app/models/tramway/event/action.rb
|
71
|
-
- app/models/tramway/event/application_record.rb
|
72
71
|
- app/models/tramway/event/event.rb
|
73
72
|
- app/models/tramway/event/partaking.rb
|
74
73
|
- app/models/tramway/event/participant.rb
|
@@ -136,7 +135,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
136
135
|
- !ruby/object:Gem::Version
|
137
136
|
version: '0'
|
138
137
|
requirements: []
|
139
|
-
rubygems_version: 3.1
|
138
|
+
rubygems_version: 3.0.3.1
|
140
139
|
signing_key:
|
141
140
|
specification_version: 4
|
142
141
|
summary: Rails engine for events
|