sinatra-hexacta 0.3.1 → 0.3.6

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: 185da18b74cc83d7a22b391e86d2620d1c71e70a0bea348f21959d4ca8168afd
4
- data.tar.gz: 738feb302f578a42855e8afa2af5bcb8c5b83c259c89c0d15b5c21c913317a55
3
+ metadata.gz: 7a000deb70fda181a659f558d0d74b2c0be710f5dfe699937b830122fb0a78dc
4
+ data.tar.gz: bff227bfb84afefc6f86c16b7ae2cd5df112b7cc500c703f74d0a1420b7e7abf
5
5
  SHA512:
6
- metadata.gz: 9051be364b942161b6da74a1a60859c1f786c0dd1f8d3d99727d535e193acab914d655fc394c8b4a3b9a17b6fdc33a88316ea5182ce82bd04527e40631c0c27b
7
- data.tar.gz: 18f52572803ba6cc0e992f8ba1d1af5a6f1766588cf33f583d8fed896a0154190b2091a86f87f9f2195f300231a4882dd855a15eeb4c018afb0543ac94b45aad
6
+ metadata.gz: 7cd9ba877276c8ede2c9fdeee2d4dd1286444506f861f65adfa3f3bb039a6a5ca6b0cb2d669807a392cfc64c4ff4623a50c571f253d724313a132dca02051e8b
7
+ data.tar.gz: dca6f0e88059d9104bacab702943edc43dd8628a101e3c29777f79d11a6025e434e80946ec5593b92c461263e43c032b43c2ae9a2190bf022979939ecb091162
@@ -0,0 +1,24 @@
1
+ # encoding: utf-8
2
+ class GeneralMailNoLink < Mail
3
+
4
+ def initialize(args)
5
+ super(args)
6
+ @subject = args[:subject]
7
+ @description = args[:description]
8
+ end
9
+
10
+ def template
11
+ 'general_no_link'
12
+ end
13
+
14
+ def subject
15
+ @subject
16
+ end
17
+
18
+ def values
19
+ data = {}
20
+ data["{description}"] = @description
21
+ data
22
+ end
23
+
24
+ end
@@ -28,11 +28,20 @@ class MailBuilder
28
28
 
29
29
  def send
30
30
  @from ||= "apps@hexacta.com"
31
- GeneralMail.new({ :to => @to,
32
- :from => @from,
33
- :subject => @subject,
34
- :description => @description,
35
- :link => @link
36
- }).send
31
+ if @link.nil?
32
+ GeneralMailNoLink.new({ :to => @to,
33
+ :from => @from,
34
+ :subject => @subject,
35
+ :description => @description
36
+ }).send
37
+ else
38
+ GeneralMail.new({ :to => @to,
39
+ :from => @from,
40
+ :subject => @subject,
41
+ :description => @description,
42
+ :link => @link
43
+ }).send
44
+
45
+ end
37
46
  end
38
47
  end
@@ -13,7 +13,7 @@ module Sinatra
13
13
  end
14
14
 
15
15
  def error_template(code)
16
- ErrorHandler.symlink("/lib/sinatra/views/errors/#{code}.slim","/app/views/#{Hexacta::GEM_FILE_DIR}/errors/#{code}.slim")
16
+ ErrorHandler.copy_file("/lib/sinatra/views/errors/#{code}.slim","/app/views/#{Hexacta::GEM_FILE_DIR}/errors/#{code}.slim")
17
17
  error code do
18
18
  if code == 500
19
19
  title = env['sinatra.error'].message.split(':')[0].gsub('#<','');
@@ -6,8 +6,8 @@ module Sinatra
6
6
  def enable_notifications
7
7
  p "Enabling notifications..."
8
8
  NotificationHandler.setup_dir("/app/views/#{Hexacta::GEM_FILE_DIR}/notifications")
