refinerycms-ballots 0.1.7 → 0.1.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.
@@ -0,0 +1,50 @@
1
+ class CreateBallots < ActiveRecord::Migration
2
+
3
+ def self.up
4
+ create_table :ballots do |t|
5
+ t.string :title
6
+ t.integer :position
7
+ t.datetime :start_date
8
+ t.datetime :end_date
9
+ t.timestamps
10
+ end
11
+
12
+ create_table :offices do |t|
13
+ t.string :title
14
+ t.integer :number_of_positions, :default => 1
15
+ t.references :ballot
16
+ t.integer :position
17
+ t.timestamps
18
+ end
19
+
20
+ create_table :candidates do |t|
21
+ t.string :name
22
+ t.references :office
23
+ t.integer :position
24
+ t.timestamps
25
+ end
26
+
27
+
28
+ add_index :ballots , :id
29
+ add_index :offices , :id
30
+ add_index :candidates , :id
31
+
32
+ load(Rails.root.join('db', 'seeds', 'ballots.rb'))
33
+ end
34
+
35
+ def self.down
36
+ [:ballots, :offices, :candidates].each do |table_name|
37
+ if defined?(UserPlugin)
38
+ UserPlugin.destroy_all :name => table_name.to_s
39
+ end
40
+
41
+ if defined?(Page)
42
+ Page.delete_all :link_url => "/#{table_name}"
43
+ end
44
+
45
+ drop_table table_name
46
+ end
47
+ end
48
+
49
+ end
50
+
@@ -0,0 +1,35 @@
1
+ class CreateVoteTables < ActiveRecord::Migration
2
+ def self.up
3
+ create_table :ballot_votes do |t|
4
+ t.references :member
5
+ t.references :ballot
6
+ t.timestamps
7
+ end
8
+
9
+ create_table :office_votes do |t|
10
+ t.references :ballot_vote
11
+ t.references :office
12
+ end
13
+
14
+ create_table :candidate_votes do |t|
15
+ t.references :office_vote
16
+ t.references :candidate
17
+ t.boolean :voted, :default => false
18
+ end
19
+ end
20
+
21
+ def self.down
22
+ [:ballot_votes, :office_votes, :candidate_votes].each do |table_name|
23
+ if defined?(UserPlugin)
24
+ UserPlugin.destroy_all :name => table_name.to_s
25
+ end
26
+
27
+ if defined?(Page)
28
+ Page.delete_all :link_url => "/#{table_name}"
29
+ end
30
+
31
+ drop_table table_name
32
+ end
33
+ end
34
+
35
+ end
@@ -0,0 +1,22 @@
1
+ if defined?(User)
2
+ User.all.each do |user|
3
+ if user.plugins.where(:name => 'ballots').blank?
4
+ user.plugins.create(:name => 'ballots',
5
+ :position => (user.plugins.maximum(:position) || -1) +1)
6
+ end
7
+ end
8
+ end
9
+
10
+ if defined?(Page)
11
+ page = Page.create(
12
+ :title => 'Ballots',
13
+ :link_url => '/ballots',
14
+ :deletable => false,
15
+ :position => ((Page.maximum(:position, :conditions => {:parent_id => nil}) || -1)+1),
16
+ :menu_match => '^/ballots(\/|\/.+?|)$',
17
+ :show_in_menu => false,
18
+ )
19
+ Page.default_parts.each do |default_page_part|
20
+ page.parts.create(:title => default_page_part, :body => nil)
21
+ end
22
+ end
@@ -0,0 +1,11 @@
1
+ function remove_fields(link) {
2
+ $(link).prev("input[type=hidden]").val("1");
3
+ $(link).closest(".fields").hide();
4
+ }
5
+
6
+ function add_fields(link, association, content) {
7
+ var new_id = new Date().getTime();
8
+ var regexp = new RegExp("new_" + association, "g");
9
+ $(link).parent().before(content.replace(regexp, new_id));
10
+ }
11
+
@@ -0,0 +1,52 @@
1
+ .ballot ol li, .ballot_vote ol li {
2
+ list-style: none;
3
+ }
4
+
5
+ #body_content .left-column {
6
+ float: left;
7
+ padding-left: 50px;
8
+ margin: 0px;
9
+ width: 45%;
10
+ }
11
+
12
+ #body_content .right-column {
13
+ float: right;
14
+ margin: 0px;
15
+ width: 45%;
16
+ }
17
+
18
+ form div.office.fields {
19
+ background-color: #DDD;
20
+ padding: 20px;
21
+ margin: 30px 200px 0px 10px; /* 200px RHS is kind of a hack, just to push the next element to the next line */
22
+ display: inline-block; /* inline-block is so the background shrink-wraps the contents of the element */
23
+ }
24
+
25
+
26
+ #content form .office.fields > .field {
27
+ display: inline-block;
28
+ width: inherit;
29
+ }
30
+
31
+
32
+ form .office.fields > label {
33
+ margin-top: 0px;
34
+ margin-left: 0px;
35
+ width: 50%;
36
+ }
37
+
38
+ /* apparently this selector won't work on ie8, but not important enough to care */
39
+ form .office.fields > .field:last-of-type {
40
+ margin-left: 15px;
41
+ }
42
+
43
+ #content form .start_date {
44
+ display: inline-block;
45
+ width: inherit;
46
+ }
47
+
48
+ #content form .end_date {
49
+ display: inline-block;
50
+ width: inherit;
51
+ margin-left: 50px;
52
+ }
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: refinerycms-ballots
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.7
4
+ version: 0.1.8
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,23 +9,22 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2011-09-13 00:00:00.000000000 -05:00
13
- default_executable:
12
+ date: 2011-09-13 00:00:00.000000000 Z
14
13
  dependencies:
