1
0
mirror of https://github.com/haiwen/seahub.git synced 2025-09-15 23:00:57 +00:00

Merge branch '6.3' into master

This commit is contained in:
ilearnit
2018-09-28 15:51:34 +08:00
67 changed files with 31506 additions and 29592 deletions

View File

@@ -201,12 +201,10 @@ define([
share: function() {
var dir = this.dir,
can_preview = this.model.get('can_preview'),
obj_name = this.model.get('obj_name'),
dirent_path = this.model.getPath();
var options = {
'can_preview': can_preview,
'is_repo_owner': dir.is_repo_owner,
'is_virtual': dir.is_virtual,
'user_perm': this.model.get('perm'),

View File

@@ -373,11 +373,9 @@ define([
this.hideMobileMenu();
var dir = this.dir,
obj_name = this.model.get('obj_name'),
can_preview = this.model.get('can_preview'),
dirent_path = Common.pathJoin([dir.path, obj_name]);
var options = {
'can_preview': can_preview,
'is_repo_owner': dir.is_repo_owner,
'is_virtual': dir.is_virtual,
'user_perm': this.model.get('perm'),

View File

@@ -21,9 +21,12 @@ define([
'click .rm-invitation': 'removeInvitation'
},
removeInvitation: function() {
removeInvitation: function(e) {
var _this = this;
var $el = $(e.currentTarget);
$el.hide(); // hide the icon to avoid being clicked repeatedly
$.ajax({
url: Common.getUrl({
'name': 'invitation',
@@ -37,6 +40,7 @@ define([
Common.feedback(gettext("Successfully deleted 1 item."), 'success');
},
error: function(xhr) {
$el.show();
Common.ajaxErrorHandler(xhr);
}
});

View File

@@ -30,7 +30,6 @@ define([
this.dirent_path = options.dirent_path;
this.obj_name = options.obj_name;
this.is_dir = options.is_dir;
this.can_preview = options.can_preview;
// share to user/group
var enable_dir_private_share = false;
@@ -87,24 +86,6 @@ define([
show_admin_perm_option = true;
}
// show 'can edit' perm option for download link or not
var show_link_edit_perm_option = false;
var show_link_preview_only_perm_option = true;
var file_ext = '';
if (!this.is_dir && this.obj_name.lastIndexOf('.') != -1) {
file_ext = this.obj_name.substr(this.obj_name.lastIndexOf('.') + 1)
.toLowerCase();
}
if (this.user_perm == 'rw' && !this.is_dir &&
(app.pageOptions.enable_office_web_app ||
app.pageOptions.enable_onlyoffice) &&
(file_ext == 'docx' || file_ext == 'xlsx' || file_ext == 'pptx')) {
show_link_edit_perm_option = true;
}
if (!this.is_dir && !this.can_preview) {
show_link_preview_only_perm_option = false;
}
this.$el.html(this.template({
title: gettext("Share {placeholder}")
.replace('{placeholder}', '<span class="op-target ellipsis ellipsis-op-target" title="' + Common.HTMLescape(this.obj_name) + '">' + Common.HTMLescape(this.obj_name) + '</span>'),
@@ -113,10 +94,6 @@ define([
enable_dir_private_share: this.enable_dir_private_share,
show_admin_perm_option: show_admin_perm_option,
show_link_edit_perm_option: show_link_edit_perm_option,
show_link_preview_only_perm_option: show_link_preview_only_perm_option,
user_perm: this.user_perm,
repo_id: this.repo_id,
repo_encrypted: this.repo_encrypted,
@@ -269,6 +246,33 @@ define([
$loadingTip.hide();
}
});
if (!this.is_dir) {
// check if can preview/edit file
$.ajax({
url: Common.getUrl({name: 'get_file_info', repo_id: this.repo_id}),
data: {
'p': this.dirent_path
},
cache: false,
dataType: 'json',
success: function(data) {
// show 'can preview/edit' perm option for download link or not
if (!data.can_preview) {
_this.$('#share-link-preview-only-radio').addClass('hide');
}
var file_ext = '';
if (_this.obj_name.lastIndexOf('.') != -1) {
file_ext = _this.obj_name.substr(_this.obj_name.lastIndexOf('.') + 1)
.toLowerCase();
}
if ((file_ext == 'docx' || file_ext == 'xlsx' || file_ext == 'pptx') && data.can_edit) {
_this.$('#share-link-edit-download-radio').removeClass('hide');
}
}
});
}
},
generateRandomPassword: function(e, form) {

View File

@@ -52,9 +52,21 @@ define([
}
};
var url,
repo_id = this.model.get('id'),
owner = this.model.get('owner');
if (owner.indexOf('@seafile_group') == -1) {
url = Common.getUrl({name: 'beshared_repo', repo_id: repo_id})
+ "?share_type=personal&from=" + encodeURIComponent(owner);
} else {
url = Common.getUrl({
name: 'group-owned-library-user-share-in-library',
repo_id: repo_id
});
}
$.ajax({
url: Common.getUrl({name: 'beshared_repo', repo_id: this.model.get('id')})
+ "?share_type=personal&from=" + encodeURIComponent(this.model.get('owner')),
url: url,
type: 'DELETE',
beforeSend: Common.prepareCSRFToken,
dataType: 'json',
@@ -69,9 +81,15 @@ define([
var icon_size = Common.isHiDPI() ? 48 : 24;
var icon_url = this.model.getIconUrl(icon_size);
var tmpl = $(window).width() >= 768 ? this.template : this.mobileTemplate;
var owner_name_shown = obj.owner_name;
if (obj.owner.indexOf('@seafile_group') != -1) {
owner_name_shown = obj.group_name;
}
_.extend(obj, {
'icon_url': icon_url,
'icon_title': this.model.getIconTitle()
'icon_title': this.model.getIconTitle(),
'owner_name_shown': owner_name_shown
});
this.$el.html(tmpl(obj));
return this;

View File

@@ -77,6 +77,7 @@ define([
case 'list_lib_dir': return siteRoot + 'ajax/lib/' + options.repo_id + '/dir/';
case 'del_dir': return siteRoot + 'api/v2.1/repos/' + options.repo_id + '/dir/';
case 'del_file': return siteRoot + 'api/v2.1/repos/' + options.repo_id + '/file/';
case 'get_file_info': return siteRoot + 'api/v2.1/repos/' + options.repo_id + '/file/';
case 'download_dir_zip_url': return fileServerRoot + 'zip/' + options.zip_token;
case 'zip_task': return siteRoot + 'api/v2.1/repos/' + options.repo_id + '/zip-task/';
case 'query_zip_progress': return siteRoot + 'api/v2.1/query-zip-progress/';
@@ -127,6 +128,7 @@ define([
case 'group-owned-library-user-folder-permission': return siteRoot + 'api/v2.1/group-owned-libraries/' + options.repo_id + '/user-folder-permission/';
case 'group-owned-library-group-folder-permission': return siteRoot + 'api/v2.1/group-owned-libraries/' + options.repo_id + '/group-folder-permission/';
case 'group-owned-library-user-share-in-library': return siteRoot + 'api/v2.1/group-owned-libraries/user-share-in-libraries/' + options.repo_id + '/';
// Share admin
case 'share_admin_repos': return siteRoot + 'api/v2.1/shared-repos/';