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))
|
redirect(URL(sender, anchor=request.vars.id2))
|
||||||
return dict(filename=filename, sender=sender)
|
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():
|
def enable():
|
||||||
app = get_app()
|
app = get_app()
|
||||||
filename = os.path.join(apath(app, r=request),'DISABLED')
|
filename = os.path.join(apath(app, r=request),'DISABLED')
|
||||||
|
|||||||
@@ -4,6 +4,6 @@
|
|||||||
|
|
||||||
<div class="center">
|
<div class="center">
|
||||||
<h2>{{=T('Are you sure you want to delete file "%s"?', filename)}}</h2>
|
<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>
|
</div>
|
||||||
|
|
||||||
|
|||||||
+21
-1
@@ -2024,8 +2024,28 @@ class FORM(DIV):
|
|||||||
self.validate(**kwargs)
|
self.validate(**kwargs)
|
||||||
return self
|
return self
|
||||||
|
|
||||||
|
REDIRECT_JS = "window.location='%s';return false"
|
||||||
|
|
||||||
def add_button(self,value,url,_class=None):
|
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):
|
class BEAUTIFY(DIV):
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user