caboose-cms 0.5.200 → 0.5.201

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,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- YzQwYWQxZGViMmI1ODlkNjNkMjJjODc3ZmE3NjZhYWY0NjViYTAwNA==
4
+ NWFhNjhhZjc5NGZjNDE4MWI2OGQzZTEyNWUwZTRkYTAyODllMzY5Mw==
5
5
  data.tar.gz: !binary |-
6
- MDcwMDA0Y2M4MTRmMWI3Y2NiN2Q1N2U3YTM5MzAzZWQ3NzI0NjgyNQ==
6
+ ZTMwNzVmY2RhZWFlMTI2YTMwNmU4YjU4OWNkYWQyOTU5Yzk5Yjc2Mg==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- NTUxNTM5MjEyYmM2OWJiYTZiZjEzODQ1YmUxOTE4MTY0NTRkYjg3MjliNjIx
10
- OGJlY2JkYTVmNTRlMWQ3ZTYzZDYwMWE2ZDMwMDEzZDIyZjliMzI0ZDk3MThk
11
- ODViZjRlYTQ2NGZhZjZkNWYwYTQwNGVlN2ZmZGIxOWYzZjg3MDQ=
9
+ OTI0Yjg1YWRjOGFmOGY2NjMzYzc3ODc0MGE0NjVmYjNkN2I2OGQxODNlZGI3
10
+ MGQ1ZTFmYWRkOGY5YTg5YjQyMDdkNjBhMmMxNmU5YTZkMzZlNjQyOWQ4MWNm
11
+ NmE4NjNhMDc3NTBmYjFlNTQ3YmI0NzUxOGU4MDA0ZTRjMDNiMjI=
12
12
  data.tar.gz: !binary |-
13
- MmRiMWViNTgzYmFmMDE0NTQyOTMwMDJhOGRkZmZlNDAxZmY1MjExN2FmZTU3
14
- NTNjZmY4NzdlYmEyODI1YjczYWY3MDI1ZTkzM2ZmNDRhYTk4NjliY2M4M2I0
15
- NDZjYjM3MjM5M2EwNjg1OTFkZjQ4NzVjODI5NmQxYTFmN2VlYmY=
13
+ ODdjM2MzNzM1MWQ2ZTQzYTUwZmRmZDE2NWQ4MzI5ZGZkOTJjODMyNTQ1ZDgy
14
+ MWRjYTkwNTE4ZjVjNWJiYjUyODI0ZWZhZmMzYzQ1NzMzZjI0MGE1ODAyMDJh
15
+ NGQ5ZDZmMWRjMGZmNjQ0MjVkYjBiMjY5MTQ4ZTgyNWM3ZGU3ZGY=
@@ -0,0 +1,32 @@
1
+
2
+ var google_spreadsheets = false;
3
+
4
+ function google_csv_data(spreadsheet_id, col, row)
5
+ {
6
+ var csv_array = false;
7
+ if (!google_spreadsheets) google_spreadsheets = {};
8
+ if (!google_spreadsheets[spreadsheet_id])
9
+ {
10
+ $.ajax({
11
+ url: "/google-spreadsheets/" + spreadsheet_id + "/csv",
12
+ type: 'get',
13
+ success: function(arr){ google_spreadsheets[spreadsheet_id] = arr; },
14
+ async: false
15
+ });
16
+ }
17
+ var arr = google_spreadsheets[spreadsheet_id];
18
+ var c = column_name_to_int(col);
19
+ return arr[parseInt(row)-1][c];
20
+ }
21
+
22
+ function column_name_to_int(col)
23
+ {
24
+ var c = 0;
25
+ if (col.length > 0)
26
+ {
27
+ var l = col.length;
28
+ for (var i=l-1; i >=0; i--)
29
+ c += Math.pow(25, l-i-1) * (col.charCodeAt(i) - 65);
30
+ }
31
+ return c;
32
+ }
@@ -0,0 +1,16 @@
1
+ require 'httparty'
2
+
3
+ module Caboose
4
+ class GoogleSpreadsheetsController < Caboose::ApplicationController
5
+
6
+ # GET /google-spreadsheets/:spreadsheet_id/csv
7
+ def csv_data
8
+ spreadsheet_id = params[:spreadsheet_id]
9
+ url = "https://docs.google.com/spreadsheets/d/#{spreadsheet_id}/export?format=csv&id=#{spreadsheet_id}&gid=0"
10
+ resp = HTTParty.get(url)
11
+ arr = CSV.parse(resp.body)
12
+ render :json => arr
13
+ end
14
+
15
+ end
16
+ end
@@ -4,6 +4,7 @@ class Caboose::Block < ActiveRecord::Base
4
4
 
5
5
  #after_find :get_master_value # TODO
6
6
 
7
+ belongs_to :post
7
8
  belongs_to :page
8
9
  belongs_to :block_type
9
10
  belongs_to :parent, :foreign_key => 'parent_id', :class_name => 'Caboose::Block'
@@ -21,7 +22,8 @@ class Caboose::Block < ActiveRecord::Base
21
22
  }
22
23
  do_not_validate_attachment_file_type :image
23
24
 
24
- attr_accessible :id,
25
+ attr_accessible :id,
26
+ :post_id,
25
27
  :page_id,
26
28
  :parent_id,
27
29
  :block_type_id,
