X-Git-Url: https://projects.mako.cc/source/selectricity/blobdiff_plain/fd484b33a3920e0031007c5c2f1dec61913cbab5..99e1580f0d7707b8e2f8c08f8aae70c3d4906637:/app/models/candidate.rb diff --git a/app/models/candidate.rb b/app/models/candidate.rb index 7b6e802..6048562 100644 --- a/app/models/candidate.rb +++ b/app/models/candidate.rb @@ -1,8 +1,17 @@ +# Selectricity: Voting Machinery for the Masses +# Copyright (C) 2007, 2008 Benjamin Mako Hill +# Copyright (C) 2007 Massachusetts Institute of Technology +# +# This program is free software. Please see the COPYING file for +# details. + class Candidate < ActiveRecord::Base belongs_to :election - validates_uniqueness_of :name + has_one :picture validates_presence_of :name + # validate uniqueness of a name *within a given election* + def <=>(other) self.name <=> other.name end @@ -11,25 +20,5 @@ class Candidate < ActiveRecord::Base name end - def picture=(picture_field) - if picture_field - unless picture_field.content_type.match(/^image/) - return false - end - self.picture_filename = base_part_of(picture_field.original_filename) - self.picture_type = picture_field.content_type.chomp - self.picture_data = picture_field.read - end - end - - def base_part_of(filename) - name = File.basename(filename) - name.gsub(/[^\w._-]/, '') - end - - def picture? - !self.picture_filename.nil? - end - end