mirror of
https://github.com/tahoe-lafs/tahoe-lafs.git
synced 2024-12-21 05:53:12 +00:00
WUI: hook up an "overwrite" button on mutable files
This commit is contained in:
parent
97de6a03d2
commit
85b972a4c3
@ -31,6 +31,7 @@
|
|||||||
<td></td>
|
<td></td>
|
||||||
<td></td>
|
<td></td>
|
||||||
<td></td>
|
<td></td>
|
||||||
|
<td></td>
|
||||||
<td>Checker Results</td>
|
<td>Checker Results</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr n:pattern="item" n:render="row">
|
<tr n:pattern="item" n:render="row">
|
||||||
@ -39,7 +40,9 @@
|
|||||||
<td><n:slot name="size"/></td>
|
<td><n:slot name="size"/></td>
|
||||||
<td><n:slot name="data"/></td>
|
<td><n:slot name="data"/></td>
|
||||||
<td><n:slot name="delete"/></td>
|
<td><n:slot name="delete"/></td>
|
||||||
|
<td><div n:render="overwrite"/></td>
|
||||||
<td><n:slot name="rename"/></td>
|
<td><n:slot name="rename"/></td>
|
||||||
|
|
||||||
<td><n:slot name="check"/></td>
|
<td><n:slot name="check"/></td>
|
||||||
<td><n:slot name="checker_results"/></td>
|
<td><n:slot name="checker_results"/></td>
|
||||||
</tr>
|
</tr>
|
||||||
|
@ -332,6 +332,25 @@ class Directory(rend.Page):
|
|||||||
T.div(class_="freeform-form")[mount],
|
T.div(class_="freeform-form")[mount],
|
||||||
]
|
]
|
||||||
|
|
||||||
|
def render_overwrite(self, ctx, data):
|
||||||
|
name, target = data
|
||||||
|
if IMutableFileNode.providedBy(target):
|
||||||
|
overwrite = T.form(action=".", method="post",
|
||||||
|
enctype="multipart/form-data")[
|
||||||
|
T.fieldset[
|
||||||
|
T.input(type="hidden", name="t", value="overwrite"),
|
||||||
|
T.input(type='hidden', name='name', value=name),
|
||||||
|
T.input(type='hidden', name='when_done', value=url.here),
|
||||||
|
T.legend(class_="freeform-form-label")["Overwrite"],
|
||||||
|
"Choose new file: ",
|
||||||
|
T.input(type="file", name="file", class_="freeform-input-file"),
|
||||||
|
" ",
|
||||||
|
T.input(type="submit", value="Overwrite")
|
||||||
|
]]
|
||||||
|
return [T.div(class_="freeform-form")[overwrite],]
|
||||||
|
else:
|
||||||
|
return []
|
||||||
|
|
||||||
def render_results(self, ctx, data):
|
def render_results(self, ctx, data):
|
||||||
req = inevow.IRequest(ctx)
|
req = inevow.IRequest(ctx)
|
||||||
if "results" in req.args:
|
if "results" in req.args:
|
||||||
@ -790,6 +809,17 @@ class POSTHandler(rend.Page):
|
|||||||
return newnode.get_uri()
|
return newnode.get_uri()
|
||||||
d.addCallback(_done)
|
d.addCallback(_done)
|
||||||
|
|
||||||
|
elif t == "overwrite":
|
||||||
|
contents = req.fields["file"]
|
||||||
|
# SDMF: files are small, and we can only upload data.
|
||||||
|
contents.file.seek(0)
|
||||||
|
data = contents.file.read()
|
||||||
|
d = self._node.get(name)
|
||||||
|
def _got_child(child_node):
|
||||||
|
child_node.replace(data)
|
||||||
|
return child_node.get_uri()
|
||||||
|
d.addCallback(_got_child)
|
||||||
|
|
||||||
elif t == "check":
|
elif t == "check":
|
||||||
d = self._node.get(name)
|
d = self._node.get(name)
|
||||||
def _got_child(child_node):
|
def _got_child(child_node):
|
||||||
|
Loading…
Reference in New Issue
Block a user