Note that there are some explanatory texts on larger screens.

plurals
  1. POWorkflow for Google Apps script approving correct row via email
    text
    copied!<p>I am creating a workflow process with Google Apps script. I have looked at <a href="http://www.youtube.com/watch?v=96URE_-aj-8" rel="nofollow">this video</a> for most of the layout.</p> <p>I built a form in Google Apps script that takes input data from a user. The data is then submitted into rows with <code>e.parameter</code> values. That data is then emailed to an approver. The approver has an approve button that they press to change the "Status" column to approved. </p> <p><strong>Issue:</strong> I cant get the data to approve the correct row. I am passing a <code>row</code> parameter that is supposed to correspond to the correct row but it isnt working.</p> <p>Here is my code that submits data to the spreadsheet and once the data has been approved via email. The <code>DoPost</code> function runs and approves the row. Can someone Please help! I've been trying to find solutions all day.</p> <pre><code>function sendEmail_(e) { var sheet = SpreadsheetApp.openById("0AuCblud0Ss7BdHA1bXZjYXA0Y0IyekhUQm5vWG02MVE").getActiveSheet(); var range = sheet.getRange(sheet.getLastRow() + 1, 1, 1, 13); range.setValues([ [e.parameter.LastName, e.parameter.FirstName, e.parameter.DivisionName, e.parameter.EffectiveDate, e.parameter.Network, e.parameter.EmployeeNewPosition, e.parameter.DivisionFolder, e.parameter.SpecificIndividual, e.parameter.Email, e.parameter.username, e.parameter.who, e.parameter.Banner, "Unapproved"] ]); var row = sheet.getLastRow() + 1; //"https://script.google.com/a/macros/wichitafallstx.gov/s/AKfycbwOgTTGqNsVwnqs-xfqa7TEJWGc_lJZdoyoEoixngKdDemVQuo/exec var body = '&lt;form action= &lt;form action = " https://sites.google.com/a/macros/wichitafallstx.gov/s/AKfycbxAOGO6q9ofauf34xlDA9sLG8sUXeZsuvQkDKATOQ/exec" method ="post"&gt;' + "&lt;b&gt;Last Name:&lt;/b&gt;" + e.parameter.LastName + '&lt;br&gt;&lt;br&gt;' + "&lt;b&gt;First Name:&lt;/b&gt;" + e.parameter.FirstName + '&lt;br&gt;&lt;br&gt;' + "&lt;b&gt;Division Name:&lt;/b&gt;" + e.parameter.DivisionName + '&lt;br&gt;&lt;br&gt;' + "&lt;b&gt;Effective Date:&lt;/b&gt;" + e.parameter.EffectiveDate + '&lt;br&gt;&lt;br&gt;' + "&lt;b&gt;Network:&lt;/b&gt;" + e.parameter.Network + '&lt;br&gt;&lt;br&gt;' + "&lt;b&gt;Employee New Position:&lt;/b&gt;" + e.parameter.EmployeeNewPosition + '&lt;br&gt;&lt;br&gt;' + "&lt;b&gt;Division Folder:&lt;/b&gt;" + e.parameter.DivisionFolder + '&lt;br&gt;&lt;br&gt;' + "&lt;b&gt;Specific Individual:&lt;/b&gt;" + e.parameter.SpecificIndividual + '&lt;br&gt;&lt;br&gt;' + "&lt;b&gt;Email:&lt;/b&gt;" + e.parameter.Email + '&lt;br&gt;&lt;br&gt;' + "&lt;b&gt;Username:&lt;/b&gt;" + e.parameter.username + '&lt;br&gt;&lt;br&gt;' + "&lt;b&gt;who:&lt;/b&gt;" + e.parameter.who + '&lt;br&gt;&lt;br&gt;' + "&lt;b&gt;Banner:&lt;/b&gt;" + e.parameter.Banner + '&lt;br /&gt;' + '&lt;br /&gt;' + '&lt;input type="hidden" name="row" value=" ' + row + ' "/&gt;' + '&lt;input type="submit" value="Approve" onclick="approve()" /&gt;' + '&lt;/form&gt;'; var owners = SitesApp.getSite("wichitafallstx.gov", "information-systems").getOwners(); var mail = MailApp.sendEmail(owners.join(","), "test", '', { htmlBody: body }); } //handles the payload that is posted back to appscript..from the form that is passed from the form created in send email. function doPost(e) { var r = e.parameter["row"]; var sheet = SpreadsheetApp.openById("0AuCblud0Ss7BdHA1bXZjYXA0Y0IyekhUQm5vWG02MVE").getActiveSheet(); var values = sheet.getRange(r, 1, 1, 13).getValues(); sheet.getRange(r, 13).setValue("Approved"); } </code></pre>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload