46,47d45
< from werkzeug import redirect
< 
220c218
<             currentRevision = "%08d" % self.get_real_rev()
---
>             currentRevision = "%08d" % page.get_real_rev()
230c228
<         approvedFile = os.path.join(self.getPagePath(), "approved")
---
>         approvedFile = os.path.join(page.getPagePath(), "approved")
243,306d240
<     def getApprovalMessage(self):
<         pi = self.parse_processing_instructions()
<         if pi['review'] == None:
<             return ""
<         currentRevision = self.get_real_rev()
<         approvedFile = os.path.join(self.getPagePath(), "approved")
<         approvedRevision = []
<         approvers = []
<         approvedDateTime = []
<         approvedURL = []
<         boxtype = "warning"
<         history = ""
<         if os.path.isfile(approvedFile):
<             for line in open(approvedFile).readlines():
<                 tmp = line.split("\t")
<                 approvedRevision.append(int(tmp[0]))
<                 approvers.append(tmp[1])
<                 #thatTime = datetime.strptime(tmp[2], "%Y/%m/%d %H:%M:S")
<                 #approvedDateTime.append(thatTime.isoformat())
<                 approvedDateTime.append(tmp[2])
<                 approvedURL.append( '%s/%s?action=show&rev=%d' % ( 
<                     self.request.getScriptname(), 
<                     wikiutil.quoteWikinameURL(self.page_name), 
<                     int(tmp[0])) )
< 
<             history = ""
<             for i in range(len(approvedRevision)):
<                 history = ("<a href=\"%s\">Version %d: approved on %s by %s\n<br>\n%s</a>") % (approvedURL[i], approvedRevision[i], approvedDateTime[i], approvers[i], history )
< 
<             if (currentRevision == len(self.getRevList())) and (not currentRevision == max(approvedRevision)):
<                 # most recent version, not yet approved
<                 status = "Draft"
<                 boxtype = "caution"
<             elif currentRevision == max(approvedRevision):
<                 # latest approved version (could but need not be most recent version of all)
<                 status = "Valid"
<                 boxtype = "important"
<             elif currentRevision in approvedRevision:
<                 # any approved version (not the latest because of previous block)
<                 status = "Invalid (approved, but outdated)!"
<                 boxtype = "warning"
<             else:
<                 # some in-between version, never approved
<                 status = "Invalid"
<                 boxtype = "warning"
<         else:
<             # no approval history yet, so this is a draft
<             status = "Draft"
<             boxtype = "caution"
< 
<         return '''
< <div id="content">
< <div class="%s">
< <dl>Version: <strong>%d</strong> Status: <strong>%s</strong><dd>
< <small>
<   %s
< </small>
< </dd></dl>
< </div>
< </div>
< ''' % (boxtype, currentRevision, status, history)
< 
< 
< 
1005d938
<         pi['review'] = None
1061,1063d993
<             elif verb == "review":
<                 # this page can be reviewed (and approved)
<                 pi['review'] = args
1184d1113
<         unapproved = 0
1193,1207d1121
<                         # before sending anything check if we need to redirect to the last approved version
<                         if (pi['review'] != None) and (not self.isApprovedPage()) and (not request.user.may.review(self.page_name)):
<                             lastApprovedRevision = self.getLastApprovedVersion()
<                             if (lastApprovedRevision != None):
<                               # redirect to last approved version
<                               rev = int(lastApprovedRevision)
<                               url_str = '%s/%s?action=show&rev=%d' % (
<                                   request.getScriptname(),
<                                   wikiutil.quoteWikinameURL(self.page_name),
<                                   rev)
<                               request.http_redirect(url_str)
<                               return
<                             else:
<                               # TODO check how to display "You are not allowed to view..." or "Not yes approved"
<                               unapproved = 1
1302,1303d1215
<             elif unapproved == 1:
<                 special = 'denied'
