radiant-sheets-extension 1.0.10 → 1.0.11

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