[form] Add userName/userEmail fields to a UserMaster

This commit is contained in:
Ilya Kirillov
2025-07-01 10:51:50 +03:00
parent 667a804085
commit d43cb71066
3 changed files with 112 additions and 9 deletions

View File

@ -97,9 +97,28 @@
};
CUser.fromXml = function(reader)
{
if (!reader.ReadNextNode())
return null;
let name = reader.GetNameNoNS();
if ("user" !== reader.GetNameNoNS())
return null;
let user = new CUser();
let depth = reader.GetDepth();
while (reader.ReadNextSiblingNode(depth))
{
name = reader.GetNameNoNS();
switch(reader.GetNameNoNS())
{
case "email":
user.setEmail(reader.GetTextDecodeXml());
break;
case "telephone":
user.setTelephone(reader.GetTextDecodeXml());
break;
}
}
return user;
};

View File

@ -59,10 +59,12 @@
function CUserMaster(generateId)
{
AscOForm.CBaseFormatObject.call(this);
this.UserId = undefined;
this.Role = undefined;
this.Color = undefined;
this.UserId = undefined;
this.UserName = undefined;
this.UserEmail = undefined;
this.Role = undefined;
this.Color = undefined;
if (true === generateId)
this.setUserId(AscCommon.CreateGUID());
@ -91,6 +93,32 @@
{
return this.UserId;
};
CUserMaster.prototype.setUserName = function(userName)
{
if (userName === this.UserName)
return;
AscCommon.History.Add(new AscDFH.CChangesOFormUserMasterUserName(this, this.UserName, userName));
this.UserName = userName;
this.onChange();
};
CUserMaster.prototype.getUserName = function()
{
return this.UserName;
};
CUserMaster.prototype.setUserEmail = function(userEmail)
{
if (userEmail === this.UserEmail)
return;
AscCommon.History.Add(new AscDFH.CChangesOFormUserMasterUserEmail(this, this.UserEmail, userEmail));
this.UserEmail = userEmail;
this.onChange();
};
CUserMaster.prototype.getUserEmail = function()
{
return this.UserEmail;
};
CUserMaster.prototype.setRole = function(role)
{
if (role === this.Role)
@ -192,6 +220,12 @@
if (this.UserId)
writer.WriteXmlNodeWithText("id", this.UserId);
if (this.UserName)
writer.WriteXmlNodeWithText("name", this.UserName);
if (this.UserEmail)
writer.WriteXmlNodeWithText("email", this.UserEmail);
if (this.Role)
writer.WriteXmlNodeWithText("role", this.Role);
@ -223,6 +257,12 @@
case "id":
um.setUserId(reader.GetTextDecodeXml());
break;
case "name":
um.setUserName(reader.GetTextDecodeXml());
break;
case "email":
um.setUserEmail(reader.GetTextDecodeXml());
break;
case "role":
um.setRole(reader.GetTextDecodeXml());
break;

View File

@ -34,9 +34,11 @@
(function(window)
{
window['AscDFH'].historyitem_OForm_UserMaster_UserId = window['AscDFH'].historyitem_type_OForm_UserMaster | 1;
window['AscDFH'].historyitem_OForm_UserMaster_Role = window['AscDFH'].historyitem_type_OForm_UserMaster | 2;
window['AscDFH'].historyitem_OForm_UserMaster_Color = window['AscDFH'].historyitem_type_OForm_UserMaster | 3;
window['AscDFH'].historyitem_OForm_UserMaster_UserId = window['AscDFH'].historyitem_type_OForm_UserMaster | 1;
window['AscDFH'].historyitem_OForm_UserMaster_Role = window['AscDFH'].historyitem_type_OForm_UserMaster | 2;
window['AscDFH'].historyitem_OForm_UserMaster_Color = window['AscDFH'].historyitem_type_OForm_UserMaster | 3;
window['AscDFH'].historyitem_OForm_UserMaster_UserName = window['AscDFH'].historyitem_type_OForm_UserMaster | 4;
window['AscDFH'].historyitem_OForm_UserMaster_UserEmail = window['AscDFH'].historyitem_type_OForm_UserMaster | 5;
/**
* @constructor
@ -104,5 +106,47 @@
return new AscWord.CDocumentColor(0, 0, 0);
};
window['AscDFH'].CChangesOFormUserMasterColor = CChangesOFormUserMasterColor;
/**
* @constructor
* @extends {window['AscDFH'].CChangesBaseStringProperty}
*/
function CChangesOFormUserMasterUserName(Class, Old, New)
{
window['AscDFH'].CChangesBaseStringProperty.call(this, Class, Old, New);
}
window['AscDFH'].InheritPropertyChange(
CChangesOFormUserMasterUserName,
window['AscDFH'].CChangesBaseStringProperty,
window['AscDFH'].historyitem_OForm_UserMaster_UserName,
function(Value)
{
this.Class.UserName = Value;
this.Class.onChange();
},
false
);
window['AscDFH'].CChangesOFormUserMasterUserName = CChangesOFormUserMasterUserName;
/**
* @constructor
* @extends {window['AscDFH'].CChangesBaseStringProperty}
*/
function CChangesOFormUserMasterUserEmail(Class, Old, New)
{
window['AscDFH'].CChangesBaseStringProperty.call(this, Class, Old, New);
}
window['AscDFH'].InheritPropertyChange(
CChangesOFormUserMasterUserEmail,
window['AscDFH'].CChangesBaseStringProperty,
window['AscDFH'].historyitem_OForm_UserMaster_UserEmail,
function(Value)
{
this.Class.UserEmail = Value;
this.Class.onChange();
},
false
);
window['AscDFH'].CChangesOFormUserMasterUserEmail = CChangesOFormUserMasterUserEmail;
})(window);