Changeset 114

Show
Ignore:
Timestamp:
08/12/08 23:31:38 (3 months ago)
Author:
pragma
Message:

First commit in four months. Many more to follow soon.

  • Revised RSS Templates
  • Finished security quirks that made it impossible to create a new forum
  • Finished code for delete posts in a topic
  • Sundry bugfixes and tweaks
Files:

Legend:

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

    r113 r114  
    22from trac.core import * 
    33from trac.db_default import Table, Column, Index 
    4 from tracforums.models import *     
     4#from tracforums.models import * 
    55 
    66class TablenamesImpl(dict):    
     
    3636 
    3737def upgradeSchema(db): 
     38    from tracforums.models import * 
     39     
    3840    AvatarModel.createTable(db) 
    3941    CategoryModel.createTable(db) 
  • trunk/tracforums/models/forum.py

    r112 r114  
    110110            self.synopsis = self.synopsis[:synopsisLength] + "..." 
    111111        self.synopsishtml = self.formatContext.wikiToOneLiner(self.synopsis) 
     112         
     113        if self.id is None: 
     114            self.canModify = self.formatContext.isForumAdmin() 
     115            self.canAppend = self.formatContext.isForumAdmin() 
    112116         
    113117    def validate(self): 
     
    337341            "Forum does not exist" 
    338342        ) 
     343         
     344        print "Forum:",forum 
    339345                 
    340346        self.assertAction( 
  • trunk/tracforums/models/main.py

    r112 r114  
    256256        if profileCount%pagesize > 0: 
    257257            pages = pages + 1 
    258          
     258                     
    259259        return { 
    260260            "profiles": profiles, 
  • trunk/tracforums/models/message.py

    r112 r114  
    177177            # prep the model for a first time edit       
    178178            message.setTopic(TopicModelWithForum(self.db,self).load({"topicid":args["topicid"]})) 
     179            message.author = self.getAuthname() 
     180            message.modified = self.epochNow() 
    179181             
    180182        # generic setup   
     
    207209               validateErrors = e.reasons 
    208210                       
    209         # set the avatar after the post input has been accounted for         
    210         message.avatar = AvatarModel(self.db,self).load({"avatarid":message.avatarid}) 
     211        # set the avatar after the post input has been accounted for   
     212        if message.avatarid != None: 
     213            message.avatar = AvatarModel(self.db,self).load({"avatarid":message.avatarid}) 
    211214 
    212215        #Admins, original authors or new authors can change avatar 
  • trunk/tracforums/models/profile.py

    r111 r114  
    1111    tablename = Tablenames.profile, 
    1212    columns = { 
     13        "username":        ORMKey(type="text"), 
    1314        "sig":             ORMColumn(type="text"), 
    14         "username":        ORMColumn(type="text"), 
    1515        "email":           ORMColumn(type="text"), 
    1616        "regdate":         ORMColumn(type="int"), 
  • trunk/tracforums/models/topic.py

    r112 r114  
    344344            topic.leadmessage = MessageModel(self.db,self) 
    345345            topic.leadmessage.author = self.getAuthname() 
    346              
    347346            topic.setForum(ForumModel(self.db,self).load({"forumid":args["forumid"]})) 
    348347             
     
    416415        ) 
    417416         
     417        print "Args:",args 
     418         
    418419        # handle watch behavior 
    419420        args = self.getArgs() 
     
    425426                    "topicid": topic.id 
    426427                }) 
     428                 
     429            elif action == "deleteSelection":         
     430                selectedMessages = args.getArray("selectedmessages") 
     431                if len(selectedMessages) > 0: 
     432                    from tracforums.models.message import MessageModel     
     433                    MessageModel(self.db,self).deleteMany({ 
     434                        "id": selectedMessages, 
     435                        "topicid": topic.id 
     436                    }) 
     437                         
    427438            #force changes through before display 
    428439            self.db.commit() 
  • trunk/tracforums/orm.py

    r112 r114  
    179179    @staticmethod 
    180180    def str(formatContext,value): 
    181         return str(value) 
     181        return unicode(value) 
    182182         
    183183    @staticmethod 
     
    763763            return None 
    764764     
    765         def save(self,data={}): 
     765        def save(self,data={},debug=False): 
    766766            if data != {}: self.set(data) 
    767767            cursor = self.db.cursor() 
     
    770770                self.must(self.validateSave()) 
    771771                         
    772                 #print "\n",self.schema.updateSQL,self._getQueryValues(),"\n",self.__dict__ 
     772                if(debug): print "\n",self.schema.updateSQL,self._getQueryValues(),"\n",self.__dict__ 
    773773                cursor.execute(self.schema.updateSQL,self._getQueryValues()) 
    774774                self.db.commit() 
     
    776776                self.must(self.validateCreate()) 
    777777                
    778                 #print "\n",self.schema.insertSQL,self._getQueryValues() 
     778                if(debug): print "\n",self.schema.insertSQL,self._getQueryValues() 
    779779                cursor.execute(self.schema.insertSQL,self._getQueryValues()) 
    780780                self.db.commit() 
  • trunk/tracforums/templates/tracforums/forum/edit.cs

    r109 r114  
    105105        <fieldset id="edit"> 
    106106            <legend>Forum Description</legend> 
    107             <?cs var:forums.forum_description_rows?> 
    108107            <?cs call:displayWikiField(80,"description",forums.forum.description,"forum_description_rows",forums.forum_description_rows)?> 
    109108        </fieldset> 
  • trunk/tracforums/templates/tracforums/forum/forum_rss.cs

    r108 r114  
    2020                <category domain="<?cs var:base_host ?><?cs var:trac.href.forums?>">Topic</category> 
    2121                <pubDate><?cs var:topic.recentpost.modifiedhtml?></pubDate> 
    22                 <title><?cs var:topic.subject?></title> 
     22                <title> 
     23                    Forum - <?cs var:forums.forum.name?>  
     24                    <?cs if:topic.replyCount == 0?>(New Topic):<?cs /if?> 
     25                    <?cs if:topic.replyCount != 0?>(Reply):<?cs /if?> 
     26                    <?cs var:topic.subject?> 
     27                </title> 
    2328                <link><?cs var:base_host ?><?cs var:trac.href.forums?>/topic/view/<?cs var:topic.id?></link> 
    2429                <author>some email</author> 
  • trunk/tracforums/templates/tracforums/forum/view.cs

    r109 r114  
    6363        <?cs if:forums.forum.canAppend ?> 
    6464            <form method="post" action="<?cs var:trac.href.forums ?>/topic/edit"> 
    65             <input type="hidden" name="returnto" id="returnto" value="<?cs var:forums.returnto?>"> 
     65               <input type="hidden" name="returnto" id="returnto" value="<?cs var:forums.returnto?>"> 
    6666                <input type="hidden" name="forumid" value="<?cs var:forums.forum.id ?>"> 
    6767                <input type="submit" value="Create a New Topic"> 
  • trunk/tracforums/templates/tracforums/main/recent_rss.cs

    r108 r114  
    2020                <category domain="<?cs var:base_host ?><?cs var:trac.href.forums?>">Topic</category> 
    2121                <pubDate><?cs var:topic.recentpost.modifiedhtml?></pubDate> 
    22                 <title><?cs var:topic.subject?></title> 
     22                <title> 
     23                    Forum - <?cs var:forums.forum.name?>  
     24                    <?cs if:topic.replyCount == 0?>(New Topic):<?cs /if?> 
     25                    <?cs if:topic.replyCount != 0?>(Reply):<?cs /if?> 
     26                    <?cs var:topic.subject?> 
     27                </title> 
    2328                <link><?cs var:base_host ?><?cs var:trac.href.forums?>/topic/view/<?cs var:topic.id?></link> 
    2429                <author>some email</author> 
  • trunk/tracforums/templates/tracforums/message/_defs.cs

    r105 r114  
    5252        </h3> 
    5353        <div class="body"><?cs var:message.bodyhtml ?></div> 
    54         <div class="signature"><?cs var:message.profile.sightml ?></div> 
     54        <?cs if:message.profile.sig != ""?> 
     55            <div class="signature"><?cs var:message.profile.sightml ?></div> 
     56        <?cs /if?> 
    5557    </td> 
    5658<?cs /def?> 
  • trunk/tracforums/templates/tracforums/profile/view.cs

    r109 r114  
    1818                    alt="Default Avatar: <?cs var:avatar.name?>" 
    1919                    title="Default Avatar: <?cs var:avatar.name?>"                                           
    20                 <?cs /if?>                  
     20                <?cs /if?>       
    2121                <?cs if:avatar.id != forums.profile.defaultavatarid?> 
    2222                    style="border:3px solid Transparent" 
  • trunk/tracforums/templates/tracforums/topic/topic_rss.cs

    r108 r114  
    2020                <category domain="<?cs var:base_host ?><?cs var:trac.href.forums?>">Message</category> 
    2121                <pubDate><?cs var:message.modifiedhtml?></pubDate> 
    22                 <title><?cs var:message.author?> - <?cs var:message.modifiedhtml?></title> 
     22                <title>Forum - <?cs var:forums.forum.name?> (Reply):  <?cs var:forums.topic.subject?></title>               
    2323                <link><?cs var:base_host ?><?cs var:trac.href.forums?>/topic/view/<?cs var:forums.topic.id?>#<?cs var:message.id?></link> 
    2424                <author><?cs var:message.author?></author> 
     
    2626                <guid><?cs var:base_host ?><?cs var:trac.href.forums?>/topic/view<?cs var:forums.topic.id?>#<?cs var:message.id?></guid> 
    2727                <description> 
     28                    By <?cs var:message.author?> -  
    2829                    <?cs var:message.synopsishtml?> 
    2930                </description>