This commit is contained in:
2021-08-12 18:58:03 +01:00
parent 5e5ef7190b
commit 6a682ff9ea
51 changed files with 657 additions and 192 deletions
@@ -258,6 +258,12 @@
<data name="label.created" xml:space="preserve">
<value>Created</value>
</data>
<data name="label.date.of.birth" xml:space="preserve">
<value>Date of birth</value>
</data>
<data name="label.day" xml:space="preserve">
<value>Day</value>
</data>
<data name="label.delete" xml:space="preserve">
<value>Delete</value>
</data>
@@ -282,6 +288,9 @@
<data name="label.forgotten.password" xml:space="preserve">
<value>Forgotten password?</value>
</data>
<data name="label.gender" xml:space="preserve">
<value>Gender</value>
</data>
<data name="label.good" xml:space="preserve">
<value>Good</value>
</data>
@@ -306,12 +315,18 @@
<data name="label.members" xml:space="preserve">
<value>Members</value>
</data>
<data name="label.month" xml:space="preserve">
<value>Month</value>
</data>
<data name="label.name" xml:space="preserve">
<value>Name</value>
</data>
<data name="label.no" xml:space="preserve">
<value>No</value>
</data>
<data name="label.not.specified" xml:space="preserve">
<value>Not specified</value>
</data>
<data name="label.officiating" xml:space="preserve">
<value>Officiating</value>
</data>
@@ -441,6 +456,9 @@
<data name="label.very.good" xml:space="preserve">
<value>Very Good</value>
</data>
<data name="label.year" xml:space="preserve">
<value>Year</value>
</data>
<data name="label.yes" xml:space="preserve">
<value>Yes</value>
</data>
@@ -35,6 +35,11 @@ namespace Saxonite.Net.Core.Web.Online.Controllers
public String Title { get; set; }
public String FirstName { get; set; }
public String LastName { get; set; }
public byte Gender { get; set; }
public String GenderCaption{ get; set; }
public byte DobDay { get; set; }
public byte DobMonth{ get; set; }
public short DobYear{ get; set; }
// Regions.
public int RegionIdCountry { get; set; }
public String RegionCaptionCountry { get; set; }
@@ -49,6 +54,12 @@ namespace Saxonite.Net.Core.Web.Online.Controllers
data.Title = userAccount.Title;
data.FirstName = userAccount.FirstName;
data.LastName = userAccount.LastName;
data.Gender = (byte)userAccount.Gender;
data.GenderCaption = Localiser.GetGenderCaption(userAccount.Gender);
data.DobDay= (byte)userAccount.DateOfBirthDay;
data.DobMonth = (byte)userAccount.DateOfBirthMonth;
data.DobYear = (short)userAccount.DateOfBirthYear;
// Regions.
data.RegionIdCountry = SysId.ToInt(userAccount.RegionIdCountry);
data.RegionIdProvince = SysId.ToInt(userAccount.RegionIdProvince);
using (SaxRegion regionCountry = Internals.GetRegion(userAccount.RegionIdCountry))
@@ -77,6 +88,9 @@ namespace Saxonite.Net.Core.Web.Online.Controllers
public AjaxResponse_AccountContactData(SaxModel_Online model) : base(model) { }
// Contact details.
public ContactResponseData Contact { get; set; }
// Reference data.
public List<CodeDesc> Genders { get; } = new List<CodeDesc>();
public List<CodeDesc> Months { get; } = new List<CodeDesc>();
}
// Ajax request.
[HttpPost]
@@ -92,6 +106,15 @@ namespace Saxonite.Net.Core.Web.Online.Controllers
if (!ValidUserSession) return GetAjaxResult_InvalidSession(responseData);
RefreshModel(model);
// Reference data - Genders.
responseData.Genders.Add("", Localiser["label.not.specified"]);
foreach (TypeCodeDesc gender in Internals.GenderCodes)
responseData.Genders.Add(gender.Type.ToString(), Localiser.GetGenderCaption((Sax.Gender)gender.Type));
// Reference data - Months.
for (int month= 1; month <= 12; month++)
responseData.Months.Add(month.ToString(), DateUtil.Format(new DateTime(DateTime.Today.Year, month, 1), "MMMM", SessionCulture));
// Retrieve user details.
SaxUserAccount userAccount = AccountMgr.GetUserAccountById(SessionData.User.UserAccountId);
if (userAccount == null)
@@ -101,7 +124,7 @@ namespace Saxonite.Net.Core.Web.Online.Controllers
}
// Logically delete any previous 'Uploaded' Avatar image.
ItemId userItemId = GetUserItemId(SessionData.User.UserAccountId);
ItemId userItemId = userAccount.GetItemId();
SaxItemImage itemImageAvatarUploaded = ItemDataMgr.GetItemImage(userItemId, Sax.ImageType.AvatarUpload, SaxItemImage.StatusCat.ActiveOnly);
if (itemImageAvatarUploaded != null)
{
@@ -257,6 +280,27 @@ namespace Saxonite.Net.Core.Web.Online.Controllers
userAccount.FirstName = model.AccountFirstName;
if (model.AccountLastName != null)
userAccount.LastName = model.AccountLastName;
if (model.AccountGender != null)
userAccount.Gender = model.GetAccountGender();
// Date of birth.
if (model.AccountDobYear != null)
userAccount.DateOfBirthYear = StringUtil.ToShort(model.AccountDobYear);
if (userAccount.DateOfBirthYear > 0)
{
if (model.AccountDobMonth != null)
userAccount.DateOfBirthMonth = (byte)StringUtil.ToShort(model.AccountDobMonth);
if (userAccount.DateOfBirthMonth > 0)
{
if (model.AccountDobDay != null)
userAccount.DateOfBirthDay = (byte)StringUtil.ToShort(model.AccountDobDay);
}
else userAccount.DateOfBirthDay = 0;
}
else
{
userAccount.DateOfBirthMonth = 0;
userAccount.DateOfBirthDay= 0;
}
// Regions.
if (model.AccountRegionIdCountry != null)
userAccount.RegionIdCountry = model.AccountRegionIdCountry.ToSysId();
@@ -279,7 +323,7 @@ namespace Saxonite.Net.Core.Web.Online.Controllers
RefreshSessionProfileContact(userAccount);
// Check for uploaded profile image.
ItemId userItemId = GetUserItemId(SessionData.User.UserAccountId);
ItemId userItemId = userAccount.GetItemId();
SaxItemImage itemImageAvatarUploaded = ItemDataMgr.GetItemImage(userItemId, Sax.ImageType.AvatarUpload, SaxItemImage.StatusCat.ActiveOnly);
if (itemImageAvatarUploaded != null)
{
@@ -33,6 +33,14 @@ namespace Saxonite.Net.Core.Web.Online.Models
public String AccountTitle { get; set; }
public String AccountFirstName { get; set; }
public String AccountLastName { get; set; }
public String AccountGender { get; set; }
public Sax.Gender GetAccountGender()
{
return (Sax.Gender)StringUtil.ToShort(AccountGender);
}
public String AccountDobDay { get; set; }
public String AccountDobMonth{ get; set; }
public String AccountDobYear{ get; set; }
// Regions.
public String AccountRegionIdCountry { get; set; }
public String AccountRegionCaptionCountry { get; }
@@ -60,8 +68,10 @@ namespace Saxonite.Net.Core.Web.Online.Models
}
//-------------------------------------------------------------------
// Validate users's contact details.
public bool ValidateContactDetails(SaxController_Base.AjaxResponse_Data responseData)
{
//---------------------------------------------------------------
// Title.
if (AccountTitle != null)
{
@@ -92,6 +102,31 @@ namespace Saxonite.Net.Core.Web.Online.Models
responseData.SetControlError(nameof(AccountLastName), Localiser["msg.validation.maximum.length", GetControlMaxLength(SaxDbDfn_Core.ColumnIdx.UserAccount_LastName)]);
}
//---------------------------------------------------------------
// Date of birth.
if (AccountDobYear != null)
{
responseData.SetControlValue(nameof(AccountDobYear), AccountDobYear);
short dobYear = StringUtil.ToShort(AccountDobYear);
if (!StringUtil.IsNumeric(AccountDobYear) || dobYear > DateTime.Today.Year)
responseData.SetControlError(nameof(AccountDobYear), Localiser["msg.validation.invalid.value"]);
}
if (AccountDobMonth != null)
{
responseData.SetControlValue(nameof(AccountDobMonth), AccountDobMonth);
short dobMonth = StringUtil.ToShort(AccountDobMonth);
if (!StringUtil.IsEmpty(AccountDobMonth) && (!StringUtil.IsNumeric(AccountDobMonth) || dobMonth < 0 || dobMonth > 12))
responseData.SetControlError(nameof(AccountDobMonth), Localiser["msg.validation.invalid.value"]);
}
if (AccountDobDay != null)
{
responseData.SetControlValue(nameof(AccountDobDay), AccountDobDay);
short dobDay = StringUtil.ToShort(AccountDobDay);
if (!StringUtil.IsEmpty(AccountDobDay) && (!StringUtil.IsNumeric(AccountDobDay) || dobDay < 0 || dobDay > 31))
responseData.SetControlError(nameof(AccountDobDay), Localiser["msg.validation.invalid.value"]);
}
//---------------------------------------------------------------
// Country Region.
if (AccountRegionIdCountry != null && SysId.IsValid(AccountRegionIdCountry.ToSysId()))
{
@@ -7,7 +7,7 @@
<div class="sax-header">
<div class="row">
<div class="col"><div class="sax-caption">@Localiser["account.caption.profile.contact"]</div></div>
<div class="col sax-action sax-edit"><div class="sax-caption">@Localiser["account.caption.profile.contact"]</div></div>
<div class="fixed">
@* Burger menu *@
<ul class="nav navbar-nav navbar-light navbar-right sax-burger">
@@ -86,7 +86,7 @@
@* User email *@
<div class="sax-form-control AccountEmailAddress">
<div class="sax-label">
<label for="ifAccountEmailAddress"><span><span class="required">*</span> @Localiser["label.email"]</span></label>
<label for="ifAccountEmailAddress"><span>@Localiser["label.email"]</span><span class="required">&nbsp;*</span></label>
</div>
<div class="sax-control">
@Html.TextBoxFor(model => model.AccountEmailAddress, new { @id = "ifAccountEmailAddress", @class = "AccountEmailAddress sax-input", @readonly = "readonly", @maxlength = @Model.GetControlMaxLength(SaxDbDfn_Core.ColumnIdx.UserAccount_EmailAddress) })
@@ -100,7 +100,7 @@
@* User first Title *@
<div class="sax-form-control AccountTitle pr8">
<div class="sax-label">
<label for="cbAccountTitle"><span><span class="required"></span> @Localiser["label.title"]</span></label>
<label for="cbAccountTitle"><span>@Localiser["label.title"]</span></label>
</div>
<div class="sax-control">
@Html.DropDownListFor(model => model.AccountTitle, Model.TitlesForSelect, Localiser["label.select"], new { @id = "cbAccountTitle", @class = "AccountTitle sax-select" })
@@ -113,7 +113,7 @@
@* User first name *@
<div class="sax-form-control AccountFirstName pr8">
<div class="sax-label">
<label for="ifAccountFirstName"><span><span class="required">*</span> @Localiser["label.first.name"]</span></label>
<label for="ifAccountFirstName"><span>@Localiser["label.first.name"]</span><span class="required">&nbsp;*</span></label>
</div>
<div class="sax-control">
@Html.TextBoxFor(model => model.AccountFirstName, new { @id = "ifAccountFirstName", @class = "AccountFirstName sax-input", @maxlength = @Model.GetControlMaxLength(SaxDbDfn_Core.ColumnIdx.UserAccount_FirstName) })
@@ -126,7 +126,7 @@
@* User last name *@
<div class="sax-form-control AccountLastName">
<div class="sax-label">
<label for="ifAccountLastName"><span><span class="required">*</span> @Localiser["label.last.name"]</span></label>
<label for="ifAccountLastName"><span>@Localiser["label.last.name"]</span><span class="required">&nbsp;*</span></label>
</div>
<div class="sax-control">
@Html.TextBoxFor(model => model.AccountLastName, new { @id = "ifAccountLastName", @class = "AccountLastName sax-input", @maxlength = @Model.GetControlMaxLength(SaxDbDfn_Core.ColumnIdx.UserAccount_LastName) })
@@ -137,17 +137,99 @@
</div>
@* Gender *@
<div class="sax-form-control AccountGender">
<div class="row">
<div class="col-sm-4">
<div class="sax-label">
<label for="cbAccountGender"><span>@Localiser["label.gender"]</span></label>
</div>
</div>
<div class="col-sm-8">
<div class="sax-control">
<select name="AccountGender" id="cbAccountGender" class="AccountGender sax-select"></select>
</div>
<div class="sax-message"></div>
</div>
</div>
</div>
@* Date of birth *@
<div class="row">
<div class="col-sm-4">
<div class="sax-form-control AccountDob">
<div class="sax-label">
<label for="ifAccountRegionIdCountry"><span>@Localiser["label.date.of.birth"]</span></label>
</div>
</div>
</div>
<div class="col-sm-8">
<div class="row">
@* DOB Day *@
<div class="col-4">
<div class="sax-form-control AccountDobDay pr8">
<div class="sax-label">
<label for="cbAccountDobDay"><span>@Localiser["label.day"]</span></label>
</div>
<div class="sax-control">
<select name="AccountDobDay" id="cbAccountDobDay" class="AccountDobDay sax-select" onchange="sax.refreshDob();"></select>
</div>
<div class="sax-message"></div>
</div>
</div>
@* DOB Month *@
<div class="col-4">
<div class="sax-form-control AccountDobMonth pr8">
<div class="sax-label">
<label for="cbAccountDobMonth"><span>@Localiser["label.month"]</span></label>
</div>
<div class="sax-control">
<select name="AccountDobMonth" id="cbAccountDobMonth" class="AccountDobMonth sax-select" onchange="sax.refreshDob();"></select>
</div>
<div class="sax-message"></div>
</div>
</div>
@* DOB Year *@
<div class="col-4">
<div class="sax-form-control AccountDobYear">
<div class="sax-label">
<label for="cbAccountDobYear"><span>@Localiser["label.year"]</span></label>
</div>
<div class="sax-control">
<select name="AccountDobYear" id="cbAccountDobYear" class="AccountDobYear sax-select" onchange="sax.refreshDob();"></select>
</div>
<div class="sax-message"></div>
</div>
</div>
</div>
</div>
</div>
@* Country Region *@
<div class="sax-form-control AccountRegionIdCountry">
<div class="sax-label">
<label for="ifAccountRegionIdCountry"><span><span class="required">*</span> @Localiser["label.country"]</span></label>
<div class="row">
<div class="col-sm-4">
<div class="sax-label">
<label for="ifAccountRegionIdCountry"><span>@Localiser["label.country"]</span><span class="required">&nbsp;*</span></label>
</div>
</div>
<div class="col-sm-8">
<div class="sax-control row">
@Html.HiddenFor(model => model.AccountRegionIdCountry, new { @id = "ifAccountRegionIdCountry", @class = "AccountRegionIdCountry" })
<div class="col"><input type="text" id="ifAccountRegionCaptionCountry" class="AccountRegionCaptionCountry sax-input" readonly="readonly" onDblClick="sax.selectRegionCountry()" /></div>
<div class="fixed"><button class="SelectRegionCountry sax-button" style="min-width:auto;margin-left:4px;padding:4px 6px" onclick="sax.selectRegionCountry()">@Localiser["label.select"]</button></div>
</div>
<div class="sax-message"></div>
</div>
</div>
<div class="sax-control row">
@Html.HiddenFor(model => model.AccountRegionIdCountry, new { @id = "ifAccountRegionIdCountry", @class = "AccountRegionIdCountry" })
<div class="col"><input type="text" id="ifAccountRegionCaptionCountry" class="AccountRegionCaptionCountry sax-input" readonly="readonly" onDblClick="sax.selectRegionCountry()" /></div>
<div class="fixed"><button class="SelectRegionCountry sax-button" style="min-width:auto;margin-left:4px;padding:4px 6px" onclick="sax.selectRegionCountry()">@Localiser["label.select"]</button></div>
</div>
<div class="sax-message"></div>
</div>
@* Account image *@
@@ -206,6 +288,8 @@
}
</div>
<div class="spacer2"></div>
</div>
</div>
@@ -76,7 +76,7 @@
@* Sport *@
<div class="sax-form-control ProfileSportId">
<div class="sax-label">
<label for="ifProfileSport"><span><span class="required">*</span> @Localiser["label.sport"]</span></label>
<label for="ifProfileSport"><span>@Localiser["label.sport"]</span><span class="required">&nbsp;*</span></label>
</div>
<div class="sax-control row">
<input type="hidden" id="ifProfileSportId" class="ProfileSportId" name="ProfileSportId" />
@@ -89,7 +89,7 @@
@* Sport Participation *@
<div class="sax-form-control ProfileSportParticipation">
<div class="sax-label">
<label for="cbProfileSportParticipation"><span><span class="required">*</span> @Localiser["label.participation"]</span></label>
<label for="cbProfileSportParticipation"><span>@Localiser["label.participation"]</span></label>
</div>
<div class="sax-control">
@Html.DropDownListFor(model => model.ProfileSportParticipationCode, Model.SportParticipationCodesForSelect, "", new { @id = "cbProfileSportParticipation", @class = "ProfileSportParticipation sax-select" })
@@ -100,7 +100,7 @@
@* Sport Officiating *@
<div class="sax-form-control ProfileSportOfficiating">
<div class="sax-label">
<label for="cbProfileSportOfficiating"><span><span class="required">*</span> @Localiser["label.officiating"]</span></label>
<label for="cbProfileSportOfficiating"><span>@Localiser["label.officiating"]</span></label>
</div>
<div class="sax-control">
@Html.DropDownListFor(model => model.ProfileSportOfficiatingCode, Model.SportOfficiatingCodesForSelect, "", new { @id = "cbProfileSportOfficiating", @class = "ProfileSportOfficiating sax-select" })
@@ -29,7 +29,7 @@
@* Contact Email Address *@
<div class="sax-form-control ContactEmailAddress">
<div class="sax-label">
<label for="ifContactEmailAddress"><span><span class="required">*</span> @Localiser["label.email"]</span></label>
<label for="ifContactEmailAddress"><span>@Localiser["label.email"]</span><span class="required">&nbsp;*</span></label>
</div>
<div class="sax-control">
<input type="text" id="ifContactEmailAddress" name="ContactEmailAddress" class="ContactEmailAddress sax-input" autocomplete="off" maxlength="@Model.GetControlMaxLength(SaxDbDfn_Core.ColumnIdx.UserAccount_EmailAddress)" />
@@ -44,7 +44,7 @@
@* Contact First Name *@
<div class="sax-form-control ContactFirstName pr4">
<div class="sax-label">
<label for="cbContactFirstName"><span><span class="required">*</span> @Localiser["label.first.name"]</span></label>
<label for="cbContactFirstName"><span>@Localiser["label.first.name"]</span><span class="required">&nbsp;*</span></label>
</div>
<div class="sax-control">
<input type="text" id="ifContactFirstName" name="ContactFirstName" class="ContactFirstName sax-input" autocomplete="off" maxlength="@Model.GetControlMaxLength(SaxDbDfn_Core.ColumnIdx.UserAccount_FirstName)" />
@@ -59,7 +59,7 @@
@* Contact Last Name *@
<div class="sax-form-control ContactLastName pr4">
<div class="sax-label">
<label for="cbContactLastName"><span><span class="required">*</span> @Localiser["label.last.name"]</span></label>
<label for="cbContactLastName"><span>@Localiser["label.last.name"]</span><span class="required">&nbsp;*</span></label>
</div>
<div class="sax-control">
<input type="text" id="ifContactLastName" name="ContactLastName" class="ContactLastName sax-input" autocomplete="off" maxlength="@Model.GetControlMaxLength(SaxDbDfn_Core.ColumnIdx.UserAccount_LastName)" />
@@ -82,7 +82,7 @@
@* Organisation name *@
<div class="sax-form-control OrganisationName">
<div class="sax-label">
<label for="ifOrganisationName"><span><span class="required">*</span> @Localiser["label.name"]</span></label>
<label for="ifOrganisationName"><span>@Localiser["label.name"]</span><span class="required">&nbsp;*</span></label>
</div>
<div class="sax-control">
<input type="text" id="ifOrganisationName" name="OrganisationName" class="OrganisationName sax-input" autocomplete="off" maxlength="@Model.GetControlMaxLength(SaxDbDfn_Core.ColumnIdx.Organisation_Name)" />
@@ -97,7 +97,7 @@
@* Organisation category *@
<div class="sax-form-control OrganisationCategory pr4">
<div class="sax-label">
<label for="cbOrganisationCategory"><span><span class="required">*</span> @Localiser["label.category"]</span></label>
<label for="cbOrganisationCategory"><span>@Localiser["label.category"]</span><span class="required">&nbsp;*</span></label>
</div>
<div class="sax-control">
@Html.DropDownList("", Model.OrganisationCategoriesForSelect, Localiser["label.select"], new { @id = "cbOrganisationCategory", @name = "OrganisationCategory", @class = "OrganisationCategory sax-select" })
@@ -112,7 +112,7 @@
@* Organisation type *@
<div class="sax-form-control OrganisationType">
<div class="sax-label">
<label for="cbOrganisationType"><span><span class="required">*</span> @Localiser["label.type"]</span></label>
<label for="cbOrganisationType"><span>@Localiser["label.type"]</span><span class="required">&nbsp;*</span></label>
</div>
<div class="sax-control">
@Html.DropDownList("", Model.OrganisationTypesForSelect, Localiser["label.select"], new { @id = "cbOrganisationType", @name = "OrganisationType", @class = "OrganisationType sax-select" })
@@ -127,7 +127,7 @@
@* Organisation sport *@
<div class="sax-form-control OrganisationSportId">
<div class="sax-label">
<label for="ifOrganisationSportCaption"><span><span class="required">*</span> @Localiser["label.sport"]</span></label>
<label for="ifOrganisationSportCaption"><span>@Localiser["label.sport"]</span><span class="required">&nbsp;*</span></label>
</div>
<div class="sax-control row">
<input type="hidden" id="ifOrganisationSportId" name="OrganisationSportId" OrganisationSportId"" class="OrganisationSportId" />
@@ -140,7 +140,7 @@
@* Organisation country *@
<div class="sax-form-control OrganisationRegionIdCountry">
<div class="sax-label">
<label for="ifOrganisationRegionCaption"><span><span class="required">*</span> @Localiser["label.country"]</span></label>
<label for="ifOrganisationRegionCaption"><span>@Localiser["label.country"]</span><span class="required">&nbsp;*</span></label>
</div>
<div class="sax-control row">
<input type="hidden" id="ifOrganisationRegionIdCountry" name="OrganisationRegionIdCountry" OrganisationRegionIdCountry"" class="OrganisationRegionIdCountry" />
@@ -153,7 +153,7 @@
@* Organisation address - Line 1 *@
<div class="sax-form-control OrganisationAddressLine1">
<div class="sax-caption">
<label for="ifOrganisationAddressLine1"><span><span class="required">*</span> @Localiser["label.organisation.address"]</span></label>
<label for="ifOrganisationAddressLine1"><span>@Localiser["label.organisation.address"]</span><span class="required">&nbsp;*</span></label>
</div>
<div class="sax-control row">
<div class="col"><input type="text" id="ifOrganisationAddressLine1" name="OrganisationAddressLine1" class="OrganisationAddressLine1 sax-input" autocomplete="off" maxlength="@Model.GetControlMaxLength(SaxDbDfn_Core.ColumnIdx.ItemAddress_Line1)" /> </div>
@@ -180,7 +180,7 @@
@* Organisation address - Town *@
<div class="sax-form-control OrganisationAddressTown">
<div class="sax-label">
<label for="ifOrganisationAddressTown"><span><span class="required">*</span> @Localiser["label.town"]</span></label>
<label for="ifOrganisationAddressTown"><span>@Localiser["label.town"]</span><span class="required">&nbsp;*</span></label>
</div>
<div class="sax-control row">
<div class="col"><input type="text" id="ifOrganisationAddressTown" name="OrganisationAddressTown" class="OrganisationAddressTown sax-input" autocomplete="off" maxlength="@Model.GetControlMaxLength(SaxDbDfn_Core.ColumnIdx.ItemAddress_Town)" /> </div>
@@ -191,7 +191,7 @@
@* Organisation address - Province *@
<div class="sax-form-control OrganisationAddressProvince">
<div class="sax-label">
<label for="ifOrganisationAddressProvince"><span><span class="required">*</span> @Localiser["label.province"]</span></label>
<label for="ifOrganisationAddressProvince"><span>@Localiser["label.province"]</span><span class="required">&nbsp;*</span></label>
</div>
<div class="sax-control row">
<div class="col"><input type="text" id="ifOrganisationAddressProvince" name="OrganisationAddressProvince" class="OrganisationAddressProvince sax-input" autocomplete="off" maxlength="@Model.GetControlMaxLength(SaxDbDfn_Core.ColumnIdx.ItemAddress_Province)" /> </div>
@@ -202,7 +202,7 @@
@* Organisation address - PostalCode *@
<div class="sax-form-control OrganisationAddressPostalCode">
<div class="sax-label">
<label for="ifOrganisationAddressPostalCode"><span><span class="required">*</span> @Localiser["label.postalCode"]</span></label>
<label for="ifOrganisationAddressPostalCode"><span>@Localiser["label.postalCode"]</span><span class="required">&nbsp;*</span></label>
</div>
<div class="sax-control row">
<div class="col"><input type="text" id="ifOrganisationAddressPostalCode" name="OrganisationAddressPostalCode" class="OrganisationAddressPostalCode sax-input" autocomplete="off" maxlength="@Model.GetControlMaxLength(SaxDbDfn_Core.ColumnIdx.ItemAddress_PostalCode)" /> </div>
@@ -214,7 +214,7 @@
@*
<div class="sax-form-control OrganisationPhoneMain">
<div class="sax-label">
<label for="ifOrganisationPhoneMain"><span><span class="required">*</span> @Localiser["label.phone"]</span></label>
<label for="ifOrganisationPhoneMain"><span>@Localiser["label.phone"]</span></label>
</div>
<div class="sax-control row">
<div class="col"><input type="text" id="ifOrganisationPhoneMain" name="OrganisationPhoneMain" class="OrganisationPhoneMain sax-input" autocomplete="off" maxlength="@Model.GetControlMaxLength(SaxDbDfn_Core.ColumnIdx.Item_PhoneMain)" /> </div>
@@ -47,18 +47,21 @@ else
</div>
</div>
@* Activities *@
@* Results panel *@
<div class="sax-panel-results">
<div class="sax-panel-messages"></div>
<div class="sax-panel-item-list"></div>
@* Item templates *@
<div class="sax-panel-item-template">
@* Activity template *@
<div class="sax-panel-item Activity">
<div class="sax-header row">
<div class="col">
<div class="sax-caption">
<div class="row">
<div class="col"><div class="sax-action ActivityCaption"></div></div>
<div class="col right"><div class="sax-action ActivityOrganisation"></div></div>
<div class="col center"><div class="sax-action ActivityOrganisation"></div></div>
</div>
</div>
</div>
@@ -27,7 +27,7 @@
@* Member Email Address *@
<div class="sax-form-control MemberEmailAddress">
<div class="sax-label">
<label for="ifMemberEmailAddress"><span><span class="required">*</span> @Localiser["label.email"]</span></label>
<label for="ifMemberEmailAddress"><span>@Localiser["label.email"]</span><span class="required">&nbsp;*</span></label>
</div>
<div class="sax-control">
<input type="text" name="MemberEmailAddress" class="MemberEmailAddress sax-input" autocomplete="off" readonly="readonly" maxlength="@(Model.GetControlMaxLength(SaxDbDfn_Core.ColumnIdx.UserAccount_EmailAddress))" />
@@ -53,7 +53,7 @@
@* User Title *@
<div class="sax-form-control MemberTitle">
<div class="sax-label">
<label for="cbMemberTitle"><span><span class="required">*</span> @Localiser["label.title"]</span></label>
<label for="cbMemberTitle"><span>@Localiser["label.title"]</span></label>
</div>
<div class="sax-control">
<select id="cbMemberTitle" name="MemberTitle" class="MemberTitle sax-input"></select>
@@ -66,7 +66,7 @@
@* User First Name *@
<div class="sax-form-control MemberFirstName">
<div class="sax-label">
<label for="ifMemberFirstName"><span><span class="required">*</span> @Localiser["label.first.name"]</span></label>
<label for="ifMemberFirstName"><span>@Localiser["label.first.name"]</span><span class="required">&nbsp;*</span></label>
</div>
<div class="sax-control">
<input type="text" id="ifMemberFirstName" name="MemberFirstName" class="MemberFirstName sax-input" autocomplete="off" maxlength="@(Model.GetControlMaxLength(SaxDbDfn_Core.ColumnIdx.UserAccount_FirstName))" />
@@ -79,7 +79,7 @@
@* User Last Name *@
<div class="sax-form-control MemberLastName">
<div class="sax-label">
<label for="ifMemberLastName"><span><span class="required">*</span> @Localiser["label.last.name"]</span></label>
<label for="ifMemberLastName"><span>@Localiser["label.last.name"]</span><span class="required">&nbsp;*</span></label>
</div>
<div class="sax-control">
<input type="text" id="ifMemberLastName" name="MemberLastName" class="MemberLastName sax-input" autocomplete="off" maxlength="@(Model.GetControlMaxLength(SaxDbDfn_Core.ColumnIdx.UserAccount_LastName))" />
@@ -25,7 +25,7 @@
@* Opportunity type *@
<div class="sax-form-control OpportunityTypeCode">
<div class="sax-label">
<label for="cbOpportunityType"><span><span class="required">*</span> @Localiser["label.type"]</span></label>
<label for="cbOpportunityType"><span>@Localiser["label.type"]</span><span class="required">&nbsp;*</span></label>
</div>
<div class="sax-control">
<select id="cbOpportunityType" class="OpportunityType sax-select" name="OpportunityTypeCode"></select>
@@ -36,7 +36,7 @@
@* Opportunity position *@
<div class="sax-form-control OpportunityPosition">
<div class="sax-label">
<label for="ifOpportunityPosition"><span><span class="required">*</span> @Localiser["label.position"]</span></label>
<label for="ifOpportunityPosition"><span>@Localiser["label.position"]</span><span class="required">&nbsp;*</span></label>
</div>
<div class="sax-control">
@Html.TextBoxFor(model => model.OpportunityPosition, new { @id = "ifOpportunityPosition", @class = "OpportunityPosition sax-input", @maxlength = @Model.GetControlMaxLength(SaxDbDfn_Core.ColumnIdx.OrganisationOpportunity_Position) })
@@ -47,7 +47,7 @@
@* Opportunity outline *@
<div class="sax-form-control OpportunityOutline">
<div class="sax-label">
<label for="ifOpportunityOutline"><span><span class="required">*</span> @Localiser["label.outline"]</span></label>
<label for="ifOpportunityOutline"><span>@Localiser["label.outline"]</span><span class="required">&nbsp;*</span></label>
</div>
<div class="sax-control">
@Html.TextAreaFor(model => model.OpportunityOutline, new { @id = "ifOpportunityOutline", @class = "OpportunityOutline sax-input", @maxlength = @Model.GetControlMaxLength(SaxDbDfn_Core.ColumnIdx.OrganisationOpportunity_Outline) })
@@ -58,7 +58,7 @@
@* Sport *@
<div class="sax-form-control OpportunitySportId">
<div class="sax-label">
<label for="ifOpportunitySportCaption"><span><span class="required">*</span> @Localiser["label.sport"]</span></label>
<label for="ifOpportunitySportCaption"><span>@Localiser["label.sport"]</span><span class="required">&nbsp;*</span></label>
</div>
<div class="sax-control row">
@Html.HiddenFor(model => model.OpportunitySportId, new { @id = "ifOpportunitySportId", @class = "OpportunitySportId" })
@@ -71,7 +71,7 @@
@* Region *@
<div class="sax-form-control OpportunityRegionId">
<div class="sax-label">
<label for="ifOpportunityRegionCaption"><span><span class="required">*</span> @Localiser["label.region"]</span></label>
<label for="ifOpportunityRegionCaption"><span>@Localiser["label.region"]</span><span class="required">&nbsp;*</span></label>
</div>
<div class="sax-control row">
@Html.HiddenFor(model => model.OpportunityRegionId, new { @id = "ifOpportunityRegionId", @class = "OpportunityRegionId" })
@@ -20,7 +20,7 @@
/* Current password - required when setting password within user session. */
<div class="spacer4"></div>
<div class="sax-form-control PasswordCurrent">
<div class="sax-label"><label for="ifPasswordCurrent"><span><span class="required">*</span> @Localiser["label.password.current"]</span></label></div>
<div class="sax-label"><label for="ifPasswordCurrent"><span>@Localiser["label.password.current"]</span><span class="required">&nbsp;*</span></label></div>
<div class="sax-control">
@Html.PasswordFor(model => model.PasswordCurrent, new { @id = "ifPasswordCurrent", @class = "sax-input", @maxlength = Model.PasswordMaxLength })
</div>
@@ -35,7 +35,7 @@
<div class="spacer4"></div>
<div class="sax-form-control Password">
<div class="sax-label"><label for="ifPassword"><span><span class="required">*</span> @Localiser["label.password"]</span></label></div>
<div class="sax-label"><label for="ifPassword"><span>@Localiser["label.password"]</span><span class="required">&nbsp;*</span></label></div>
<div class="sax-control">
@Html.PasswordFor(model => model.Password, new { @id = "ifPassword", @class = "sax-input", @maxlength = Model.PasswordMaxLength })
</div>
@@ -48,7 +48,7 @@
<div class="spacer4"></div>
<div class="sax-form-control PasswordConfirm">
<div class="sax-label"><label for="ifPasswordConfirm"><span><span class="required">*</span> @Localiser["label.password.confirm"]</span></label></div>
<div class="sax-label"><label for="ifPasswordConfirm"><span>@Localiser["label.password.confirm"]</span><span class="required">&nbsp;*</span></label></div>
<div class="sax-control">
@Html.PasswordFor(model => model.PasswordConfirm, new { @id = "ifPasswordConfirm", @class = "sax-input", @maxlength = Model.PasswordMaxLength })
</div>
@@ -17,7 +17,7 @@
<div class="spacer4"></div>
<div class="sax-form-control EmailAddress">
<div class="sax-label">
<label for="ifEmailAddress"><span><span class="required">*</span> @Localiser["label.email.address"]</span></label>
<label for="ifEmailAddress"><span>@Localiser["label.email.address"]</span><span class="required">&nbsp;*</span></label>
</div>
<div class="sax-control">
@Html.TextBoxFor(model => model.EmailAddress, new { @id = "ifEmailAddress", @class = "sax-input lower", @maxlength = "128" })
@@ -18,7 +18,7 @@
<div class="spacer4"></div>
<div class="sax-form-control EmailAddress">
<div class="sax-label">
<label for="ifEmailAddress"><span><span class="required">*</span> @Localiser["label.email.address"]</span></label>
<label for="ifEmailAddress"><span>@Localiser["label.email.address"]</span><span class="required">&nbsp;*</span></label>
</div>
<div class="sax-control">
@Html.TextBoxFor(model => model.EmailAddress, new { @id = "ifEmailAddress", @class = "sax-input lower", @maxlength = @Model.GetControlMaxLength(SaxDbDfn_Core.ColumnIdx.UserAccount_EmailAddress) })
@@ -31,7 +31,7 @@
<div class="row">
<div class="col-6">
<div class="sax-label">
<label for="ifPassword"><span><span class="required">*</span> @Localiser["label.password"]</span></label>
<label for="ifPassword"><span>@Localiser["label.password"]</span><span class="required">&nbsp;*</span></label>
</div>
</div>
</div>
@@ -6,6 +6,7 @@
{
"use strict";
sax.classFileDrag = 'sax-file-drag';
let $pnl = sax.$pnl, $dlg = sax.$dlg, $frm = sax.$frm;
sax.profile = { contact: {}, sports: {}, organisations: {} };
//--------------------------------------------------------------
@@ -39,7 +40,7 @@
}
sax.onRefreshProfileContactInfo = function (response)
{
//sax.debug('onRefreshProfileContactInfo', response);
sax.debug('onRefreshProfileContactInfo', response);
if (!response || !response.success || !response.contact) return;
$('.sax-panel-section').show();
var $section = $('.sax-panel-section.ProfileContact');
@@ -56,6 +57,8 @@
{
//sax.debug('onRefreshProfileContactForm', response);
if (!response || !response.success) return;
sax.data.genders = response.genders;
sax.data.months = response.months;
$('.sax-panel-section').hide();
var $section = $('.sax-panel-section.ProfileContact').show();
$('.sax-message', $section).stop(true, false).fadeOut(200).empty();
@@ -63,6 +66,16 @@
sax.refreshSelect($section, 'AccountTitle', response.contact.title);
sax.refreshInput($section, 'AccountFirstName', response.contact.firstName);
sax.refreshInput($section, 'AccountLastName', response.contact.lastName);
let $selGender = $('#cbAccountGender');
if (response.genders && response.genders.length)
sax.populateSelectCodeDesc($('#cbAccountGender'), response.genders);
sax.refreshSelect($section, 'AccountGender', response.contact.gender || '');
sax.refreshDob();
sax.refreshSelect($section, 'AccountDobYear', response.contact.dobYear);
sax.refreshDob();
sax.refreshSelect($section, 'AccountDobMonth', response.contact.dobMonth);
sax.refreshDob();
sax.refreshSelect($section, 'AccountDobDay', response.contact.dobDay);
sax.refreshInput($section, 'AccountRegionIdCountry', response.contact.regionIdCountry);
sax.refreshInput($section, 'AccountRegionCaptionCountry', response.contact.regionCaptionCountry);
sax.refreshInput($section, 'AccountRegionIdProvince', response.contact.regionIdProvince);
@@ -84,6 +97,45 @@
sax.refreshProfileContactInfo();
}
//--------------------------------------------------------------
sax.refreshDob = function ()
{
//sax.debug('refreshDob', $('#cbAccountDobYear').val(), $('#cbAccountDobMonth').val(), $('#cbAccountDobDay').val());
let now = new Date();
let $selDobYear = $('#cbAccountDobYear');
if (!$('option', $selDobYear).length)
{
$selDobYear.append($('<option>'));
for (let y = now.getFullYear(); y >= now.getFullYear() - 110 - now.getFullYear() % 10; y--)
$selDobYear.append($('<option>').prop('value', y).text(y));
}
let yearVal = $selDobYear.val();
let $selDobMonth = $('#cbAccountDobMonth');
if (!$('option', $selDobMonth).length)
{
$selDobMonth.append($('<option>'));
for (let m = 1; m <= sax.data.months.length; m++)
$selDobMonth.append($('<option>').prop('value', m).text(sax.data.months[m - 1].desc));
}
if (!yearVal)
$selDobMonth.val('');
$selDobMonth.prop('disabled', !yearVal);
let monthVal = $selDobMonth.val();
let $selDobDay = $('#cbAccountDobDay');
let dayVal = $selDobDay.val();
$selDobDay.empty();
if (!!yearVal && !!monthVal)
{
$selDobDay.append($('<option>'));
for (let dt = new Date(yearVal, monthVal - 1, 1); dt.getMonth() == monthVal - 1; dt.setDate(dt.getDate() + 1))
$selDobDay.append($('<option>').prop('value', dt.getDate()).text(dt.getDate()));
$selDobDay.val(dayVal);
}
if (!monthVal)
$selDobDay.val('');
$selDobDay.prop('disabled', !monthVal);
}
//--------------------------------------------------------------
sax.selectRegionCountry = function ()
{
@@ -132,19 +184,19 @@
$('img.ContactImageUploadProgress', context).hide();
if (response.success)
{
sax.$dlg.selectContactImage.dialog('close');
$dlg.selectContactImage.dialog('close');
$('img.AccountContact', $section).prop('src', 'Image/Account/Contact/Profile?' + (new Date()).getTime());
}
}
sax.selectContactImage = function ()
{
let $dlg = sax.$dlg.selectContactImage.dialog('option', { title: sax.dlg.title.imageUpload });
let $dlg = $dlg.selectContactImage.dialog('option', { title: sax.dlg.title.imageUpload });
$('#ifContactImage', $dlg).val('');
sax.openDialog($dlg, 560, 240);
}
sax.uploadContactImage = function ()
{
let $dlg = sax.$dlg.selectContactImage;
let $dlg = $dlg.selectContactImage;
let $fileCtrl = $('#ifContactImage', $dlg);
if (!$fileCtrl.length || !$fileCtrl[0].files.length)
return sax.doAlert(sax.dlg.title.imageUpload, sax.msg.uploadFileSelect);
@@ -200,7 +252,7 @@
sax.addProfileSport = function ()
{
//sax.debug('addProfileSport');
let $dlg = sax.$dlg.profileSport;
let $dlg = $dlg.profileSport;
$('.UserSportId,.ProfileSportExists,#ifProfileSportId,input.sax-input,select.sax-select', $dlg).val('');
$('.SelectSport', $dlg).show();
$dlg.dialog('option', 'title', sax.dlg.title.addUserSport);
@@ -216,7 +268,7 @@
sax.doUpdateProfileSport = function (response)
{
//sax.debug('doUpdateProfileSport', response);
let $dlg = sax.$dlg.profileSport;
let $dlg = $dlg.profileSport;
let item = response.sport;
$('.UserSportId', $dlg).val(item.id);
$('.ProfileSportExists', $dlg).val(1);
@@ -250,7 +302,7 @@
{
sax.refreshControlValues(response.controlValues);
if (!response || !response.success) return;
sax.$dlg.profileSport.dialog('close');
$dlg.profileSport.dialog('close');
sax.refreshProfileSportsInfo();
}
@@ -353,11 +405,11 @@
var opt = sax.dlgOpts();
opt.buttons[sax.dlg.btn.ok] = function () { sax.storeProfileSport(); };
opt.buttons[sax.dlg.btn.cancel] = function () { $(this).dialog('close'); };
sax.$dlg.profileSport = $('#dlgProfileSport').dialog(opt);
$dlg.profileSport = $('#dlgProfileSport').dialog(opt);
var opt = sax.dlgOpts();
opt.buttons[sax.dlg.btn.ok] = function () { sax.uploadContactImage(); };
opt.buttons[sax.dlg.btn.cancel] = function () { $(this).dialog('close'); };
sax.$dlg.selectContactImage = $('#dlgSelectContactImage').dialog(opt);
$dlg.selectContactImage = $('#dlgSelectContactImage').dialog(opt);
setTimeout(sax.refreshProfile, 200);
});
+6 -6
View File
@@ -19,8 +19,8 @@
var $items = $('.sax-panel-item-list', $pnl.results).fadeOut(200).empty();
var $msgs = $('.sax-panel-messages', $pnl.results).hide().empty().append($('<div class="sax-message">' + sax.msg.dataQuerying + '</div>')).fadeIn(200);
}
sax.ajaxRefreshResults = sax.ajaxRefreshResults || { url: sax.url.base + 'Article/Ajax/GetList', formId: 'frmArticleFilter', callbackFn: sax.doRefreshResults };
sax.doAjaxRequest(sax.ajaxRefreshResults, delay || 50);
sax.ajax.refreshResults = sax.ajax.refreshResults || { url: sax.url.base + 'Article/Ajax/GetList', formId: 'frmArticleFilter', callbackFn: sax.doRefreshResults };
sax.doAjaxRequest(sax.ajax.refreshResults, delay || 50);
sax.awaitingRefreshResponse = true;
}
sax.doRefreshResults = function (response)
@@ -321,8 +321,8 @@
sax.updateItem = function (id)
{
$('.ArticleId', $frm.articleId).val(id);
sax.ajaxUpdateItem = sax.ajaxUpdateItem || { url: sax.url.base + 'Article/Ajax/GetItem', formId: 'frmArticleId', callbackFn: sax.onUpdateItem };
sax.doAjaxRequest(sax.ajaxUpdateItem, 50);
sax.ajax.updateItem = sax.ajax.updateItem || { url: sax.url.base + 'Article/Ajax/GetItem', formId: 'frmArticleId', callbackFn: sax.onUpdateItem };
sax.doAjaxRequest(sax.ajax.updateItem, 50);
}
sax.onUpdateItem = function (response)
{
@@ -383,8 +383,8 @@
//--------------------------------------------------------------
sax.storeItem = function ()
{
sax.ajaxStoreItem = sax.ajaxStoreItem || { url: sax.url.base + 'Article/Ajax/StoreItem', formId: 'frmArticle', callbackFn: sax.onStoreItem };
sax.doAjaxRequest(sax.ajaxStoreItem, 50);
sax.ajax.storeItem = sax.ajax.storeItem || { url: sax.url.base + 'Article/Ajax/StoreItem', formId: 'frmArticle', callbackFn: sax.onStoreItem };
sax.doAjaxRequest(sax.ajax.storeItem, 50);
}
sax.onStoreItem = function (response)
{
@@ -17,8 +17,8 @@
var $items = $('.sax-panel-item-list', $results).fadeOut(200).empty();
var $msgs = $('.sax-panel-messages', $results).hide().empty().append($('<div class="sax-message">' + sax.msg.dataQuerying + '</div>')).fadeIn(200);
}
sax.ajaxRefreshResults = sax.ajaxRefreshResults || { url: sax.url.base + 'Organisation/Ajax/GetOpportunityList', formId: 'frmOpportunityFilter', callbackFn: sax.doRefreshResults };
sax.doAjaxRequest(sax.ajaxRefreshResults, delay || 50);
sax.ajax.refreshResults = sax.ajax.refreshResults || { url: sax.url.base + 'Organisation/Ajax/GetOpportunityList', formId: 'frmOpportunityFilter', callbackFn: sax.doRefreshResults };
sax.doAjaxRequest(sax.ajax.refreshResults, delay || 50);
sax.awaitingRefreshResponse = true;
}
sax.doRefreshResults = function (response)
@@ -88,8 +88,8 @@
sax.data.memberOrganisations = response.organisations;
if (fnCallback) fnCallback();
}
sax.ajaxUserOrgs = sax.ajaxUserOrgs || { url: sax.url.base + 'Organisation/Ajax/GetMemberOrganisationList', formId: 'frmNavigate', callbackFn: handleMemberOrganisationsResponse };
sax.doAjaxRequest(sax.ajaxUserOrgs);
sax.ajax.userOrgs = sax.ajax.userOrgs || { url: sax.url.base + 'Organisation/Ajax/GetMemberOrganisationList', formId: 'frmNavigate', callbackFn: handleMemberOrganisationsResponse };
sax.doAjaxRequest(sax.ajax.userOrgs);
}
sax.showSelectOrganisation = function ()
{
@@ -149,8 +149,8 @@
{
if (!sax.data.userCanManageOpportunities) return;
$('.OpportunityId', sax.$frm.opportunityId).val(id);
sax.ajaxUpdateItem = sax.ajaxUpdateItem || { url: sax.url.base + 'Organisation/Ajax/GetOpportunity', formId: 'frmOpportunityId', callbackFn: sax.onUpdateItem };
sax.doAjaxRequest(sax.ajaxUpdateItem, 50);
sax.ajax.updateItem = sax.ajax.updateItem || { url: sax.url.base + 'Organisation/Ajax/GetOpportunity', formId: 'frmOpportunityId', callbackFn: sax.onUpdateItem };
sax.doAjaxRequest(sax.ajax.updateItem, 50);
}
sax.onUpdateItem = function (response)
{
@@ -181,8 +181,8 @@
//--------------------------------------------------------------
sax.storeItem = function ()
{
sax.ajaxStoreItem = sax.ajaxStoreItem || { url: sax.url.base + 'Organisation/Ajax/StoreOpportunity', formId: 'frmOpportunity', callbackFn: sax.onStoreItem };
sax.doAjaxRequest(sax.ajaxStoreItem, 50);
sax.ajax.storeItem = sax.ajax.storeItem || { url: sax.url.base + 'Organisation/Ajax/StoreOpportunity', formId: 'frmOpportunity', callbackFn: sax.onStoreItem };
sax.doAjaxRequest(sax.ajax.storeItem, 50);
}
sax.onStoreItem = function (response)
{
@@ -10,8 +10,8 @@
sax.doSignin = function ()
{
sax.clearControlErrors();
sax.ajaxSignin = sax.ajaxSignin || { url: sax.url.base + 'Security/Ajax/Signin', formId: 'frmSignIn', callbackFn: sax.onSignin };
sax.doAjaxRequest(sax.ajaxSignin, 50);
sax.ajax.signin = sax.ajax.signin || { url: sax.url.base + 'Security/Ajax/Signin', formId: 'frmSignIn', callbackFn: sax.onSignin };
sax.doAjaxRequest(sax.ajax.signin, 50);
}
sax.onSignin = function (response)
{
@@ -23,8 +23,8 @@
//--------------------------------------------------------------
sax.doScorePassword = function ()
{
sax.ajaxScorePassword = sax.ajaxScorePassword || { url: sax.url.base + 'Security/Ajax/ScorePassword', formId: 'frmChangePassword', callbackFn: sax.onScorePassword, noWaitIcon: true };
sax.doAjaxRequest(sax.ajaxScorePassword, 250);
sax.ajax.scorePassword = sax.ajax.scorePassword || { url: sax.url.base + 'Security/Ajax/ScorePassword', formId: 'frmChangePassword', callbackFn: sax.onScorePassword, noWaitIcon: true };
sax.doAjaxRequest(sax.ajax.scorePassword, 250);
}
sax.onScorePassword = function (response)
{
@@ -36,8 +36,8 @@
sax.doChangePassword = function ()
{
sax.clearControlErrors();
sax.ajaxChangePassword = sax.ajaxChangePassword || { url: sax.url.base + 'Security/Ajax/StorePassword', formId: 'frmChangePassword', callbackFn: sax.onChangePassword };
sax.doAjaxRequest(sax.ajaxChangePassword, 50);
sax.ajax.changePassword = sax.ajax.changePassword || { url: sax.url.base + 'Security/Ajax/StorePassword', formId: 'frmChangePassword', callbackFn: sax.onChangePassword };
sax.doAjaxRequest(sax.ajax.changePassword, 50);
}
sax.onChangePassword = function (response)
{
@@ -52,8 +52,8 @@
sax.doRequestPassword = function ()
{
sax.clearControlErrors();
sax.ajaxRequestPassword = sax.ajaxRequestPassword || { url: sax.url.base + 'Security/Ajax/RequestNewPassword', formId: 'frmRequestPassword', callbackFn: sax.onRequestPassword };
sax.doAjaxRequest(sax.ajaxRequestPassword, 50);
sax.ajax.requestPassword = sax.ajax.requestPassword || { url: sax.url.base + 'Security/Ajax/RequestNewPassword', formId: 'frmRequestPassword', callbackFn: sax.onRequestPassword };
sax.doAjaxRequest(sax.ajax.requestPassword, 50);
}
sax.onRequestPassword = function (response)
{