caboose-cms 0.4.35 → 0.4.36

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
- Zjc3MDVlNjJiYmQzM2YwMmJlMjg2NmE3NDZmYTBlN2M2MGQ4ODAyZQ==
4
+ YTk2NTdlOTliOGZiMDJmOWY1M2JlODc4NzdlODgzY2NmMzU4ZmM4ZQ==
5
5
  data.tar.gz: !binary |-
6
- MzQ5ZWRmNDdlZGNjZDAyNTRjMDEzMzM1N2UyZjQ1ODVjZDVmZDdjOA==
6
+ ZjRmNWEyZDdhMzg1YjNmODY0MDE3MGU3ZjI4NWYyYmMyNWY0MGVmNQ==
7
7
  !binary "U0hBNTEy":
8
8
  metadata.gz: !binary |-
9
- M2ZjN2ZhMmY0YzQ4ODVlMTczYWU3YjIyNmI5OGEzYjNmNmI5NTRmYzY0ZWQx
10
- M2NjNDcwN2Q0YjZkYWI5NzcxODZlM2RmNWY3MWVlOTg2YzhkZDViYWRjMzY3
11
- MzY5ZDBlMzQwZDIxZjM2ODlkN2U2Y2Q4MDAzZTJjMmRhZjk4ZmQ=
9
+ ZmJmZmE5YmY0MjZhOGZkNDg2OTIwMDgyZDZjZjg2MjE1Y2U0YTU4ZjEzMTM2
10
+ ZDM2MDQzNjZkYzI1MTZmMzljM2YwOTNkYzFiYzhmOWQ5ZDM0MmM3YzFlYjUz
11
+ YWFiYWIzNzZmZjAzOWUxOTVmY2FkZjgxMzFkZjhhMzAyNWI3Nzg=
12
12
  data.tar.gz: !binary |-
13
- MzAwZGVmNjkzODhkZjY3MzgxZmVlNTg3MDlkNzRmNjdiYjQ2NDA4NjFjYWYx
14
- ZDA0ODgwODFlNjczNzU3Yjc0ZjllNzY3ZWEwOWMzN2IzNWViMDI3NGQ2NjE4
15
- YTEzNGRiMzJmNDQxOTMyYzUxYjk1ODA0MDM0MjI4NzQ4ZDRjZjQ=
13
+ OGIyNTlmYTkzYWIzMmRhMmFkOTdjMzI3MGZlNTExNTBjYjhmZDg1Y2M2YmJi
14
+ OThmMDIwNDU0OWZmNjEwNjljODBmZDFlMTBhMGRhOTUwM2M3NzRmNTEwNjFi
15
+ NGZiZDE5N2E5ODYwMDhhMTNhMmU4Mjk4MTA0MzdjNGM3Y2JlOTc=
@@ -471,3 +471,14 @@ Page Bar Generator
471
471
  #content2 {
472
472
  margin-left: 220px;
473
473
  }
474
+
475
+ #crumbtrail {
476
+ position: absolute;
477
+ top: -36px;
478
+ left: 54px;
479
+ color: #fff;
480
+ }
481
+
482
+ #crumbtrail a {
483
+ color: #fff;
484
+ }
@@ -40,7 +40,7 @@ module Caboose
40
40
  bts.save
41
41
 
42
42
  # Send back the response
43
- resp.redirect = "/admin/block-type-sources/#{bts.id}/edit"
43
+ resp.redirect = "/admin/block-types/store/sources/#{bts.id}/edit"
44
44
  render :json => resp
45
45
  end
46
46
 
@@ -78,16 +78,20 @@ class Caboose::BlockType < ActiveRecord::Base
78
78
  self.save
79
79
 
80
80
  # Remove any named children that don't exist in the given hash
81
- new_child_names = h['children'].collect { |h2| h2['name'] }
82
- Caboose::BlockType.where(:parent_id => self.id).all.each do |bt|
83
- bt.destroy if bt.name && bt.name.strip.length > 0 && !new_child_names.include?(bt.name)
81
+ if h['children'].nil?
82
+ Caboose::BlockType.where("parent_id = ? and name is not null", self.id).destroy_all
83
+ else
84
+ new_child_names = h['children'].collect { |h2| h2['name'] }
85
+ Caboose::BlockType.where("parent_id = ? and name is not null and name not in (?)", self.id, new_child_names).destroy_all
84
86
  end
