marty 3.1.0 → 4.0.0.rc2
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 +4 -4
- data/.gitignore +0 -7
- data/.rubocop.yml +0 -1
- data/.rubocop_todo.yml +15 -2
- data/Dockerfile.dummy +0 -3
- data/Gemfile +15 -21
- data/Gemfile.lock +289 -0
- data/app/components/marty/data_grid_view.rb +18 -68
- data/app/components/marty/extras/layout.rb +1 -1
- data/app/components/marty/grid.rb +1 -1
- data/app/components/marty/import_view.rb +3 -3
- data/app/components/marty/main_auth_app.rb +1 -11
- data/app/components/marty/report_form.rb +6 -6
- data/app/components/marty/script_form.rb +5 -5
- data/app/components/marty/script_tester.rb +2 -2
- data/app/components/marty/user_view.rb +9 -3
- data/app/models/marty/data_grid.rb +11 -16
- data/app/models/marty/event.rb +2 -2
- data/app/models/marty/promise.rb +4 -4
- data/app/models/marty/role_type.rb +1 -14
- data/app/services/marty/data_grid_view/save_grid.rb +2 -2
- data/app/services/marty/promises/delorean/create.rb +2 -2
- data/app/services/marty/promises/ruby/create.rb +2 -2
- data/config/locales/en.yml +2 -11
- data/docker-compose.dummy.yml +0 -1
- data/lib/marty/content_handler.rb +2 -2
- data/lib/marty/data_change.rb +1 -1
- data/lib/marty/data_conversion.rb +4 -3
- data/lib/marty/data_importer.rb +4 -4
- data/lib/marty/mcfly_model.rb +10 -7
- data/lib/marty/migrations.rb +1 -1
- data/lib/marty/monkey.rb +2 -2
- data/lib/marty/promise_job.rb +5 -5
- data/lib/marty/promise_proxy.rb +2 -2
- data/lib/marty/promise_ruby_job.rb +4 -4
- data/lib/marty/version.rb +1 -1
- data/marty.gemspec +18 -13
- data/other/marty/diagnostic/aws/ec2_instance.rb +2 -17
- data/other/marty/diagnostic/database.rb +2 -2
- data/other/marty/diagnostic/delayed_job_version.rb +1 -0
- data/spec/dummy/app/models/gemini/fannie_bup.rb +20 -13
- data/spec/dummy/config/application.rb +0 -1
- data/spec/dummy/config/initializers/secret_token.rb +1 -1
- data/spec/features/data_grid_spec.rb +46 -109
- data/spec/features/reporting_spec.rb +4 -4
- data/spec/features/rule_spec.rb +1 -1
- data/spec/features/scripting_spec.rb +3 -3
- data/spec/features/user_view_spec.rb +8 -17
- data/spec/lib/data_importer_spec.rb +8 -8
- data/spec/lib/mcfly_model_spec.rb +6 -6
- data/spec/models/data_grid_spec.rb +4 -19
- data/spec/spec_helper.rb +2 -2
- data/spec/support/netzke.rb +3 -4
- metadata +53 -50
- data/.ssh-docker/.keep +0 -0
- data/app/components/marty/data_grid_user_view.rb +0 -39
- data/db/migrate/108_add_data_grid_perms.rb +0 -16
- data/other/marty/diagnostic/aws/error.rb +0 -8
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2e88119aa409a4b6e0b108e44f821c9ae6f3c402bde7a0b5982aaac317f8c0c0
|
4
|
+
data.tar.gz: f0e0a25f744a13ed98e647aa379c2421a54edc1dd8bf01e84262e4f952ce7ae2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: cbfd7f8b4c3fcc8f7060f7913bd2330635517a52710acae731638d6190f05726174fddfca0447bc0400d06770e10c72dd371e24e0da4f9e2699495473041a3eb
|
7
|
+
data.tar.gz: e17fa1789a98f3f67fa324b2b67e7bcc1a98c48101d62088a1c1196e9d148f9275b8c3a1134a03ed7b6022d7757cfc737b2598bfc071cfd22df215ce62876293
|
data/.gitignore
CHANGED
data/.rubocop.yml
CHANGED
data/.rubocop_todo.yml
CHANGED
@@ -48,7 +48,7 @@ Layout/ExtraSpacing:
|
|
48
48
|
# Cop supports --auto-correct.
|
49
49
|
# Configuration parameters: EnforcedStyle, IndentationWidth.
|
50
50
|
# SupportedStyles: special_inside_parentheses, consistent, align_braces
|
51
|
-
Layout/
|
51
|
+
Layout/IndentHash:
|
52
52
|
Exclude:
|
53
53
|
- 'app/components/marty/extras/layout.rb'
|
54
54
|
- 'lib/marty/data_change.rb'
|
@@ -508,7 +508,7 @@ Performance/TimesMap:
|
|
508
508
|
|
509
509
|
# Offense count: 1
|
510
510
|
# Cop supports --auto-correct.
|
511
|
-
|
511
|
+
Performance/UnneededSort:
|
512
512
|
Exclude:
|
513
513
|
- 'app/models/marty/event.rb'
|
514
514
|
|
@@ -934,6 +934,19 @@ Style/Next:
|
|
934
934
|
Style/NumericLiterals:
|
935
935
|
MinDigits: 15
|
936
936
|
|
937
|
+
# Offense count: 10
|
938
|
+
# Cop supports --auto-correct.
|
939
|
+
# Configuration parameters: AutoCorrect, EnforcedStyle, IgnoredMethods.
|
940
|
+
# SupportedStyles: predicate, comparison
|
941
|
+
Style/NumericPredicate:
|
942
|
+
Exclude:
|
943
|
+
- 'spec/**/*'
|
944
|
+
- 'app/components/marty/main_auth_app.rb'
|
945
|
+
- 'lib/marty/content_handler.rb'
|
946
|
+
- 'lib/marty/data_change.rb'
|
947
|
+
- 'lib/marty/data_importer.rb'
|
948
|
+
- 'lib/marty/xl.rb'
|
949
|
+
|
937
950
|
# Offense count: 42
|
938
951
|
# Cop supports --auto-correct.
|
939
952
|
Style/ParallelAssignment:
|
data/Dockerfile.dummy
CHANGED
@@ -24,9 +24,6 @@ RUN curl -L -o google-chrome.deb https://dl.google.com/linux/direct/google-chrom
|
|
24
24
|
&& sed -i 's|HERE/chrome\"|HERE/chrome\" --disable-setuid-sandbox|g' /opt/google/chrome/google-chrome \
|
25
25
|
&& rm google-chrome.deb
|
26
26
|
|
27
|
-
# Install additional tools
|
28
|
-
RUN apt-get install -qq -y --no-install-recommends netcat-openbsd vim
|
29
|
-
|
30
27
|
RUN gem install bundler
|
31
28
|
|
32
29
|
ENV BUNDLE_PATH /bundle_box/bundle
|
data/Gemfile
CHANGED
@@ -5,39 +5,33 @@ source 'http://rubygems.org'
|
|
5
5
|
# development dependencies will be added by default to the :development group.
|
6
6
|
gemspec
|
7
7
|
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
end
|
14
|
-
|
15
|
-
group :default, :cmit do
|
16
|
-
gem 'delorean_lang'
|
17
|
-
gem 'marty_rspec'
|
18
|
-
gem 'mcfly'
|
19
|
-
# gem 'delorean_lang', path: File.expand_path('../../delorean', __FILE__)
|
20
|
-
# gem 'marty_rspec', path: File.expand_path('../../marty_rspec', __FILE__)
|
21
|
-
# gem 'mcfly', path: File.expand_path('../../mcfly', __FILE__)
|
22
|
-
end
|
8
|
+
gem 'daemons'
|
9
|
+
gem 'delayed_job_active_record'
|
10
|
+
gem 'pg'
|
11
|
+
gem 'rails', '~> 5.1.4'
|
12
|
+
gem 'sqlite3'
|
23
13
|
|
24
14
|
group :development, :test do
|
25
|
-
gem 'capybara'
|
15
|
+
gem 'capybara', '~> 2.18.0'
|
26
16
|
gem 'connection_pool'
|
27
17
|
gem 'database_cleaner'
|
28
|
-
gem 'fuubar', require: false
|
29
|
-
gem 'netzke', '6.5.0.0'
|
30
18
|
gem 'pry-byebug'
|
31
19
|
gem 'pry-rails'
|
32
|
-
gem 'puma'
|
33
20
|
gem 'rails-controller-testing'
|
34
21
|
gem 'rspec-instafail', require: false
|
35
22
|
gem 'rspec-rails'
|
36
23
|
gem 'rspec-retry'
|
37
24
|
gem 'rubocop', require: false
|
38
|
-
gem 'rubocop-performance', require: false
|
39
|
-
gem 'rubocop-rails', require: false
|
40
25
|
gem 'selenium-webdriver'
|
41
26
|
gem 'timecop'
|
42
27
|
gem 'webdrivers'
|
28
|
+
|
29
|
+
# gem 'mcfly', path: File.expand_path('../../mcfly', __FILE__)
|
30
|
+
gem 'mcfly'
|
31
|
+
gem 'netzke', '6.5.0.0'
|
32
|
+
|
33
|
+
# gem 'delorean_lang', path: File.expand_path('../../delorean', __FILE__)
|
34
|
+
|
35
|
+
# gem 'marty_rspec', path: File.expand_path('../../marty_rspec', __FILE__)
|
36
|
+
gem 'marty_rspec'
|
43
37
|
end
|
data/Gemfile.lock
ADDED
@@ -0,0 +1,289 @@
|
|
1
|
+
PATH
|
2
|
+
remote: .
|
3
|
+
specs:
|
4
|
+
marty (2.10.0)
|
5
|
+
aws-sigv4 (~> 1.0, >= 1.0.2)
|
6
|
+
axlsx (= 3.0.0pre)
|
7
|
+
coderay
|
8
|
+
daemons (~> 1.3.1)
|
9
|
+
delayed_cron_job
|
10
|
+
delayed_job_active_record
|
11
|
+
delorean_lang (~> 1.0)
|
12
|
+
json-schema
|
13
|
+
mcfly (~> 0.0.20)
|
14
|
+
net-ldap (~> 0.16.1)
|
15
|
+
netzke (= 6.5.0.0)
|
16
|
+
pg (~> 0.21)
|
17
|
+
rubyzip
|
18
|
+
sqlite3
|
19
|
+
|
20
|
+
GEM
|
21
|
+
remote: http://rubygems.org/
|
22
|
+
specs:
|
23
|
+
actioncable (5.1.6.1)
|
24
|
+
actionpack (= 5.1.6.1)
|
25
|
+
nio4r (~> 2.0)
|
26
|
+
websocket-driver (~> 0.6.1)
|
27
|
+
actionmailer (5.1.6.1)
|
28
|
+
actionpack (= 5.1.6.1)
|
29
|
+
actionview (= 5.1.6.1)
|
30
|
+
activejob (= 5.1.6.1)
|
31
|
+
mail (~> 2.5, >= 2.5.4)
|
32
|
+
rails-dom-testing (~> 2.0)
|
33
|
+
actionpack (5.1.6.1)
|
34
|
+
actionview (= 5.1.6.1)
|
35
|
+
activesupport (= 5.1.6.1)
|
36
|
+
rack (~> 2.0)
|
37
|
+
rack-test (>= 0.6.3)
|
38
|
+
rails-dom-testing (~> 2.0)
|
39
|
+
rails-html-sanitizer (~> 1.0, >= 1.0.2)
|
40
|
+
actionview (5.1.6.1)
|
41
|
+
activesupport (= 5.1.6.1)
|
42
|
+
builder (~> 3.1)
|
43
|
+
erubi (~> 1.4)
|
44
|
+
rails-dom-testing (~> 2.0)
|
45
|
+
rails-html-sanitizer (~> 1.0, >= 1.0.3)
|
46
|
+
activejob (5.1.6.1)
|
47
|
+
activesupport (= 5.1.6.1)
|
48
|
+
globalid (>= 0.3.6)
|
49
|
+
activemodel (5.1.6.1)
|
50
|
+
activesupport (= 5.1.6.1)
|
51
|
+
activerecord (5.1.6.1)
|
52
|
+
activemodel (= 5.1.6.1)
|
53
|
+
activesupport (= 5.1.6.1)
|
54
|
+
arel (~> 8.0)
|
55
|
+
activesupport (5.1.6.1)
|
56
|
+
concurrent-ruby (~> 1.0, >= 1.0.2)
|
57
|
+
i18n (>= 0.7, < 2)
|
58
|
+
minitest (~> 5.1)
|
59
|
+
tzinfo (~> 1.1)
|
60
|
+
addressable (2.6.0)
|
61
|
+
public_suffix (>= 2.0.2, < 4.0)
|
62
|
+
arel (8.0.0)
|
63
|
+
ast (2.4.0)
|
64
|
+
aws-eventstream (1.0.3)
|
65
|
+
aws-sigv4 (1.1.0)
|
66
|
+
aws-eventstream (~> 1.0, >= 1.0.2)
|
67
|
+
axlsx (3.0.0.pre)
|
68
|
+
htmlentities (~> 4.3, >= 4.3.4)
|
69
|
+
mimemagic (~> 0.3)
|
70
|
+
nokogiri (~> 1.8, >= 1.8.2)
|
71
|
+
rubyzip (~> 1.2, >= 1.2.1)
|
72
|
+
builder (3.2.3)
|
73
|
+
byebug (11.0.0)
|
74
|
+
capybara (2.18.0)
|
75
|
+
addressable
|
76
|
+
mini_mime (>= 0.1.3)
|
77
|
+
nokogiri (>= 1.3.3)
|
78
|
+
rack (>= 1.0.0)
|
79
|
+
rack-test (>= 0.5.4)
|
80
|
+
xpath (>= 2.0, < 4.0)
|
81
|
+
childprocess (0.9.0)
|
82
|
+
ffi (~> 1.0, >= 1.0.11)
|
83
|
+
coderay (1.1.2)
|
84
|
+
coffee-script (2.4.1)
|
85
|
+
coffee-script-source
|
86
|
+
execjs
|
87
|
+
coffee-script-source (1.12.2)
|
88
|
+
concurrent-ruby (1.1.5)
|
89
|
+
connection_pool (2.2.2)
|
90
|
+
crass (1.0.4)
|
91
|
+
daemons (1.3.1)
|
92
|
+
database_cleaner (1.7.0)
|
93
|
+
delayed_cron_job (0.7.2)
|
94
|
+
delayed_job (>= 4.1)
|
95
|
+
delayed_job (4.1.5)
|
96
|
+
activesupport (>= 3.0, < 5.3)
|
97
|
+
delayed_job_active_record (4.1.3)
|
98
|
+
activerecord (>= 3.0, < 5.3)
|
99
|
+
delayed_job (>= 3.0, < 5)
|
100
|
+
delorean_lang (1.0.0)
|
101
|
+
activerecord
|
102
|
+
treetop
|
103
|
+
diff-lcs (1.3)
|
104
|
+
erubi (1.8.0)
|
105
|
+
execjs (2.7.0)
|
106
|
+
ffi (1.10.0)
|
107
|
+
globalid (0.4.2)
|
108
|
+
activesupport (>= 4.2.0)
|
109
|
+
htmlentities (4.3.4)
|
110
|
+
i18n (1.6.0)
|
111
|
+
concurrent-ruby (~> 1.0)
|
112
|
+
jaro_winkler (1.5.2)
|
113
|
+
json-schema (2.8.1)
|
114
|
+
addressable (>= 2.4)
|
115
|
+
loofah (2.2.3)
|
116
|
+
crass (~> 1.0.2)
|
117
|
+
nokogiri (>= 1.5.9)
|
118
|
+
mail (2.7.1)
|
119
|
+
mini_mime (>= 0.1.1)
|
120
|
+
marty_rspec (0.1)
|
121
|
+
rspec-by
|
122
|
+
mcfly (0.0.22)
|
123
|
+
delorean_lang
|
124
|
+
pg (~> 0.17)
|
125
|
+
method_source (0.9.2)
|
126
|
+
mime-types (2.99.3)
|
127
|
+
mimemagic (0.3.3)
|
128
|
+
mini_mime (1.0.1)
|
129
|
+
mini_portile2 (2.4.0)
|
130
|
+
minitest (5.11.3)
|
131
|
+
net-ldap (0.16.1)
|
132
|
+
netzke (6.5.0.0)
|
133
|
+
netzke-basepack (= 6.5.0.0)
|
134
|
+
netzke-core (= 6.5.0.0)
|
135
|
+
netzke-testing (= 6.5.0.0)
|
136
|
+
netzke-basepack (6.5.0.0)
|
137
|
+
netzke-core (6.5.0.0)
|
138
|
+
execjs
|
139
|
+
mime-types (< 3)
|
140
|
+
uglifier
|
141
|
+
netzke-testing (6.5.0.0)
|
142
|
+
coffee-script
|
143
|
+
nio4r (2.3.1)
|
144
|
+
nokogiri (1.10.1)
|
145
|
+
mini_portile2 (~> 2.4.0)
|
146
|
+
parallel (1.13.0)
|
147
|
+
parser (2.6.0.0)
|
148
|
+
ast (~> 2.4.0)
|
149
|
+
pg (0.21.0)
|
150
|
+
polyglot (0.3.5)
|
151
|
+
powerpack (0.1.2)
|
152
|
+
pry (0.12.2)
|
153
|
+
coderay (~> 1.1.0)
|
154
|
+
method_source (~> 0.9.0)
|
155
|
+
pry-byebug (3.7.0)
|
156
|
+
byebug (~> 11.0)
|
157
|
+
pry (~> 0.10)
|
158
|
+
pry-rails (0.3.9)
|
159
|
+
pry (>= 0.10.4)
|
160
|
+
public_suffix (3.0.3)
|
161
|
+
rack (2.0.6)
|
162
|
+
rack-test (1.1.0)
|
163
|
+
rack (>= 1.0, < 3)
|
164
|
+
rails (5.1.6.1)
|
165
|
+
actioncable (= 5.1.6.1)
|
166
|
+
actionmailer (= 5.1.6.1)
|
167
|
+
actionpack (= 5.1.6.1)
|
168
|
+
actionview (= 5.1.6.1)
|
169
|
+
activejob (= 5.1.6.1)
|
170
|
+
activemodel (= 5.1.6.1)
|
171
|
+
activerecord (= 5.1.6.1)
|
172
|
+
activesupport (= 5.1.6.1)
|
173
|
+
bundler (>= 1.3.0)
|
174
|
+
railties (= 5.1.6.1)
|
175
|
+
sprockets-rails (>= 2.0.0)
|
176
|
+
rails-controller-testing (1.0.4)
|
177
|
+
actionpack (>= 5.0.1.x)
|
178
|
+
actionview (>= 5.0.1.x)
|
179
|
+
activesupport (>= 5.0.1.x)
|
180
|
+
rails-dom-testing (2.0.3)
|
181
|
+
activesupport (>= 4.2.0)
|
182
|
+
nokogiri (>= 1.6)
|
183
|
+
rails-html-sanitizer (1.0.4)
|
184
|
+
loofah (~> 2.2, >= 2.2.2)
|
185
|
+
railties (5.1.6.1)
|
186
|
+
actionpack (= 5.1.6.1)
|
187
|
+
activesupport (= 5.1.6.1)
|
188
|
+
method_source
|
189
|
+
rake (>= 0.8.7)
|
190
|
+
thor (>= 0.18.1, < 2.0)
|
191
|
+
rainbow (3.0.0)
|
192
|
+
rake (12.3.2)
|
193
|
+
rspec (3.8.0)
|
194
|
+
rspec-core (~> 3.8.0)
|
195
|
+
rspec-expectations (~> 3.8.0)
|
196
|
+
rspec-mocks (~> 3.8.0)
|
197
|
+
rspec-by (0.0.7)
|
198
|
+
rspec-core (>= 3)
|
199
|
+
rspec-core (3.8.0)
|
200
|
+
rspec-support (~> 3.8.0)
|
201
|
+
rspec-expectations (3.8.2)
|
202
|
+
diff-lcs (>= 1.2.0, < 2.0)
|
203
|
+
rspec-support (~> 3.8.0)
|
204
|
+
rspec-instafail (1.0.0)
|
205
|
+
rspec
|
206
|
+
rspec-mocks (3.8.0)
|
207
|
+
diff-lcs (>= 1.2.0, < 2.0)
|
208
|
+
rspec-support (~> 3.8.0)
|
209
|
+
rspec-rails (3.8.2)
|
210
|
+
actionpack (>= 3.0)
|
211
|
+
activesupport (>= 3.0)
|
212
|
+
railties (>= 3.0)
|
213
|
+
rspec-core (~> 3.8.0)
|
214
|
+
rspec-expectations (~> 3.8.0)
|
215
|
+
rspec-mocks (~> 3.8.0)
|
216
|
+
rspec-support (~> 3.8.0)
|
217
|
+
rspec-retry (0.6.1)
|
218
|
+
rspec-core (> 3.3)
|
219
|
+
rspec-support (3.8.0)
|
220
|
+
rubocop (0.64.0)
|
221
|
+
jaro_winkler (~> 1.5.1)
|
222
|
+
parallel (~> 1.10)
|
223
|
+
parser (>= 2.5, != 2.5.1.1)
|
224
|
+
powerpack (~> 0.1)
|
225
|
+
rainbow (>= 2.2.2, < 4.0)
|
226
|
+
ruby-progressbar (~> 1.7)
|
227
|
+
unicode-display_width (~> 1.4.0)
|
228
|
+
ruby-progressbar (1.10.0)
|
229
|
+
rubyzip (1.2.2)
|
230
|
+
selenium-webdriver (3.141.0)
|
231
|
+
childprocess (~> 0.5)
|
232
|
+
rubyzip (~> 1.2, >= 1.2.2)
|
233
|
+
sprockets (3.7.2)
|
234
|
+
concurrent-ruby (~> 1.0)
|
235
|
+
rack (> 1, < 3)
|
236
|
+
sprockets-rails (3.2.1)
|
237
|
+
actionpack (>= 4.0)
|
238
|
+
activesupport (>= 4.0)
|
239
|
+
sprockets (>= 3.0.0)
|
240
|
+
sqlite3 (1.4.0)
|
241
|
+
thor (0.20.3)
|
242
|
+
thread_safe (0.3.6)
|
243
|
+
timecop (0.9.1)
|
244
|
+
treetop (1.6.10)
|
245
|
+
polyglot (~> 0.3)
|
246
|
+
tzinfo (1.2.5)
|
247
|
+
thread_safe (~> 0.1)
|
248
|
+
uglifier (4.1.20)
|
249
|
+
execjs (>= 0.3.0, < 3)
|
250
|
+
unicode-display_width (1.4.1)
|
251
|
+
webdrivers (3.9.4)
|
252
|
+
nokogiri (~> 1.6)
|
253
|
+
rubyzip (~> 1.0)
|
254
|
+
selenium-webdriver (~> 3.0)
|
255
|
+
websocket-driver (0.6.5)
|
256
|
+
websocket-extensions (>= 0.1.0)
|
257
|
+
websocket-extensions (0.1.3)
|
258
|
+
xpath (3.2.0)
|
259
|
+
nokogiri (~> 1.8)
|
260
|
+
|
261
|
+
PLATFORMS
|
262
|
+
ruby
|
263
|
+
|
264
|
+
DEPENDENCIES
|
265
|
+
capybara (~> 2.18.0)
|
266
|
+
connection_pool
|
267
|
+
daemons
|
268
|
+
database_cleaner
|
269
|
+
delayed_job_active_record
|
270
|
+
marty!
|
271
|
+
marty_rspec
|
272
|
+
mcfly
|
273
|
+
netzke (= 6.5.0.0)
|
274
|
+
pg
|
275
|
+
pry-byebug
|
276
|
+
pry-rails
|
277
|
+
rails (~> 5.1.4)
|
278
|
+
rails-controller-testing
|
279
|
+
rspec-instafail
|
280
|
+
rspec-rails
|
281
|
+
rspec-retry
|
282
|
+
rubocop
|
283
|
+
selenium-webdriver
|
284
|
+
sqlite3
|
285
|
+
timecop
|
286
|
+
webdrivers
|
287
|
+
|
288
|
+
BUNDLED WITH
|
289
|
+
2.0.1
|
@@ -98,9 +98,6 @@ module Marty; class DataGridView < McflyGridPanel
|
|
98
98
|
:lenient,
|
99
99
|
:data_type,
|
100
100
|
:constraint,
|
101
|
-
:perm_view,
|
102
|
-
:perm_edit_data,
|
103
|
-
:perm_edit_all,
|
104
101
|
:created_dt,
|
105
102
|
]
|
106
103
|
|
@@ -110,19 +107,6 @@ module Marty; class DataGridView < McflyGridPanel
|
|
110
107
|
c.multi_select = false
|
111
108
|
end
|
112
109
|
|
113
|
-
def set_perms(dg, data)
|
114
|
-
permstrs = %w[perm_view perm_edit_data perm_edit_all]
|
115
|
-
view, edit_data, edit_all = data.values_at(*permstrs).map do |plist|
|
116
|
-
Marty::RoleType.from_nice_names(plist)
|
117
|
-
end
|
118
|
-
dg.permissions = {
|
119
|
-
view: view.present? ? view : [],
|
120
|
-
edit_data: edit_data.present? ? edit_data : [],
|
121
|
-
edit_all: edit_all.present? ? edit_all : [],
|
122
|
-
}
|
123
|
-
dg.save!
|
124
|
-
end
|
125
|
-
|
126
110
|
endpoint :add_window__add_form__submit do |params|
|
127
111
|
data = ActiveSupport::JSON.decode(params[:data])
|
128
112
|
|
@@ -130,12 +114,11 @@ module Marty; class DataGridView < McflyGridPanel
|
|
130
114
|
!config[:permissions][:create]
|
131
115
|
|
132
116
|
begin
|
133
|
-
|
134
|
-
set_perms(dg, data)
|
117
|
+
DataGrid.create_from_import(data['name'], data['export'])
|
135
118
|
client.success = true
|
136
119
|
client.netzke_on_submit_success
|
137
|
-
rescue StandardError =>
|
138
|
-
client.netzke_notify(
|
120
|
+
rescue StandardError => exc
|
121
|
+
client.netzke_notify(exc.to_s)
|
139
122
|
end
|
140
123
|
end
|
141
124
|
|
@@ -146,11 +129,10 @@ module Marty; class DataGridView < McflyGridPanel
|
|
146
129
|
|
147
130
|
begin
|
148
131
|
dg.update_from_import(data['name'], data['export'])
|
149
|
-
set_perms(dg, data)
|
150
132
|
client.success = true
|
151
133
|
client.netzke_on_submit_success
|
152
|
-
rescue StandardError =>
|
153
|
-
client.netzke_notify(
|
134
|
+
rescue StandardError => exc
|
135
|
+
client.netzke_notify(exc.to_s)
|
154
136
|
end
|
155
137
|
end
|
156
138
|
|
@@ -186,8 +168,14 @@ module Marty; class DataGridView < McflyGridPanel
|
|
186
168
|
client.netzke_client_show_grid maxcount, res, 'Data Grid'
|
187
169
|
end
|
188
170
|
|
189
|
-
|
190
|
-
|
171
|
+
# placeholders for grid editing permission logic.
|
172
|
+
# for now, this allows the rspec to control the permission
|
173
|
+
def self.get_edit_edit_permission
|
174
|
+
Marty::Config['grid_edit_edit_perm'] || 'edit_all'
|
175
|
+
end
|
176
|
+
|
177
|
+
def self.get_edit_save_permission
|
178
|
+
Marty::Config['grid_edit_save_perm'] || 'edit_all'
|
191
179
|
end
|
192
180
|
|
193
181
|
endpoint :edit_grid do |params|
|
@@ -205,21 +193,9 @@ module Marty; class DataGridView < McflyGridPanel
|
|
205
193
|
vdim = md.map { |m| m['dir'] == 'v' && m['attr'] }.select { |v| v }
|
206
194
|
hdim_en = hdim.map { |d| I18n.t('attributes.' + d, default: d) }
|
207
195
|
vdim_en = vdim.map { |d| I18n.t('attributes.' + d, default: d) }
|
208
|
-
|
209
|
-
|
210
|
-
|
211
|
-
|
212
|
-
doing = case perm
|
213
|
-
when 'view'
|
214
|
-
'Viewing'
|
215
|
-
when 'edit_all'
|
216
|
-
'Editing (all)'
|
217
|
-
when 'edit_data'
|
218
|
-
'Editing (data only)'
|
219
|
-
end
|
220
|
-
name = "#{doing} Data Grid '#{dg.name}'"
|
221
|
-
|
222
|
-
client.edit_grid(record_id, hdim_en, vdim_en, res, name, perm)
|
196
|
+
name = "Editing Data Grid '#{dg.name}'"
|
197
|
+
permission = Marty::DataGridView.get_edit_edit_permission
|
198
|
+
client.edit_grid(record_id, hdim_en, vdim_en, res, name, permission)
|
223
199
|
end
|
224
200
|
|
225
201
|
endpoint :save_grid do |params|
|
@@ -237,36 +213,10 @@ module Marty; class DataGridView < McflyGridPanel
|
|
237
213
|
def default_form_items
|
238
214
|
[
|
239
215
|
:name,
|
240
|
-
:perm_view, :perm_edit_data, :perm_edit_all,
|
241
216
|
textarea_field(:export, height: 300, hide_label: true),
|
242
217
|
]
|
243
218
|
end
|
244
219
|
|
245
|
-
['view', 'edit_data', 'edit_all'].each do |p|
|
246
|
-
s = ('perm_' + p).to_s
|
247
|
-
attribute s do |c|
|
248
|
-
c.width = 100
|
249
|
-
c.flex = 1
|
250
|
-
c.label = I18n.t("data_grid_view_perms.#{s}")
|
251
|
-
c.type = :string
|
252
|
-
c.getter = lambda do |r|
|
253
|
-
Marty::RoleType.to_nice_names(r.permissions[p].sort)
|
254
|
-
end
|
255
|
-
store = Marty::RoleType.to_nice_names(::Marty::RoleType.get_all.sort.map)
|
256
|
-
|
257
|
-
# edit does not work without this dummy setter
|
258
|
-
c.setter = ->(r, v) {}
|
259
|
-
|
260
|
-
c.editor_config = {
|
261
|
-
multi_select: true,
|
262
|
-
empty_text: I18n.t('user_grid.select_roles'),
|
263
|
-
store: store,
|
264
|
-
type: :string,
|
265
|
-
xtype: :combo,
|
266
|
-
}
|
267
|
-
end
|
268
|
-
end
|
269
|
-
|
270
220
|
component :edit_window do |c|
|
271
221
|
super(c)
|
272
222
|
c.width = 700
|
@@ -278,11 +228,11 @@ module Marty; class DataGridView < McflyGridPanel
|
|
278
228
|
end
|
279
229
|
|
280
230
|
attribute :name do |c|
|
281
|
-
c.width =
|
231
|
+
c.width = 120
|
282
232
|
end
|
283
233
|
|
284
234
|
attribute :constraint do |c|
|
285
|
-
c.width =
|
235
|
+
c.width = 100
|
286
236
|
end
|
287
237
|
|
288
238
|
attribute :hcols do |c|
|