v1.1.4.1
This commit is contained in:
@@ -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"> *</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"> *</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"> *</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"> *</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"> *</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"> *</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"> *</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"> *</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"> *</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"> *</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"> *</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"> *</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"> *</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"> *</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"> *</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"> *</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"> *</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"> *</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"> *</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"> *</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"> *</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"> *</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"> *</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"> *</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"> *</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"> *</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"> *</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"> *</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"> *</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"> *</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"> *</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);
|
||||
});
|
||||
|
||||
@@ -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)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user