auth.wiki preview, thanks Niphlod

This commit is contained in:
mdipierro
2012-10-10 09:18:09 -05:00
parent 45dd57e49e
commit e95809a442
4 changed files with 30 additions and 40 deletions
+1 -1
View File
@@ -1 +1 @@
Version 2.1.0 (2012-10-09 14:36:06) dev
Version 2.1.0 (2012-10-10 09:18:06) dev
File diff suppressed because one or more lines are too long
+29 -1
View File
@@ -4576,6 +4576,7 @@ class Wiki(object):
self.env['component'] = Wiki.component
if render == 'markmin': render=self.markmin_render
elif render == 'html': render=self.html_render
self.render = render
self.auth = auth
if self.auth.user:
self.force_prefix = force_prefix % self.auth.user
@@ -4702,6 +4703,8 @@ class Wiki(object):
)
elif zero=='_cloud':
return self.cloud()
elif zero == '_preview':
return self.preview(self.render)
def first_paragraph(self,page):
if not self.can_read(page):
@@ -4782,7 +4785,29 @@ class Wiki(object):
elif form.accepted:
current.session.flash = 'page created'
redirect(URL(args=slug))
return dict(content=form)
script = """
$(function() {
if (!$('#wiki_page_body').length) return;
var pagecontent = $('#wiki_page_body');
var prevbutton = $('<button class="btn nopreview">Preview</button>');
var preview = $('<div id="preview"></div>').hide();
var table = $('form');
prevbutton.insertBefore(table);
prevbutton.on('click', function(e) {
e.preventDefault();
if (prevbutton.hasClass('nopreview')) {
prevbutton.addClass('preview').removeClass('nopreview').html('Edit Source');
preview.insertBefore(table);
web2py_ajax_page('post', '%(url)s', {body : $('#wiki_page_body').val()}, 'preview');
table.fadeOut('medium', function() {preview.fadeIn()});
} else {
prevbutton.addClass('nopreview').removeClass('preview').html('Preview');
preview.fadeOut('medium', function() {table.fadeIn()});
}
})
})
""" % dict(url=URL(args=('_preview')))
return dict(content=TAG[''](form, SCRIPT(script)))
def editmedia(self,slug):
auth = self.auth
@@ -4977,6 +5002,9 @@ class Wiki(object):
vars=dict(q=item.wiki_tag.name))))
items.append(' ')
return dict(content = DIV(_class='w2p_cloud',*items))
def preview(self, render):
request = current.request
return render(request.post_vars)
if __name__ == '__main__':
import doctest
-25
View File
@@ -1,25 +0,0 @@
import os
import sys
paths = [sys.argv[1]]
paths1 = []
paths2 = []
while paths:
path = paths.pop()
for filename in os.listdir(path):
fullname = os.path.join(path,filename)
if os.path.isdir(fullname):
paths.append(fullname)
else:
extension = filename.split('.')[-1]
if extension.lower() in ('png','gif','jpg','jpeg','js','css'):
paths1.append((filename,fullname))
if extension.lower() in ('css','js','py','html'):
paths2.append(fullname)
for filename,fullname in paths1:
for otherfullname in paths2:
if open(otherfullname).read().find(filename)>=0:
break
else:
print fullname
# os.system('hg rm '+fullname)
# os.system('rm '+fullname)