diff --git a/domain/category/endpoint.go b/domain/category/endpoint.go index 2cb4ea47..117f8218 100644 --- a/domain/category/endpoint.go +++ b/domain/category/endpoint.go @@ -310,8 +310,7 @@ func (h *Handler) GetSummary(w http.ResponseWriter, r *http.Request) { } /* - - category view permission handling - - filter users using new permission + - filter users using account.users = true/false - link/unlink document to category - check print/pdf - filter space documents by category -- URL param? nested route? diff --git a/domain/permission/endpoint.go b/domain/permission/endpoint.go index 21e1e960..4f653c6e 100644 --- a/domain/permission/endpoint.go +++ b/domain/permission/endpoint.go @@ -330,6 +330,12 @@ func (h *Handler) SetCategoryPermissions(w http.ResponseWriter, r *http.Request) return } + spaceID := request.Query(r, "space") + if len(id) == 0 { + response.WriteMissingDataError(w, method, "space") + return + } + defer streamutil.Close(r.Body) body, err := ioutil.ReadAll(r.Body) if err != nil { @@ -346,12 +352,6 @@ func (h *Handler) SetCategoryPermissions(w http.ResponseWriter, r *http.Request) return } - if len(model) == 0 { - response.WriteEmpty(w) - return - } - - spaceID := model[0].SpaceID if !HasPermission(ctx, *h.Store, spaceID, permission.SpaceManage, permission.SpaceOwner) { response.WriteForbiddenError(w) return diff --git a/gui/app/components/folder/category-admin.js b/gui/app/components/folder/category-admin.js index c99c1ae0..9a1ae185 100644 --- a/gui/app/components/folder/category-admin.js +++ b/gui/app/components/folder/category-admin.js @@ -182,6 +182,7 @@ export default Ember.Component.extend(NotifierMixin, TooltipMixin, DropdownMixin }, onGrantAccess() { + let folder = this.get('folder'); let category = this.get('currentCategory'); let users = this.get('categoryUsers').filterBy('selected', true); let viewers = []; @@ -200,7 +201,7 @@ export default Ember.Component.extend(NotifierMixin, TooltipMixin, DropdownMixin viewers.push(v); }); - this.get('categoryService').setViewers(category.get('id'), viewers).then(() => { + this.get('categoryService').setViewers(folder.get('id'), category.get('id'), viewers).then(() => { this.load(); }); diff --git a/gui/app/services/category.js b/gui/app/services/category.js index ccbba2a4..bad37b9b 100644 --- a/gui/app/services/category.js +++ b/gui/app/services/category.js @@ -111,8 +111,8 @@ export default BaseService.extend({ }, // Save list of users who can see given category - setViewers(categoryId, viewers) { - return this.get('ajax').request(`category/${categoryId}/permission`, { + setViewers(spaceId, categoryId, viewers) { + return this.get('ajax').request(`category/${categoryId}/permission?space=${spaceId}`, { method: 'PUT', contentType: 'json', data: JSON.stringify(viewers) diff --git a/gui/app/templates/components/folder/category-admin.hbs b/gui/app/templates/components/folder/category-admin.hbs index cc757b07..3066a71a 100644 --- a/gui/app/templates/components/folder/category-admin.hbs +++ b/gui/app/templates/components/folder/category-admin.hbs @@ -16,7 +16,8 @@ {{else}}
{{cat.category}}
-
{{cat.documents}} documents, {{cat.users}} people
+
+ {{cat.documents}} {{if (eq cat.documents 1) 'document' 'documents' }}, {{cat.users}} {{if (eq cat.users 1) 'person' 'people' }}
{{/if}}
diff --git a/gui/package.json b/gui/package.json index 5569dba0..27cfa260 100644 --- a/gui/package.json +++ b/gui/package.json @@ -42,6 +42,7 @@ "ember-resolver": "^4.0.0", "ember-simple-auth": "1.2.2", "ember-source": "~2.15.0", + "ember-truth-helpers": "^1.3.0", "loader.js": "^4.2.3" }, "ember-addon": { diff --git a/gui/yarn.lock b/gui/yarn.lock index 64ff2555..97da1f32 100644 --- a/gui/yarn.lock +++ b/gui/yarn.lock @@ -2663,6 +2663,12 @@ ember-test-helpers@^0.6.3: version "0.6.3" resolved "https://registry.yarnpkg.com/ember-test-helpers/-/ember-test-helpers-0.6.3.tgz#f864cdf6f4e75f3f8768d6537785b5ab6e82d907" +ember-truth-helpers@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/ember-truth-helpers/-/ember-truth-helpers-1.3.0.tgz#6ed9f83ce9a49f52bb416d55e227426339a64c60" + dependencies: + ember-cli-babel "^5.1.6" + ember-try-config@^2.0.1: version "2.1.0" resolved "https://registry.yarnpkg.com/ember-try-config/-/ember-try-config-2.1.0.tgz#e0e156229a542346a58ee6f6ad605104c98edfe0"