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:
@@ -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'),
|
||||
|
@@ -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'),
|
||||
|
@@ -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);
|
||||
}
|
||||
});
|
||||
|
@@ -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) {
|
||||
|
@@ -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;
|
||||
|
@@ -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/';
|
||||
|
Reference in New Issue
Block a user