Opened 8 years ago

Closed 8 years ago

RFE: Add Ability to Define a Default Display Mode

Reported by: Owned by: lordsauronthegreat@… Blackhex normal DiscussionPlugin normal 0.11

Description

Right now the forum defaults to a tree view, which can get crowded towards the right side of the screen after a while. It would be really nice if administrators could control the default display mode. I read through the code base, and I think I found where the default mode is set:

comment:1 Changed 8 years ago by Blackhex

• Status changed from new to assigned
• Summary changed from Add Ability to Define a Default Display Mode to RFE: Add Ability to Define a Default Display Mode

Ok. Actually the modification should be done at http://trac-hacks.org/browser/discussionplugin/0.11/tracdiscussion/api.py#L764 where will be test if display type is present in session and if not loaded from configuration option which will be defined at the top...

comment:2 Changed 8 years ago by lordsauronthegreat@…

Cool, I successfully isolated the right line of code. The more I read, the better I'm getting at this Python stuff. I still wouldn't feel safe trying to make a really big change - I'm liable to break something!

In the mean time, I managed to make an ugly nasty evil hack to do what I wanted by reorganizing the structure of that if-elseif-else block:

        # Prepare display of messages.
display = context.req.session.get('message-list-display')
self.data['display'] = display
if display == 'flat-asc':
self.data['messages'] = self.get_flat_messages(context,
topic['id'], visit_time)
elif display == 'flat-desc':
self.data['messages'] = self.get_flat_messages(context,
topic['id'], visit_time, 'ORDER BY time DESC')
elif display == 'tree':
self.data['messages'] = self.get_messages(context,
topic['id'], visit_time)
else:
self.data['messages'] = self.get_flat_messages(context,
topic['id'], visit_time)


I would not suggest it for anything beyond my site (which didn't blow up, so I guess it works).

comment:3 Changed 8 years ago by Blackhex

• Resolution set to fixed
• Status changed from assigned to closed

Implemented in r3518.

comment:4 Changed 8 years ago by lordsauronthegreat@…

Wow, man, you're amazing! Thanks!