summaryrefslogtreecommitdiffstats
path: root/app/models/enumeration.rb
diff options
context:
space:
mode:
Diffstat (limited to 'app/models/enumeration.rb')
-rw-r--r--app/models/enumeration.rb28
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