Commit 5af09f5a630c39daede8e7baaae95a97199bfbd3
Exists in
master
and in
1 other branch
Merge pull request #265 from concordia-publishing-house/dont-clear-notice-count
Notice counts are all zero when you resolve a problem
Showing
3 changed files
with
12 additions
and
3 deletions
Show diff stats
app/models/notice.rb
... | ... | @@ -111,7 +111,7 @@ class Notice |
111 | 111 | end |
112 | 112 | |
113 | 113 | def unresolve_problem |
114 | - problem.update_attribute(:resolved, false) if problem.resolved? | |
114 | + problem.update_attributes!(:resolved => false, :resolved_at => nil, :notices_count => 1) if problem.resolved? | |
115 | 115 | end |
116 | 116 | |
117 | 117 | def cache_attributes_on_problem | ... | ... |
app/models/problem.rb
... | ... | @@ -58,11 +58,11 @@ class Problem |
58 | 58 | end |
59 | 59 | |
60 | 60 | def resolve! |
61 | - self.update_attributes!(:resolved => true, :resolved_at => Time.now, :notices_count => 0) | |
61 | + self.update_attributes!(:resolved => true, :resolved_at => Time.now) | |
62 | 62 | end |
63 | 63 | |
64 | 64 | def unresolve! |
65 | - self.update_attributes!(:resolved => false) | |
65 | + self.update_attributes!(:resolved => false, :resolved_at => nil) | |
66 | 66 | end |
67 | 67 | |
68 | 68 | def unresolved? | ... | ... |
spec/models/problem_spec.rb
... | ... | @@ -109,6 +109,15 @@ describe Problem do |
109 | 109 | problem.resolved_at.to_s.should == expected_resolved_at.to_s |
110 | 110 | end |
111 | 111 | |
112 | + it "should not reset notice count" do | |
113 | + problem = Fabricate(:problem, :notices_count => 1) | |
114 | + original_notices_count = problem.notices_count | |
115 | + original_notices_count.should > 0 | |
116 | + | |
117 | + problem.resolve! | |
118 | + problem.notices_count.should == original_notices_count | |
119 | + end | |
120 | + | |
112 | 121 | it "should throw an err if it's not successful" do |
113 | 122 | problem = Fabricate(:problem) |
114 | 123 | problem.should_not be_resolved | ... | ... |