sinatra-hexacta 1.2.10 → 1.4.3

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: 22a7abde00b45cc0377261deb3ba7e61446860e40ec9a807bf2be533f0734d26
4
- data.tar.gz: e98e773d0b6ebe4279a80ed6ccc7f36a03f8739e4a6674c730975aa6cd730450
3
+ metadata.gz: fa4ce2599f3137734dcbc471ecd27592241b1043086c1671d10728d87432025b
4
+ data.tar.gz: 7cd5851bd3d4e81788256f94c0372afd1dedf4a1cd7f597e4cb04a9bb007e14c
5
5
  SHA512:
6
- metadata.gz: c4941db46e8990f192735fd3fb0a328d12d7596a86de13d851c667ebefd70e451072e33e529371d0e1dcc414b3ad033d902d3bd233ef5fdb5d4d695f11a50563
7
- data.tar.gz: 5935235c41e309692f7f40810f2e14a3e58a2578e287cff335799f43f16b61d550e2401940ea331dde7b9f8a3fac107a9c7a1af3005413ab7638c4dd5dda30e4
6
+ metadata.gz: 4d3c9b32037026c1235d80f0a2abd4bae7883c093fdc05192ed135cf75190ccc08696d1a556a8324db0d9fa38467e1a7c80a86fff3a043d5c80823d656efcfff
7
+ data.tar.gz: e28adc2053545077db25b8c3b023c9aa4fc5dba671883b0f9fa1379e968972c6a43123336579e07539290efc5e57e8b88594bef2b09f0603147aaa9059e502a3
@@ -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'] = '*'
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'
@@ -370,8 +370,8 @@ t-view:after {
370
370
 
371
371
  .modal .modal-header {
372
372
  padding: 23px 26px;
373
- border-bottom: 1px solid rgba(0,0,0,0.05);
374
- margin-bottom: 20px;
373
+ border-bottom: 0px;
374
+ margin-bottom: 0px;
375
375
  }
376
376
 
377
377
  .modal .modal-footer {
@@ -677,4 +677,8 @@ function read_notify(id,url) {
677
677
  window.location = url;
678
678
  }
679
679
  });
680
+ }
681
+
682
+ function capitalize(word) {
683
+ return word[0].toUpperCase() + word.slice(1).toLowerCase();
680
684
  }
@@ -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,8 +8,19 @@
8
8
  - chosen = nil
9
9
  - unless defined? clazz
10
10
  - clazz = nil
11
-
12
- -if required
11
+ -unless defined? readonly
12
+ -readonly = false
13
+
14
+ -if readonly
15
+ .form-group
16
+ label #{placeholder}
17
+ select.chosen id="#{id}" class="#{clazz}" name="#{name}" data-placeholder=("#{placeholder}") style=("display: none;") disabled=""
18
+ -for element in elements
19
+ -if chosen == element[:value]
20
+ option value="#{element[:value]}" selected="" #{element[:text]}
21
+ -else
22
+ option value="#{element[:value]}" #{element[:text]}
23
+ -elsif required
13
24
  .form-group.has-success
14
25
  label #{placeholder}
15
26
  select.chosen.form-control id="#{id}" class="#{clazz}" name="#{name}" data-placeholder=("#{placeholder}") style=("display: none;") required=""
@@ -27,4 +38,11 @@
27
38
  -if chosen == element[:value]
28
39
  option value="#{element[:value]}" selected="" #{element[:text]}
29
40
  -else
30
- option value="#{element[:value]}" #{element[:text]}
41
+ option value="#{element[:value]}" #{element[:text]}
42
+
43
+
44
+ / For enabling
45
+ / var myselect=$('select');
46
+ / myselect.chosen();
47
+ / myselect.prop('disabled', true);
48
+ / myselect.trigger("chosen:updated");
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.10
4
+ version: 1.4.3
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-04-22 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