radiant-forms-extension 3.2.7 → 3.2.8

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.
Files changed (40) hide show
  1. data/README.md +3 -3
  2. data/Rakefile +1 -0
  3. data/VERSION +1 -1
  4. data/app/controllers/admin/forms_controller.rb +44 -1
  5. data/app/controllers/forms_controller.rb +7 -0
  6. data/app/models/form_mail.rb +22 -33
  7. data/app/views/admin/forms/edit.html.haml +3 -12
  8. data/app/views/admin/forms/edit/_foot.html.haml +9 -0
  9. data/app/views/admin/forms/edit/_form.html.haml +13 -0
  10. data/app/views/admin/forms/edit/_head.html.haml +4 -0
  11. data/app/views/admin/forms/edit/_inputs.html.haml +2 -0
  12. data/app/views/admin/forms/edit/_meta.html.haml +7 -0
  13. data/app/views/admin/forms/edit/_parts.html.haml +9 -0
  14. data/app/views/admin/forms/edit/_popups.html.haml +3 -0
  15. data/app/views/admin/forms/edit/inputs/_title.html.haml +3 -0
  16. data/app/views/admin/forms/edit/meta/_action.html.haml +5 -0
  17. data/app/views/admin/forms/edit/meta/_redirect_to.html.haml +5 -0
  18. data/app/views/admin/forms/edit/parts/_body.html.haml +2 -0
  19. data/app/views/admin/forms/edit/parts/_config.html.haml +1 -0
  20. data/app/views/admin/forms/edit/parts/_content.html.haml +2 -0
  21. data/app/views/admin/forms/edit/parts/_filters.html.haml +9 -0
  22. data/app/views/admin/forms/edit/parts/_secondary.html.haml +2 -0
  23. data/app/views/admin/forms/index.html.haml +3 -14
  24. data/app/views/admin/forms/index/_form.html.haml +13 -0
  25. data/app/views/admin/forms/new.html.haml +7 -11
  26. data/config/locales/en.yml +4 -1
  27. data/forms_extension.rb +1 -1
  28. data/lib/forms/interface/forms.rb +7 -3
  29. data/lib/forms/tags/core.rb +22 -0
  30. data/public/stylesheets/sass/admin/extensions/forms/edit.sass +17 -0
  31. data/radiant-forms-extension.gemspec +71 -58
  32. data/spec/controllers/forms_controller_spec.rb +15 -7
  33. data/spec/lib/forms/tags/core_spec.rb +22 -2
  34. metadata +40 -14
  35. data/.gitignore +0 -3
  36. data/app/views/admin/forms/_fields.html.haml +0 -56
  37. data/app/views/admin/forms/_filters.html.haml +0 -7
  38. data/app/views/admin/forms/_form.html.haml +0 -6
  39. data/app/views/admin/forms/_header.html.haml +0 -3
  40. data/app/views/admin/forms/remove.html.haml +0 -20
