Changeset 66

Show
Ignore:
Timestamp:
04/15/07 13:37:21 (2 years ago)
Author:
pragma
Message:

Upgraded recent topics macro to use char limit and correct sort-order

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/tracforums/macros.py

    r62 r66  
    6262        Displays topics from a given forum 
    6363         
    64         [[RecentPosts(<forum>,<maxposts=10>,<maxchars=500>)]] 
     64        [[RecentTopics(<forum>,<maxposts=10>,<maxchars=500>)]] 
    6565    """ 
    6666             
     
    9494        # get the topic data 
    9595        from tracforums.models.topic import Topic 
    96         topics = Topic(db).getRecentTopicList(forum["id"],maxposts,context) 
     96        topics = Topic(db).getRecentTopicList(forum["id"],maxposts,maxchars,context) 
    9797         
    9898        # set the standard assets and variables 
  • trunk/tracforums/model.py

    r36 r66  
    129129        self.req.session[name] = value 
    130130        
    131     def wikiToOneLiner(self,text): 
    132         return wiki_to_oneliner(text,self.env
     131    def wikiToOneLiner(self,text,shorten=False,absurls=False): 
     132        return wiki_to_oneliner(text,self.env,shorten,absurls
    133133                      
    134134    def wikiToHTML(self,text): 
  • trunk/tracforums/models/topic.py

    r65 r66  
    683683        return self.getListCore(forumid,None,limit,context) 
    684684         
    685     def getRecentTopicList(self,forumid,limit,context): 
     685    def getRecentTopicList(self,forumid,limit,maxBodyChars,context): 
    686686        cursor = self.db.cursor() 
    687687        topics = [] 
     
    731731                 
    732732            ORDER BY 
    733                 leadMessage.modified DESC 
     733                created DESC 
    734734        """, 
    735735        { 
     
    740740        for row in cursor.fetchmany(limit): 
    741741            topic = dict(zip(columns,row)) 
     742             
     743            # strip and truncate if needed 
     744            topic['body'] = topic['body'].strip() 
     745            if maxBodyChars > 0 and len(topic['body']) > maxBodyChars: 
     746                topic['body'] = topic['body'][0:maxBodyChars] + "..." 
     747             
    742748            topic['bodyhtml'] = context.wikiToHTML(topic['body']) 
    743749            topic['canModify'] = toBool(topic['canModify']) 
    744750            topic['canDelete'] = toBool(topic['canDelete']) 
    745751            topic['modifiedhtml'] = context.epochToDate(topic['modified']) 
     752             
    746753            topics.append(topic) 
    747754        return topics