diff --git a/css/style.scss b/css/style.scss index 3e33529c3..fa0116a18 100644 --- a/css/style.scss +++ b/css/style.scss @@ -350,6 +350,20 @@ input.input-inline { padding: 5px; } + .card-assigned-users { + display: flex; + justify-content: flex-end; + flex-grow: 1; + .assigned-user { + margin-right: 5px; + z-index: 4; + } + .avatardiv, .avatardiv img { + width: 26px !important; + height: 26px !important; + } + } + .card-controls { padding: 10px; background: $color-lightgrey; @@ -357,10 +371,7 @@ input.input-inline { position: relative; .card-options { - opacity: 0.3; - position: absolute; - right: 10px; - top: 8px; + justify-content: flex-end; } &:hover .card-options { @@ -374,6 +385,8 @@ input.input-inline { button { padding: 0px; margin-right: 0px; + margin-top: 5px; + margin-left: 5px; } } diff --git a/js/controller/CardController.js b/js/controller/CardController.js index 22b43c455..938ad9c18 100644 --- a/js/controller/CardController.js +++ b/js/controller/CardController.js @@ -135,12 +135,16 @@ app.controller('CardController', function ($scope, $rootScope, $routeParams, $lo }; $scope.addAssignedUser = function(item) { - CardService.assignUser(CardService.getCurrent(), item.uid); + CardService.assignUser(CardService.getCurrent(), item.uid).then(function (data) { + StackService.updateCard(CardService.getCurrent()); + }); $scope.status.showAssignUser = false; }; $scope.removeAssignedUser = function(item) { - CardService.unassignUser(CardService.getCurrent(), item.participant.uid); + CardService.unassignUser(CardService.getCurrent(), item.participant.uid).then(function (data) { + StackService.updateCard(CardService.getCurrent()); + }); }; }); \ No newline at end of file diff --git a/js/service/CardService.js b/js/service/CardService.js index 4e6fc60e2..92355f3ba 100644 --- a/js/service/CardService.js +++ b/js/service/CardService.js @@ -98,6 +98,8 @@ app.factory('CardService', function(ApiService, $http, $q){ CardService.prototype.assignUser = function (card, user) { var deferred = $q.defer(); var self = this; + if (self.getCurrent().assignedUsers === null) + self.getCurrent().assignedUsers = []; $http.post(this.baseUrl + '/' + card.id + '/assign', {'userId': user}).then(function (response) { self.getCurrent().assignedUsers.push(response.data); deferred.resolve(response.data); diff --git a/lib/Controller/StackController.php b/lib/Controller/StackController.php index 1c822e4f1..3e2e358ed 100644 --- a/lib/Controller/StackController.php +++ b/lib/Controller/StackController.php @@ -33,10 +33,10 @@ class StackController extends Controller { private $userId; private $stackService; - public function __construct($appName, IRequest $request, StackService $cardService, $userId) { + public function __construct($appName, IRequest $request, StackService $stackService, $userId) { parent::__construct($appName, $request); $this->userId = $userId; - $this->stackService = $cardService; + $this->stackService = $stackService; } /** diff --git a/lib/Service/StackService.php b/lib/Service/StackService.php index 18cb95cbb..b80cba14e 100644 --- a/lib/Service/StackService.php +++ b/lib/Service/StackService.php @@ -26,7 +26,7 @@ use OCA\Deck\Db\Acl; use OCA\Deck\Db\CardMapper; use OCA\Deck\Db\LabelMapper; - +use OCA\Deck\Db\AssignedUsersMapper; use OCA\Deck\Db\Stack; @@ -42,12 +42,13 @@ class StackService { private $permissionService; private $boardService; - public function __construct(StackMapper $stackMapper, CardMapper $cardMapper, LabelMapper $labelMapper, PermissionService $permissionService, BoardService $boardService) { + public function __construct(StackMapper $stackMapper, CardMapper $cardMapper, LabelMapper $labelMapper, PermissionService $permissionService, BoardService $boardService, AssignedUsersMapper $assignedUsersMapper) { $this->stackMapper = $stackMapper; $this->cardMapper = $cardMapper; $this->labelMapper = $labelMapper; $this->permissionService = $permissionService; $this->boardService = $boardService; + $this->assignedUsersMapper = $assignedUsersMapper; } public function findAll($boardId) { @@ -57,6 +58,8 @@ public function findAll($boardId) { foreach ($stacks as $stackIndex => $stack) { $cards = $this->cardMapper->findAll($stack->id); foreach ($cards as $cardIndex => $card) { + $assignedUsers = $this->assignedUsersMapper->find($card->getId()); + $card->setAssignedUsers($assignedUsers); if (array_key_exists($card->id, $labels)) { $cards[$cardIndex]->setLabels($labels[$card->id]); } diff --git a/templates/part.board.mainView.php b/templates/part.board.mainView.php index 8d2937589..58006a701 100644 --- a/templates/part.board.mainView.php +++ b/templates/part.board.mainView.php @@ -70,6 +70,11 @@
+