Changeset 1009

Show
Ignore:
Timestamp:
07/08/06 09:39:04 (3 years ago)
Author:
Blackhex
Message:

DiscussionPlugin:

  • Move topic feature added.
Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • discussionplugin/0.9/setup.py

    r1006 r1009  
    66setup( 
    77  name = 'TracDiscussion', 
    8   version = '0.3', 
     8  version = '0.4', 
    99  packages = ['tracdiscussion', 'tracdiscussion.db'], 
    1010  package_data = {'tracdiscussion' : ['templates/*.cs', 'htdocs/css/*.css']}, 
  • discussionplugin/0.9/tracdiscussion/admin.py

    r1006 r1009  
    138138 
    139139            # Set new group 
    140             set_group(cursor, self.env, self.log, forum, group) 
     140            set_group(cursor, self.log, forum, group) 
    141141 
    142142            # Display forum list 
  • discussionplugin/0.9/tracdiscussion/api.py

    r1006 r1009  
    6262# Set item functions 
    6363 
    64 def set_group(cursor, env, log, forum, group): 
     64def set_group(cursor, log, forum, group): 
    6565    if not group: 
    6666        group = '0' 
     
    6969    cursor.execute(sql, (group, forum)) 
    7070 
    71 # Get list of items functions 
     71def set_forum(cursor, log, topic, forum): 
     72    sql = "UPDATE topic SET forum = %s WHERE id = %s" 
     73    log.debug(sql) 
     74    cursor.execute(sql, (forum, topic)) 
     75    sql = "UPDATE message SET forum = %s WHERE topic = %s" 
     76    log.debug(sql) 
     77    cursor.execute(sql, (forum, topic)) 
    7278 
    7379def get_groups(cursor, env, req, log): 
  • discussionplugin/0.9/tracdiscussion/core.py

    r1006 r1009  
    112112                else: 
    113113                    mode = 'message-delete' 
     114            elif action == 'move': 
     115                mode = 'topic-move' 
     116            elif action == 'post-move': 
     117                if submit: 
     118                    mode = 'topic-post-move' 
     119                else: 
     120                    mode = 'message-list' 
    114121            else: 
    115122                mode = 'message-list' 
     
    236243              self.log, forum['id']) 
    237244            mode = 'topic-list' 
     245        elif mode == 'topic-move': 
     246            req.perm.assert_permission('DISCUSSION_MODERATE') 
     247 
     248            # Check if user can moderate 
     249            if not is_moderator: 
     250                raise PermissionError('Forum moderate') 
     251 
     252            # Display change forum form 
     253            req.hdf['discussion.href'] = self.env.href.discussion(forum['id'], topic['id']) 
     254            req.hdf['discussion.forums'] = get_forums(cursor, self.env, req, self.log) 
     255        elif mode == 'topic-post-move': 
     256            req.perm.assert_permission('DISCUSSION_MODERATE') 
     257 
     258            # Check if user can moderate 
     259            if not is_moderator: 
     260                raise PermissionError('Forum moderate') 
     261 
     262            # Get form values 
     263            new_forum = req.args.get('new_forum') 
     264            self.log.debug(new_forum) 
     265 
     266            # Set new forum 
     267            set_forum(cursor, self.log, topic['id'], new_forum) 
     268 
     269            # Display topics 
     270            req.hdf['discussion.href'] = self.env.href.discussion(forum['id']) 
     271            req.hdf['discussion.topics'] = get_topics(cursor, self.env, req, 
     272              self.log, forum['id']) 
     273            mode = 'topic-list' 
    238274        elif mode == 'topic-delete': 
    239275            req.perm.assert_permission('DISCUSSION_MODERATE') 
  • discussionplugin/0.9/tracdiscussion/templates/message-list.cs

    r909 r1009  
    140140      <input type="hidden" name="reply" value="-1"> 
    141141    </form> 
     142    <form method="get" action="<?cs var:discussion.href ?>"> 
     143      <input type="submit" name="movetopic" value="Move Topic"/> 
     144      <input type="hidden" name="discussion_action" value="move"/> 
     145    </form> 
    142146  </div> 
    143147<?cs /if ?>