Skip to content

Commit

Permalink
fix: #7791
Browse files Browse the repository at this point in the history
  • Loading branch information
barisusakli committed Aug 13, 2019
1 parent 29f96b1 commit 7162051
Show file tree
Hide file tree
Showing 3 changed files with 36 additions and 0 deletions.
1 change: 1 addition & 0 deletions public/language/en-GB/user.json
Expand Up @@ -137,6 +137,7 @@
"follow_topics_you_create": "Watch topics you create",

"grouptitle": "Group Title",
"group-order-help": "Select a group and use the arrows to order titles",
"no-group-title": "No group title",

"select-skin": "Select a Skin",
Expand Down
23 changes: 23 additions & 0 deletions public/src/client/account/edit.js
Expand Up @@ -23,6 +23,7 @@ define('forum/account/edit', ['forum/account/header', 'translator', 'components'
handleEmailConfirm();
updateSignature();
updateAboutMe();
handleGroupSort();
};

function updateProfile() {
Expand Down Expand Up @@ -329,6 +330,28 @@ define('forum/account/edit', ['forum/account/header', 'translator', 'components'
});
}

function handleGroupSort() {
function move(direction) {
var selected = $('#groupTitle').val();
if (!ajaxify.data.allowMultipleBadges || (Array.isArray(selected) && selected.length > 1)) {
return;
}
var el = $('#groupTitle').find(':selected');
if (el.length && el.val()) {
if (direction > 0) {
el.insertAfter(el.next());
} else if (el.prev().val()) {
el.insertBefore(el.prev());
}
}
}
$('[component="group/order/up"]').on('click', function () {
move(-1);
});
$('[component="group/order/down"]').on('click', function () {
move(1);
});
}

return AccountEdit;
});
12 changes: 12 additions & 0 deletions src/controllers/accounts/edit.js
Expand Up @@ -38,9 +38,21 @@ editController.get = async function (req, res, next) {
if (!userData.allowMultipleBadges) {
userData.groupTitle = userData.groupTitleArray[0];
}

userData.groups.sort((a, b) => {
const i1 = userData.groupTitleArray.indexOf(a.name);
const i2 = userData.groupTitleArray.indexOf(b.name);
if (i1 === -1) {
return 1;
} else if (i2 === -1) {
return -1;
}
return i1 - i2;
});
userData.groups.forEach(function (group) {
group.selected = userData.groupTitleArray.includes(group.name);
});
userData.groupSelectSize = Math.min(10, Math.max(5, userData.groups.length + 1));

userData.title = '[[pages:account/edit, ' + userData.username + ']]';
userData.breadcrumbs = helpers.buildBreadcrumbs([
Expand Down

0 comments on commit 7162051

Please sign in to comment.