fullstack-cms 0.2.13 → 0.2.14

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.
data/Gemfile CHANGED
@@ -4,7 +4,7 @@
4
4
 
5
5
  source "http://rubygems.org"
6
6
 
7
- gem "fullstack-admin", '~> 0.1.42'
7
+ gem "fullstack-admin", '~> 0.1.43'
8
8
 
9
9
  gem "ars-permalink"
10
10
  gem "has-attached"
data/Gemfile.lock CHANGED
@@ -62,7 +62,7 @@ GEM
62
62
  railties (>= 3.0)
63
63
  builder (3.0.0)
64
64
  checkin (0.5.1)
65
- chosen-rails (0.9.8.2)
65
+ chosen-rails (0.9.8.3)
66
66
  railties (~> 3.0)
67
67
  thor (~> 0.14)
68
68
  chronic (0.6.7)
@@ -95,9 +95,9 @@ GEM
95
95
  rails (~> 3.0)
96
96
  formtastic (2.2.1)
97
97
  actionpack (>= 3.0)
98
- formtastic-bootstrap (1.1.1)
99
- formtastic
100
- rails (~> 3.1)
98
+ formtastic-bootstrap (2.0.0)
99
+ formtastic (~> 2.2)
100
+ formtastic-bootstrap
101
101
  friendly_id (4.0.8)
102
102
  fullstack (0.1.25)
103
103
  active_record_schema
@@ -126,7 +126,7 @@ GEM
126
126
  remotipart
127
127
  resource-presentation-helpers
128
128
  squeel
129
- fullstack-admin (0.1.42)
129
+ fullstack-admin (0.1.43)
130
130
  bootstrap-datepicker-rails
131
131
  bootstrap-helpers
132
132
  bootstrap-wysihtml5-rails
@@ -161,7 +161,7 @@ GEM
161
161
  rake
162
162
  rdoc
163
163
  journey (1.0.4)
164
- jquery-rails (2.1.1)
164
+ jquery-rails (2.1.2)
165
165
  railties (>= 3.1.0, < 5.0)
166
166
  thor (~> 0.14)
167
167
  json (1.7.4)
@@ -170,12 +170,12 @@ GEM
170
170
  activesupport (>= 3.0.0)
171
171
  kaminari-i18n (0.1.3)
172
172
  rails
173
- less (2.2.1)
173
+ less (2.2.2)
174
174
  commonjs (~> 0.2.6)
175
175
  less-rails (2.2.3)
176
176
  actionpack (>= 3.1)
177
177
  less (~> 2.2.0)
178
- less-rails-bootstrap (2.1.0)
178
+ less-rails-bootstrap (2.1.1)
179
179
  less-rails (~> 2.2.0)
180
180
  libv8 (3.3.10.4)
181
181
  mail (2.4.4)
@@ -226,7 +226,7 @@ GEM
226
226
  activesupport (= 3.2.8)
227
227
  bundler (~> 1.0)
228
228
  railties (= 3.2.8)
229
- rails-i18n (0.6.5)
229
+ rails-i18n (0.6.6)
230
230
  i18n (~> 0.5)
231
231
  rails-slow-assets-workaround (0.1.1)
232
232
  rails
@@ -289,7 +289,7 @@ DEPENDENCIES
289
289
  ars-permalink
290
290
  awesome_nested_set
291
291
  bluecloth
292
- fullstack-admin (~> 0.1.42)
292
+ fullstack-admin (~> 0.1.43)
293
293
  has-attached
294
294
  jeweler
295
295
  rails_i18n_gettext
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.2.13
1
+ 0.2.14
@@ -25,6 +25,7 @@ module MenusHelper
25
25
  end
26
26
 
27
27
  def menu_link_url(link)
28
+ return "#" unless link
28
29
  link.url.present? ? CGI::escape(link.url) : (link.linked ? page_path_for(link.linked) : "#")
29
30
  end
30
31
 
@@ -7,10 +7,11 @@ module PagesHelper
7
7
  def part(name, opts = {}, &block)
8
8
  if @current_page
9
9
  schema = opts.delete(:schema) || PagePart
