Show
Ignore:
Timestamp:
04/16/08 02:39:45 (9 months ago)
Author:
Blackhex
Message:
  • IMPORTANT!!! Now DiscussionApi? is component even in 0.10 branch, so enable it!
  • Default display mode configuration option added (#2911).
  • Default forum and topic sorting configuration options added. (#2910).
Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • discussionplugin/0.11/tracdiscussion/api.py

    r3160 r3518  
    55from trac.core import * 
    66from trac.mimeview import Context 
     7from trac.config import Option 
    78from trac.perm import PermissionError 
    89from trac.web.chrome import add_stylesheet, add_script, add_ctxtnav 
     
    1819 
    1920class DiscussionApi(Component): 
     21 
     22    default_display = Option('discussion', 'default_display', 'tree', 
     23      'Default display mode of topic message list.') 
     24    forum_sort = Option('discussion', 'forum_sort', 'id', 'Column by which will' + 
     25      ' be sorted forum lists. Possible values are: id group name subject' + 
     26      ' time moderators description topics replies lasttopic lastreply') 
     27    forum_sort_direction = Option('discussion', 'forum_sort_direction', 'asc', 
     28      'Direction of forum lists sorting. Possible values are: asc desc.') 
     29    topic_sort = Option('discussion', 'topic_sort', 'id', 'Column by which will' + 
     30      ' be sorted topic lists. Possible values are: id forum subject time' + 
     31      ' author body replies lastreply.') 
     32    topic_sort_direction = Option('discussion', 'topic_sort_direction', 'asc', 
     33      'Direction of topic lists sorting. Possible values are: asc desc.') 
    2034 
    2135    # Main request processing function. 
     
    387401 
    388402                # Get form values. 
    389                 order = context.req.args.get('order') or 'id' 
    390                 desc = context.req.args.get('desc') 
     403                order = context.req.args.get('order') or self.forum_sort 
     404                desc = context.req.args.get('desc') or self.forum_sort_direction 
    391405 
    392406                # Display forums. 
     
    506520 
    507521                # Get form values 
    508                 order = context.req.args.get('order') or 'id' 
    509                 desc = context.req.args.get('desc') 
     522                order = context.req.args.get('order') or self.topic_sort 
     523                desc = context.req.args.get('desc') or self.topic_sort_direction 
    510524 
    511525                # Display topics. 
     
    762776 
    763777        # Prepare display of messages. 
    764         display = context.req.session.get('message-list-display') 
     778        display = context.req.session.get('message-list-display') or \ 
     779          self.default_display 
    765780        self.data['display'] = display 
    766781        if display == 'flat-asc': 
    767782            self.data['messages'] = self.get_flat_messages(context, 
    768783              topic['id'], visit_time) 
    769         elif display == 'flat-desc'
     784        elif display == 'flat-desc' or display == 'flat'
    770785            self.data['messages'] = self.get_flat_messages(context, 
    771786              topic['id'], visit_time, 'ORDER BY time DESC') 
    772         else
     787        elif display == 'tree' or display == ''
    773788            self.data['messages'] = self.get_messages(context, topic['id'], 
    774789              visit_time) 
     790        else: 
     791            raise TracError('Unsupported display mode: %s' % (display)) 
    775792 
    776793    # Get one item functions.