From 964f73b1f6b0fd263e1d7d45c05019f5125106fd Mon Sep 17 00:00:00 2001 From: psteiwer Date: Tue, 10 Mar 2020 09:15:20 -0400 Subject: [PATCH 1/9] Add filters to Event Log Fixes #78 --- PivotSubscriptions/UI/EventLogViewer.cls | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/PivotSubscriptions/UI/EventLogViewer.cls b/PivotSubscriptions/UI/EventLogViewer.cls index 5c4d0c9..23528c0 100644 --- a/PivotSubscriptions/UI/EventLogViewer.cls +++ b/PivotSubscriptions/UI/EventLogViewer.cls @@ -16,8 +16,8 @@ XData contentPane [ XMLNamespace = "http://www.intersystems.com/zen" ] - + + + + + + + + From 74afb1df19d66df2b39e34220d72f56aa8dbea6e Mon Sep 17 00:00:00 2001 From: psteiwer Date: Tue, 10 Mar 2020 10:36:00 -0400 Subject: [PATCH 2/9] Install with %INSTALLER --- PivotSubscriptions/Installer.cls | 56 ++++++++++++++++++++++++++++---- 1 file changed, 49 insertions(+), 7 deletions(-) diff --git a/PivotSubscriptions/Installer.cls b/PivotSubscriptions/Installer.cls index 651e336..5a1adf8 100644 --- a/PivotSubscriptions/Installer.cls +++ b/PivotSubscriptions/Installer.cls @@ -1,6 +1,41 @@ Class PivotSubscriptions.Installer { +XData LocalInstall [ XMLNamespace = INSTALLER ] +{ + + + + + + + + + + + + + +} + +ClassMethod setup(ByRef pVars, pLogLevel As %Integer = 3, pInstaller As %Installer.Installer, pLogger As %Installer.AbstractLogger) As %Status [ CodeMode = objectgenerator, Internal ] +{ + #; Let XGL document generate code for this method. + Quit ##class(%Installer.Manifest).%Generate(%compiledclass,%code,"LocalInstall") +} + +ClassMethod RunLocalInstall(pRootDir, pNamespace = {$Namespace}) As %Status +{ + Set tVars("APPPATH")=pRootDir + Set tVars("NAMESPACE")=pNamespace + Quit ..setup(.tVars,3) +} + ClassMethod RunInstaller(pRootDir = "") { Set tSC=$$$OK @@ -11,13 +46,7 @@ ClassMethod RunInstaller(pRootDir = "") If $$$ISERR(tSC) Quit } - Set tItem=##class(%DeepSee.UserLibrary.Link).%New() - Set tItem.fullName="Pivot Subscriptions" - Set tPage="PivotSubscriptions.UI.SubscriptionManager.zen" - Set tItem.href=$system.CSP.GetPortalApp($namespace,tPage)_tPage - Set tItem.title="Pivot Subscriptions" - Set tItem.bookCover="{background: {style:'background:white;',src:'covers/PivotSubscriptions_Cover.png'},header: {text:'$type',style:'display: none;'},title: {text:'$title',style:'display: none;'},image: {style:'display: none;',src:'deepsee/ds2_globe_44.png',imageStyle:'width:64px;height:64px;'},subtitle: {text:'"_##class(PivotSubscriptions.Utils).GetVersion()_"',style:'font-size:9px;top:179px;'},footer: {text:'$owner',style:'display: none;'}}" - Set tSC=tItem.%Save() + Set tSC=##class(PivotSubscriptions.Installer).CreateBookCover() If $$$ISERR(tSC) Quit tSC Set tSC=##class(PivotSubscriptions.Task).ConfigureTask() @@ -29,6 +58,19 @@ ClassMethod RunInstaller(pRootDir = "") Quit tSC } +ClassMethod CreateBookCover() As %Status +{ + Set tItem=##class(%DeepSee.UserLibrary.Link).%New() + Set tItem.fullName="Pivot Subscriptions" + Set tPage="PivotSubscriptions.UI.SubscriptionManager.zen" + Set tItem.href=$system.CSP.GetPortalApp($namespace,tPage)_tPage + Set tItem.title="Pivot Subscriptions" + Set tItem.bookCover="{background: {style:'background:white;',src:'covers/PivotSubscriptions_Cover.png'},header: {text:'$type',style:'display: none;'},title: {text:'$title',style:'display: none;'},image: {style:'display: none;',src:'deepsee/ds2_globe_44.png',imageStyle:'width:64px;height:64px;'},subtitle: {text:'"_##class(PivotSubscriptions.Utils).GetVersion()_"',style:'font-size:9px;top:179px;'},footer: {text:'$owner',style:'display: none;'}}" + Set tSC=tItem.%Save() + + Quit tSC +} + /// Import Cover, code taken from %DeepSee.UI.Dialog.ImageUpload:%OnSubmit ClassMethod ImportImage(pDir) As %Status { From 194b4f67c40ae05bc291a9917a5dd557f7b92ae1 Mon Sep 17 00:00:00 2001 From: psteiwer Date: Tue, 10 Mar 2020 11:17:30 -0400 Subject: [PATCH 3/9] Add new Role for Unsubscribe - New Role created - Granted to Unsubscribe Web App - Gives Select on EventLog table Fixes #84 --- PivotSubscriptions/Installer.cls | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/PivotSubscriptions/Installer.cls b/PivotSubscriptions/Installer.cls index 5a1adf8..05b27f5 100644 --- a/PivotSubscriptions/Installer.cls +++ b/PivotSubscriptions/Installer.cls @@ -5,10 +5,14 @@ XData LocalInstall [ XMLNamespace = INSTALLER ] { + @@ -19,6 +23,14 @@ XData LocalInstall [ XMLNamespace = INSTALLER ] + + + + + + + + } From f61c2a42fa0ed02dfaf08db2e723c73f0244e805 Mon Sep 17 00:00:00 2001 From: psteiwer Date: Wed, 11 Mar 2020 08:54:45 -0400 Subject: [PATCH 4/9] Bug with using CSPApplication in %Installer Use Invoke for now until bug is fixed --- PivotSubscriptions/Installer.cls | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/PivotSubscriptions/Installer.cls b/PivotSubscriptions/Installer.cls index 05b27f5..a51c8b0 100644 --- a/PivotSubscriptions/Installer.cls +++ b/PivotSubscriptions/Installer.cls @@ -8,13 +8,15 @@ XData LocalInstall [ XMLNamespace = INSTALLER ] - + /--> + + From 8e744d161c62b3eacad11588007397a8b814f4f8 Mon Sep 17 00:00:00 2001 From: psteiwer Date: Tue, 28 Jul 2020 09:48:20 -0400 Subject: [PATCH 5/9] Include custom filter in error email Fixes #92 --- PivotSubscriptions/Task.cls | 4 ++-- PivotSubscriptions/Utils.cls | 6 +++++- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/PivotSubscriptions/Task.cls b/PivotSubscriptions/Task.cls index 1c11bb9..3083025 100644 --- a/PivotSubscriptions/Task.cls +++ b/PivotSubscriptions/Task.cls @@ -126,7 +126,7 @@ ClassMethod SendEmail(pID, pSendNow As %Boolean = 0, pPivot As %String, pEmails } ElseIf 'tableStatus { // Check if both configuration settings for admin email is valid before sending error message If validAdminEmail { - Do ##class(PivotSubscriptions.Utils).TableErrorMessage(tSubscription,tEmail,pName,"TooLarge",mdx) + Do ##class(PivotSubscriptions.Utils).TableErrorMessage(tSubscription,tEmail,pName,"TooLarge",mdx,tCustomFilter) } } @@ -138,7 +138,7 @@ ClassMethod SendEmail(pID, pSendNow As %Boolean = 0, pPivot As %String, pEmails Do ##class(PivotSubscriptions.Utils).WriteUnsubscribe(msg,tUnsubscribeList) Do ##class(PivotSubscriptions.Utils).WriteEmailFooter(msg) - Do ##class(PivotSubscriptions.Utils).TableErrorMessage(tSubscription,tEmail,pName,"NoResults",mdx) + Do ##class(PivotSubscriptions.Utils).TableErrorMessage(tSubscription,tEmail,pName,"NoResults",mdx,tCustomFilter) } // Send email diff --git a/PivotSubscriptions/Utils.cls b/PivotSubscriptions/Utils.cls index cf5b43c..a4b6308 100644 --- a/PivotSubscriptions/Utils.cls +++ b/PivotSubscriptions/Utils.cls @@ -181,7 +181,7 @@ ClassMethod WriteEmail(pSubscription As PivotSubscriptions.Subscription, pMsg As Do ##class(PivotSubscriptions.Utils).WriteEmailFooter(pMsg) } -ClassMethod TableErrorMessage(pSubscription As PivotSubscriptions.Subscription, pEmail As %String, pName As %String, pReason As %String, pMDX As %String) As %Status +ClassMethod TableErrorMessage(pSubscription As PivotSubscriptions.Subscription, pEmail As %String, pName As %String, pReason As %String, pMDX As %String, pCustomFilter As %String = "") As %Status { Set tAdminEmail=##class(PivotSubscriptions.Utils).GetSettings("AdminEmail") Set tLog=##class(PivotSubscriptions.EventLog).CreateEvent("tableError",pSubscription.%Id(),$username,pSubscription.Pivot,pSubscription.DayOfWeek,pSubscription.Hour,pSubscription.Minute,pSubscription.Format,tAdminEmail,pName,pSubscription.RunOnce,.pEvent) @@ -210,6 +210,10 @@ ClassMethod TableErrorMessage(pSubscription As PivotSubscriptions.Subscription, Do tMsg.TextData.WriteLine("
Please check the Subscription Manager.") Do tMsg.TextData.WriteLine("