10
-
11
- klass = schema.is_a?(Class) ? schema : "#{schema.to_s.camelize}PagePart".constantize
12
- p = klass.find_or_create_by_name_and_page_id("#{name}", @current_page)
13
10
 
11
+ klass = schema.is_a?(Class) ? schema : "#{schema.to_s.camelize}PagePart".constantize
12
+ p = klass.where(:name => "#{name}", :page_id => @current_page.id).first
13
+ p ||= klass.create!(:name => "#{name}", :page_id => @current_page.id)
14
+
14
15
  if block_given?
15
16
  capture do
16
17
  block.call(p)
data/app/models/link.rb CHANGED
@@ -1,10 +1,10 @@
1
1
  class Link < ActiveRecord::Base
2
2
  validates_presence_of :label
3
3
 
4
- field :label, :string, :translatable => true
5
- field :description, :text, :translatable => true
4
+ field :label, :string
6
5
  include Positionable
7
-
6
+
7
+ field :description, :text
8
8
  has_attached :image
9
9
  has_attached :icon
10
10
 
data/app/models/page.rb CHANGED
@@ -59,6 +59,10 @@ class Page < ActiveRecord::Base
59
59
  }
60
60
  params
61
61
  end
62
+
63
+ def to_label
64
+ "#{name} - #{locale}"
65
+ end
62
66
 
63
67
  has_many :page_parts
64
68
  accepts_nested_attributes_for :page_parts, :allow_destroy => true
@@ -3,4 +3,6 @@ class PagePart < ActiveRecord::Base
3
3
  field :name
4
4
  belongs_to :page
5
5
  index [:name, :page_id], :unique => true
6
+ timestamps
7
+ default_scope order("created_at ASC")
6
8
  end
@@ -154,14 +154,23 @@ module Pageable
154
154
  end
155
155
 
156
156
  @pages ||= ActiveSupport::HashWithIndifferentAccess.new
157
- @pages[name] = _page
157
+
158
+ if locale
159
+ @pages["#{name}@#{locale}"] = _page
160
+ else
161
+ @pages[name] = _page
162
+ end
158
163
 
159
164
  end
160
165
 
161
166
  end
162
167
 
163
168
  def load_current_page
164
- @current_page.reload if @current_page = self.class.pages[action_name]
169
+ if Fullstack::Cms.config.localize
170
+ @current_page.reload if @current_page = self.class.pages["#{action_name}@#{I18n.locale}"]
171
+ else
172
+ @current_page.reload if @current_page = self.class.pages[action_name]
173
+ end
165
174
  end
166
175
 
167
176
  end
data/app/models/photo.rb CHANGED
@@ -14,12 +14,16 @@ class Photo < ActiveRecord::Base
14
14
  belongs_to :photographable, :polymorphic => :true
15
15
  delegate :url, :file_name, :to => :image
16
16
 
17
- field :caption, :text, :translatable => true
17
+ field :caption, :text
18
18
 
19
19
  def owner
20
20
  photographable.owner if photographable && photographable.respond_to?(:owner)
21
21
  end
22
-
22
+
23
23
  timestamps
24
24
 
25
+ def to_label
26
+ image_file_name
27
+ end
28
+
25
29
  end
@@ -15,12 +15,12 @@ class Setting < ActiveRecord::Base
15
15
  field :kind
16
16
  field :group
17
17
 
18
- field :integer_value, :integer, :translatable => true
19
- field :float_value, :float, :translatable => true
20
- field :text_value, :text, :translatable => true
21
- field :string_value, :string, :translatable => true
22
- field :datetime_value, :datetime, :translatable => true
23
- field :date_value, :date, :translatable => true
18
+ field :integer_value, :integer
19
+ field :float_value, :float
20
+ field :text_value, :text
21
+ field :string_value, :string
22
+ field :datetime_value, :datetime
23
+ field :date_value, :date
24
24
  has_attached :file_value
25
25
 
26
26
 
data/app/models/text.rb CHANGED
@@ -1,6 +1,6 @@
1
1
  class Text < ActiveRecord::Base
2
2
  include Content