@@ -0,0 +1,26 @@
1
+ <%
2
+ spreadsheet_id = block.child_value('spreadsheet_id')
3
+ row = block.child_value('row')
4
+ col = block.child_value('column')
5
+ %>
6
+ <div id='block_<%= block.id %>'>
7
+ <% if editing && (spreadsheet_id.nil? || spreadsheet_id.strip.length == 0) %>
8
+ [Empty spreadsheet ID]
9
+ <% elsif editing && (row.nil? || row.strip.length == 0) %>
10
+ [Empty spreadsheet row]
11
+ <% elsif editing && (col.nil? || col.strip.length == 0) %>
12
+ [Empty spreadsheet column]
13
+ <% elsif !editing && spreadsheet_id && row && col %><% end %>
14
+ </div>
15
+ <% if spreadsheet_id && row && col %>
16
+ <%= content_for :js do %>
17
+ <%= javascript_include_tag('caboose/google_spreadsheets') %>
18
+ <script type='text/javascript'>
19
+ $(document).ready(function() {
20
+ var str = google_csv_data("<%= raw spreadsheet_id %>", "<%= raw col %>", <%= raw row %>);
21
+ $('#block_<%= block.id %>').html(str);
22
+ });
23
+ </script>
24
+ <% end %>
25
+ <% end %>
26
+
@@ -54,7 +54,6 @@ g = @event.calendar_event_group
54
54
 
55
55
  <% content_for :caboose_js do %>
56
56
  <%= javascript_include_tag "caboose/model/all" %>
57
- <%= javascript_include_tag "jquery-ui/datepicker" %>
58
57
  <script type="text/javascript">
59
58
 
60
59
  var modal = false;
@@ -79,7 +78,7 @@ $(document).ready(function() {
79
78
  { name: 'all_day' , nice_name: 'All day' , type: 'checkbox' , value: <%= raw e.all_day ? 1 : 0 %>, width: 100, after_update: after_all_day_update },
80
79
  { name: 'repeats' , nice_name: 'Repeats' , type: 'checkbox' , value: <%= raw e.repeats ? 1 : 0 %>, width: 100, after_update: after_repeats_update }
81
80
  ],
82
- on_load: function() { modal.autosize(); }
81
+ on_load: function() { modal.autosize(); console.log('Testing'); }
83
82
  });
84
83
  new ModelBinder({
85
84
  name: 'CalendarEventGroup',
@@ -16,6 +16,7 @@
16
16
  <%= javascript_include_tag "caboose/model/all" %>
17
17
  <script type="text/javascript">
18
18
 
19
+ var modal = false;
19
20
  $(window).load(function() {
20
21
  modal = new CabooseModal(460);
21
22
  });
data/config/routes.rb CHANGED
@@ -343,6 +343,12 @@ Caboose::Engine.routes.draw do
343
343
  post "admin/posts" => "posts#admin_add"
344
344
  delete "admin/posts/:id" => "posts#admin_delete"
345
345
 
346
+ #=============================================================================
347
+ # Google Spreadsheets
348
+ #=============================================================================
349
+
350
+ get "google-spreadsheets/:spreadsheet_id/csv" => "google_spreadsheets#csv_data"
351
+
346
352
  #=============================================================================
347
353
  # Calendar
348
354
  #=============================================================================
@@ -1,3 +1,3 @@
1
1
  module Caboose
2
- VERSION = '0.5.200'
2
+ VERSION = '0.5.201'
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: caboose-cms
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.200
4
+ version: 0.5.201
5
5
  platform: ruby
6
6
  authors:
7
7
  - William Barry
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-04-14 00:00:00.000000000 Z
11
+ date: 2015-04-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: pg
@@ -415,6 +415,7 @@ files:
415
415
  - app/assets/javascripts/caboose/checkout_payment.js
416
416
  - app/assets/javascripts/caboose/checkout_shipping.js
417
417
  - app/assets/javascripts/caboose/date_format.js
418
+ - app/assets/javascripts/caboose/google_spreadsheets.js
418
419
  - app/assets/javascripts/caboose/imageZoom.js
419
420
  - app/assets/javascripts/caboose/jquery.datetimepicker.js
420
421
  - app/assets/javascripts/caboose/jquery.detect.js
@@ -530,6 +531,7 @@ files:
530
531
  - app/controllers/caboose/event_groups_controller.rb
531
532
  - app/controllers/caboose/events_controller.rb
532
533
  - app/controllers/caboose/gift_cards_controller.rb
534
+ - app/controllers/caboose/google_spreadsheets_controller.rb
533
535
  - app/controllers/caboose/images_controller.rb
534
536
  - app/controllers/caboose/line_items_controller.rb
535
537
  - app/controllers/caboose/login_controller.rb
@@ -684,6 +686,7 @@ files:
684
686
  - app/views/caboose/blocks/_checkbox.html.erb
685
687
  - app/views/caboose/blocks/_controller_view_content.html.erb
686
688
  - app/views/caboose/blocks/_file.html.erb
689
+ - app/views/caboose/blocks/_google_spreadsheet_cell_value.html.erb
687
690
  - app/views/caboose/blocks/_heading.html.erb
688
691
  - app/views/caboose/blocks/_html.html.erb
689
692
  - app/views/caboose/blocks/_image.html.erb