This commit is contained in:
@@ -385,10 +385,16 @@ namespace AyaNova.Biz
|
||||
var log = AyaNova.Util.ApplicationLogging.CreateLogger("ReportBiz::RenderReport");
|
||||
|
||||
//Customer User Report?
|
||||
if(reportRequest.ReportId==-100){
|
||||
//get the user data and set the actual report id or return null if not found
|
||||
|
||||
HERE NEXT
|
||||
bool RequestIsCustomerWorkOrderReport=false;
|
||||
if (reportRequest.ReportId == -100)
|
||||
{
|
||||
//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
|
||||
@@ -409,7 +415,7 @@ namespace AyaNova.Biz
|
||||
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");
|
||||
return null;
|
||||
@@ -512,7 +518,7 @@ namespace AyaNova.Biz
|
||||
log.LogDebug($"Launching headless Browser now:");
|
||||
using (var browser = await Puppeteer.LaunchAsync(lo))
|
||||
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
|
||||
ReportRenderManager.AddProcess(browser.Process.Id);
|
||||
@@ -619,8 +625,8 @@ namespace AyaNova.Biz
|
||||
if (logo.Medium != null) HasMediumLogo = "true";
|
||||
if (logo.Large != null) HasLargeLogo = "true";
|
||||
}
|
||||
var HasPostalAddress=!string.IsNullOrWhiteSpace(ServerGlobalBizSettings.Cache.PostAddress)?"true":"false";
|
||||
var HasStreetAddress=!string.IsNullOrWhiteSpace(ServerGlobalBizSettings.Cache.Address)?"true":"false";
|
||||
var HasPostalAddress = !string.IsNullOrWhiteSpace(ServerGlobalBizSettings.Cache.PostAddress) ? "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}}}";
|
||||
|
||||
|
||||
@@ -685,9 +691,9 @@ namespace AyaNova.Biz
|
||||
{
|
||||
var ClientPDFDate = reportRequest.ClientMeta["PDFDate"].Value<string>();
|
||||
var ClientPDFTime = reportRequest.ClientMeta["PDFTime"].Value<string>();
|
||||
PdfOptions.HeaderTemplate = report.HeaderTemplate.Replace("PDFDate",ClientPDFDate).Replace("PDFTime",ClientPDFTime);
|
||||
PdfOptions.FooterTemplate = report.FooterTemplate.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);
|
||||
|
||||
}
|
||||
|
||||
if (report.PaperFormat != ReportPaperFormat.NotSet)
|
||||
|
||||
Reference in New Issue
Block a user