mirror of
https://github.com/drakkan/sftpgo.git
synced 2025-12-08 07:10:56 +03:00
@@ -80,6 +80,7 @@ type filesPage struct {
|
|||||||
CanCreateDirs bool
|
CanCreateDirs bool
|
||||||
CanRename bool
|
CanRename bool
|
||||||
CanDelete bool
|
CanDelete bool
|
||||||
|
CanDownload bool
|
||||||
Error string
|
Error string
|
||||||
Paths []dirMapping
|
Paths []dirMapping
|
||||||
}
|
}
|
||||||
@@ -100,7 +101,7 @@ type credentialsPage struct {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func getFileObjectURL(baseDir, name string) string {
|
func getFileObjectURL(baseDir, name string) string {
|
||||||
return fmt.Sprintf("%v?path=%v", webClientFilesPath, url.QueryEscape(path.Join(baseDir, name)))
|
return fmt.Sprintf("%v?path=%v&_=%v", webClientFilesPath, url.QueryEscape(path.Join(baseDir, name)), time.Now().UTC().Unix())
|
||||||
}
|
}
|
||||||
|
|
||||||
func getFileObjectModTime(t time.Time) string {
|
func getFileObjectModTime(t time.Time) string {
|
||||||
@@ -211,6 +212,7 @@ func renderFilesPage(w http.ResponseWriter, r *http.Request, dirName, error stri
|
|||||||
CanCreateDirs: user.CanAddDirsFromWeb(dirName),
|
CanCreateDirs: user.CanAddDirsFromWeb(dirName),
|
||||||
CanRename: user.CanRenameFromWeb(dirName, dirName),
|
CanRename: user.CanRenameFromWeb(dirName, dirName),
|
||||||
CanDelete: user.CanDeleteFromWeb(dirName),
|
CanDelete: user.CanDeleteFromWeb(dirName),
|
||||||
|
CanDownload: user.HasPerm(dataprovider.PermDownload, dirName),
|
||||||
}
|
}
|
||||||
paths := []dirMapping{}
|
paths := []dirMapping{}
|
||||||
if dirName != "/" {
|
if dirName != "/" {
|
||||||
|
|||||||
@@ -467,7 +467,8 @@
|
|||||||
var files = fixedEncodeURIComponent(JSON.stringify(filesArray));
|
var files = fixedEncodeURIComponent(JSON.stringify(filesArray));
|
||||||
var downloadURL = '{{.DownloadURL}}';
|
var downloadURL = '{{.DownloadURL}}';
|
||||||
var currentDir = '{{.CurrentDir}}';
|
var currentDir = '{{.CurrentDir}}';
|
||||||
window.location = `${downloadURL}?path=${currentDir}&files=${files}`;
|
var ts = new Date().getTime().toString();
|
||||||
|
window.location = `${downloadURL}?path=${currentDir}&files=${files}&_=${ts}`;
|
||||||
},
|
},
|
||||||
enabled: false
|
enabled: false
|
||||||
};
|
};
|
||||||
@@ -614,7 +615,9 @@
|
|||||||
"initComplete": function (settings, json) {
|
"initComplete": function (settings, json) {
|
||||||
table.button().add(0, 'refresh');
|
table.button().add(0, 'refresh');
|
||||||
table.button().add(0, 'pageLength');
|
table.button().add(0, 'pageLength');
|
||||||
|
{{if .CanDownload}}
|
||||||
table.button().add(0, 'download');
|
table.button().add(0, 'download');
|
||||||
|
{{end}}
|
||||||
{{if .CanDelete}}
|
{{if .CanDelete}}
|
||||||
table.button().add(0, 'delete');
|
table.button().add(0, 'delete');
|
||||||
{{end}}
|
{{end}}
|
||||||
|
|||||||
Reference in New Issue
Block a user