MDX Executed:") Do tMsg.TextData.WriteLine(pMDX) + If pCustomFilter'="" { + Do tMsg.TextData.WriteLine("

Custom Filter:") + Do tMsg.TextData.WriteLine(pCustomFilter) + } Do ##class(PivotSubscriptions.Utils).WriteEmailFooter(tMsg) // Set recipient of email From 529e7fc0a66cb72c36865b2a72ebfb3c6a6d9ffc Mon Sep 17 00:00:00 2001 From: psteiwer Date: Fri, 7 Aug 2020 12:26:47 -0400 Subject: [PATCH 6/9] Update version string --- PivotSubscriptions/Utils.cls | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/PivotSubscriptions/Utils.cls b/PivotSubscriptions/Utils.cls index a4b6308..6921ca1 100644 --- a/PivotSubscriptions/Utils.cls +++ b/PivotSubscriptions/Utils.cls @@ -3,7 +3,7 @@ Class PivotSubscriptions.Utils ClassMethod GetVersion() As %String { - Quit "v1.5.0" + Quit "v1.6.0" } /// Utility method for saving and updating global variables From a0a18686ddccebbe858002067314d182743edf61 Mon Sep 17 00:00:00 2001 From: psteiwer Date: Wed, 19 Aug 2020 12:40:20 -0400 Subject: [PATCH 7/9] Modify Excel date value for display --- PivotSubscriptions/Utils.cls | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/PivotSubscriptions/Utils.cls b/PivotSubscriptions/Utils.cls index 6921ca1..e5516d6 100644 --- a/PivotSubscriptions/Utils.cls +++ b/PivotSubscriptions/Utils.cls @@ -169,6 +169,15 @@ ClassMethod WriteEmail(pSubscription As PivotSubscriptions.Subscription, pMsg As } ElseIf (($Find(tLine,""))||($Find(tLine,""))||(tLine="")) { Continue } Else { + // If 'Short Date' exists, the time value has been changed to excel format + If ($Find(tLine,"'Short Date'")) { + Set tTimeStartPos=$Find(tLine,"'Short Date'")+2 + Set tTimeEndPos=$Find(tLine,"<",tTimeStartPos)-2 + Set tTime=$E(tLine,tTimeStartPos,tTimeEndPos) + Set tTime=tTime+$ZDateH("12/30/1899") + // Insert the new date display, using the default DeepSee date display option + Set tLine=$E(tLine,1,tTimeStartPos-1)_$ZDate(tTime,6)_$E(tLine,tTimeEndPos+1,*) + } Do pMsg.TextData.WriteLine(tLine) } } From f777a496771d86132d1df271f0a19830cc1c4e15 Mon Sep 17 00:00:00 2001 From: psteiwer Date: Fri, 18 Dec 2020 15:58:13 -0500 Subject: [PATCH 8/9] Prevent adding two ? to URL --- PivotSubscriptions/UI/PivotList.cls | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/PivotSubscriptions/UI/PivotList.cls b/PivotSubscriptions/UI/PivotList.cls index b6fffe0..72158aa 100644 --- a/PivotSubscriptions/UI/PivotList.cls +++ b/PivotSubscriptions/UI/PivotList.cls @@ -56,7 +56,12 @@ Method ExecuteRS(pRS As %ResultSet, Output pSC As %Status, pInfo As %ZEN.Auxilia ClientMethod launchAddSubscription(pivotName) [ Language = javascript ] { - var url=zenLink('PivotSubscriptions.UI.Dialog.EditSubscription.zen')+'?SUBSCRIPTIONID=0&PIVOTNAME='+encodeURIComponent(pivotName); + var url=zenLink('PivotSubscriptions.UI.Dialog.EditSubscription.zen') + var paramChar="?" + if (url.indexOf("?")>-1) { + paramChar="&" + } + url=url+paramChar+'SUBSCRIPTIONID=0&PIVOTNAME='+encodeURIComponent(pivotName); zenPage.launchPopupWindow(url,'Add Subscription','status,scrollbars,resizable,width=700,height=575'); } From fbb1e2efba4bf0b94dcb0b77e06d715bcc808bba Mon Sep 17 00:00:00 2001 From: psteiwer Date: Fri, 29 Jan 2021 16:36:17 -0500 Subject: [PATCH 9/9] Auto expand custom email text box Fixes #94 --- PivotSubscriptions/UI/Dialog/EditSubscription.cls | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/PivotSubscriptions/UI/Dialog/EditSubscription.cls b/PivotSubscriptions/UI/Dialog/EditSubscription.cls index 015a81e..3ae8714 100644 --- a/PivotSubscriptions/UI/Dialog/EditSubscription.cls +++ b/PivotSubscriptions/UI/Dialog/EditSubscription.cls @@ -51,7 +51,7 @@ XData dialogBody [ XMLNamespace = "http://www.intersystems.com/zen" ] - +