3
- field :text, :text, :markup => true, :translatable => true
3
+ field :text, :text, :markup => true
4
4
  has_many :attachments, :as => :attachable
5
5
  accepts_nested_attributes_for :attachments
6
6
  end
@@ -1,3 +1,3 @@
1
1
  class TextPagePart < PagePart
2
- field :text, :text, :markup => true, :translatable => true
2
+ field :text, :text, :markup => true
3
3
  end
@@ -1,4 +1,4 @@
1
1
  class TextWithTitlePagePart < PagePart
2
- field :title, :string, :translatable => true
3
- field :text, :text, :markup => true, :translatable => true
2
+ field :title, :string
3
+ field :text, :text, :markup => true
4
4
  end
@@ -9,72 +9,4 @@
9
9
  <% end %>
10
10
 
11
11
  <hr/>
12
-
13
- <%= f.inputs :class => "linked-fields" do %>
14
- <%
15
- linkables_collection = [[t('fullstack.cms.url', :default => "Url"), ""]] + Linkable.linkable_class_names.map do |klass_name|
16
- [t("fullstack.admin.resources.#{klass_name.underscore}", :default => klass_name), klass_name]
17
- end
18
- %>
19
- <%= f.input :linked_type, :as => :radio, :collection => linkables_collection, :input_html => {:class => "linked-type-field"},
20
- :label => t('fullstack.cms.link_resource_or_url', :default => "Link resource or url")
21
- %>
22
- <div class="linked-id-field-placeholder" id="linked_id_field_placeholder_<%= @linked_id_field_placeholder_uid = 1 + (@linked_id_field_placeholder_uid || 0)
23
- %>" data-current-id="<%= f.object.linked_id %>" data-current-type="<%= f.object.linked_type %>">
24
- </div>
25
- <%= f.input :url, :label => false, :input_html => {:style => ("display: none" if f.object.persisted?), :class => "linked-url-field"} %>
26
- <% end %>
27
-
28
-
29
- <% unless @link_associated_fields_js_included %>
30
- <% @link_associated_fields_js_included = true %>
31
-
32
- <% content_for :javascripts do -%>
33
-
34
-
35
- <%= javascript_tag do %>
36
- <%= coffee_script do %>
37
-
38
- $(document).ready ->
39
-
40
- update_linked_fields = (linked_fields) ->
41
- linked_type_field = linked_fields.find(".linked-type-field")
42
- checked_linked_type_field = linked_fields.find(".linked-type-field:checked")
43
- linked_id_field_placeholder = linked_fields.find(".linked-id-field-placeholder")
44
- linked_url_field = linked_fields.find(".linked-url-field")
45
-
46
- linked_type = checked_linked_type_field.val()
47
-
48
- target_id = linked_id_field_placeholder.attr("id")
49
- linked_id_field_name = linked_type_field.attr("name").replace(/linked_type\]$/, "linked_id]")
50
-
51
-
52
- if linked_type
53
- $.get '<%= fields_admin_linkables_path %>',
54
- type: linked_type
55
- target: target_id
56
- field_name: linked_id_field_name
57
- current_type: linked_id_field_placeholder.data("current-type")
58
- current_id: linked_id_field_placeholder.data("current-id")
59
- linked_url_field.hide()
60
-
61
- else
62
- linked_id_field_placeholder.empty()
63
- linked_url_field.show()
64
-
65
- $(".linked-fields").each ->
66
- linked_fields = $(@)
67
- update_linked_fields(linked_fields)
68
-
69
- $(".linked-type-field").live "change", ->
70
- update_linked_fields($(@).closest(".linked-fields"))
71
-
72
-
73
- <% end %>
74
- <% end %>
75
- <% end -%>
76
-
77
- <% end %>
78
-
79
-
80
-
12
+ <%= render :partial => "linked_fields", :locals => {:f => f} %>
@@ -0,0 +1,65 @@
1
+ <%= f.inputs :class => "linked-fields" do %>
2
+ <%
3
+ linkables_collection = [[t('fullstack.cms.url', :default => "Url"), ""]] + Linkable.linkable_class_names.map do |klass_name|
4
+ [t("fullstack.admin.resources.#{klass_name.underscore}", :default => klass_name), klass_name]
5
+ end
6
+ %>
7
+ <%= f.input :linked_type, :as => :radio, :collection => linkables_collection, :input_html => {:class => "linked-type-field"},
8
+ :label => t('fullstack.cms.link_resource_or_url', :default => "Link resource or url")
9
+ %>
10
+ <div class="linked-id-field-placeholder" id="linked_id_field_placeholder_<%= @linked_id_field_placeholder_uid = 1 + (@linked_id_field_placeholder_uid || 0)
11
+ %>" data-current-id="<%= f.object.linked_id %>" data-current-type="<%= f.object.linked_type %>">
12
+ </div>
13
+ <%= f.input :url, :label => false, :input_html => {:style => ("display: none" if f.object.persisted?), :class => "linked-url-field"} %>
14
+ <% end %>
15
+
16
+
17
+ <% unless @link_associated_fields_js_included %>
18
+ <% @link_associated_fields_js_included = true %>
19
+
20
+ <% content_for :javascripts do -%>
21
+
22
+
23
+ <%= javascript_tag do %>
24
+ <%= coffee_script do %>
25
+
26
+ $(document).ready ->
27
+
28
+ update_linked_fields = (linked_fields) ->
29
+ linked_type_field = linked_fields.find(".linked-type-field")
30
+ checked_linked_type_field = linked_fields.find(".linked-type-field:checked")
31
+ linked_id_field_placeholder = linked_fields.find(".linked-id-field-placeholder")
32
+ linked_url_field = linked_fields.find(".linked-url-field")
33
+
34
+ linked_type = checked_linked_type_field.val()
35
+
36
+ target_id = linked_id_field_placeholder.attr("id")
37
+ linked_id_field_name = linked_type_field.attr("name").replace(/linked_type\]$/, "linked_id]")
38
+
39
+
40
+ if linked_type
41
+ $.get '<%= fields_admin_linkables_path %>',
42
+ type: linked_type
43
+ target: target_id
44
+ field_name: linked_id_field_name
45
+ current_type: linked_id_field_placeholder.data("current-type")
46
+ current_id: linked_id_field_placeholder.data("current-id")
47
+ linked_url_field.hide()
48
+
49
+ else
50
+ linked_id_field_placeholder.empty()
51
+ linked_url_field.show()
52
+
53
+ $(".linked-fields").each ->
54
+ linked_fields = $(@)
55
+ update_linked_fields(linked_fields)
56
+
57
+ $(".linked-type-field").live "change", ->
58
+ update_linked_fields($(@).closest(".linked-fields"))
59
+
60
+
61
+ <% end %>
62
+ <% end %>
63
+ <% end -%>
64
+
65
+ <% end %>
@@ -33,7 +33,7 @@
33
33
  <% current_resource.page_parts.each do |p| %>
