classiccms 0.3.4 → 0.3.5

Sign up to get free protection for your applications and to get access to all the features.
data/.gitignore CHANGED
@@ -7,3 +7,4 @@ pkg/*
7
7
  .rspec
8
8
  tmp
9
9
  .sass-cache
10
+ vendor/**/*
@@ -15,11 +15,20 @@ module Classiccms
15
15
  if params['cms'] != nil and params['cms'].length > 2
16
16
  begin
17
17
  params['cms'] = Base64.decode64(params['cms']).decrypt
18
- new = eval(params['cms']).first
19
- record = new[0].new
20
-
21
- record.connections << Connection.new(:parent_id => new[1], :section => new[2], :files => new[2..new.length])
22
- show :add_window, {}, {:record => record}
18
+ new_params= eval(params['cms'])
19
+ records = []
20
+ new_params.each do |new|
21
+ record = new[0].new
22
+ records.each do |i|
23
+ if i.kind_of? new[0]
24
+ record = i
25
+ records.delete(i)
26
+ end
27
+ end
28
+ record.connections << Connection.new(:parent_id => new[1], :section => new[2], :files => new[2..new.length])
29
+ records << record
30
+ end
31
+ show :add_window, {}, {:records => records}
23
32
  rescue TypeError, ArgumentError
24
33
  ''
25
34
  end
@@ -1,3 +1,3 @@
1
1
  module Classiccms #:nodoc
2
- VERSION = "0.3.4"
2
+ VERSION = "0.3.5"
3
3
  end
@@ -2,7 +2,8 @@
2
2
  .background
3
3
  #logo
4
4
  #edit_box
5
- /- models.each do |model|
5
+ /- records.each do |record|
6
+ - record = records.first if defined? records
6
7
  = show :form, {}, {:record => record}
7
8
  #edit_bottom
8
9
  #edit_bottom_nav
@@ -71,6 +71,25 @@ describe Classiccms do
71
71
  post '/add', {:cms => string}
72
72
  last_response.body.should match("action='/cms/create'")
73
73
  end
74
+ it 'should render multiple connections' do
75
+ login
76
+ m = Menu.new
77
+ string = Base64.encode64([[Menu, 0, 'first'], [Menu, 0, 'second']].to_s.encrypt)
78
+ post '/add', {:cms => string}
79
+ last_response.body.should match("value='first'")
80
+ last_response.body.should match("value='second'")
81
+ end
82
+ it 'should render only the first model' do
83
+ #create model
84
+ set_file "models/article.rb", "class Article < Base; field :name, input: 'input'; validates_length_of :name, maximum: 10; end"
85
+ require_models
86
+
87
+ login
88
+ string = Base64.encode64([[Menu, 0, 'first'], [Article, 0, 'second']].to_s.encrypt)
89
+ post '/add', {:cms => string}
90
+ last_response.body.should match("value='first'")
91
+ last_response.body.should_not match("value='second'")
92
+ end
74
93
  end
75
94
 
76
95
  describe 'edit' do
@@ -215,6 +234,6 @@ describe Classiccms do
215
234
  end
216
235
 
217
236
  after :all do
218
- #clear_tmp
237
+ clear_tmp
219
238
  end
220
239
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: classiccms
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.4
4
+ version: 0.3.5
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-06-06 00:00:00.000000000 Z
12
+ date: 2012-06-07 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rspec