summaryrefslogtreecommitdiff
path: root/users/app/models
diff options
context:
space:
mode:
authorjessib <jessib@riseup.net>2014-01-07 12:57:01 -0800
committerjessib <jessib@riseup.net>2014-01-07 12:57:01 -0800
commitc7e66852324714a166dd35dc3d5873a0053dcb9b (patch)
tree4d306a960fbf1491510573640643f91af8fc208c /users/app/models
parentb920c144ef70613414a702e468ab7889659a03da (diff)
Some refactoring, to simplify user model, optimize, and allow messages to be sorted by date (although are not now.)
Also, rather than use whenever gem, will have cron job created to call task.
Diffstat (limited to 'users/app/models')
-rw-r--r--users/app/models/message.rb4
-rw-r--r--users/app/models/user.rb14
2 files changed, 10 insertions, 8 deletions
diff --git a/users/app/models/message.rb b/users/app/models/message.rb
index 38fa71e..16a19f4 100644
--- a/users/app/models/message.rb
+++ b/users/app/models/message.rb
@@ -3,8 +3,12 @@ class Message < CouchRest::Model::Base
use_database :messages
property :text, String
+ property :user_ids_to_show, [String]
+ property :user_ids_have_shown, [String] # is this necessary to store?
design do
+ own_path = Pathname.new(File.dirname(__FILE__))
+ load_views(own_path.join('..', 'designs', 'message'))
end
end
diff --git a/users/app/models/user.rb b/users/app/models/user.rb
index 6e445be..71e57f3 100644
--- a/users/app/models/user.rb
+++ b/users/app/models/user.rb
@@ -13,8 +13,6 @@ class User < CouchRest::Model::Base
property :desired_service_level_code, Integer, :accessible => true
property :effective_service_level_code, Integer, :accessible => true
- property :message_ids_to_see, [String]
- property :message_ids_seen, [String]
property :one_month_warning_sent, TrueClass
before_save :update_effective_service_level
@@ -77,12 +75,11 @@ class User < CouchRest::Model::Base
end
def messages(unseen = true)
-
- message_ids = unseen ? self.message_ids_to_see : self.message_ids_to_see + self.message_ids_seen # TODO check unique?
-
+ #TODO for now this only shows unseen messages. Will we ever want seen ones? Is it necessary to store?
+ #Message.by_user_ids_to_show.key(self.id).all # we don't want to emit all the userids associated with a message, so looping through to only emit text and id.
messages = []
- message_ids.each do |message_id|
- messages << Message.find(message_id)
+ Message.by_user_ids_to_show.key(self.id).each do |message|
+ messages << [message.id, message.text]
end
messages
@@ -140,7 +137,8 @@ class User < CouchRest::Model::Base
@message.save
end
- user.message_ids_to_see << @message.id
+ @message.user_ids_to_show << user.id
+ @message.save
user.one_month_warning_sent = true
user.save
end