e9_polls 1.0.2 → 1.0.3

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,11 +1,12 @@
1
1
  class E9Polls::PollsController < AdminController
2
+ inherit_resources
3
+
2
4
  include E9Rails::Helpers::Translation
3
5
  include E9Rails::Helpers::Title
4
6
  include E9Rails::Helpers::ResourceErrorMessages
5
7
  include E9Rails::Helpers::Pagination
6
8
  include E9Rails::Controllers::Orderable
7
-
8
- inherit_resources
9
+ include E9::DestroyRestricted::Controller
9
10
 
10
11
  respond_to :json, :only => [:answer, :show]
11
12
 
@@ -73,6 +74,12 @@ class E9Polls::PollsController < AdminController
73
74
  end
74
75
  end
75
76
 
77
+ def destroy
78
+ destroy! do |format|
79
+ format.js
80
+ end
81
+ end
82
+
76
83
  protected
77
84
 
78
85
  def render_html_for_action(action = nil)
@@ -31,8 +31,8 @@ module E9Polls::PollsHelper
31
31
  if action == :destroy
32
32
  opts[:method] = :delete
33
33
  opts.reverse_merge!({
34
- :confirm => t(:"#{scope}.confirm_destroy",
35
- :default => :"e9_polls.confirm_destroy")
34
+ :remote => true,
35
+ :confirm => t(:"#{scope}.confirm_destroy", :default => :"e9_polls.confirm_destroy")
36
36
  })
37
37
  end
38
38
 
data/app/models/poll.rb CHANGED
@@ -34,7 +34,7 @@ class Poll < ::Renderable
34
34
  end
35
35
 
36
36
  def votes
37
- poll_answers.sum(:votes)
37
+ poll_answers.sum(:votes).to_i
38
38
  end
39
39
 
40
40
  def percentage_for(poll_answer)
@@ -1,15 +1,20 @@
1
- .poll-answer{:id => poll_answer.to_anchor}
1
+ .poll-answer{:id => poll_answer.to_anchor, :"data-votes" => poll_answer.votes, :"data-percentage" => poll_answer.percentage}
2
+
2
3
  - if f = local_assigns[:f]
3
- - unless poll_answered?(poll_answer.poll)
4
+ - if !poll_answered?(poll_answer.poll)
4
5
  = f.radio_button :vote, poll_answer.id, :id => "#{poll_answer.to_anchor}_input"
5
6
  %label{:for => "#{poll_answer.to_anchor}_input"}
6
7
  = poll_answer.value
7
8
  - if poll_answered?(poll_answer.poll, poll_answer)
8
9
  %span.poll-answer-voted
9
10
  = t(:your_vote, :scope => :e9_polls)
11
+
10
12
  - else
11
13
  %span.poll-answer-value
12
14
  = poll_answer.value
15
+ - if poll_answered?(poll_answer.poll, poll_answer)
16
+ %span.poll-answer-voted
17
+ = t(:your_vote, :scope => :e9_polls)
13
18
  %span.poll-answer-bar-outer
14
19
  %span.poll-answer-bar{:style => "width:#{poll_answer.percentage}%", :class => "pab-#{cycle(*(1..(E9Polls.bar_css_class_count)).to_a)}"}
15
20
  %span.poll-answer-votes
@@ -10,10 +10,11 @@
10
10
  = f.text_field :template
11
11
 
12
12
  %fieldset.poll-answers.nested-associations
13
- %legend
14
- %span= f.label(:poll_answers)
13
+ %legend= f.label(:poll_answers)
14
+ .fields
15
+ = render_nested_attribute_association(:poll_answers, f)
16
+ .actions
15
17
  = link_to_add_nested_attribute(:poll_answers)
16
- = render_nested_attribute_association(:poll_answers, f)
17
18
 
18
19
  - unless request.xhr?
19
20
  = render 'shared/admin/region_type_select', :f => f
