radiant-sheets-extension 1.0.10 → 1.0.11

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.
@@ -9,8 +9,14 @@ class Admin::SheetResourceController < Admin::ResourceController
9
9
  if params[:upload].blank? # necessary params are missing
10
10
  render :text => '', :status => :bad_request
11
11
  else
12
- @sheet = model_class.create_from_upload!(params[:upload][:upload])
13
- response_for :create
12
+ @sheet = model_class.create_or_update_from_upload!(params[:upload][:upload])
13
+ if @sheet.new_record?
14
+ response_for :create
15
+ else
16
+ slug = params[:upload][:upload].original_filename.to_slug().gsub(/-dot-css$/,'.css').gsub(/-js/,'.js')
17
+ flash[:notice] = "#{slug} was succesfully overwritten."
18
+ response_for :update
19
+ end
14
20
  end
15
21
  end
16
22
 
@@ -10,7 +10,7 @@ module Sheet
10
10
  class_inheritable_accessor :sheet_root
11
11
 
12
12
  def self.root
13
- Page.find_by_path('/').children.first(:conditions => {:class_name => self.to_s})
13
+ Page.root.children.first(:conditions => {:class_name => self.to_s})
14
14
  rescue NoMethodError => e
15
15
  e.extend Sheet::InvalidHomePage
16
16
  raise e
@@ -18,7 +18,7 @@ module Sheet
18
18
 
19
19
  def self.create_root
20
20
  s = self.new_with_defaults
21
- s.parent_id = Page.find_by_slug('/').id
21
+ s.parent_id = Page.root.id
22
22
  s.created_by_id = ''
23
23
  s.slug = self.name == 'StylesheetPage' ? 'css' : 'js'
24
24
  s.save
@@ -28,10 +28,16 @@ module Sheet
28
28
  PagePart.new(:name => 'body')
29
29
  end
30
30
 
31
- def self.create_from_upload!(file)
32
- @sheet = self.new_with_defaults
33
- @sheet.upload = file
34
- @sheet.save!
31
+ def self.create_or_update_from_upload!(file)
32
+ slug = file.original_filename.to_slug().gsub(/-dot-css$/,'.css').gsub(/-js/,'.js')
33
+ @sheet = StylesheetPage.find_by_slug(slug) || JavascriptPage.find_by_slug(slug)
34
+ if @sheet.nil?
35
+ @sheet = self.new_with_defaults
36
+ @sheet.upload = file
37
+ @sheet.save!
38
+ else
39
+ @sheet.part('body').update_attribute :content, file.read
40
+ end
35
41
  @sheet
36
42
  end
37
43
 
@@ -65,11 +71,12 @@ module Sheet
65
71
  end
66
72
  end
67
73
  end
74
+
68
75
  def find_by_url(*args)
69
76
  ActiveSupport::Deprecation.warn("`find_by_url' has been deprecated; use `find_by_path' instead.", caller)
70
77
  find_by_path(*args)
71
78
  end
72
-
79
+
73
80
  def upload=(file)
74
81
  case
75
82
  when file.blank?
@@ -77,7 +84,7 @@ module Sheet
77
84
  when !file.kind_of?(ActionController::UploadedFile)
78
85
  self.errors.add(:upload, 'is an unusable format.')
79
86
  else
80
- self.slug = file.original_filename.to_slug().gsub(/-css$/,'.css').gsub(/-js/,'.js')
87
+ self.slug = file.original_filename.to_slug().gsub(/-dot-css$/,'.css').gsub(/-js/,'.js')
81
88
  self.part('body').content = file.read
82
89
  end
83
90
  end
@@ -3,7 +3,7 @@
3
3
  %p.title
4
4
  = label :sheet_page, :slug, t('slug')
5
5
  = f.text_field :slug, :class => 'textbox', :maxlength => 255, :id => "sheet_page_slug"
