Changeset 3518
- Timestamp:
- 04/16/08 02:39:45 (6 months ago)
- Files:
-
- discussionplugin/0.10/tracdiscussion/admin.py (modified) (2 diffs)
- discussionplugin/0.10/tracdiscussion/api.py (modified) (6 diffs)
- discussionplugin/0.10/tracdiscussion/core.py (modified) (2 diffs)
- discussionplugin/0.10/tracdiscussion/wiki.py (modified) (2 diffs)
- discussionplugin/0.11/tracdiscussion/api.py (modified) (5 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
discussionplugin/0.10/tracdiscussion/admin.py
r3373 r3518 19 19 implements(IAdminPageProvider) 20 20 21 # Extension points.22 discussion_manipulators = ExtensionPoint(IDiscussionManipulator)23 24 21 # IAdminPageProvider 25 22 def get_admin_pages(self, req): … … 41 38 42 39 # Retrun page content 43 api = DiscussionApi(self, req)40 api = self.env[DiscussionApi] 44 41 return api.render_discussion(req) discussionplugin/0.10/tracdiscussion/api.py
r3373 r3518 4 4 5 5 from trac.core import * 6 from trac.config import Option 6 7 from trac.web.chrome import add_stylesheet 7 8 from trac.wiki import wiki_to_html, wiki_to_oneliner … … 32 33 ticket. Therefore, a return value of `[]` means everything is OK.""" 33 34 34 class DiscussionApi(object): 35 def __init__(self, component, req): 36 self.env = component.env 37 self.log = component.log 38 self.discussion_manipulators = component.discussion_manipulators 35 class DiscussionApi(Component): 36 37 # Extension points. 38 discussion_manipulators = ExtensionPoint(IDiscussionManipulator) 39 40 default_display = Option('discussion', 'default_display', 'tree', 41 'Default display mode of topic message list.') 42 forum_sort = Option('discussion', 'forum_sort', 'id', 'Column by which will' + 43 ' be sorted forum lists. Possible values are: id group name subject' + 44 ' time moderators description topics replies lasttopic lastreply') 45 forum_sort_direction = Option('discussion', 'forum_sort_direction', 'asc', 46 'Direction of forum lists sorting. Possible values are: asc desc.') 47 topic_sort = Option('discussion', 'topic_sort', 'id', 'Column by which will' + 48 ' be sorted topic lists. Possible values are: id forum subject time' + 49 ' author body replies lastreply.') 50 topic_sort_direction = Option('discussion', 'topic_sort_direction', 'asc', 51 'Direction of topic lists sorting. Possible values are: asc desc.') 39 52 40 53 # Main request processing function … … 390 403 391 404 # Get form values 392 order = req.args.get('order') or 'id'393 desc = req.args.get('desc') 405 order = req.args.get('order') or self.forum_sort 406 desc = req.args.get('desc') or self.forum_sort_direction 394 407 395 408 # Display forums. … … 404 417 405 418 # Get form values 406 order = req.args.get('order') or 'id'407 desc = req.args.get('desc') 419 order = req.args.get('order') or self.forum_sort 420 desc = req.args.get('desc') or self.forum_sort_direction 408 421 409 422 # Display forums. … … 510 523 511 524 # Get form values 512 order = req.args.get('order') or 'id'513 desc = req.args.get('desc') 525 order = req.args.get('order') or self.topic_sort 526 desc = req.args.get('desc') or self.topic_sort_direction 514 527 515 528 # Display topics. … … 796 809 797 810 # Prepare display of messages 798 display = req.session.get('message-list-display') 811 display = req.session.get('message-list-display') or \ 812 self.default_display 799 813 req.hdf['discussion.display'] = display 800 814 if display == 'flat-asc': 801 815 req.hdf['discussion.messages'] = self.get_flat_messages(req, cursor, 802 816 topic['id'], visit_time) 803 elif display == 'flat-desc' :817 elif display == 'flat-desc' or display == 'flat': 804 818 req.hdf['discussion.messages'] = self.get_flat_messages(req, cursor, 805 819 topic['id'], visit_time, 'ORDER BY time DESC') 806 el se:820 elif display == 'tree' or display == '': 807 821 req.hdf['discussion.messages'] = self.get_messages(req, cursor, 808 822 topic['id'], visit_time) 823 else: 824 raise TracError('Unsupported display mode: %s' % (display)) 809 825 810 826 # Get one item functions discussionplugin/0.10/tracdiscussion/core.py
r3373 r3518 21 21 IPermissionRequestor) 22 22 23 # Extension points. 24 discussion_manipulators = ExtensionPoint(IDiscussionManipulator) 25 23 # Configuration options. 26 24 title = Option('discussion', 'title', 'Discussion', 27 25 'Main navigation bar button title.') … … 78 76 79 77 # Return page content 80 api = DiscussionApi(self, req)78 api = self.env[DiscussionApi] 81 79 return api.render_discussion(req) discussionplugin/0.10/tracdiscussion/wiki.py
r3464 r3518 22 22 """ 23 23 implements(IWikiSyntaxProvider, IWikiMacroProvider, IRequestFilter) 24 25 # Extension points.26 discussion_manipulators = ExtensionPoint(IDiscussionManipulator)27 24 28 25 # IWikiSyntaxProvider methods … … 62 59 63 60 # Get topic by subject 64 api = DiscussionApi(self, req)61 api = self.env[DiscussionApi] 65 62 topic = api.get_topic_by_subject(cursor, subject) 66 63 self.log.debug('subject: %s' % (subject,)) discussionplugin/0.11/tracdiscussion/api.py
r3160 r3518 5 5 from trac.core import * 6 6 from trac.mimeview import Context 7 from trac.config import Option 7 8 from trac.perm import PermissionError 8 9 from trac.web.chrome import add_stylesheet, add_script, add_ctxtnav … … 18 19 19 20 class 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.') 20 34 21 35 # Main request processing function. … … 387 401 388 402 # 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 391 405 392 406 # Display forums. … … 506 520 507 521 # 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 510 524 511 525 # Display topics. … … 762 776 763 777 # 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 765 780 self.data['display'] = display 766 781 if display == 'flat-asc': 767 782 self.data['messages'] = self.get_flat_messages(context, 768 783 topic['id'], visit_time) 769 elif display == 'flat-desc' :784 elif display == 'flat-desc' or display == 'flat': 770 785 self.data['messages'] = self.get_flat_messages(context, 771 786 topic['id'], visit_time, 'ORDER BY time DESC') 772 el se:787 elif display == 'tree' or display == '': 773 788 self.data['messages'] = self.get_messages(context, topic['id'], 774 789 visit_time) 790 else: 791 raise TracError('Unsupported display mode: %s' % (display)) 775 792 776 793 # Get one item functions.