9
- NotificationHandler.symlink("/lib/sinatra/views/notifications.slim","/app/views/#{Hexacta::GEM_FILE_DIR}/notifications.slim")
10
- NotificationHandler.symlink_all("/lib/sinatra/views/notifications","/app/views/#{Hexacta::GEM_FILE_DIR}/notifications")
9
+ NotificationHandler.copy_file("/lib/sinatra/views/notifications.slim","/app/views/#{Hexacta::GEM_FILE_DIR}/notifications.slim")
10
+ NotificationHandler.copy_all_files("/lib/sinatra/views/notifications","/app/views/#{Hexacta::GEM_FILE_DIR}/notifications")
11
11
 
12
12
  post '/notification' do
13
13
  if params[:user_ids].blank?
@@ -14,7 +14,7 @@ module Sinatra
14
14
  end
15
15
 
16
16
  get '/reports/:report_name' do |report_name|
17
- date = Date.parse(params["date"]) unless params["date"].nil?
17
+ date = Date.parse(params[:date]) unless params[:date].nil?
18
18
  date ||= Date.today
19
19
  headers "Content-Disposition" => "attachment;filename=#{report_name}.#{date}.xls",
20
20
  "Content-Type" => "application/octet-stream"
@@ -20,7 +20,7 @@ module Sinatra
20
20
  end
21
21
 
22
22
  setup_dir("/app/views/#{Hexacta::GEM_FILE_DIR}/alerts")
23
- symlink_all("/lib/sinatra/views/alerts","/app/views/#{Hexacta::GEM_FILE_DIR}/alerts")
23
+ copy_all_files("/lib/sinatra/views/alerts","/app/views/#{Hexacta::GEM_FILE_DIR}/alerts")
24
24
  end
25
25
 
26
26
  helpers AlertHelper
@@ -24,7 +24,7 @@ module Sinatra
24
24
  end
25
25
 
26
26
  setup_dir("/app/views/#{Hexacta::GEM_FILE_DIR}/charts")
27
- symlink_all("/lib/sinatra/views/charts","/app/views/#{Hexacta::GEM_FILE_DIR}/charts")
27
+ copy_all_files("/lib/sinatra/views/charts","/app/views/#{Hexacta::GEM_FILE_DIR}/charts")
28
28
  end
29
29
 
30
30
  helpers ChartsHelper
@@ -40,7 +40,7 @@ module Sinatra
40
40
  end
41
41
 
42
42
  setup_dir("/app/views/#{Hexacta::GEM_FILE_DIR}/inputs")
43
- symlink_all("/lib/sinatra/views/inputs","/app/views/#{Hexacta::GEM_FILE_DIR}/inputs")
43
+ copy_all_files("/lib/sinatra/views/inputs","/app/views/#{Hexacta::GEM_FILE_DIR}/inputs")
44
44
  end
45
45
 
46
46
  helpers InputHelper
@@ -18,7 +18,7 @@ module Sinatra
18
18
  p "Setting up libraries directory..."
19
19
  copy_dir_structure("/lib/sinatra/public","/app/public/#{Hexacta::GEM_FILE_DIR}")
20
20
  setup_dir("/app/views/#{Hexacta::GEM_FILE_DIR}/libraries")
21
- symlink_all("/lib/sinatra/views/libraries","/app/views/#{Hexacta::GEM_FILE_DIR}/libraries")
21
+ copy_all_files("/lib/sinatra/views/libraries","/app/views/#{Hexacta::GEM_FILE_DIR}/libraries")
22
22
  end
23
23
 
24
24
  helpers LibrariesHelper
@@ -20,7 +20,7 @@ module Sinatra
20
20
  end
21
21
 
22
22
  setup_dir("/app/views/#{Hexacta::GEM_FILE_DIR}/reports")
23
- symlink_all("/lib/sinatra/views/reports","/app/views/#{Hexacta::GEM_FILE_DIR}/reports")
23
+ copy_all_files("/lib/sinatra/views/reports","/app/views/#{Hexacta::GEM_FILE_DIR}/reports")
24
24
  end