85
87
 
86
88
  # Now add/update all the children
87
- h['children'].each do |h2|
88
- bt = self.child(h2['name'])
89
- bt = Caboose::BlockType.create(:parent_id => self.id) if bt.nil?
90
- bt.parse_api_hash(h)
89
+ if h['children']
90
+ h['children'].each do |h2|
91
+ bt = self.child(h2['name'])
92
+ bt = Caboose::BlockType.create(:parent_id => self.id) if bt.nil?
93
+ bt.parse_api_hash(h2)
94
+ end
91
95
  end
92
96
 
93
97
  end
@@ -31,7 +31,7 @@ class Caboose::BlockTypeSource < ActiveRecord::Base
31
31
 
32
32
  summaries.each do |h|
33
33
  s = Caboose::BlockTypeSummary.where(:block_type_source_id => self.id, :name => h['name']).first
34
- s = Caboose::BlockTypeSummary.create(:block_type_source_id => self.id)
34
+ s = Caboose::BlockTypeSummary.create(:block_type_source_id => self.id) if s.nil?
35
35
  s.parse_api_hash(h)
36
36
  s.save
37
37
  end
@@ -65,7 +65,7 @@ class Caboose::BlockTypeSource < ActiveRecord::Base
65
65
  Caboose.log("Response body isn't valid JSON.")
66
66
  return false
67
67
  end
68
-
68
+ #Caboose.log(h)
69
69
  # Update the block type
70
70
  bt.parse_api_hash(h)
71
71
 
@@ -1,7 +1,7 @@
1
1
  require 'httparty'
2
2
 
3
3
  class Caboose::BlockTypeSummary < ActiveRecord::Base
4
- self.table_name = "block_type_summary"
4
+ self.table_name = "block_type_summaries"
5
5
 
6
6
  belongs_to :block_type_source
7
7
  attr_accessible :id,
@@ -1,6 +1,12 @@
1
1
  <%
2
2
  bts = @block_type_source
3
3
  %>
4
+ <div id='crumbtrail'>
5
+ <a href='/admin'>Admin</a> >
6
+ <a href='/admin/block-types'>Block Types</a> >
7
+ <a href='/admin/block-types/store'>Store</a> >
8
+ <a href='/admin/block-types/store/sources'>Sources</a>
9
+ </div>
4
10
 
5
11
  <h1>Edit Source</h1>
6
12
  <p><div id='blocktypesource_<%= bts.id %>_name' ></div></p>
