diff --git a/Disco.Data/Configuration/Modules/OrganisationAddressesConfiguration.cs b/Disco.Data/Configuration/Modules/OrganisationAddressesConfiguration.cs index 77771374..8d7c94d9 100644 --- a/Disco.Data/Configuration/Modules/OrganisationAddressesConfiguration.cs +++ b/Disco.Data/Configuration/Modules/OrganisationAddressesConfiguration.cs @@ -58,19 +58,5 @@ namespace Disco.Data.Configuration.Modules } } - internal static void MigrateDatabase(DiscoDataContext Database) - { - // Migrate all organisation addresses to JSON - if (Database.ConfigurationItems.Count(i => i.Scope == scope && !i.Value.StartsWith("{")) > 0) - { - var items = Database.ConfigurationItems.Where(i => i.Scope == scope && !i.Value.StartsWith("{")).ToList(); - items.ForEach(i => - { - i.Value = JsonConvert.SerializeObject(OrganisationAddress.FromConfigurationEntry(int.Parse(i.Key), i.Value)); - }); - Database.SaveChanges(); - } - } - } } diff --git a/Disco.Data/Repository/DiscoDataSeeder.cs b/Disco.Data/Repository/DiscoDataSeeder.cs index 20780b99..cb54d105 100644 --- a/Disco.Data/Repository/DiscoDataSeeder.cs +++ b/Disco.Data/Repository/DiscoDataSeeder.cs @@ -20,8 +20,6 @@ namespace Disco.Data.Repository Database.SaveChanges(); // Migration Maintenance - Database.MigrateConfiguration(); - Database.MigratePreDomainObjects(); } @@ -312,14 +310,6 @@ namespace Disco.Data.Repository } // End Added: 2013-02-07 G# - public static void MigrateConfiguration(this DiscoDataContext Database) - { - // Organisation Addresses - Force all to JSON serializing - Configuration.Modules.OrganisationAddressesConfiguration.MigrateDatabase(Database); - - Database.SaveChanges(); - } - #region Migrate Users SQL private const string MigratePreDomainUsers_Sql = @"INSERT INTO [Users] SELECT @IdNew, u.DisplayName, u.Surname, u.GivenName, u.PhoneNumber, u.EmailAddress FROM [Users] u WHERE [Id]=@IdExisting; diff --git a/Disco.Models/BI/Config/OrganisationAddress.cs b/Disco.Models/BI/Config/OrganisationAddress.cs index 74871cf8..5f0e3727 100644 --- a/Disco.Models/BI/Config/OrganisationAddress.cs +++ b/Disco.Models/BI/Config/OrganisationAddress.cs @@ -1,12 +1,9 @@ -using System; -using System.ComponentModel.DataAnnotations; -using System.Text; +using System.ComponentModel.DataAnnotations; namespace Disco.Models.BI.Config { public class OrganisationAddress { - public int? Id { get; set; } [Required] public string Name { get; set; } @@ -23,54 +20,11 @@ namespace Disco.Models.BI.Config [Required] public string ShortName { get; set; } - // Added 2012-12-11 G# - // http://discoict.com.au/forum/support/2012/12/address-details.aspx public string PhoneNumber { get; set; } public string FaxNumber { get; set; } - // End Added 2012-12-11 G# - - public string ToConfigurationEntry() - { - StringBuilder entryBuilder = new StringBuilder(); - - entryBuilder.AppendLine(Name.Trim()); - entryBuilder.AppendLine(Address.Trim()); - entryBuilder.AppendLine(Suburb.Trim()); - entryBuilder.AppendLine(Postcode.Trim()); - entryBuilder.AppendLine(State.Trim()); - entryBuilder.AppendLine(Country.Trim()); - - if (!string.IsNullOrEmpty(ShortName)) - { - entryBuilder.AppendLine(ShortName.Trim()); - } - - return entryBuilder.ToString(); - } - - public static OrganisationAddress FromConfigurationEntry(int Id, string Entry) - { - string[] entryLines = Entry.Split(new string[] { Environment.NewLine }, StringSplitOptions.None); - if (entryLines.Length >= 6) - { - return new OrganisationAddress() - { - Id = Id, - Name = entryLines[0].Trim(), - Address = entryLines[1].Trim(), - Suburb = entryLines[2].Trim(), - Postcode = entryLines[3].Trim(), - State = entryLines[4].Trim(), - Country = entryLines[5].Trim(), - ShortName = (entryLines.Length > 6 ? entryLines[6].Trim() : string.Empty) - }; - } - throw new ArgumentException("Invalid Configuration Address Entry", "entry"); - } + public string EmailAddress { get; set; } public override string ToString() - { - return string.Format("{0} ({1})", this.Name, this.ShortName); - } + => $"{Name} ({ShortName})"; } } diff --git a/Disco.Web/Areas/API/Controllers/SystemController.cs b/Disco.Web/Areas/API/Controllers/SystemController.cs index f79d834b..72331c85 100644 --- a/Disco.Web/Areas/API/Controllers/SystemController.cs +++ b/Disco.Web/Areas/API/Controllers/SystemController.cs @@ -149,7 +149,7 @@ namespace Disco.Web.Areas.API.Controllers #endregion #region Organisation Addresses - [DiscoAuthorize(Claims.Config.Organisation.ConfigureAddresses)] + [HttpPost, ValidateAntiForgeryToken, DiscoAuthorize(Claims.Config.Organisation.ConfigureAddresses)] public virtual ActionResult UpdateOrganisationAddress(Disco.Models.BI.Config.OrganisationAddress organisationAddress, bool redirect = false) { if (organisationAddress == null) @@ -185,15 +185,15 @@ namespace Disco.Web.Areas.API.Controllers return Json(em.ToString(), JsonRequestBehavior.AllowGet); } } - [DiscoAuthorize(Claims.Config.Organisation.ConfigureAddresses)] - public virtual ActionResult DeleteOrganisationAddress(int Id, bool redirect = false) + [HttpPost, ValidateAntiForgeryToken, DiscoAuthorize(Claims.Config.Organisation.ConfigureAddresses)] + public virtual ActionResult DeleteOrganisationAddress(int id, bool redirect = false) { // Remove References in Device Profiles Database.DeviceProfiles - .Where(dp => dp.DefaultOrganisationAddress == Id).ToList() + .Where(dp => dp.DefaultOrganisationAddress == id).ToList() .ForEach(dp => dp.DefaultOrganisationAddress = null); - Database.DiscoConfiguration.OrganisationAddresses.RemoveAddress(Id); + Database.DiscoConfiguration.OrganisationAddresses.RemoveAddress(id); Database.SaveChanges(); if (redirect) diff --git a/Disco.Web/Areas/Config/Views/Organisation/Index.cshtml b/Disco.Web/Areas/Config/Views/Organisation/Index.cshtml index ddd44596..47512240 100644 --- a/Disco.Web/Areas/Config/Views/Organisation/Index.cshtml +++ b/Disco.Web/Areas/Config/Views/Organisation/Index.cshtml @@ -12,13 +12,15 @@

Details

- - - - - - @@ -137,17 +156,16 @@ @if (Authorization.Has(Claims.Config.Organisation.ConfigureLogo)) { -
Name: + + Name: @if (Authorization.Has(Claims.Config.Organisation.ConfigureName)) + + @if (Authorization.Has(Claims.Config.Organisation.ConfigureName)) { - @Html.EditorFor(m => m.OrganisationName) - @AjaxHelpers.AjaxLoader() - + } else { -

@Model.OrganisationName

+

@Model.OrganisationName

}
Logo: + + Logo: @if (Authorization.Has(Claims.Config.Organisation.ConfigureLogo)) {
@@ -52,13 +55,15 @@
Multi-Site Mode: + + Multi-Site Mode: @if (Authorization.Has(Claims.Config.Organisation.ConfigureMultiSiteMode)) + + @if (Authorization.Has(Claims.Config.Organisation.ConfigureMultiSiteMode)) { - @Html.EditorFor(m => m.MultiSiteMode) @Html.LabelFor(m => m.MultiSiteMode) - @AjaxHelpers.AjaxLoader() - + } else { - @Html.LabelFor(m => m.MultiSiteMode) + @Html.LabelFor(m => m.MultiSiteMode) } @if (Model.OrganisationAddresses.Count > 1) { @@ -85,22 +90,25 @@
Addresses: + + Addresses: @if (canConfigAddresses) {

- Create + }
@if (Model.OrganisationAddresses.Count > 0) - { + { - - @@ -108,19 +116,30 @@ { @@ -128,7 +147,7 @@
Name + + Name Address + + Address
- @Html.DisplayFor(modelItem => item.Name) (@Html.DisplayFor(modelItem => item.ShortName)) + @Html.DisplayFor(modelItem => item.Name) (@Html.DisplayFor(modelItem => item.ShortName)) - @Html.DisplayFor(modelItem => item.Address)
- @Html.DisplayFor(modelItem => item.Suburb) @Html.DisplayFor(modelItem => item.Postcode)
- @Html.DisplayFor(modelItem => item.State) @Html.DisplayFor(modelItem => item.Country)
- Phone: @Html.DisplayFor(modelItem => item.PhoneNumber)
- Fax: @Html.DisplayFor(modelItem => item.FaxNumber) + @Html.DisplayFor(modelItem => item.Address) +
@Html.DisplayFor(modelItem => item.Suburb) @Html.DisplayFor(modelItem => item.Postcode) +
@Html.DisplayFor(modelItem => item.State) @Html.DisplayFor(modelItem => item.Country) + @if (!string.IsNullOrWhiteSpace(item.PhoneNumber)) + { +
Phone: @Html.DisplayFor(modelItem => item.PhoneNumber) + } + @if (!string.IsNullOrWhiteSpace(item.FaxNumber)) + { +
Fax: @Html.DisplayFor(modelItem => item.FaxNumber) + } + @if (!string.IsNullOrWhiteSpace(item.EmailAddress)) + { +
@Html.DisplayFor(modelItem => item.EmailAddress) + }
@if (canConfigAddresses) { + }
} else - { + { No Addresses Stored }
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Short Name - - -
Name - - -
Address - - -
Suburb - - -
Postcode - - -
State - - -
Country - - -
Phone Number - - -
Fax Number - - -
+
+ @using (Html.BeginForm(MVC.API.System.UpdateOrganisationAddress())) + { + @Html.AntiForgeryToken() + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ }
} \ No newline at end of file diff --git a/Disco.Web/Areas/Config/Views/Organisation/Index.generated.cs b/Disco.Web/Areas/Config/Views/Organisation/Index.generated.cs index 9a412283..27e1198b 100644 --- a/Disco.Web/Areas/Config/Views/Organisation/Index.generated.cs +++ b/Disco.Web/Areas/Config/Views/Organisation/Index.generated.cs @@ -67,45 +67,51 @@ WriteLiteral(">\r\n

Details

\r\n \r\n \r\n WriteLiteral(" style=\"width: 160px\""); -WriteLiteral(">Name:\r\n \r\n \r\n \r\n \r\n WriteLiteral(" style=\"width: 160px\""); -WriteLiteral(">Logo:\r\n"); +WriteLiteral(">\r\n Logo:\r\n"); - #line 41 "..\..\Areas\Config\Views\Organisation\Index.cshtml" + #line 44 "..\..\Areas\Config\Views\Organisation\Index.cshtml" #line default #line hidden - #line 41 "..\..\Areas\Config\Views\Organisation\Index.cshtml" + #line 44 "..\..\Areas\Config\Views\Organisation\Index.cshtml" if (Authorization.Has(Claims.Config.Organisation.ConfigureLogo)) { @@ -189,7 +195,7 @@ WriteLiteral(" class=\"button\""); WriteLiteral(">Update\r\n"); - #line 46 "..\..\Areas\Config\Views\Organisation\Index.cshtml" + #line 49 "..\..\Areas\Config\Views\Organisation\Index.cshtml" } @@ -205,14 +211,14 @@ WriteLiteral(" style=\"height: 256px; width: 256px;\""); WriteLiteral(" alt=\"Organisation Logo\""); -WriteAttribute("src", Tuple.Create(" src=\"", 2007), Tuple.Create("\"", 2041) +WriteAttribute("src", Tuple.Create(" src=\"", 2081), Tuple.Create("\"", 2115) - #line 50 "..\..\Areas\Config\Views\Organisation\Index.cshtml" - , Tuple.Create(Tuple.Create("", 2013), Tuple.Create(Url.OrganisationLogoUrl() + #line 53 "..\..\Areas\Config\Views\Organisation\Index.cshtml" + , Tuple.Create(Tuple.Create("", 2087), Tuple.Create(Url.OrganisationLogoUrl() #line default #line hidden -, 2013), false) +, 2087), false) ); WriteLiteral(" />\r\n \r\n \r\n \r\n \r\n " + @@ -220,58 +226,64 @@ WriteLiteral(" />\r\n \r\n \r\n Multi-Site Mode:\r\n \r\n \r\n \r\n \r\n WriteLiteral(" style=\"width: 160px\""); -WriteLiteral(">Addresses:\r\n"); +WriteLiteral(">\r\n Addresses:\r\n"); - #line 89 "..\..\Areas\Config\Views\Organisation\Index.cshtml" + #line 95 "..\..\Areas\Config\Views\Organisation\Index.cshtml" #line default #line hidden - #line 89 "..\..\Areas\Config\Views\Organisation\Index.cshtml" + #line 95 "..\..\Areas\Config\Views\Organisation\Index.cshtml" if (canConfigAddresses) { @@ -402,18 +414,16 @@ WriteLiteral("
\r\n"); WriteLiteral("
\r\n"); -WriteLiteral(" Create\r\n"); +WriteLiteral(">Create\r\n"); - #line 94 "..\..\Areas\Config\Views\Organisation\Index.cshtml" + #line 100 "..\..\Areas\Config\Views\Organisation\Index.cshtml" } @@ -422,15 +432,15 @@ WriteLiteral(">Create\r\n"); WriteLiteral(" \r\n \r\n \r\n \r\n \r\n " + -" \r\n"); +WriteLiteral(@"> + + + + + +"); - #line 107 "..\..\Areas\Config\Views\Organisation\Index.cshtml" + #line 115 "..\..\Areas\Config\Views\Organisation\Index.cshtml" #line default #line hidden - #line 107 "..\..\Areas\Config\Views\Organisation\Index.cshtml" + #line 115 "..\..\Areas\Config\Views\Organisation\Index.cshtml" foreach (var item in Model.OrganisationAddresses) { @@ -463,7 +480,7 @@ WriteLiteral(" \r\n \r\n " + -"\r\n <" + -"td>\r\n"); - - - #line 121 "..\..\Areas\Config\Views\Organisation\Index.cshtml" + #line 125 "..\..\Areas\Config\Views\Organisation\Index.cshtml" #line default #line hidden - #line 121 "..\..\Areas\Config\Views\Organisation\Index.cshtml" + #line 125 "..\..\Areas\Config\Views\Organisation\Index.cshtml" + if (!string.IsNullOrWhiteSpace(item.PhoneNumber)) + { + + + #line default + #line hidden +WriteLiteral("
"); + +WriteLiteral("Phone: "); + +WriteLiteral(""); + + + #line 127 "..\..\Areas\Config\Views\Organisation\Index.cshtml" + Write(Html.DisplayFor(modelItem => item.PhoneNumber)); + + + #line default + #line hidden +WriteLiteral("\r\n"); + + + #line 128 "..\..\Areas\Config\Views\Organisation\Index.cshtml" + } + + + #line default + #line hidden +WriteLiteral(" "); + + + #line 129 "..\..\Areas\Config\Views\Organisation\Index.cshtml" + if (!string.IsNullOrWhiteSpace(item.FaxNumber)) + { + + + #line default + #line hidden +WriteLiteral("
"); + +WriteLiteral("Fax: "); + +WriteLiteral(""); + + + #line 131 "..\..\Areas\Config\Views\Organisation\Index.cshtml" + Write(Html.DisplayFor(modelItem => item.FaxNumber)); + + + #line default + #line hidden +WriteLiteral("\r\n"); + + + #line 132 "..\..\Areas\Config\Views\Organisation\Index.cshtml" + } + + + #line default + #line hidden +WriteLiteral(" "); + + + #line 133 "..\..\Areas\Config\Views\Organisation\Index.cshtml" + if (!string.IsNullOrWhiteSpace(item.EmailAddress)) + { + + + #line default + #line hidden +WriteLiteral("
"); + +WriteLiteral(""); + + + #line 135 "..\..\Areas\Config\Views\Organisation\Index.cshtml" + Write(Html.DisplayFor(modelItem => item.EmailAddress)); + + + #line default + #line hidden +WriteLiteral("\r\n"); + + + #line 136 "..\..\Areas\Config\Views\Organisation\Index.cshtml" + } + + + #line default + #line hidden +WriteLiteral(" \r\n
\r\n \r\n"); - #line 127 "..\..\Areas\Config\Views\Organisation\Index.cshtml" + #line 146 "..\..\Areas\Config\Views\Organisation\Index.cshtml" } @@ -650,10 +729,10 @@ WriteLiteral(" \r\n WriteLiteral("
"); +WriteLiteral(">\r\n Name:\r\n \r\n \r\n"); - #line 17 "..\..\Areas\Config\Views\Organisation\Index.cshtml" + #line 19 "..\..\Areas\Config\Views\Organisation\Index.cshtml" + + + #line default + #line hidden + + #line 19 "..\..\Areas\Config\Views\Organisation\Index.cshtml" if (Authorization.Has(Claims.Config.Organisation.ConfigureName)) { - + #line default #line hidden - #line 19 "..\..\Areas\Config\Views\Organisation\Index.cshtml" - Write(Html.EditorFor(m => m.OrganisationName)); + #line 21 "..\..\Areas\Config\Views\Organisation\Index.cshtml" + Write(Html.EditorFor(m => m.OrganisationName)); #line default #line hidden - #line 19 "..\..\Areas\Config\Views\Organisation\Index.cshtml" - - + #line 21 "..\..\Areas\Config\Views\Organisation\Index.cshtml" + + #line default #line hidden - #line 20 "..\..\Areas\Config\Views\Organisation\Index.cshtml" - Write(AjaxHelpers.AjaxLoader()); + #line 22 "..\..\Areas\Config\Views\Organisation\Index.cshtml" + Write(AjaxHelpers.AjaxLoader()); #line default #line hidden - #line 20 "..\..\Areas\Config\Views\Organisation\Index.cshtml" - + #line 22 "..\..\Areas\Config\Views\Organisation\Index.cshtml" + #line default #line hidden -WriteLiteral(" '"); - #line 27 "..\..\Areas\Config\Views\Organisation\Index.cshtml" + #line 29 "..\..\Areas\Config\Views\Organisation\Index.cshtml" Write(Url.Action(MVC.API.System.UpdateOrganisationName())); #line default #line hidden WriteLiteral("\',\r\n \'OrganisationName\'\r\n );\r\n " + -" });\r\n \r\n"); +" });\r\n \r\n"); - #line 32 "..\..\Areas\Config\Views\Organisation\Index.cshtml" + #line 34 "..\..\Areas\Config\Views\Organisation\Index.cshtml" } else { @@ -136,11 +142,11 @@ WriteLiteral("\',\r\n \'OrganisationName\'\r\n #line default #line hidden -WriteLiteral("

"); +WriteLiteral("

"); - #line 35 "..\..\Areas\Config\Views\Organisation\Index.cshtml" - Write(Model.OrganisationName); + #line 37 "..\..\Areas\Config\Views\Organisation\Index.cshtml" + Write(Model.OrganisationName); #line default @@ -148,7 +154,7 @@ WriteLiteral("

"); WriteLiteral("

\r\n"); - #line 36 "..\..\Areas\Config\Views\Organisation\Index.cshtml" + #line 38 "..\..\Areas\Config\Views\Organisation\Index.cshtml" } @@ -158,16 +164,16 @@ WriteLiteral("
"); +WriteLiteral(">\r\n Multi-Site Mode:\r\n \r\n \r\n"); - #line 57 "..\..\Areas\Config\Views\Organisation\Index.cshtml" + #line 62 "..\..\Areas\Config\Views\Organisation\Index.cshtml" + + + #line default + #line hidden + + #line 62 "..\..\Areas\Config\Views\Organisation\Index.cshtml" if (Authorization.Has(Claims.Config.Organisation.ConfigureMultiSiteMode)) { - + #line default #line hidden - #line 59 "..\..\Areas\Config\Views\Organisation\Index.cshtml" - Write(Html.EditorFor(m => m.MultiSiteMode)); + #line 64 "..\..\Areas\Config\Views\Organisation\Index.cshtml" + Write(Html.EditorFor(m => m.MultiSiteMode)); #line default #line hidden - #line 59 "..\..\Areas\Config\Views\Organisation\Index.cshtml" - + #line 64 "..\..\Areas\Config\Views\Organisation\Index.cshtml" + #line default #line hidden - #line 59 "..\..\Areas\Config\Views\Organisation\Index.cshtml" - Write(Html.LabelFor(m => m.MultiSiteMode)); + #line 64 "..\..\Areas\Config\Views\Organisation\Index.cshtml" + Write(Html.LabelFor(m => m.MultiSiteMode)); #line default #line hidden - #line 59 "..\..\Areas\Config\Views\Organisation\Index.cshtml" - - + #line 64 "..\..\Areas\Config\Views\Organisation\Index.cshtml" + + #line default #line hidden - #line 60 "..\..\Areas\Config\Views\Organisation\Index.cshtml" - Write(AjaxHelpers.AjaxLoader()); + #line 65 "..\..\Areas\Config\Views\Organisation\Index.cshtml" + Write(AjaxHelpers.AjaxLoader()); #line default #line hidden - #line 60 "..\..\Areas\Config\Views\Organisation\Index.cshtml" - + #line 65 "..\..\Areas\Config\Views\Organisation\Index.cshtml" + #line default #line hidden -WriteLiteral(" '"); - #line 67 "..\..\Areas\Config\Views\Organisation\Index.cshtml" + #line 72 "..\..\Areas\Config\Views\Organisation\Index.cshtml" Write(Url.Action(MVC.API.System.UpdateMultiSiteMode())); #line default #line hidden WriteLiteral("\',\r\n \'MultiSiteMode\'\r\n );\r\n " + -" });\r\n \r\n"); +" });\r\n \r\n"); - #line 72 "..\..\Areas\Config\Views\Organisation\Index.cshtml" + #line 77 "..\..\Areas\Config\Views\Organisation\Index.cshtml" } else { @@ -302,7 +314,7 @@ WriteLiteral("\',\r\n \'MultiSiteMode\'\r\n #line default #line hidden -WriteLiteral("
\r\n"); - #line 97 "..\..\Areas\Config\Views\Organisation\Index.cshtml" + #line 103 "..\..\Areas\Config\Views\Organisation\Index.cshtml" #line default #line hidden - #line 97 "..\..\Areas\Config\Views\Organisation\Index.cshtml" + #line 103 "..\..\Areas\Config\Views\Organisation\Index.cshtml" if (Model.OrganisationAddresses.Count > 0) - { + { #line default @@ -439,19 +449,26 @@ WriteLiteral(" \r\n
Name\r\n " + -" Address\r\n " + -"
+ Name + + Address +
\r\n "); +"n>"); - #line 111 "..\..\Areas\Config\Views\Organisation\Index.cshtml" - Write(Html.DisplayFor(modelItem => item.Name)); + #line 119 "..\..\Areas\Config\Views\Organisation\Index.cshtml" + Write(Html.DisplayFor(modelItem => item.Name)); #line default #line hidden -WriteLiteral(" ("); +WriteLiteral(" ("); - #line 111 "..\..\Areas\Config\Views\Organisation\Index.cshtml" - Write(Html.DisplayFor(modelItem => item.ShortName)); + #line 119 "..\..\Areas\Config\Views\Organisation\Index.cshtml" + Write(Html.DisplayFor(modelItem => item.ShortName)); #line default #line hidden WriteLiteral(")\r\n \r\n "); +"\r\n "); - #line 114 "..\..\Areas\Config\Views\Organisation\Index.cshtml" - Write(Html.DisplayFor(modelItem => item.Address)); + #line 122 "..\..\Areas\Config\Views\Organisation\Index.cshtml" + Write(Html.DisplayFor(modelItem => item.Address)); #line default #line hidden -WriteLiteral("
\r\n "); +WriteLiteral("\r\n
"); - #line 115 "..\..\Areas\Config\Views\Organisation\Index.cshtml" - Write(Html.DisplayFor(modelItem => item.Suburb)); + #line 123 "..\..\Areas\Config\Views\Organisation\Index.cshtml" + Write(Html.DisplayFor(modelItem => item.Suburb)); #line default #line hidden -WriteLiteral(" "); +WriteLiteral(" "); - #line 115 "..\..\Areas\Config\Views\Organisation\Index.cshtml" - Write(Html.DisplayFor(modelItem => item.Postcode)); + #line 123 "..\..\Areas\Config\Views\Organisation\Index.cshtml" + Write(Html.DisplayFor(modelItem => item.Postcode)); #line default #line hidden -WriteLiteral("
\r\n "); +WriteLiteral("\r\n
"); - #line 116 "..\..\Areas\Config\Views\Organisation\Index.cshtml" - Write(Html.DisplayFor(modelItem => item.State)); + #line 124 "..\..\Areas\Config\Views\Organisation\Index.cshtml" + Write(Html.DisplayFor(modelItem => item.State)); #line default #line hidden -WriteLiteral(" "); +WriteLiteral(" "); - #line 116 "..\..\Areas\Config\Views\Organisation\Index.cshtml" - Write(Html.DisplayFor(modelItem => item.Country)); + #line 124 "..\..\Areas\Config\Views\Organisation\Index.cshtml" + Write(Html.DisplayFor(modelItem => item.Country)); #line default #line hidden -WriteLiteral("
\r\n Phone: "); +WriteLiteral("\r\n"); - #line 117 "..\..\Areas\Config\Views\Organisation\Index.cshtml" - Write(Html.DisplayFor(modelItem => item.PhoneNumber)); - - - #line default - #line hidden -WriteLiteral("
\r\n Fax: "); - - - #line 118 "..\..\Areas\Config\Views\Organisation\Index.cshtml" - Write(Html.DisplayFor(modelItem => item.FaxNumber)); - - - #line default - #line hidden -WriteLiteral("\r\n
\r\n"); + + + #line 139 "..\..\Areas\Config\Views\Organisation\Index.cshtml" + + + #line default + #line hidden + + #line 139 "..\..\Areas\Config\Views\Organisation\Index.cshtml" if (canConfigAddresses) { @@ -631,8 +693,25 @@ WriteLiteral(" title=\"Delete Address\""); WriteLiteral(">\r\n"); +WriteLiteral(" "); + - #line 124 "..\..\Areas\Config\Views\Organisation\Index.cshtml" + #line 142 "..\..\Areas\Config\Views\Organisation\Index.cshtml" + Write(Html.Raw(Json.Encode(item))); + + + #line default + #line hidden +WriteLiteral("\r\n"); + + + #line 143 "..\..\Areas\Config\Views\Organisation\Index.cshtml" } @@ -641,7 +720,7 @@ WriteLiteral(">\r\n"); WriteLiteral("
\r\n"); - #line 129 "..\..\Areas\Config\Views\Organisation\Index.cshtml" + #line 148 "..\..\Areas\Config\Views\Organisation\Index.cshtml" } else - { + { #line default @@ -665,7 +744,7 @@ WriteLiteral(" class=\"smallMessage\""); WriteLiteral(">No Addresses Stored\r\n"); - #line 133 "..\..\Areas\Config\Views\Organisation\Index.cshtml" + #line 152 "..\..\Areas\Config\Views\Organisation\Index.cshtml" } @@ -674,7 +753,7 @@ WriteLiteral(">No Addresses Stored\r\n"); WriteLiteral(" \r\n \r\n \r\n\r\n"); - #line 138 "..\..\Areas\Config\Views\Organisation\Index.cshtml" + #line 157 "..\..\Areas\Config\Views\Organisation\Index.cshtml" if (Authorization.Has(Claims.Config.Organisation.ConfigureLogo)) { @@ -687,16 +766,18 @@ WriteLiteral(" id=\"dialogUpdateOrganisationLogo\""); WriteLiteral(" title=\"Update Organisation Logo\""); +WriteLiteral(" class=\"dialog\""); + WriteLiteral(">\r\n"); - #line 141 "..\..\Areas\Config\Views\Organisation\Index.cshtml" + #line 160 "..\..\Areas\Config\Views\Organisation\Index.cshtml" #line default #line hidden - #line 141 "..\..\Areas\Config\Views\Organisation\Index.cshtml" + #line 160 "..\..\Areas\Config\Views\Organisation\Index.cshtml" using (Html.BeginForm(MVC.API.System.OrganisationLogo(true, null, null), FormMethod.Post, new { enctype = "multipart/form-data" })) { @@ -719,7 +800,7 @@ WriteLiteral(" name=\"ResetLogo\""); WriteLiteral(" value=\"true\""); -WriteLiteral("\r\n checked=\"checked\""); +WriteLiteral("\r\n checked=\"checked\""); WriteLiteral(" />Upload Logo" + -"\r\n Upload Logo\r\n * Required\r\n \r\n \r\n"); - #line 156 "..\..\Areas\Config\Views\Organisation\Index.cshtml" + #line 174 "..\..\Areas\Config\Views\Organisation\Index.cshtml" } @@ -806,14 +890,14 @@ WriteLiteral(">\r\n $(function () {\r\n var button = $(\'#butt " }\r\n });\r\n });\r\n \r\n"); - #line 203 "..\..\Areas\Config\Views\Organisation\Index.cshtml" + #line 221 "..\..\Areas\Config\Views\Organisation\Index.cshtml" } #line default #line hidden - #line 204 "..\..\Areas\Config\Views\Organisation\Index.cshtml" + #line 222 "..\..\Areas\Config\Views\Organisation\Index.cshtml" if (canConfigAddresses) { @@ -826,13 +910,71 @@ WriteLiteral(" id=\"dialogConfirmRemove\""); WriteLiteral(" title=\"Delete this Address?\""); +WriteLiteral(" class=\"dialog\""); + WriteLiteral(">\r\n

\r\n \r\n This item will be permanently deleted and cannot be recovered." + -"\r\n

\r\n

\r\n Are you sure?\r\n " + -"

\r\n \r\n"); +WriteLiteral(">\r\n This item will be permanently deleted.\r\n

\r\n " + +"

\r\n Are you sure?\r\n

\r\n"); + + + #line 232 "..\..\Areas\Config\Views\Organisation\Index.cshtml" + + + #line default + #line hidden + + #line 232 "..\..\Areas\Config\Views\Organisation\Index.cshtml" + using (Html.BeginForm(MVC.API.System.DeleteOrganisationAddress())) + { + + + #line default + #line hidden + + #line 234 "..\..\Areas\Config\Views\Organisation\Index.cshtml" + Write(Html.AntiForgeryToken()); + + + #line default + #line hidden + + #line 234 "..\..\Areas\Config\Views\Organisation\Index.cshtml" + + + + #line default + #line hidden +WriteLiteral(" \r\n"); + +WriteLiteral(" \r\n"); + + + #line 237 "..\..\Areas\Config\Views\Organisation\Index.cshtml" + } + + + #line default + #line hidden +WriteLiteral(" \r\n"); WriteLiteral(" \r\n \r\n \r\n \r\n \r\n \r\n " + +"\r\n \r\n \r\n \r\n \r\n"); + + + #line 327 "..\..\Areas\Config\Views\Organisation\Index.cshtml" + } + + + #line default + #line hidden +WriteLiteral(" \r\n"); WriteLiteral(" - $(function () { - $(""#dialogConfirmRemove"").dialog({ - resizable: false, - modal: true, - autoOpen: false, - buttons: { - ""Delete"": function () { - return null; - }, - Cancel: function () { - $(this).dialog(""close""); - } - } - }); - $('#organisationAddresses').find('i.delete').click(function () { - var componentRow = $(this).closest('tr'); - var id = componentRow.attr('data-addressid'); - if (id) { - var dialog = $(""#dialogConfirmRemove""); - var buttons = dialog.dialog(""option"", ""buttons""); - buttons['Delete'] = function () { $(this).dialog(""disable""); window.location.href = '"); +WriteLiteral(">\r\n $(function () {\r\n let $addressEditDialog = null;\r\n " + +" let $addressRemoveDialog = null;\r\n\r\n $(\'#organisationAddresses\').f" + +"ind(\'i.delete\').click(function () {\r\n const id = $(this).closest(" + +"\'tr\').attr(\'data-addressid\');\r\n if (id) {\r\n if" + +" ($addressRemoveDialog === null) {\r\n $addressRemoveDialog" + +" = $(\"#dialogConfirmRemove\").dialog({\r\n resizable: fa" + +"lse,\r\n modal: true,\r\n auto" + +"Open: false,\r\n buttons: {\r\n " + +" \"Delete\": function () {\r\n const $this =" + +" $(this);\r\n $this.dialog(\"disable\");\r\n " + +" $this.dialog(\"option\", \"buttons\", null);\r\n " + +" $this.find(\'form\').trigger(\'submit\');\r\n " + +" },\r\n Cancel: function () {\r\n " + +" $(this).dialog(\"close\");\r\n " + +" }\r\n }\r\n });\r\n " + +" }\r\n const $dialog = $addressRemoveDialog;\r\n " + +" $dialog.find(\'input[name=\"Id\"]\').val(id);\r\n $" + +"dialog.dialog(\'open\');\r\n }\r\n });\r\n\r\n functi" + +"on editAddress(e) {\r\n if ($addressEditDialog === null) {\r\n " + +" $addressEditDialog = $(\"#dialogEdit\").dialog({\r\n " + +" resizable: false,\r\n modal: true,\r\n " + +" autoOpen: false,\r\n width: 350,\r\n " + +" buttons: {\r\n \"Save\": function () {\r\n " + +" const $form = $addressEditDialog.find(\'form\');\r\n " + +" if ($form[0].reportValidity()) {\r\n " + +" const $this = $(this);\r\n $this.dial" + +"og(\"disable\");\r\n $this.dialog(\"option\", \"butt" + +"ons\", null);\r\n $form.trigger(\'submit\');\r\n " + +" }\r\n },\r\n " + +" Cancel: function () {\r\n $(this).dialog" + +"(\"close\");\r\n }\r\n }\r\n " + +" });\r\n $addressEditDialog.find(\'form\').removeAttr(\'n" + +"ovalidate\');\r\n }\r\n const $dialog = $addressEditDia" + +"log;\r\n\r\n if (e && e.currentTarget) {\r\n const a" + +"ddress = JSON.parse($(e.currentTarget).closest(\'tr\').find(\'script.addressJson\')." + +"html());\r\n\r\n $dialog.dialog(\'option\', \'title\', \'Edit Address:" + +" \' + address.Name);\r\n\r\n $dialog.find(\'input[data-bind]\').each" + +"(function () {\r\n const $this = $(this);\r\n " + +" const name = $this.attr(\'name\');\r\n if (address[na" + +"me]) {\r\n $this.val(address[name]);\r\n " + +" } else {\r\n $this.val(\'\');\r\n " + +" }\r\n });\r\n } else {\r\n $" + +"dialog.dialog(\'option\', \'title\', \'Create Address\');\r\n $dialog" + +".find(\'input[data-bind]\').val(\'\');\r\n }\r\n $dialog.d" + +"ialog(\'open\');\r\n $dialog.find(\'input[type=\"text\"]\').first().focus" + +"();\r\n }\r\n\r\n $(\'#organisationAddresses\').on(\'click\', \'i.edi" + +"t\', editAddress)\r\n $(\'#createAddress\').on(\'click\', function (e) {\r\n " + +" e.preventDefault();\r\n editAddress();\r\n " + +" return false;\r\n });\r\n });\r\n \r\n"); - #line 303 "..\..\Areas\Config\Views\Organisation\Index.cshtml" - Write(Url.Action(MVC.API.System.DeleteOrganisationAddress())); - - - #line default - #line hidden -WriteLiteral("\' + \'?redirect=true&id=\' + id; };\r\n var buttons = dialog.dialo" + -"g(\"option\", \"buttons\", buttons);\r\n dialog.dialog(\'open\');\r\n " + -" }\r\n });\r\n\r\n var editAddress = function (elem" + -"ent) {\r\n var id = \'\', shortName = \'\', name = \'\', address = \'\', su" + -"burb = \'\', postcode = \'\', state = \'\', country = \'\', phoneNumber = \'\', faxNumber " + -"= \'\';\r\n var dialog = $(\'#dialogEdit\');\r\n if (eleme" + -"nt) {\r\n id = element.attr(\'data-addressid\');\r\n " + -" shortName = element.find(\'.shortName\').text();\r\n name = " + -"element.find(\'.name\').text();\r\n address = element.find(\'.addr" + -"ess\').text();\r\n suburb = element.find(\'.suburb\').text();\r\n " + -" postcode = element.find(\'.postcode\').text();\r\n " + -" state = element.find(\'.state\').text();\r\n country = element" + -".find(\'.country\').text();\r\n phoneNumber = element.find(\'.phon" + -"eNumber\').text();\r\n faxNumber = element.find(\'.faxNumber\').te" + -"xt();\r\n dialog.attr(\'data-addressid\', id);\r\n " + -" dialog.dialog(\'option\', \'title\', \'Edit Address: \' + name);\r\n }" + -" else {\r\n dialog.attr(\'data-addressid\', null);\r\n " + -" dialog.dialog(\'option\', \'title\', \'Create Address\');\r\n }\r\n\r" + -"\n $(\'#editShortName\').val(shortName);\r\n $(\'#editNa" + -"me\').val(name);\r\n $(\'#editAddress\').val(address);\r\n " + -" $(\'#editSuburb\').val(suburb);\r\n $(\'#editPostcode\').val(postcode" + -");\r\n $(\'#editState\').val(state);\r\n $(\'#editCountry" + -"\').val(country);\r\n $(\'#editPhoneNumber\').val(phoneNumber);\r\n " + -" $(\'#editFaxNumber\').val(faxNumber);\r\n dialog.dialog(\'o" + -"pen\');\r\n }\r\n\r\n $(\'#organisationAddresses\').find(\'i.edit\')." + -"click(function () {\r\n var componentRow = $(this).closest(\'tr\');\r\n" + -" editAddress(componentRow);\r\n });\r\n\r\n $(\'#c" + -"reateAddress\').click(function () {\r\n editAddress();\r\n " + -" return false;\r\n });\r\n\r\n var submitAddress = function (" + -") {\r\n var dialog = $(\'#dialogEdit\');\r\n var data = " + -"{\r\n Id: dialog.attr(\'data-addressid\'),\r\n S" + -"hortName: $(\'#editShortName\').val(),\r\n Name: $(\'#editName\').v" + -"al(),\r\n Address: $(\'#editAddress\').val(),\r\n " + -" Suburb: $(\'#editSuburb\').val(),\r\n Postcode: $(\'#editPostcod" + -"e\').val(),\r\n State: $(\'#editState\').val(),\r\n " + -" Country: $(\'#editCountry\').val(),\r\n PhoneNumber: $(\'#editP" + -"honeNumber\').val(),\r\n FaxNumber: $(\'#editFaxNumber\').val()\r\n " + -" };\r\n\r\n $.ajax({\r\n url: \'"); - - - #line 368 "..\..\Areas\Config\Views\Organisation\Index.cshtml" - Write(Url.Action(MVC.API.System.UpdateOrganisationAddress())); - - - #line default - #line hidden -WriteLiteral("\',\r\n dataType: \'json\',\r\n data: data,\r\n " + -" type: \'post\',\r\n success: function (d) {\r\n i" + -"f (d == \'OK\') {\r\n window.location.href = \'"); - - - #line 374 "..\..\Areas\Config\Views\Organisation\Index.cshtml" - Write(Url.Action(MVC.Config.Organisation.Index())); - - - #line default - #line hidden -WriteLiteral(@"'; - } else { - alert('Unable to update address:\n' + d); - dialog.dialog('enable'); - } - }, - error: function (jqXHR, textStatus, errorThrown) { - alert('Unable to update address:\n' + textStatus); - dialog.dialog('enable'); - } - }); - - }; - $(""#dialogEdit"").dialog({ - resizable: false, - modal: true, - autoOpen: false, - width: 350, - buttons: { - ""Save"": function () { - submitAddress(); - }, - Cancel: function () { - $(this).dialog(""close""); - } - } - }); - - }); - -"); - - - #line 404 "..\..\Areas\Config\Views\Organisation\Index.cshtml" + #line 417 "..\..\Areas\Config\Views\Organisation\Index.cshtml" } #line default
Short Name\r\n " + -" \r\n \r\n"); + + + #line 240 "..\..\Areas\Config\Views\Organisation\Index.cshtml" + + + #line default + #line hidden + + #line 240 "..\..\Areas\Config\Views\Organisation\Index.cshtml" + using (Html.BeginForm(MVC.API.System.UpdateOrganisationAddress())) + { + + + #line default + #line hidden + + #line 242 "..\..\Areas\Config\Views\Organisation\Index.cshtml" + Write(Html.AntiForgeryToken()); + + + #line default + #line hidden + + #line 242 "..\..\Areas\Config\Views\Organisation\Index.cshtml" + + + + #line default + #line hidden +WriteLiteral(" \r\n"); + +WriteLiteral(" \r\n"); + +WriteLiteral(" \r\n \r\n \r\n <" + +"td>\r\n \r\n \r\n \r\n \r\n " + -"\r\n \r\n \r\n " + +" \r\n \r\n \r\n \r\n \r\n " + -"\r\n \r\n \r\n " + +" \r\n \r\n \r\n \r\n \r\n " + -"\r\n \r\n \r\n " + +" \r\n \r\n \r\n \r\n \r\n " + -"\r\n \r\n \r\n " + +" \r\n \r\n \r\n \r\n \r\n " + -"\r\n \r\n \r\n " + +" \r\n \r\n \r\n \r\n \r\n " + -"\r\n \r\n \r\n " + +" \r\n \r\n \r\n \r\n \r\n " + -"\r\n \r\n \r\n " + +" \r\n \r\n \r\n \r\n \r\n " + -"\r\n \r\n \r\n " + +"\r\n \r\n \r\n \r\n
\r\n " + +" Short Name *\r\n
Name\r\n \r\n \r\n
\r\n Name *\r\n \r\n " + +" \r\n
Address\r\n \r\n \r\n
\r\n Address *\r\n \r\n " + +" \r\n
Suburb\r\n \r\n \r\n
\r\n Suburb *\r\n \r\n " + +" \r\n
Postcode\r\n \r\n <" + -"input"); +WriteLiteral(" required data-bind />\r\n
\r\n Postcode *\r\n \r\n " + +" \r\n
State\r\n \r\n \r\n
\r\n State *\r\n \r\n " + +" \r\n
Country\r\n \r\n \r\n
\r\n Country *\r\n \r\n " + +" \r\n
Phone Number\r\n \r\n " + -" \r\n
\r\n Phone Number\r\n \r\n " + +" \r\n
Fax Number\r\n \r\n " + -" \r\n
\r\n Fax Number\r\n \r\n " + +" \r\n
\r\n \r\n"); +WriteLiteral(" data-bind />\r\n
\r\n Email Address\r\n \r\n " + +" \r\n