mirror of
https://github.com/SuiteCRM/SuiteCRM-Core.git
synced 2025-08-29 08:17:18 +08:00
Merge c799a52f71
into 3e06d0f16a
This commit is contained in:
commit
f33090fe92
2 changed files with 36 additions and 15 deletions
|
@ -2792,22 +2792,20 @@
|
|||
|
||||
select = document.getElementById('userFolders');
|
||||
|
||||
var selectedSubscriptions = [];
|
||||
|
||||
for (i = 0; i < select.options.length; i++) {
|
||||
var opt = select.options[i];
|
||||
if (opt.selected && opt.value != "") {
|
||||
if (active != "") {
|
||||
active += "::";
|
||||
if (opt.selected && opt.value !== "") {
|
||||
if (!selectedSubscriptions.includes(opt.value)) {
|
||||
selectedSubscriptions.push(opt.value);
|
||||
}
|
||||
active += opt.value;
|
||||
}
|
||||
}
|
||||
|
||||
//Add the group folder ids.
|
||||
var group_folders = SUGAR.email2.folders.retrieveGroupFolderSubscriptions();
|
||||
for (i = 0; i < group_folders.length; i++) {
|
||||
active += ("::" + group_folders[i]);
|
||||
}
|
||||
|
||||
|
||||
active = selectedSubscriptions.join("::");
|
||||
|
||||
|
||||
AjaxObject.startRequest(callbackFolderSubscriptions, urlStandard + '&emailUIAction=updateSubscriptions&subscriptions=' + active);
|
||||
},
|
||||
/**
|
||||
|
|
|
@ -381,17 +381,40 @@ var AjaxObject = {
|
|||
//SUGAR.email2.accounts.rebuildFolderList(); // refresh frameFolder
|
||||
var ret = YAHOO.lang.JSON.parse(o.responseText);
|
||||
var user = document.getElementById('userFolders');
|
||||
|
||||
var userFolders = ret.userFolders;
|
||||
var groupFolders = ret.groupFolders;
|
||||
// Store the currently selected options
|
||||
var selectedOptions = Array.from(user.selectedOptions).map(function(option) {
|
||||
return option.value;
|
||||
});
|
||||
// Clear the select element
|
||||
SUGAR.email2.util.emptySelectOptions(user);
|
||||
|
||||
// Process userFolders array
|
||||
for (i = 0; i < ret.userFolders.length; i++) {
|
||||
var display = ret.userFolders[i].name;
|
||||
var value = ret.userFolders[i].id;
|
||||
var selected = (ret.userFolders[i].selected != "") ? true : false;
|
||||
var folder = userFolders[i];
|
||||
var display = folder.name;
|
||||
var value = folder.id;
|
||||
var selected = selectedOptions.includes(value);
|
||||
var opt = new Option(display, value, selected);
|
||||
opt.selected = selected;
|
||||
user.options.add(opt);
|
||||
}
|
||||
// Process groupFolders array, excluding the "--None--" option
|
||||
for (var j = 0; j < groupFolders.length; j++) {
|
||||
var groupFolder = groupFolders[j];
|
||||
|
||||
if (groupFolder.name === "--None--") {
|
||||
continue; // Skip the "--None--" option
|
||||
}
|
||||
|
||||
var groupFolderDisplay = groupFolder.name;
|
||||
var groupFolderValue = groupFolder.id;
|
||||
var groupFolderSelected = selectedOptions.includes(groupFolderValue);
|
||||
var groupFolderOpt = new Option(groupFolderDisplay, groupFolderValue, groupFolderSelected);
|
||||
groupFolderOpt.selected = groupFolderSelected;
|
||||
user.options.add(groupFolderOpt);
|
||||
}
|
||||
},
|
||||
|
||||
/**
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue