blob: 7df834e94ff7523c6439feff71bcb6b5e607d967 [file] [log] [blame]
Rushabh Mehta12852e72012-02-29 15:11:06 +05301wn.pages['activity'].onload = function(wrapper) {
Rushabh Mehta2146fd12012-04-17 12:40:37 +05302 wrapper.appframe = new wn.ui.AppFrame($(wrapper).find('.layout-appframe'));
3 wrapper.appframe.title('Activity');
Rushabh Mehtaf81a64e2012-03-07 18:19:41 +05304 var list = new wn.ui.Listing({
Rushabh Mehta2146fd12012-04-17 12:40:37 +05305 appframe: wrapper.appframe,
Rushabh Mehta12852e72012-02-29 15:11:06 +05306 method: 'home.page.activity.activity.get_feed',
7 parent: $('#activity-list'),
8 render_row: function(row, data) {
9 new erpnext.ActivityFeed(row, data);
10 }
11 });
12 list.run();
13}
14
15erpnext.last_feed_date = false;
16erpnext.ActivityFeed = Class.extend({
17 init: function(row, data) {
18 this.scrub_data(data);
19 this.add_date_separator(row, data);
Rushabh Mehtab4a2f4c2012-03-01 11:49:54 +053020 $(row).append(sprintf('<div style="margin: 0px">\
Rushabh Mehtadf33cb32012-03-01 13:44:09 +053021 <span class="avatar-small"><img src="%(imgsrc)s" /></span> \
Rushabh Mehtab4a2f4c2012-03-01 11:49:54 +053022 <span %(onclick)s class="label %(add_class)s">%(feed_type)s</span>\
23 %(link)s %(subject)s <span class="user-info">%(by)s</span></div>', data));
Rushabh Mehta12852e72012-02-29 15:11:06 +053024 },
25 scrub_data: function(data) {
Rushabh Mehta204e77d2012-02-29 19:09:20 +053026 data.by = wn.user_info(data.owner).fullname;
Rushabh Mehtab4a2f4c2012-03-01 11:49:54 +053027 data.imgsrc = wn.user_info(data.owner).image;
Rushabh Mehta12852e72012-02-29 15:11:06 +053028
29 // feedtype
30 if(!data.feed_type) {
31 data.feed_type = get_doctype_label(data.doc_type);
32 data.add_class = "label-info";
33 data.onclick = repl('onclick="window.location.href=\'#!List/%(feed_type)s\';"', data)
34 }
35
36 // color for comment
37 if(data.feed_type=='Comment') {
38 data.add_class = "label-important";
39 }
40
Rushabh Mehta79ae1652012-02-29 15:23:25 +053041 if(data.feed_type=='Assignment') {
Rushabh Mehta1572adf2012-02-29 15:19:20 +053042 data.add_class = "label-warning";
43 }
44
Rushabh Mehta12852e72012-02-29 15:11:06 +053045 // link
46 if(data.doc_name && data.feed_type!='Login') {
47 data.link = repl('<a href="#!Form/%(doc_type)s/%(doc_name)s">%(doc_name)s</a>', data)
48 }
49 },
50 add_date_separator: function(row, data) {
51 var date = dateutil.str_to_obj(data.modified);
52 var last = erpnext.last_feed_date;
53
Rushabh Mehtae45ffd62012-03-02 16:25:22 +053054 if((last && dateutil.obj_to_str(last) != dateutil.obj_to_str(date)) || (!last)) {
55 var diff = dateutil.get_day_diff(new Date(), date);
Rushabh Mehta12852e72012-02-29 15:11:06 +053056 if(diff < 1) {
57 pdate = 'Today';
Rushabh Mehtae45ffd62012-03-02 16:25:22 +053058 } else if(diff < 2) {
59 pdate = 'Yesterday';
60 } else {
Rushabh Mehta12852e72012-02-29 15:11:06 +053061 pdate = dateutil.global_date_format(date);
62 }
63 $(row).html(repl('<div class="date-sep">%(date)s</div>', {date: pdate}));
64 }
65 erpnext.last_feed_date = date;
66 }
67})