From 3ed3eaf99ddb9bcf357fd4cdbff35a9de3050079 Mon Sep 17 00:00:00 2001 From: Alejandro Alonso Date: Thu, 7 Aug 2014 13:29:22 +0200 Subject: [PATCH] Fixing attachments permissions --- app/coffee/modules/common/attachments.coffee | 2 +- app/coffee/modules/wiki/nav.coffee | 14 +++++++++++++- app/partials/issues-detail-edit.jade | 1 + app/partials/issues-detail.jade | 1 + app/partials/task-detail-edit.jade | 1 + app/partials/task-detail.jade | 1 + app/partials/us-detail-edit.jade | 1 + app/partials/us-detail.jade | 1 + app/partials/views/modules/attachments.jade | 6 +++--- app/partials/wiki-edit.jade | 1 + app/partials/wiki.jade | 8 ++++++-- 11 files changed, 30 insertions(+), 7 deletions(-) diff --git a/app/coffee/modules/common/attachments.coffee b/app/coffee/modules/common/attachments.coffee index 1dc16c29..11c064ca 100644 --- a/app/coffee/modules/common/attachments.coffee +++ b/app/coffee/modules/common/attachments.coffee @@ -209,7 +209,7 @@ AttachmentDirective = ($log, $repo, $confirm) -> $ctrl = $el.controller() render = (attachment, isEditable=false) -> - modifyPermission = $scope.project.my_permissions.indexOf("modify_#{$attrs.ngModel}") > -1 + modifyPermission = $scope.project.my_permissions.indexOf("modify_#{$attrs.permissionSuffix}") > -1 ctx = { id: attachment.id name: attachment.name diff --git a/app/coffee/modules/wiki/nav.coffee b/app/coffee/modules/wiki/nav.coffee index 208a59e0..c331017a 100644 --- a/app/coffee/modules/wiki/nav.coffee +++ b/app/coffee/modules/wiki/nav.coffee @@ -44,7 +44,9 @@ WikiNavDirective = ($tgrepo, $log, $location, $confirm) -> @@ -54,7 +56,9 @@ WikiNavDirective = ($tgrepo, $log, $location, $confirm) -> + <% if (addWikiLinkPermission) { %> Add link + <% } %> """) link = ($scope, $el, $attrs) -> $ctrl = $el.controller() @@ -63,7 +67,15 @@ WikiNavDirective = ($tgrepo, $log, $location, $confirm) -> return $log.error "WikiNavDirective: no ng-model attr is defined" render = (wikiLinks) -> - html = template({wikiLinks: wikiLinks, projectSlug: $scope.projectSlug}) + addWikiLinkPermission = $scope.project.my_permissions.indexOf("add_wiki_link") > -1 + deleteWikiLinkPermission = $scope.project.my_permissions.indexOf("delete_wiki_link") > -1 + + html = template({ + wikiLinks: wikiLinks, + projectSlug: $scope.projectSlug + addWikiLinkPermission: addWikiLinkPermission + deleteWikiLinkPermission: deleteWikiLinkPermission + }) $el.off() $el.html(html) diff --git a/app/partials/issues-detail-edit.jade b/app/partials/issues-detail-edit.jade index cea56fe1..68570d61 100644 --- a/app/partials/issues-detail-edit.jade +++ b/app/partials/issues-detail-edit.jade @@ -25,6 +25,7 @@ block content textarea(placeholder="Write a description of your issue", ng-model="issue.description", tg-markitup) - var attachModel = "issue" + - var permissionSuffix = "issue" include views/modules/attachments textarea(ng-model="issue.comment", placeholder="Write here a new commet") diff --git a/app/partials/issues-detail.jade b/app/partials/issues-detail.jade index 4a946cf8..4c7f8779 100644 --- a/app/partials/issues-detail.jade +++ b/app/partials/issues-detail.jade @@ -28,6 +28,7 @@ block content section.us-content.wysiwyg(tg-bind-html="issue.description_html") - var attachModel = "issue" + - var permissionSuffix = "issue" include views/modules/attachments section.us-activity diff --git a/app/partials/task-detail-edit.jade b/app/partials/task-detail-edit.jade index 112e7394..839e9393 100644 --- a/app/partials/task-detail-edit.jade +++ b/app/partials/task-detail-edit.jade @@ -25,6 +25,7 @@ block content textarea(placeholder="Write a description of your task", ng-model="task.description", tg-markitup) - var attachModel = "task" + - var permissionSuffix = "task" include views/modules/attachments textarea(ng-model="task.comment", placeholder="Write here a new commet") diff --git a/app/partials/task-detail.jade b/app/partials/task-detail.jade index 714b621f..d79e63e0 100644 --- a/app/partials/task-detail.jade +++ b/app/partials/task-detail.jade @@ -28,6 +28,7 @@ block content section.us-content.wysiwyg(tg-bind-html="task.description_html") - var attachModel = "task" + - var permissionSuffix = "task" include views/modules/attachments section.us-activity diff --git a/app/partials/us-detail-edit.jade b/app/partials/us-detail-edit.jade index 477c9e83..39329ee7 100644 --- a/app/partials/us-detail-edit.jade +++ b/app/partials/us-detail-edit.jade @@ -25,6 +25,7 @@ block content textarea(placeholder="Write a description of your user story", ng-model="us.description", tg-markitup) - var attachModel = "us" + - var permissionSuffix = "us" include views/modules/attachments textarea(ng-model="us.comment", placeholder="Write here a new commet") diff --git a/app/partials/us-detail.jade b/app/partials/us-detail.jade index 047662d2..4928763e 100644 --- a/app/partials/us-detail.jade +++ b/app/partials/us-detail.jade @@ -30,6 +30,7 @@ block content section.us-content.wysiwyg(tg-bind-html="us.description_html") - var attachModel = "us" + - var permissionSuffix = "us" include views/modules/attachments section.us-activity diff --git a/app/partials/views/modules/attachments.jade b/app/partials/views/modules/attachments.jade index f8100608..61d20e32 100644 --- a/app/partials/views/modules/attachments.jade +++ b/app/partials/views/modules/attachments.jade @@ -1,4 +1,4 @@ -//- NOTE: You must to define 'var attachModel' with the object model +//- NOTE: You must to define 'var attachModel' 'var permissionSuffix' with the object model //- that have attachments section.attachments(tg-attachments, ng-model=attachModel, ng-if="#{attachModel}.id") @@ -7,13 +7,13 @@ section.attachments(tg-attachments, ng-model=attachModel, ng-if="#{attachModel}. span.icon.icon-attachments span.attachments-num 0 span.attachments-text attachments - a.button.button-gray.add-attach(tg-check-permission, permission="modify_"+attachModel, href="", title="Add new attachment") + a.button.button-gray.add-attach(tg-check-permission, permission="modify_"+permissionSuffix, href="", title="Add new attachment") span +new file input.hidden.add-attach(type="file", multiple="multiple") div.attachment-body.sortable div.hidden.single-attachment(ng-repeat="attach in attachments", - tg-attachment="attach", ng-model=attachModel) + tg-attachment="attach", permission-suffix=permissionSuffix) //- See modules/common/attachments.coffee - AttachmentDirective diff --git a/app/partials/wiki-edit.jade b/app/partials/wiki-edit.jade index e9d5b249..6050045a 100644 --- a/app/partials/wiki-edit.jade +++ b/app/partials/wiki-edit.jade @@ -22,4 +22,5 @@ block content textarea(placeholder="Write a your wiki page", ng-model="wiki.content", tg-markitup) - var attachModel = "wiki" + - var permissionSuffix = "wiki_page" include views/modules/attachments diff --git a/app/partials/wiki.jade b/app/partials/wiki.jade index 05be3fbc..bc31259c 100644 --- a/app/partials/wiki.jade +++ b/app/partials/wiki.jade @@ -15,12 +15,16 @@ block content span.green Wiki span.wiki-title(tg-bo-bind='wiki.slug|unslugify') .action-buttons - a.button.button-red.delete-wiki(href="", title="Delete", ng-click="ctrl.delete()") Delete - a.button.button-green.edit-wiki(href="", title="Edit", ng-click="ctrl.edit()") Edit + a.button.button-red.delete-wiki(tg-check-permission, permission="delete_wiki_page", + href="", title="Delete", ng-click="ctrl.delete()") Delete + + a.button.button-green.edit-wiki(tg-check-permission, permission="modify_wiki_page", + href="", title="Edit", ng-click="ctrl.edit()") Edit include views/modules/wiki-summary section.wiki-content.wysiwyg(tg-bind-html="wiki.html") - var attachModel = "wiki" + - var permissionSuffix = "wiki_page" include views/modules/attachments