From fdafab3d5a720b0cab268c921fc8b7534a982dbf Mon Sep 17 00:00:00 2001 From: lian Date: Tue, 18 Aug 2015 15:18:02 +0800 Subject: [PATCH] show "Expired" when file share expired --- seahub/share/models.py | 6 ++++++ seahub/share/views.py | 1 + static/scripts/app/views/share.js | 14 ++++++++++++-- 3 files changed, 19 insertions(+), 2 deletions(-) diff --git a/seahub/share/models.py b/seahub/share/models.py index 62f04dd833..5f0fcddb0d 100644 --- a/seahub/share/models.py +++ b/seahub/share/models.py @@ -145,6 +145,12 @@ class FileShare(models.Model): def is_encrypted(self): return True if self.password is not None else False + def is_expired(self): + if self.expire_date is not None and timezone.now() > self.expire_date: + return True + else: + return False + class OrgFileShareManager(models.Manager): def set_org_file_share(self, org_id, file_share): """Set a share link as org share link. diff --git a/seahub/share/views.py b/seahub/share/views.py index ed65d90671..0348f2d1ce 100644 --- a/seahub/share/views.py +++ b/seahub/share/views.py @@ -1413,6 +1413,7 @@ def ajax_get_download_link(request): data = { 'download_link': gen_shared_link(token, l[0].s_type), 'token': token, + 'is_expired': l[0].is_expired(), } else: data = {} diff --git a/static/scripts/app/views/share.js b/static/scripts/app/views/share.js index 41c75049bf..5d95c37023 100644 --- a/static/scripts/app/views/share.js +++ b/static/scripts/app/views/share.js @@ -119,12 +119,22 @@ define([ downloadLinkPanelInit: function() { var _this = this; var after_op_success = function(data) { + _this.$('.loading-tip').hide(); + if (data['download_link']) { + if (data['is_expired']) { + _this.$('#send-download-link').addClass('hide'); + _this.$('#download-link').html(data['download_link'] + ' ' + gettext('(Expired)')) + .addClass('error'); + _this.$('#direct-dl-link').html(data['download_link']+'?raw=1' + ' ' + gettext('(Expired)')) + .addClass('error'); + } else { + _this.$('#download-link').html(data['download_link']); // TODO: + _this.$('#direct-dl-link').html(data['download_link']+'?raw=1'); // TODO: + } _this.download_link = data["download_link"]; // for 'link send' _this.download_link_token = data["token"]; // for 'link delete' - _this.$('#download-link').html(data['download_link']); // TODO: - _this.$('#direct-dl-link').html(data['download_link']+'?raw=1'); // TODO: _this.$('#download-link-operations').removeClass('hide'); } else { _this.$('#generate-download-link-form').removeClass('hide');