Changeset 1016

Show
Ignore:
Timestamp:
07/12/06 09:08:36 (2 years ago)
Author:
Blackhex
Message:

DiscussionPlugin:

Edit forums and groups attributes functionality.

Files:

Legend:

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

    r1009 r1016  
    3434        # Get action 
    3535        action = req.args.get('discussion_action') 
     36        submit = req.args.has_key('submit'); 
     37        cancel = req.args.has_key('cancel'); 
    3638 
    3739        # Determine mode 
     
    3941            if action == 'post-add': 
    4042                mode = 'group-post-add' 
     43            elif action == 'post-edit': 
     44                if submit: 
     45                    mode = 'group-post-edit' 
     46                else: 
     47                    mode = 'group-admin' 
    4148            elif action == 'delete': 
    4249                mode = 'group-delete' 
     
    4653            if action == 'post-add': 
    4754                mode = 'forum-post-add' 
     55            elif action == 'post-edit': 
     56                if submit: 
     57                    mode = 'forum-post-edit' 
     58                else: 
     59                    mode = 'forum-admin' 
    4860            elif action == 'delete': 
    4961                mode = 'forum-delete' 
    50             elif action == 'change-group': 
    51                 mode = 'forum-change-group' 
    5262            else: 
    5363                mode = 'forum-admin' 
     
    5565        # Perform mode action 
    5666        if mode == 'group-admin': 
     67            # Get selected group 
     68            if path_info: 
     69                req.hdf['discussion.group'] = get_group(cursor, self.env, req, 
     70                  self.log, path_info) 
     71 
    5772            # Display group list 
    5873            req.hdf['discussion.groups'] = get_groups(cursor, self.env, req, 
     
    6580            # Add new group 
    6681            add_group(cursor, self.log, name, description) 
     82 
     83            # Display group list 
     84            req.hdf['discussion.groups'] = get_groups(cursor, self.env, req, 
     85              self.log) 
     86            mode = 'group-admin' 
     87        elif mode == 'group-post-edit': 
     88            # Get form values 
     89            group = req.args.get('group') 
     90            name = req.args.get('name') 
     91            description = req.args.get('description') 
     92 
     93            # Add new group 
     94            edit_group(cursor, self.log, group, name, description) 
    6795 
    6896            # Display group list 
     
    86114            mode = 'group-admin' 
    87115        elif mode == 'forum-admin': 
     116            # Get selected group 
     117            if path_info: 
     118                req.hdf['discussion.forum'] = get_forum(cursor, self.env, req, 
     119                  self.log, path_info) 
     120 
    88121            # Display forum list 
    89122            req.hdf['discussion.forums'] = get_forums(cursor, self.env, req, 
     
    115148              self.log) 
    116149            mode = 'forum-admin' 
     150        elif mode == 'forum-post-edit': 
     151            # Get form values 
     152            forum = req.args.get('forum') 
     153            name = req.args.get('name') 
     154            subject = req.args.get('subject') 
     155            description = req.args.get('description') 
     156            moderators = req.args.get('moderators') 
     157            group = req.args.get('group') 
     158 
     159            if not moderators: 
     160                moderators = [] 
     161            if not isinstance(moderators, list): 
     162                moderators = [moderators] 
     163 
     164            # Add new forum 
     165            edit_forum(cursor, self.log, forum, name, subject, description, moderators, group) 
     166 
     167            # Display forum list 
     168            req.hdf['discussion.forums'] = get_forums(cursor, self.env, req, 
     169              self.log) 
     170            req.hdf['discussion.groups'] = get_groups(cursor, self.env, req, 
     171              self.log) 
     172            mode = 'forum-admin' 
    117173        elif mode == 'forum-delete': 
    118174            # Get form values 
     
    132188              self.log) 
    133189            mode = 'forum-admin' 
    134         elif mode == 'forum-change-group': 
    135             # Get form values 
    136             forum = req.args.get('forum') 
    137             group = req.args.get('group') 
    138  
    139             # Set new group 
    140             set_group(cursor, self.log, forum, group) 
    141  
    142             # Display forum list 
    143             req.hdf['discussion.forums'] = get_forums(cursor, self.env, req, 
    144               self.log) 
    145             req.hdf['discussion.groups'] = get_groups(cursor, self.env, req, 
    146               self.log) 
    147             mode = 'forum-admin' 
    148190 
    149191        # Fill template values and return mode template 
  • discussionplugin/0.9/tracdiscussion/api.py

    r1009 r1016  
    4848 
    4949def get_forum(cursor, env, req, log, id): 
    50     columns = ('name', 'moderators', 'id', 'time', 'subject', 'description') 
    51     sql = "SELECT name, moderators, id, time, subject, description FROM" \ 
    52       " forum WHERE id = %s" 
     50    columns = ('name', 'moderators', 'id', 'time', 'subject', 'description', 
     51      'group') 
     52    sql = "SELECT name, moderators, id, time, subject, description, forum_group" \ 
     53      " FROM forum WHERE id = %s" 
    5354    log.debug(sql) 
    5455    cursor.execute(sql, (id,)) 
     
    5657        row = dict(zip(columns, row)) 
    5758        row['moderators'] = row['moderators'].split(' ') 
     59        row['description'] = wiki_to_oneliner(row['description'], env) 
     60        return row 
     61    return None 
     62 
     63def get_group(cursor, env, req, log, id): 
     64    columns = ('id', 'name', 'description') 
     65    sql = "SELECT id, name, description FROM forum_group WHERE id = %s" 
     66    log.debug(sql) 
     67    cursor.execute(sql, (id,)) 
     68    for row in cursor: 
     69        row = dict(zip(columns, row)) 
     70        row['name'] = wiki_to_oneliner(row['name'], env) 
    5871        row['description'] = wiki_to_oneliner(row['description'], env) 
    5972        return row 
     
    7790    cursor.execute(sql, (forum, topic)) 
    7891 
     92# Edit all functons 
     93def edit_group(cursor, log, group, name, description): 
     94    sql = "UPDATE forum_group SET name = %s, description = %s WHERE id = %s" 
     95    log.debug(sql) 
     96    cursor.execute(sql, (name, description, group)) 
     97 
     98def edit_forum(cursor, log, forum, name, subject, description, moderators, group): 
     99    moderators = ' '.join(moderators) 
     100    if not group: 
     101        group = '0' 
     102    sql = "UPDATE forum SET name = %s, subject = %s, description = %s," \ 
     103      " moderators = %s, forum_group = %s WHERE id = %s" 
     104    log.debug(sql) 
     105    cursor.execute(sql, (name, subject, description, moderators, group, forum)) 
     106 
     107# Get list functions 
     108 
    79109def get_groups(cursor, env, req, log): 
    80110    # Get count of forums without group 
     
    99129        row['description'] = wiki_to_oneliner(row['description'], env) 
    100130        groups.append(row) 
    101     log.debug(groups) 
    102131    return groups 
    103132 
     
    187216    users = [] 
    188217    for user in env.get_known_users(): 
    189         log.debug(user) 
    190218        users.append(user[0]) 
    191219    return users 
  • discussionplugin/0.9/tracdiscussion/core.py

    r1009 r1016  
    160160            req.hdf['discussion.forums'] = get_forums(cursor, self.env, req, 
    161161              self.log) 
    162             self.log.debug(req.hdf.get('discussion.forums')) 
    163162        elif mode == 'forum-add': 
    164163            req.perm.assert_permission('DISCUSSION_MODIFY') 
     
    262261            # Get form values 
    263262            new_forum = req.args.get('new_forum') 
    264             self.log.debug(new_forum) 
    265263 
    266264            # Set new forum 
  • discussionplugin/0.9/tracdiscussion/htdocs/css/admin.css

    r836 r1016  
    1 /* Forum group list. */ 
    2 .group-list 
     1/* General styles */ 
     2.listing 
    33{ 
    4   overflow: auto
     4  text-align: left
    55} 
    66 
    7 .group-list td.forums 
     7.listing tr > td 
     8
     9  margin: 0em !important; 
     10  padding: 0em !important; 
     11  height: 100%; 
     12
     13 
     14.listing tr > td > a 
     15
     16  display: block; 
     17  height: 100%; 
     18  padding: 0.2em; 
     19  margin: 0em !important; 
     20  border: none; 
     21
     22 
     23.listing td.moderators, .listing td.group 
    824{ 
    925  text-align: center; 
    1026} 
    11  
    12 /* Forum list */ 
    13 .forum-list 
    14 { 
    15   overflow: auto; 
    16 } 
    17  
    18 .forum-list td.moderators 
    19 { 
    20   text-align: center; 
    21 } 
  • discussionplugin/0.9/tracdiscussion/htdocs/css/discussion.css

    r846 r1016  
    1818  height: 100%; 
    1919  padding: 0.5em; 
    20   margin: 0em
     20  margin: 0em !important
    2121  border: none; 
    2222} 
  • discussionplugin/0.9/tracdiscussion/templates/forum-add.cs

    r1006 r1016  
    4141      </div> 
    4242    <?cs else ?> 
    43       <input type="hidden" name="group" value=""/> 
     43      <input type="hidden" name="group" value="0"/> 
    4444    <?cs /if ?> 
    4545    <div class="buttons"> 
  • discussionplugin/0.9/tracdiscussion/templates/forum-admin.cs

    r1006 r1016  
    1 <script type="text/javascript"> 
    2   function submit_group_change(forum) 
    3   { 
    4     var forum_list_form = document.getElementById('forum-list-form'); 
    5     var group_select = document.getElementById('group-select-' + forum); 
    6     forum_list_form.discussion_action.value = 'change-group'; 
    7     forum_list_form.group.value = group_select.value; 
    8     forum_list_form.forum.value = forum; 
    9     forum_list_form.submit(); 
    10   } 
    11 </script> 
    12  
    131<h2>Forums</h2> 
    142 
    15 <form class="addnew" method="post"> 
    16   <fieldset> 
    17     <legend> 
    18        Add Forum: 
    19     </legend> 
    20     <div class="field"> 
    21       <label for="name">Name:</label><br/> 
    22       <input type="text" name="name" value=""/><br/> 
    23     </div> 
    24     <div class="field"> 
    25       <label for="subject">Subject:</label><br/> 
    26       <input type="text" name="subject" value=""/><br/> 
    27     </div> 
    28     <div class="field"> 
    29       <label for="description">Description:</label><br/> 
    30       <input type="text" name="description" value=""/><br/> 
    31     </div> 
    32     <div class="field"> 
    33       <label for="moderators">Moderators:</label><br/> 
    34       <?cs if:discussion.users.0 ?> 
    35         <select name="moderators" multiple="on"> 
    36           <?cs each:user = discussion.users ?> 
    37             <option value="<?cs var:user ?>"><?cs var:user ?></option> 
    38           <?cs /each ?> 
    39         </select><br/> 
     3<?cs if:discussion.forum.id ?> 
     4  <form id="edit-forum-form" class="addnew" method="post" action="<?cs var:discussion.href ?>"> 
     5    <fieldset> 
     6      <legend> 
     7        Edit Forum: 
     8      </legend> 
     9      <div class="field"> 
     10        <label for="name">Name:</label><br/> 
     11        <input type="text" name="name" value="<?cs var:discussion.forum.name ?>"/><br/> 
     12      </div> 
     13      <div class="field"> 
     14        <label for="subject">Subject:</label><br/> 
     15        <input type="text" name="subject" value="<?cs var:discussion.forum.subject ?>"/><br/> 
     16      </div> 
     17      <div class="field"> 
     18        <label for="description">Description:</label><br/> 
     19        <input type="text" name="description" value="<?cs var:discussion.forum.description ?>"/><br/> 
     20      </div> 
     21      <div class="field"> 
     22        <label for="moderators">Moderators:</label><br/> 
     23        <?cs if:discussion.users.0 ?> 
     24          <select name="moderators" multiple="on"> 
     25            <?cs each:user = discussion.users ?> 
     26              <?cs set:selected = 0 ?> 
     27              <?cs each:moderator = discussion.forum.moderators ?> 
     28                <?cs if:moderator == user ?> 
     29                  <?cs set:selected = 1 ?> 
     30                <?cs /if ?> 
     31              <?cs /each ?> 
     32              <?cs if:selected ?> 
     33                <option value="<?cs var:user ?>" selected="selected"><?cs var:user ?></option> 
     34              <?cs else ?> 
     35                <option value="<?cs var:user ?>"><?cs var:user ?></option> 
     36              <?cs /if ?> 
     37            <?cs /each ?> 
     38          </select><br/> 
     39        <?cs else ?> 
     40          <input type="text" name="moderators" value="<?cs var:discussion.forum.moderators ?>"/><br/> 
     41        <?cs /if ?> 
     42      </div> 
     43      <?cs if:discussion.groups.1.id ?> 
     44        <div class="group"> 
     45          <label for="group">Forum Group:</label><br/> 
     46          <select name="group"> 
     47            <?cs each:group = discussion.groups ?> 
     48              <?cs if:group.id == discussion.forum.group ?> 
     49                <option value="<?cs var:group.id ?>" selected="selected"><?cs var:group.name ?></option> 
     50              <?cs else ?> 
     51                <option value="<?cs var:group.id ?>"><?cs var:group.name ?></option> 
     52              <?cs /if ?> 
     53            <?cs /each ?> 
     54          </select><br/> 
     55        </div> 
    4056      <?cs else ?> 
    41         <input type="text" name="moderators" value=""/><br/> 
     57        <input type="hidden" name="group" value=""/> 
    4258      <?cs /if ?> 
    43     </div> 
    44     <?cs if:discussion.groups.1.id ?> 
    45       <div class="group"> 
    46         <label for="group">Forum Group:</label><br/> 
    47         <select name="group"> 
    48           <?cs each:group = discussion.groups ?> 
    49             <option value="<?cs var:group.id ?>"><?cs var:group.name ?></option> 
    50           <?cs /each ?> 
    51         </select><br/> 
     59      <div class="buttons"> 
     60        <input type="submit" name="submit" value="Edit"/> 
     61        <input type="submit" name="cancel" value="Cancel"/> 
     62        <input type="hidden" name="forum" value="<?cs var:discussion.forum.id ?>"/> 
     63        <input type="hidden" name="discussion_action" value="post-edit"/> 
    5264      </div> 
    53     <?cs else ?> 
    54       <input type="hidden" name="group" value=""/> 
    55     <?cs /if ?> 
    56     <div class="buttons"> 
    57       <input type="submit" name="submit" value="Add"/> 
    58       <input type="hidden" name="discussion_action" value="post-add"/> 
    59     </div> 
    60   </fieldset> 
    61 </form> 
     65    </fieldset> 
     66  </form> 
     67<?cs else?> 
     68  <form id="new-forum-form" class="addnew" method="post" action="<?cs var:discussion.href ?>"> 
     69    <fieldset> 
     70      <legend> 
     71        Add Forum: 
     72      </legend> 
     73      <div class="field"> 
     74        <label for="name">Name:</label><br/> 
     75        <input type="text" name="name" value=""/><br/> 
     76      </div> 
     77      <div class="field"> 
     78        <label for="subject">Subject:</label><br/> 
     79        <input type="text" name="subject" value=""/><br/> 
     80      </div> 
     81      <div class="field"> 
     82        <label for="description">Description:</label><br/> 
     83        <input type="text" name="description" value=""/><br/> 
     84      </div> 
     85      <div class="field"> 
     86        <label for="moderators">Moderators:</label><br/> 
     87        <?cs if:discussion.users.0 ?> 
     88          <select name="moderators" multiple="on"> 
     89            <?cs each:user = discussion.users ?> 
     90              <option value="<?cs var:user ?>"><?cs var:user ?></option> 
     91            <?cs /each ?> 
     92          </select><br/> 
     93        <?cs else ?> 
     94          <input type="text" name="moderators" value=""/><br/> 
     95        <?cs /if ?> 
     96      </div> 
     97      <?cs if:discussion.groups.1.id ?> 
     98        <div class="group"> 
     99          <label for="group">Forum Group:</label><br/> 
     100          <select name="group"> 
     101            <?cs each:group = discussion.groups ?> 
     102              <option value="<?cs var:group.id ?>"><?cs var:group.name ?></option> 
     103            <?cs /each ?> 
     104          </select><br/> 
     105        </div> 
     106      <?cs else ?> 
     107        <input type="hidden" name="group" value=""/> 
     108      <?cs /if ?> 
     109      <div class="buttons"> 
     110        <input type="submit" name="submit" value="Add"/> 
     111        <input type="hidden" name="discussion_action" value="post-add"/> 
     112      </div> 
     113    </fieldset> 
     114  </form> 
     115<?cs /if ?> 
    62116 
    63117<?cs if:discussion.forums.0.id ?> 
    64   <form id="forum-list-form" class="forum-list" method="post"> 
    65     <table class="listing"> 
     118  <form method="post" action="<?cs var:discussion.href ?>"> 
     119    <table id="forum-list" class="listing"> 
    66120      <thead> 
    67121        <tr> 
    68           <th class="selection">&nbsp;</th> 
     122          <th class="sel">&nbsp;</th> 
    69123          <th class="name">Name</th> 
    70124          <th class="subject">Subject</th> 
     
    76130        </tr> 
    77131      </thead> 
    78       </tbody> 
     132      <tbody> 
    79133        <?cs each:forum = discussion.forums ?> 
    80134          <tr class="<?cs if:name(forum) % #2 ?>even<?cs else ?>odd<?cs /if ?>"> 
    81             <td class="selection"> 
     135            <td class="sel"> 
    82136              <input type="checkbox" name="selection" value="<?cs var:forum.id ?>"/> 
    83137            </td> 
    84138            <td class="name"> 
    85               <div class="name"><?cs var:forum.name ?></div> 
     139              <a href="<?cs var:discussion.href ?>/<?cs var:forum.id ?>"> 
     140                <div class="name"><?cs alt:forum.name ?>&nbsp;<?cs /alt ?></div> 
     141              </a> 
    86142            </td> 
    87143            <td class="subject"> 
    88               <div class="subject"><?cs var:forum.subject ?></div> 
     144              <a href="<?cs var:discussion.href ?>/<?cs var:forum.id ?>"> 
     145                <div class="subject"><?cs alt:forum.subject ?>&nbsp;<?cs /alt ?></div> 
     146              </a> 
    89147            </td> 
    90148            <td class="description"> 
    91               <div class="description"><?cs var:forum.description ?></div> 
     149              <a href="<?cs var:discussion.href ?>/<?cs var:forum.id ?>"> 
     150                <div class="description"><?cs alt:forum.description ?>&nbsp;<?cs /alt ?></div> 
     151              </a> 
    92152            </td> 
    93153            <td class="moderators"> 
    94               <div class="moderators"><?cs var:forum.moderators ?></div> 
     154              <a href="<?cs var:discussion.href ?>/<?cs var:forum.id ?>"> 
     155                <div class="moderators"><?cs alt:forum.moderators ?>&nbsp;<?cs /alt ?></div> 
     156              </a> 
    95157            </td> 
    96158            <?cs if:discussion.groups.1.id ?> 
    97159              <td class="group"> 
    98                 <div class="group"> 
    99                   <select id="group-select-<?cs var:forum.id ?>" name="group-<?cs var:forum.id ?>" onChange="submit_group_change(<?cs var:forum.id ?>)"> 
    100                     <?cs each:group = discussion.groups ?> 
    101                       <?cs if:group.id == forum.group ?> 
    102                         <option value="<?cs var:group.id ?>" selected="selected"><?cs var:group.name ?></option> 
    103                       <?cs else ?> 
    104                         <option value="<?cs var:group.id ?>"><?cs var:group.name ?></option> 
    105                       <?cs /if ?> 
    106                     <?cs /each ?> 
    107                   </select> 
    108                 </div> 
     160                <a href="<?cs var:discussion.href ?>/<?cs var:forum.id ?>"> 
     161                  <?cs each:group = discussion.groups ?> 
     162                    <?cs if:group.id == forum.group ?> 
     163                      <div class="group"><?cs var:group.name ?></div> 
     164                    <?cs /if ?> 
     165                  <?cs /each ?> 
     166                </a> 
    109167              </td> 
    110168            <?cs /if ?> 
     
    116174      <input type="submit" name="remove" value="Remove selected items" /> 
    117175      <input type="hidden" name="discussion_action" value="delete"/> 
    118       <input type="hidden" name="group" value=""/> 
    119       <input type="hidden" name="forum" value=""/> 
    120176    </div> 
    121177  </form> 
  • discussionplugin/0.9/tracdiscussion/templates/forum-list.cs

    r1006 r1016  
    2828            <td class="title"> 
    2929              <a href="<?cs var:discussion.href ?>/<?cs var:forum.id ?>"> 
    30                 <div class="subject"><?cs var:forum.subject ?></div> 
    31                 <div class="description"><?cs var:forum.description ?></div> 
     30                <div class="subject"><?cs alt:forum.subject ?>&nbsp;<?cs /alt ?></div> 
     31                <div class="description"><?cs alt:forum.description ?>&nbsp;<?cs /alt ?></div> 
    3232              </a> 
    3333            </td> 
    3434            <td class="moderators"> 
    3535              <a href="<?cs var:discussion.href ?>/<?cs var:forum.id ?>"> 
    36                 <div class="moderators"><?cs var:forum.moderators ?></div> 
     36                <div class="moderators"><?cs alt:forum.moderators ?>&nbsp;<?cs /alt ?></div> 
    3737              </a> 
    3838            </td> 
    3939            <td class="lasttopic"> 
    4040              <a href="<?cs var:discussion.href ?>/<?cs var:forum.id ?>"> 
    41                 <div class="lasttopic"><?cs var:forum.lasttopic ?></div> 
     41                <div class="lasttopic"><?cs alt:forum.lasttopic ?>&nbsp;<?cs /alt ?></div> 
    4242              </a> 
    4343            </td> 
    4444            <td class="lastreply"> 
    4545              <a href="<?cs var:discussion.href ?>/<?cs var:forum.id ?>"> 
    46                 <div class="lastreply"><?cs var:forum.lastreply ?></div> 
     46                <div class="lastreply"><?cs alt:forum.lastreply ?>&nbsp;<?cs /alt ?></div> 
    4747              </a> 
    4848            </td> 
    4949            <td class="founded"> 
    5050              <a href="<?cs var:discussion.href ?>/<?cs var:forum.id ?>"> 
    51                <div class="founded"><?cs var:forum.time ?></div> 
     51               <div class="founded"><?cs alt:forum.time ?>&nbsp;<?cs /alt ?></div> 
    5252              </a> 
    5353            </td> 
  • discussionplugin/0.9/tracdiscussion/templates/group-admin.cs

    r1006 r1016  
    11<h2>Forum Groups</h2> 
    22 
    3 <form class="addnew" method="post"> 
    4   <fieldset> 
    5     <legend> 
    6        Add Forum Group: 
    7     </legend> 
    8     <div class="field"> 
    9       <label for="name">Name:</label><br/> 
    10       <input type="text" name="name" value=""/><br/> 
    11     </div> 
    12     <div class="field"> 
    13       <label for="description">Description:</label><br/> 
    14       <input type="text" name="description" value=""/><br/> 
    15     </div> 
    16     <div class="buttons"> 
    17       <input type="submit" name="submit" value="Add"/> 
    18       <input type="hidden" name="discussion_action" value="post-add"/> 
    19     </div> 
    20   </fieldset> 
    21 </form> 
     3<?cs if:discussion.group.id ?> 
     4  <form id="edit-group-form" class="addnew" method="post" action="<?cs var:discussion.href ?>"> 
     5    <fieldset> 
     6      <legend> 
     7        Edit Forum Group: 
     8      </legend> 
     9      <div class="field"> 
     10        <label for="name">Name:</label><br/> 
     11        <input type="text" name="name" value="<?cs var:discussion.group.name ?>"/><br/> 
     12      </div> 
     13      <div class="field"> 
     14        <label for="description">Description:</label><br/> 
     15        <input type="text" name="description" value="<?cs var:discussion.group.description ?>"/><br/> 
     16      </div> 
     17      <div class="buttons"> 
     18        <input type="submit" name="submit" value="Edit"/> 
     19        <input type="submit" name="cancel" value="Cancel"/> 
     20        <input type="hidden" name="group" value="<?cs var:discussion.group.id ?>"/> 
     21        <input type="hidden" name="discussion_action" value="post-edit"/> 
     22      </div> 
     23    </fieldset> 
     24  </form> 
     25<?cs else?> 
     26  <form id="new-group-form" class="addnew" method="post" action="<?cs var:discussion.href ?>"> 
     27    <fieldset> 
     28      <legend> 
     29         Add Forum Group: 
     30      </legend> 
     31      <div class="field"> 
     32        <label for="name">Name:</label><br/> 
     33        <input type="text" name="name" value=""/><br/> 
     34      </div> 
     35      <div class="field"> 
     36        <label for="description">Description:</label><br/> 
     37        <input type="text" name="description" value=""/><br/> 
     38      </div> 
     39      <div class="buttons"> 
     40        <input type="submit" name="submit" value="Add"/> 
     41        <input type="hidden" name="discussion_action" value="post-add"/> 
     42      </div> 
     43    </fieldset> 
     44  </form> 
     45<?cs /if ?> 
    2246 
    2347<?cs if:discussion.groups.1.id ?> 
    24   <form class="forum-list" method="post"> 
    25     <table class="listing"> 
     48  <form method="post" action="<?cs var:discussion.href ?>"> 
     49    <table id="group-list" class="listing"> 
    2650      <thead> 
    2751        <tr> 
    28           <th class="selection">&nbsp;</th> 
     52          <th class="sel">&nbsp;</th> 
    2953          <th class="name">Name</th> 
    3054          <th class="description">Description</th> 
    3155        </tr> 
    3256      </thead> 
    33       </tbody> 
     57      <tbody> 
    3458        <?cs each:group = discussion.groups ?> 
    3559          <?cs if:group.id ?> 
    3660            <tr class="<?cs if:name(group) % #2 ?>even<?cs else ?>odd<?cs /if ?>"> 
    37               <td class="selection"> 
     61              <td class="sel"> 
    3862                <input type="checkbox" name="selection" value="<?cs var:group.id ?>"/> 
    3963              </td> 
    4064              <td class="name"> 
    41                 <div class="name"><?cs var:group.name ?></div> 
     65                <a href="<?cs var:discussion.href ?>/<?cs var:group.id ?>"> 
     66                  <div class="name"><?cs alt:group.name ?>&nbsp;<?cs /alt ?></div> 
     67                </a> 
    4268              </td> 
    4369              <td class="description"> 
    44                 <div class="description" ><?cs var:group.description ?></div> 
     70                <a href="<?cs var:discussion.href ?>/<?cs var:group.id ?>"> 
     71                  <div class="description" ><?cs alt:group.description ?>&nbsp;<?cs /alt ?></div> 
     72                </a> 
    4573              </td> 
    4674            </tr> 
  • discussionplugin/0.9/tracdiscussion/templates/topic-list.cs

    r909 r1016  
    1818          <td class="subject"> 
    1919            <a href="<?cs var:discussion.href ?>/<?cs var:topic.id ?>"> 
    20               <div class="subject"><?cs var:topic.subject ?></div> 
     20              <div class="subject"><?cs alt:topic.subject ?>&nbsp;<?cs /alt ?></div> 
    2121            </a> 
    2222          </td> 
    2323          <td class="author"> 
    2424            <a href="<?cs var:discussion.href ?>/<?cs var:topic.id ?>"> 
    25               <div class="author" ><?cs var:topic.author ?></div> 
     25              <div class="author" ><?cs alt:topic.author ?>&nbsp;<?cs /alt ?></div> 
    2626            </a> 
    2727          </td> 
    2828          <td class="lastreply"> 
    2929            <a href="<?cs var:discussion.href ?>/<?cs var:topic.id ?>"> 
    30               <div class="lastreply"><?cs var:topic.lastreply ?></div> 
     30              <div class="lastreply"><?cs alt:topic.lastreply ?>&nbsp;<?cs /alt ?></div> 
    3131            </a> 
    3232          </td> 
    3333          <td class="founded"> 
    3434            <a href="<?cs var:discussion.href ?>/<?cs var:topic.id ?>"> 
    35               <div class="founded" ><?cs var:topic.time ?></div> 
     35              <div class="founded" ><?cs alt:topic.time ?>&nbsp;<?cs /alt ?></div> 
    3636            </a> 
    3737          </td>