This commit is contained in:
@@ -385,10 +385,16 @@ namespace AyaNova.Biz
|
|||||||
var log = AyaNova.Util.ApplicationLogging.CreateLogger("ReportBiz::RenderReport");
|
var log = AyaNova.Util.ApplicationLogging.CreateLogger("ReportBiz::RenderReport");
|
||||||
|
|
||||||
//Customer User Report?
|
//Customer User Report?
|
||||||
if(reportRequest.ReportId==-100){
|
bool RequestIsCustomerWorkOrderReport=false;
|
||||||
//get the user data and set the actual report id or return null if not found
|
if (reportRequest.ReportId == -100)
|
||||||
|
{
|
||||||
HERE NEXT
|
//get the user and workorder data and set the actual report id or return null if not found
|
||||||
|
var woTags = await ct.WorkOrder.AsNoTracking().Where(x => x.Id == reportRequest.SelectedRowIds[0]).Select(x => x.Tags).FirstOrDefaultAsync();
|
||||||
|
if(woTags==null) return null;
|
||||||
|
var cr = await UserBiz.CustomerUserEffectiveRightsAsync(UserId, woTags);
|
||||||
|
if(cr.ThisWOEffectiveWOReportId==null) return null;
|
||||||
|
reportRequest.ReportId=(long)cr.ThisWOEffectiveWOReportId;
|
||||||
|
RequestIsCustomerWorkOrderReport=true;
|
||||||
}
|
}
|
||||||
|
|
||||||
//get report, vet security, see what we need before init in case of issue
|
//get report, vet security, see what we need before init in case of issue
|
||||||
@@ -409,7 +415,7 @@ namespace AyaNova.Biz
|
|||||||
AuthorizationRoles effectiveRoles = CurrentUserRoles;
|
AuthorizationRoles effectiveRoles = CurrentUserRoles;
|
||||||
|
|
||||||
|
|
||||||
if (!AyaNova.Api.ControllerHelpers.Authorized.HasReadFullRole(effectiveRoles, report.AType))
|
if (!RequestIsCustomerWorkOrderReport && !AyaNova.Api.ControllerHelpers.Authorized.HasReadFullRole(effectiveRoles, report.AType))
|
||||||
{
|
{
|
||||||
AddError(ApiErrorCode.NOT_AUTHORIZED, null, $"User not authorized for {report.AType} type object");
|
AddError(ApiErrorCode.NOT_AUTHORIZED, null, $"User not authorized for {report.AType} type object");
|
||||||
return null;
|
return null;
|
||||||
@@ -512,7 +518,7 @@ namespace AyaNova.Biz
|
|||||||
log.LogDebug($"Launching headless Browser now:");
|
log.LogDebug($"Launching headless Browser now:");
|
||||||
using (var browser = await Puppeteer.LaunchAsync(lo))
|
using (var browser = await Puppeteer.LaunchAsync(lo))
|
||||||
using (var page = await browser.NewPageAsync())
|
using (var page = await browser.NewPageAsync())
|
||||||
// using (var page = (await browser.PagesAsync()).First())//for language setting version
|
// using (var page = (await browser.PagesAsync()).First())//for language setting version
|
||||||
{
|
{
|
||||||
//track this process so it can be cancelled if it times out
|
//track this process so it can be cancelled if it times out
|
||||||
ReportRenderManager.AddProcess(browser.Process.Id);
|
ReportRenderManager.AddProcess(browser.Process.Id);
|
||||||
@@ -619,8 +625,8 @@ namespace AyaNova.Biz
|
|||||||
if (logo.Medium != null) HasMediumLogo = "true";
|
if (logo.Medium != null) HasMediumLogo = "true";
|
||||||
if (logo.Large != null) HasLargeLogo = "true";
|
if (logo.Large != null) HasLargeLogo = "true";
|
||||||
}
|
}
|
||||||
var HasPostalAddress=!string.IsNullOrWhiteSpace(ServerGlobalBizSettings.Cache.PostAddress)?"true":"false";
|
var HasPostalAddress = !string.IsNullOrWhiteSpace(ServerGlobalBizSettings.Cache.PostAddress) ? "true" : "false";
|
||||||
var HasStreetAddress=!string.IsNullOrWhiteSpace(ServerGlobalBizSettings.Cache.Address)?"true":"false";
|
var HasStreetAddress = !string.IsNullOrWhiteSpace(ServerGlobalBizSettings.Cache.Address) ? "true" : "false";
|
||||||
var serverMeta = $"{{ayApiUrl:`{apiUrl}`, HasSmallLogo:{HasSmallLogo}, HasMediumLogo:{HasMediumLogo}, HasLargeLogo:{HasLargeLogo},CompanyName: `{AyaNova.Core.License.ActiveKey.RegisteredTo}`,CompanyWebAddress:`{ServerGlobalBizSettings.Cache.WebAddress}`,CompanyEmailAddress:`{ServerGlobalBizSettings.Cache.EmailAddress}`,CompanyPhone1:`{ServerGlobalBizSettings.Cache.Phone1}`,CompanyPhone2:`{ServerGlobalBizSettings.Cache.Phone2}`,HasPostalAddress:{HasPostalAddress},CompanyPostAddress:`{ServerGlobalBizSettings.Cache.PostAddress}`,CompanyPostCity:`{ServerGlobalBizSettings.Cache.PostCity}`,CompanyPostRegion:`{ServerGlobalBizSettings.Cache.PostRegion}`,CompanyPostCountry:`{ServerGlobalBizSettings.Cache.PostCountry}`,CompanyPostCode:`{ServerGlobalBizSettings.Cache.PostCode}`,HasStreetAddress:{HasStreetAddress},CompanyAddress:`{ServerGlobalBizSettings.Cache.Address}`,CompanyCity:`{ServerGlobalBizSettings.Cache.City}`,CompanyRegion:`{ServerGlobalBizSettings.Cache.Region}`,CompanyCountry:`{ServerGlobalBizSettings.Cache.Country}`,CompanyLatitude:{ServerGlobalBizSettings.Cache.Latitude},CompanyLongitude:{ServerGlobalBizSettings.Cache.Longitude}}}";
|
var serverMeta = $"{{ayApiUrl:`{apiUrl}`, HasSmallLogo:{HasSmallLogo}, HasMediumLogo:{HasMediumLogo}, HasLargeLogo:{HasLargeLogo},CompanyName: `{AyaNova.Core.License.ActiveKey.RegisteredTo}`,CompanyWebAddress:`{ServerGlobalBizSettings.Cache.WebAddress}`,CompanyEmailAddress:`{ServerGlobalBizSettings.Cache.EmailAddress}`,CompanyPhone1:`{ServerGlobalBizSettings.Cache.Phone1}`,CompanyPhone2:`{ServerGlobalBizSettings.Cache.Phone2}`,HasPostalAddress:{HasPostalAddress},CompanyPostAddress:`{ServerGlobalBizSettings.Cache.PostAddress}`,CompanyPostCity:`{ServerGlobalBizSettings.Cache.PostCity}`,CompanyPostRegion:`{ServerGlobalBizSettings.Cache.PostRegion}`,CompanyPostCountry:`{ServerGlobalBizSettings.Cache.PostCountry}`,CompanyPostCode:`{ServerGlobalBizSettings.Cache.PostCode}`,HasStreetAddress:{HasStreetAddress},CompanyAddress:`{ServerGlobalBizSettings.Cache.Address}`,CompanyCity:`{ServerGlobalBizSettings.Cache.City}`,CompanyRegion:`{ServerGlobalBizSettings.Cache.Region}`,CompanyCountry:`{ServerGlobalBizSettings.Cache.Country}`,CompanyLatitude:{ServerGlobalBizSettings.Cache.Latitude},CompanyLongitude:{ServerGlobalBizSettings.Cache.Longitude}}}";
|
||||||
|
|
||||||
|
|
||||||
@@ -685,9 +691,9 @@ namespace AyaNova.Biz
|
|||||||
{
|
{
|
||||||
var ClientPDFDate = reportRequest.ClientMeta["PDFDate"].Value<string>();
|
var ClientPDFDate = reportRequest.ClientMeta["PDFDate"].Value<string>();
|
||||||
var ClientPDFTime = reportRequest.ClientMeta["PDFTime"].Value<string>();
|
var ClientPDFTime = reportRequest.ClientMeta["PDFTime"].Value<string>();
|
||||||
PdfOptions.HeaderTemplate = report.HeaderTemplate.Replace("PDFDate",ClientPDFDate).Replace("PDFTime",ClientPDFTime);
|
PdfOptions.HeaderTemplate = report.HeaderTemplate.Replace("PDFDate", ClientPDFDate).Replace("PDFTime", ClientPDFTime);
|
||||||
PdfOptions.FooterTemplate = report.FooterTemplate.Replace("PDFDate",ClientPDFDate).Replace("PDFTime",ClientPDFTime);
|
PdfOptions.FooterTemplate = report.FooterTemplate.Replace("PDFDate", ClientPDFDate).Replace("PDFTime", ClientPDFTime);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (report.PaperFormat != ReportPaperFormat.NotSet)
|
if (report.PaperFormat != ReportPaperFormat.NotSet)
|
||||||
|
|||||||
Reference in New Issue
Block a user