v1.1.0.0
This commit is contained in:
@@ -21,7 +21,7 @@ namespace Saxonite.Net.Core.Web.Admin.Controllers
|
||||
{
|
||||
//-------------------------------------------------------------------
|
||||
// Organisation data.
|
||||
public class OrganisationData_List
|
||||
private class OrganisationData_List
|
||||
{
|
||||
public String Id { get; set; }
|
||||
public String Name { get; set; }
|
||||
@@ -40,7 +40,7 @@ namespace Saxonite.Net.Core.Web.Admin.Controllers
|
||||
public String StatusCode { get; set; }
|
||||
public String StatusDesc { get; set; }
|
||||
}
|
||||
public class OrganisationData_Full : OrganisationData_List
|
||||
private class OrganisationData_Full : OrganisationData_List
|
||||
{
|
||||
}
|
||||
private void PopulateOrganisationResponseData(SaxOrganisation organisation, OrganisationData_List data)
|
||||
@@ -72,8 +72,11 @@ namespace Saxonite.Net.Core.Web.Admin.Controllers
|
||||
//-------------------------------------------------------------------
|
||||
// Get Organisation List ajax request.
|
||||
//-------------------------------------------------------------------
|
||||
public class AjaxResponse_OrganisationList : AjaxResponse_Data
|
||||
private class AjaxResponse_OrganisationList : AjaxResponse_Data
|
||||
{
|
||||
// Construction.
|
||||
public AjaxResponse_OrganisationList(SaxModel_Admin model) : base(model) { }
|
||||
// Organisation list.
|
||||
public List<OrganisationData_List> Organisations { get; } = new List<OrganisationData_List>();
|
||||
// Reference data.
|
||||
public List<CodeDesc> Statuses { get; } = new List<CodeDesc>();
|
||||
@@ -86,7 +89,7 @@ namespace Saxonite.Net.Core.Web.Admin.Controllers
|
||||
{
|
||||
String fn = GetType().Name + ".Ajax_GetList";
|
||||
String messageTitle = Localiser["organisation.caption.organisations"];
|
||||
AjaxResponse_OrganisationList responseData = new AjaxResponse_OrganisationList();
|
||||
AjaxResponse_OrganisationList responseData = new AjaxResponse_OrganisationList(model);
|
||||
|
||||
// Validate session.
|
||||
if (!ValidUserSession)
|
||||
@@ -170,8 +173,11 @@ namespace Saxonite.Net.Core.Web.Admin.Controllers
|
||||
//-------------------------------------------------------------------
|
||||
// Get Organisation ajax request.
|
||||
//-------------------------------------------------------------------
|
||||
public class AjaxResponse_Organisation : AjaxResponse_Data
|
||||
private class AjaxResponse_Organisation : AjaxResponse_Data
|
||||
{
|
||||
// Construction.
|
||||
public AjaxResponse_Organisation(SaxModel_Admin model) : base(model) { }
|
||||
// Organisation details.
|
||||
public OrganisationData_Full organisation { get; } = new OrganisationData_Full();
|
||||
}
|
||||
//-------------------------------------------------------------------
|
||||
@@ -181,7 +187,7 @@ namespace Saxonite.Net.Core.Web.Admin.Controllers
|
||||
{
|
||||
String fn = GetType().Name + ".Ajax_GetItem";
|
||||
String messageTitle = Localiser["organisation.caption.organisation"];
|
||||
AjaxResponse_Organisation responseData = new AjaxResponse_Organisation();
|
||||
AjaxResponse_Organisation responseData = new AjaxResponse_Organisation(model);
|
||||
|
||||
// Validate session.
|
||||
if (!ValidUserSession)
|
||||
@@ -218,7 +224,7 @@ namespace Saxonite.Net.Core.Web.Admin.Controllers
|
||||
{
|
||||
String fn = GetType().Name + ".Ajax_StoreItem";
|
||||
String messageTitle = Localiser["organisation.caption.organisation"];
|
||||
AjaxResponse_Organisation responseData = new AjaxResponse_Organisation();
|
||||
AjaxResponse_Organisation responseData = new AjaxResponse_Organisation(model);
|
||||
|
||||
// Validate session.
|
||||
if (!ValidUserSession)
|
||||
|
||||
@@ -21,7 +21,7 @@ namespace Saxonite.Net.Core.Web.Admin.Controllers
|
||||
{
|
||||
//-------------------------------------------------------------------
|
||||
// Member data.
|
||||
public class MemberData_List
|
||||
private class MemberData_List
|
||||
{
|
||||
public String Id { get; set; }
|
||||
public String UserAccountId { get; set; }
|
||||
@@ -34,7 +34,7 @@ namespace Saxonite.Net.Core.Web.Admin.Controllers
|
||||
public String StatusCode { get; set; }
|
||||
public String StatusDesc { get; set; }
|
||||
}
|
||||
public class MemberData_Full : MemberData_List
|
||||
private class MemberData_Full : MemberData_List
|
||||
{
|
||||
}
|
||||
private void PopulateMemberResponseData(MemberData_List data, SaxUserOrganisation userOrganisation, SaxUserAccount userAccount, SaxOrganisation organisation)
|
||||
@@ -60,8 +60,11 @@ namespace Saxonite.Net.Core.Web.Admin.Controllers
|
||||
//-------------------------------------------------------------------
|
||||
// Get Organisation Member List ajax request.
|
||||
//-------------------------------------------------------------------
|
||||
public class AjaxResponse_MemberList : AjaxResponse_Data
|
||||
private class AjaxResponse_MemberList : AjaxResponse_Data
|
||||
{
|
||||
// Construction.
|
||||
public AjaxResponse_MemberList(SaxModel_Admin model) : base(model) { }
|
||||
// Member list.
|
||||
public List<MemberData_List> Members { get; } = new List<MemberData_List>();
|
||||
// Reference data.
|
||||
public List<CodeDesc> MemberRoles { get; } = new List<CodeDesc>();
|
||||
@@ -75,7 +78,7 @@ namespace Saxonite.Net.Core.Web.Admin.Controllers
|
||||
{
|
||||
String fn = GetType().Name + ".Ajax_GetMemberList";
|
||||
String messageTitle = Localiser["organisation.caption.members"];
|
||||
AjaxResponse_MemberList responseData = new AjaxResponse_MemberList();
|
||||
AjaxResponse_MemberList responseData = new AjaxResponse_MemberList(model);
|
||||
|
||||
// Validate session.
|
||||
if (!ValidUserSession)
|
||||
@@ -165,8 +168,11 @@ namespace Saxonite.Net.Core.Web.Admin.Controllers
|
||||
//-------------------------------------------------------------------
|
||||
// Get Organisation Member ajax request.
|
||||
//-------------------------------------------------------------------
|
||||
public class AjaxResponse_Member : AjaxResponse_Data
|
||||
private class AjaxResponse_Member : AjaxResponse_Data
|
||||
{
|
||||
// Construction.
|
||||
public AjaxResponse_Member(SaxModel_Admin model) : base(model) { }
|
||||
// Member details.
|
||||
public MemberData_Full Member { get; } = new MemberData_Full();
|
||||
}
|
||||
//-------------------------------------------------------------------
|
||||
@@ -176,7 +182,7 @@ namespace Saxonite.Net.Core.Web.Admin.Controllers
|
||||
{
|
||||
String fn = GetType().Name + ".Ajax_GetItem";
|
||||
String messageTitle = Localiser["organisation.caption.member"];
|
||||
AjaxResponse_Member responseData = new AjaxResponse_Member();
|
||||
AjaxResponse_Member responseData = new AjaxResponse_Member(model);
|
||||
|
||||
// Validate session.
|
||||
if (!ValidUserSession)
|
||||
@@ -226,7 +232,7 @@ namespace Saxonite.Net.Core.Web.Admin.Controllers
|
||||
{
|
||||
String fn = GetType().Name + ".Ajax_StoreMember";
|
||||
String messageTitle = Localiser["organisation.caption.member"];
|
||||
AjaxResponse_Member responseData = new AjaxResponse_Member();
|
||||
AjaxResponse_Member responseData = new AjaxResponse_Member(model);
|
||||
|
||||
// Validate session.
|
||||
if (!ValidUserSession)
|
||||
|
||||
@@ -19,7 +19,7 @@ namespace Saxonite.Net.Core.Web.Admin.Controllers
|
||||
{
|
||||
//-------------------------------------------------------------------
|
||||
// Region data.
|
||||
public class RegionData_List
|
||||
private class RegionData_List
|
||||
{
|
||||
public String Id { get; set; }
|
||||
public String RegionTypeCode { get; set; }
|
||||
@@ -30,8 +30,9 @@ namespace Saxonite.Net.Core.Web.Admin.Controllers
|
||||
public String StatusCode { get; set; }
|
||||
public String StatusDesc { get; set; }
|
||||
}
|
||||
public class RegionData_Full : RegionData_List
|
||||
private class RegionData_Full : RegionData_List
|
||||
{
|
||||
public int RegionIdParent { get; set; }
|
||||
}
|
||||
private void PopulateRegionResponseData(SaxRegion region, RegionData_List data)
|
||||
{
|
||||
@@ -40,19 +41,27 @@ namespace Saxonite.Net.Core.Web.Admin.Controllers
|
||||
data.RegionTypeDesc = RegionTypeCodes.GetDescForType(region.RegionType);
|
||||
data.CountryIso2Code = region.CountryIso2Code;
|
||||
data.Name = region.Name;
|
||||
using (SaxRegion parentRegion = ReferenceMgr.GetRegionById(region.RegionIdParent))
|
||||
{
|
||||
if (parentRegion != null) data.ParentName = parentRegion.Name;
|
||||
}
|
||||
data.StatusCode = region.StatusCode;
|
||||
data.StatusDesc = region.StatusDesc;
|
||||
}
|
||||
private void PopulateRegionResponseData(SaxRegion region, RegionData_Full data)
|
||||
{
|
||||
PopulateRegionResponseData(region, data as RegionData_List);
|
||||
data.RegionIdParent = SysId.ToInt(region.RegionIdParent);
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Get Region List ajax request.
|
||||
//-------------------------------------------------------------------
|
||||
public class AjaxResponse_RegionList : AjaxResponse_Data
|
||||
private class AjaxResponse_RegionList : AjaxResponse_Data
|
||||
{
|
||||
// Construction.
|
||||
public AjaxResponse_RegionList(SaxModel_Admin model) : base(model) { }
|
||||
// Region list.
|
||||
public List<RegionData_List> Regions { get; } = new List<RegionData_List>();
|
||||
// Reference data.
|
||||
public List<CodeDesc> Statuses { get; } = new List<CodeDesc>();
|
||||
@@ -65,7 +74,7 @@ namespace Saxonite.Net.Core.Web.Admin.Controllers
|
||||
{
|
||||
String fn = GetType().Name + ".Ajax_GetList";
|
||||
String messageTitle = Localiser["region.caption.regions"];
|
||||
AjaxResponse_RegionList responseData = new AjaxResponse_RegionList();
|
||||
AjaxResponse_RegionList responseData = new AjaxResponse_RegionList(model);
|
||||
|
||||
// Validate session.
|
||||
if (!ValidUserSession)
|
||||
@@ -139,8 +148,11 @@ namespace Saxonite.Net.Core.Web.Admin.Controllers
|
||||
//-------------------------------------------------------------------
|
||||
// Get Region ajax request.
|
||||
//-------------------------------------------------------------------
|
||||
public class AjaxResponse_Region : AjaxResponse_Data
|
||||
private class AjaxResponse_Region : AjaxResponse_Data
|
||||
{
|
||||
// Construction.
|
||||
public AjaxResponse_Region(SaxModel_Admin model) : base(model) { }
|
||||
// Region details.
|
||||
public RegionData_Full region { get; } = new RegionData_Full();
|
||||
}
|
||||
//-------------------------------------------------------------------
|
||||
@@ -150,7 +162,7 @@ namespace Saxonite.Net.Core.Web.Admin.Controllers
|
||||
{
|
||||
String fn = GetType().Name + ".Ajax_GetItem";
|
||||
String messageTitle = Localiser["region.caption.region"];
|
||||
AjaxResponse_Region responseData = new AjaxResponse_Region();
|
||||
AjaxResponse_Region responseData = new AjaxResponse_Region(model);
|
||||
|
||||
// Validate session.
|
||||
if (!ValidUserSession)
|
||||
@@ -187,7 +199,7 @@ namespace Saxonite.Net.Core.Web.Admin.Controllers
|
||||
{
|
||||
String fn = GetType().Name + ".Ajax_StoreItem";
|
||||
String messageTitle = Localiser["region.caption.region"];
|
||||
AjaxResponse_Region responseData = new AjaxResponse_Region();
|
||||
AjaxResponse_Region responseData = new AjaxResponse_Region(model);
|
||||
|
||||
// Validate session.
|
||||
if (!ValidUserSession)
|
||||
@@ -212,10 +224,14 @@ namespace Saxonite.Net.Core.Web.Admin.Controllers
|
||||
region = ReferenceMgr.CreateRegion();
|
||||
|
||||
// Populate item properties.
|
||||
if (model.RegionTypeCode != null)
|
||||
region.RegionType = model.RegionType;
|
||||
if (model.RegionCountryIso2Code != null)
|
||||
region.CountryIso2Code = model.RegionCountryIso2Code;
|
||||
if (model.RegionName != null)
|
||||
region.Name = model.RegionName;
|
||||
if (model.RegionIdParent != null)
|
||||
region.RegionIdParent = model.RegionIdParent.ToSysId();
|
||||
if (model.RegionStatusCode != null)
|
||||
region.Status = model.RegionStatus;
|
||||
|
||||
|
||||
@@ -29,7 +29,11 @@ namespace Saxonite.Net.Core.Web.Admin.Controllers
|
||||
if (!ValidUserSession)
|
||||
return RedirectToAction("", "");
|
||||
|
||||
// Paging.
|
||||
Model_Region model = new Model_Region(Localiser);
|
||||
model.DataPageNo = 1;
|
||||
model.DataPageLength = 12;
|
||||
|
||||
return View(model);
|
||||
}
|
||||
|
||||
|
||||
@@ -26,8 +26,10 @@ namespace Saxonite.Net.Core.Web.Admin.Controllers
|
||||
//-------------------------------------------------------------------
|
||||
// Sign-in request.
|
||||
//-------------------------------------------------------------------
|
||||
public class AjaxResponse_Signin : AjaxResponse_Data
|
||||
private class AjaxResponse_Signin : AjaxResponse_Data
|
||||
{
|
||||
// Construction.
|
||||
public AjaxResponse_Signin(SaxModel_Admin model) : base(model) { }
|
||||
}
|
||||
// Ajax request.
|
||||
[HttpPost]
|
||||
@@ -35,7 +37,7 @@ namespace Saxonite.Net.Core.Web.Admin.Controllers
|
||||
public IActionResult Ajax_Signin(Model_Security model)
|
||||
{
|
||||
String fn = GetType().Name + ".Ajax_Signin";
|
||||
AjaxResponse_Signin responseData = new AjaxResponse_Signin();
|
||||
AjaxResponse_Signin responseData = new AjaxResponse_Signin(model);
|
||||
String messageTitle = Localiser["signin.caption"];
|
||||
|
||||
// Validate Sign-in data.
|
||||
@@ -63,7 +65,7 @@ namespace Saxonite.Net.Core.Web.Admin.Controllers
|
||||
//-------------------------------------------------------------------
|
||||
// Keep Logged In.
|
||||
//-------------------------------------------------------------------
|
||||
public class AjaxResponse_KeepLoggedIn : AjaxResponse_Base
|
||||
private class AjaxResponse_KeepLoggedIn : AjaxResponse_Base
|
||||
{
|
||||
}
|
||||
// Ajax request.
|
||||
@@ -147,8 +149,10 @@ namespace Saxonite.Net.Core.Web.Admin.Controllers
|
||||
//-------------------------------------------------------------------
|
||||
// Sign-out request.
|
||||
//-------------------------------------------------------------------
|
||||
public class AjaxResponse_SignOut : AjaxResponse_Data
|
||||
private class AjaxResponse_SignOut : AjaxResponse_Data
|
||||
{
|
||||
// Construction.
|
||||
public AjaxResponse_SignOut(SaxModel_Admin model) : base(model) { }
|
||||
}
|
||||
// Ajax request.
|
||||
[HttpPost]
|
||||
@@ -156,7 +160,7 @@ namespace Saxonite.Net.Core.Web.Admin.Controllers
|
||||
public ActionResult Ajax_SignOut(Model_Security model)
|
||||
{
|
||||
String fn = GetType().Name + ".Ajax_SignOut";
|
||||
AjaxResponse_SignOut responseData = new AjaxResponse_SignOut();
|
||||
AjaxResponse_SignOut responseData = new AjaxResponse_SignOut(model);
|
||||
String messageTitle = Localiser["signin.caption.signout"];
|
||||
|
||||
// User must have a valid session.
|
||||
@@ -187,7 +191,7 @@ namespace Saxonite.Net.Core.Web.Admin.Controllers
|
||||
//-------------------------------------------------------------------
|
||||
// Password complexity request.
|
||||
//-------------------------------------------------------------------
|
||||
public class AjaxResponse_PasswordScore : AjaxResponse_Data
|
||||
private class AjaxResponse_PasswordScore : AjaxResponse_Base
|
||||
{
|
||||
public int Score { get; set; }
|
||||
}
|
||||
@@ -209,8 +213,10 @@ namespace Saxonite.Net.Core.Web.Admin.Controllers
|
||||
//-------------------------------------------------------------------
|
||||
// Change Password request.
|
||||
//-------------------------------------------------------------------
|
||||
public class AjaxResponse_ChangePassword : AjaxResponse_Data
|
||||
private class AjaxResponse_ChangePassword : AjaxResponse_Data
|
||||
{
|
||||
// Construction.
|
||||
public AjaxResponse_ChangePassword(SaxModel_Admin model) : base(model) { }
|
||||
}
|
||||
// Ajax request.
|
||||
[HttpPost]
|
||||
@@ -218,7 +224,7 @@ namespace Saxonite.Net.Core.Web.Admin.Controllers
|
||||
public ActionResult Ajax_StorePassword(Model_Security model)
|
||||
{
|
||||
String fn = GetType().Name + ".Ajax_StorePassword";
|
||||
AjaxResponse_ChangePassword responseData = new AjaxResponse_ChangePassword();
|
||||
AjaxResponse_ChangePassword responseData = new AjaxResponse_ChangePassword(model);
|
||||
String messageTitle = Localiser["security.caption.change.password"];
|
||||
|
||||
// If 'Request Password' encrypted params (from email link) are present,
|
||||
@@ -300,8 +306,10 @@ namespace Saxonite.Net.Core.Web.Admin.Controllers
|
||||
//-------------------------------------------------------------------
|
||||
// Request Password request.
|
||||
//-------------------------------------------------------------------
|
||||
public class AjaxResponse_RequestPassword : AjaxResponse_Data
|
||||
private class AjaxResponse_RequestPassword : AjaxResponse_Data
|
||||
{
|
||||
// Construction.
|
||||
public AjaxResponse_RequestPassword(SaxModel_Admin model) : base(model) { }
|
||||
/// <summary>Message to be displayed for the user to 'OK' before returning to the Sign-in page.</summary>
|
||||
public String SuccessMsg { get; set; }
|
||||
}
|
||||
@@ -311,7 +319,7 @@ namespace Saxonite.Net.Core.Web.Admin.Controllers
|
||||
public ActionResult Ajax_RequestNewPassword(Model_Security model)
|
||||
{
|
||||
String fn = GetType().Name + ".Ajax_RequestNewPassword";
|
||||
AjaxResponse_RequestPassword responseData = new AjaxResponse_RequestPassword();
|
||||
AjaxResponse_RequestPassword responseData = new AjaxResponse_RequestPassword(model);
|
||||
String messageTitle = Localiser["security.caption.request.password"];
|
||||
|
||||
// Validate data.
|
||||
@@ -391,7 +399,7 @@ namespace Saxonite.Net.Core.Web.Admin.Controllers
|
||||
int expiresMinutes_Max = Sax.Config.Security.SignIn.PasswordRequest.EmailLinkExpiresMins_Max;
|
||||
return Math.Max(expiresMinutes_Min, Math.Min(expiresMinutes_Max, expiresMinutes));
|
||||
}
|
||||
public class RequestPasswordParams
|
||||
private class RequestPasswordParams
|
||||
{
|
||||
public SysId UserAccountId { get; set; }
|
||||
public String EmailAddress { get; set; }
|
||||
|
||||
@@ -19,14 +19,14 @@ namespace Saxonite.Net.Core.Web.Admin.Controllers
|
||||
{
|
||||
//-------------------------------------------------------------------
|
||||
// Sport data.
|
||||
public class SportData_List
|
||||
private class SportData_List
|
||||
{
|
||||
public String Id { get; set; }
|
||||
public String Name { get; set; }
|
||||
public String StatusCode { get; set; }
|
||||
public String StatusDesc { get; set; }
|
||||
}
|
||||
public class SportData_Full : SportData_List
|
||||
private class SportData_Full : SportData_List
|
||||
{
|
||||
}
|
||||
private void PopulateSportResponseData(SaxSport sport, SportData_List data)
|
||||
@@ -44,8 +44,11 @@ namespace Saxonite.Net.Core.Web.Admin.Controllers
|
||||
//-------------------------------------------------------------------
|
||||
// Get Sport List ajax request.
|
||||
//-------------------------------------------------------------------
|
||||
public class AjaxResponse_SportList : AjaxResponse_Data
|
||||
private class AjaxResponse_SportList : AjaxResponse_Data
|
||||
{
|
||||
// Construction.
|
||||
public AjaxResponse_SportList(SaxModel_Admin model) : base(model) { }
|
||||
// Sport list.
|
||||
public List<SportData_List> Sports { get; } = new List<SportData_List>();
|
||||
// Reference data.
|
||||
public List<CodeDesc> Statuses { get; } = new List<CodeDesc>();
|
||||
@@ -58,7 +61,7 @@ namespace Saxonite.Net.Core.Web.Admin.Controllers
|
||||
{
|
||||
String fn = GetType().Name + ".Ajax_GetList";
|
||||
String messageTitle = Localiser["sport.caption.sports"];
|
||||
AjaxResponse_SportList responseData = new AjaxResponse_SportList();
|
||||
AjaxResponse_SportList responseData = new AjaxResponse_SportList(model);
|
||||
|
||||
// Validate session.
|
||||
if (!ValidUserSession)
|
||||
@@ -119,8 +122,11 @@ namespace Saxonite.Net.Core.Web.Admin.Controllers
|
||||
//-------------------------------------------------------------------
|
||||
// Get Sport ajax request.
|
||||
//-------------------------------------------------------------------
|
||||
public class AjaxResponse_Sport : AjaxResponse_Data
|
||||
private class AjaxResponse_Sport : AjaxResponse_Data
|
||||
{
|
||||
// Construction.
|
||||
public AjaxResponse_Sport(SaxModel_Admin model) : base(model) { }
|
||||
// Sport details.
|
||||
public SportData_Full sport { get; } = new SportData_Full();
|
||||
}
|
||||
//-------------------------------------------------------------------
|
||||
@@ -130,7 +136,7 @@ namespace Saxonite.Net.Core.Web.Admin.Controllers
|
||||
{
|
||||
String fn = GetType().Name + ".Ajax_GetItem";
|
||||
String messageTitle = Localiser["sport.caption.sport"];
|
||||
AjaxResponse_Sport responseData = new AjaxResponse_Sport();
|
||||
AjaxResponse_Sport responseData = new AjaxResponse_Sport(model);
|
||||
|
||||
// Validate session.
|
||||
if (!ValidUserSession)
|
||||
@@ -167,7 +173,7 @@ namespace Saxonite.Net.Core.Web.Admin.Controllers
|
||||
{
|
||||
String fn = GetType().Name + ".Ajax_StoreItem";
|
||||
String messageTitle = Localiser["sport.caption.sport"];
|
||||
AjaxResponse_Sport responseData = new AjaxResponse_Sport();
|
||||
AjaxResponse_Sport responseData = new AjaxResponse_Sport(model);
|
||||
|
||||
// Validate session.
|
||||
if (!ValidUserSession)
|
||||
|
||||
@@ -27,7 +27,7 @@ namespace Saxonite.Net.Core.Web.Admin.Controllers
|
||||
{
|
||||
//-------------------------------------------------------------------
|
||||
// Database data.
|
||||
public class DatabaseTableData
|
||||
private class DatabaseTableData
|
||||
{
|
||||
public String SchemaName { get; set; }
|
||||
public String TableName { get; set; }
|
||||
@@ -40,8 +40,11 @@ namespace Saxonite.Net.Core.Web.Admin.Controllers
|
||||
//-------------------------------------------------------------------
|
||||
// Get Database Table List ajax request.
|
||||
//-------------------------------------------------------------------
|
||||
public class AjaxResponse_DatabaseTableList : AjaxResponse_Data
|
||||
private class AjaxResponse_DatabaseTableList : AjaxResponse_Data
|
||||
{
|
||||
// Construction.
|
||||
public AjaxResponse_DatabaseTableList(SaxModel_Admin model) : base(model) { }
|
||||
// Table list.
|
||||
public List<DatabaseTableData> Tables { get; } = new List<DatabaseTableData>();
|
||||
}
|
||||
//-------------------------------------------------------------------
|
||||
@@ -51,7 +54,7 @@ namespace Saxonite.Net.Core.Web.Admin.Controllers
|
||||
{
|
||||
String fn = GetType().Name + ".Ajax_GetDatabaseTables";
|
||||
String messageTitle = Localiser["system.caption.database"];
|
||||
AjaxResponse_DatabaseTableList responseData = new AjaxResponse_DatabaseTableList();
|
||||
AjaxResponse_DatabaseTableList responseData = new AjaxResponse_DatabaseTableList(model);
|
||||
|
||||
// Validate session.
|
||||
if (!ValidUserSession)
|
||||
@@ -101,7 +104,7 @@ namespace Saxonite.Net.Core.Web.Admin.Controllers
|
||||
//-------------------------------------------------------------------
|
||||
// Validate Database Schema ajax request.
|
||||
//-------------------------------------------------------------------
|
||||
public class DbSchemaItemResponseData
|
||||
private class DbSchemaItemResponseData
|
||||
{
|
||||
public int Id { get; set; }
|
||||
public String TableName { get; set; }
|
||||
@@ -110,8 +113,11 @@ namespace Saxonite.Net.Core.Web.Admin.Controllers
|
||||
public String IndexName { get; set; }
|
||||
public String Comment { get; set; }
|
||||
}
|
||||
public class AjaxResponse_ValidateDatabaseSchema : AjaxResponse_Data
|
||||
private class AjaxResponse_ValidateDatabaseSchema : AjaxResponse_Data
|
||||
{
|
||||
// Construction.
|
||||
public AjaxResponse_ValidateDatabaseSchema(SaxModel_Admin model) : base(model) { }
|
||||
// Schema validation list.
|
||||
public List<DbSchemaItemResponseData> Items { get; } = new List<DbSchemaItemResponseData>();
|
||||
}
|
||||
//-------------------------------------------------------------------
|
||||
@@ -121,7 +127,7 @@ namespace Saxonite.Net.Core.Web.Admin.Controllers
|
||||
{
|
||||
String fn = GetType().Name + ".Ajax_GetDatabaseTables";
|
||||
String messageTitle = Localiser["system.caption.database"];
|
||||
AjaxResponse_ValidateDatabaseSchema responseData = new AjaxResponse_ValidateDatabaseSchema();
|
||||
AjaxResponse_ValidateDatabaseSchema responseData = new AjaxResponse_ValidateDatabaseSchema(model);
|
||||
|
||||
// Validate session.
|
||||
if (!ValidUserSession)
|
||||
|
||||
@@ -20,7 +20,7 @@ namespace Saxonite.Net.Core.Web.Admin.Controllers
|
||||
{
|
||||
//-------------------------------------------------------------------
|
||||
// Database data.
|
||||
public class LogFileData
|
||||
private class LogFileData
|
||||
{
|
||||
public String Name { get; set; }
|
||||
}
|
||||
@@ -28,8 +28,11 @@ namespace Saxonite.Net.Core.Web.Admin.Controllers
|
||||
//-------------------------------------------------------------------
|
||||
// Get Database Table List ajax request.
|
||||
//-------------------------------------------------------------------
|
||||
public class AjaxResponse_LogFileList : AjaxResponse_Data
|
||||
private class AjaxResponse_LogFileList : AjaxResponse_Data
|
||||
{
|
||||
// Construction.
|
||||
public AjaxResponse_LogFileList(SaxModel_Admin model) : base(model) { }
|
||||
// Log file list.
|
||||
public List<LogFileData> Tables { get; } = new List<LogFileData>();
|
||||
}
|
||||
//-------------------------------------------------------------------
|
||||
@@ -39,7 +42,7 @@ namespace Saxonite.Net.Core.Web.Admin.Controllers
|
||||
{
|
||||
String fn = GetType().Name + ".Ajax_GetLogFileList";
|
||||
String messageTitle = Localiser["system.caption.logs"];
|
||||
AjaxResponse_LogFileList responseData = new AjaxResponse_LogFileList();
|
||||
AjaxResponse_LogFileList responseData = new AjaxResponse_LogFileList(model);
|
||||
|
||||
// Validate session.
|
||||
if (!ValidUserSession)
|
||||
|
||||
@@ -19,7 +19,7 @@ namespace Saxonite.Net.Core.Web.Admin.Controllers
|
||||
{
|
||||
//-------------------------------------------------------------------
|
||||
// User data.
|
||||
public class UserData_List
|
||||
private class UserData_List
|
||||
{
|
||||
public String Id { get; set; }
|
||||
public String EmailAddress { get; set; }
|
||||
@@ -32,7 +32,7 @@ namespace Saxonite.Net.Core.Web.Admin.Controllers
|
||||
public String StatusCode { get; set; }
|
||||
public String StatusDesc { get; set; }
|
||||
}
|
||||
public class UserData_Full : UserData_List
|
||||
private class UserData_Full : UserData_List
|
||||
{
|
||||
public List<String> userRoleCodes { get; } = new List<string>();
|
||||
}
|
||||
@@ -73,8 +73,11 @@ namespace Saxonite.Net.Core.Web.Admin.Controllers
|
||||
//-------------------------------------------------------------------
|
||||
// Get User List ajax request.
|
||||
//-------------------------------------------------------------------
|
||||
public class AjaxResponse_UserList : AjaxResponse_Data
|
||||
private class AjaxResponse_UserList : AjaxResponse_Data
|
||||
{
|
||||
// Construction.
|
||||
public AjaxResponse_UserList(SaxModel_Admin model) : base(model) { }
|
||||
// User list.
|
||||
public List<UserData_List> Users { get; } = new List<UserData_List>();
|
||||
// Reference data.
|
||||
public List<CodeDesc> UserRoles { get; } = new List<CodeDesc>();
|
||||
@@ -90,7 +93,7 @@ namespace Saxonite.Net.Core.Web.Admin.Controllers
|
||||
{
|
||||
String fn = GetType().Name + ".Ajax_GetUserList";
|
||||
String messageTitle = Localiser["user.caption.users"];
|
||||
AjaxResponse_UserList responseData = new AjaxResponse_UserList();
|
||||
AjaxResponse_UserList responseData = new AjaxResponse_UserList(model);
|
||||
|
||||
// Validate session.
|
||||
if (!ValidUserSession)
|
||||
@@ -167,8 +170,11 @@ namespace Saxonite.Net.Core.Web.Admin.Controllers
|
||||
//-------------------------------------------------------------------
|
||||
// Get User ajax request.
|
||||
//-------------------------------------------------------------------
|
||||
public class AjaxResponse_User : AjaxResponse_Data
|
||||
private class AjaxResponse_User : AjaxResponse_Data
|
||||
{
|
||||
// Construction.
|
||||
public AjaxResponse_User(SaxModel_Admin model) : base(model) { }
|
||||
// User details.
|
||||
public UserData_Full user { get; } = new UserData_Full();
|
||||
}
|
||||
//-------------------------------------------------------------------
|
||||
@@ -179,7 +185,7 @@ namespace Saxonite.Net.Core.Web.Admin.Controllers
|
||||
{
|
||||
String fn = GetType().Name + ".Ajax_GetUser";
|
||||
String messageTitle = Localiser["user.caption.user"];
|
||||
AjaxResponse_User responseData = new AjaxResponse_User();
|
||||
AjaxResponse_User responseData = new AjaxResponse_User(model);
|
||||
|
||||
// Validate session.
|
||||
if (!ValidUserSession)
|
||||
@@ -213,7 +219,7 @@ namespace Saxonite.Net.Core.Web.Admin.Controllers
|
||||
{
|
||||
String fn = GetType().Name + ".Ajax_GetUserByEmail";
|
||||
String messageTitle = Localiser["user.caption.user"];
|
||||
AjaxResponse_User responseData = new AjaxResponse_User();
|
||||
AjaxResponse_User responseData = new AjaxResponse_User(model);
|
||||
StoreSessionData = false;
|
||||
|
||||
// Validate session.
|
||||
@@ -251,7 +257,7 @@ namespace Saxonite.Net.Core.Web.Admin.Controllers
|
||||
{
|
||||
String fn = GetType().Name + ".Ajax_StoreUser";
|
||||
String messageTitle = Localiser["user.caption.user"];
|
||||
AjaxResponse_User responseData = new AjaxResponse_User();
|
||||
AjaxResponse_User responseData = new AjaxResponse_User(model);
|
||||
|
||||
// Validate session.
|
||||
if (!ValidUserSession)
|
||||
|
||||
@@ -50,6 +50,7 @@ namespace Saxonite.Net.Core.Web.Admin.Models
|
||||
}
|
||||
public String RegionCountryIso2Code { get; set; }
|
||||
public String RegionName { get; set; }
|
||||
public String RegionIdParent { get; set; }
|
||||
public String RegionStatusCode { get; set; }
|
||||
public SaStatus RegionStatus { get { return SacsSystem.GetStatusForCode(RegionStatusCode); } }
|
||||
|
||||
@@ -120,6 +121,20 @@ namespace Saxonite.Net.Core.Web.Admin.Models
|
||||
}
|
||||
}
|
||||
|
||||
// Parent region.
|
||||
if (!StringUtil.IsEmpty(RegionIdParent))
|
||||
{
|
||||
SaxRegion parentRegion = ReferenceMgr.GetRegionById(RegionIdParent.ToSysId());
|
||||
if (parentRegion != null)
|
||||
{
|
||||
if (RegionType<= 0 || SaxRegion.IsValidParentRegionType(RegionType, parentRegion.RegionType))
|
||||
{
|
||||
}
|
||||
else responseData.SetControlError(nameof(RegionIdParent), Localiser["region.msg.parent.type.invalid"]);
|
||||
}
|
||||
else responseData.SetControlError(nameof(RegionIdParent), Localiser["msg.validation.invalid.value"]);
|
||||
}
|
||||
|
||||
// Region status.
|
||||
if (RegionStatusCode != null)
|
||||
{
|
||||
|
||||
@@ -183,6 +183,9 @@
|
||||
<data name="label.filename" xml:space="preserve">
|
||||
<value>Filename</value>
|
||||
</data>
|
||||
<data name="label.first" xml:space="preserve">
|
||||
<value>First</value>
|
||||
</data>
|
||||
<data name="label.first.name" xml:space="preserve">
|
||||
<value>First name</value>
|
||||
</data>
|
||||
@@ -207,6 +210,9 @@
|
||||
<data name="label.keep.signed.in" xml:space="preserve">
|
||||
<value>Keep me signed-in</value>
|
||||
</data>
|
||||
<data name="label.last" xml:space="preserve">
|
||||
<value>Last</value>
|
||||
</data>
|
||||
<data name="label.last.name" xml:space="preserve">
|
||||
<value>Last name</value>
|
||||
</data>
|
||||
@@ -219,12 +225,21 @@
|
||||
<data name="label.name" xml:space="preserve">
|
||||
<value>Name</value>
|
||||
</data>
|
||||
<data name="label.next" xml:space="preserve">
|
||||
<value>Next</value>
|
||||
</data>
|
||||
<data name="label.no" xml:space="preserve">
|
||||
<value>No</value>
|
||||
</data>
|
||||
<data name="label.ok" xml:space="preserve">
|
||||
<value>OK</value>
|
||||
</data>
|
||||
<data name="label.page.info" xml:space="preserve">
|
||||
<value>Page {0} of {1}</value>
|
||||
</data>
|
||||
<data name="label.parent" xml:space="preserve">
|
||||
<value>Parent</value>
|
||||
</data>
|
||||
<data name="label.password" xml:space="preserve">
|
||||
<value>Password</value>
|
||||
</data>
|
||||
@@ -234,6 +249,9 @@
|
||||
<data name="label.password.current" xml:space="preserve">
|
||||
<value>Current password</value>
|
||||
</data>
|
||||
<data name="label.previous" xml:space="preserve">
|
||||
<value>Previous</value>
|
||||
</data>
|
||||
<data name="label.reference" xml:space="preserve">
|
||||
<value>Reference</value>
|
||||
</data>
|
||||
@@ -396,6 +414,9 @@
|
||||
<data name="region.caption.regions" xml:space="preserve">
|
||||
<value>Regions</value>
|
||||
</data>
|
||||
<data name="region.msg.parent.type.invalid" xml:space="preserve">
|
||||
<value>Selected parent has an invalid type for the region.</value>
|
||||
</data>
|
||||
<data name="security.caption.change.password" xml:space="preserve">
|
||||
<value>Change Password</value>
|
||||
</data>
|
||||
|
||||
@@ -0,0 +1,21 @@
|
||||
@model SaxModel_Admin
|
||||
@inject SaxLocaliser Localiser
|
||||
|
||||
<script src="~/js/sax-resultsPaging.js?@Model.HrefVersion"></script>
|
||||
<script type="text/javascript">
|
||||
sax.resultsPaging.msg.pageInfo = '@Localiser.GetJavascriptText("label.page.info","{0}","{1}")';
|
||||
</script>
|
||||
|
||||
@* Results paging *@
|
||||
<div class="sax-results-paging hidden">
|
||||
|
||||
@Html.HiddenFor(model => model.Paging.PageNo, new { @id = "", @class = "PagingPageNo" })
|
||||
@Html.HiddenFor(model => model.Paging.PageLength, new { @id = "", @class = "PagingPageLength" })
|
||||
|
||||
<div class="iblock sax-action sax-paging-first"><img src="~/img/action/first24.png" alt="@(Localiser["label.first"])" title="@(Localiser["label.first"])" /></div>
|
||||
<div class="iblock sax-action sax-paging-prev"><img src="~/img/action/prev24.png" alt="@(Localiser["label.previous"])" title="@(Localiser["label.previous"])" /></div>
|
||||
<div class="iblock sax-paging-info"></div>
|
||||
<div class="iblock sax-action sax-paging-next"><img src="~/img/action/next24.png" alt="@(Localiser["label.next"])" title="@(Localiser["label.next"])" /></div>
|
||||
<div class="iblock sax-action sax-paging-last"><img src="~/img/action/last24.png" alt="@(Localiser["label.last"])" title="@(Localiser["label.last"])" /></div>
|
||||
|
||||
</div>
|
||||
@@ -20,7 +20,7 @@
|
||||
<div class="ItemFilter sax-form">
|
||||
<div class="row">
|
||||
<div class="col right"><div class="sax-label">@Localiser["label.search"]</div></div>
|
||||
<div class="fixed"><input id="ifItemFilter" class="sax-input" type="text" onkeyup="sax.data.selectItem.fn.displayItems();" /></div>
|
||||
<div class="fixed"><input type="search" id="ifItemFilter" class="sax-input" autocomplete="off" onkeyup="sax.data.selectItem.fn.displayItems();" /></div>
|
||||
</div>
|
||||
<div class="spacer2"></div>
|
||||
</div>
|
||||
|
||||
@@ -58,4 +58,3 @@
|
||||
</div>
|
||||
|
||||
<partial name="Panel-OrganisationDialog.cshtml" />
|
||||
|
||||
|
||||
@@ -8,22 +8,31 @@
|
||||
<div class="">
|
||||
|
||||
<div class="sax-panel-filter">
|
||||
<div class="sax-header row">
|
||||
<div class="col"><div class="sax-caption">@Localiser["region.caption.regions"]</div></div>
|
||||
<div class="fixed row">
|
||||
<div class="sax-action sax-results-refresh"><img src="~/img/action/refresh24.png" alt="@(Localiser["label.refresh"])" title="@(Localiser["label.refresh"])" /></div>
|
||||
<div class="sax-action sax-item-create"><img src="~/img/action/add24.png" alt="@(Localiser["label.create"])" title="@(Localiser["label.create"])" /></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="sax-content">
|
||||
@using (@Html.BeginForm(FormMethod.Post, new { @id = "frmRegionFilter", @class = "sax-form", @onSubmit = "return false;" }))
|
||||
{
|
||||
<div class="row">
|
||||
<div class="col-sm-5 sax-label text-left text-sm-right">@Localiser["region.caption.region"]</div>
|
||||
<div class="col-sm-7">@Html.TextBoxFor(model => model.Filter.Region, new { @id = "ifFilterRegion", @class = "FilterRegion", @maxlength = "32" })</div>
|
||||
@using (@Html.BeginForm(FormMethod.Post, new { @id = "frmRegionFilter", @class = "sax-form", @onSubmit = "return false;" }))
|
||||
{
|
||||
<div class="sax-header row">
|
||||
<div class="col"><div class="sax-caption">@Localiser["region.caption.regions"]</div></div>
|
||||
<div class="fixed row">
|
||||
<div>
|
||||
<partial name="~/Views/Common/ResultsPaging.cshtml" />
|
||||
</div>
|
||||
<div class="sax-action sax-results-refresh"><img src="~/img/action/refresh24.png" alt="@(Localiser["label.refresh"])" title="@(Localiser["label.refresh"])" /></div>
|
||||
<div class="sax-action sax-item-create"><img src="~/img/action/add24.png" alt="@(Localiser["label.create"])" title="@(Localiser["label.create"])" /></div>
|
||||
</div>
|
||||
}
|
||||
</div>
|
||||
</div>
|
||||
<div class="sax-content">
|
||||
<div class="row">
|
||||
<div class="col-sm-6 row">
|
||||
<div class="col-sm-5 sax-label text-left text-sm-right">@Localiser["label.type"]</div>
|
||||
<div class="col-sm-7">@Html.DropDownListFor(model => model.Filter.RegionTypeCode, Model.RegionTypesForSelect, "", new { @id = "cbFilterRegionType", @class = "FilterRegionType" })</div>
|
||||
</div>
|
||||
<div class="col-sm-6 row">
|
||||
<div class="col-sm-5 sax-label text-left text-sm-right">@Localiser["label.search"]</div>
|
||||
<div class="col-sm-7">@Html.TextBoxFor(model => model.Filter.Region, new { @id = "ifFilterRegion", @class = "FilterRegion", @autocomplete = "off", @maxlength = "32" })</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
</div>
|
||||
|
||||
<div class="sax-panel-results">
|
||||
|
||||
@@ -10,13 +10,13 @@
|
||||
</script>
|
||||
@using (@Html.BeginForm(FormMethod.Post, new { @id = "frmRegionId", @class = "sax-form" }))
|
||||
{
|
||||
@Html.HiddenFor(model => model.RegionId, new { @class = "RegionId" })
|
||||
@Html.HiddenFor(model => model.RegionId, new { @id = "", @class = "RegionId" })
|
||||
}
|
||||
<div id="dlgRegion" class="sax-dialog" title="">
|
||||
|
||||
@using (@Html.BeginForm(FormMethod.Post, new { @id = "frmRegion", @class = "sax-form", @onSubmit = "return false;" }))
|
||||
{
|
||||
@Html.HiddenFor(model => model.RegionId, new { @class = "RegionId" })
|
||||
@Html.HiddenFor(model => model.RegionId, new { @id = "", @class = "RegionId" })
|
||||
|
||||
@* Region type *@
|
||||
<div class="sax-form-control RegionType">
|
||||
@@ -51,6 +51,19 @@
|
||||
<div class="sax-message"></div>
|
||||
</div>
|
||||
|
||||
@* Parent Region *@
|
||||
<div class="sax-form-control RegionIdParent">
|
||||
<div class="sax-label">
|
||||
<label for="ifParentRegion"><span><span class="required">*</span> @Localiser["label.parent"]</span></label>
|
||||
</div>
|
||||
<div class="sax-control row">
|
||||
@Html.HiddenFor(model => model.RegionIdParent, new { @id = "ifRegionIdParent", @class = "RegionIdParent" })
|
||||
<div class="col"><input type="text" id="ifParentRegion" class="ParentRegion sax-input" readonly="readonly" ondblclick="sax.selectParentRegion()" /> </div>
|
||||
<div class="fixed"><button id="pbSelectParentRegion" class="sax-button" style="min-width:auto;margin-left:4px;padding:4px 6px" onclick="sax.selectParentRegion()">@Localiser["label.select"]</button></div>
|
||||
</div>
|
||||
<div class="sax-message"></div>
|
||||
</div>
|
||||
|
||||
@* Region status *@
|
||||
<div class="sax-form-control RegionStatus">
|
||||
<div class="sax-label">
|
||||
@@ -65,3 +78,5 @@
|
||||
}
|
||||
|
||||
</div>
|
||||
|
||||
<partial name="~/Views/Common/SelectItem.cshtml" />
|
||||
|
||||
@@ -124,6 +124,12 @@ textarea
|
||||
resize: none;
|
||||
}
|
||||
|
||||
select
|
||||
{
|
||||
margin: 0;
|
||||
padding: 3px 2px 1px 2px;
|
||||
}
|
||||
|
||||
.bold, b
|
||||
{
|
||||
font-weight: bold !important;
|
||||
|
||||
@@ -61,6 +61,13 @@
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
.sax-panel-filter .sax-content input[type="text"],
|
||||
.sax-panel-filter .sax-content select
|
||||
{
|
||||
min-width:75%;
|
||||
max-width:90%;
|
||||
}
|
||||
|
||||
.sax-panel-filter .sax-content .sax-button
|
||||
{
|
||||
min-width: auto;
|
||||
@@ -68,6 +75,30 @@
|
||||
padding: 4px 6px;
|
||||
}
|
||||
|
||||
/* Paging */
|
||||
|
||||
.sax-results-paging
|
||||
{
|
||||
margin-right: 8px;
|
||||
}
|
||||
|
||||
.sax-results-paging .sax-paging-info
|
||||
{
|
||||
font-size: .8rem;
|
||||
}
|
||||
|
||||
.sax-panel-filter .sax-header .sax-results-paging .sax-action
|
||||
{
|
||||
margin: 2px 1px 0 1px;
|
||||
background-color: #b0b0b0;
|
||||
box-shadow: 0 0 0 1px #40404080 inset;
|
||||
}
|
||||
|
||||
.sax-panel-filter .sax-header .sax-results-paging .sax-action:hover
|
||||
{
|
||||
background-color: #c0c0c0;
|
||||
}
|
||||
|
||||
/* Data Items panel */
|
||||
|
||||
.sax-panel-results
|
||||
@@ -128,7 +159,7 @@
|
||||
border-radius: 4px;
|
||||
}
|
||||
|
||||
.sax-panel-item >.sax-header .sax-caption .sax-action:hover
|
||||
.sax-panel-item > .sax-header .sax-caption .sax-action:hover
|
||||
{
|
||||
color: var(--color-light);
|
||||
}
|
||||
|
||||
@@ -166,6 +166,11 @@
|
||||
outline: none;
|
||||
}
|
||||
|
||||
.sax-form .sax-input.sax-calendar
|
||||
{
|
||||
max-width:180px;
|
||||
}
|
||||
|
||||
.sax-form .sax-textarea, .sax-form .sax-select[multiple="multiple"]
|
||||
{
|
||||
border-top-right-radius: 2px;
|
||||
|
||||
@@ -31,6 +31,34 @@
|
||||
{
|
||||
return sax.isNumeric(value) ? parseInt(value, 10) : defaultValue || 0;
|
||||
}
|
||||
if ("function" != typeof "".format)
|
||||
String.prototype.format = (function ()
|
||||
{
|
||||
var rx1 = /\{(\d|\d\d)\}/g, rx2 = /\d+/;
|
||||
return function ()
|
||||
{
|
||||
var args = arguments;
|
||||
return this.replace(rx1, function ($0)
|
||||
{
|
||||
var idx = 1 * $0.match(rx2)[0];
|
||||
return args[idx] !== undefined ? args[idx] : (args[idx] === "" ? "" : $0);
|
||||
});
|
||||
}
|
||||
}());
|
||||
sax.getFileType = function (file)
|
||||
{
|
||||
if (!file) return "";
|
||||
if (file.type) return file.type;
|
||||
if (file.filename) return filename.split('.').pop();
|
||||
return "";
|
||||
}
|
||||
sax.formatFileSize = function (size)
|
||||
{
|
||||
if (size / 10 ** 9 > 1) return Math.floor(size / 10 ** 9) + 'Gb';
|
||||
if (size / 10 ** 6 > 1) return Math.floor(size / 10 ** 6) + 'Mb';
|
||||
if (size / 10 ** 3 > 1) return Math.floor(size / 10 ** 3) + 'Kb';
|
||||
return size + 'bytes';
|
||||
}
|
||||
sax.escapeRegExp = function (val)
|
||||
{
|
||||
return (val || '').replace(/[[{}()*+?^$|\]\.\\]/g, "\\$&");
|
||||
@@ -162,7 +190,7 @@
|
||||
opt.buttons[sax.dlg.btn.ok] = function () { $(this).dialog('close'); if (onOk) onOk(); };
|
||||
sax.$dlg.alert = $('<div id="dlgAlert"><div id="dlgAlertMsg"></div></div>').dialog(opt);
|
||||
}
|
||||
$('#dlgAlertMsg', sax.$dlg.alert).html(msg);
|
||||
$('#dlgAlertMsg', sax.$dlg.alert).html(msg.replace("\n","<br>"));
|
||||
sax.$dlg.alert.dialog('option', { title: title || sax.dlg.title.alert });
|
||||
sax.openDialog(sax.$dlg.alert);
|
||||
}
|
||||
|
||||
@@ -30,6 +30,7 @@
|
||||
var $items = $('.sax-panel-item-list', $results).hide().empty();
|
||||
var $tmpl = $('.sax-panel-item-template .sax-panel-item.Region', $results);
|
||||
if (!response.success) return;
|
||||
sax.refreshPaging(response);
|
||||
// Reference data - Statuses.
|
||||
if (response.defaultStatusCode) sax.data.defaultStatusCode = response.defaultStatusCode;
|
||||
if (response.statuses)
|
||||
@@ -60,12 +61,45 @@
|
||||
$item.off('dblclick').on('dblclick', function () { sax.updateItem(item.id) })
|
||||
$('.sax-panel-results .sax-panel-messages').hide().empty();
|
||||
}
|
||||
sax.refreshPaging = function (response)
|
||||
{
|
||||
sax.resultsPaging.fn.refreshPaging(response.paging);
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------
|
||||
sax.selectParentRegion = function ()
|
||||
{
|
||||
if (!sax.data.regions)
|
||||
{
|
||||
let handleParentRegionsResponse = function (response)
|
||||
{
|
||||
if (response && response.success && response.regions)
|
||||
sax.data.regions = response.regions;
|
||||
sax.showSelectParentRegion();
|
||||
}
|
||||
sax.ajax.parentRegions = sax.ajax.parentRegions || { url: sax.url.base + 'Region/Ajax/GetList', formId: 'frmNavigate', callbackFn: handleParentRegionsResponse };
|
||||
sax.doAjaxRequest(sax.ajax.parentRegions, 50);
|
||||
}
|
||||
else sax.showSelectParentRegion();
|
||||
}
|
||||
sax.showSelectParentRegion = function ()
|
||||
{
|
||||
let $frm = sax.$frm.region;
|
||||
sax.data.selectItem.fn.selectItem({ caption: sax.dlg.title.selectRegion, items: sax.data.regions, itemId: $('.RegionIdParent', $frm).val(), fnCallback: sax.onParentRegionSelected });
|
||||
}
|
||||
sax.onParentRegionSelected = function (rgn)
|
||||
{
|
||||
sax.debug('onParentRegionSelected', rgn);
|
||||
let $frm = sax.$frm.region;
|
||||
$('.RegionIdParent', $frm).val(rgn.id);
|
||||
$('.ParentRegion', $frm).val(rgn.name);
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------
|
||||
sax.createItem = function ()
|
||||
{
|
||||
let $frm = sax.$frm.region;
|
||||
$('.RegionId,input[type="text"],textarea,select', $frm).val('');
|
||||
$('.RegionId,.RegionIdParent,input[type="text"],textarea,select', $frm).val('');
|
||||
$('.RegionStatus', $frm).val(sax.data.defaultStatusCode);
|
||||
sax.clearControlErrors();
|
||||
sax.$dlg.region.dialog('option', 'title', sax.dlg.title.createRegion);
|
||||
@@ -85,7 +119,7 @@
|
||||
}
|
||||
sax.onUpdateItem = function (response)
|
||||
{
|
||||
//sax.debug('onUpdateItem', response);
|
||||
sax.debug('onUpdateItem', response);
|
||||
let $frm = sax.$frm.region;
|
||||
$('.RegionId,input[type="text"],textarea,select', $frm).val('');
|
||||
if (!response.success) return;
|
||||
@@ -94,6 +128,8 @@
|
||||
$('.RegionType', $frm).val(item.regionTypeCode);
|
||||
$('.RegionCountryIso2Code', $frm).val(item.countryIso2Code);
|
||||
$('.RegionName', $frm).val(item.name);
|
||||
$('.RegionIdParent', $frm).val(item.regionIdParent);
|
||||
$('.ParentRegion', $frm).val(item.parentName);
|
||||
$('.RegionStatus', $frm).val(item.statusCode);
|
||||
sax.clearControlErrors();
|
||||
sax.$dlg.region.dialog('option', 'title', sax.dlg.title.updateRegion);
|
||||
@@ -137,6 +173,7 @@
|
||||
|
||||
sax.$frm.filter = $('#frmRegionFilter');
|
||||
$('.FilterRegion', sax.$frm.filter).on('input', function () { sax.refreshResults(250); });
|
||||
$('.FilterRegionType', sax.$frm.filter).on('change', function () { sax.refreshResults(250); });
|
||||
sax.$frm.regionId = $('#frmRegionId');
|
||||
sax.$frm.region = $('#frmRegion');
|
||||
|
||||
|
||||
@@ -0,0 +1,64 @@
|
||||
/*
|
||||
* Admin - Results paging.
|
||||
*/
|
||||
|
||||
(function (win, doc, undef)
|
||||
{
|
||||
"use strict";
|
||||
let rp = sax.resultsPaging = sax.resultsPaging || { fn: {}, msg: {} };
|
||||
|
||||
//--------------------------------------------------------------
|
||||
rp.fn.refreshPaging = function (paging)
|
||||
{
|
||||
rp.fn.init();
|
||||
rp.paging = paging = paging || {};
|
||||
rp.$rp.toggle(paging.paged);
|
||||
$('.sax-paging-info', rp.$rp).text(sax.resultsPaging.msg.pageInfo.format(paging.pageNo, paging.pageCount));
|
||||
$('.sax-paging-first,.sax-paging-prev', rp.$rp).toggle(paging.pageNo > 1);
|
||||
$('.sax-paging-next,.sax-paging-last', rp.$rp).toggle(paging.pageNo < paging.pageCount);
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------
|
||||
rp.fn.firstPage = function ()
|
||||
{
|
||||
let page = rp.$pageNo.val() * 1;
|
||||
if (page < 2) return;
|
||||
rp.$pageNo.val(1);
|
||||
sax.refreshResults();
|
||||
}
|
||||
rp.fn.prevPage = function ()
|
||||
{
|
||||
let page = rp.$pageNo.val() * 1;
|
||||
if (page < 2) return;
|
||||
rp.$pageNo.val(page - 1);
|
||||
sax.refreshResults();
|
||||
}
|
||||
rp.fn.nextPage = function ()
|
||||
{
|
||||
let page = rp.$pageNo.val() * 1;
|
||||
if (page > rp.paging.pageCount - 1) return;
|
||||
rp.$pageNo.val(page + 1);
|
||||
sax.refreshResults();
|
||||
}
|
||||
rp.fn.lastPage = function ()
|
||||
{
|
||||
let page = rp.$pageNo.val() * 1;
|
||||
if (page > rp.paging.pageCount - 1) return;
|
||||
rp.$pageNo.val(rp.paging.pageCount);
|
||||
sax.refreshResults();
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------
|
||||
rp.fn.init = function ()
|
||||
{
|
||||
rp.$rp = $('.sax-results-paging');
|
||||
rp.$pageNo = $('.PagingPageNo', rp.$rp);
|
||||
$('.sax-paging-first', rp.$rp).on('click',rp.fn.firstPage);
|
||||
$('.sax-paging-prev', rp.$rp).on('click', rp.fn.prevPage);
|
||||
$('.sax-paging-next', rp.$rp).on('click', rp.fn.nextPage);
|
||||
$('.sax-paging-last', rp.$rp).on('click', rp.fn.lastPage);
|
||||
}
|
||||
|
||||
}(window, window.document));
|
||||
|
||||
/* The End */
|
||||
Reference in New Issue
Block a user