Skip to content

Commit 57bd615

Browse files
Merge pull request #24 from release-docusign/BugbashBugFixes
Added back transformPdfFields. Bug fixes from the bugbash
2 parents 06f5d7c + 2304a48 commit 57bd615

File tree

2 files changed

+121
-59
lines changed

2 files changed

+121
-59
lines changed

certified-connectors/DocuSignDemo/apiDefinition.swagger.json

Lines changed: 23 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -916,7 +916,7 @@
916916
{
917917
"name": "recordType",
918918
"in": "query",
919-
"required": true,
919+
"required": true,
920920
"enum": [
921921
"account",
922922
"opportunity",
@@ -971,7 +971,7 @@
971971
"name": "crmOrgUrl",
972972
"in": "query",
973973
"type": "string"
974-
}
974+
}
975975
],
976976
"responses": {
977977
"200": {
@@ -1024,7 +1024,7 @@
10241024
{
10251025
"name": "recordType",
10261026
"in": "query",
1027-
"required": true,
1027+
"required": true,
10281028
"enum": [
10291029
"account",
10301030
"opportunity",
@@ -1072,7 +1072,7 @@
10721072
"name": "crmOrgUrl",
10731073
"in": "query",
10741074
"type": "string"
1075-
}
1075+
}
10761076
],
10771077
"responses": {
10781078
"200": {
@@ -3136,7 +3136,7 @@
31363136
"properties": {
31373137
"documentBase64": {
31383138
"type": "string",
3139-
"x-ms-summary": "Base64 *",
3139+
"x-ms-summary": "Document Base64 *",
31403140
"description": "Base64 of document content"
31413141
},
31423142
"fileExtension": {
@@ -3147,17 +3147,31 @@
31473147
"value-path": "name",
31483148
"value-title": "name"
31493149
},
3150-
"x-ms-summary": "type *",
3150+
"x-ms-summary": "Document type *",
31513151
"description": "pdf, docx etc."
31523152
},
31533153
"name": {
31543154
"type": "string",
3155-
"x-ms-summary": "name *",
3155+
"x-ms-summary": "Document name *",
31563156
"description": "document name"
3157+
},
3158+
"transformPdfFields": {
3159+
"type": "string",
3160+
"x-ms-summary": "Transform Pdf Fields",
3161+
"description": "False",
3162+
"enum": [
3163+
"False",
3164+
"True"
3165+
]
3166+
},
3167+
"assignTabsToRecipientId": {
3168+
"type": "string",
3169+
"x-ms-summary": "Assign tabs to recipient",
3170+
"description": "Recipient Id"
31573171
}
31583172
}
31593173
},
3160-
"x-ms-summary": "document"
3174+
"x-ms-summary": " "
31613175
}
31623176
}
31633177
}
@@ -4701,7 +4715,7 @@
47014715
}
47024716
},
47034717
"additionalProperties": false
4704-
},
4718+
},
47054719
"DocumentRecord": {
47064720
"required": [
47074721
"recordId",

certified-connectors/DocuSignDemo/script.csx

Lines changed: 98 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -1304,12 +1304,21 @@ public class Script : ScriptBase
13041304
int recipientCount = envelope["recipients"]["recipientCount"].ToObject<int>();
13051305
var recipientCountInNaturalLanguage = (recipientCount > 1) ?
13061306
(" and " + (recipientCount - 1).ToString() + " others have ") : " ";
1307-
1307+
13081308
JArray documentArray = (envelope["envelopeDocuments"] as JArray) ?? new JArray();
1309-
var documentCountInNaturalLanguage = (documentArray.Count > 1) ?
1310-
(" and " + (documentArray.Count - 1).ToString() + " other documents ") : " ";
1309+
var documentCount = documentArray.Count;
1310+
string documentCountInNaturalLanguage = "";
1311+
1312+
if (documentCount == 3)
1313+
{
1314+
documentCountInNaturalLanguage = $" and 1 other document";
1315+
}
1316+
else if (documentCount > 3)
1317+
{
1318+
documentCountInNaturalLanguage = $" and {documentCount - 2} other documents";
1319+
}
13111320

1312-
if (envelope["status"].Equals("sent"))
1321+
if (envelope["status"].ToString().Equals("sent"))
13131322
{
13141323
descriptionNLP = envelope["sender"]["userName"] + " " +
13151324
envelope["status"] + " " +
@@ -1764,6 +1773,7 @@ public class Script : ScriptBase
17641773
}
17651774

17661775
query["include"] = "custom_fields,recipients,documents";
1776+
query["order"] = "desc";
17671777
uriBuilder.Query = query.ToString();
17681778
this.Context.Request.RequestUri = uriBuilder.Uri;
17691779
}
@@ -1784,6 +1794,7 @@ public class Script : ScriptBase
17841794
query.Get("startDateTime");
17851795

17861796
query["include"] = "custom_fields, recipients, documents";
1797+
query["order"] = "desc";
17871798
uriBuilder.Query = query.ToString();
17881799
this.Context.Request.RequestUri = uriBuilder.Uri;
17891800
}
@@ -2122,8 +2133,9 @@ public class Script : ScriptBase
21222133
var query = HttpUtility.ParseQueryString(this.Context.Request.RequestUri.Query);
21232134
JObject newBody = new JObject();
21242135

