summaryrefslogtreecommitdiffstats
path: root/core
diff options
context:
space:
mode:
Diffstat (limited to 'core')
-rw-r--r--core/css/header.scss1
-rw-r--r--core/js/sharedialogshareelistview.js4
-rw-r--r--core/js/shareitemmodel.js6
-rw-r--r--core/js/tests/specs/sharedialogshareelistview.js31
4 files changed, 41 insertions, 1 deletions
diff --git a/core/css/header.scss b/core/css/header.scss
index e790f719a1f..879734097ae 100644
--- a/core/css/header.scss
+++ b/core/css/header.scss
@@ -561,6 +561,7 @@ nav[role='navigation'] {
span {
opacity: .6;
bottom: 2px;
+ z-index: -1; /* fix clickability issue - otherwise we need to move the span into the link */
}
/* Prominent app title for current and hovered/focused app */
diff --git a/core/js/sharedialogshareelistview.js b/core/js/sharedialogshareelistview.js
index 93373a54435..94abf55a358 100644
--- a/core/js/sharedialogshareelistview.js
+++ b/core/js/sharedialogshareelistview.js
@@ -314,7 +314,9 @@
var $edit = _this.$('#canEdit-' + _this.cid + '-' + sharee.shareId);
if($edit.length === 1) {
$edit.prop('checked', sharee.editPermissionState === 'checked');
- $edit.prop('indeterminate', sharee.editPermissionState === 'indeterminate');
+ if (sharee.isFolder) {
+ $edit.prop('indeterminate', sharee.editPermissionState === 'indeterminate');
+ }
}
});
this.$('.popovermenu').on('afterHide', function() {
diff --git a/core/js/shareitemmodel.js b/core/js/shareitemmodel.js
index 3f92a8591e5..84715ec87c1 100644
--- a/core/js/shareitemmodel.js
+++ b/core/js/shareitemmodel.js
@@ -616,6 +616,12 @@
var hcp = this.hasCreatePermission(shareIndex);
var hup = this.hasUpdatePermission(shareIndex);
var hdp = this.hasDeletePermission(shareIndex);
+ if (this.isFile()) {
+ if (hcp || hup || hdp) {
+ return 'checked';
+ }
+ return '';
+ }
if (!hcp && !hup && !hdp) {
return '';
}
diff --git a/core/js/tests/specs/sharedialogshareelistview.js b/core/js/tests/specs/sharedialogshareelistview.js
index 8e34225d199..e51fc2df72d 100644
--- a/core/js/tests/specs/sharedialogshareelistview.js
+++ b/core/js/tests/specs/sharedialogshareelistview.js
@@ -90,6 +90,37 @@ describe('OC.Share.ShareDialogShareeListView', function () {
});
describe('Sets correct initial checkbox state', function () {
+
+ it('marks edit box as unchecked for file shares without edit permissions', function () {
+ shareModel.set('shares', [{
+ id: 100,
+ item_source: 123,
+ permissions: 1,
+ share_type: OC.Share.SHARE_TYPE_USER,
+ share_with: 'user1',
+ share_with_displayname: 'User One',
+ uid_owner: oc_current_user,
+ itemType: 'file'
+ }]);
+ listView.render();
+ expect(listView.$el.find("input[name='edit']").is(':not(:checked)')).toEqual(true);
+ });
+
+ it('marks edit box as checked for file shares', function () {
+ shareModel.set('shares', [{
+ id: 100,
+ item_source: 123,
+ permissions: 1 | OC.PERMISSION_UPDATE,
+ share_type: OC.Share.SHARE_TYPE_USER,
+ share_with: 'user1',
+ share_with_displayname: 'User One',
+ uid_owner: oc_current_user,
+ itemType: 'file'
+ }]);
+ listView.render();
+ expect(listView.$el.find("input[name='edit']").is(':checked')).toEqual(true);
+ });
+
it('marks edit box as indeterminate when only some permissions are given', function () {
shareModel.set('shares', [{
id: 100,