tramway-core 1.16.1.6 → 1.16.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a339fa00b0157935827d14e8e992b7509d2e46149cb5573a9b092a0025283c04
4
- data.tar.gz: 27a7f7d35aad3c74fcf12ee2b6332d7b958bab6ffeb809f49ea734d4389c2bae
3
+ metadata.gz: 929785989e7be8ac305b420a555e8e47a0d9cd301c413ea902d1b86d14c5c44c
4
+ data.tar.gz: 5d6390f4b01917f9889e8044fd048460f7a520ae0a3803a75729614977435e89
5
5
  SHA512:
6
- metadata.gz: d7ab089c503af5de848ed9802627ff1bb124a09bb23f06496de582d61764663cb0c320a29bd758e357dbebf21de5595ae5a2bf2090b32daa9363cd2b3341bf5c
7
- data.tar.gz: 4a199e6e3347425c0ea1fef02eaf2a97ea54d115ab0972046cb2e981d0c22bdcc19ab699811997722cdc6b47353bb00883b3bf482deeb5692ee7af508d8cd5a6
6
+ metadata.gz: 44a801fd2329591b6f7de6352650d3e913cf49299fa35098a52c724e317d9abd42b57021204c3a9d2a78746d6bfa58b6b50cfe185af907a1bf0032e588ad531a
7
+ data.tar.gz: a2d64fd4fb44800d94fd3c2d9a4bb4e050c5d1eaf73189c0c8dd719090e8538cf1650213973349060b7872a95b7592f2a4b50ab2eb3e904666e1d6450cc84914
@@ -0,0 +1,51 @@
1
+ //= require jquery
2
+ //= require jquery_ujs
3
+ //= require jquery3
4
+ //= require popper
5
+ //= require bootstrap
6
+ //= require bootstrap-datepicker-1.8.0
7
+ //= require bootstrap-datepicker-1.8.0.ru.min
8
+ //= require font_awesome5
9
+ //= require clipboard
10
+ //= require_tree .
11
+
12
+ window.i18n_locale = function(locale) {
13
+ switch (locale) {
14
+ case 'en':
15
+ return({ date_format: 'yyyy-mm-dd', locale: locale });
16
+ break;
17
+ case 'ru':
18
+ return({ date_format: 'dd.mm.yyyy', locale: locale });
19
+ break;
20
+ default:
21
+ return({ date_format: 'yyyy-mm-dd', locale: locale });
22
+ break;
23
+ }
24
+ }
25
+
26
+ $(document).ready(function() {
27
+ if (!(window.current_locale)) {
28
+ console.log('You should set `window.current_locale` before all Javascript code');
29
+ }
30
+
31
+ if ($('.date_picker').length == 0) {
32
+ $('.date_picker').datepicker({
33
+ format: window.current_locale.date_format,
34
+ language: window.current_locale.locale
35
+ });
36
+ }
37
+
38
+ $('.link').click(function() {
39
+ const href = $(this).data('href');
40
+ if (href) {
41
+ location.href = href;
42
+ } else {
43
+ const anchor = $(this).data('anchor');
44
+ if (!$(anchor).offset() == undefined) {
45
+ $(window).scrollTop($(anchor).offset().top);
46
+ }
47
+ };
48
+ });
49
+
50
+ let clipboard = new Clipboard('.clipboard-btn');
51
+ });
@@ -49,7 +49,7 @@ class Tramway::Core::ApplicationDecorator
49
49
  end
50
50
  end
51
51
 
52
- def decorate_association(association_name, decorator: nil, as: nil)
52
+ def decorate_association(association_name, decorator: nil, as: nil, state_machines: [])
53
53
  @@decorated_associations ||= []
54
54
  @@decorated_associations << association_name
55
55
 
@@ -82,6 +82,10 @@ class Tramway::Core::ApplicationDecorator
82
82
  define_method "#{association_name}_as" do
83
83
  as
84
84
  end
85
+
86
+ define_method "#{association_name}_state_machines" do
87
+ state_machines
88
+ end
85
89
  end
86
90
 
87
91
  def model_class
@@ -97,6 +97,12 @@ module Tramway::Core
97
97
  end
98
98
  end
99
99
 
100
+ def attributes
101
+ properties.reduce({}) do |hash, property|
102
+ hash.merge! property.first => model.values[property.first.to_s]
103
+ end
104
+ end
105
+
100
106
  class << self
101
107
  delegate :defined_enums, to: :model_class
102
108
 
@@ -11,7 +11,8 @@ class PhotoUploader < ApplicationUploader
11
11
  if file.present? && File.exist?(file.file)
12
12
  file.file.match(%r{/system/uploads/.*}).to_s
13
13
  else
14
- '/assets/tramway/core/mona_lisa_from_prado_square.jpg'
14
+ default_url = '/assets/tramway/core/mona_lisa_from_prado_square.jpg'
15
+ File.exists?(default_url) ? default_url : ''
15
16
  end
16
17
  end
17
18
 