2125-
JArray Activity = (body["envelopes"] as JArray) ?? new JArray();
2136+
JArray envelopes = (body["envelopes"] as JArray) ?? new JArray();
21262137
JArray filteredActivities = new JArray();
2138+
JArray activities = new JArray();
21272139
int top = string.IsNullOrEmpty(query.Get("top")) ? 3: int.Parse(query.Get("top"));
21282140
int skip = string.IsNullOrEmpty(query.Get("skip")) ? 0: int.Parse(query.Get("skip"));
21292141

@@ -2134,38 +2146,56 @@ public class Script : ScriptBase
21342146

21352147
foreach (var filter in filters.Where(filter => filter != null))
21362148
{
2137-
foreach (var envelope in Activity)
2149+
foreach (var envelope in envelopes)
21382150
{
2139-
if (envelope.ToString().Contains(filter))
2151+
if (envelope.ToString().ToLower().Contains(filter.ToLower()))
21402152
{
2141-
JObject additionalPropertiesForActivity = new JObject()
2142-
{
2143-
["Recipient"] = envelope["recipients"]["signers"][0]["name"],
2144-
["Owner"] = envelope["sender"]["userName"],
2145-
["Status"] = envelope["status"],
2146-
["EnvelopeId"] = envelope["envelopeId"],
2147-
["Date"] = envelope["statusChangedDateTime"]
2148-
};
2149-
filteredActivities.Add(new JObject()
2150-
{
2151-
["title"] = envelope["emailSubject"],
2152-
["description"] = GetDescriptionNLPForRelatedActivities(envelope),
2153-
["dateTime"] = envelope["statusChangedDateTime"],
2154-
["url"] = GetEnvelopeUrl(envelope),
2155-
["additionalProperties"] = additionalPropertiesForActivity
2156-
});
2153+
filteredActivities.Add(envelope);
21572154
}
21582155
}
21592156

21602157
if (filteredActivities.Count > 0)
21612158
{
2162-
Activity = new JArray(filteredActivities);
2159+
envelopes.Clear();
2160+
envelopes = new JArray(filteredActivities);
21632161
filteredActivities.Clear();
21642162
}
2163+
else
2164+
{
2165+
envelopes.Clear();
2166+
break;
2167+
}
2168+
}
2169+
2170+
foreach (var envelope in envelopes)
2171+
{
2172+
JArray recipientNames = new JArray();
2173+
System.Globalization.TextInfo textInfo = new System.Globalization.CultureInfo("en-US", false).TextInfo;
2174+
foreach (var recipient in (envelope["recipients"]["signers"] as JArray) ?? new JArray())
2175+
{
2176+
recipientNames.Add(recipient["name"]);
2177+
}
2178+
2179+
JObject additionalPropertiesForActivity = new JObject()
2180+
{
2181+
["Recipients"] = recipientNames,
2182+
["Owner"] = envelope["sender"]["userName"],
2183+
["Status"] = textInfo.ToTitleCase(envelope["status"].ToString()),
2184+
["EnvelopeId"] = envelope["envelopeId"],
2185+
["Date"] = envelope["statusChangedDateTime"]
2186+
};
2187+
activities.Add(new JObject()
2188+
{
2189+
["title"] = envelope["emailSubject"],
2190+
["description"] = GetDescriptionNLPForRelatedActivities(envelope),
2191+
["dateTime"] = envelope["statusChangedDateTime"],
2192+
["url"] = GetEnvelopeUrl(envelope),
2193+
["additionalProperties"] = additionalPropertiesForActivity,
2194+
});
21652195
}
21662196

2167-
newBody["value"] = (Activity.Count < top) ? Activity : new JArray(Activity.Skip(skip).Take(top).ToArray());
2168-
newBody["hasMoreResults"] = (skip + top < Activity.Count) ? true : false;
2197+
newBody["value"] = (activities.Count < top) ? activities : new JArray(activities.Skip(skip).Take(top).ToArray());
2198+
newBody["hasMoreResults"] = (skip + top < activities.Count) ? true : false;
21692199

