sinatra-hexacta 1.2.8 → 1.4.1

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: 01d0e9ec273a355ea3c2e254d39178fe8d7428440a54bc36e4701810210219fe
4
- data.tar.gz: 837500e8d5be11c289ad3d0b65f59ed44c83f922c0c4f1942b9f88d2a36dde97
3
+ metadata.gz: 62c9a5fdaac939c50a7db24d37977fcb1349d876b2606f7d79b54ba458868716
4
+ data.tar.gz: 1a5e0466e7ea6f2f370e0a0e8e2821038c47cb5338978babed93545bf9f1dd10
5
5
  SHA512:
6
- metadata.gz: f23a85f1bbaa740665446c174da56139b5defaea9df100ea90f3e5e0f97be6a889ab10edcdfd14682805583b3dcc0190c1b5f510f8ad21d5ce7dfca248e9040c
7
- data.tar.gz: fbc8c143a7fba3180d469a74b0243d1f190d29b74fb83667c2115f1cbf30696bd909e23553060ef6fc291d9c97d4a7630168b1ee549c69e51b97e16fb62cee02
6
+ metadata.gz: 621e1e86e8ac77296cab1da330d1d9713a883a9e6d3fe15a5fe478a7bd2e752ed454c86132ef413cbdf87d0142240d7568be341b76624afc93cab3926d6697b5
7
+ data.tar.gz: 1d117bcda4857a2be6a2ce051f3e7d47b400be73666b7a4d175b1a19223008a994839cac04ae1e2d0c649b61b960c1997fdf584909f72f5820a77dff5dabed81
@@ -0,0 +1,22 @@
1
+ # encoding: utf-8
2
+ module Sinatra
3
+ module CrossOriginHandler
4
+ extend Hexacta
5
+
6
+ def enable_cross_origin
7
+ p "Enabling cross origin..."
8
+
9
+ configure do
10
+ enable :cross_origin
11
+ end
12
+
13
+ before do
14
+ response.headers['Access-Control-Allow-Origin'] = 'https://*.hexacta.com'
15
+ end
16
+
17
+ end
18
+
19
+ end
20
+ register CrossOriginHandler
21
+ end
22
+
@@ -6,3 +6,4 @@ require_relative 'reports'
6
6
  require_relative 'processes'
7
7
  require_relative 'constants'
8
8
  require_relative 'user_configurations'
9
+ require_relative 'cross_origin'
@@ -5,6 +5,52 @@ module Sinatra
5
5
 
6
6
  def enable_reports
7
7
  p "Enabling reports..."
8
+
9
+ #In order to enable file streaming
10
+ helpers do
11
+ def slim(template, options = {}, locals = {}, &block)
12
+ # Slim calls the option :streaming, but Sinatra has a #stream method
13
+ # so we also support the :stream option.
14
+ options[:streaming] ||= options.delete(:stream)
15
+
16
+ # We are not streaming. Call super implementation and
17
+ # just ensure that the @_out_buf is restored afterwards.
18
+ unless options[:streaming]
19
+ old = @_out_buf
20
+ begin
21
+ return super
22
+ ensure
23
+ @_out_buf = old
24
+ end
25
+ end
26
+
27
+ # We use the Temple generator without preamble and postamble
28
+ # which is suitable for streaming.
29
+ options[:generator] = Temple::Generator
30
+
31
+ # We are already streaming, continue!
32
+ return super if @_out_buf.is_a? Sinatra::Helpers::Stream
33
+
34
+ # Create a new stream
35
+ stream do |out|
36
+ @_out_buf = out
37
+
38
+ if options[:layout] == false
39
+ # No layout given, start rendering template
40
+ super
41
+ else
42
+ # Layout given
43
+ layout = options[:layout] == nil || options[:layout] == true ? :layout : options[:layout]
44
+
45
+ # Invert layout and template rendering order
46
+ super layout, options.merge(layout: false), locals do
47
+ super(template, options.merge(layout: false), locals, &block)
48
+ end
49
+ end
50
+ end
51
+ end
52
+ end
53
+
8
54
  before '/reports/*' do
9
55
  error(403) if authenticated(User).permissions.empty?
10
56
  end
@@ -18,7 +64,7 @@ module Sinatra
18
64
  date ||= Date.today
19
65
  headers "Content-Disposition" => "attachment;filename=#{report_name}.#{date}.xls",
20
66
  "Content-Type" => "application/octet-stream"
21
- slim "reports/#{report_name}".to_sym, locals: { :date => date }, :layout => false
67
+ slim "reports/#{report_name}".to_sym, locals: { :date => date }, :stream => true, :layout => false
22
68
  end
23
69
  end
24
70
 
@@ -14,7 +14,6 @@ module Sinatra
14
14
  p "Setting up user configurations directory..."
15
15
  setup_dir("/app/views/#{Hexacta::GEM_FILE_DIR}/user_configurations")
16
16
  copy_all_files("/lib/sinatra/views/user_configurations","/app/views/#{Hexacta::GEM_FILE_DIR}/user_configurations")
17
-
18
17
  end
19
18
 
20
19
  helpers UserConfigurationHelper
@@ -1,5 +1,6 @@
1
1
  # encoding: utf-8
2
2
  require 'sinatra/base'
3
+ require 'sinatra/cross_origin'
3
4
  require 'fileutils'
4
5
  require 'sucker_punch'
5
6
  require 'rufus-scheduler'
