tramway-event 1.9.28.4 → 1.9.31.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 0c67bc155b83f7cbba7a4de8635d9ac44dc90e493bc14bcb9e5bc9579a3d5044
4
- data.tar.gz: aa06f7d84bc5d0f81693278ec4ffc015eb6c9b0cba8aefab5de06d0f227feb7b
3
+ metadata.gz: 389fa955d28b590eee11a279a178a13666b3a86d76f5eb21359901666e524f59
4
+ data.tar.gz: ac723fb0e351f2888753963b76febe034745128fa3bad07c1fa1af4035372f43
5
5
  SHA512:
6
- metadata.gz: 52a81fe64f947ae5cd71c661b9a82fbf7bd625c40d7d9dc246951db5350c1dcd47d3cd9cd79edd2e4b012886c29626ecc35bd2aaa1e7a779865a4836272c881c
7
- data.tar.gz: de60ed038290c8b289504bf049ed551dec05f4ec346d519c143b81e96899e42f579507e5aa584013fff3b34f8f654368c884341673288bcf2eb93bcdd33bd57a
6
+ metadata.gz: 8163d819f33edeff900a9eeba0ea89dc5f18ce9256124f0b6e42fadf169eff2417ccefeae6cd8ddb770a28321aa7bcb8cd0e9e324b8cca6afc5c6bb6f6829ef6
7
+ data.tar.gz: 033466f38c2f791c3480f45233e187d39ccc2db6b030466adfb8b882b5cba0e8d72d74f089dde6215a1430d2058df2917900f6ba154eeb3e0ab958af6f91c11a
data/README.md CHANGED
@@ -12,6 +12,7 @@ How to use my plugin.
12
12
  gem 'tramway-event'
13
13
  gem 'carrierwave'
14
14
  gem 'more_html_tags'
15
+ gem 'configus'
15
16
  ```
16
17
 
17
18
  #### 2. And then execute:
@@ -48,6 +49,21 @@ Tramway::Admin.set_available_models ::Tramway::Event::Event, ::Tramway::Event::P
48
49
  mount Tramway::Event::Engine, at: '/'
49
50
  ```
50
51
 
52
+ #### 7. Add hosts in your environments via gem `configus`. [What is configus?](https://github.com/kaize/configus)
53
+
54
+ *config/configus.rb*
55
+ ```ruby
56
+ Configus.build Rails.env do
57
+ env :production do
58
+ host 'https://your-site-domain.com'
59
+ end
60
+ env :development do
61
+ host 'http://localhost:3000'
62
+ end
63
+ env :test, parent: :development
64
+ end
65
+ ```
66
+
51
67
  ## How-to
52
68
 
53
69
  ### Create event
@@ -75,7 +75,7 @@ class Tramway::Event::EventDecorator < ::Tramway::Core::ApplicationDecorator
75
75
 
76
76
  def events_link
77
77
  event_link = Tramway::Event::Engine.routes.url_helpers.event_path object
78
- event_url = ['http://molodoy.online', event_link].join
78
+ event_url = [configus.host, event_link].join
79
79
  content_tag(:pre) do
80
80
  id = "event#{object.id}"
81
81
  concat link_to event_url, event_url, id: id
@@ -47,4 +47,11 @@ class Tramway::Event::Events::Show::EventDecorator < ::Tramway::Core::Applicatio
47
47
  end
48
48
 
49
49
  alias tagline duration
50
+
51
+ def responsible_person
52
+ {
53
+ phone: (object.creator.phone if object.creator&.phone&.present?),
54
+ email: (object.creator.email if object.creator&.email&.present?)
55
+ }
56
+ end
50
57
  end
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  class Admin::Tramway::Event::ParticipantFormFieldForm < ::Tramway::Core::ExtendedApplicationForm
4
- properties :title, :description, :field_type, :options, :position, :list_field
4
+ properties :title, :description, :field_type, :options, :position, :list_field, :presence_field
5
5
  association :event
6
6
 
7
7
  def initialize(object)
@@ -12,6 +12,7 @@ class Admin::Tramway::Event::ParticipantFormFieldForm < ::Tramway::Core::Extende
12
12
  field_type: :default,
