This commit is contained in:
2021-10-17 13:12:05 +01:00
parent 7417981a34
commit 057b75462e
20 changed files with 326 additions and 155 deletions
@@ -252,6 +252,9 @@
<data name="label.characters.one" xml:space="preserve">
<value>1 character</value>
</data>
<data name="label.clear" xml:space="preserve">
<value>Clear</value>
</data>
<data name="label.close" xml:space="preserve">
<value>Close</value>
</data>
@@ -309,6 +312,9 @@
<data name="label.experience" xml:space="preserve">
<value>Experience</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>
@@ -336,6 +342,9 @@
<data name="label.keep.signed.in" xml:space="preserve">
<value>Remember Me</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>
@@ -357,6 +366,9 @@
<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>
@@ -414,6 +426,9 @@
<data name="label.postalCode" xml:space="preserve">
<value>Postal code</value>
</data>
<data name="label.previous" xml:space="preserve">
<value>Previous</value>
</data>
<data name="label.province" xml:space="preserve">
<value>Province</value>
</data>
@@ -47,9 +47,9 @@ namespace Saxonite.Net.Core.Web.Online.Controllers
data.SportSpecialityLabel = model.GetSportSpecialityLabel(userSport.SportId);
data.SportAbout = userSport.About;
data.SportParticipationCode = SportParticipationCodes.GetCodeForType(userSport.Participation);
data.SportParticipation = Localiser.GetSportParticipationTypeCaption(userSport.Participation);
data.SportParticipation = Localiser.GetSportParticipationCaption(userSport.Participation);
data.SportOfficiatingCode = SportOfficiatingCodes.GetCodeForType(userSport.Officiating);
data.SportOfficiating = Localiser.GetSportOfficiatingTypeCaption(userSport.Officiating);
data.SportOfficiating = Localiser.GetSportOfficiatingCaption(userSport.Officiating);
data.CreatedOnFmt = DateUtil.Format(userSport.CreateStamp.On, "d-MMM-yyyy");
data.StatusCode = userSport.StatusCode;
data.StatusDesc = userSport.StatusDesc;
@@ -117,8 +117,8 @@ namespace Saxonite.Net.Core.Web.Online.Controllers
SportId = model.GetEncryptedSportId(sportId),
SportName = values.GetString(colSportName.DataName),
SportSpecialityLabel = model.GetSportSpecialityLabel(sportId),
SportParticipation = Localiser.GetSportParticipationTypeCaption((Sax.SportParticipation)values.GetLong(colParticipation.DataName)),
SportOfficiating = Localiser.GetSportOfficiatingTypeCaption((Sax.SportOfficiating)values.GetLong(colOfficiating.DataName)),
SportParticipation = Localiser.GetSportParticipationCaption((Sax.SportParticipation)values.GetLong(colParticipation.DataName)),
SportOfficiating = Localiser.GetSportOfficiatingCaption((Sax.SportOfficiating)values.GetLong(colOfficiating.DataName)),
StatusCode = values.GetString(colStatus.DataName),
StatusDesc = SacsSystem.GetStatusDescForCode(values.GetString(colStatus.DataName))
};
@@ -14,6 +14,7 @@ using Sarand.Net.Standard.Base.Bus;
using Sarand.Net.Standard.Base.Utils;
using Sarand.Net.Standard.Base.Core;
using Sarand.Net.Standard.Base.Dbas;
using Saxonite.Net.Standard.Base.App;
namespace Saxonite.Net.Core.Web.Online.Controllers
{
@@ -29,10 +30,12 @@ namespace Saxonite.Net.Core.Web.Online.Controllers
{
public String Id { get; set; }
public String Name { get; set; }
public String CategoryDesc { get; set; }
public String SportId { get; set; }
public String SportName { get; set; }
public String RegionId { get; set; }
public String RegionName { get; set; }
public String Location { get; set; }
}
private class AjaxResponse_Search_Organisations : AjaxResponse_Data
{
@@ -75,13 +78,14 @@ namespace Saxonite.Net.Core.Web.Online.Controllers
// Item columns.
ColumnDfn colId = AccountMgr.GetOrganisationColumnDfn(SaxOrganisation.Column.Id);
ColumnDfn colName = AccountMgr.GetOrganisationColumnDfn(SaxOrganisation.Column.Name);
ColumnDfn colCategory = AccountMgr.GetOrganisationColumnDfn(SaxOrganisation.Column.OrganisationCategory_Desc);
ColumnDfn colSportId = AccountMgr.GetOrganisationColumnDfn(SaxOrganisation.Column.SportId);
ColumnDfn colSportName = AccountMgr.GetOrganisationColumnDfn(SaxOrganisation.Column.Sport_Name);
ColumnDfn colRegionId = AccountMgr.GetOrganisationColumnDfn(SaxOrganisation.Column.RegionId);
ColumnDfn colRegionName = AccountMgr.GetOrganisationColumnDfn(SaxOrganisation.Column.Region_Name);
List<ColumnDfn> columns = new List<ColumnDfn>()
{
colId, colName,
colId, colName, colCategory,
colSportId, colSportName,
colRegionId, colRegionName,
};
@@ -96,14 +100,16 @@ namespace Saxonite.Net.Core.Web.Online.Controllers
while (resultSet != null && resultSet.HasRows && resultSet.NextRecord())
{
NamedValue.Map values = resultSet.GetRecordValues();
Sax.OrganisationCategory category = (Sax.OrganisationCategory)OrganisationCategoryCodes.GetTypeForCode(values.GetString(colCategory.DataName));
OrganisationListData organisationData = new OrganisationListData()
{
Id = model.EncryptId(new SysId(values.GetLong(colId.DataName))),
Name = values.GetString(colName.DataName),
SportId = model.GetEncryptedSportId(new SysId(values.GetLong(colSportId.DataName))),
CategoryDesc = Localiser.GetOrganisationCategoryCaption(category),
//SportId = model.GetEncryptedSportId(new SysId(values.GetLong(colSportId.DataName))),
SportName = values.GetString(colSportName.DataName),
RegionId = model.GetEncryptedRegionId(new SysId(values.GetLong(colRegionId.DataName))),
RegionName = values.GetString(colRegionName.DataName),
//RegionId = model.GetEncryptedRegionId(new SysId(values.GetLong(colRegionId.DataName))),
Location = values.GetString(colRegionName.DataName),
};
responseData.Organisations.Add(organisationData);
}
@@ -123,10 +129,12 @@ namespace Saxonite.Net.Core.Web.Online.Controllers
{
public String Id { get; set; }
public String Name { get; set; }
public String SportId { get; set; }
public String SportName { get; set; }
public String RegionId { get; set; }
public String RegionName { get; set; }
public String Category { get; set; }
public String Sport { get; set; }
public String Location { get; set; }
public String Address { get; set; }
public String PostalCode { get; set; }
public String Phone { get; set; }
}
private class AjaxResponse_Search_Organisation : AjaxResponse_Data
{
@@ -143,7 +151,7 @@ namespace Saxonite.Net.Core.Web.Online.Controllers
{
String fn = GetType().Name + ".GetProfileOrganisation";
AjaxResponse_Search_Organisation responseData = new AjaxResponse_Search_Organisation(model);
String messageTitle = Localiser["label.organisations"];
String messageTitle = Localiser["label.organisation"];
// Validate session and referrer.
if (!ValidReferer) return Forbid();
@@ -175,13 +183,21 @@ namespace Saxonite.Net.Core.Web.Online.Controllers
{
Id = model.EncryptId(organisation.Id),
Name = organisation.Name,
SportId = model.GetEncryptedSportId(organisation.SportIdPrimary),
SportName = model.GetSportCaption(organisation.SportIdPrimary),
RegionId = model.GetEncryptedRegionId(organisation.RegionIdPrimary),
RegionName = model.GetRegionCaption(organisation.RegionIdPrimary),
Category = Localiser.GetOrganisationCategoryCaption(organisation.OrganisationCategory),
Sport = model.GetSportCaption(organisation.SportIdPrimary),
Location = model.GetRegionCaption(organisation.RegionIdPrimary),
};
responseData.Organisation = organisationData;
// Organisation address.
SaxItemAddress address = ItemDataMgr.GetFirstItemAddressByItemAndType(organisation.GetItemId());
if (address != null)
{
String addressLines = (new List<string>() { address.Line1, address.Line2, address.Line3 }).Concat(", ", "", "", true, true);
String addressTownProvince = (new List<string>() { address.Town, address.Province }).Concat(", ", "", "", true, true);
organisationData.Address = (new List<String>() { addressLines, addressTownProvince }).Concat("\n", "", "", true, true);
organisationData.PostalCode = address.PostalCode;
}
}
// Complete response.
@@ -4,7 +4,7 @@
ViewData["Title"] = "Search Organisations";
}
<div class="sax-panel Organisations">
<div class="sax-panel Organisations sax-alpha">
<script type="text/javascript">
sax.lbl.view = '@(Localiser.GetJavascriptText("label.view"))';
@@ -122,6 +122,9 @@
@* Organisation caption *@
<div class="sax-caption"><div class="sax-action"><span class="OrganisationName"></span></div></div>
</div>
<div class="fixed">
<div class="OrganisationCategory"></div>
</div>
<div class="fixed sax-actions">
@* Burger menu *@
<ul class="nav navbar-nav navbar-light navbar-right sax-burger">
@@ -133,10 +136,6 @@
</div>
</div>
<div class="sax-content">
<div class="row">
<div class="col-sm-6"><div class="OrganisationCategory"></div></div>
<div class="col-sm-6 text-sm-right"><div class="OrganisationLocation"></div></div>
</div>
<div class="row">
<div class="col-sm-6"><div class="OrganisationSport"></div></div>
<div class="col-sm-6 text-sm-right"><div class="OrganisationLocation"></div></div>
@@ -13,10 +13,29 @@
}
<div id="dlgOrganisation" class="sax-dialog" title="">
@using (@Html.BeginForm(FormMethod.Post, new { @id = "frmOrganisation", @class = "sax-form", @onSubmit = "return false;" }))
{
<div class="spacer"></div>
<div class="row OrganisationCategory">
<div class="col-sm-5"><div class="sax-label text-sm-right">@Localiser["label.type"]</div></div>
<div class="col-sm"><div class="sax-value"></div></div>
</div>
<div class="row OrganisationSport">
<div class="col-sm-5"><div class="sax-label text-sm-right">@Localiser["label.sport"]</div></div>
<div class="col-sm"><div class="sax-value"></div></div>
</div>
<div class="row OrganisationLocation">
<div class="col-sm-5"><div class="sax-label text-sm-right">@Localiser["label.location"]</div></div>
<div class="col-sm"><div class="sax-value"></div></div>
</div>
<div class="row OrganisationAddress">
<div class="col-sm-5"><div class="sax-label text-sm-right">@Localiser["label.address"]</div></div>
<div class="col-sm"><div class="sax-value"></div></div>
</div>
<div class="row OrganisationPostalCode">
<div class="col-sm-5"><div class="sax-label text-sm-right">@Localiser["label.postal.code"]</div></div>
<div class="col-sm"><div class="sax-value"></div></div>
</div>
}
<div class="spacer"></div>
</div>
@@ -16,7 +16,7 @@ body
div, button, input, select, textarea, table, tr, td
{
font-family: inherit;
font-size: 1rem;
font-size: inherit;
}
:focus, input:focus, textarea:focus, select:focus, button:focus
+50 -17
View File
@@ -10,8 +10,6 @@
background-color: #f8f8f8;
border: solid 1px var(--color-primary);
border-radius: 6px;
-webkit-border-radius: 6px;
-moz-border-radius: 6px;
}
@media (min-width: 576px)
@@ -21,6 +19,8 @@
}
}
/* Filter */
.sax-panel-filter > .sax-header
{
padding: 2px 8px;
@@ -32,7 +32,7 @@
.sax-panel-filter > .sax-header .sax-caption
{
margin-top: 4px;
margin: 4px 0 2px 0;
font-size: 1.2rem;
font-weight: bold;
}
@@ -218,8 +218,6 @@
background-color: #f8f8f8;
border: solid 1px #979797;
border-radius: 6px;
-webkit-border-radius: 6px;
-moz-border-radius: 6px;
overflow: hidden;
}
@@ -233,11 +231,51 @@
.sax-panel-item > .sax-header .sax-caption
{
margin-top: 4px;
margin: 4px 0;
font-size: 1.2rem;
font-weight: bold;
}
.sax-panel-item > .sax-content
{
margin: 4px 8px;
padding: 4px 4px;
}
.sax-panel-item .sax-note
{
font-size: 0.8rem;
}
/* Item - Alpha */
.sax-alpha .sax-panel-item
{
background-color: #fff;
border-radius: 0;
border-radius: 3px;
border-bottom-right-radius: 8px;
}
.sax-alpha .sax-panel-item > .sax-header
{
margin: 0 8px;
padding: 4px 0;
background-color: #fff;
}
.sax-alpha .sax-panel-item > .sax-header .sax-caption
{
}
.sax-alpha .sax-panel-item > .sax-content
{
background-color: #fff;
}
.sax-alpha .sax-panel-item .sax-note
{
}
/* Actions */
.sax-panel-item > .sax-header .sax-action
@@ -261,17 +299,6 @@
box-shadow: 0 0 4px 2px #c0c0c080;
}
.sax-panel-item > .sax-content
{
margin: 4px 8px;
padding: 4px 4px;
}
.sax-panel-item .sax-note
{
font-size: 0.8rem;
}
/* Profile Sports */
.sax-panel-item.ProfileSport,
@@ -288,6 +315,12 @@
border-color: var(--color-alt3);
}
.sax-alpha .sax-panel-item.Organisation,
.sax-alpha .sax-panel-item.Organisation > .sax-header
{
border-color: #b0b0b0;
}
/* Members */
.sax-panel-item.Member,
@@ -13,8 +13,6 @@
border: solid 2px #606060;
border-color: var(--color-primary);
border-radius: 6px;
-webkit-border-radius: 6px;
-moz-border-radius: 6px;
overflow: hidden;
}
+21 -1
View File
@@ -39,7 +39,7 @@ html
{
html
{
font-size: 16px;
font-size: 14px;
}
}
@@ -376,6 +376,26 @@ a:focus
opacity: 0.25;
}
/* Labels, values, notes */
.ui-dialog .sax-label, .ui-dialog .sax-value
{
margin-bottom: 6px;
font-size: 1rem;
}
.ui-dialog .sax-label
{
padding-right: 16px;
font-weight: bold;
color: #808080;
}
.ui-dialog .sax-value
{
}
/* Date Picker */
.ui-datepicker
{
@@ -307,7 +307,7 @@
$('.sax-input', $frm.member).on('input', function () { sax.clearControlError(this); });
var opt = sax.dlgOpts();
opt.buttons[sax.dlg.btn.ok] = function () { sax.storeItem()onUpdateItem; };
opt.buttons[sax.dlg.btn.ok] = function () { sax.storeItem(); };
opt.buttons[sax.dlg.btn.cancel] = function () { $(this).dialog('close'); };
$dlg.member = $('#dlgMember').dialog(opt);
+12 -10
View File
@@ -24,7 +24,7 @@
}
so.doRefreshResults = function (response)
{
sax.debug('doRefreshResults', response);
//sax.debug('doRefreshResults', response);
delete sax.awaitingRefreshResponse;
sax.refreshControlValues(response.controlValues);
var $msgs = $('.sax-panel-messages', $pnl.results).hide().empty();
@@ -49,7 +49,9 @@
if (!item) return;
$('.sax-panel-messages', $pnl.results).hide().empty();
$('.OrganisationName', $item).text(item.name);
$('.OrganisationEmail', $item).text(item.emailAddress);
$('.OrganisationCategory', $item).text(item.categoryDesc);
$('.OrganisationSport', $item).text(item.sportName);
$('.OrganisationLocation', $item).text(item.location);
let $bgr = $('.sax-burger', $item);
let $mnu = $('ul.sax-dropdown-menu', $bgr).empty();
{
@@ -91,13 +93,11 @@
//--------------------------------------------------------------
so.selectFilterSport = function ()
{
sax.debug('selectFilterSport');
let excludeIds = [];
sax.mdl.selectSport.fn.selectSport({ caption: sax.dlg.title.selectSport, sportId: $('.FilterSportId', $frm.filter).val(), excludeIds: excludeIds, fnCallback: so.onFilterSportSelected })
}
so.onFilterSportSelected = function (spt)
{
sax.debug('onFilterSportSelected', spt)
$('.FilterSportId', $frm.filter).val(spt ? spt.id : '');
$('.FilterSportCaption', $frm.filter).val(spt ? spt.name : '');
so.refreshResults();
@@ -111,13 +111,11 @@
//--------------------------------------------------------------
so.selectFilterRegion = function ()
{
sax.debug('selectFilterRegion');
let excludeIds = [];
sax.mdl.selectRegion.fn.selectRegion({ caption: sax.dlg.title.selectRegion, regionId: $('.FilterRegionId', $frm.filter).val(), excludeIds: excludeIds, fnCallback: so.onFilterRegionSelected })
}
so.onFilterRegionSelected = function (rgn)
{
sax.debug('onFilterRegionSelected', rgn)
$('.FilterRegionId', $frm.filter).val(rgn ? rgn.id : '');
$('.FilterRegionCaption', $frm.filter).val(rgn ? rgn.name : '');
so.refreshResults();
@@ -139,11 +137,16 @@
{
sax.debug('onViewItem', response);
if (!response.success) return;
let frm = $frm.org;
let dlg = $dlg.org;
let item = so.data.organisation = response.organisation;
$('.OrganisationName', frm).toggle(!item.awaiting).val(item.name);
$('.OrganisationName', dlg).val(item.name);
$('.OrganisationCategory', dlg).toggle(!!item.category).find('.sax-value').text(item.category);
$('.OrganisationSport', dlg).toggle(!!item.sport).find('.sax-value').text(item.sport);
$('.OrganisationLocation', dlg).toggle(!!item.location).find('.sax-value').text(item.location);
$('.OrganisationAddress', dlg).toggle(!!item.address).find('.sax-value').html(item.address ? item.address.replace('\n', '<br/>') : '');
$('.OrganisationPostalCode', dlg).toggle(!!item.postalCode).find('.sax-value').text(item.postalCode);
sax.clearControlErrors();
$dlg.org.dialog('option', 'title', sax.dlg.title.organisation);
$dlg.org.dialog('option', 'title', item.name || sax.dlg.title.organisation);
sax.openDialog($dlg.org, 600, 600);
}
@@ -165,7 +168,6 @@
opt.buttons[sax.dlg.btn.cancel] = function () { $(this).dialog('close'); };
$dlg.org = $('#dlgOrganisation').dialog(opt);
$frm.orgId = $('#frmOrganisationId');
$frm.org = $('#frmOrganisation', $dlg.org);
setTimeout(so.refreshResults, 250);
});