You need to sign in to do that
Don't have an account?
lali
how to close the window after performing the action method on a page
Hi,
I have a blank page with an action method that performs some database inserts and finally after that I need to close this window.
following is my code.my page has only the following code:
<apex:page action="{!generatePDF}" controller="VFC_ER_GeneratePDF" showheader="false" standardStylesheets="false" >
</apex:page>
In the controller 'VFC_ER_GeneratePDF' I have a method called generatePDF with the following code. and finally after that I want to close this window. How do I do that pls help...
public class VFC_ER_GeneratePDF {
public string sigID;
public string ERID;
public VFC_ER_GeneratePDF() {
sigID = System.currentPageReference().getParameters().get('sigID');
ERID = System.currentPageReference().getParameters().get('id');
}
public pageReference generatePDF() {
PageReference pdf = New PageReference ('/apex/'+ 'vf_SignatureCaptured');
// add parent id to the parameters for standardcontroller
pdf.getParameters().put('id',ERID);
pdf.getParameters().put('sigID',sigID);
// create the new attachment
Attachment attach = new Attachment();
// the contents of the attachment from the pdf
Blob body;
try {
// returns the output of the page as a PDF
body = pdf.getContentAsPDF();
}
catch (VisualforceException e)
{
// need to pass unit test -- current bug
body = Blob.valueOf('Some Text');
}
attach.Body = body;
attach.Name = ERId + '.pdf';
attach.IsPrivate = false;
attach.ParentId = ERId;
insert attach;
system.debug('Final Attachement' + attach);
//delete the signature attachment
List<Attachment> attachedFiles = [select Id from Attachment where id =:sigID limit 1];
if( attachedFiles != null && attachedFiles.size() > 0 )
{
delete attachedFiles;
}
//this is where I need to close this window.
}
}
I have a blank page with an action method that performs some database inserts and finally after that I need to close this window.
following is my code.my page has only the following code:
<apex:page action="{!generatePDF}" controller="VFC_ER_GeneratePDF" showheader="false" standardStylesheets="false" >
</apex:page>
In the controller 'VFC_ER_GeneratePDF' I have a method called generatePDF with the following code. and finally after that I want to close this window. How do I do that pls help...
public class VFC_ER_GeneratePDF {
public string sigID;
public string ERID;
public VFC_ER_GeneratePDF() {
sigID = System.currentPageReference().getParameters().get('sigID');
ERID = System.currentPageReference().getParameters().get('id');
}
public pageReference generatePDF() {
PageReference pdf = New PageReference ('/apex/'+ 'vf_SignatureCaptured');
// add parent id to the parameters for standardcontroller
pdf.getParameters().put('id',ERID);
pdf.getParameters().put('sigID',sigID);
// create the new attachment
Attachment attach = new Attachment();
// the contents of the attachment from the pdf
Blob body;
try {
// returns the output of the page as a PDF
body = pdf.getContentAsPDF();
}
catch (VisualforceException e)
{
// need to pass unit test -- current bug
body = Blob.valueOf('Some Text');
}
attach.Body = body;
attach.Name = ERId + '.pdf';
attach.IsPrivate = false;
attach.ParentId = ERId;
insert attach;
system.debug('Final Attachement' + attach);
//delete the signature attachment
List<Attachment> attachedFiles = [select Id from Attachment where id =:sigID limit 1];
if( attachedFiles != null && attachedFiles.size() > 0 )
{
delete attachedFiles;
}
//this is where I need to close this window.
}
}
<script>window.close(); </script>
and it will close your window after loading your VF page and calling your method which is in your action attribute of your ApexPage.