Rushabh Mehta | 12852e7 | 2012-02-29 15:11:06 +0530 | [diff] [blame] | 1 | wn.pages['activity'].onload = function(wrapper) { |
Rushabh Mehta | 2146fd1 | 2012-04-17 12:40:37 +0530 | [diff] [blame] | 2 | wrapper.appframe = new wn.ui.AppFrame($(wrapper).find('.layout-appframe')); |
Rushabh Mehta | d3c9fb6 | 2012-12-21 18:27:40 +0530 | [diff] [blame] | 3 | wrapper.appframe.add_home_breadcrumb(); |
| 4 | wrapper.appframe.add_breadcrumb(wn.modules["Activity"].icon); |
Rushabh Mehta | 2146fd1 | 2012-04-17 12:40:37 +0530 | [diff] [blame] | 5 | wrapper.appframe.title('Activity'); |
Anand Doshi | aea8204 | 2012-10-15 15:30:56 +0530 | [diff] [blame] | 6 | |
Rushabh Mehta | f81a64e | 2012-03-07 18:19:41 +0530 | [diff] [blame] | 7 | var list = new wn.ui.Listing({ |
Rushabh Mehta | 2146fd1 | 2012-04-17 12:40:37 +0530 | [diff] [blame] | 8 | appframe: wrapper.appframe, |
Rushabh Mehta | 12852e7 | 2012-02-29 15:11:06 +0530 | [diff] [blame] | 9 | method: 'home.page.activity.activity.get_feed', |
| 10 | parent: $('#activity-list'), |
| 11 | render_row: function(row, data) { |
| 12 | new erpnext.ActivityFeed(row, data); |
| 13 | } |
| 14 | }); |
| 15 | list.run(); |
Anand Doshi | aea8204 | 2012-10-15 15:30:56 +0530 | [diff] [blame] | 16 | |
| 17 | // Build Report Button |
| 18 | if(wn.boot.profile.can_get_report.indexOf("Feed")!=-1) { |
| 19 | wrapper.appframe.add_button('Build Report', function() { |
| 20 | wn.set_route('Report2', "Feed"); |
| 21 | }, 'icon-th') |
| 22 | } |
Rushabh Mehta | 12852e7 | 2012-02-29 15:11:06 +0530 | [diff] [blame] | 23 | } |
| 24 | |
| 25 | erpnext.last_feed_date = false; |
| 26 | erpnext.ActivityFeed = Class.extend({ |
| 27 | init: function(row, data) { |
| 28 | this.scrub_data(data); |
| 29 | this.add_date_separator(row, data); |
Rushabh Mehta | 0db74a7 | 2012-12-07 15:47:32 +0530 | [diff] [blame] | 30 | $(row).append(repl('<div style="margin: 0px">\ |
Rushabh Mehta | b62bbc6 | 2012-10-03 18:32:10 +0530 | [diff] [blame] | 31 | <span class="avatar avatar-small"><img src="%(imgsrc)s" /></span> \ |
Rushabh Mehta | b4a2f4c | 2012-03-01 11:49:54 +0530 | [diff] [blame] | 32 | <span %(onclick)s class="label %(add_class)s">%(feed_type)s</span>\ |
| 33 | %(link)s %(subject)s <span class="user-info">%(by)s</span></div>', data)); |
Rushabh Mehta | 12852e7 | 2012-02-29 15:11:06 +0530 | [diff] [blame] | 34 | }, |
| 35 | scrub_data: function(data) { |
Rushabh Mehta | 204e77d | 2012-02-29 19:09:20 +0530 | [diff] [blame] | 36 | data.by = wn.user_info(data.owner).fullname; |
Rushabh Mehta | 24a6961 | 2012-12-11 15:58:19 +0530 | [diff] [blame] | 37 | data.imgsrc = wn.utils.get_file_link(wn.user_info(data.owner).image); |
Rushabh Mehta | 12852e7 | 2012-02-29 15:11:06 +0530 | [diff] [blame] | 38 | |
| 39 | // feedtype |
| 40 | if(!data.feed_type) { |
Rushabh Mehta | 291449b | 2012-12-13 12:53:21 +0530 | [diff] [blame] | 41 | data.feed_type = wn._(data.doc_type); |
Rushabh Mehta | 12852e7 | 2012-02-29 15:11:06 +0530 | [diff] [blame] | 42 | data.add_class = "label-info"; |
| 43 | data.onclick = repl('onclick="window.location.href=\'#!List/%(feed_type)s\';"', data) |
| 44 | } |
| 45 | |
| 46 | // color for comment |
| 47 | if(data.feed_type=='Comment') { |
| 48 | data.add_class = "label-important"; |
| 49 | } |
| 50 | |
Rushabh Mehta | 79ae165 | 2012-02-29 15:23:25 +0530 | [diff] [blame] | 51 | if(data.feed_type=='Assignment') { |
Rushabh Mehta | 1572adf | 2012-02-29 15:19:20 +0530 | [diff] [blame] | 52 | data.add_class = "label-warning"; |
| 53 | } |
| 54 | |
Rushabh Mehta | 12852e7 | 2012-02-29 15:11:06 +0530 | [diff] [blame] | 55 | // link |
| 56 | if(data.doc_name && data.feed_type!='Login') { |
| 57 | data.link = repl('<a href="#!Form/%(doc_type)s/%(doc_name)s">%(doc_name)s</a>', data) |
Rushabh Mehta | 0db74a7 | 2012-12-07 15:47:32 +0530 | [diff] [blame] | 58 | } else { |
| 59 | data.link = ""; |
Rushabh Mehta | 12852e7 | 2012-02-29 15:11:06 +0530 | [diff] [blame] | 60 | } |
| 61 | }, |
| 62 | add_date_separator: function(row, data) { |
| 63 | var date = dateutil.str_to_obj(data.modified); |
| 64 | var last = erpnext.last_feed_date; |
| 65 | |
Rushabh Mehta | e45ffd6 | 2012-03-02 16:25:22 +0530 | [diff] [blame] | 66 | if((last && dateutil.obj_to_str(last) != dateutil.obj_to_str(date)) || (!last)) { |
| 67 | var diff = dateutil.get_day_diff(new Date(), date); |
Rushabh Mehta | 12852e7 | 2012-02-29 15:11:06 +0530 | [diff] [blame] | 68 | if(diff < 1) { |
| 69 | pdate = 'Today'; |
Rushabh Mehta | e45ffd6 | 2012-03-02 16:25:22 +0530 | [diff] [blame] | 70 | } else if(diff < 2) { |
| 71 | pdate = 'Yesterday'; |
| 72 | } else { |
Rushabh Mehta | 12852e7 | 2012-02-29 15:11:06 +0530 | [diff] [blame] | 73 | pdate = dateutil.global_date_format(date); |
| 74 | } |
| 75 | $(row).html(repl('<div class="date-sep">%(date)s</div>', {date: pdate})); |
| 76 | } |
| 77 | erpnext.last_feed_date = date; |
| 78 | } |
| 79 | }) |