From 75bb67c2029ed370c277f04c0b904abdae671afb Mon Sep 17 00:00:00 2001
From: acetousk <acetousk@users.noreply.github.com>
Date: Tue, 11 Mar 2025 20:46:48 -0600
Subject: [PATCH] Bug fix: force#DiskToDbResourceAndPublish

---
 service/mjml/MjmlServices.xml | 76 ++++++++++++++++++++++++++++++++++++++--------------------------------------
 1 file changed, 38 insertions(+), 38 deletions(-)

diff --git a/service/mjml/MjmlServices.xml b/service/mjml/MjmlServices.xml
index db277c1..7240d04 100644
--- a/service/mjml/MjmlServices.xml
+++ b/service/mjml/MjmlServices.xml
@@ -683,51 +683,51 @@ Find the email templates in the productStore, for each email template in the pro
                 <set field="dbResourceToUpdateText" from="dbResourceToUpdate.getText()"/>
                 <set field="childText" from="child.getText()"/>
 
+                <set field="updatedText" from="false"/>
                 <if condition="dbResourceToUpdateText != childText"><then>
                     <script><![CDATA[
                         dbResourceToUpdate.putText(childText)
+                        updatedText = true
                     ]]></script>
-                    <set field="versionName" from="dbResourceToUpdate.getCurrentVersion()?.getVersionName()"/>
-                    <if condition="!versionName">
-                        <log level="warn" message="No version name found for dbresource ${dbResourceToUpdate.location}"/>
-                        <continue/>
-                    </if>
-                    <if condition="updateEmailTemplate">
-                        <entity-find entity-name="moqui.basic.email.EmailTemplate" list="emailTemplateList" for-update="true">
-                            <econditions combine="or">
-                                <econdition field-name="grapesLocation" from="dbResourceToUpdate.location"/>
-                                <econdition field-name="htmlLocation" from="dbResourceToUpdate.location"/>
-                            </econditions>
-                            <select-field field-name="emailTemplateId,grapesPublishedVersionName,htmlPublishedVersionName,grapesLocation,htmlLocation"/>
-                            <order-by field-name="-lastUpdatedStamp"/>
-                        </entity-find>
-                        <if condition="emailTemplateList.size() == 0">
-                            <log level="warn" message="No email template found for dbresource ${dbResourceToUpdate.location}"/>
-                            <continue/>
-                        </if>
-
-                        <iterate list="emailTemplateList" entry="emailTemplate">
-                            <set field="logText" value="At emailTemplate ${emailTemplate.emailTemplateId},"/>
-                            <if condition="emailTemplate.grapesLocation == dbResourceToUpdate.location">
-                                <set field="emailTemplate.grapesPublishedVersionName" from="versionName"/>
-                                <set field="updatedEmailTemplateList" from="updatedEmailTemplateList + [emailTemplate:emailTemplate,location:emailTemplate.grapesLocation,versionName:versionName,grapesOrHtml:'grapes']"/>
-                                <set field="updatedEmailTemplate" from="true"/>
-                                <set field="logText" from="logText + ' updating grapesPublishedVersionName to ' + versionName"/>
-                            </if>
-                            <if condition="emailTemplate.htmlLocation == dbResourceToUpdate.location">
-                                <set field="emailTemplate.htmlPublishedVersionName" from="versionName"/>
-                                <set field="updatedEmailTemplateList" from="updatedEmailTemplateList + [emailTemplate:emailTemplate,location:emailTemplate.htmlLocation,versionName:versionName,grapesOrHtml:'html']"/>
-                                <set field="updatedEmailTemplate" from="true"/>
-                                <set field="logText" from="logText + ' updating htmlPublishedVersionName to ' + versionName"/>
-                            </if>
-                            <log level="info" message="${logText}"/>
-                            <entity-update value-field="emailTemplate"/>
-                        </iterate>
-                    </if>
                 </then><else>
-                    <log level="info" message="Not updating from disk because file at ${child.location} and dbresource at ${dbResourceToUpdate.location} are the same"/>
                 </else></if>
 
+                <set field="versionName" from="dbResourceToUpdate.getCurrentVersion()?.getVersionName()"/>
+                <if condition="!versionName">
+                    <log level="warn" message="No version name found for dbresource ${dbResourceToUpdate.location}"/>
+                    <continue/>
+                </if>
+                <if condition="updateEmailTemplate">
+                    <entity-find entity-name="moqui.basic.email.EmailTemplate" list="emailTemplateList" for-update="true">
+                        <econditions combine="or">
+                            <econdition field-name="grapesLocation" from="dbResourceToUpdate.location"/>
+                            <econdition field-name="htmlLocation" from="dbResourceToUpdate.location"/>
+                        </econditions>
+                        <select-field field-name="emailTemplateId,grapesPublishedVersionName,htmlPublishedVersionName,grapesLocation,htmlLocation"/>
+                        <order-by field-name="-lastUpdatedStamp"/>
+                    </entity-find>
+                    <if condition="emailTemplateList.size() == 0">
+                        <log level="warn" message="No email template found for dbresource ${dbResourceToUpdate.location}"/>
+                        <continue/>
+                    </if>
+
+                    <iterate list="emailTemplateList" entry="emailTemplate">
+                        <set field="logText" value="At emailTemplate ${emailTemplate.emailTemplateId},"/>
+                        <if condition="emailTemplate.grapesLocation == dbResourceToUpdate.location &amp;&amp; emailTemplate.grapesPublishedVersionName != versionName">
+                            <set field="emailTemplate.grapesPublishedVersionName" from="versionName"/>
+                            <set field="updatedEmailTemplateList" from="updatedEmailTemplateList + [emailTemplate:emailTemplate,location:emailTemplate.grapesLocation,versionName:versionName,grapesOrHtml:'grapes']"/>
+                            <set field="updatedEmailTemplate" from="true"/>
+                            <set field="logText" from="logText + ' updating grapesPublishedVersionName to ' + versionName"/>
+                        </if>
+                        <if condition="emailTemplate.htmlLocation == dbResourceToUpdate.location &amp;&amp; emailTemplate.htmlPublishedVersionName != versionName">
+                            <set field="emailTemplate.htmlPublishedVersionName" from="versionName"/>
+                            <set field="updatedEmailTemplateList" from="updatedEmailTemplateList + [emailTemplate:emailTemplate,location:emailTemplate.htmlLocation,versionName:versionName,grapesOrHtml:'html']"/>
+                            <set field="updatedEmailTemplate" from="true"/>
+                            <set field="logText" from="logText + ' updating htmlPublishedVersionName to ' + versionName"/>
+                        </if>
+                        <entity-update value-field="emailTemplate"/>
+                    </iterate>
+                </if>
             </iterate>
         </actions>
     </service>
--
libgit2 0.24.0