John Dong [Fri, 31 Aug 2007 14:31:12 +0000 (10:31 -0400)]
My first gigantic-blob commit....
* Refactor voter list to a separate page
* Rename mapvoters to list_voters
* Clean up div tags
* Fixed gmap api key syntax to not error out in production
* TODO: Generate a real api key for selectricity.org
* Fixed performance issue with when IANA private addresses timeout DNS request.
The session storage is now done via the database, be sure to relaod your
databases. It seems that the logout error was cured, in that if you reload the
database while logged in, you shouldn't get an error when returning to the
site. I don't know how the session plugin we're using will be working with the
new storage method.
John Dong [Thu, 30 Aug 2007 23:12:35 +0000 (19:12 -0400)]
Commit memcache work. memcache is only enabled in production, and currently only thing cached are election results. At least 5-fold render speed improvement...
Added the Gruff library to the lib/ directory of the the rails folder, and the
environment require statement now uses that one. Made modifcations to Gruff
library to alternate placement of labels and crowded bar graphs. Also made a
table for approval vote method.
John Dong [Thu, 30 Aug 2007 17:29:08 +0000 (13:29 -0400)]
Add IE6 specific hacks CSS that only gets loaded if user agent is MSIE 6.
This sets the background-image to render using DirectX alpha channels to properly transparentize PNG's. Also removes ordering on ordered lists so that we don't get 1. 1. 1. 1. in the dragdrop list.
John Dong [Thu, 30 Aug 2007 15:55:30 +0000 (11:55 -0400)]
Fix full voter addition bug where the regex flunks the trailing \r on middle items in the list. At the same time, make sure to only add a voter to the election if it passes validation. This prevents cases where the voter shows up on the AJAX list but mysteriously disappears after confirming.
Both quickvotes and full-size elections use the same partial in views/voter
('sortable_vote') for the ajax voting. One gimmick seems to be that the button
is appearing above the actual list of candidates which is kinda odd, but
doesn't seem to be affecting wah'ts being committed in anyway. Also made some
modifications to the graphs and the graphs to help with how their displayed in
the new theme, hopefully it looks a litle better. Don't quite know how to
improve the results page further for quickvotes... will try keeping them
uncomputed until people ask for them?
Created a partial to DRY the aja voting method. Modified the voter class to
have both a FullVoter and QuickVoter `types`. Also changed the index and review
methods so that they are more error resistant in the face of ajax voting.
Application.rb now includes the sort_candidates method from
quickvote_controller so all election types can use it. Also updated the
election results pages so that they don't throw errors any more. (Show and Hide
details)
Allowed for the results page of quickvotes to be hidden while the quickvote is go
ing on. Also added a 'notices' option to QuickVotes available only to logged in u
sers. Those two options were added to the elections table, so they should be easy
to extend to full elections. Also redid some logic on the layout and index.
Added Plugin for dynamically adjusting session options (so they will never
expire). The code for that, along with a change of the session_key, which
changes how the cookies hash stores teh session_id, are both in the environment
file.
Added a method, views, and corresponding route so that a user can track the
quickvotes he has created by his session_id. Have yet to modify the cookies to
stick around permanently.
<mako@atdot.cc> [Thu, 23 Aug 2007 19:45:11 +0000 (15:45 -0400)]
Big commit includes:
* A bunch of cleanup of the unit tests.
* Addition of fixtures for elections and candidates.
* Cleanup of the selectricitservice model.
* Additional tweaks for testing including addition of ruby-debug for
testing.
Allow custimizable graph sizes, to fit with newly modular results page. Also,
beginning a method that will allow users to track the QuickVotes they create.
John Dong [Tue, 21 Aug 2007 19:12:02 +0000 (15:12 -0400)]
Revise functional test of graph controller for retrieving an unknown id number. Currently I think raising RecordNotFound is fine. The alternate would be to generate a record not found PNG, but I don't see the point of doing that either.
Finished organzing preferential vote tables into one partial. Also changed RubyVote's victories_and_ties method to return a hash of hashes which stores both victories and ties.