mirror of
https://github.com/ONLYOFFICE/web-apps.git
synced 2026-07-26 04:04:41 +08:00
Merge pull request #2291 from ONLYOFFICE/fix/protected-ranges
[SSE] Handle user name/id for protected ranges
This commit is contained in:
@ -159,7 +159,7 @@ define([
|
||||
store: new Common.UI.DataViewStore(),
|
||||
itemTemplate: _.template([
|
||||
'<div id="<%= id %>" class="list-item" style="width: 100%;display:inline-block;">',
|
||||
'<div style="width:115px;display: inline-block;vertical-align: middle; overflow: hidden; text-overflow: ellipsis;white-space: pre;margin-right: 4px;"><%= Common.Utils.String.htmlEncode(name) %></div>',
|
||||
'<div style="width:115px;display: inline-block;vertical-align: middle; overflow: hidden; text-overflow: ellipsis;white-space: pre;margin-right: 4px;"><%= Common.Utils.String.htmlEncode(displayName) %></div>',
|
||||
'<div style="width:135px;display: inline-block;vertical-align: middle; overflow: hidden; text-overflow: ellipsis;white-space: pre;"><%= Common.Utils.String.htmlEncode(email) %></div>',
|
||||
'<div class="listitem-icon toolbar__icon cc-remove"></div>',
|
||||
'</div>'
|
||||
@ -226,14 +226,14 @@ define([
|
||||
if (props) {
|
||||
this.inputRangeName.setValue(props.asc_getName());
|
||||
this.txtDataRange.setValue(props.asc_getRef());
|
||||
this.listUser.store.add({value: this.currentUser.id, name: this.currentUser.name + ' (' + this.textYou + ')', email: '', isCurrent: true});
|
||||
this.listUser.store.add({value: this.currentUser.id, name: this.currentUser.name, displayName: this.currentUser.name + ' (' + this.textYou + ')', email: '', isCurrent: true});
|
||||
var me = this,
|
||||
rangeUsers = this.props.asc_getUsers(); // TODO: get user id and name
|
||||
rangeUsers = this.props.asc_getUsers();
|
||||
if (rangeUsers && rangeUsers.length>0) {
|
||||
var store = me.listUser.store,
|
||||
count = 1;
|
||||
rangeUsers.forEach(function(item) {
|
||||
(item!==me.currentUser.id) && store.add({value: item, name: me.textAnonymous + ' ' + count++, email: ''}); // TODO: get user name
|
||||
(item.asc_getId()!==me.currentUser.id) && store.add({value: item.asc_getId(), name: item.asc_getName() || me.textAnonymous, displayName: item.asc_getName() || me.textAnonymous + ' ' + count++, email: ''});
|
||||
});
|
||||
}
|
||||
this.onUserMenu(true);
|
||||
@ -244,7 +244,15 @@ define([
|
||||
var props = new Asc.CUserProtectedRange();
|
||||
props.asc_setName(this.inputRangeName.getValue());
|
||||
props.asc_setRef(this.txtDataRange.getValue());
|
||||
props.asc_setUsers(this.listUser.store.pluck("value")); // TODO: set user id and name
|
||||
var arr = [];
|
||||
this.listUser.store.each(function(item){
|
||||
var user = new Asc.CUserProtectedRangeUserInfo();
|
||||
user.asc_setId(item.get('value'));
|
||||
user.asc_setName(item.get('name'));
|
||||
arr.push(user);
|
||||
});
|
||||
|
||||
props.asc_setUsers(arr);
|
||||
return props;
|
||||
},
|
||||
|
||||
@ -286,7 +294,7 @@ define([
|
||||
if (value!==undefined && value!=='') {
|
||||
var rec = store.findWhere({value: value});
|
||||
if (!rec) {
|
||||
store.add({value: value, name: record.displayValue, email: record.value});
|
||||
store.add({value: value, name: record.displayValue, displayName: record.displayValue, email: record.value});
|
||||
}
|
||||
}
|
||||
this.cmbUser.setRawValue(this._userStr);
|
||||
@ -331,6 +339,7 @@ define([
|
||||
var rec = _.findWhere(users, {id: item.get('value')});
|
||||
if (rec) {
|
||||
rec.name && item.set('name', rec.name);
|
||||
rec.name && item.set('displayName', rec.name);
|
||||
rec.email && item.set('email', rec.email);
|
||||
}
|
||||
});
|
||||
|
||||
@ -177,7 +177,8 @@ define([ 'text!spreadsheeteditor/main/app/template/ProtectedRangesManagerDlg.te
|
||||
var sheetIndex = this.cmbFilter.getValue();
|
||||
var ranges = this.api.asc_getUserProtectedRanges(sheetIndex>=0 ? this.api.asc_getWorksheetName(sheetIndex) : undefined);
|
||||
if (ranges) {
|
||||
var arr = [];
|
||||
var arr = [],
|
||||
currentId = this.currentUser.id;
|
||||
for (var i=0; i<ranges.length; i++) {
|
||||
var id = ranges[i].asc_getIsLock(),
|
||||
users = ranges[i].asc_getUsers();
|
||||
@ -187,7 +188,7 @@ define([ 'text!spreadsheeteditor/main/app/template/ProtectedRangesManagerDlg.te
|
||||
rangeId: ranges[i].asc_getId() || '',
|
||||
users: users,
|
||||
props: ranges[i],
|
||||
canEdit: _.indexOf(users, this.currentUser.id)>=0,
|
||||
canEdit: !!_.find(users, function(item) { return (item.asc_getId()===currentId); }),
|
||||
lock: (id!==null && id!==undefined),
|
||||
lockuser: (id) ? (this.isUserVisible(id) ? this.getUserName(id) : this.lockText) : this.guestText
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user