6
- %span.hint= %{Path: #{@root.url}<span id="this_slug">#{model.slug}</span>}
6
+ %span.hint= %{Path: #{@root.path}<span id="this_slug">#{model.slug}</span>}
7
7
  - f.fields_for :parts do |p|
8
8
  %p.content
9
9
  = p.label :content, t('content')
@@ -1,3 +1,3 @@
1
1
  module RadiantSheetsExtension
2
- VERSION = '1.0.10'
2
+ VERSION = '1.0.11'
3
3
  end
metadata CHANGED
@@ -1,46 +1,64 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: radiant-sheets-extension
3
- version: !ruby/object:Gem::Version
4
- version: 1.0.10
3
+ version: !ruby/object:Gem::Version
4
+ hash: 1
5
5
  prerelease:
6
+ segments:
7
+ - 1
8
+ - 0
9
+ - 11
10
+ version: 1.0.11
6
11
  platform: ruby
7
- authors:
12
+ authors:
8
13
  - Radiant CMS Dev Team
9
14
  autorequire:
10
15
  bindir: bin
11
16
  cert_chain: []
12
- date: 2012-03-02 00:00:00.000000000 Z
13
- dependencies:
14
- - !ruby/object:Gem::Dependency
17
+
18
+ date: 2012-06-15 00:00:00 Z
19
+ dependencies:
20
+ - !ruby/object:Gem::Dependency
15
21
  name: sass
16
- requirement: &70323010924040 !ruby/object:Gem::Requirement
22
+ prerelease: false
23
+ requirement: &id001 !ruby/object:Gem::Requirement
17
24
  none: false
18
- requirements:
25
+ requirements:
19
26
  - - ~>
20
- - !ruby/object:Gem::Version
27
+ - !ruby/object:Gem::Version
28
+ hash: 27
29
+ segments:
30
+ - 3
31
+ - 1
32
+ - 12
21
33
  version: 3.1.12
22
34
  type: :runtime
23
- prerelease: false
24
- version_requirements: *70323010924040
25
- - !ruby/object:Gem::Dependency
35
+ version_requirements: *id001
36
+ - !ruby/object:Gem::Dependency
26
37
  name: coffee-script
27
- requirement: &70323010923540 !ruby/object:Gem::Requirement
38
+ prerelease: false
39
+ requirement: &id002 !ruby/object:Gem::Requirement
28
40
  none: false
29
- requirements:
41
+ requirements:
30
42
  - - ~>
31
- - !ruby/object:Gem::Version
43
+ - !ruby/object:Gem::Version
44
+ hash: 7
45
+ segments:
46
+ - 2
47
+ - 2
48
+ - 0
32
49
  version: 2.2.0
33
50
  type: :runtime
34
- prerelease: false
35
- version_requirements: *70323010923540
36
- description: Manage CSS and Javascript content in Radiant CMS as Sheets, a subset
37
- of Pages.
38
- email:
51
+ version_requirements: *id002
52
+ description: Manage CSS and Javascript content in Radiant CMS as Sheets, a subset of Pages.
53
+ email:
39
54
  - radiant@radiantcms.org
40
55
  executables: []
56
+
41
57
  extensions: []
58
+
42
59
  extra_rdoc_files: []
43
- files:
60
+
61
+ files:
44
62
  - app/controllers/admin/scripts_controller.rb
45
63
  - app/controllers/admin/sheet_resource_controller.rb
46
64
  - app/controllers/admin/styles_controller.rb
@@ -101,29 +119,38 @@ files:
101
119
  - spec/spec_helper.rb
102
120
  homepage: http://radiantcms.org/
103
121
  licenses: []
122
+
104
123
  post_install_message:
105
124
  rdoc_options: []
106
- require_paths:
125
+
126
+ require_paths:
107
127
  - lib
108
- required_ruby_version: !ruby/object:Gem::Requirement
128
+ required_ruby_version: !ruby/object:Gem::Requirement
109
129
  none: false
110
- requirements:
111
- - - ! '>='
112
- - !ruby/object:Gem::Version
113
- version: '0'
114
- required_rubygems_version: !ruby/object:Gem::Requirement
130
+ requirements:
131
+ - - ">="
132
+ - !ruby/object:Gem::Version
133
+ hash: 3
134
+ segments:
135
+ - 0
136
+ version: "0"
137
+ required_rubygems_version: !ruby/object:Gem::Requirement
115
138
  none: false
116
- requirements:
117
- - - ! '>='
118
- - !ruby/object:Gem::Version
119
- version: '0'
139
+ requirements:
140
+ - - ">="
141
+ - !ruby/object:Gem::Version
142
+ hash: 3
143
+ segments:
144
+ - 0
145
+ version: "0"
120
146
  requirements: []
147
+
121
148
  rubyforge_project:
122
- rubygems_version: 1.8.11
149
+ rubygems_version: 1.8.23
123
150
  signing_key:
124
151
  specification_version: 3
125
152
  summary: Sheets for Radiant CMS
126
- test_files:
153
+ test_files:
127
154
  - spec/ci/before_script
128
155
  - spec/ci/script
129
156
  - spec/controllers/admin/scripts_controller_spec.rb
@@ -143,3 +170,4 @@ test_files:
143
170
  - features/admin/managing_stylesheets.feature
144
171
  - features/support/env.rb
145
172
  - features/support/paths.rb
173
+ has_rdoc: