root/discussionplugin/0.9/tracdiscussion/admin.py

Revision 1253, 1.4 kB (checked in by Blackhex, 2 years ago)

DiscussionPlugin:

Some changes from 0.10 branch ported to 0.9

Line 
1 from tracdiscussion.api import *
2 from trac.core import *
3 from trac.perm import IPermissionRequestor
4 from trac.web.chrome import add_stylesheet
5 from trac.wiki import wiki_to_html, wiki_to_oneliner
6 from webadmin.web_ui import IAdminPageProvider
7 import time
8
9 class DiscussionWebAdmin(Component):
10     """
11         The webadmin module implements discussion plugin administration
12         via WebAdminPlugin.
13     """
14     implements(IAdminPageProvider)
15
16     # IAdminPageProvider
17     def get_admin_pages(self, req):
18         if req.perm.has_permission('DISCUSSION_ADMIN'):
19             yield ('discussion', 'Discussion System', 'group', 'Forum Groups')
20             yield ('discussion', 'Discussion System', 'forum', 'Forums')
21
22     def process_admin_request(self, req, category, page, path_info):
23         # Prepare request object
24         if page == 'forum':
25             if not req.args.has_key('group'):
26                 req.args['group'] = '-1'
27             if path_info:
28                 req.args['forum'] = path_info
29         else:
30             if path_info:
31                 req.args['group'] = path_info
32         req.args['component'] = 'admin'
33
34         # Get database access
35         db = self.env.get_db_cnx()
36         cursor = db.cursor()
37
38         # Retrun page content
39         api = DiscussionApi(self, req)
40         content = api.render_discussion(req, cursor)
41         db.commit()
42         return content
Note: See TracBrowser for help on using the browser.