1
0
mirror of https://github.com/haiwen/seahub.git synced 2025-09-24 04:48:03 +00:00

update batch get repo/dir trash file

This commit is contained in:
lian
2016-01-12 14:40:50 +08:00
parent e75b1891e2
commit 43a73813a6
2 changed files with 55 additions and 42 deletions

View File

@@ -125,12 +125,11 @@ var dir_path = '{{dir_path}}',
$trash_more_loading = $('#trash-more-loading'); $trash_more_loading = $('#trash-more-loading');
var get_more_trash = function(current_scan_stat) { var get_more_trash = function(current_scan_stat) {
if (current_scan_stat != 'None') {
$trash_more_btn.addClass('hide'); $trash_more_btn.addClass('hide');
$trash_more_loading.removeClass('hide'); $trash_more_loading.removeClass('hide');
$.ajax({ $.ajax({
url:'{% url "ajax_repo_dir_recycle_more" repo.id %}' + '?scan_stat=' + current_scan_stat + '&path=' + dir_path, url:'{% url "ajax_repo_dir_recycle_more" repo.id %}' + '?scan_stat=' + current_scan_stat + '&path=' + e(dir_path),
dataType: 'json', dataType: 'json',
cache: false, cache: false,
success: function(data) { success: function(data) {
@@ -168,7 +167,6 @@ var get_more_trash = function(current_scan_stat) {
} }
}); });
} }
}
$('table').on("click", ".restore-file, .restore-dir", function() { $('table').on("click", ".restore-file, .restore-dir", function() {
$('<form>', { $('<form>', {
@@ -188,6 +186,9 @@ $('table').on("mouseleave", "tr", function() {
$(this).find('.restore-file').addClass('hide'); $(this).find('.restore-file').addClass('hide');
}); });
// has 'scan_stat' means have not scanned all commit
// 'not dir_entries' means no trash returned
// so continue scan by send ajax
{% if scan_stat and not dir_entries %} {% if scan_stat and not dir_entries %}
get_more_trash(scan_stat); get_more_trash(scan_stat);
{% endif %} {% endif %}

View File

@@ -436,7 +436,11 @@ def render_recycle_root(request, repo_id):
next = settings.SITE_ROOT if referer is None else referer next = settings.SITE_ROOT if referer is None else referer
return HttpResponseRedirect(next) return HttpResponseRedirect(next)
if not deleted_entries:
new_scan_stat = None
else:
new_scan_stat = deleted_entries[-1].scan_stat new_scan_stat = deleted_entries[-1].scan_stat
trash_more = True if new_scan_stat is not None else False trash_more = True if new_scan_stat is not None else False
deleted_entries = deleted_entries[0:-1] deleted_entries = deleted_entries[0:-1]
@@ -533,7 +537,11 @@ def render_dir_recycle_root(request, repo_id, dir_path):
next = settings.SITE_ROOT if referer is None else referer next = settings.SITE_ROOT if referer is None else referer
return HttpResponseRedirect(next) return HttpResponseRedirect(next)
if not deleted_entries:
new_scan_stat = None
else:
new_scan_stat = deleted_entries[-1].scan_stat new_scan_stat = deleted_entries[-1].scan_stat
trash_more = True if new_scan_stat is not None else False trash_more = True if new_scan_stat is not None else False
deleted_entries = deleted_entries[0:-1] deleted_entries = deleted_entries[0:-1]
@@ -607,7 +615,8 @@ def render_dir_recycle_dir(request, repo_id, commit_id, dir_path):
@login_required @login_required
def repo_recycle_view(request, repo_id): def repo_recycle_view(request, repo_id):
if check_folder_permission(request, repo_id, '/') != 'rw': if not seafile_api.get_dir_id_by_path(repo_id, '/') or \
check_folder_permission(request, repo_id, '/') != 'rw':
return render_permission_error(request, _(u'Unable to view recycle page')) return render_permission_error(request, _(u'Unable to view recycle page'))
commit_id = request.GET.get('commit_id', '') commit_id = request.GET.get('commit_id', '')
@@ -619,7 +628,10 @@ def repo_recycle_view(request, repo_id):
@login_required @login_required
def dir_recycle_view(request, repo_id): def dir_recycle_view(request, repo_id):
dir_path = request.GET.get('dir_path', '') dir_path = request.GET.get('dir_path', '')
if check_folder_permission(request, repo_id, dir_path) != 'rw':
if not seafile_api.get_dir_id_by_path(repo_id, dir_path) or \
check_folder_permission(request, repo_id, dir_path) != 'rw':
return render_permission_error(request, _(u'Unable to view recycle page')) return render_permission_error(request, _(u'Unable to view recycle page'))
commit_id = request.GET.get('commit_id', '') commit_id = request.GET.get('commit_id', '')