25
25
 
26
26
  helpers ReportHelper
@@ -9,43 +9,30 @@ module Sinatra
9
9
  module Hexacta
10
10
  GEM_FILE_DIR = "sinatra-hexacta"
11
11
 
12
- def symlink(original_path, link_path)
13
- File.symlink "#{Gem.loaded_specs["sinatra-hexacta"].gem_dir}#{original_path}", "#{link_path}" unless Gem.loaded_specs["sinatra-hexacta"].nil? || File.exist?("#{link_path}")
12
+ def gem_path
13
+ File.expand_path("../..",__dir__)
14
14
  end
15
15
 
16
- def symlink_all(original_path, link_path)
17
- Dir.foreach("#{Gem.loaded_specs["sinatra-hexacta"].gem_dir}#{original_path}") do |child|
18
- symlink("#{original_path}/#{child}","#{link_path}/#{child}") unless child == '.' || child == '..'
19
- end unless Gem.loaded_specs["sinatra-hexacta"].nil?
16
+ def copy_file(original_path, link_path)
17
+ IO.copy_stream("#{gem_path}#{original_path}",link_path) unless File.exist?(link_path) && FileUtils.compare_file("#{gem_path}#{original_path}",link_path)
20
18
  end
21
19
 
22
- def setup_dir(path)
23
- unless Gem.loaded_specs["sinatra-hexacta"].nil?
24
- FileUtils.remove_dir path if Dir.exist? path
25
- FileUtils.mkdir_p path
20
+ def copy_all_files(original_path, link_path)
21
+ Dir.foreach("#{gem_path}#{original_path}") do |child|
22
+ copy_file("#{original_path}/#{child}","#{link_path}/#{child}") unless child == '.' || child == '..'
26
23
  end
27
24
  end
28
25
 
26
+ def setup_dir(path)
27
+ FileUtils.mkdir_p path
28
+ end
29
+
29
30
  def copy_dir_structure(original_path, destination_path)
30
- unless Gem.loaded_specs["sinatra-hexacta"].nil?
31
- FileUtils.remove_dir destination_path if Dir.exist? destination_path
32
- FileUtils.copy_entry("#{Gem.loaded_specs["sinatra-hexacta"].gem_dir}#{original_path}", destination_path)
33
- end
31
+ FileUtils.copy_entry("#{gem_path}#{original_path}", destination_path)
34
32
  end
35
33
  end
36
34
  end
37
35
 
38
- if Gem.loaded_specs["sinatra-hexacta"].nil?
39
- p "ERROR: Sinatra hexacta gem was not found"
40
- else
41
- p "Sinatr hexacta gem was found in #{Gem.loaded_specs["sinatra-hexacta"].gem_dir}"
42
- end
43
-
44
- unless Gem.loaded_specs["sinatra-hexacta"].nil?
45
- FileUtils.remove_dir "/app/views/sinatra-hexacta" if Dir.exist? "/app/views/sinatra-hexacta"
46
- FileUtils.remove_dir "/app/public/sinatra-hexacta" if Dir.exist? "/app/public/sinatra-hexacta"
47
- end
48
-
49
36
  require_relative 'helpers/init'
50
37
  require_relative 'handlers/init'
51
38
  require_relative 'extensions/init'
@@ -36,9 +36,10 @@ $(document).ready(function(){
36
36
  }
37
37
  });
38
38
  if ($(this).find('.error').length == 0 ) {
39
- $(this).find('#submit').attr('disabled','disabled');
39
+ $(this).find(':submit').attr('disabled','disabled');
40
40
  }
41
41
  });