21702200
response.Content = new StringContent(newBody.ToString(), Encoding.UTF8, "application/json");
21712201
}
@@ -2176,8 +2206,9 @@ public class Script : ScriptBase
21762206
var query = HttpUtility.ParseQueryString(this.Context.Request.RequestUri.Query);
21772207
JObject newBody = new JObject();
21782208

2179-
JArray DocumentRecord = (body["envelopes"] as JArray) ?? new JArray();
2209+
JArray envelopes = (body["envelopes"] as JArray) ?? new JArray();
21802210
JArray filteredRecords = new JArray();
2211+
JArray documentRecords = new JArray();
21812212
int top = string.IsNullOrEmpty(query.Get("top")) ? 3: int.Parse(query.Get("top"));
21822213
int skip = string.IsNullOrEmpty(query.Get("skip")) ? 0: int.Parse(query.Get("skip"));
21832214

@@ -2188,40 +2219,57 @@ public class Script : ScriptBase
21882219

21892220
foreach (var filter in filters.Where(filter => filter != null))
21902221
{
2191-
foreach (var envelope in DocumentRecord)
2222+
foreach (var envelope in envelopes)
21922223
{
2193-
if (envelope.ToString().Contains(filter))
2224+
if (envelope.ToString().ToLower().Contains(filter.ToLower()))
21942225
{
2195-
JObject additionalPropertiesForDocumentRecords = new JObject()
2196-
{
2197-
["Recipient"] = envelope["recipients"]["signers"][0]["name"],
2198-
["Owner"] = envelope["sender"]["userName"],
2199-
["EnvelopeId"] = envelope["envelopeId"],
2200-
["Date"] = envelope["statusChangedDateTime"]
2201-
};
2202-
2203-
filteredRecords.Add(new JObject()
2204-
{
2205-
["recordId"] = envelope["envelopeId"],
2206-
["recordTypeDisplayName"] = "Agreement",
2207-
["recordTypePluralDisplayName"] = "Agreements",
2208-
["recordType"] = "Agreement",
2209-
["recordTitle"] = envelope["emailSubject"],
2210-
["url"] = GetEnvelopeUrl(envelope),
2211-
["additionalProperties"] = additionalPropertiesForDocumentRecords
2212-
});
2226+
filteredRecords.Add(envelope);
22132227
}
22142228
}
22152229

22162230
if (filteredRecords.Count > 0)
22172231
{
2218-
DocumentRecord = new JArray(filteredRecords);
2232+
envelopes.Clear();
2233+
envelopes = new JArray(filteredRecords);
22192234
filteredRecords.Clear();
22202235
}
2236+
else
2237+
{
2238+
envelopes.Clear();
2239+
break;
2240+
}
2241+
}
2242+
2243+
foreach (var envelope in envelopes)
2244+
{
2245+
JArray recipientNames = new JArray();
2246+
foreach (var recipient in (envelope["recipients"]["signers"] as JArray) ?? new JArray())
2247+
{
2248+
recipientNames.Add(recipient["name"]);
2249+
}
2250+
2251+
JObject additionalPropertiesForDocumentRecords = new JObject()
2252+
{
2253+
["Recipients"] = recipientNames,
2254+
["Owner"] = envelope["sender"]["userName"],
2255+
["EnvelopeId"] = envelope["envelopeId"],
2256+
["Date"] = envelope["statusChangedDateTime"]
2257+
};
2258+
2259+
documentRecords.Add(new JObject()
2260+
{
2261+
["recordId"] = envelope["envelopeId"],
2262+
["recordTypeDisplayName"] = "Agreement",
2263+
["recordTypePluralDisplayName"] = "Agreements",
2264+
["recordType"] = "Agreement",
2265+
["recordTitle"] = envelope["emailSubject"],
2266+
["url"] = GetEnvelopeUrl(envelope),
2267+
["additionalProperties"] = additionalPropertiesForDocumentRecords
2268+
});
22212269
}
22222270

2223-
newBody["value"] = (DocumentRecord.Count < top) ? DocumentRecord : new JArray(DocumentRecord.Skip(skip).Take(top).ToArray());
2224-
newBody["hasMoreResults"] = (skip + top < DocumentRecord.Count) ? true : false;
2271+
newBody["value"] = (documentRecords.Count < top) ? documentRecords : new JArray(documentRecords.Skip(skip).Take(top).ToArray());
2272+
newBody["hasMoreResults"] = (skip + top < documentRecords.Count) ? true : false;
22252273

22262274
response.Content = new StringContent(newBody.ToString(), Encoding.UTF8, "application/json");
22272275
}

0 commit comments

Comments
 (0)