13
13
  options: :text,
14
14
  list_field: :boolean,
15
+ presence_field: :boolean,
15
16
  position: :numeric
16
17
  end
17
18
  end
@@ -20,6 +21,7 @@ class Admin::Tramway::Event::ParticipantFormFieldForm < ::Tramway::Core::Extende
20
21
  super(params).tap do
21
22
  model.options = {} if model.options == ''
22
23
  model.options&.merge! list_field: (params[:list_field] == '1').to_s
24
+ model.options&.deep_merge! validations: { presence: (params[:presence_field] == '1').to_s }
23
25
  model.save
24
26
  end
25
27
  end
@@ -28,6 +30,10 @@ class Admin::Tramway::Event::ParticipantFormFieldForm < ::Tramway::Core::Extende
28
30
  model.options&.dig('list_field') == 'true'
29
31
  end
30
32
 
33
+ def presence_field
34
+ model.options&.dig('validations', 'presence') == 'true'
35
+ end
36
+
31
37
  def options
32
38
  model.options&.to_json
33
39
  end
@@ -6,4 +6,8 @@ class Tramway::Event::ParticipantFormField < ::Tramway::Event::ApplicationRecord
6
6
  enumerize :field_type, in: %i[text string numeric date_picker select], default: :text
7
7
 
8
8
  scope :inputs_list, -> { active.order(position: :asc) }
9
+
10
+ def required
11
+ options.present? && options.dig('validations', 'presence') == 'true'
12
+ end
9
13
  end
@@ -7,9 +7,9 @@
7
7
  %hr/
8
8
  %p.mb-0
9
9
  По всем вопросам обращайтесь по телефону
10
- = tel_tag @application.phone
10
+ = tel_tag @event.responsible_person[:phone] || @application.phone
11
11
  или пишите на email
12
- = mail_to @application.email
12
+ = mail_to @event.responsible_person[:email] || @application.email
13
13
  - if params[:flash] == 'error'
14
14
  .alert.alert-danger{ role: "alert" }
15
15
  %button.close{"aria-label" => "Close", "data-dismiss" => "alert", type: "button"}
@@ -19,9 +19,9 @@
19
19
  %hr/
20
20
  %p.mb-0
21
21
  Если ошибка повторяется или не отображается, обращайтесь по телефону
22
- = tel_tag @application.phone
22
+ = tel_tag @event.responsible_person[:phone] || @application.phone
23
23
  или пишите на email
24
- = mail_to @application.email
24
+ = mail_to @event.responsible_person[:email] || @application.email
25
25
  - if request.path == ::Tramway::Event::Engine.routes.url_helpers.event_path(event.id)
26
26
  = render 'tramway/landing/blocks/templates/full_page', block: event, buttons: [OpenStruct.new(title: t('.registration'), anchor: '#registration')]
27
27
  - content_for :main_image do
@@ -69,10 +69,17 @@ ru:
69
69
  options: Параметры (не редактировать без надобности)
70
70
  title: Название (в Tramway название Поля анкеты - это ключ для выборки пользователей. Если вы измените ключ к выборке пользователей, то все пользователи, получившие данные по предыдущему ключу по этой выборке показываться не будут)
71
71
  list_field: Показывать это поле в общем списке участников?
72
+ presence_field: Обязательное поле
72
73
  tramway/event/partaking:
73
74
  part_name: Мероприятие
74
75
  event_duration: Дата мероприятия
75
76
  part_description: Описание
77
+ errors:
78
+ models:
79
+ tramway/event/participant:
80
+ attributes:
81
+ default:
82
+ presence: не может быть пустым
76
83
  cases:
77
84
  tramway/event/event:
78
85
  plural: мероприятия
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Tramway
4
4
  module Event
5
- VERSION = '1.9.28.4'
5
+ VERSION = '1.9.31.2'
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,15 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tramway-event
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.9.28.4
4
+ version: 1.9.31.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Pavel Kalashnikov
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-02-16 00:00:00.000000000 Z
12
- dependencies: []
11
+ date: 2020-02-25 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: configus
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
13
27
  description: Rails engine for events
14
28
  email:
15
29
  - kalashnikovisme@gmail.com