@@ -1,4 +1,4 @@
1
- .e9-poll
1
+ .e9-poll{:"data-votes" => poll.votes}
2
2
  .poll-question
3
3
  = poll.question
4
4
 
@@ -1,4 +1,4 @@
1
- .e9-poll
1
+ .e9-poll{:"data-votes" => poll.votes}
2
2
  .poll-question
3
3
  = poll.question
4
4
 
@@ -33,6 +33,7 @@ en:
33
33
  models:
34
34
  poll:
35
35
  attributes:
36
+ delete_restricted: "This poll is being used in a layout and/or by a page. You can not delete it until you remove all instances where it is used."
36
37
  vote:
37
38
  already_voted: "Sorry but you've already voted on this poll!"
38
39
  no_argument: "Oops, sorry but your vote was not able to be processed!"
@@ -2,7 +2,7 @@ module E9Polls
2
2
  module GlobalHelper
3
3
  def poll_answered?(poll, answer = nil)
4
4
  if cookie = e9_polls_cookie
5
- cookie[poll.id] && !answer || cookie[poll.id].to_s == answer.id.to_s
5
+ cookie[poll.id] and !answer || cookie[poll.id].to_s == answer.id.to_s
6
6
  end
7
7
  end
8
8
 
@@ -1,3 +1,3 @@
1
1
  module E9Polls
2
- VERSION = "1.0.2"
2
+ VERSION = "1.0.3"
3
3
  end
@@ -77,7 +77,7 @@
77
77
  e.preventDefault();
78
78
 
79
79
  var $this = $(this),
80
- $parent = $this.closest('.nested-associations'),
80
+ $fields = $this.closest('.nested-associations').find('.fields'),
81
81
  obj,
82
82
  template,
83
83
  index;
@@ -88,7 +88,7 @@
88
88
 
89
89
  template = obj.template.replace(new RegExp(obj.index++, 'g'), obj.index);
90
90
 
91
- $(template).appendTo($parent);
91
+ $(template).appendTo($fields);
92
92
 
93
93
  try { $.colorbox.resize() } catch(e) {}
94
94
  });
@@ -7,7 +7,7 @@
7
7
  .poll-answer { margin: 1em 0; clear: both; }
8
8
  .poll-answer textarea { height: 3em; margin-bottom: 0; }
9
9
  .poll-answer .field { margin-bottom: 0; }
10
- form.edit-poll .actions { margin-top: 1em; }
10
+ form.edit_poll .actions { padding: 0.5em 0; }
11
11
 
12
12
  /* Poll answers or poll percentage. */
13
13
  .poll-answer-votes { display: none; }
metadata CHANGED
@@ -2,7 +2,7 @@
2
2
  name: e9_polls
3
3
  version: !ruby/object:Gem::Version
4
4
  prerelease:
5
- version: 1.0.2
5
+ version: 1.0.3
6
6
  platform: ruby
7
7
  authors:
8
8
  - Travis Cox
@@ -10,7 +10,7 @@ autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
12
 
13
- date: 2011-04-29 00:00:00 -04:00
13
+ date: 2011-05-02 00:00:00 -04:00
14
14
  default_executable:
15
15
  dependencies: []
16
16
 
@@ -70,7 +70,6 @@ files:
70
70
  - app/views/e9_polls/polls/_results.html.haml
71
71
  - app/views/e9_polls/polls/_results_inner.html.haml
72
72
  - app/views/e9_polls/polls/_table.html.haml
73
- - app/views/e9_polls/polls/create.js.erb
74
73
  - app/views/e9_polls/polls/destroy.js.erb
75
74
  - app/views/e9_polls/polls/edit.html.haml
76
75
  - app/views/e9_polls/polls/index.html.haml
@@ -1,6 +0,0 @@
1
- <% if resource.errors.any? %>
2
- $('form .errors').html("<%= escape_javascript(resource_error_messages!) %>");
3
- $.fn.colorbox.resize();
4
- <% else %>
5
- window.location.reload(true);
6
- <% end %>