diff options
| author | Kir | 2011-10-31 21:43:34 +0400 |
|---|---|---|
| committer | Kir | 2011-10-31 21:43:34 +0400 |
| commit | 48c144ed34e2d5977bb8e5af8a9c7e8dfc253361 (patch) | |
| tree | a672937fb96b955f3c2d4364195926b3b14d01cb /app/models/discussion.rb | |
| parent | 3ddd221f5f235e34afb9d4bbc7a4fc05228f73a4 (diff) | |
| download | inboxes-48c144ed34e2d5977bb8e5af8a9c7e8dfc253361.tar.bz2 | |
Small changed
Diffstat (limited to 'app/models/discussion.rb')
| -rw-r--r-- | app/models/discussion.rb | 26 |
1 files changed, 12 insertions, 14 deletions
diff --git a/app/models/discussion.rb b/app/models/discussion.rb index 474ad00..7898140 100644 --- a/app/models/discussion.rb +++ b/app/models/discussion.rb @@ -66,15 +66,13 @@ class Discussion < ActiveRecord::Base # проверяет, есть ли уже беседа между пользователями # TODO вынести в отдельный метод а в этом возращать true/false, а то неправославно как-то def self.find_between_users(user, user2) - res = nil + dialog = nil discussions = self.joins(:speakers).includes(:users).where("speakers.user_id = ?", user.id) Rails.logger.info "Searching for ids: #{user.id}, #{user2.id}" discussions.each do |discussion| - - res = discussion if discussion.private? && ((discussion.users.first == user && discussion.users.last == user2) || (discussion.users.first == user2 && discussion.users.last == user)) - Rails.logger.info "Searching for ids: #{discussion.users.inspect}" if discussion.private? + dialog = discussion if discussion.private? && ((discussion.users.first == user && discussion.users.last == user2) || (discussion.users.first == user2 && discussion.users.last == user)) end - res + dialog end # приватная/групповая @@ -88,14 +86,14 @@ class Discussion < ActiveRecord::Base end # проверка, является ли дискуссия непрочитанной для пользователя - # def unread_for?(user) - # flag = self.views.find_by_user_id(user.id) - # if flag - # self.updated_at >= flag.updated_at - # else - # true - # end - # end + def unread_for?(user) + flag = self.views.find_by_user_id(user.id) + if flag + self.updated_at >= flag.updated_at + else + true + end + end # пометить как прочитанная def mark_as_read_for(user) @@ -112,7 +110,7 @@ class Discussion < ActiveRecord::Base def check_that_has_at_least_two_users Rails.logger.info self.recipient_ids - errors.add :recipient_tokens, "Укажите хотя бы одного получателя" #if !self.recipient_ids || self.recipient_ids.size < 2 + errors.add :recipient_tokens, "Укажите хотя бы одного получателя" if !self.recipient_ids || self.recipient_ids.size < 2 end end
\ No newline at end of file |