42
+
42
43
  $('.chosen[required]').on('change', function(change, deselected) { //selected OR deselected
43
44
  if ($(this).val() == "" || $(this).val() == null) {
44
45
  $(this).parent().removeClass("success");
@@ -48,36 +49,6 @@ $(document).ready(function(){
48
49
  $(this).parent().addClass("success");
49
50
  }
50
51
  });
51
- /* --------------------------------------------------------
52
- Layout
53
- -----------------------------------------------------------*/
54
- (function () {
55
-
56
- //Get saved layout type from LocalStorage
57
- var layoutStatus = localStorage.getItem('ma-layout-status');
58
- $('#header').attr('data-current-skin', "pink");
59
- if(!$('#header-2')[0]) { //Make it work only on normal headers
60
- if (layoutStatus == 1) {
61
- $('body').addClass('sw-toggled');
62
- $('#tw-switch').prop('checked', true);
63
- }
64
- }
65
-
66
- $('body').on('change', '#toggle-width input:checkbox', function () {
67
- if ($(this).is(':checked')) {
68
- setTimeout(function () {
69
- $('body').addClass('toggled sw-toggled');
70
- localStorage.setItem('ma-layout-status', 1);
71
- }, 250);
72
- }
73
- else {
74
- setTimeout(function () {
75
- $('body').removeClass('toggled sw-toggled');
76
- localStorage.setItem('ma-layout-status', 0);
77
- }, 250);
78
- }
79
- });
80
- })();
81
52
 
82
53
  //Hack for modal to work on dropdown menu
83
54
  $('header .lv-item').click(function(e) {
@@ -110,30 +81,12 @@ $(document).ready(function(){
110
81
  }
111
82
  }
112
83
 
113
- /*
114
- * Top Search
115
- */
116
- (function(){
117
- $('body').on('click', '#top-search > a', function(e){
118
- e.preventDefault();
119
-
120
- $('#header').addClass('search-toggled');
121
- $('#top-search-wrap input').focus();
122
- });
123
-
124
- $('body').on('click', '#top-search-close', function(e){
125
- e.preventDefault();
126
-
127
- $('#header').removeClass('search-toggled');
128
- });
129
- })();
130
-
131
84
  /*
132
85
  * Sidebar
133
86
  */
134
87
  (function(){
135
88
  //Toggle
136
- $('body').on('click', '#menu-trigger, #chat-trigger', function(e){
89
+ $('body').on('click', '#menu-trigger', function(e){
137
90
  e.preventDefault();
138
91
  var x = $(this).data('trigger');
139
92
 
@@ -146,58 +99,42 @@ $(document).ready(function(){
146
99
  $(this).find('ul').hide();
147
100
  });
148
101
 
102
+ $('.profile-menu .main-menu').hide();
149
103
 
104
+ if (x == '#sidebar') {
150
105
 
151
- $('.profile-menu .main-menu').hide();
152
-
153
- if (x == '#sidebar') {
154
-
155
- $elem = '#sidebar';
156
- $elem2 = '#menu-trigger';
157
-
158
- $('#chat-trigger').removeClass('open');
159
-
160
- if (!$('#chat').hasClass('toggled')) {
161
- $('#header').toggleClass('sidebar-toggled');
162
- }
163
- else {
164
- $('#chat').removeClass('toggled');
165
- }
166
- }
106
+ $elem = '#sidebar';
107
+ $elem2 = '#menu-trigger';
167
108
 
168
- if (x == '#chat') {
169
- $elem = '#chat';
170
- $elem2 = '#chat-trigger';
109
+ $('#chat-trigger').removeClass('open');
171
110
 
172
- $('#menu-trigger').removeClass('open');
173
-
174
- if (!$('#sidebar').hasClass('toggled')) {
175
- $('#header').toggleClass('sidebar-toggled');
176
- }
177
- else {
178
- $('#sidebar').removeClass('toggled');
179
- }
180
- }
111
+ if (!$('#chat').hasClass('toggled')) {
112
+ $('#header').toggleClass('sidebar-toggled');
113
+ }
114
+ else {
115
+ $('#chat').removeClass('toggled');
116
+ }
117
+ }
181
118
 
182
- //When clicking outside
183
- if ($('#header').hasClass('sidebar-toggled')) {
184
- $(document).on('click', function (e) {
185
- if (($(e.target).closest($elem).length === 0) && ($(e.target).closest($elem2).length === 0)) {
186
- setTimeout(function(){
187
- $($elem).removeClass('toggled');
188
- $('#header').removeClass('sidebar-toggled');
189
- $($elem2).removeClass('open');
190
- });
191
- }
192
- });
193
- }
119
+ //When clicking outside
120
+ if ($('#header').hasClass('sidebar-toggled')) {
121
+ $(document).on('click', function (e) {
122
+ if (($(e.target).closest($elem).length === 0) && ($(e.target).closest($elem2).length === 0)) {
123
+ setTimeout(function(){
124
+ $($elem).removeClass('toggled');
125
+ $('#header').removeClass('sidebar-toggled');
126
+ $($elem2).removeClass('open');
127
+ });
128
+ }
129
+ });
130
+ }
194
131
  })
195
132
 
196
133
  //Submenu
197
134
  $('body').on('click', '.sub-menu > a', function(e){
198
- e.preventDefault();
199
- $(this).next().slideToggle(200);
200
- $(this).parent().toggleClass('toggled');
135
+ e.preventDefault();
136
+ $(this).next().slideToggle(200);
137
+ $(this).parent().toggleClass('toggled');
201
138
  });
202
139
  })();
203
140
 
@@ -229,7 +166,7 @@ $(document).ready(function(){
229
166
 
230
167
  //Popup empty message
231
168
  setTimeout(function(){
232
- $('#notifications').addClass('empty');
169
+ $('#notifications').addClass('empty');
233
170
  }, (z*150)+200);
234
171
  });
235
172
 
@@ -380,9 +317,9 @@ $(document).ready(function(){
380
317
  * Waves Animation
381
318
  */
382
319
  (function(){
383
- Waves.attach('.btn:not(.btn-icon):not(.btn-float)');
384
- Waves.attach('.btn-icon, .btn-float', ['waves-circle', 'waves-float']);
385
- Waves.init();
320
+ Waves.attach('.btn:not(.btn-icon):not(.btn-float)');
321
+ Waves.attach('.btn-icon, .btn-float', ['waves-circle', 'waves-float']);
322
+ Waves.init();
386
323
  })();
387
324
 
388
325
  /*
@@ -462,87 +399,6 @@ $(document).ready(function(){
462
399
  });
463
400
  }
464
401
 
465
- /*
466
- * Login
467
- */
468
- if ($('.login-content')[0]) {
469
- //Add class to HTML. This is used to center align the logn box
470
- $('html').addClass('login-content');
471
-
472
- $('body').on('click', '.login-navigation > li', function(){
473
- var z = $(this).data('block');
474
- var t = $(this).closest('.lc-block');
475
-
476
- t.removeClass('toggled');
477
-
478
- setTimeout(function(){
479
- $(z).addClass('toggled');
480
- });
481
-
482
- })
483
- }
484
-
485
- /*
486
- * Fullscreen Browsing
487
- */
488
- if ($('[data-action="fullscreen"]')[0]) {
489
- var fs = $("[data-action='fullscreen']");
490
- fs.on('click', function(e) {
491
- e.preventDefault();
492
-
493
- //Launch
494
- function launchIntoFullscreen(element) {
495
- if(element.requestFullscreen) {
496
- element.requestFullscreen();
497
- } else if(element.mozRequestFullScreen) {
498
- element.mozRequestFullScreen();
499
- } else if(element.webkitRequestFullscreen) {
500
- element.webkitRequestFullscreen();
501
- } else if(element.msRequestFullscreen) {
502
- element.msRequestFullscreen();
503
- }
504
- }
505
-
506
- //Exit
507
- function exitFullscreen() {
508
- if(document.exitFullscreen) {
509
- document.exitFullscreen();
510
- } else if(document.mozCancelFullScreen) {
511
- document.mozCancelFullScreen();
512
- } else if(document.webkitExitFullscreen) {
513
- document.webkitExitFullscreen();
514
- }
515
- }
516
-
517
- launchIntoFullscreen(document.documentElement);
518
- fs.closest('.dropdown').removeClass('open');
519
- });
520
- }
521
-
522
- /*
523
- * Clear Local Storage
524
- */
525
- if ($('[data-action="clear-localstorage"]')[0]) {
526
- var cls = $('[data-action="clear-localstorage"]');
527
-
528
- cls.on('click', function(e) {
529
- e.preventDefault();
530
-
531
- swal({
532
- title: "¿Estás seguro?",
533
- text: "Todos tus datos locales serán borrados.",
534
- type: "warning",
535
- showCancelButton: true,
536
- confirmButtonColor: "#DD6B55",
537
- confirmButtonText: "Borrar",
538
- cancelButtonText: "Cancelar",
539
- closeOnConfirm: false
540
- }, function(){
541
- localStorage.clear();
542
- swal("Hecho!", "Cache borrada", "success");
543
- });
544
- });
545
- }
546
402
 
547
403
  /*
548
404
  * Profile Edit Toggle
@@ -613,7 +469,7 @@ $(document).ready(function(){
613
469
  * Modal hide
614
470
  */
615
471
  $('.modal').bind('shown.bs.modal', function (e) {
616
- $(this).find('#submit').attr("disabled",false);
472
+ $(this).find(':submit').attr("disabled",false);
617
473
  });
618
474
 
619
475
  });
@@ -785,10 +641,6 @@ function advance_search(url,offset,format) {
785
641
  }
786
642
  };
787
643
 
788
- $(document).ready(function(){
789
- $( ".paginator" ).clone().appendTo( "#content" );
790
- });
791
-
792
644
  function read_notify(id,url) {
793
645
  $.ajax({
794
646
  url: '/notifications/' + id,
@@ -4,15 +4,16 @@
4
4
  - id = "#{name}_#{rand(1000)}"
5
5
  - unless defined? placeholder
6
6
  - placeholder = "..."
7
-
7
+ -unless defined? onkeyup
8
+ -onkeyup = ''
8
9
 
9
10
  -if required
10
11
  .form-group.has-feedback.has-success
11
12
  label #{title}
12
13
  .fg-line
13
- input.form-control.fg-input id="#{id}" type="#{type}" placeholder=("#{placeholder}") name="#{name}" required="" value="#{value}"
14
+ input.form-control.fg-input id="#{id}" type="#{type}" placeholder=("#{placeholder}") name="#{name}" required="" value="#{value}" onkeyup="#{onkeyup}"
14
15
  -else
15
16
  .form-group
16
17
  label #{title}
17
18
  .fg-line
18
- input.form-control.fg-input id="#{id}" type="#{type}" placeholder=("#{placeholder}") name="#{name}" value="#{value}"
19
+ input.form-control.fg-input id="#{id}" type="#{type}" placeholder=("#{placeholder}") name="#{name}" value="#{value}" onkeyup="#{onkeyup}"
@@ -4,11 +4,13 @@
4
4
  - id = "#{name}_#{rand(1000)}"
5
5
  - unless defined? placeholder
6
6
  - placeholder = "Escribe aquí..."
7
+ - unless defined? rows
8
+ - rows = 5
7
9
 
8
10
  .form-group
9
11
  .fg-line
10
12
  label.fg-label #{title}
11
13
  - if required
12
- textarea.form-control name="#{name}" placeholder=("#{placeholder}") rows="5" maxlength="#{length}" required="" #{value}
14
+ textarea.form-control name="#{name}" placeholder=("#{placeholder}") rows="#{rows}" maxlength="#{length}" required="" #{value}
13
15
  - else
14
- textarea.form-control name="#{name}" placeholder=("#{placeholder}") rows="5" maxlength="#{length}" #{value}
16
+ textarea.form-control name="#{name}" placeholder=("#{placeholder}") rows="#{rows}" maxlength="#{length}" #{value}
@@ -9,6 +9,8 @@
9
9
  == multiple_select_input({ :name => "user_id", :elements => notifications.collect { |notification| { :value => notification.creator.id, :text => notification.creator.full_name } }.uniq, :placeholder => "Empleados", :selected_elements => filters[:user_id] })
10
10
  .col-md-12
11
11
  == multiple_select_input({ :name => "label", :elements => Notification.labels.collect { |notification| { :value => notification.label, :text => notification.label.upcase } }, :placeholder => "Etiquetas", :selected_elements => filters[:label] })
12
+ .col-md-12
13
+ == multiple_select_input({ :name => "status", :elements => Notification.labels.collect { |notification| { :value => notification.label, :text => notification.label.upcase } }, :placeholder => "Etiquetas", :selected_elements => filters[:label] })
12
14
  .pm-body.clearfix
13
15
  ul.tab-nav.tn-justified role="tablist"
14
16
  li.waves-effect.active role="presentation"
@@ -18,4 +18,4 @@
18
18
 
19
19
  .modal-footer
20
20
  button.btn.btn-link.waves-effect data-dismiss="modal" type="button" Cerrar
21
- button.btn.btn-link.waves-effect#submit Enviar
21
+ button.btn.btn-link.waves-effect type="submit" Enviar
@@ -11,4 +11,4 @@
11
11
 
12
12
  .modal-footer
13
13
  button.btn.btn-link.waves-effect data-dismiss="modal" type="button" Cerrar
14
- button.btn.btn-link.waves-effect#submit Descargar reporte
14
+ button.btn.btn-link.waves-effect type="submit" Descargar reporte
@@ -13,4 +13,4 @@
13
13
 
14
14
  .modal-footer
15
15
  button.btn.btn-link.waves-effect data-dismiss="modal" type="button" Cerrar
16
- button.btn.btn-link.waves-effect#submit Descargar reporte
16
+ button.btn.btn-link.waves-effect type="submit" Descargar reporte
@@ -11,4 +11,4 @@
11
11
 
12
12
  .modal-footer
13
13
  button.btn.btn-link.waves-effect data-dismiss="modal" type="button" Cerrar
14
- button.btn.btn-link.waves-effect#submit Descargar reporte
14
+ button.btn.btn-link.waves-effect type="submit" Descargar reporte
@@ -11,4 +11,4 @@
11
11
 
12
12
  .modal-footer
13
13
  button.btn.btn-link.waves-effect data-dismiss="modal" type="button" Cerrar
14
- button.btn.btn-link.waves-effect#submit Descargar reporte
14
+ button.btn.btn-link.waves-effect type="submit" Descargar reporte
metadata CHANGED
@@ -1,15 +1,57 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sinatra-hexacta
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.1
4
+ version: 0.3.6
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-06-03 00:00:00.000000000 Z
12
- dependencies: []
11
+ date: 2020-06-04 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: sucker_punch
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '2.0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '2.0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: tzinfo-data
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '1.2019'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '1.2019'
41
+ - !ruby/object:Gem::Dependency
42
+ name: rufus-scheduler
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: 3.6.0
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: 3.6.0
13
55
  description: A gem to support general functionality accross all apps
14
56
  email: mzanger@hexacta.com
15
57
  executables: []
@@ -19,6 +61,7 @@ files:
19
61
  - lib/sinatra/extensions/antiquity.rb
20
62
  - lib/sinatra/extensions/date.rb
21
63
  - lib/sinatra/extensions/generalmail.rb
64
+ - lib/sinatra/extensions/generalmailnolink.rb
22
65
  - lib/sinatra/extensions/init.rb
23
66
  - lib/sinatra/extensions/mail.rb
24
67
  - lib/sinatra/extensions/mailbuilder.rb