From 40f9f8750755686efd66d94776e6efe40cac6c1c Mon Sep 17 00:00:00 2001 From: zhengxie Date: Tue, 10 Jun 2014 16:26:50 +0800 Subject: [PATCH] Refactor share links in repo settings page --- seahub/templates/repo_settings.html | 10 ++++---- seahub/views/__init__.py | 36 ++++++++++------------------- 2 files changed, 17 insertions(+), 29 deletions(-) diff --git a/seahub/templates/repo_settings.html b/seahub/templates/repo_settings.html index a816cb591d..17a320d62b 100644 --- a/seahub/templates/repo_settings.html +++ b/seahub/templates/repo_settings.html @@ -86,10 +86,10 @@ {% if not link.s_type %} {% trans - {{ link.dir_name }} + {{ link.dir_name }} {{ link.username|email2nickname }} -- - Upload + {% trans "Upload" %} {{ link.view_cnt }} {% trans "Remove"%} @@ -97,15 +97,15 @@ {% else %} {% if link.s_type == 'd'%} {% trans - {{ link.filename }} + {{ link.filename }} {{ link.username|email2nickname }} {% else %} {% trans - {{ link.filename }} + {{ link.filename }} {{ link.username|email2nickname }} {% endif %} {{ link.size|filesizeformat}} - DownLoad + {% trans "Download" %} {{ link.view_cnt }} {% trans "Remove"%} diff --git a/seahub/views/__init__.py b/seahub/views/__init__.py index dff11e38ff..f362c370b8 100644 --- a/seahub/views/__init__.py +++ b/seahub/views/__init__.py @@ -473,26 +473,20 @@ def repo_settings(request, repo_id): # download links fileshares = FileShare.objects.filter(repo_id=repo_id) for fs in fileshares: - r = seafile_api.get_repo(fs.repo_id) - if not r: - fs.delete() - continue - - fs.repo = r - if fs.s_type == 'f': - if seafile_api.get_file_id_by_path(r.id, fs.path) is None: + if fs.is_file_share_link(): + if seafile_api.get_file_id_by_path(repo.id, fs.path) is None: fs.delete() continue fs.filename = os.path.basename(fs.path) fs.shared_link = gen_file_share_link(fs.token) - path = fs.path.rstrip('/') # Normalize file path - obj_id = seafile_api.get_file_id_by_path(r.id, path) - file_size = seafile_api.get_file_size(r.store_id, r.version, obj_id) - fs.size = file_size + path = fs.path.rstrip('/') # Normalize file path + obj_id = seafile_api.get_file_id_by_path(repo.id, path) + fs.size = seafile_api.get_file_size(repo.store_id, repo.version, + obj_id) repo_shared_links.append(fs) else: - if seafile_api.get_dir_id_by_path(r.id, fs.path) is None: + if seafile_api.get_dir_id_by_path(repo.id, fs.path) is None: fs.delete() continue fs.filename = os.path.basename(fs.path.rstrip('/')) @@ -502,26 +496,20 @@ def repo_settings(request, repo_id): if path[-1] != '/': # Normalize dir path path += '/' #get dir size - dir_id = seafserv_threaded_rpc.get_dirid_by_path (r.id, - r.head_cmmt_id, - path.encode('utf-8')) - dir_size = seafserv_threaded_rpc.get_dir_size(r.store_id, r.version, dir_id) - fs.size = dir_size + dir_id = seafserv_threaded_rpc.get_dirid_by_path( + repo.id, repo.head_cmmt_id, path) + fs.size = seafserv_threaded_rpc.get_dir_size(repo.store_id, + repo.version, dir_id) repo_shared_links.insert(0, fs) # upload links uploadlinks = UploadLinkShare.objects.filter(repo_id=repo_id) for link in uploadlinks: - r = seafile_api.get_repo(link.repo_id) - if not r: - link.delete() - continue - if seafile_api.get_dir_id_by_path(r.id, link.path) is None: + if seafile_api.get_dir_id_by_path(repo.id, link.path) is None: link.delete() continue link.dir_name = os.path.basename(link.path.rstrip('/')) link.shared_link = gen_shared_upload_link(link.token) - link.repo = r repo_shared_links.insert(0, link) return render_to_response('repo_settings.html', {