Skip to content
This repository has been archived by the owner on Aug 21, 2024. It is now read-only.

Commit

Permalink
Merge pull request #187 from edx/announcement-fix
Browse files Browse the repository at this point in the history
Fixed Announcement Dismissal
  • Loading branch information
clintonb committed Nov 5, 2014
2 parents 54027a5 + b20a8da commit 67c1110
Show file tree
Hide file tree
Showing 4 changed files with 36 additions and 27 deletions.
3 changes: 2 additions & 1 deletion analytics_dashboard/static/js/common.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ require([
'bootstrap',
'bootstrap_accessibility',
'vendor/domReady!',
'load/init-page'
'load/init-page',
'js/application-main'
], function () {
});
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,9 @@ define(['views/announcement-view', 'jquery', 'underscore'], function (Announceme
var view, $el,
csrftoken = '1234',
url = 'http://example.com',
template = _.template('<div id="announcement" data-dismiss-url="<%=url%>"><input type="hidden" name="csrfmiddlewaretoken" value="<%=csrftoken%>"</div>'); // jshint ignore:line
template = _.template('<div id="announcement" data-dismiss-url="<%=url%>">' +
'<input type="hidden" name="csrfmiddlewaretoken" value="<%=csrftoken%>">' +
'<a class="dismiss">Close</a></div>');

describe('AnnouncementView', function () {
beforeEach(function () {
Expand All @@ -22,11 +24,11 @@ define(['views/announcement-view', 'jquery', 'underscore'], function (Announceme
});
});

it('should call dismiss when the closed.bs.alert event is fired', function () {
it('should call dismiss when the dismiss element is clicked', function () {
spyOn(view, 'dismiss');

view.delegateEvents();
$el.trigger('closed.bs.alert');
$('.dismiss', $el).click();

expect(view.dismiss).toHaveBeenCalled();
});
Expand Down
8 changes: 7 additions & 1 deletion analytics_dashboard/static/js/views/announcement-view.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ define(['backbone', 'jquery'], function (Backbone, $) {

var AnnouncementView = Backbone.View.extend({
events: {
'closed.bs.alert': 'dismiss'
'click .dismiss': 'dismiss'
},

initialize: function () {
Expand All @@ -26,9 +26,15 @@ define(['backbone', 'jquery'], function (Backbone, $) {
}
});

// Record the dismissal on the server.
if (url) {
$.post(url);
}

// Remove the DOM elements
self.remove();

return true;
}
});

Expand Down
44 changes: 22 additions & 22 deletions analytics_dashboard/templates/announcements.html
Original file line number Diff line number Diff line change
Expand Up @@ -3,30 +3,30 @@
{% announcements as announcements_list %}

{% with announcements_list|first as announcement %}
{% if announcement %}
<div class="announcement-container" role="alert" data-dismiss-url="{{ announcement.dismiss_url }}"
data-view="announcement">
<div class="container"
{% csrf_token %}
<a class="dismiss" data-dismiss="alert">
<span aria-hidden="true"><i class="fa fa-times"></i></span><span class="sr-only">Close</span>
</a>
{% if announcement %}
<div class="announcement-container" data-dismiss-url="{{ announcement.dismiss_url }}"
data-view="announcement">
<div class="container">
{% csrf_token %}
<a class="dismiss">
<span aria-hidden="true"><i class="fa fa-times"></i></span><span class="sr-only">Close</span>
</a>

<div class="container">
<div class="row">
<div class="col-xs-1 col-md-1">
<div class="icon"><i class="fa fa-bullhorn"></i></div>
</div>
<div class="container">
<div class="row">
<div class="col-xs-1 col-md-1">
<div class="icon"><i class="fa fa-bullhorn"></i></div>
</div>

<div class="col-xs-9 col-md-9">
<div class="message">
<div class="title">{{ announcement.title }}</div>
<div class="body">{{ announcement.content|safe }}</div>
</div>
</div>
</div>
<div class="col-xs-9 col-md-9">
<div class="message">
<div class="title">{{ announcement.title }}</div>
<div class="body">{{ announcement.content|safe }}</div>
</div>
</div>
</div>
</div>
</div>
{% endif %}
</div>
</div>
{% endif %}
{% endwith %}

0 comments on commit 67c1110

Please sign in to comment.