15
14
  - !ruby/object:Gem::Dependency
16
15
  name: refinerycms-simple_members
17
- requirement: &70361329789140 !ruby/object:Gem::Requirement
16
+ requirement: &70356347656420 !ruby/object:Gem::Requirement
18
17
  none: false
19
18
  requirements:
20
19
  - - ~>
21
20
  - !ruby/object:Gem::Version
22
- version: 0.1.6
21
+ version: 0.1.7
23
22
  type: :runtime
24
23
  prerelease: false
25
- version_requirements: *70361329789140
24
+ version_requirements: *70356347656420
26
25
  - !ruby/object:Gem::Dependency
27
26
  name: factory_girl
28
- requirement: &70361329788560 !ruby/object:Gem::Requirement
27
+ requirement: &70356347655700 !ruby/object:Gem::Requirement
29
28
  none: false
30
29
  requirements:
31
30
  - - ~>
@@ -33,7 +32,7 @@ dependencies:
33
32
  version: 2.1.0
34
33
  type: :development
35
34
  prerelease: false
36
- version_requirements: *70361329788560
35
+ version_requirements: *70356347655700
37
36
  description: Ruby on Rails Ballots engine for Refinery CMS
38
37
  email:
39
38
  executables: []
@@ -78,7 +77,11 @@ files:
78
77
  - app/views/votes/create.html.erb
79
78
  - app/views/votes/login.html.erb
80
79
  - app/views/votes/new.html.erb
81
- has_rdoc: true
80
+ - db/migrate/create_ballots.rb
81
+ - db/migrate/create_vote_tables.rb
82
+ - db/seeds/ballots.rb
83
+ - public/javascripts/refinerycms-ballots.js
84
+ - public/stylesheets/ballots.css
82
85
  homepage:
83
86
  licenses: []
84
87
  post_install_message:
@@ -99,7 +102,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
99
102
  version: '0'
100
103
  requirements: []
101
104
  rubyforge_project:
102
- rubygems_version: 1.6.2
105
+ rubygems_version: 1.8.10
103
106
  signing_key:
104
107
  specification_version: 3
105
108
  summary: Ballots engine for Refinery CMS