Approval process in an iframe in a popup

  • 2
  • Question
  • Updated 2 years ago
  • Answered
Hello

I have a skuid page to look at Cases. Some of these cases need an approval processes. I would like to have users click a Submit for Approval and Approve/Reject button that brings up a popup. In that popup is an iframe that contains the url for the appropriate approval screens. For approval, the template html is <iframe src="na28.salesforce.com/p/process/ProcessInstanceWorkitemWizardStageManager?id={{{$Model.CurrentWorkItem.data.0.Id}}}"></iframe>

This should bring up the standard Salesforce Approve/Reject screen in a little popup on the page so that the user isn't forced into a new tab.

However, when this renders it brings up an error saying that the page doesn't exist. When I inspect the element in the browser, the link is showing up as skuid.na28.visual.force.com/apex/na28.salesforce.com/p/process/ProcessInstanceWorkitemWizardStageManager?id={{{$Model.CurrentWorkItem.data.0.Id}}}

The id is forming properly for the ProcessInstanceWorkItem object that is being acted on, but for some reason skuid is attaching the skuid visualforce info to the begining of the URL when I'm not telling it to. 

Is there a way around this? Is it possible to have an iframe in a popup like this?

Thanks!
Photo of Joe Dobbels

Joe Dobbels

  • 546 Points 500 badge 2x thumb

Posted 2 years ago

  • 2
Photo of mB Pat Vachon

mB Pat Vachon, Champion

  • 42,714 Points 20k badge 2x thumb
Whenever you specify a URL without https:// it will automatically be prefixed with your instances domain. So, set the src to the URL with the Https:// and you should be good to go.
Photo of Joe Dobbels

Joe Dobbels

  • 546 Points 500 badge 2x thumb
Thanks Pat

Adding the https:// removed the skuid domain stuff and it looks like the link is forming properly, but now there is nothing showing up in the popup. Its just an empty box.

Any more ideas?
Photo of mB Pat Vachon

mB Pat Vachon, Champion

  • 42,714 Points 20k badge 2x thumb
Any errors in the console?
Photo of Joe Dobbels

Joe Dobbels

  • 546 Points 500 badge 2x thumb
A bunch actually. The two most descriptive are:

Refused to display 'https://na28.salesforce.com/p/process/ProcessInstanceWorkitemWizardStageManager?id=04i1A000006ruo4QA...' in a frame because it set 'X-Frame-Options' to 'sameorigin'.

XMLHttpRequest cannot load https://na28.salesforce.com/_ui/common/request/servlet/JsLoggingServlet. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'https://skuid.na28.visual.force.com' is therefore not allowed access.

I'm not sure what either of those mean.
Photo of mB Pat Vachon

mB Pat Vachon, Champion

  • 42,714 Points 20k badge 2x thumb
Oh yes. I remember now. Fairly certain this is a no go. I posted the same question essentially 2 years ago.

https://community.skuid.com/skuid/topics/iframe-to-standard-salesforce-page?topic-reply-list%5Bsettings%5D%5Bfilter_by%5D=all

You can build a Skuid page and apex invocable action to perform the same capability without using standard Salesforce approval screen. We've done this in our org. Same for processing leads. We don't see Salesforce screens other than Setup. :D
Photo of Joe Dobbels

Joe Dobbels

  • 546 Points 500 badge 2x thumb
Thanks Pat, I just saw that thread too. I'll ask Sf to turn off the clickjack protection. Hopefully that will work.
Photo of Joe Dobbels

Joe Dobbels

  • 546 Points 500 badge 2x thumb
SF turned the feature off and everything is working great now. Thanks Pat