caboose-cms 0.3.91 → 0.3.92

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
- ZWJlYWJiMWRhNDA4MjY4ZTBhNTNkZDhjMjc4OTVmYTcxNmJhZTFmYw==
4
+ N2I0NjQ2MWY3OGM0NDY4ODc1OTUzMmIyNzJlMjhkM2Y3ZDMyZDBhMQ==
5
5
  data.tar.gz: !binary |-
6
- NWFiYTE5NGZlYmNmZGFiZTg1Y2I0ZTUxMjI1NzI3MzVmMTI2ODcyMA==
6
+ YWU1OGQ1MzllYjVkYTY1NjNjNWQzYjU0MWIwMTEyMGVkZDM0YzYzYg==
7
7
  !binary "U0hBNTEy":
8
8
  metadata.gz: !binary |-
9
- MTgyNGJmMGI3ZGE2NGRmYTc4ZWZmNGU1N2E3MjYyZmQ0N2I5ODU5OTNjMzQ0
10
- MWVmZmY0ZGM4NjQ0ODEzNmE2MjM5OTU4MzliY2MyNTAzNzA4OTVkMzMzZmQw
11
- OTY3ZjIwNmRkMDk0NGQyZWIxODBmY2QxNjgyNTcyZjBmZWI1ZTY=
9
+ YzJkMmUwMmFlNmIxOWQ3OTVmMjc4NzU0YzNmMGE5YzJlMTU4NGFlYmU5NWZj
10
+ NmE3M2ExYzVmODAyYmYzODA0YTBmOTM0NmY3ZGQ4ZDgwY2JmZjRhNzIxNjA2
11
+ MzdiZDI3MTU2YzgwYjY5OTUwYjIwNWI4YmNmMmRkMzZlOTYwMTk=
12
12
  data.tar.gz: !binary |-
13
- YmUzYThlZWFjNjc1YzQ2ZTU1ZjVjOTA1OWY4MjRiYzkzZWE2MjY3MGFkMjRk
14
- ODgwZmVkZGE2MmNjN2M0MjU3YzBhNzIyYzk1YzJlYTQ2NTg0ODk5MzUwOTI3
15
- NmYyMWNiZjY0YzYxOGMzZmIxYzUxN2E2NjY5YmVhNGM1NDBkZmU=
13
+ OTg4NmZmNTM3ZGE4N2QyNjc1MmFhYzg1M2MwNzViMjA5Mjg3OTFiMWEyNjQz
14
+ M2EyZTkzZjI4MzhhOGIxNWQ2NGFlOTk1MTJiZGI5MTY2MWJlODcxMWM4YmU0
15
+ YmJmYTEzMDA5MWFjNTAyMGU0YzhlYjdiM2MzZmY3Nzg2MDM0M2I=
@@ -89,7 +89,11 @@ BoundSelect = BoundControl.extend({
89
89
  .val(option.value)
90
90
  .html(option.text);
91
91
  if (option.value == this2.attribute.value)
92
+ {
93
+ this2.attribute.text = option.text;
94
+ $('#'+this2.el).val(this2.attribute.text);
92
95
  opt.attr('selected', 'true');
96
+ }
93
97
  select.append(opt);
94
98
  });
95
99
  $('#'+this2.el+'_container').append(select);
