From e11dc5dd8394e163aff9944b274a2f184aac4fa5 Mon Sep 17 00:00:00 2001 From: Wen-Tien Chang Date: Fri, 5 Feb 2010 17:04:07 +0800 Subject: [PATCH] check uniqueness for item, layout and snippet --- app/models/item.rb | 2 ++ app/models/layout.rb | 1 + app/models/snippet.rb | 3 ++- 3 files changed, 5 insertions(+), 1 deletion(-) diff --git a/app/models/item.rb b/app/models/item.rb index a40c0358..a8f4f9c0 100644 --- a/app/models/item.rb +++ b/app/models/item.rb @@ -15,6 +15,8 @@ class Item key :is_published, Boolean, :required => true, :default => true, :index => true validates_format_of :name, :with => /^[a-zA-Z-_]+$/ + validates_uniqueness_of :name + belongs_to :parent, :class_name => "Item", :foreign_key => :parent_id many :children, :class_name => "Item", :foreign_key => :parent_id, :dependent => :destroy diff --git a/app/models/layout.rb b/app/models/layout.rb index b22a3c67..3b4f15b7 100644 --- a/app/models/layout.rb +++ b/app/models/layout.rb @@ -9,5 +9,6 @@ class Layout many :children, :class_name => "Item", :foreign_key => "layout_id", :dependent => :nullify validates_format_of :name, :with => /^[a-zA-Z-_]+$/ + validates_uniqueness_of :name end \ No newline at end of file diff --git a/app/models/snippet.rb b/app/models/snippet.rb index f9932480..688bf945 100644 --- a/app/models/snippet.rb +++ b/app/models/snippet.rb @@ -4,11 +4,12 @@ class Snippet key :name, String, :required => true, :index => true key :parent_name, String, :required => true, :index => true - key :parent_id, String, :required => true, :index => true + key :parent_id, ObjectId, :required => true, :index => true key_i18n :content, String before_validation :setup_default_value + validates_uniqueness_of :name, :scope => :parent_id protected