diff --git a/server/AyaNova/biz/ReportBiz.cs b/server/AyaNova/biz/ReportBiz.cs index d7ef5a2e..71638d8d 100644 --- a/server/AyaNova/biz/ReportBiz.cs +++ b/server/AyaNova/biz/ReportBiz.cs @@ -409,8 +409,16 @@ namespace AyaNova.Biz var serverMeta = $"{{ayApiUrl:`{apiUrl}`}}"; log.LogDebug($"Preparing page: adding Report meta data"); + + //Custom fields definition for report usage + string CustomFieldsTemplate="null"; + var FormCustomization = await ct.FormCustom.AsNoTracking().SingleOrDefaultAsync(z => z.FormKey == report.ObjectType.ToString()); + if(FormCustomization!=null){ + CustomFieldsTemplate=FormCustomization.Template; + } + //Report meta data - var reportMeta = $"{{Id:{report.Id},Name:`{report.Name}`,Notes:`{report.Notes}`,ObjectType:`{report.ObjectType}`,DataListKey:`{reportParam.DataListKey}`,ListView:`{reportParam.ListView}`,SelectedRowIds: `{string.Join(",", reportParam.SelectedRowIds)}`}}"; + var reportMeta = $"{{Id:{report.Id},Name:`{report.Name}`,Notes:`{report.Notes}`,ObjectType:`{report.ObjectType}`,CustomFieldsDefinition:{CustomFieldsTemplate},DataListKey:`{reportParam.DataListKey}`,ListView:`{reportParam.ListView}`,SelectedRowIds: `{string.Join(",", reportParam.SelectedRowIds)}`}}"; //duplicate meta data in report page wide variable for use by our internal functions diff --git a/server/AyaNova/resource/rpt/stock-report-templates/1200x400.png b/server/AyaNova/resource/rpt/stock-report-templates/1200x400.png index 7e944e26..4bf6f008 100644 Binary files a/server/AyaNova/resource/rpt/stock-report-templates/1200x400.png and b/server/AyaNova/resource/rpt/stock-report-templates/1200x400.png differ diff --git a/server/AyaNova/resource/rpt/stock-report-templates/300x100.png b/server/AyaNova/resource/rpt/stock-report-templates/300x100.png index 5829884d..1a488ca9 100644 Binary files a/server/AyaNova/resource/rpt/stock-report-templates/300x100.png and b/server/AyaNova/resource/rpt/stock-report-templates/300x100.png differ diff --git a/server/AyaNova/resource/rpt/stock-report-templates/600x200.png b/server/AyaNova/resource/rpt/stock-report-templates/600x200.png index d16c0122..9c7609ac 100644 Binary files a/server/AyaNova/resource/rpt/stock-report-templates/600x200.png and b/server/AyaNova/resource/rpt/stock-report-templates/600x200.png differ diff --git a/server/AyaNova/util/Seeder.cs b/server/AyaNova/util/Seeder.cs index 0a76d158..dacafcf1 100644 --- a/server/AyaNova/util/Seeder.cs +++ b/server/AyaNova/util/Seeder.cs @@ -7,6 +7,7 @@ using Microsoft.Extensions.Logging; using Bogus; using AyaNova.Api.ControllerHelpers; using System.Diagnostics; +using Microsoft.EntityFrameworkCore; namespace AyaNova.Util @@ -446,6 +447,34 @@ namespace AyaNova.Util break; } + + //Seed logo files + var LogoFilesPath = System.IO.Path.Combine(ServerBootConfig.AYANOVA_CONTENT_ROOT_PATH, "resource", "rpt", "stock-report-templates"); + if (System.IO.Directory.Exists(LogoFilesPath)) + { + using (var ct = ServiceProviderProvider.DBContext) + { + var logo = await ct.Logo.FirstOrDefaultAsync(); + if (logo == null) + { + logo = new Logo(); + ct.Logo.Add(logo); + await ct.SaveChangesAsync(); + } + logo.Small = System.IO.File.ReadAllBytes(System.IO.Path.Combine(LogoFilesPath, "300x100.png")); + logo.SmallType = "image/png"; + + logo.Medium = System.IO.File.ReadAllBytes(System.IO.Path.Combine(LogoFilesPath, "600x200.png")); + logo.MediumType = "image/png"; + + logo.Large = System.IO.File.ReadAllBytes(System.IO.Path.Combine(LogoFilesPath, "1200x400.png")); + logo.LargeType = "image/png"; + + await ct.SaveChangesAsync(); + } + } + + await LogStatusAsync(JobId, LogJob, log, "Seeding completed successfully"); } catch (Exception ex) @@ -594,8 +623,8 @@ namespace AyaNova.Util u.UserType = userType; u.EmployeeNumber = "A-" + (454 + SeededUserCount + x).ToString() + "-Y"; u.Notes = Fake.Lorem.Sentence(null, 5);//Fake.Lorem.Paragraph(2); - //TODO: After have USER and HEADOFFICE and VENDOR, if usertype is subcontractor or client or headoffice it needs to set a corresponding user's parent org record id to go with it - //use provided tags or generate them + //TODO: After have USER and HEADOFFICE and VENDOR, if usertype is subcontractor or client or headoffice it needs to set a corresponding user's parent org record id to go with it + //use provided tags or generate them if (tags == null) u.Tags = RandomTags(); else