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

Post tag modifications to server

James Allen 12 лет назад
Родитель
Сommit
4494048cd4
1 измененных файлов с 15 добавлено и 1 удалено
  1. 15 1
      services/web/public/coffee/project-list.coffee

+ 15 - 1
services/web/public/coffee/project-list.coffee

@@ -85,7 +85,7 @@ ProjectPageApp.controller "TagListItemController", ($scope) ->
 		$scope.setActiveItem("tag")
 		$scope.updateVisibleProjects()
 
-ProjectPageApp.controller "TagDropdownItemController", ($scope) ->
+ProjectPageApp.controller "TagDropdownItemController", ($scope, $http) ->
 	$scope.$on "selection:change", (e, newValue, oldValue) ->
 		console.log "selected watch listen"
 		$scope.recalculateProjectsInTag()
@@ -105,14 +105,28 @@ ProjectPageApp.controller "TagDropdownItemController", ($scope) ->
 	$scope.removeSelectedProjectsFromTag = () ->
 		selected_project_ids = $scope.getSelectedProjectIds()
 		remaining_project_ids = []
+		removed_project_ids = []
 		for project_id in $scope.tag.project_ids
 			if project_id not in selected_project_ids
 				remaining_project_ids.push project_id
+			else
+				removed_project_ids.push project_id
 		$scope.tag.project_ids = remaining_project_ids
+
+		for project_id in removed_project_ids
+			$http.post "/project/#{project_id}/tag", { deletedTag: $scope.tag.name, _csrf: window.csrfToken }
+
 		$scope.areSelectedProjectsInTag = false
 
 	$scope.addSelectedProjectsToTag = () ->
+		added_project_ids = []
 		for project_id in $scope.getSelectedProjectIds()
 			unless project_id in $scope.tag.project_ids
 				$scope.tag.project_ids.push project_id
+				added_project_ids.push project_id
+
+		for project_id in added_project_ids
+			# TODO Factor this out into another provider?
+			$http.post "/project/#{project_id}/tag", {tag: $scope.tag.name, _csrf: window.csrfToken}
+
 		$scope.areSelectedProjectsInTag = true