@@ -122,13 +122,8 @@ body {
122
122
  position: absolute;
123
123
  top: 0px;
124
124
  min-height: 700px;
125
- margin-top: 76px;
126
- width: 150px;
127
- -webkit-transform: translate3d(0, 0, 0);
128
- transform: translate3d(0, 0, 0);
129
- opacity: 1;
130
- filter: alpha(opacity=100);
131
- box-shadow: 0 1px 1px rgba(0, 0, 0, 0.15);
125
+ margin-top: 75px;
126
+ width: 200px;
132
127
  }
133
128
 
134
129
  .container .block-header h2 {
@@ -338,33 +333,6 @@ t-view:after {
338
333
  border-bottom: 0px !important;
339
334
  }
340
335
 
341
- @media (min-width: 1200px) {
342
- body #content {
343
- padding-left: 150px;
344
- }
345
- }
346
-
347
- @media (min-width: 1200px) {
348
- body #content > .container {
349
- width: calc(100% - 30px);
350
- }
351
- }
352
-
353
- @media (min-width: 1200px) {
354
- #header {
355
- padding-left: 15px;
356
- }
357
-
358
- #menu-trigger {
359
- display: none;
360
- }
361
- }
362
-
363
- body:not(.sw-toggled) #sidebar {
364
- box-shadow: none;
365
- }
366
-
367
-
368
336
  .lv-item span, .pt-inner .pti-header > h2 {
369
337
  color: #334152;
370
338
  font-weight: 700;
@@ -402,8 +370,8 @@ body:not(.sw-toggled) #sidebar {
402
370
 
403
371
  .modal .modal-header {
404
372
  padding: 23px 26px;
405
- border-bottom: 1px solid rgba(0,0,0,0.05);
406
- margin-bottom: 20px;
373
+ border-bottom: 0px;
374
+ margin-bottom: 0px;
407
375
  }
408
376
 
409
377
  .modal .modal-footer {
@@ -440,13 +408,12 @@ body:not(.sw-toggled) #sidebar {
440
408
  background: transparent;
441
409
  }
442
410
 
443
- .preloader {
411
+ #loader .preloader {
444
412
  background: rgba(255,255,255,0.5);
445
413
  border-radius: 100px;
446
- left: 8px !important;
414
+ left: 67px !important;
447
415
  top: 6px !important;
448
416
  }
449
-
450
417
  /* ----- Pegaso related ----- */
451
418
 
452
419
  .idx {
@@ -0,0 +1,15 @@
1
+ class View {
2
+
3
+ static get(url,params,destination){
4
+ $(destination).html('<div class="text-center" style="padding:100px;"><div class="preloader pls-teal bgm-none"><svg class="pl-circular" viewBox="25 25 50 50"><circle class="plc-path" cx="50" cy="50" r="20"></circle></svg></div><h5>Cargando...</h5></div>');
5
+ $.ajax({
6
+ url: url,
7
+ type: 'GET',
8
+ data: params
9
+ }).done(function(result) {
10
+ $(destination).html(result);
11
+ }).error(function(result) {
12
+ $(destination).html('<div class="lv-item p-20 bgm-red m-b-5 animated fadeIn"><div class="media"><div class="pull-left"><i class="zmdi zmdi-hc-3x zmdi-alert-octagon c-white"></i></div><div class="media-body"><div class="lv-title c-white">Algo salió mal</div><small class="lv-small c-white">Los administradores acaban de ser informados de este error, ni bien tengan una solución se te notificará. Disculpá las molestias.</small></div></div></div>');
13
+ });
14
+ }
15
+ }
@@ -8,7 +8,9 @@
8
8
  - chosen = nil
9
9
  - unless defined? clazz
10
10
  - clazz = nil
11
-
11
+ -unless defined? readonly
12
+ -readonly = false
13
+
12
14
  -if required
13
15
  .form-group.has-success
14
16
  label #{placeholder}
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sinatra-hexacta
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.8
4
+ version: 1.4.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Marco Zanger
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-09-26 00:00:00.000000000 Z
11
+ date: 2021-03-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: sucker_punch
@@ -66,6 +66,20 @@ dependencies:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
68
  version: 0.0.4
69
+ - !ruby/object:Gem::Dependency
70
+ name: sinatra-cross_origin
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: 0.3.1
76
+ type: :runtime
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: 0.3.1
69
83
  description: A gem to support general functionality accross all apps
70
84
  email: mzanger@hexacta.com
71
85
  executables: []
@@ -84,6 +98,7 @@ files:
84
98
  - lib/sinatra/extensions/notification.rb
85
99
  - lib/sinatra/extensions/processmanager.rb
86
100
  - lib/sinatra/handlers/constants.rb
101
+ - lib/sinatra/handlers/cross_origin.rb
87
102
  - lib/sinatra/handlers/errors.rb
88
103
  - lib/sinatra/handlers/init.rb
89
104
  - lib/sinatra/handlers/notifications.rb
@@ -143,6 +158,7 @@ files:
143
158
  - lib/sinatra/public/js/app.js
144
159
  - lib/sinatra/public/js/finder.js
145
160
  - lib/sinatra/public/js/process.js
161
+ - lib/sinatra/public/js/view.js
146
162
  - lib/sinatra/public/vendors/animate.css/animate.min.css
147
163
  - lib/sinatra/public/vendors/bootstrap-validator/validator.js
148
164
  - lib/sinatra/public/vendors/bootstrap-year-calendar/bootstrap-year-calendar.es.js