34
34
  <%= t.pane t(p.name, :scope => 'fullstack.cms.parts', :default => p.name.try(:humanize)) do %>
35
35
  <%= f.admin_fields_for :page_parts, p do |f| %>
36
- <%= f.resource_inputs :except => [:page_id, :name] %>
36
+ <%= f.resource_inputs :except => [:page, :name] %>
37
37
  <% end %>
38
38
  <% end %>
39
39
  <% end %>
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "fullstack-cms"
8
- s.version = "0.2.13"
8
+ s.version = "0.2.14"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["mcasimir"]
12
- s.date = "2012-09-05"
12
+ s.date = "2012-09-09"
13
13
  s.description = "CMS system built on fullstack"
14
14
  s.email = "maurizio.cas@gmail.com"
15
15
  s.extra_rdoc_files = [
@@ -58,6 +58,7 @@ Gem::Specification.new do |s|
58
58
  "app/views/admin/linkables/_fields.html.erb",
59
59
  "app/views/admin/linkables/fields.js.coffee",
60
60
  "app/views/admin/links/_associated_fields.html.erb",
61
+ "app/views/admin/links/_linked_fields.html.erb",
61
62
  "app/views/admin/menus/_collection.html.erb",
62
63
  "app/views/admin/pages/_collection.html.erb",
63
64
  "app/views/admin/pages/_form.html.erb",
@@ -133,7 +134,7 @@ Gem::Specification.new do |s|
133
134
  s.specification_version = 3
134
135
 
135
136
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
136
- s.add_runtime_dependency(%q<fullstack-admin>, ["~> 0.1.42"])
137
+ s.add_runtime_dependency(%q<fullstack-admin>, ["~> 0.1.43"])
137
138
  s.add_runtime_dependency(%q<ars-permalink>, [">= 0"])
138
139
  s.add_runtime_dependency(%q<has-attached>, [">= 0"])
139
140
  s.add_runtime_dependency(%q<acts-as-taggable-on>, [">= 0"])
@@ -146,7 +147,7 @@ Gem::Specification.new do |s|
146
147
  s.add_runtime_dependency(%q<bluecloth>, [">= 0"])
147
148
  s.add_development_dependency(%q<jeweler>, [">= 0"])
148
149
  else
149
- s.add_dependency(%q<fullstack-admin>, ["~> 0.1.42"])
150
+ s.add_dependency(%q<fullstack-admin>, ["~> 0.1.43"])
150
151
  s.add_dependency(%q<ars-permalink>, [">= 0"])
151
152
  s.add_dependency(%q<has-attached>, [">= 0"])
152
153
  s.add_dependency(%q<acts-as-taggable-on>, [">= 0"])
@@ -160,7 +161,7 @@ Gem::Specification.new do |s|
160
161
  s.add_dependency(%q<jeweler>, [">= 0"])
161
162
  end
162
163
  else
163
- s.add_dependency(%q<fullstack-admin>, ["~> 0.1.42"])
164
+ s.add_dependency(%q<fullstack-admin>, ["~> 0.1.43"])
164
165
  s.add_dependency(%q<ars-permalink>, [">= 0"])
165
166
  s.add_dependency(%q<has-attached>, [">= 0"])
166
167
  s.add_dependency(%q<acts-as-taggable-on>, [">= 0"])
@@ -8,8 +8,8 @@ module Content
8
8
  alias :keywords :tags
9
9
  permalink :title, :history => true
10
10
 
11
- field :title, :translatable => true
12
- field :excerpt, :as => :text, :translatable => true
11
+ field :title
12
+ field :excerpt, :as => :text
13
13
  alias_attribute :description, :excerpt
14
14
  end
15
15
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fullstack-cms
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.13
4
+ version: 0.2.14
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-09-05 00:00:00.000000000 Z
12
+ date: 2012-09-09 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: fullstack-admin
@@ -18,7 +18,7 @@ dependencies:
18
18
  requirements:
19
19
  - - ~>
20
20
  - !ruby/object:Gem::Version
21
- version: 0.1.42
21
+ version: 0.1.43
22
22
  type: :runtime
23
23
  prerelease: false
24
24
  version_requirements: !ruby/object:Gem::Requirement
@@ -26,7 +26,7 @@ dependencies:
26
26
  requirements:
27
27
  - - ~>
28
28
  - !ruby/object:Gem::Version
29
- version: 0.1.42
29
+ version: 0.1.43
30
30
  - !ruby/object:Gem::Dependency
31
31
  name: ars-permalink
32
32
  requirement: !ruby/object:Gem::Requirement
@@ -252,6 +252,7 @@ files:
252
252
  - app/views/admin/linkables/_fields.html.erb
253
253
  - app/views/admin/linkables/fields.js.coffee
254
254
  - app/views/admin/links/_associated_fields.html.erb
255
+ - app/views/admin/links/_linked_fields.html.erb
255
256
  - app/views/admin/menus/_collection.html.erb
256
257
  - app/views/admin/pages/_collection.html.erb
257
258
  - app/views/admin/pages/_form.html.erb
@@ -331,7 +332,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
331
332
  version: '0'
332
333
  segments:
333
334
  - 0
334
- hash: 2010351401597044343
335
+ hash: -3299776057597534333
335
336
  required_rubygems_version: !ruby/object:Gem::Requirement
336
337
  none: false
337
338
  requirements: