Attachment PDF changing case owner

  • 1
  • Problem
  • Updated 1 year ago
  • In Progress
We have a skuid page that creates a Case record and allows the user to upload a file and attach it to the record.  The page sets the owner to a Queue.  If a PDF file is uploaded and attached the case owner is changed from the queue to the org's default case owner.  This does not occur if we use the native SF case screens or if we use another file type like DOCX, PPTX or TXT.  

Has anyone else seen this behavior?
Photo of Peter Herzog

Peter Herzog

  • 1,664 Points 1k badge 2x thumb
  • stuck

Posted 1 year ago

  • 1
Photo of Peter Herzog

Peter Herzog

  • 1,664 Points 1k badge 2x thumb
Here is the XML:

<skuidpage showsidebar="false" showheader="false" theme="Lightning Design" unsavedchangeswarning="" personalizationmode="server">
    <resources>
        <labels/>
        <javascript/>
        <css/>
    </resources>
    <models>
        <model id="ABC_RunningUser" limit="1" query="true" createrowifnonefound="false" datasource="salesforce" type="" sobject="User">
            <fields>
                <field id="XYZ_Division__c"/>
            </fields>
            <conditions>
                <condition type="userinfo" value="" field="Id" operator="=" enclosevalueinquotes="true" userinfotype="userid"/>
            </conditions>
            <actions/>
        </model>
        <model id="ABC_Case" limit="1" query="false" createrowifnonefound="true" sobject="Case" type="" datasource="salesforce">
            <fields>
                <field id="AccountId"/>
                <field id="Account.Name"/>
                <field id="RecordTypeId"/>
                <field id="RecordType.Name"/>
                <field id="Case_Bucket__c"/>
                <field id="Subject"/>
                <field id="Description"/>
                <field id="Due_Date__c"/>
                <field id="Other_Notes__c"/>
                <field id="End_User__c"/>
                <field id="End_User__r.Name"/>
                <field id="Id"/>
                <field id="Text_Account_Number__c"/>
                <field id="distribution_method__c" overridemetadata="true" ogdisplaytype="MULTIPICKLIST" displaytype="MULTIPICKLIST">
                    <picklistentries>
                        <entry value="Email" label="Email"/>
                        <entry value="Mail" label="Mail"/>
                        <entry value="Fax" label="Fax"/>
                        <entry value="In Person" label="In Person"/>
                    </picklistentries>
                </field>
                <field id="Distribution_Method__ui" uionly="true" displaytype="MULTIPICKLIST" label="Method of Distribution (required)">
                    <picklistentries>
                        <entry value="Email" label="Email"/>
                        <entry value="Mail" label="Mail"/>
                        <entry value="Fax" label="Fax"/>
                        <entry value="In Person" label="In Person"/>
                        <entry value="Online/Web" label="Online/Web"/>
                        <entry value="Other" label="Other"/>
                        <entry value="Overnight Mail" label="Overnight Mail"/>
                    </picklistentries>
                </field>
                <field id="CaseNumber"/>
                <field id="CreatedDate"/>
                <field id="ABC_From_Account__c"/>
                <field id="ABC_To_Account__c"/>
                <field id="ABC_From_Account_ui" uionly="true" displaytype="PICKLIST" label="From Account">
                    <picklistentries/>
                </field>
                <field id="NewField" uionly="true" displaytype="TEXT"/>
                <field id="ABC_Withhold__c"/>
                <field id="ABC_Delivery_Method__c"/>
                <field id="Withhold_State_ui" uionly="true" displaytype="BOOLEAN" label="Withhold State"/>
                <field id="Withhold_Federal_ui" uionly="true" displaytype="BOOLEAN" label="Withhold Federal"/>
                <field id="Withhold_Currency_ui" uionly="true" displaytype="CURRENCY" label="Withhold Currency" precision="9" scale="2"/>
                <field id="Withhold_Percentage_ui" uionly="true" displaytype="PERCENT" label="Withhold Percentage" precision="9" scale="2"/>
                <field id="UseActiveAssignmentRule"/>
            </fields>
            <conditions>
                <condition type="fieldvalue" value="012500000009m5I" enclosevalueinquotes="true" field="RecordTypeId"/>
                <condition type="param" value="Id" field="AccountId" operator="=" enclosevalueinquotes="true"/>
                <condition type="userinfo" value="" field="End_User__c" operator="=" enclosevalueinquotes="true" userinfotype="userid"/>
                <condition type="fieldvalue" value="00G50000002sQz1" enclosevalueinquotes="true" field="OwnerId" operator="="/>
            </conditions>
            <actions/>
        </model>
        <model id="ABC_Account" limit="100" query="true" createrowifnonefound="false" sobject="Account" type="" datasource="salesforce">
            <fields>
                <field id="Name"/>
                <field id="Main_Office__c"/>
            </fields>
            <conditions>
                <condition type="param" value="Id" field="Id" operator="=" enclosevalueinquotes="true"/>
            </conditions>
            <actions/>
        </model>
        <model id="ABC_ClientAccounts" limit="20" query="true" createrowifnonefound="false" type="" sobject="Client_Accounts__c" datasource="salesforce">
            <fields>
                <field id="Name"/>
                <field id="Account_Registration_Type_Model__c"/>
            </fields>
            <conditions>
                <condition type="param" value="Id" field="Household__c" operator="=" enclosevalueinquotes="true" novaluebehavior=""/>
            </conditions>
            <actions/>
        </model>
    </models>
    <components>
        <wrapper uniqueid="wrapper00">
            <components>
                <pagetitle model="ABC_Account" uniqueid="sk-35zBkq-83">
                    <maintitle>Tell us what you need and we will create a support case for you.</maintitle>
                    <actions>
                        <action type="multi" label="Save" window="self" icon="fa-check">
                            <actions>
                                <action type="blockUI" message="Saving Case..." timeout="2000"/>
                                <action type="custom"/>
                                <action type="save" rollbackonanyerror="true">
                                    <models>
                                        <model>ABC_Case</model>
                                    </models>
                                    <onerroractions>
                                        <action type="blockUI" message="There was an error saving your case" timeout="3000"/>
                                    </onerroractions>
                                </action>
                                <action type="unblockUI"/>
                            </actions>
                            <renderconditions logictype="and"/>
                            <enableconditions/>
                        </action>
                        <action type="multi" label="Save and Add Attachment" window="self" icon="fa-upload">
                            <actions>
                                <action type="custom"/>
                                <action type="save" rollbackonanyerror="true">
                                    <models>
                                        <model>ABC_Case</model>
                                    </models>
                                    <onerroractions>
                                        <action type="blockUI" message="There was an error" timeout="3000"/>
                                    </onerroractions>
                                </action>
                                <action type="showPopup">
                                    <popup title="Save Attachment" width="800">
                                        <components>
                                            <pagetitle model="ABC_Case" uniqueid="sk-3DG3JH-576">
                                                <subtitle>Click upload to save one or more attachments to the case.  Click close when complete.</subtitle>
                                                <actions>
                                                    <action type="multi" label="Close" window="self">
                                                        <actions>
                                                            <action type="closeAllPopups"/>
                                                        </actions>
                                                    </action>
                                                </actions>
                                            </pagetitle>
                                            <file storeas="record" displayas="filename" model="ABC_Case" uniqueid="sk-3DG3JH-577"/>
                                        </components>
                                    </popup>
                                </action>
                            </actions>
                            <renderconditions logictype="and"/>
                            <enableconditions/>
                        </action>
                        <action type="cancel" label="Cancel" window="self" icon="fa-times">
                            <models>
                                <model>ABC_Case</model>
                            </models>
                        </action>
                    </actions>
                    <subtitle>{{Name}} CSS</subtitle>
                    <renderconditions logictype="and"/>
                </pagetitle>
                <grid uniqueid="sk-3DEzrT-498">
                    <divisions>
                        <division behavior="flex" minwidth="100px" ratio="1">
                            <components>
                                <basicfieldeditor showheader="true" showsavecancel="false" model="ABC_Case" mode="edit" buttonposition="left" uniqueid="sk-35zBkq-84">
                                    <columns>
                                        <column width="100%">
                                            <sections>
                                                <section title="What can we help you with?" collapsible="no">
                                                    <fields>
                                                        <field id="RecordTypeId" type="REFPICK" optionsource="">
                                                            <filters>
                                                                <filter type="fieldvalue" operator="=" enclosevalueinquotes="true" field="Id" value="012500000009m5I"/>
                                                            </filters>
                                                            <renderconditions/>
                                                        </field>
                                                        <field id="Case_Bucket__c" required="true" valuehalign="" type="">
                                                            <renderconditions/>
                                                        </field>
                                                        <field id="Subject" required="true" valuehalign="" type=""/>
                                                        <field id="Due_Date__c" required="true" valuehalign="" type=""/>
                                                        <field id="Description" required="true" valuehalign="" type=""/>
                                                        <field id="ABC_Delivery_Method__c" valuehalign="" type="" required="true" addnoneoption="true">
                                                            <renderconditions logictype="and" onhidedatabehavior="keep">
                                                                <rendercondition type="fieldvalue" operator="=" enclosevalueinquotes="true" fieldmodel="ABC_Case" sourcetype="fieldvalue" field="Case_Bucket__c" value="Cash"/>
                                                            </renderconditions>
                                                            <enableconditions/>
                                                            <label>Distribution Method</label>
                                                        </field>
                                                        <field id="ABC_From_Account__c" valuehalign="" type="CUSTOM">
                                                            <renderconditions logictype="and" onhidedatabehavior="keep">
                                                                <rendercondition type="multiple" operator="in" fieldmodel="ABC_Case" sourcetype="fieldvalue" field="Case_Bucket__c" value="" enclosevalueinquotes="true" nosourcerowbehavior="deactivate">
                                                                    <values>
                                                                        <value>Account Model/Trade</value>
                                                                        <value>Cash</value>
                                                                        <value>Fee Audit</value>
                                                                        <value>Paperwork</value>
                                                                        <value>Account Maintenance</value>
                                                                    </values>
                                                                </rendercondition>
                                                            </renderconditions>
                                                            <enableconditions/>
                                                        </field>
                                                        <field id="ABC_From_Account__c" valuehalign="" type="">
                                                            <label>From Account (Manual)</label>
                                                            <renderconditions logictype="and" onhidedatabehavior="keep">
                                                                <rendercondition type="multiple" operator="in" fieldmodel="ABC_Case" sourcetype="fieldvalue" field="Case_Bucket__c" value="" enclosevalueinquotes="true" nosourcerowbehavior="deactivate">
                                                                    <values>
                                                                        <value>Account Model/Trade</value>
                                                                        <value>Cash</value>
                                                                        <value>Fee Audit</value>
                                                                        <value>Paperwork</value>
                                                                        <value>Account Maintenance</value>
                                                                    </values>
                                                                </rendercondition>
                                                            </renderconditions>
                                                            <enableconditions/>
                                                        </field>
                                                        <field id="Withhold_State_ui" valuehalign="" type="">
                                                            <renderconditions logictype="and" onhidedatabehavior="keep">
                                                                <rendercondition type="fieldvalue" operator="contains" enclosevalueinquotes="true" fieldmodel="ABC_Case" sourcetype="fieldvalue" field="ABC_From_Account__c" value="IRA"/>
                                                                <rendercondition type="fieldvalue" operator="=" enclosevalueinquotes="true" fieldmodel="ABC_Case" sourcetype="fieldvalue" field="Case_Bucket__c" value="Cash"/>
                                                            </renderconditions>
                                                            <enableconditions/>
                                                        </field>
                                                        <field id="Withhold_Federal_ui" valuehalign="" type="">
                                                            <renderconditions logictype="and" onhidedatabehavior="keep">
                                                                <rendercondition type="fieldvalue" operator="contains" enclosevalueinquotes="true" fieldmodel="ABC_Case" sourcetype="fieldvalue" field="ABC_From_Account__c" value="IRA"/>
                                                                <rendercondition type="fieldvalue" operator="=" enclosevalueinquotes="true" fieldmodel="ABC_Case" sourcetype="fieldvalue" field="Case_Bucket__c" value="Cash"/>
                                                            </renderconditions>
                                                            <enableconditions/>
                                                        </field>
                                                        <field id="Withhold_Currency_ui" valuehalign="" type="" decimalplaces="">
                                                            <renderconditions logictype="or" onhidedatabehavior="keep">
                                                                <rendercondition type="fieldvalue" operator="=" enclosevalueinquotes="false" fieldmodel="ABC_Case" sourcetype="fieldvalue" field="Withhold_State_ui" value="true"/>
                                                                <rendercondition type="fieldvalue" operator="=" enclosevalueinquotes="false" fieldmodel="ABC_Case" sourcetype="fieldvalue" field="Withhold_Federal_ui" value="true"/>
                                                            </renderconditions>
                                                            <enableconditions logictype="and">
                                                                <condition type="blank" operator="=" fieldmodel="ABC_Case" sourcetype="fieldvalue" field="Withhold_Percentage_ui" value="null" enclosevalueinquotes="false"/>
                                                            </enableconditions>
                                                        </field>
                                                        <field id="Withhold_Percentage_ui" valuehalign="" type="" decimalplaces="">
                                                            <renderconditions logictype="or" onhidedatabehavior="keep">
                                                                <rendercondition type="fieldvalue" operator="=" enclosevalueinquotes="false" fieldmodel="ABC_Case" sourcetype="fieldvalue" field="Withhold_State_ui" value="true"/>
                                                                <rendercondition type="fieldvalue" operator="=" enclosevalueinquotes="false" fieldmodel="ABC_Case" sourcetype="fieldvalue" field="Withhold_Federal_ui" value="true"/>
                                                            </renderconditions>
                                                            <enableconditions logictype="and">
                                                                <condition type="blank" operator="=" fieldmodel="ABC_Case" sourcetype="fieldvalue" field="Withhold_Currency_ui" value="null" enclosevalueinquotes="false"/>
                                                            </enableconditions>
                                                        </field>
                                                        <field id="ABC_To_Account__c" valuehalign="" type="CUSTOM">
                                                            <renderconditions logictype="and" onhidedatabehavior="keep">
                                                                <rendercondition type="multiple" operator="in" fieldmodel="ABC_Case" sourcetype="fieldvalue" field="Case_Bucket__c" value="" enclosevalueinquotes="true" nosourcerowbehavior="deactivate">
                                                                    <values>
                                                                        <value>Account Modeled/Trade</value>
                                                                        <value>Cash</value>
                                                                        <value>Fee Audit</value>
                                                                        <value>Paperwork</value>
                                                                        <value>Account Maintenance</value>
                                                                    </values>
                                                                </rendercondition>
                                                            </renderconditions>
                                                            <enableconditions/>
                                                        </field>
                                                        <field id="ABC_To_Account__c" valuehalign="" type="">
                                                            <label>To Account (Manual)</label>
                                                            <renderconditions logictype="and" onhidedatabehavior="keep">
                                                                <rendercondition type="multiple" operator="in" fieldmodel="ABC_Case" sourcetype="fieldvalue" field="Case_Bucket__c" value="" enclosevalueinquotes="true" nosourcerowbehavior="deactivate">
                                                                    <values>
                                                                        <value>Account Model/Trade</value>
                                                                        <value>Cash</value>
                                                                        <value>Fee Audit</value>
                                                                        <value>Paperwork</value>
                                                                        <value>Account Maintenance</value>
                                                                    </values>
                                                                </rendercondition>
                                                            </renderconditions>
                                                            <enableconditions/>
                                                        </field>
                                                        <field id="Distribution_Method__ui" valuehalign="" type="">
                                                            <renderconditions logictype="and" onhidedatabehavior="keep">
                                                                <rendercondition type="multiple" operator="in" fieldmodel="ABC_Case" sourcetype="fieldvalue" field="Case_Bucket__c" value="" enclosevalueinquotes="true" nosourcerowbehavior="deactivate">
                                                                    <values>
                                                                        <value>Account Maintenance</value>
                                                                        <value>Paperwork</value>
                                                                    </values>
                                                                </rendercondition>
                                                            </renderconditions>
                                                            <enableconditions/>
                                                        </field>
                                                    </fields>
                                                </section>
                                            </sections>
                                        </column>
                                    </columns>
                                </basicfieldeditor>
                            </components>
                        </division>
                        <division behavior="flex" verticalalign="top" minwidth="100px" ratio="1">
                            <components>
                                <pagetitle model="ABC_Case" uniqueid="sk-3DF0_x-510">
                                    <maintitle>Your case has been created:
#{{{CaseNumber}}}</maintitle>
                                    <actions/>
                                    <renderconditions logictype="and">
                                        <rendercondition fieldmodel="ABC_Case" sourcetype="rowproperty" nosourcerowbehavior="deactivate" sourceproperty="isSaved" enclosevalueinquotes="false"/>
                                    </renderconditions>
                                </pagetitle>
                            </components>
                        </division>
                    </divisions>
                    <styles>
                        <styleitem type="background" bgtype="none"/>
                    </styles>
                </grid>
            </components>
            <styles>
                <styleitem type="background"/>
                <styleitem type="border"/>
                <styleitem type="size"/>w
            </styles>
            </wrapper>
        </components>
        <styles>
            <styleitem type="background" bgtype="none"/>
        </styles>
    </skuidpage>
(Edited)
Photo of Peter Herzog

Peter Herzog

  • 1,664 Points 1k badge 2x thumb
Here is what the page does:

1. Page allows user to set case bucket, subject, due date and description
2. User clicks a button to save and add attachment.  The model assigns the case to a queue and inserts the record.
3. A pop-up appears with a file upload component
4. User can upload a document that attached to the record.  File is uploaded as attachment to the case record.

If the user uploads a PDF Skuid will change the ownership from a queue to our default case user.

If I use native SF to this it does not change the owner.
Photo of Bill McCullough

Bill McCullough, Champion

  • 12,436 Points 10k badge 2x thumb
Peter,

I loaded your page into my developer org. to look at the actions.  The file component (in Skuid 10.0.9) has an option to "Auto-refresh related Models on successful upload".  It also has an "Custom Owner Id Field" option.  If you have the "Auto-refresh..." option checked, I think this is the source of your problem.  The file component is trying to change the OwnerId on the Case.  Try unchecking the "Auto-refresh...." option.

Thanks,

Bill
Photo of Peter Herzog

Peter Herzog

  • 1,664 Points 1k badge 2x thumb
Hi Bill,

Thanks for taking the time and effort.  I really appreciate it. 

I did disable that option and still got the same result.  Also this only occurs when I upload a PDF file.  Salesforce premier support says they cannot find anything that would cause this.

Any other thoughts?

Peter
Photo of Bill McCullough

Bill McCullough, Champion

  • 12,436 Points 10k badge 2x thumb
Peter,

I can't think of another reason why that is happening.  It is strange.

You might try changing from using 'Attachments' to using 'Chatter Files' to store your files.  You'll want to do this anyway to get ahead of Salesforce eventually 'removing' attachments.  Chatter Files (ContentVersion) also have much higher file size and storage limits.

Thanks,

Bill