diff --git a/module/kanban/control.php b/module/kanban/control.php index 8e584869a0..d18576d95d 100644 --- a/module/kanban/control.php +++ b/module/kanban/control.php @@ -236,11 +236,11 @@ class kanban extends control $space = $this->kanban->getSpaceById($spaceID); $spaceUsers = $spaceID == 0 ? ',' : trim($space->owner) . ',' . trim($space->team); $spacePairs = array(0 => '') + $this->kanban->getSpacePairs($type); - $users = isset($spacePairs[$spaceID]) ? $this->loadModel('user')->getPairs('noclosed|nodeleted', '', 0, $spaceUsers) : array(); - $whitelist = (isset($space->whitelist) and !empty($space->whitelist)) ? $space->whitelist : ','; + $users = $this->loadModel('user')->getPairs('noclosed|nodeleted'); + $ownerPairs = (isset($spacePairs[$spaceID])) ? $this->user->getPairs('noclosed|nodeleted', '', 0, $spaceUsers) : $users; $this->view->users = $users; - $this->view->whitelist = isset($spacePairs[$spaceID]) ? $this->user->getPairs('noclosed|nodeleted', '', 0, $whitelist) : array(); + $this->view->ownerPairs = $ownerPairs; $this->view->spaceID = $spaceID; $this->view->spacePairs = $spacePairs; $this->view->type = $type; @@ -282,11 +282,11 @@ class kanban extends control $space = $this->kanban->getSpaceById($kanban->space); $spaceUsers = trim($space->owner) . ',' . trim($space->team); - $users = $this->loadModel('user')->getPairs('noclosed|nodeleted', '', 0, $spaceUsers); - $whitelist = (isset($space->whitelist) and !empty($space->whitelist)) ? $space->whitelist : ','; + $users = $this->loadModel('user')->getPairs('noclosed|nodeleted'); + $ownerPairs = $this->user->getPairs('noclosed|nodeleted', '', 0, $spaceUsers); $this->view->users = $users; - $this->view->whitelist = $this->user->getPairs('noclosed|nodeleted', '', 0, $whitelist); + $this->view->ownerPairs = $ownerPairs; $this->view->spacePairs = array(0 => '') + array($kanban->space => $space->name) + $this->kanban->getSpacePairs($space->type); $this->view->kanban = $kanban; $this->view->type = $space->type; @@ -1844,20 +1844,21 @@ class kanban extends control /** * Ajax get contact users. * + * @param string $field * @param int $contactListID * @access public * @return string */ - public function ajaxGetContactUsers($contactListID) + public function ajaxGetContactUsers($field, $contactListID) { $this->loadModel('user'); $list = $contactListID ? $this->user->getContactListByID($contactListID) : ''; $users = $this->user->getPairs('devfirst|nodeleted|noclosed', $list ? $list->userList : '', $this->config->maxCount); - if(!$contactListID) return print(html::select('team[]', $users, '', "class='form-control chosen' multiple")); + if(!$contactListID) return print(html::select($field . '[]', $users, '', "class='form-control picker-select' multiple")); - return print(html::select('team[]', $users, $list->userList, "class='form-control chosen' multiple")); + return print(html::select($field . '[]', $users, $list->userList, "class='form-control picker-select' multiple")); } /** @@ -1913,18 +1914,16 @@ class kanban extends control * @param int $spaceID * @param string $field team|whitelist|owner * @param string $selectedUser + * @param string $space all|space * @access public * @return string */ - public function ajaxLoadSpaceUsers($spaceID, $field = '', $selectedUser = '') + public function ajaxLoadUsers($spaceID, $field = '', $selectedUser = '', $type = 'space') { $space = $this->kanban->getSpaceById($spaceID); $accounts = ''; - if(!empty($space)) - { - if($space->type == 'private' and !empty($space->whitelist)) $accounts = $space->whitelist; - if($space->type != 'private') $accounts = trim($space->owner) . ',' . trim($space->team); - } + + if(!empty($space) and $field == 'owner' and $type != 'all') $accounts = trim($space->owner) . ',' . trim($space->team); $users = $this->loadModel('user')->getPairs('noclosed|nodeleted', '', 0, $accounts); $multiple = in_array($field, array('team', 'whitelist')) ? 'multiple' : ''; diff --git a/module/kanban/js/common.js b/module/kanban/js/common.js index 7537e5215e..78e2e9f24f 100644 --- a/module/kanban/js/common.js +++ b/module/kanban/js/common.js @@ -8,13 +8,14 @@ */ function setMailto(field, value) { - var link = createLink('kanban', 'ajaxGetContactUsers', "listID=" + value); + console.log(field); + var link = createLink('kanban', 'ajaxGetContactUsers', 'field=' + field + '&listID=' + value); $.post(link, function(data) { - $('#team').replaceWith(data); - $('#team_chosen').remove(); - $('#team').chosen(); - $('.picker.picker-multi').remove(); + $('#' + field).replaceWith(data); + $('#' + field + '_chosen').remove(); + $('#' + field).siblings('.picker').remove(); + $('#' + field).picker(); }) } @@ -109,3 +110,22 @@ function changeType(type) $('#whitelistBox').addClass('hidden'); } } + +/** + * Load all users. + * + * @access public + * @return void + */ +function loadAllUsers() +{ + var link = createLink('kanban', 'ajaxLoadUsers', 'spaceID=0&field=owner&selectedUser=' + $('#owner').val() + "&type=all"); + + $.get(link, function(data) + { + $('#owner').replaceWith(data); + $('#owner' + "_chosen").remove(); + $('#owner').next('.picker').remove(); + $('#owner').chosen(); + }); +} diff --git a/module/kanban/js/create.js b/module/kanban/js/create.js index 4c7fc63489..6597751944 100644 --- a/module/kanban/js/create.js +++ b/module/kanban/js/create.js @@ -82,7 +82,7 @@ function changeValue(spaceID, type) function loadUsers(spaceID) { var field = spaceType == 'private' ? 'whitelist' : 'team'; - var link = createLink('kanban', 'ajaxLoadSpaceUsers', 'spaceID='+ spaceID + '&field=' + field + '&selectedUser=' + $('#' + field).val()); + var link = createLink('kanban', 'ajaxLoadUsers', 'spaceID='+ spaceID + '&field=' + field + '&selectedUser=' + $('#' + field).val()); $.get(link, function(data) { $('#' + field).replaceWith(data); @@ -102,7 +102,7 @@ function loadUsers(spaceID) */ function loadOwners(spaceID) { - var link = createLink('kanban', 'ajaxLoadSpaceUsers', 'spaceID='+ spaceID + '&field=owner&selectedUser=' + $('#owner').val()); + var link = createLink('kanban', 'ajaxLoadUsers', 'spaceID='+ spaceID + '&field=owner&selectedUser=' + $('#owner').val()); $.get(link, function(data) { diff --git a/module/kanban/view/create.html.php b/module/kanban/view/create.html.php index d9899d6dd1..66d29ebcb6 100644 --- a/module/kanban/view/create.html.php +++ b/module/kanban/view/create.html.php @@ -47,13 +47,19 @@ kanban->owner;?> - owner) ? $copyKanban->owner : '', "class='form-control chosen' data-drop_direction='down'");?> + +
+ owner) ? $copyKanban->owner : '', "class='form-control chosen' data-drop_direction='down'");?> + bug->allUsers, "class='btn btn-default' onclick='loadAllUsers()' data-toggle='tooltip'");?> +
+ kanban->team;?>
team) ? $copyKanban->team : '', "class='form-control picker-select' multiple data-dropDirection='bottom'");?> + fetch('my', 'buildContactLists', 'dropdownName=team');?>
@@ -91,7 +97,12 @@ whitelist;?> - whitelist) ? $copyKanban->whitelist : '', 'class="form-control picker-select" multiple');?> + +
+ whitelist) ? $copyKanban->whitelist : '', 'class="form-control picker-select" multiple');?> + fetch('my', 'buildContactLists', 'dropdownName=whitelist');?> +
+ diff --git a/module/kanban/view/edit.html.php b/module/kanban/view/edit.html.php index def34303d4..6b0cf92536 100644 --- a/module/kanban/view/edit.html.php +++ b/module/kanban/view/edit.html.php @@ -36,13 +36,19 @@ kanban->owner;?> - owner, "class='form-control chosen' data-drop_direction='down'");?> + +
+ owner, "class='form-control chosen' data-drop_direction='down'");?> + bug->allUsers, "class='btn btn-default' onclick='loadAllUsers()' data-toggle='tooltip'");?> +
+ kanban->team;?>
team, "class='form-control picker-select' multiple data-dropDirection='bottom'");?> + fetch('my', 'buildContactLists', 'dropdownName=team');?>
@@ -90,7 +96,12 @@ whitelist;?> - whitelist, 'class="form-control picker-select" multiple');?> + +
+ whitelist, 'class="form-control picker-select" multiple');?> + fetch('my', 'buildContactLists', 'dropdownName=whitelist');?> +
+