blob: 77e4ab92eabeb024b15c353d22c9e0fcc32c92b9 [file] [log] [blame]
Rushabh Mehta12852e72012-02-29 15:11:06 +05301wn.pages['activity'].onload = function(wrapper) {
2 var list = new wn.widgets.Listing({
3 method: 'home.page.activity.activity.get_feed',
4 parent: $('#activity-list'),
5 render_row: function(row, data) {
6 new erpnext.ActivityFeed(row, data);
7 }
8 });
9 list.run();
10}
11
12erpnext.last_feed_date = false;
13erpnext.ActivityFeed = Class.extend({
14 init: function(row, data) {
15 this.scrub_data(data);
16 this.add_date_separator(row, data);
17 $(row).append(repl('<span %(onclick)s\
18 class="label %(add_class)s">%(feed_type)s</span>\
19 %(link)s %(subject)s <span class="user-info">%(by)s</span>', data));
20 },
21 scrub_data: function(data) {
22 data.by = wn.boot.user_fullnames[data.owner];
23
24 // feedtype
25 if(!data.feed_type) {
26 data.feed_type = get_doctype_label(data.doc_type);
27 data.add_class = "label-info";
28 data.onclick = repl('onclick="window.location.href=\'#!List/%(feed_type)s\';"', data)
29 }
30
31 // color for comment
32 if(data.feed_type=='Comment') {
33 data.add_class = "label-important";
34 }
35
36 // link
37 if(data.doc_name && data.feed_type!='Login') {
38 data.link = repl('<a href="#!Form/%(doc_type)s/%(doc_name)s">%(doc_name)s</a>', data)
39 }
40 },
41 add_date_separator: function(row, data) {
42 var date = dateutil.str_to_obj(data.modified);
43 var last = erpnext.last_feed_date;
44
45 if((last && dateutil.get_diff(last, date)>1) || (!last)) {
46 var pdate = dateutil.comment_when(date);
47 var diff = dateutil.get_diff(new Date(), date);
48 if(diff < 1) {
49 pdate = 'Today';
50 } else if(diff > 6) {
51 pdate = dateutil.global_date_format(date);
52 }
53 $(row).html(repl('<div class="date-sep">%(date)s</div>', {date: pdate}));
54 }
55 erpnext.last_feed_date = date;
56 }
57})