@@ -1 +1 @@
1
- = f.input field.title.to_sym, as: :boolean, input_html: { class: class_name, id: "#{class_name}_#{field.title.to_sym}", name: "#{class_name}[#{field.title}]" }, checked_value: value == field.title.to_sym
1
+ = f.input field.title.to_sym, as: :boolean, input_html: { class: class_name, id: "#{class_name}_#{field.title.to_sym}", name: "#{class_name}[#{field.title}]" }, checked_value: value == field.title.to_sym, required: field.required
@@ -1,16 +1,16 @@
1
1
  - parsed_json = field.options.is_a?(Hash) ? field.options : (JSON.parse(field.options) unless field.options == '')
2
2
  - if parsed_json&.dig('collection', 'name')
3
3
  - if value.present?
4
- = f.input field.title.to_sym, as: :select, collection: collection_list_by(name: parsed_json['collection']['name']), input_html: { class: class_name, id: "#{class_name}_#{field.title}", name: "#{class_name}[#{field.title}]" }, selected: value
4
+ = f.input field.title.to_sym, as: :select, collection: collection_list_by(name: parsed_json['collection']['name']), input_html: { class: class_name, id: "#{class_name}_#{field.title}", name: "#{class_name}[#{field.title}]" }, selected: value, required: field.required
5
5
  - else
6
- = f.input field.title.to_sym, as: :select, collection: collection_list_by(name: parsed_json['collection']['name']), input_html: { class: class_name, id: "#{class_name}_#{field.title}", name: "#{class_name}[#{field.title}]" }
6
+ = f.input field.title.to_sym, as: :select, collection: collection_list_by(name: parsed_json['collection']['name']), input_html: { class: class_name, id: "#{class_name}_#{field.title}", name: "#{class_name}[#{field.title}]" }, required: field.required
7
7
  - elsif parsed_json&.dig('collection', 'array')
8
8
  - if value.present?
9
- = f.input field.title.to_sym, as: :select, collection: parsed_json.dig('collection', 'array'), input_html: { class: class_name, id: "#{class_name}_#{field.title}", name: "#{class_name}[#{field.title}]" }, selected: value
9
+ = f.input field.title.to_sym, as: :select, collection: parsed_json.dig('collection', 'array'), input_html: { class: class_name, id: "#{class_name}_#{field.title}", name: "#{class_name}[#{field.title}]" }, selected: value, required: field.required
10
10
  - else
11
- = f.input field.title.to_sym, as: :select, collection: parsed_json.dig('collection', 'array'), input_html: { class: class_name, id: "#{class_name}_#{field.title}", name: "#{class_name}[#{field.title}]" }
11
+ = f.input field.title.to_sym, as: :select, collection: parsed_json.dig('collection', 'array'), input_html: { class: class_name, id: "#{class_name}_#{field.title}", name: "#{class_name}[#{field.title}]" }, required: field.required
12
12
  - else
13
13
  - if value.present?
14
- = f.input field.title.to_sym, as: :select, input_html: { class: class_name, id: "#{class_name}_#{field.title}", name: "#{class_name}[#{field.title}]" }, selected: value
14
+ = f.input field.title.to_sym, as: :select, input_html: { class: class_name, id: "#{class_name}_#{field.title}", name: "#{class_name}[#{field.title}]" }, selected: value, required: field.required
15
15
  - else
16
- = f.input field.title.to_sym, as: :select, input_html: { class: class_name, id: "#{class_name}_#{field.title}", name: "#{class_name}[#{field.title}]" }
16
+ = f.input field.title.to_sym, as: :select, input_html: { class: class_name, id: "#{class_name}_#{field.title}", name: "#{class_name}[#{field.title}]" }, required: field.required
@@ -1,4 +1,4 @@
1
1
  - if value.present?
2
- = 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}]", value: value }
2
+ = 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}]", value: value }, required: field.required
3
3
  - else
4
- = 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}]" }
4
+ = 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}]" }, required: field.required
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Tramway
4
4
  module Core
5
- VERSION = '1.16.1.6'
5
+ VERSION = '1.16.2.1'
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tramway-core
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.16.1.6
4
+ version: 1.16.2.1
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-17 00:00:00.000000000 Z
11
+ date: 2020-03-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: audited
@@ -118,22 +118,22 @@ dependencies:
118
118
  name: haml-rails
119
119
  requirement: !ruby/object:Gem::Requirement
120
120
  requirements:
121
- - - ">="
122
- - !ruby/object:Gem::Version
123
- version: 1.0.0
124
121
  - - "~>"
125
122
  - !ruby/object:Gem::Version
126
123
  version: '1.0'
124
+ - - ">="
125
+ - !ruby/object:Gem::Version
126
+ version: 1.0.0
127
127
  type: :runtime
128
128
  prerelease: false
129
129
  version_requirements: !ruby/object:Gem::Requirement
130
130
  requirements:
131
- - - ">="
132
- - !ruby/object:Gem::Version
133
- version: 1.0.0
134
131
  - - "~>"
