caboose-cms 0.5.200 → 0.5.201

Sign up to get free protection for your applications and to get access to all the features.
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