Edgewall Software

Ticket #2646: preview_wiki_comment.diff

File preview_wiki_comment.diff, 4.9 KB (added by cboos, 3 years ago)

Implement the proposed feature on top of trunk@2973

  • htdocs/css/wiki.css

     
    1717 overflow: auto; 
    1818} 
    1919 
     20/* Styles for the revision info (copied from browser.css)*/ 
     21#info { 
     22 background: #f7f7f0; 
     23 border: 1px solid #d7d7d7; 
     24 border-collapse: collapse; 
     25 border-spacing: 0; 
     26 clear: both; 
     27 width: 100%; 
     28} 
     29#info th, #info td { font-size: 85%; padding: 2px .5em; vertical-align: top } 
     30#info th { font-weight: bold; text-align: left; white-space: nowrap } 
     31#info td.message { width: 100% } 
     32#info .message ul { padding: 0; margin: 0 2em } 
     33#info .message p { margin: 0; padding: 0 } 
     34 
    2035/* Diff view */ 
    2136#overview .multi { color: #999 } 
    2237#overview .ipnr { color: #999; font-size: 80% } 
  • trac/wiki/web_ui.py

     
    311311                                                      action='history') 
    312312        if preview: 
    313313            info['page_html'] = wiki_to_html(page.text, self.env, req, db) 
     314            info['comment_html'] = wiki_to_oneliner(comment, self.env, req, db) 
    314315            info['readonly'] = int(req.args.has_key('readonly')) 
    315316        req.hdf['wiki'] = info 
    316317 
     
    366367            req.hdf['wiki.page_html'] = wiki_to_html(page.text, self.env, req) 
    367368            history_href = self.env.href.wiki(page.name, action='history') 
    368369            req.hdf['wiki.history_href'] = history_href 
     370            if version: 
     371                req.hdf['wiki.comment_html'] = wiki_to_oneliner(page.comment, 
     372                                                                self.env, db) 
     373                req.hdf['wiki.author'] = page.author 
     374                req.hdf['wiki.age'] = pretty_timedelta(page.time) 
    369375        else: 
    370376            if not req.perm.has_permission('WIKI_CREATE'): 
    371377                raise HTTPNotFound('Page %s not found', page.name) 
  • trac/wiki/model.py

     
    4242            db = self.env.get_db_cnx() 
    4343        cursor = db.cursor() 
    4444        if version: 
    45             cursor.execute("SELECT version,text,readonly FROM wiki " 
     45            cursor.execute("SELECT version,time,author,text,comment,readonly " 
     46                           "FROM wiki " 
    4647                           "WHERE name=%s AND version=%s", 
    4748                           (name, int(version))) 
    4849        else: 
    49             cursor.execute("SELECT version,text,readonly FROM wiki " 
     50            cursor.execute("SELECT version,time,author,text,comment,readonly " 
     51                           "FROM wiki " 
    5052                           "WHERE name=%s ORDER BY version DESC LIMIT 1", 
    5153                           (name,)) 
    5254        row = cursor.fetchone() 
    5355        if row: 
    54             version,text,readonly = row 
     56            version,time,author,text,comment,readonly = row 
    5557            self.version = int(version) 
     58            self.author = author 
     59            self.time = time 
    5660            self.text = text 
     61            self.comment = comment 
    5762            self.readonly = readonly and int(readonly) or 0 
    5863        else: 
    5964            self.version = 0 
    60             self.text = '' 
    61             self.readonly = 0 
     65            self.text = self.comment = self.author = '' 
     66            self.time = self.readonly = 0 
    6267 
    6368    exists = property(fget=lambda self: self.version > 0) 
    6469 
  • templates/wiki.cs

     
    197197    if wiki.action == "preview" ?> 
    198198     <fieldset id="preview"> 
    199199      <legend>Preview (<a href="#edit">skip</a>)</legend> 
    200       <div class="wikipage"><?cs var:wiki.page_html ?></div> 
     200       <table id="info" summary="Revision info"><tbody><tr> 
     201         <th scope="col"> 
     202          New Version <?cs var:$wiki.version+1 ?> (modified by <?cs var:wiki.author ?>) 
     203         </th></tr><tr> 
     204         <td class="message"><?cs var:wiki.comment_html ?></td> 
     205        </tr> 
     206       </tbody></table> 
     207        <div class="wikipage"><?cs var:wiki.page_html ?></div> 
    201208     </fieldset><?cs 
    202209     elif wiki.action =="collision"?> 
    203210     <div class="system-message"> 
     
    273280   </form> 
    274281  <?cs /if ?> 
    275282  <?cs if wiki.action == "view" ?> 
     283   <?cs if:wiki.version ?> 
     284    <table id="info" summary="Revision info"><tbody><tr> 
     285      <th scope="col"> 
     286       Version <?cs var:wiki.version ?> (modified by <?cs var:wiki.author ?>, <?cs var:wiki.age ?> ago) 
     287      </th></tr><tr> 
     288      <td class="message"><?cs var:wiki.comment_html ?></td> 
     289     </tr> 
     290    </tbody></table> 
     291   <?cs /if ?> 
    276292   <div class="wikipage"> 
    277293    <div id="searchable"><?cs var:wiki.page_html ?></div> 
    278294   </div>