Commit 7ec5ff4dbae71d147f413da5cea64116e7eb305d
1 parent
bbfa4a77
Exists in
spb-stable
and in
2 other branches
Pass last_fetched_at for notes to javascript
Showing
3 changed files
with
7 additions
and
3 deletions
Show diff stats
app/assets/javascripts/notes.js.coffee
| 1 | class Notes | 1 | class Notes |
| 2 | @interval: null | 2 | @interval: null |
| 3 | 3 | ||
| 4 | - constructor: (notes_url, note_ids) -> | 4 | + constructor: (notes_url, note_ids, last_fetched_at) -> |
| 5 | @notes_url = notes_url | 5 | @notes_url = notes_url |
| 6 | @notes_url = gon.relative_url_root + @notes_url if gon.relative_url_root? | 6 | @notes_url = gon.relative_url_root + @notes_url if gon.relative_url_root? |
| 7 | @note_ids = note_ids | 7 | @note_ids = note_ids |
| 8 | + @last_fetched_at = last_fetched_at | ||
| 8 | @initRefresh() | 9 | @initRefresh() |
| 9 | @setupMainTargetNoteForm() | 10 | @setupMainTargetNoteForm() |
| 10 | @cleanBinding() | 11 | @cleanBinding() |
| @@ -76,9 +77,11 @@ class Notes | @@ -76,9 +77,11 @@ class Notes | ||
| 76 | getContent: -> | 77 | getContent: -> |
| 77 | $.ajax | 78 | $.ajax |
| 78 | url: @notes_url | 79 | url: @notes_url |
| 80 | + data: "last_fetched_at=" + @last_fetched_at | ||
| 79 | dataType: "json" | 81 | dataType: "json" |
| 80 | success: (data) => | 82 | success: (data) => |
| 81 | notes = data.notes | 83 | notes = data.notes |
| 84 | + @last_fetched_at = data.last_fetched_at | ||
| 82 | $.each notes, (i, note) => | 85 | $.each notes, (i, note) => |
| 83 | @renderNote(note) | 86 | @renderNote(note) |
| 84 | 87 |
app/controllers/projects/notes_controller.rb
| @@ -5,9 +5,10 @@ class Projects::NotesController < Projects::ApplicationController | @@ -5,9 +5,10 @@ class Projects::NotesController < Projects::ApplicationController | ||
| 5 | before_filter :authorize_admin_note!, only: [:update, :destroy] | 5 | before_filter :authorize_admin_note!, only: [:update, :destroy] |
| 6 | 6 | ||
| 7 | def index | 7 | def index |
| 8 | + current_fetched_at = Time.now | ||
| 8 | @notes = NotesFinder.new.execute(project, current_user, params) | 9 | @notes = NotesFinder.new.execute(project, current_user, params) |
| 9 | 10 | ||
| 10 | - notes_json = { notes: [] } | 11 | + notes_json = { notes: [], last_fetched_at: current_fetched_at } |
| 11 | 12 | ||
| 12 | @notes.each do |note| | 13 | @notes.each do |note| |
| 13 | notes_json[:notes] << { | 14 | notes_json[:notes] << { |
app/views/projects/notes/_notes_with_form.html.haml
| @@ -7,4 +7,4 @@ | @@ -7,4 +7,4 @@ | ||
| 7 | = render "projects/notes/form" | 7 | = render "projects/notes/form" |
| 8 | 8 | ||
| 9 | :javascript | 9 | :javascript |
| 10 | - new Notes("#{project_notes_path(target_id: @noteable.id, target_type: @noteable.class.name.underscore)}", #{@notes.map(&:id).to_json}) | 10 | + new Notes("#{project_notes_path(target_id: @noteable.id, target_type: @noteable.class.name.underscore)}", #{@notes.map(&:id).to_json}, Time.now) |