data/README.md CHANGED
@@ -62,9 +62,9 @@ Using forms 'DRY's up the process of creating and reusing forms across a site (w
62
62
 
63
63
  ### Content
64
64
 
65
- <h2>Contact from <r:get name='contact[name]' /></h2>
65
+ <h2>Contact from <r:form:read name='contact[name]' /></h2>
66
66
 
67
- <p>You can get back to them on <r:get name='contact[email]' /></p>
67
+ <p>You can get back to them on <r:form:read name='contact[email]' /></p>
68
68
 
69
69
  <p>Cheers, <br /> <strong>Cool Mailer</strong></p>
70
70
 
@@ -194,4 +194,4 @@ A showcase of how to use addons, allows you to send emails directly from the pag
194
194
  config.gem 'ruby-debug', :version => '0.10.3'
195
195
  config.gem 'webrat', :version => '0.7.1'
196
196
  config.gem 'rr', :version => '0.10.11'
197
- end
197
+ end
data/Rakefile CHANGED
@@ -7,6 +7,7 @@ begin
7
7
  gem.email = "dirk.kelly@squaretalent.com"
8
8
  gem.homepage = "http://github.com/squaretalent/radiant-forms-extension"
9
9
  gem.authors = ["dirkkelly"]
10
+ gem.add_dependency 'radiant-drag_order-extension', '>= 0.4.9'
10
11
  # gem is a Gem::Specification... see http://www.rubygems.org/read/chapter/20 for additional settings
11
12
  end
12
13
  Jeweler::GemcutterTasks.new
data/VERSION CHANGED
@@ -1 +1 @@
1
- 3.2.7
1
+ 3.2.8
@@ -2,9 +2,52 @@ class Admin::FormsController < Admin::ResourceController
2
2
 
3
3
  skip_before_filter :verify_authenticity_token, :only => :create
4
4
 
5
+ before_filter :config_global
6
+ before_filter :config_new, :only => [ :new, :create ]
7
+ before_filter :config_edit, :only => [ :edit, :update ]
8
+ before_filter :assets_edit, :only => [ :new, :create, :edit, :update ]
9
+
5
10
  only_allow_access_to :index, :show, :new, :create, :edit, :update, :remove, :destroy,
6
11
  :when => [ :designer, :admin ],
7
12
  :denied_url => { :controller => 'admin/pages', :action => 'index' },
8
13
  :denied_message => 'You must have designer privileges to perform this action.'
9
-
14
+
15
+ private
16
+
17
+ def config_global
18
+ @inputs ||= []
19
+ @meta ||= []
20
+ @buttons ||= []
21
+ @parts ||= []
22
+ @popups ||= []
23
+ end
24
+
25
+ def config_new
26
+ @inputs << 'title'
27
+
28
+ @meta << 'action'
29
+ @meta << 'redirect_to'
30
+
31
+ @parts << 'body'
32
+ @parts << 'config'
33
+ @parts << 'content'
34
+ @parts << 'secondary'
35
+ end
36
+
37
+ def config_edit
38
+ @inputs << 'title'
39
+
40
+ @meta << 'action'
41
+ @meta << 'redirect_to'
42
+
43
+ @parts << 'body'
44
+ @parts << 'config'
45
+ @parts << 'content'
46
+ @parts << 'secondary'
47
+ end
48
+
49
+ def assets_edit
50
+ include_stylesheet 'admin/extensions/forms/edit'
51
+ end
52
+
10
53
  end
@@ -68,6 +68,13 @@ protected
68
68
  end
69
69
  # Those results are merged into the response object
70
70
  @response.result = @response.result.merge!({ :results => @results})
71
+
72
+ begin
73
+ @response.save!
74
+ redirect_to (@form.redirect_to.present? ? @form.redirect_to : (params[:redirect_to] || :back))
75
+ rescue
76
+ "Form '#{@form.title}' could not be submitted."
77
+ end
71
78
  end
72
79
 
73
80
  end
@@ -31,64 +31,53 @@ class FormMail
31
31
  end
32
32
 
33
33
  def from
34
- from = nil
35
- unless @config[:field].nil? or !@config[:field][:from].blank?
36
- from = Forms::Tags::Responses.retrieve(@data, @config[:field][:from])
37
- else
38
- from = @config[:from]
34
+ begin
35
+ Forms::Tags::Responses.retrieve(@data, @config[:field][:from])
36
+ rescue
37
+ @config[:from]
39
38
  end
40
- from
41
39
  end
42
40
 
43
41
  def recipients
44
- to = nil
45
- unless @config[:field].nil? or !@config[:field][:to].blank?
46
- to = Forms::Tags::Responses.retrieve(@data, @config[:field][:to])
47
- else
48
- to = @config[:to]
42
+ begin
43
+ Forms::Tags::Responses.retrieve(@data, @config[:field][:to])
44
+ rescue
45
+ @config[:to]
49
46
  end
50
- to
51
47
  end
52
48
 
53
49
  def reply_to
54
- reply_to = nil
55
- unless @config[:field].nil? or !@config[:field][:reply_to].blank?
56
- reply_to = Forms::Tags::Responses.retrieve(@data, @config[:field][:reply_to])
57
- else
58
- reply_to = @config[:reply_to]
50
+ begin
51
+ Forms::Tags::Responses.retrieve(@data, @config[:field][:reply_to])
52
+ rescue
53
+ @config[:reply_to]
59
54
  end
60
- reply_to
61
55
  end
62
56
 
63
57
  def sender
64
- sender = nil
65
- unless @config[:field].nil? or !@config[:field][:sender].blank?
66
- sender = Forms::Tags::Responses.retrieve(@data, @config[:field][:sender])
67
- else
68
- sender = @config[:sender]
58
+ begin
59
+ Forms::Tags::Responses.retrieve(@data, @config[:field][:sender])
60
+ rescue
61
+ @config[:sender]
69
62
  end
70
- sender
71
63
  end
72
64
 
73
65
  def subject
74
- subject = nil
75
- unless @config[:field].nil? or !@config[:field][:subject].blank?
76
- subject = Forms::Tags::Responses.retrieve(@data, @config[:field][:subject])
77
- else
78
- subject = @config[:subject]
66
+ begin
67
+ Forms::Tags::Responses.retrieve(@data, @config[:field][:subject])
68
+ rescue
69
+ @config[:subject]
79
70
  end
80
- subject
81
71
  end
82
72
 
83
73
  def body
84
74
  # This parses the content of the form
85
75
  @parser = Radius::Parser.new(PageContext.new(@page), :tag_prefix => 'r')
86
76
  if @config[:body]
87
- @body = @parser.parse(@form.send(@config[:body]))
77
+ @parser.parse(@form.send(@config[:body]))
88
78
  else
89
- @body = @parser.parse(@form.content)
79
+ @parser.parse(@form.content)
90
80
  end
91
- @body
92
81
  end
93
82
 
94
83
  def cc
@@ -1,15 +1,6 @@
1
- - body_classes << "reversed"
1
+ - @page_title = @form.title
2
2
 
3
3
  - render_region :main do |main|
4
- - main.edit_header do
5
- %h1= "Edit Form"
6
4
 
7
- - main.edit_form do
8
- = render :partial => 'fields'
9
- = hidden_field_tag 'page_part_index_field'
10
-
11
- - content_for :page_css do
12
- :sass
13
- .tab
14
- .close
15
- :display none
5
+ - main.form do
6
+ = render 'admin/forms/edit/form'
@@ -0,0 +1,9 @@
1
+ - render_region :foot do |foot|
2
+ - foot.buttons do
3
+ %p.buttons
4
+ = save_model_button(@form)
5
+ = save_model_and_continue_editing_button(@form)
6
+ = t('or')
7
+ = link_to t('cancel'), [:admin, @form]
8
+ - foot.timestamp do
9
+ = updated_stamp @form
@@ -0,0 +1,13 @@
1
+ - form_for [:admin, @form], :html => {'data-onsubmit_status'=>"Saving Changes&#8230;"} do |f|
2
+ - render_region :form do |form|
3
+ - form.inputs do
4
+ = render :partial => '/admin/forms/edit/inputs', :locals => { :f => f }
5
+
6
+ - form.meta do
7
+ = render :partial => '/admin/forms/edit/meta', :locals => { :f => f }
8
+
9
+ - form.parts do
10
+ = render :partial => '/admin/forms/edit/parts', :locals => { :f => f }
11
+
12
+ - form.foot do
13
+ = render :partial => '/admin/forms/edit/foot', :locals => { :f => f }
@@ -0,0 +1,4 @@
1
+ %h1
2
+ = @page_title
3
+ - @buttons.each do |button|
4
+ = render :partial => "admin/forms/edit/buttons/#{button}"
@@ -0,0 +1,2 @@
1
+ - @inputs.each do |input|
2
+ = render :partial => "/admin/forms/edit/inputs/#{input}", :locals => { :f => f }
@@ -0,0 +1,7 @@
1
+ .drawer
2
+ .drawer_contents#attributes
3
+ %table.fieldset
4
+ - @meta.each do |meta|
5
+ = render :partial => '/admin/forms/edit/meta/' + meta, :locals => { :f => f }
6
+ .drawer_handle
7
+ %a.toggle{:href=>'#attributes', :rel=>"toggle[attributes]", :class=>"#{(meta_errors? ? 'less' : 'more')}"}= meta_label
@@ -0,0 +1,9 @@
1
+ #tab_control
2
+ #tabs.tabs
3
+ #tab_toolbar
4
+ #pages.pages
5
+ = hidden_field_tag 'page_part_index_field' #important
6
+ - @parts.each do |part|
7
+ .page{:id => "page_#{part}", 'data-caption'=>h(part)}
8
+ .part{:id => "part_#{part}"}
9
+ = render :partial => "/admin/forms/edit/parts/#{part}", :locals => { :f => f }
@@ -0,0 +1,3 @@
1
+ = @popups.each do |popup|
2
+ .popup{ :id => "#{popup}_popup"}
3
+ = render :partial => "admin/forms/edit/popups/#{popup}"
@@ -0,0 +1,3 @@
1
+ %p.title
2
+ = f.label :title
3
+ = f.text_field :title, :class => 'textbox', :maxlenth => 255
@@ -0,0 +1,5 @@
1
+ %tr
2
+ %th.label
3
+ = f.label :action, t('action')
4
+ %td.field
5
+ = f.text_field :action
@@ -0,0 +1,5 @@
1
+ %tr
2
+ %th.label
3
+ = f.label :redirect_to, t('redirect to')
4
+ %td.field
5
+ = f.text_field :redirect_to
@@ -0,0 +1,2 @@
1
+ = render :partial => '/admin/forms/edit/parts/filters', :locals => { :f => f }
2
+ ~ f.text_area :body, :class => "textarea large", :style => "width: 100%"
@@ -0,0 +1 @@
1
+ ~ f.text_area :config, :class => "textarea large", :style => "width: 100%"
@@ -0,0 +1,2 @@
1
+ = render :partial => '/admin/forms/edit/parts/filters', :locals => { :f => f }
2
+ ~ f.text_area :content, :class => "textarea large", :style => "width: 100%"
@@ -0,0 +1,9 @@
1
+ -#%p
2
+ =# f.label :filter_id, t('filter')
3
+ =# f.select :filter_id, filter_options_for_select(f.object.filter_id), :id => 'snippet_filter'
4
+ %span.reference_links
5
+ = t('reference')
6
+ %span#filter_reference_link_body
7
+ = link_to t('filter'), '/admin/reference/filters?filter_name=Textile', :class => 'popup'
8
+ %span#tag_reference_link_body
9
+ = link_to t('available_tags'), '/admin/reference/tags', :class => 'popup'
@@ -0,0 +1,2 @@
1
+ = render :partial => '/admin/forms/edit/parts/filters', :locals => { :f => f }
2
+ ~ f.text_area :secondary, :class => "textarea large", :style => "width: 100%"
@@ -1,20 +1,9 @@
1
1
  - @page_title = 'Forms - ' + default_page_title
2
2
 
3
3
  .outset
4
- = render 'header'
5
- #forms_table
6
- %table.index
7
- %thead
8
- %tr
9
- %th.form Form
10
- %th.modify Modify
11
- %tbody#forms_table_body
12
- - if @forms.size != 0
13
- = render :partial => 'form', :collection => @forms
14
- -else
15
- %tr
16
- %td.empty{:colspan => 2} No Forms
17
-
4
+ %ol#forms.index
5
+ = render :partial => '/admin/forms/index/form', :collection => @forms
6
+
18
7
  #actions
19
8
  %ul
20
9
  %li= link_to "New Form", new_admin_form_path
@@ -0,0 +1,13 @@
1
+ %li.form.object{:id => "form_#{form.id}", :'data-id' => form.id}
2
+ .attributes
3
+ - render_region :body do |body|
4
+ - body.icon do
5
+ %span.icon.attribute
6
+ - link_to [:edit_admin, form] do
7
+ = image 'extensions/form/form', :alt => "#{form.title} Form"
8
+ - body.title do
9
+ %span.name.attribute
10
+ = link_to form.title, [:edit_admin, form]
11
+ - body.modify do
12
+ .attribute.actions
13
+ = link_to image('minus') + ' ' + t('remove'), [:admin, form], :method => :delete, :confirm => "Is it OK to delete #{form.title}?", :class => "action"
@@ -1,15 +1,11 @@
1
- - body_classes << "reversed"
1
+ - @page_title = t('new form')
2
2
 
3
3
  - render_region :main do |main|
4
- - main.edit_header do
5
- %h1= "New Form"
4
+ - main.head do
5
+ = render 'admin/forms/edit/head'
6
6
 
7
- - main.edit_form do
8
- = render :partial => 'fields'
9
- = hidden_field_tag 'page_part_index_field'
7
+ - main.popups do
8
+ = render 'admin/forms/edit/popups'
10
9
 
11
- - content_for :page_css do
12
- :sass
13
- .tab
14
- .close
15
- :display none
10
+ - main.form do
11
+ = render 'admin/forms/edit/form'
@@ -1,3 +1,6 @@
1
1
  ---
2
2
  en:
3
- forms: Forms
3
+ forms: Forms
4
+ action: Action
5
+ redirect to: Redirect To
6
+ new form: New Form
data/forms_extension.rb CHANGED
@@ -1,7 +1,7 @@
1
1
  class FormsExtension < Radiant::Extension
2
2
  version YAML::load_file(File.join(File.dirname(__FILE__), 'VERSION'))
3
3
  description 'Radiant Form extension. Site wide, useful form management'
4
- url 'http://github.com/squaretalent/radiant-forms-extension'
4
+ url 'http://github.com/dirkkelly/radiant-forms-extension'
5
5
 
6
6
  extension_config do |config|
7
7
  end
@@ -10,11 +10,15 @@ module Forms
10
10
  def load_default_form_regions
11
11
  returning OpenStruct.new do |form|
12
12
  form.edit = Radiant::AdminUI::RegionSet.new do |edit|
13
- edit.main.concat %w{edit_header edit_form}
14
- edit.form.concat %w{edit_title edit_content}
15
- edit.form_bottom.concat %w{edit_buttons edit_timestamp}
13
+ edit.main.concat %w{form}
14
+ edit.form.concat %w{inputs meta parts foot}
15
+ edit.foot.concat %w{buttons timestamp}
16
16
  end
17
17
  form.new = form.edit
18
+ form.index = Radiant::AdminUI::RegionSet.new do |index|
19
+ index.body.concat %w{icon title modify}
20
+ index.foot.concat %w{buttons pagination}
21
+ end
18
22
  end
19
23
  end
20
24
  end
@@ -68,6 +68,28 @@ module Forms
68
68
  %(<input type="#{type}" value="#{value}" #{Forms::Tags::Helpers.attributes(tag)} />)
69
69
  end
70
70
  end
71
+
72
+ %w(textarea).each do |type|
73
+ desc %{
74
+ Render a @<#{type}>...</#{type}>@ tag to be used in a form
75
+ <pre><code><r:form:#{type} name="object[key]" /></code></pre>
76
+
77
+ **Required**
78
+ * *name* the name of the data to be sent
79
+
80
+ **Optional**
81
+ * *class* css class names
82
+ * *placeholder* default text, which is cleared when clicked
83
+ * *maxlength* the maximum amount of characters
84
+ }
85
+ tag "form:#{type}" do |tag|
86
+ Forms::Tags::Helpers.require!(tag,"form:#{type}",'name')
87
+
88
+ tag.attr['type'] = type
89
+
90
+ %(<#{type} #{Forms::Tags::Helpers.attributes(tag)}>#{tag.expand}</#{type}>)
91
+ end
92
+ end
71
93
 
72
94
  desc %{
73
95
  Renders a @<select>...</select>@ tag to be used in a form
@@ -0,0 +1,17 @@
1
+ .reference_links
2
+ padding: 1em 0
3
+ margin-top: -1em
4
+
5
+ .tabs
6
+ img.close
7
+ display: none
8
+
9
+ table.fieldset
10
+ th.label
11
+ white-space: nowrap
12
+ td.field
13
+ input, select
14
+ width: 99%
15
+
16
+ .buttons
17
+ clear: left
@@ -1,83 +1,93 @@
1
1
  # Generated by jeweler
2
2
  # DO NOT EDIT THIS FILE DIRECTLY
3
- # Instead, edit Jeweler::Tasks in Rakefile, and run the gemspec command
3
+ # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
4
  # -*- encoding: utf-8 -*-
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{radiant-forms-extension}
8
- s.version = "3.2.7"
8
+ s.version = "3.2.8"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["dirkkelly"]
12
- s.date = %q{2010-12-02}
12
+ s.date = %q{2010-12-20}
13
13
  s.description = %q{Send data from a page to a form handler, extendable with addons}
14
14
  s.email = %q{dirk.kelly@squaretalent.com}
15
15
  s.extra_rdoc_files = [
16
16
  "README.md"
17
17
  ]
18
18
  s.files = [
19
- ".gitignore",
20
- "README.md",
21
- "Rakefile",
22
- "VERSION",
23
- "app/controllers/admin/forms_controller.rb",
24
- "app/controllers/forms_controller.rb",
25
- "app/models/form.rb",
26
- "app/models/form_mail.rb",
27
- "app/models/form_mailer.rb",
28
- "app/models/form_page.rb",
29
- "app/models/response.rb",
30
- "app/views/admin/forms/_fields.html.haml",
31
- "app/views/admin/forms/_filters.html.haml",
32
- "app/views/admin/forms/_form.html.haml",
33
- "app/views/admin/forms/_header.html.haml",
34
- "app/views/admin/forms/edit.html.haml",
35
- "app/views/admin/forms/index.html.haml",
36
- "app/views/admin/forms/new.html.haml",
37
- "app/views/admin/forms/remove.html.haml",
38
- "config/locales/en.yml",
39
- "config/routes.rb",
40
- "cucumber.yml",
41
- "db/migrate/001_create_forms.rb",
42
- "db/migrate/002_create_user_observer.rb",
43
- "db/migrate/003_rename_output_to_content.rb",
44
- "db/migrate/004_create_responses.rb",
45
- "db/migrate/20100929150423_change_to_updated_by_id.rb",
46
- "db/migrate/20101012230144_add_another_content_field.rb",
47
- "forms_extension.rb",
48
- "lib/forms/config.rb",
49
- "lib/forms/controllers/application_controller.rb",
50
- "lib/forms/controllers/site_controller.rb",
51
- "lib/forms/interface/forms.rb",
52
- "lib/forms/models/extension.rb",
53
- "lib/forms/models/page.rb",
54
- "lib/forms/tags/core.rb",
55
- "lib/forms/tags/helpers.rb",
56
- "lib/forms/tags/responses.rb",
57
- "lib/radiant-forms-extension.rb",
58
- "lib/tasks/forms_extension_tasks.rake",
59
- "public/images/admin/extensions/form/form.png",
60
- "radiant-forms-extension.gemspec",
61
- "spec/controllers/forms_controller_spec.rb",
62
- "spec/datasets/forms.rb",
63
- "spec/lib/forms/tags/core_spec.rb",
64
- "spec/models/form_spec.rb",
65
- "spec/models/response_spec.rb",
66
- "spec/spec.opts",
67
- "spec/spec_helper.rb"
19
+ "README.md",
20
+ "Rakefile",
21
+ "VERSION",
22
+ "app/controllers/admin/forms_controller.rb",
23
+ "app/controllers/forms_controller.rb",
24
+ "app/models/form.rb",
25
+ "app/models/form_mail.rb",
26
+ "app/models/form_mailer.rb",
27
+ "app/models/form_page.rb",
28
+ "app/models/response.rb",
29
+ "app/views/admin/forms/edit.html.haml",
30
+ "app/views/admin/forms/edit/_foot.html.haml",
31
+ "app/views/admin/forms/edit/_form.html.haml",
32
+ "app/views/admin/forms/edit/_head.html.haml",
33
+ "app/views/admin/forms/edit/_inputs.html.haml",
34
+ "app/views/admin/forms/edit/_meta.html.haml",
35
+ "app/views/admin/forms/edit/_parts.html.haml",
36
+ "app/views/admin/forms/edit/_popups.html.haml",
37
+ "app/views/admin/forms/edit/inputs/_title.html.haml",
38
+ "app/views/admin/forms/edit/meta/_action.html.haml",
39
+ "app/views/admin/forms/edit/meta/_redirect_to.html.haml",
40
+ "app/views/admin/forms/edit/parts/_body.html.haml",
41
+ "app/views/admin/forms/edit/parts/_config.html.haml",
42
+ "app/views/admin/forms/edit/parts/_content.html.haml",
43
+ "app/views/admin/forms/edit/parts/_filters.html.haml",
44
+ "app/views/admin/forms/edit/parts/_secondary.html.haml",
45
+ "app/views/admin/forms/index.html.haml",
46
+ "app/views/admin/forms/index/_form.html.haml",
47
+ "app/views/admin/forms/new.html.haml",
48
+ "config/locales/en.yml",
49
+ "config/routes.rb",
50
+ "cucumber.yml",
51
+ "db/migrate/001_create_forms.rb",
52
+ "db/migrate/002_create_user_observer.rb",
53
+ "db/migrate/003_rename_output_to_content.rb",
54
+ "db/migrate/004_create_responses.rb",
55
+ "db/migrate/20100929150423_change_to_updated_by_id.rb",
56
+ "db/migrate/20101012230144_add_another_content_field.rb",
57
+ "forms_extension.rb",
58
+ "lib/forms/config.rb",
59
+ "lib/forms/controllers/application_controller.rb",
60
+ "lib/forms/controllers/site_controller.rb",
61
+ "lib/forms/interface/forms.rb",
62
+ "lib/forms/models/extension.rb",
63
+ "lib/forms/models/page.rb",
64
+ "lib/forms/tags/core.rb",
65
+ "lib/forms/tags/helpers.rb",
66
+ "lib/forms/tags/responses.rb",
67
+ "lib/radiant-forms-extension.rb",
68
+ "lib/tasks/forms_extension_tasks.rake",
69
+ "public/images/admin/extensions/form/form.png",
70
+ "public/stylesheets/sass/admin/extensions/forms/edit.sass",
71
+ "radiant-forms-extension.gemspec",
72
+ "spec/controllers/forms_controller_spec.rb",
73
+ "spec/datasets/forms.rb",
74
+ "spec/lib/forms/tags/core_spec.rb",
75
+ "spec/models/form_spec.rb",
76
+ "spec/models/response_spec.rb",
77
+ "spec/spec.opts",
78
+ "spec/spec_helper.rb"
68
79
  ]
69
80
  s.homepage = %q{http://github.com/squaretalent/radiant-forms-extension}
70
- s.rdoc_options = ["--charset=UTF-8"]
71
81
  s.require_paths = ["lib"]
72
82
  s.rubygems_version = %q{1.3.7}
73
83
  s.summary = %q{Forms Extension for Radiant CMS}
74
84
  s.test_files = [
75
85
  "spec/controllers/forms_controller_spec.rb",
76
- "spec/datasets/forms.rb",
77
- "spec/lib/forms/tags/core_spec.rb",
78
- "spec/models/form_spec.rb",
79
- "spec/models/response_spec.rb",
80
- "spec/spec_helper.rb"
86
+ "spec/datasets/forms.rb",
87
+ "spec/lib/forms/tags/core_spec.rb",
88
+ "spec/models/form_spec.rb",
89
+ "spec/models/response_spec.rb",
90
+ "spec/spec_helper.rb"
81
91
  ]
82
92
 
83
93
  if s.respond_to? :specification_version then
@@ -85,9 +95,12 @@ Gem::Specification.new do |s|
85
95
  s.specification_version = 3
86
96
 
87
97
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
98
+ s.add_runtime_dependency(%q<radiant-drag_order-extension>, [">= 0.4.9"])
88
99
  else
100
+ s.add_dependency(%q<radiant-drag_order-extension>, [">= 0.4.9"])
89
101
  end
90
102
  else
103
+ s.add_dependency(%q<radiant-drag_order-extension>, [">= 0.4.9"])
91
104
  end
92
105
  end
93
106
 
@@ -37,13 +37,9 @@ describe FormsController do
37
37
 
38
38
  end
39
39
 
40
-
41
-
42
-
43
-
44
40
  end
45
41
 
46
- context '#create' do
42
+ context '#update' do
47
43
 
48
44
  before :each do
49
45
  @page = pages(:home)
@@ -153,19 +149,31 @@ describe FormsController do
153
149
 
154
150
  end
155
151
 
152
+ context 'redirect params set' do
153
+
154
+ before :each do
155
+ put :update, @params.merge!(:redirect_to => '/somewhere')
156
+ end
157
+
158
+ it 'should render page url' do
159
+ response.should redirect_to('/somewhere')
160
+ end
161
+
162
+ end
156
163
  context 'form does not have a redirect url' do
157
164
 
158
165
  before :each do
159
- @page.slug = '/page/url'
166
+ @request.env['HTTP_REFERER'] = '/request/url'
160
167
  put :update, @params
161
168
  end
162
169
 
163
170
  it 'should render page url' do
164
- response.should redirect_to(@page.url)
171
+ response.should redirect_to('/request/url')
165
172
  end
166
173
 
167
174
  end
168
175
 
176
+
169
177
  end
170
178
 
171
179
  context 'cant save response' do
@@ -11,6 +11,7 @@ describe Forms::Tags::Core do
11
11
  'form',
12
12
  'form:label',
13
13
  'form:text',
14
+ 'form:textarea',
14
15
  'form:password',
15
16
  'form:reset',
16
17
  'form:checkbox',
@@ -25,7 +26,6 @@ describe Forms::Tags::Core do
25
26
  'form:read',
26
27
  'form:read:each',
27
28
 
28
- 'param',
29
29
  'response',
30
30
  'response:if_response',
31
31
  'response:unless_response',
@@ -36,6 +36,7 @@ describe Forms::Tags::Core do
36
36
  'response:if_get',
37
37
  'response:unless_get',
38
38
 
39
+ 'param',
39
40
  'index',
40
41
  'reset'
41
42
  ].sort
@@ -95,6 +96,25 @@ describe Forms::Tags::Core do
95
96
  end
96
97
 
97
98
  end
99
+
100
+ %w(textarea).each do |type|
101
+
102
+ describe "<r:form:#{type}>" do
103
+
104
+ it 'should render the correct HTML' do
105
+ tag = %{<r:form:#{type} name="test[field]" />}
106
+ expected = %{<#{type} name="test[field]" class="#{type}" id="test_field"></#{type}>}
107
+ @page.should render(tag).as(expected)
108
+ end
109
+
110
+ it 'should require the name attribute' do
111
+ tag = %{<r:form:#{type} />}
112
+ @page.should_not render(tag)
113
+ end
114
+
115
+ end
116
+
117
+ end
98
118
 
99
119
  describe '<r:form:select>' do
100
120
 
@@ -134,7 +154,7 @@ describe Forms::Tags::Core do
134
154
  it 'should require the name attribute' do
135
155
  tag = %{<r:form:radios />}
136
156
  @page.should_not render(tag)
137
- end
157
+ end
138
158
 
139
159
  end
140
160
 
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: radiant-forms-extension
3
3
  version: !ruby/object:Gem::Version
4
- hash: 1
4
+ hash: 31
5
5
  prerelease: false
6
6
  segments:
7
7
  - 3
8
8
  - 2
9
- - 7
10
- version: 3.2.7
9
+ - 8
10
+ version: 3.2.8
11
11
  platform: ruby
12
12
  authors:
13
13
  - dirkkelly
@@ -15,10 +15,25 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2010-12-02 00:00:00 +08:00
18
+ date: 2010-12-20 00:00:00 +08:00
19
19
  default_executable:
20
- dependencies: []
21
-
20
+ dependencies:
21
+ - !ruby/object:Gem::Dependency
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: &id001 !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ">="
28
+ - !ruby/object:Gem::Version
29
+ hash: 29
30
+ segments:
31
+ - 0
32
+ - 4
33
+ - 9
34
+ version: 0.4.9
35
+ name: radiant-drag_order-extension
36
+ requirement: *id001
22
37
  description: Send data from a page to a form handler, extendable with addons
23
38
  email: dirk.kelly@squaretalent.com
24
39
  executables: []
@@ -28,7 +43,6 @@ extensions: []
28
43
  extra_rdoc_files:
29
44
  - README.md
30
45
  files:
31
- - .gitignore
32
46
  - README.md
33
47
  - Rakefile
34
48
  - VERSION
@@ -39,14 +53,25 @@ files:
39
53
  - app/models/form_mailer.rb
40
54
  - app/models/form_page.rb
41
55
  - app/models/response.rb
42
- - app/views/admin/forms/_fields.html.haml
43
- - app/views/admin/forms/_filters.html.haml
44
- - app/views/admin/forms/_form.html.haml
45
- - app/views/admin/forms/_header.html.haml
46
56
  - app/views/admin/forms/edit.html.haml
57
+ - app/views/admin/forms/edit/_foot.html.haml
58
+ - app/views/admin/forms/edit/_form.html.haml
59
+ - app/views/admin/forms/edit/_head.html.haml
60
+ - app/views/admin/forms/edit/_inputs.html.haml
61
+ - app/views/admin/forms/edit/_meta.html.haml
62
+ - app/views/admin/forms/edit/_parts.html.haml
63
+ - app/views/admin/forms/edit/_popups.html.haml
64
+ - app/views/admin/forms/edit/inputs/_title.html.haml
65
+ - app/views/admin/forms/edit/meta/_action.html.haml
66
+ - app/views/admin/forms/edit/meta/_redirect_to.html.haml
67
+ - app/views/admin/forms/edit/parts/_body.html.haml
68
+ - app/views/admin/forms/edit/parts/_config.html.haml
69
+ - app/views/admin/forms/edit/parts/_content.html.haml
70
+ - app/views/admin/forms/edit/parts/_filters.html.haml
71
+ - app/views/admin/forms/edit/parts/_secondary.html.haml
47
72
  - app/views/admin/forms/index.html.haml
73
+ - app/views/admin/forms/index/_form.html.haml
48
74
  - app/views/admin/forms/new.html.haml
49
- - app/views/admin/forms/remove.html.haml
50
75
  - config/locales/en.yml
51
76
  - config/routes.rb
52
77
  - cucumber.yml
@@ -69,6 +94,7 @@ files:
69
94
  - lib/radiant-forms-extension.rb
70
95
  - lib/tasks/forms_extension_tasks.rake
71
96
  - public/images/admin/extensions/form/form.png
97
+ - public/stylesheets/sass/admin/extensions/forms/edit.sass
72
98
  - radiant-forms-extension.gemspec
73
99
  - spec/controllers/forms_controller_spec.rb
74
100
  - spec/datasets/forms.rb
@@ -82,8 +108,8 @@ homepage: http://github.com/squaretalent/radiant-forms-extension
82
108
  licenses: []
83
109
 
84
110
  post_install_message:
85
- rdoc_options:
86
- - --charset=UTF-8
111
+ rdoc_options: []
112
+
87
113
  require_paths:
88
114
  - lib
89
115
  required_ruby_version: !ruby/object:Gem::Requirement
data/.gitignore DELETED
@@ -1,3 +0,0 @@
1
- .DS_Store
2
- */.DS_Store
3
- pkg
@@ -1,56 +0,0 @@
1
- - form_for [:admin, @form], :html => {:onsubmit_status => onsubmit_status(@form)}, :html => { :enctype => 'multipart/form-data' } do |form_form|
2
- .form_top
3
- - render_region :form_top do |form_top|
4
- -# empty
5
-
6
- .form_area
7
- - render_region :form do |form|
8
- - form.edit_title do
9
- %p.title
10
- = form_form.label :title, 'Title'
11
- = form_form.text_field :title, :class => 'textbox activate', :maxlength => 255
12
-
13
- .drawer
14
- .drawer_contents#attributes
15
- %table.fieldset
16
- %tr
17
- %th.label= form_form.label :action, 'Action'
18
- %td.field= form_form.text_field :action, :class => 'textbox', :maxlength => 100, :size => 100
19
- %tr
20
- %th.label= form_form.label :redirect_to, 'Redirect To'
21
- %td.field= form_form.text_field :redirect_to, :class => 'textbox', :maxlength => 100, :size => 100
22
- .drawer_handle
23
- %a.toggle{:href=>'#attributes', :rel=>"toggle[attributes]", :class=>"#{(meta_errors? ? 'less' : 'more')}"}= meta_label
24
-
25
- - form.edit_content do
26
- #tab_control
27
- #tabs.tabs
28
- #parts.pages
29
- #form_body.page{'data-caption'=>'body'}
30
- = render '/admin/forms/filters'
31
- = form_form.text_area :body, :class => 'textarea large', :style => 'width: 100%'
32
- #form_config.page{'data-caption'=>'config'}
33
- = form_form.text_area :config, :class => 'textarea large', :style => 'width: 100%'
34
- #form_content.page{'data-caption'=>'content'}
35
- = render '/admin/forms/filters'
36
- = form_form.text_area :content, :class => 'textarea large', :style => 'width: 100%'
37
- #form_content.page{'data-caption'=>'secondary'}
38
- = render '/admin/forms/filters'
39
- = form_form.text_area :secondary, :class => 'textarea large', :style => 'width: 100%'
40
-
41
- .form_bottom
42
- - render_region :form_bottom do |form_bottom|
43
- - form_bottom.edit_buttons do
44
- %p.buttons{:style=>"clear: left"}
45
- = save_model_button(@form)
46
- = save_model_and_continue_editing_button(@form)
47
- or
48
- = link_to t('cancel'), admin_forms_url
49
- - form_bottom.edit_timestamp do
50
- %p.updated_line
51
- = updated_stamp @form
52
-
53
- - content_for :page_css do
54
- :sass
55
- th.label
56
- :width 75px !important
@@ -1,7 +0,0 @@
1
- %p
2
- %span.reference_links
3
- = t('reference')
4
- %span#filter_reference_link_body
5
- = link_to t('filter'), '/admin/reference/filters?filter_name=Textile', :class => 'popup'
6
- %span#tag_reference_link_body
7
- = link_to t('available_tags'), '/admin/reference/tags', :class => 'popup'
@@ -1,6 +0,0 @@
1
- %tr.node.level_1
2
- %td.snippet
3
- = image('extensions/form/form', :alt => '')
4
- %span= link_to form.title, edit_admin_form_path(form)
5
- %td.remove
6
- = link_to t('remove'), remove_admin_form_path(form)
@@ -1,3 +0,0 @@
1
- -# include_stylesheet 'admin/former'
2
-
3
- -# include_javascript 'admin/former'
@@ -1,20 +0,0 @@
1
- %h1 Remove Form
2
-
3
- %p
4
- Are you sure you want to
5
- %strong.warning permanently remove
6
- the following form?
7
-
8
- %table.index#form{ :cellpadding => "0", :cellspacing => "0", :border => "0" }
9
- %tbody
10
- %tr.node.level-1{ :onmouseover => "Element.addClassName(this, 'highlight');", :onmouseout => "Element.removeClassName(this, 'highlight');" }
11
- %td.asset
12
- = image('form.png', :alt => '')
13
- = @form.title
14
-
15
-
16
- - form_for [:admin, @form], :html => { :method => 'delete', :onsubmit_status => "Removing Form&#8230;" } do
17
- %p.buttons
18
- %input.button{ :type => "submit", :value => "Delete Form" }
19
- or
20
- = link_to 'Cancel', admin_forms_path