Changeset 4090

Show
Ignore:
Timestamp:
02/03/08 12:51:28 (1 year ago)
Author:
mramm
Message:

added save method, and link to edit in pages. So, now you can edit and save changes to pages -- just like a real wiki. ;)

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • sandbox/wiki/wiki20/controllers/root.py

    r4089 r4090  
    22from wiki20.lib.base import BaseController 
    33from tg import expose, flash 
    4 #from tg import redirect, validate 
     4import tg 
    55from wiki20.model import DBSession 
    66from wiki20.model.page import Page 
     
    1818        page = DBSession.query(Page).filter_by(pagename=pagename).one() 
    1919        return dict(page=page) 
     20 
     21    @expose() 
     22    def save(self, pagename, data, submit): 
     23        page = DBSession.query(Page).filter_by(pagename=pagename).one() 
     24        page.data = data 
     25         
     26        DBSession.flush()  # Sends changes to the database 
     27        DBSession.commit() # Tells database to commit changes perminantly 
     28         
     29        # Strictly speaking the above call to flush is not required above, because 
     30        # commit implies flush, and will flush automatically for you if you 
     31        # havent done it.  
     32         
     33        tg.flash("Changes saved!") 
     34        raise tg.redirect("/", pagename=pagename) 
     35         
  • sandbox/wiki/wiki20/templates/page.html

    r4087 r4090  
    2222 
    2323<div py:replace="page.data">Page text goes here.</div> 
     24<p><a href="${tg.url('/edit', pagename=page.pagename)}">Edit this page</a></p> 
    2425</div> 
    2526 
    26 </body></html> 
     27</body> 
     28</html>