diff options
Diffstat (limited to 'app/models/enumeration.rb')
-rw-r--r-- | app/models/enumeration.rb | 28 |
1 files changed, 17 insertions, 11 deletions
diff --git a/app/models/enumeration.rb b/app/models/enumeration.rb index 46d350a21..b0ad48bc7 100644 --- a/app/models/enumeration.rb +++ b/app/models/enumeration.rb @@ -16,27 +16,33 @@ # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. class Enumeration < ActiveRecord::Base + acts_as_list :scope => 'opt = \'#{opt}\'' + before_destroy :check_integrity validates_presence_of :opt, :name validates_uniqueness_of :name, :scope => [:opt] validates_length_of :name, :maximum => 30 validates_format_of :name, :with => /^[\w\s\'\-]*$/i - - OPTIONS = { - "IPRI" => :enumeration_issue_priorities, - "DCAT" => :enumeration_doc_categories, - "ACTI" => :enumeration_activities - }.freeze - - def self.get_values(option) - find(:all, :conditions => ['opt=?', option]) - end - + + OPTIONS = { + "IPRI" => :enumeration_issue_priorities, + "DCAT" => :enumeration_doc_categories, + "ACTI" => :enumeration_activities + }.freeze + + def self.get_values(option) + find(:all, :conditions => {:opt => option}, :order => 'position') + end + def option_name OPTIONS[self.opt] end + #def <=>(enumeration) + # position <=> enumeration.position + #end + def to_s; name end private |