diff options
| -rw-r--r-- | app/models/node.rb | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/app/models/node.rb b/app/models/node.rb index 4e94efc..6587585 100644 --- a/app/models/node.rb +++ b/app/models/node.rb | |||
| @@ -16,9 +16,9 @@ class Node < ActiveRecord::Base | |||
| 16 | after_save :update_unique_names_of_children | 16 | after_save :update_unique_names_of_children |
| 17 | 17 | ||
| 18 | # Validations | 18 | # Validations |
| 19 | validates_length_of :slug, :within => 1..255 | 19 | validates_length_of :slug, :within => 1..255, :unless => "parent_id.nil?" |
| 20 | validates_presence_of :slug | 20 | validates_presence_of :slug, :unless => "parent_id.nil?" |
| 21 | validates_uniqueness_of :slug, :scope => :parent_id | 21 | validates_uniqueness_of :slug, :scope => :parent_id, :unless => "parent_id.nil?" |
| 22 | 22 | ||
| 23 | # Index for Fulltext Search | 23 | # Index for Fulltext Search |
| 24 | define_index do | 24 | define_index do |
| @@ -103,8 +103,7 @@ class Node < ActiveRecord::Base | |||
| 103 | 103 | ||
| 104 | self.save! | 104 | self.save! |
| 105 | self.unlock! | 105 | self.unlock! |
| 106 | else | 106 | self |
| 107 | nil | ||
| 108 | end | 107 | end |
| 109 | end | 108 | end |
| 110 | 109 | ||
| @@ -142,8 +141,11 @@ class Node < ActiveRecord::Base | |||
| 142 | end | 141 | end |
| 143 | 142 | ||
| 144 | def unlock! | 143 | def unlock! |
| 145 | self.lock_owner = nil | 144 | if self.lock_owner |
| 146 | self.save | 145 | self.lock_owner = nil |
| 146 | self.save | ||
| 147 | self | ||
| 148 | end | ||
| 147 | end | 149 | end |
| 148 | 150 | ||
| 149 | def title | 151 | def title |
