You need to sign in to do that
Don't have an account?
Akshu
I need help to save updated record of contact using Vf Page
*****************controller****************
/*
https://mindful-koala-aud8rz-dev-ed--c.visualforce.com/apex/AssignmentForm?id=0035g00000C1PHe&mode=edit
*/
public class SignDemo{
public static String Lastname {get;set;}
public static String Firstname {get;set;}
public static String MailingCity {get;set;}
public static String MailingStreet {get;set;}
public static String MailingState {get;set;}
public static String MailingPostalCode {get;set;}
public static String Email {get;set;}
public static Integer Phone {get;set;}
public static Blob sign {get;set;}
//public String dataBody {get;set;}
// public String fileName {get;set;}
public static String recordId {get;set;}
public static String mode {get;set;}
public static String signUrl {get;set;}
public static Contact contact {get;set;}
public SignDemo() {
recordId = apexpages.currentpage().getparameters().get('id');
if(recordId != null){
contact = [Select id,LastName,FirstName,MailingCity,Account.Name,MailingStreet,MailingState,MailingPostalCode,Phone,Email
FROM Contact where id =:recordId];
}
mode = apexpages.currentpage().getparameters().get('mode');
system.debug('mode'+mode);
if(mode=='view'){
List<Attachment> myAtt = [Select id,name from Attachment where ParentId =:recordId and name = 'Sign.png' limit 1];
system.debug('myAtt '+myAtt );
signUrl = '/servlet/servlet.FileDownload?file='+myAtt[0].id;
}
}
public PageReference UpdateRecord1(){
try{
System.debug('@@@@UpdateRecord');
update contact;
}catch(Exception e){
System.debug('@@@@'+e.getMessage());
}
return null;
}
public static PageReference saveRecord(){
//System.debug('passed value==>'+ Apexpages.currentPage().getParameters().get('myParam'));
//system.debug('@@saveRecord'+ Apexpages.currentPage().getParameters().get('base64File')+' 2 -'+Apexpages.currentPage().getParameters().get('fileName'));
// Lastname =Apexpages.currentPage().getParameters().get('Lastname');
//Firstname =Apexpages.currentPage().getParameters().get('Firstname');
//SignDemo.GenerateData(Apexpages.currentPage().getParameters().get('Firstname'));
//Firstname=Apexpages.currentPage().getParameters().get('Firstname');
SignDemo.GenerateImage(Apexpages.currentPage().getParameters().get('base64File'),Apexpages.currentPage().getParameters().get('fileName'));
PageReference errorPage = new PageReference('/apex/SignDemo?id='+Apexpages.currentPage().getParameters().get('fileName')+'&mode=view');
errorPage.setRedirect(true);
return errorPage;
//return null;
}
//Create attachment and return id of the attachment.
public static void GenerateImage(string dataurl,String recID){
system.debug('@@GenerateImage');
List<Attachment> myAtt = [Select name from Attachment where ParentId =:recID and name = 'Sign.png' limit 1];
if(myAtt.size()>0){
Delete myAtt;
}
Attachment myAttach = new Attachment();
myAttach.name = 'Sign.png';
myAttach.ParentId =recID ; //Add ID of the parent object for the attachment (Account,Contact,etc..)
myAttach.body = ((Blob) EncodingUtil.base64Decode(dataurl.split(',')[1]));
insert myAttach;
/* Contact cs = new Contact();
cs.FirstName = contact.FirstName;
cs.LastName = contact.LastName;
cs.Phone=contact.Phone;
cs.Email=contact.Email;
cs.MailingStreet=contact.MailingStreet;
upsert cs;*/
}
}
***********************vf page***************
/*
https://mindful-koala-aud8rz-dev-ed--c.visualforce.com/apex/AssignmentForm?id=0035g00000C1PHe&mode=edit
*/
public class SignDemo{
public static String Lastname {get;set;}
public static String Firstname {get;set;}
public static String MailingCity {get;set;}
public static String MailingStreet {get;set;}
public static String MailingState {get;set;}
public static String MailingPostalCode {get;set;}
public static String Email {get;set;}
public static Integer Phone {get;set;}
public static Blob sign {get;set;}
//public String dataBody {get;set;}
// public String fileName {get;set;}
public static String recordId {get;set;}
public static String mode {get;set;}
public static String signUrl {get;set;}
public static Contact contact {get;set;}
public SignDemo() {
recordId = apexpages.currentpage().getparameters().get('id');
if(recordId != null){
contact = [Select id,LastName,FirstName,MailingCity,Account.Name,MailingStreet,MailingState,MailingPostalCode,Phone,Email
FROM Contact where id =:recordId];
}
mode = apexpages.currentpage().getparameters().get('mode');
system.debug('mode'+mode);
if(mode=='view'){
List<Attachment> myAtt = [Select id,name from Attachment where ParentId =:recordId and name = 'Sign.png' limit 1];
system.debug('myAtt '+myAtt );
signUrl = '/servlet/servlet.FileDownload?file='+myAtt[0].id;
}
}
public PageReference UpdateRecord1(){
try{
System.debug('@@@@UpdateRecord');
update contact;
}catch(Exception e){
System.debug('@@@@'+e.getMessage());
}
return null;
}
public static PageReference saveRecord(){
//System.debug('passed value==>'+ Apexpages.currentPage().getParameters().get('myParam'));
//system.debug('@@saveRecord'+ Apexpages.currentPage().getParameters().get('base64File')+' 2 -'+Apexpages.currentPage().getParameters().get('fileName'));
// Lastname =Apexpages.currentPage().getParameters().get('Lastname');
//Firstname =Apexpages.currentPage().getParameters().get('Firstname');
//SignDemo.GenerateData(Apexpages.currentPage().getParameters().get('Firstname'));
//Firstname=Apexpages.currentPage().getParameters().get('Firstname');
SignDemo.GenerateImage(Apexpages.currentPage().getParameters().get('base64File'),Apexpages.currentPage().getParameters().get('fileName'));
PageReference errorPage = new PageReference('/apex/SignDemo?id='+Apexpages.currentPage().getParameters().get('fileName')+'&mode=view');
errorPage.setRedirect(true);
return errorPage;
//return null;
}
//Create attachment and return id of the attachment.
public static void GenerateImage(string dataurl,String recID){
system.debug('@@GenerateImage');
List<Attachment> myAtt = [Select name from Attachment where ParentId =:recID and name = 'Sign.png' limit 1];
if(myAtt.size()>0){
Delete myAtt;
}
Attachment myAttach = new Attachment();
myAttach.name = 'Sign.png';
myAttach.ParentId =recID ; //Add ID of the parent object for the attachment (Account,Contact,etc..)
myAttach.body = ((Blob) EncodingUtil.base64Decode(dataurl.split(',')[1]));
insert myAttach;
/* Contact cs = new Contact();
cs.FirstName = contact.FirstName;
cs.LastName = contact.LastName;
cs.Phone=contact.Phone;
cs.Email=contact.Email;
cs.MailingStreet=contact.MailingStreet;
upsert cs;*/
}
}
***********************vf page***************
<apex:page controller="SignDemo" docType="html-5.0" showheader="false" sidebar="false" standardStylesheets="true"> <script src="https://github.com/soulwire/sketch.js/blob/master/js/sketch.js"></script> <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script> <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script> <script type="text/javascript" src="https://cdn.rawgit.com/mobomo/sketch.js/master/lib/sketch.min.js"></script> <apex:form > <html> <head> <style> .form { outline: none; min-width:4px; } @page { size: A4 landscape; } p.dotted { border-style: dotted; } p.dashed { border-style: dashed; } p.solid { border-style: solid; } p.double { border-style: double; } p.groove { border-style: groove; } p.ridge { border-style: ridge; } p.inset { border-style: inset; } p.outset { border-style: outset; } p.none { border-style: none; } p.hidden { border-style: hidden; } p.mix { border-style: dotted dashed solid double; } .boxcss { width: 220px; padding: 10px; border: 1px solid gray; margin: 0; } p { text-indent: 50px; } input { border: 0; outline: 0; background: transparent; border-bottom: 1px solid black; } .inputpick{ border: 0; outline: 0; background: transparent; border-bottom: 1px solid black; } th { text-align: center; font-weight: bold;white-space: normal;font-weight: bold; border: 1px solid black; border-collapse: collapse; body{ font-family: Tahoma, Verdana, Segoe, sans-serif; font-weight: normal; } .logo { float: left; } .header { margin-top: 15px; font-size: 16px; text-align: center; font-weight: bold; } .Sub-header-top{ font-size: 13px; text-align: center; font-weight: bold; } .content{ font-size:14px; } li{ margin-top:5px; margin-bottom:5px; } .weight{ font-weight: bold; } } </style> </head> <body> <div style="width:70%; margin-top: 50px; margin-bottom:50px; margin-right: 80px; margin-left: 80px;"> <div class="container"> <ol type="1"> <li style="text-indent: 10px;">Trustee’s last name: <input type="text" id="LastName" class="form" placeholder="lname" value="{!contact.LastName}" onkeypress="this.style.width = ((this.value.length + 1) * 8) + 'px';"/> Trustee’s first name:<input type="text" id="FirstName" placeholder="fname" value="{!contact.FirstName}"/></li><br/> <li style="text-indent: 10px;">Position on board (i.e., chair, treasurer, committee chair, member, etc.):------------------------------</li><br/> <li style="text-indent: 10px;">Name of charter school(s):<apex:inputField value="{!contact.Account.Name}"/></li><br/> <li style="text-indent: 10px;">Address of charter school(s):___________________________________________________________ ____________________________________________________________ </li><br/> <li style="text-indent: 10px;">Trustee’s Business Address: <br/> Street :<input type="text" id="MailingStreet" placeholder="fname" value="{!contact.MailingStreet}"/> <br/> City:<input value="{!contact.MailingCity}"/> State:<input value="{!contact.MailingState}"/> Zipcode:<input value="{!contact.MailingPostalCode}"/> </li><br/> <li style="text-indent: 10px;"> Business phone:<input type="text" id="phone" placeholder="fname" value="{!contact.Phone}"/> Business Email:<input type="text" id="email" name="fname" value="{!contact.Email}"/></li><br/> <li style="text-indent: 10px;">Is Trustee an employee of any charter school listed in response to Question 3? <br/> ---------------------------------<br/> <br/> If the answer is yes, please identify the charter school that employs the Trustee: ____________________________________________________________ </li><br/> <li style="text-indent: 10px;"> Did you and/or an immediate family member have a financial interest in any charter school located in the Commonwealth of Massachusetts during the previous calendar year?<br/> <br/> -----------------------------------------------<br/> <br/>If the answer is yes, identify each such charter school below. </li><br/> </ol> <table style="width:100% " > <tr> <td> <apex:outputPanel rendered="{!mode == 'view'}"> <apex:image id="theImage" value="{!signUrl}" width="100" height="100"/> </apex:outputPanel> <apex:outputPanel rendered="{!mode == 'edit'}"> <canvas id="Sign" onclick="save()" style="border:2px solid; border-radius:10px 10px 10px 10px;height: 150px;width: 300px;background:white; border-color:lightgray" ></canvas> <input type="button" value="Clear" onclick="clearSketch()" /> </apex:outputPanel> </td> <td><apex:outputText value="{0,date,MM/dd/yy}"> <apex:param value="{!today()}" /> </apex:outputText></td> </tr> <tr> <td> Signature</td> <td>Date</td> </tr> </table> <br/> <div>Please retain a copy for your record</div><br/><br/> <apex:outputPanel id="resultPanel" rendered="{!mode == 'view'}"> <apex:commandButton value="Download"/> </apex:outputPanel> <apex:outputPanel rendered="{!mode == 'edit'}"> <apex:commandButton onclick="save()" value="Save"/> </apex:outputPanel> <apex:actionFunction name="searchServer" action="{!saveRecord}" reRender="resultPanel"> <!--<apex:param name="myParam" value=""/>--> <apex:param name="base64File" value="" /> <apex:param name="fileName" value="" /> <!-- <apex:inputText id="Firstname" value="{!Firstname}" />--> <!-- <apex:inputText id="LastName" value="{!LastName}" />--> <!-- <apex:inputText id="email" value="{!email}" />--> <!-- <apex:inputText id="phone" value="{!phone}" />--> <!-- <apex:inputText id="" value="{!}" />--> <!-- <apex:inputText id="" value="{!}" />--> <!-- <apex:inputText id="" value="{!}" />--> <!-- <apex:inputText id="" value="{!}" />--> </apex:actionFunction> <script> // $('id').css('width',((input.getAttribute('placeholder').length + 1) * 8) + 'px'); $(window).on('load', function () { var mode = '{!mode}'; if(mode =='edit'){ clearSketch(); $('#Sign').sketch(); // associating sketch function with canvas. } }); // clear canvas on clear button. function clearSketch(){ $('#Sign').replaceWith('<canvas id="Sign" style="border:2px solid; border-radius:10px 10px 10px 10px;height: 150px;width: 300px;background:white; border-color:lightgray"></canvas>'); $('#Sign').sketch(); } function save(){ // Get Data URL from the canvas i.e. signed by the user. var dataUrl = document.getElementById('Sign').toDataURL(); console.log("response",dataUrl); // var elms = document.querySelectorAll("[id='frm']").save(); //console.log("response",elms) var FName = document.getElementById('FirstName').value; console.log("response",FName); /*var LName = document.getElementById('LastName').value; console.log("response",LName); var eEmail = document.getElementById('email').value; console.log("response",eEmail); var pPhone = document.getElementById('phone').value; console.log("response",pPhone); */ // use Remote Action function to generate image. var recordid = '{!recordId}'; alert(recordid); // action funcation with parameter searchServer(dataUrl,recordid); //searchServer(dataUrl,recordid,Fname); } </script> </div> </div> </body> </html> </apex:form> </apex:page>
Please mention the error which you are getting, this is huge code to figure out the error.
Thanks!