@@ -136,7 +140,11 @@ BoundSelect = BoundControl.extend({
136
140
  save: function() {
137
141
  this.attribute.value = $('#'+this.el).val();
138
142
  var this2 = this;
139
- this.model.save(this.attribute, function(resp) {
143
+ this.model.save(this.attribute, function(resp) {
144
+ $(this2.attribute.options).each(function(i,opt) {
145
+ if (opt.value == this2.attribute.value)
146
+ this2.attribute.text = opt.text;
147
+ });
140
148
  if (this2.attribute.text)
141
149
  $('#'+this2.el).val(this2.attribute.text);
142
150
  $('#'+this2.el+'_check a').removeClass('loading');
@@ -62,36 +62,17 @@ module Caboose
62
62
 
63
63
  params.each do |k,v|
64
64
  case k
65
- when 'page_block_type_id'
66
- field.page_block_type_id = v
67
- break
68
- when 'name'
69
- field.name = v
70
- break
71
- when 'field_type'
72
- field.field_type = v
73
- break
74
- when 'nice_name'
75
- field.nice_name = v
76
- break
77
- when 'default'
78
- field.default = v
79
- break
80
- when 'width'
81
- field.width = v
82
- break
83
- when 'height'
84
- field.height = v
85
- break
86
- when 'fixed_placeholder'
87
- field.fixed_placeholder = v
88
- break
89
- when 'options'
90
- field.options = v
91
- break
92
- when 'options_url'
93
- field.options_url = v
94
- break
65
+ when 'page_block_type_id' then field.page_block_type_id = v
66
+ when 'name' then field.name = v
67
+ when 'field_type' then field.field_type = v
68
+ when 'nice_name' then field.nice_name = v
69
+ when 'default' then field.default = v
70
+ when 'width' then field.width = v
71
+ when 'height' then field.height = v
72
+ when 'fixed_placeholder' then field.fixed_placeholder = v
73
+ when 'options' then field.options = v
74
+ when 'options_function' then field.options_function = v
75
+ when 'options_url' then field.options_url = v
95
76
  end
96
77
  end
97
78
 
@@ -130,7 +111,9 @@ module Caboose
130
111
  return unless user_is_allowed('pages', 'edit')
131
112
  f = PageBlockField.find(params[:id])
132
113
  options = []
133
- if f.options
114
+ if f.options_function
115
+ options = f.render_options
116
+ elsif f.options
134
117
  options = f.options.strip.split("\n").collect { |line| { 'value' => line, 'text' => line }}
135
118
  end
136
119
  render :json => options
@@ -40,8 +40,7 @@ class Caboose::PageBlock < ActiveRecord::Base
40
40
  end
41
41
  end
42
42
 
43
- def render_from_function(empty_text = nil, editing = false)
44
- Caboose.log("editing = #{editing}")
43
+ def render_from_function(empty_text = nil, editing = false)
45
44
  locals = OpenStruct.new(:block => self, :empty_text => empty_text, :editing => editing)
46
45
  erb = ERB.new(page_block_type.render_function)
47
46
  return erb.result(locals.instance_eval { binding })
@@ -4,6 +4,18 @@ class Caboose::PageBlockField < ActiveRecord::Base
4
4
 
5
5
  belongs_to :page_block_type
6
6
  has_many :page_block_field_values, :dependent => :destroy
7
- attr_accessible :id, :page_block_type_id, :name, :field_type, :nice_name, :default, :width, :height, :fixed_placeholder, :options, :options_url
7
+ attr_accessible :id,
8
+ :page_block_type_id,
9
+ :name, :field_type,
10
+ :nice_name, :default,
11
+ :width, :height,
12
+ :fixed_placeholder,
13
+ :options,
14
+ :options_function,
15
+ :options_url
16
+
17
+ def render_options(empty_text = nil)
18
+ return eval(self.options_function)
19
+ end
8
20
 
9
21
  end
@@ -128,6 +128,7 @@ class Caboose::Schema < Caboose::Utilities::Schema
128
128
  [ :height , :integer ],
129
129
  [ :fixed_placeholder , :boolean ],
130
130
  [ :options , :text ],
131
+ [ :options_function , :text ],
131
132
  [ :options_url , :string ]
132
133
  ],
133
134
  Caboose::PageBlockFieldValue => [
@@ -11,6 +11,7 @@ block_type_id = @field.page_block_type.id
11
11
  <div id='pageblockfield_<%= @field.id %>_height'></div>
12
12
  <div id='pageblockfield_<%= @field.id %>_fixed_placeholder'></div>
13
13
  <div id='pageblockfield_<%= @field.id %>_options_url'></div>
14
+ <div id='pageblockfield_<%= @field.id %>_options_function'></div>
14
15
  <div id='pageblockfield_<%= @field.id %>_options'></div>
15
16
  <br />
16
17
 
@@ -20,6 +21,11 @@ block_type_id = @field.page_block_type.id
20
21
  <input type='button' value='Delete Field' onclick="delete_field(<%= @field.id %>);" />
21
22
  </p>
22
23
 
24
+ <% content_for :caboose_css do %>
25
+ <style type='text/css'>
26
+ #pageblockfield_<%= @field.id %>_options_function { font-family: Courier; font-size: 80%; }
27
+ </style>
28
+ <% end %>
23
29
  <% content_for :caboose_js do %>
24
30
  <%= javascript_include_tag "caboose/model/all" %>
25
31
  <script type="text/javascript">
@@ -61,6 +67,7 @@ $(document).ready(function() {
61
67
  { name: 'height' , nice_name: 'Height' , type: 'text' , value: <%= raw Caboose.json(@field.height) %>, width: 400 },
62
68
  { name: 'fixed_placeholder' , nice_name: 'Fixed placeholder' , type: 'checkbox' , value: <%= raw Caboose.json(@field.fixed_placeholder) %>, width: 400 },
63
69
  { name: 'options_url' , nice_name: 'Options URL' , type: 'text' , value: <%= raw Caboose.json(@field.options_url) %>, width: 400 },
70
+ { name: 'options_function' , nice_name: 'Options Function' , type: 'textarea' , value: <%= raw Caboose.json(@field.options_function) %>, width: 400, height: 100 },
64
71
  { name: 'options' , nice_name: 'Options' , type: 'textarea' , value: <%= raw Caboose.json(@field.options) %>, width: 400, height: 100 }
65
72
  ]
66
73
  });
@@ -32,6 +32,11 @@
32
32
  <input type='button' value='Delete Block Type' onclick="delete_block_type(<%= @block_type.id %>);" />
33
33
  </p>
34
34
 
35
+ <% content_for :caboose_css do %>
36
+ <style type='text/css'>
37
+ #pageblocktype_<%= @block_type.id %>_render_function { font-family: Courier; font-size: 80%; }
38
+ </style>
39
+ <% end %>
35
40
  <% content_for :caboose_js do %>
36
41
  <%= javascript_include_tag "caboose/model/all" %>
37
42
  <script type="text/javascript">
@@ -44,8 +44,8 @@ $(document).ready(function() {
44
44
  width: <% if f.width %><%= raw Caboose.json(f.width) %><% else %>780<% end %>,
45
45
  <% if f.height %>height: <%= raw Caboose.json(f.height) %>,<% end %>
46
46
  <% if f.fixed_placeholder %>fixed_placeholder: <%= raw Caboose.json(f.fixed_placeholder) %>,<% end %>
47
- <% if f.options %>options_url: '/admin/page-block-fields/<%= f.id %>/options',<%
48
- elsif f.options_url %>options_url: <%= raw Caboose.json(f.options_url) %>,<% end %>
47
+ <% if f.options || f.options_function %>options_url: '/admin/page-block-fields/<%= f.id %>/options',<%
48
+ elsif f.options_url %>options_url: <%= raw Caboose.json(f.options_url) %>,<% end %>
49
49
  <% if f.field_type == 'image' %>update_url: '/admin/page-block-field-values/<%= fv.id %>/image',
50
50
  image_refresh_delay: 100,
51
51
  <% end %>
@@ -1,3 +1,3 @@
1
1
  module Caboose
2
- VERSION = '0.3.91'
2
+ VERSION = '0.3.92'
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.3.91
4
+ version: 0.3.92
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-04-17 00:00:00.000000000 Z
11
+ date: 2014-04-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails