FORM.dialog
This commit is contained in:
@@ -1 +1 @@
|
||||
Version 2.00.0 (2012-07-26 08:12:26) dev
|
||||
Version 2.00.0 (2012-07-26 09:41:33) dev
|
||||
|
||||
@@ -403,6 +403,32 @@ def delete():
|
||||
redirect(URL(sender, anchor=request.vars.id2))
|
||||
return dict(filename=filename, sender=sender)
|
||||
|
||||
def delete():
|
||||
""" Object delete handler """
|
||||
app = get_app()
|
||||
filename = '/'.join(request.args)
|
||||
sender = request.vars.sender
|
||||
|
||||
if isinstance(sender, list): # ## fix a problem with Vista
|
||||
sender = sender[0]
|
||||
|
||||
dialog = FORM.dialog(T('Delete'),
|
||||
{T('Cancel'):URL(sender, anchor=request.vars.id)})
|
||||
|
||||
if dialog.accepted:
|
||||
try:
|
||||
full_path = apath(filename, r=request)
|
||||
lineno = count_lines(open(full_path,'r').read())
|
||||
os.unlink(full_path)
|
||||
log_progress(app,'DELETE',filename,progress=-lineno)
|
||||
session.flash = T('file "%(filename)s" deleted',
|
||||
dict(filename=filename))
|
||||
except Exception:
|
||||
session.flash = T('unable to delete file "%(filename)s"',
|
||||
dict(filename=filename))
|
||||
redirect(URL(sender, anchor=request.vars.id2))
|
||||
return dict(dialog=dialog,filename=filename)
|
||||
|
||||
def enable():
|
||||
app = get_app()
|
||||
filename = os.path.join(apath(app, r=request),'DISABLED')
|
||||
|
||||
@@ -4,6 +4,6 @@
|
||||
|
||||
<div class="center">
|
||||
<h2>{{=T('Are you sure you want to delete file "%s"?', filename)}}</h2>
|
||||
<p>{{=FORM(INPUT(_type='submit',_name='nodelete',_value=T('Abort')),INPUT(_type='hidden',_name='sender',_value=sender), _class="inline")}}{{=FORM(INPUT(_type='submit',_name='delete',_value=T('Delete')),INPUT(_type='hidden',_name='sender',_value=sender), _class="inline")}}</p>
|
||||
<p>{{=dialog}}</p>
|
||||
</div>
|
||||
|
||||
|
||||
+21
-1
@@ -2024,8 +2024,28 @@ class FORM(DIV):
|
||||
self.validate(**kwargs)
|
||||
return self
|
||||
|
||||
REDIRECT_JS = "window.location='%s';return false"
|
||||
|
||||
def add_button(self,value,url,_class=None):
|
||||
self[0][-1][1].append(INPUT(_type="button",_value=value,_onclick="window.location='%s';return false" % url,_class=_class))
|
||||
self[0][-1][1].append(INPUT(_type="button",_value=value,_class=_class,
|
||||
_onclick=self.REDIRECT_JS % url))
|
||||
|
||||
|
||||
@staticmethod
|
||||
def dialog(text='OK',buttons=None,hidden=None):
|
||||
if not buttons: buttons = {}
|
||||
if not hidden: hidden={}
|
||||
inputs = [INPUT(_type='button',
|
||||
_value=name,
|
||||
_onclick=FORM.REDIRECT_JS % link) \
|
||||
for name,link in buttons.items()]
|
||||
inputs += [INPUT(_type='hidden',
|
||||
_name=name,
|
||||
_value=value)
|
||||
for name,value in hidden.items()]
|
||||
form = FORM(INPUT(_type='submit',_value=text),*inputs)
|
||||
form.process()
|
||||
return form
|
||||
|
||||
class BEAUTIFY(DIV):
|
||||
|
||||
|
||||
Reference in New Issue
Block a user