Просмотр исходного кода

Merge pull request #640 from sharelatex/as-fix-leave-quick-action

Show leave quick action instead of archive for unowned projects
Alasdair Smith 8 лет назад
Родитель
Сommit
f3c871a972

+ 10 - 2
services/web/app/views/project/list/item.pug

@@ -64,13 +64,21 @@ if settings.overleaf
 		)
 		)
 			i.icon.fa.fa-cloud-download
 			i.icon.fa.fa-cloud-download
 		button.btn.btn-link.action-btn(
 		button.btn.btn-link.action-btn(
-			ng-if="!project.archived"
+			ng-if="!project.archived && isOwner()"
 			tooltip=translate('archive'),
 			tooltip=translate('archive'),
 			tooltip-placement="top",
 			tooltip-placement="top",
 			tooltip-append-to-body="true",
 			tooltip-append-to-body="true",
-			ng-click="archive($event)"
+			ng-click="archiveOrLeave($event)"
 		)
 		)
 			i.icon.fa.fa-inbox
 			i.icon.fa.fa-inbox
+		button.btn.btn-link.action-btn(
+			ng-if="!project.archived && !isOwner()"
+			tooltip=translate('leave'),
+			tooltip-placement="top",
+			tooltip-append-to-body="true",
+			ng-click="archiveOrLeave($event)"
+		)
+			i.icon.fa.fa-sign-out
 		button.btn.btn-link.action-btn(
 		button.btn.btn-link.action-btn(
 			ng-if="project.archived"
 			ng-if="project.archived"
 			tooltip=translate('unarchive'),
 			tooltip=translate('unarchive'),

+ 4 - 1
services/web/public/coffee/main/project-list/project-list.coffee

@@ -490,6 +490,9 @@ define [
 			else
 			else
 				return "None"
 				return "None"
 
 
+		$scope.isOwner = () ->
+			window.user_id == $scope.project.owner._id
+
 		$scope.$watch "project.selected", (value) ->
 		$scope.$watch "project.selected", (value) ->
 			if value?
 			if value?
 				$scope.updateSelectedProjects()
 				$scope.updateSelectedProjects()
@@ -502,7 +505,7 @@ define [
 			e.stopPropagation()
 			e.stopPropagation()
 			$scope.downloadProjectsById([$scope.project.id])
 			$scope.downloadProjectsById([$scope.project.id])
 
 
-		$scope.archive = (e) ->
+		$scope.archiveOrLeave = (e) ->
 			e.stopPropagation()
 			e.stopPropagation()
 			$scope.archiveOrLeaveProjects([$scope.project])
 			$scope.archiveOrLeaveProjects([$scope.project])