135
132
  - !ruby/object:Gem::Version
136
133
  version: '1.0'
134
+ - - ">="
135
+ - !ruby/object:Gem::Version
136
+ version: 1.0.0
137
137
  - !ruby/object:Gem::Dependency
138
138
  name: kaminari
139
139
  requirement: !ruby/object:Gem::Requirement
@@ -166,22 +166,22 @@ dependencies:
166
166
  name: mini_magick
167
167
  requirement: !ruby/object:Gem::Requirement
168
168
  requirements:
169
- - - ">="
170
- - !ruby/object:Gem::Version
171
- version: 4.8.0
172
169
  - - "~>"
173
170
  - !ruby/object:Gem::Version
174
171
  version: '4.8'
172
+ - - ">="
173
+ - !ruby/object:Gem::Version
174
+ version: 4.8.0
175
175
  type: :runtime
176
176
  prerelease: false
177
177
  version_requirements: !ruby/object:Gem::Requirement
178
178
  requirements:
179
- - - ">="
180
- - !ruby/object:Gem::Version
181
- version: 4.8.0
182
179
  - - "~>"
183
180
  - !ruby/object:Gem::Version
184
181
  version: '4.8'
182
+ - - ">="
183
+ - !ruby/object:Gem::Version
184
+ version: 4.8.0
185
185
  - !ruby/object:Gem::Dependency
186
186
  name: pg_search
187
187
  requirement: !ruby/object:Gem::Requirement
@@ -228,22 +228,22 @@ dependencies:
228
228
  name: rmagick
229
229
  requirement: !ruby/object:Gem::Requirement
230
230
  requirements:
231
- - - ">="
232
- - !ruby/object:Gem::Version
233
- version: 2.16.0
234
231
  - - "~>"
235
232
  - !ruby/object:Gem::Version
236
233
  version: '2.16'
234
+ - - ">="
235
+ - !ruby/object:Gem::Version
236
+ version: 2.16.0
237
237
  type: :runtime
238
238
  prerelease: false
239
239
  version_requirements: !ruby/object:Gem::Requirement
240
240
  requirements:
241
- - - ">="
242
- - !ruby/object:Gem::Version
243
- version: 2.16.0
244
241
  - - "~>"
245
242
  - !ruby/object:Gem::Version
246
243
  version: '2.16'
244
+ - - ">="
245
+ - !ruby/object:Gem::Version
246
+ version: 2.16.0
247
247
  - !ruby/object:Gem::Dependency
248
248
  name: sass-rails
249
249
  requirement: !ruby/object:Gem::Requirement
@@ -349,7 +349,7 @@ files:
349
349
  - app/assets/images/tramway/core/mona_lisa_from_prado_square.jpg
350
350
  - app/assets/javascripts/bootstrap-datepicker-1.8.0.js
351
351
  - app/assets/javascripts/bootstrap-datepicker-1.8.0.ru.min.js
352
- - app/assets/javascripts/tramway/core/application.js.coffee
352
+ - app/assets/javascripts/tramway/core/application.js
353
353
  - app/assets/stylesheets/bootstrap-datepicker-1.8.0.css
354
354
  - app/assets/stylesheets/tramway/core/application.sass
355
355
  - app/controllers/tramway/core/application_controller.rb
@@ -424,7 +424,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
424
424
  - !ruby/object:Gem::Version
425
425
  version: '0'
426
426
  requirements: []
427
- rubygems_version: 3.0.3
427
+ rubygems_version: 3.1.2
428
428
  signing_key:
429
429
  specification_version: 4
430
430
  summary: Core for all Tramway Rails Engines
@@ -1,35 +0,0 @@
1
- #= require jquery
2
- #= require jquery_ujs
3
- #= require jquery3
4
- #= require popper
5
- #= require bootstrap
6
- #= require bootstrap-datepicker-1.8.0
7
- #= require bootstrap-datepicker-1.8.0.ru.min
8
- #= require font_awesome5
9
- #= require clipboard
10
- #= require_tree .
11
-
12
- window.i18n_locale = (locale) ->
13
- switch locale
14
- when 'en' then { date_format: 'yyyy-mm-dd', locale: locale }
15
- when 'ru' then { date_format: 'dd.mm.yyyy', locale: locale }
16
-
17
- $(document).ready ->
18
- unless window.current_locale
19
- console.log 'You should set `window.current_locale` before all Javascript code'
20
- unless $('.date_picker').length == 0
21
- $('.date_picker').datepicker({
22
- format: window.current_locale.date_format,
23
- language: window.current_locale.locale
24
- })
25
-
26
- $('.link').click ->
27
- href = $(this).data('href')
28
- if href
29
- location.href = href
30
- else
31
- anchor = $(this).data('anchor')
32
- unless $(anchor).offset() == undefined
33
- $(window).scrollTop $(anchor).offset().top
34
-
35
- clipboard = new Clipboard '.clipboard-btn'