@@ -46,7 +52,7 @@ function refresh_block_types(bts_id)
46
52
  {
47
53
  $('#message').empty().append($('<p/>').addClass('loading').html('Refreshing block types from source...'));
48
54
  $.ajax({
49
- url: '/admin/block-type/store/sources/' + bts_id + '/refresh',
55
+ url: '/admin/block-types/store/sources/' + bts_id + '/refresh',
50
56
  type: 'get',
51
57
  success: function(resp) {
52
58
  if (resp.error) $('#message').empty().append($('<p/>').addClass('note error').html(resp.error));
@@ -1,3 +1,9 @@
1
+ <div id='crumbtrail'>
2
+ <a href='/admin'>Admin</a> >
3
+ <a href='/admin/block-types'>Block Types</a> >
4
+ <a href='/admin/block-types/store'>Store</a>
5
+ </div>
6
+
1
7
  <h1>Block Type Sources</h1>
2
8
 
3
9
  <p><a href='/admin/block-types/store/sources/new'>New Source</a></p>
@@ -1,3 +1,9 @@
1
+ <div id='crumbtrail'>
2
+ <a href='/admin'>Admin</a> >
3
+ <a href='/admin/block-types'>Block Types</a> >
4
+ <a href='/admin/block-types/store'>Store</a> >
5
+ <a href='/admin/block-types/store/sources'>Sources</a>
6
+ </div>
1
7
 
2
8
  <h1>New Source</h1>
3
9
  <form action='/admin/block-types/store/sources' method='post' id='new_source_form'>
@@ -2,7 +2,8 @@
2
2
  bts = @block_type_summary
3
3
  %>
4
4
  <div id='crumbtrail'>
5
- <a href='/admin/block-types'>Page Block Types</a> >
5
+ <a href='/admin'>Admin</a> >
6
+ <a href='/admin/block-types'>Block Types</a> >
6
7
  <a href='/admin/block-types/store'>Store</a>
7
8
  </div>
8
9
 
@@ -10,5 +11,36 @@ bts = @block_type_summary
10
11
 
11
12
  <p>Name: <%= bts.name %></p>
12
13
  <p>Description: <%= bts.description %></p>
13
- <p>Status:
14
- <p><a href='/admin/block-types/store'>< Back</a></p>
14
+ <div id='message'></div>
15
+ <p>
16
+ <input type='button' value='< Back' onclick="window.location='/admin/block-types/store';" />
17
+ <input type='button' value='Download from Source' onclick="download_block_type(<%= bts.id %>);" />
18
+ </p>
19
+
20
+ <% content_for :caboose_js do %>
21
+ <script type='text/javascript'>
22
+
23
+ function download_block_type(summary_id, confirm)
24
+ {
25
+ if (!confirm)
26
+ {
27
+ var p = $('<p/>').addClass('note warning')
28
+ .append('Are you sure you want to download the block type?<br />')
29
+ .append($('<input/>').attr('type', 'button').val('Yes').click(function() { download_block_type(summary_id, true); })).append(' ')
30
+ .append($('<input/>').attr('type', 'button').val('No').click(function() { $('#message').empty(); }));
31
+ $('#message').empty().append(p);
32
+ return;
33
+ }
34
+ $('#message').html("<p class='loading'>Downloading block type...</p>");
35
+ $.ajax({
36
+ url: '/admin/block-types/store/' + summary_id + '/download',
37
+ type: 'get',
38
+ success: function(resp) {
39
+ if (resp.error) $('#message').html("<p class='note error'>" + resp.error + "</p>");
40
+ if (resp.success) $('#message').html("<p class='note success'>" + resp.success + "</p>");
41
+ }
42
+ });
43
+ }
44
+
45
+ </script>
46
+ <% end %>
@@ -1,3 +1,8 @@
1
+ <div id='crumbtrail'>
2
+ <a href='/admin'>Admin</a> >
3
+ <a href='/admin/block-types'>Block Types</a>
4
+ </div>
5
+
1
6
  <h1>Block Type Store</h1>
2
7
 
3
8
  <p><a href='/admin/block-types/store/sources'>Store Sources</a></p>
@@ -1,6 +1,10 @@
1
1
  <%
2
2
  bt = @block_type
3
3
  %>
4
+ <div id='crumbtrail'>
5
+ <a href='/admin'>Admin</a> >
6
+ <a href='/admin/block-types'>Block Types</a>
7
+ </div>
4
8
 
5
9
  <h1>Edit Block Type</h1>
6
10
  <p><div id='blocktype_<%= bt.id %>_description'></div></p>
@@ -1,3 +1,8 @@
1
+ <div id='crumbtrail'>
2
+ <a href='/admin'>Admin</a> >
3
+ Block Types
4
+ </div>
5
+
1
6
  <h1>Block Types</h1>
2
7
 
3
8
  <p>
@@ -1,3 +1,8 @@
1
+ <div id='crumbtrail'>
2
+ <a href='/admin'>Admin</a> >
3
+ <a href='/admin/block-types'>Block Types</a>
4
+ New Block Type
5
+ </div>
1
6
 
2
7
  <h1>New Block Type</h1>
3
8
  <form action='/admin/block-types' method='post' id='new_block_type_form'>
@@ -1,3 +1,3 @@
1
1
  module Caboose
2
- VERSION = '0.4.35'
2
+ VERSION = '0.4.36'
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.4.35
4
+ version: 0.4.36
5
5
  platform: ruby
6
6
  authors:
7
7
  - William Barry
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-06-30 00:00:00.000000000 Z
11
+ date: 2014-07-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails