sunrise-votes 0.1.0 → 0.1.1

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.
data/README.rdoc CHANGED
@@ -11,4 +11,4 @@ http://www.jqplot.com/index.php
11
11
 
12
12
  == Usage
13
13
 
14
- <%= link_to 'charts', manage_ballot_box_vote_path(:id => 'charts', :idea_id => idea.id) %>
14
+ <%= link_to 'charts', manage_ballot_box_vote_path(:id => 'charts', :voteable_id => work.id, :voteable_type => work.class.name) %>
@@ -1,36 +1,51 @@
1
1
  class Manage::BallotBox::VotesController < Manage::BaseController
2
2
  inherit_resources
3
3
 
4
- belongs_to :idea, :polymorphic => true
5
4
  actions :index, :show, :destroy
6
5
  defaults :route_prefix => 'manage', :resource_class => BallotBox::Vote,
7
6
  :collection_name => 'votes', :instance_name => 'vote'
8
7
 
9
8
  respond_to :json, :only => [:show]
10
9
 
10
+ before_filter :find_voteable
11
11
  before_filter :make_filter, :only=>[:index]
12
12
 
13
- load_and_authorize_resource :idea, :through => :challenge
13
+ authorize_resource :class => BallotBox::Vote
14
+
15
+ helper_method :voteable_scope
14
16
 
15
17
  def destroy
16
- destroy!{ manage_ballot_box_votes_path(:"#{parent_type}_id" => parent.id) }
18
+ destroy!{ manage_ballot_box_votes_path( voteable_scope(@voteable) ) }
17
19
  end
18
20
 
19
21
  def show
20
- respond_with(parent) do |format|
21
- format.json { render :json => parent.votes.chart(params[:id]) }
22
+ respond_with(@voteable) do |format|
23
+ format.json { render :json => @voteable.votes.chart(params[:id]) }
22
24
  end
23
25
  end
24
26
 
25
27
  protected
26
28
 
29
+ def begin_of_association_chain
30
+ @voteable
31
+ end
32
+
27
33
  def collection
28
34
  @votes = (@votes || end_of_association_chain).page(params[:page]).merge(@search.scoped)
29
35
  end
30
36
 
37
+ def find_voteable
38
+ klass = params[:voteable_type].to_s.classify.constantize
39
+ @voteable = klass.find(params[:voteable_id])
40
+ end
41
+
31
42
  def make_filter
32
43
  @search = Sunrise::ModelFilter.new(BallotBox::Vote, :attributes => [ :voter_type, :voter_id, :ip_address,
33
44
  :browser_name, :browser_version, :browser_platform])
34
45
  @search.update_attributes(params[:search])
35
46
  end
47
+
48
+ def voteable_scope(record)
49
+ { :voteable_id => record.id, :voteable_type => record.class.name }
50
+ end
36
51
  end
@@ -4,7 +4,8 @@
4
4
 
5
5
  <%= cookie_content_tag(:div, :id=>"block_filter", :class=>"filt") do %>
6
6
  <%= form_for @search, :as => :search, :url => manage_ballot_box_votes_path, :html=>{:method=>:get, :id=>"form_filter"} do |f| %>
7
- <%= hidden_field_tag "#{parent_type}_id", parent.id %>
7
+ <%= hidden_field_tag "voteable_id", @voteable.id %>
8
+ <%= hidden_field_tag "voteable_type", @voteable.class.name %>
8
9
 
9
10
  <%= f.label :ip_address, t('activerecord.attributes.vote.ip_address') %>
10
11
  <%= f.text_field :ip_address, :class=>"text" %>
@@ -16,9 +17,11 @@
16
17
  <%= f.text_field :browser_platform, :class=>"text" %>
17
18
 
18
19
  <div class="buts">
19
- <%= f.submit t('manage.model_filter.search'), :style=>"display:none;" %>
20
- <%= link_to_function content_tag(:span, t('manage.model_filter.search')), "$('#form_filter').submit()", :class=>"gr" %>
21
- <%= link_to t('manage.model_filter.clear'), manage_ballot_box_votes_path(:"#{parent_type}_id" => parent.id), :class=>"erase" %>
20
+ <%= content_tag(:button, :value => "search", :type => "submit", :name => "commit", :class => "gr cupid-green") do %>
21
+ <%= t('manage.model_filter.search') %>
22
+ <% end %>
23
+
24
+ <%= link_to t('manage.model_filter.clear'), manage_ballot_box_votes_path( voteable_scope(@voteable) ), :class=>"erase" %>
22
25
  </div>
23
26
  <% end %>
24
27
  <% end %>
@@ -1,7 +1,7 @@
1
1
  <%= content_tag(:div, :id=>dom_id(vote), :class=>"dinamic-bl") do %>
2
2
  <div class="act-bl" style="display:none;">
3
3
  <%= link_to image_tag("manage/ico_del.gif", :title=>t('manage.delete')),
4
- manage_ballot_box_vote_path(:id => vote.id, :"#{parent_type}_id" => parent.id),
4
+ manage_ballot_box_vote_path( voteable_scope(@voteable).merge(:id => vote.id) ),
5
5
  :method=>:delete, :confirm=>t("manage.confirm_delete"), :class=>"icons" %>
6
6
  </div>
7
7
 
@@ -4,7 +4,7 @@
4
4
  <div class="row-container">
5
5
  <div class="white-row">
6
6
  <div class="r-corn">
7
- <%= link_to parent.title, manage_ballot_box_votes_path(:"#{parent_type}_id" => parent.id), :class=>"dark-text" %>
7
+ <%= link_to @voteable.title, manage_ballot_box_votes_path( voteable_scope(@voteable) ), :class=>"dark-text" %>
8
8
  </div>
9
9
  </div>
10
10
  </div>
@@ -8,10 +8,10 @@
8
8
 
9
9
  <div class="edit-bl">
10
10
  <div class="bot-bg">
11
- <div id="voteable_title" class="block-title"><%= parent.title %></div>
11
+ <div id="voteable_title" class="block-title"><%= @voteable.title %></div>
12
12
 
13
13
  <div class="edit-cont">
14
- <%= link_to t('manage.sunrise.votes.view'), manage_ballot_box_votes_path(:"#{parent_type}_id" => parent.id) %>
14
+ <%= link_to t('manage.sunrise.votes.view'), manage_ballot_box_votes_path( voteable_scope(@voteable) ) %>
15
15
 
16
16
  <div id="chart_dates" style="height:400px;width:800px;"></div>
17
17
  </div>
@@ -1,5 +1,5 @@
1
1
  module Sunrise
2
2
  module Votes
3
- VERSION = "0.1.0".freeze
3
+ VERSION = "0.1.1".freeze
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sunrise-votes
3
3
  version: !ruby/object:Gem::Version
4
- hash: 27
4
+ hash: 25
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
8
  - 1
9
- - 0
10
- version: 0.1.0
9
+ - 1
10
+ version: 0.1.1
11
11
  platform: ruby
12
12
  authors:
13
13
  - Igor Galeta
@@ -16,9 +16,11 @@ autorequire:
16
16
  bindir: bin
17
17
  cert_chain: []
18
18
 
19
- date: 2011-05-18 00:00:00 Z
19
+ date: 2011-05-31 00:00:00 +03:00
20
+ default_executable:
20
21
  dependencies:
21
22
  - !ruby/object:Gem::Dependency
23
+ type: :runtime
22
24
  requirement: &id001 !ruby/object:Gem::Requirement
23
25
  none: false
24
26
  requirements:
@@ -28,11 +30,11 @@ dependencies:
28
30
  segments:
29
31
  - 0
30
32
  version: "0"
31
- version_requirements: *id001
32
- type: :runtime
33
33
  name: ballot_box
34
+ version_requirements: *id001
34
35
  prerelease: false
35
36
  - !ruby/object:Gem::Dependency
37
+ type: :runtime
36
38
  requirement: &id002 !ruby/object:Gem::Requirement
37
39
  none: false
38
40
  requirements:
@@ -42,9 +44,8 @@ dependencies:
42
44
  segments:
43
45
  - 0
44
46
  version: "0"
45
- version_requirements: *id002
46
- type: :runtime
47
47
  name: sunrise
48
+ version_requirements: *id002
48
49
  prerelease: false
49
50
  description: Sunrise is a Aimbulance CMS
50
51
  email: galeta.igor@gmail.com
@@ -127,6 +128,7 @@ files:
127
128
  - lib/sunrise/votes.rb
128
129
  - lib/sunrise/votes/engine.rb
129
130
  - lib/sunrise/votes/version.rb
131
+ has_rdoc: true
130
132
  homepage: https://github.com/galetahub/sunrise-votes
131
133
  licenses: []
132
134
 
@@ -156,7 +158,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
156
158
  requirements: []
157
159
 
158
160
  rubyforge_project:
159
- rubygems_version: 1.8.2
161
+ rubygems_version: 1.6.2
160
162
  signing_key:
161
163
  specification_version: 3
162
164
  summary: Rails CMS