# HG changeset patch # User Goffi # Date 1450463833 -3600 # Node ID c500bdb0c2168babd8f8f2c1d4ff436d8b1e30aa # Parent 9e1e6d5241f9373841d6c76501890685c72c6878 browser (blog): fixed comments ordering diff -r 9e1e6d5241f9 -r c500bdb0c216 src/browser/sat_browser/blog.py --- a/src/browser/sat_browser/blog.py Tue Dec 15 20:04:03 2015 +0100 +++ b/src/browser/sat_browser/blog.py Fri Dec 18 19:37:13 2015 +0100 @@ -333,7 +333,7 @@ if self._current_comment is None: if not self.item.comments_service or not self.item.comments_node: log.warning("Invalid service and node for comments, can't create a comment") - self._current_comment = self.addEntry(editable=True, service=self.item.comments_service, node=self.item.comments_node) + self._current_comment = self.addEntry(editable=True, service=self.item.comments_service, node=self.item.comments_node, edit_entry=True) self.blog.setSelectedEntry(self._current_comment, True) def _changeMode(self, original_content, text): @@ -375,8 +375,10 @@ def update(self, entry=None): """Update comments""" self._createCommentsPanel() - self.entries.sort(key=lambda entry: entry.item.published, reverse=True) - for idx, entry in enumerate(self.entries): + self.entries.sort(key=lambda entry: entry.item.published) + # we put edit_entry at the end + edit_entry = [] if self.edit_entry is None else [self.edit_entry] + for idx, entry in enumerate(self.entries + edit_entry): if not entry.displayed: self.comments_panel.insert(entry, idx) entry.displayed = True @@ -417,7 +419,7 @@ self.setWidget(self.vpanel) if ((self._targets_type == C.ALL and self.host.mblog_available) or (self._targets_type == C.GROUP and self.host.groupblog_available)): - self.addEntry(editable=True, first=True) + self.addEntry(editable=True, edit_entry=True) self.getAll() @@ -435,11 +437,11 @@ self.entries.sort(key=lambda entry: entry.item.published, reverse=True) start_idx = 0 - if self._first_entry is not None: + if self.edit_entry is not None: start_idx = 1 - if not self._first_entry.displayed: - self.vpanel.insert(self._first_entry, 0) - self._first_entry.displayed = True + if not self.edit_entry.displayed: + self.vpanel.insert(self.edit_entry, 0) + self.edit_entry.displayed = True # XXX: enumerate is buggued in pyjamas (start is not used) # we have to use idx