X-Git-Url: https://projects.mako.cc/source/selectricity/blobdiff_plain/fd484b33a3920e0031007c5c2f1dec61913cbab5..aea5fd0d77227ccbc154ebe6428a45410ce538bb:/app/models/candidate.rb diff --git a/app/models/candidate.rb b/app/models/candidate.rb index 7b6e802..6a7dc6c 100644 --- a/app/models/candidate.rb +++ b/app/models/candidate.rb @@ -1,8 +1,28 @@ +# 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: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public +# License along with this program. If not, see +# . + 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 +31,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