Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
46 changes: 44 additions & 2 deletions lib/cloudspokes.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ var nforce = require('nforce')

var oauth;

exports.updateMember = function(memberId) {
exports.updateMember = function(memberId, memberTabs) {

var org = nforce.createConnection({
clientId: process.env.DATABASEDOTCOM_CLIENT_ID,
Expand All @@ -22,12 +22,54 @@ exports.updateMember = function(memberId) {
oauth = resp;

console.log('Updating memberId: '+memberId);
org.query('select id, name from member__c where id = \''+memberId+'\'', oauth, function(err, resp){
var query = 'select id, name from member__c where id = \''+memberId+'\'';
org.query(query, oauth, function(err, resp){
console.log(resp);

var member = resp.records[0];
member.Paperwork_Received__c = 'Paper Work Received';
member.Paperwork_Year__c = new Date().getFullYear();

// challenge 2026
// update member info here
var memberTextTabs = memberTabs.textTabs;

console.log(memberTabs.textTabs);

// loop through text tabs and set member's fields
for(var i = 0; i < memberTextTabs.length; i++) {
var label = memberTextTabs[i].tabLabel;
var value = memberTextTabs[i].value;

console.log(label +' -> '+ value);

// tabs 2 fields pairing here
// please refer to this JSON output for tabs - https://gist.github.com/4599410

if(label == 'Name') { // First_Name__c and Last_Name__c
var chunks = value.split(' ');

member.First_Name__c = chunks[0].trim();

member.Last_Name__c = '';
for(var i = 1; i < chunks.length; i++) {
member.Last_Name__c += ' '+ chunks[i].trim();
}
} else if(label == 'Address') { // Address_Line1__c
member.Address_Line1__c = value;
} else if(label == 'CityStateZip') {
// maybe split the string by comma?

var chunks = value.split(',');

if(chunks[0]) member.City__c = chunks[0].trim();
if(chunks[1]) member.State__c = chunks[1].trim();
if(chunks[2]) member.Zip__c = chunks[2].trim();
}

}
console.log(member);

org.update(member, oauth, function(err, resp){
if(!err) console.log('Member successfully updated');
});
Expand Down
12 changes: 9 additions & 3 deletions routes/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ exports.root = function(req, res) {
exports.embeddedSigning = function (req, res) {
console.log("embedded signing");
console.log(req.params)
res.render ('embeddedSigning', { title: "DocuSign CloudSpokes Documents", data: req.params } );
res.render ('embeddedSigning', { title: "DocuSign CloudSpokes Documents", data: req.params } );
}


Expand All @@ -36,7 +36,10 @@ exports.embeddedSigningComplete = function(req, res) {
//
// jeff?: do you want to do anything if this fails?
//
cs.updateMember(userId);

// challenge 2026
// moved inside processGetEnvelope and extended the function
// cs.updateMember(userId);
res.render('SigningComplete/success'
, { title: "Signing Complete Success!", user: userId });

Expand Down Expand Up @@ -66,7 +69,10 @@ exports.embeddedSigningComplete = function(req, res) {
//
function processGetEnvelope(arguments) {

console.log(JSON.stringify(arguments));
// challenge 2026
// pass userTabs
var userTabs = arguments[1].replace(/(\r\n|\n|\r)/gm,"");
cs.updateMember(userId, JSON.parse(userTabs).signers[0].tabs);
}

function loginComplete (arguments) {
Expand Down