Mercurial > hg > soundsoftware-site
comparison app/models/user_preference.rb @ 1464:261b3d9a4903 redmine-2.4
Update to Redmine 2.4 branch rev 12663
author | Chris Cannam |
---|---|
date | Tue, 14 Jan 2014 14:37:42 +0000 |
parents | 433d4f72a19b |
children | e248c7af89ec |
comparison
equal
deleted
inserted
replaced
1296:038ba2d95de8 | 1464:261b3d9a4903 |
---|---|
1 # Redmine - project management software | 1 # Redmine - project management software |
2 # Copyright (C) 2006-2012 Jean-Philippe Lang | 2 # Copyright (C) 2006-2013 Jean-Philippe Lang |
3 # | 3 # |
4 # This program is free software; you can redistribute it and/or | 4 # This program is free software; you can redistribute it and/or |
5 # modify it under the terms of the GNU General Public License | 5 # modify it under the terms of the GNU General Public License |
6 # as published by the Free Software Foundation; either version 2 | 6 # as published by the Free Software Foundation; either version 2 |
7 # of the License, or (at your option) any later version. | 7 # of the License, or (at your option) any later version. |
20 serialize :others | 20 serialize :others |
21 | 21 |
22 attr_protected :others, :user_id | 22 attr_protected :others, :user_id |
23 | 23 |
24 before_save :set_others_hash | 24 before_save :set_others_hash |
25 | 25 |
26 def initialize(attributes=nil, *args) | 26 def initialize(attributes=nil, *args) |
27 super | 27 super |
28 self.others ||= {} | 28 self.others ||= {} |
29 end | 29 end |
30 | 30 |
31 def set_others_hash | 31 def set_others_hash |
32 self.others ||= {} | 32 self.others ||= {} |
33 end | 33 end |
34 | 34 |
35 def [](attr_name) | 35 def [](attr_name) |
36 if attribute_present? attr_name | 36 if has_attribute? attr_name |
37 super | 37 super |
38 else | 38 else |
39 others ? others[attr_name] : nil | 39 others ? others[attr_name] : nil |
40 end | 40 end |
41 end | 41 end |
42 | 42 |
43 def []=(attr_name, value) | 43 def []=(attr_name, value) |
44 if attribute_present? attr_name | 44 if has_attribute? attr_name |
45 super | 45 super |
46 else | 46 else |
47 h = (read_attribute(:others) || {}).dup | 47 h = (read_attribute(:others) || {}).dup |
48 h.update(attr_name => value) | 48 h.update(attr_name => value) |
49 write_attribute(:others, h) | 49 write_attribute(:others, h) |
54 def comments_sorting; self[:comments_sorting] end | 54 def comments_sorting; self[:comments_sorting] end |
55 def comments_sorting=(order); self[:comments_sorting]=order end | 55 def comments_sorting=(order); self[:comments_sorting]=order end |
56 | 56 |
57 def warn_on_leaving_unsaved; self[:warn_on_leaving_unsaved] || '1'; end | 57 def warn_on_leaving_unsaved; self[:warn_on_leaving_unsaved] || '1'; end |
58 def warn_on_leaving_unsaved=(value); self[:warn_on_leaving_unsaved]=value; end | 58 def warn_on_leaving_unsaved=(value); self[:warn_on_leaving_unsaved]=value; end |
59 | |
60 def no_self_notified; (self[:no_self_notified] == true || self[:no_self_notified] == '1'); end | |
61 def no_self_notified=(value); self[:no_self_notified]=value; end | |
59 end | 62 end |