User Tools

Site Tools


work:coachtown

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
work:coachtown [2014/11/16 18:21] – created dongheework:coachtown [2018/07/18 14:10] (current) – external edit 127.0.0.1
Line 1: Line 1:
  
-할일  +====== 할일 ====== 
- 메일 쓰기. 금요일 미팅 잡기 +  
- 웹페이지 만들기 +  * 메일 쓰기. 금요일 미팅 잡기. 코치타운 서비스 가입 
- +  웹페이지 만들기 
 +  * google form 제너레이터 http://sneakysheep.com/google-docs-form-tool-version-2/ 
 + 
 + 
 +function whatIsStyleOf(result) 
 +
 +  var resultStyle = ''; 
 +   
 +  var sheet = SpreadsheetApp.openById('10osWgJbb9RjXX2HrsseEwam7AskXF3ugtqPjwnK4p1E').getSheetByName('문항'); 
 +  var stylesOfItems = sheet.getRange(1,1, sheet.getLastRow() -1, 2).getValues(); 
 +  for (var i = 0; i < stylesOfItems.length ; i++)  
 +  { 
 +   // Logger.log(stylesOfItems[i][0]); 
 +    if (result === stylesOfItems[i][0]) { 
 +      resultStyle = stylesOfItems[i][1] 
 +    } 
 +  } 
 +   
 +  return resultStyle; 
 +
 + 
 +  
 +function createIncoachingStyleProfileForms() { 
 +  var form = FormApp.getActiveForm(); 
 +  form.setTitle('Incoaching Style Profile'); 
 +   
 +  var sheet = SpreadsheetApp.openById('10osWgJbb9RjXX2HrsseEwam7AskXF3ugtqPjwnK4p1E').getSheetByName('문항'); 
 +  var stylesOfItems = sheet.getRange(1,1, sheet.getLastRow()  , 2).getValues(); 
 +  for (var i = 0; i < stylesOfItems.length ; i=i+2)  
 +  { 
 +    var item = form.addMultipleChoiceItem(); 
 +    item.setTitle('나는'); 
 +    item.setRequired(true); 
 +    item.setChoiceValues([stylesOfItems[i][0],stylesOfItems[i+1][0]]); 
 +  } 
 +
 + 
 +function calculateStyleProfile(lastColumn,a,b,e,f) { 
 +  var sheet = SpreadsheetApp.openById('10osWgJbb9RjXX2HrsseEwam7AskXF3ugtqPjwnK4p1E').getActiveSheet(); 
 +  var lastRow = sheet.getLastRow(); 
 +  // A 
 +  sheet.getRange(lastRow,lastColumn).setValue(a); 
 +  // B 
 +  sheet.getRange(lastRow,lastColumn+1).setValue(b); 
 +  // E 
 +  sheet.getRange(lastRow,lastColumn+2).setValue(e); 
 +  // F 
 +  sheet.getRange(lastRow,lastColumn+3).setValue(f); 
 +   
 +   
 +  // 주도형 D 
 +  var d = a*(e/2); 
 +  // 사교형 I 
 +  var i = a*(f/2); 
 +  // 안정형 S 
 +  var s = b*(f/2); 
 +  // 신중형 C 
 +  var c = b*(e/2); 
 + 
 +  var arr = [d,i,s,c]; 
 +  var i = arr.indexOf(Math.max.apply(Math, arr)); 
 +   
 +  Logger.log(arr); 
 +  var style = ''; 
 +  if (i==0) { 
 +    style = 'D' 
 +  } else if (i ==1) { 
 +    style = 'I'; 
 +  } else if (i ==2) { 
 +    style = 'S'; 
 +  } else if (i ==3) { 
 +    style = 'C'; 
 +  }   
 +  sheet.getRange(lastRow,lastColumn+4).setValue(style); 
 +  return style; 
 +
 +function onOpen() { 
 +  FormApp.getUi() // Or DocumentApp or FormApp. 
 +      .createMenu('Custom Menu'
 +      .addItem('Show sidebar', 'showSidebar'
 +      .addToUi(); 
 +
 + 
 +function showSidebar() { 
 +  
 + // Display a sidebar with custom UiApp content. 
 + var uiInstance = UiApp.createApplication() 
 +     .setTitle('Live Result'); 
 + var responses = FormApp.getActiveForm().getResponses(); 
 + uiInstance.add(uiInstance.createLabel(responses.length));       
 + FormApp.getUi().showSidebar(uiInstance); 
 +    
 +
 + 
 +function onOpen() { 
 +  var fa = FormApp.getActive(); 
 +  ScriptApp.newTrigger('onFormSubmit'
 +      .forSpreadsheet(fa) 
 +      .onFormSubmit() 
 +      .create(); 
 +
 + 
 +function onFormSubmit(event) { 
 +    var logDocument = DocumentApp.openById('17mpPXOsuMD70vpwJwN02Y8hziHB3tHb_l1rN8tAXwaQ'); 
 +    var a = 0; 
 +    var b = 0; 
 +    var e = 0; 
 +    var f = 0; 
 +    try { 
 +        var response = event.response; 
 +        //logDocument.getBody().appendParagraph(Utilities.formatString("%s", event.response.getItemResponses().toString())); 
 +        var itemResponses = event.response.getItemResponses(); 
 +        for (var j = 1; j < itemResponses.length; j++) { 
 +          var itemResponse = itemResponses[j]; 
 +          //logDocument.getBody().appendParagraph(Utilities.formatString('question "%s" was "%s"', itemResponse.getItem().getTitle(), 
 +          //           itemResponse.getResponse())); 
 +          if ('A' === whatIsStyleOf(itemResponse.getResponse())){ 
 +            a = a+1; 
 +          } 
 +          if ('B' === whatIsStyleOf(itemResponse.getResponse())){ 
 +            b = b+1; 
 +          } 
 +          if ('E' === whatIsStyleOf(itemResponse.getResponse())){ 
 +            e = e+1; 
 +          } 
 +          if ('F' === whatIsStyleOf(itemResponse.getResponse())){ 
 +            f = f+1; 
 +          } 
 +        } 
 +       var style = calculateStyleProfile(itemResponses.length+3,a,b,e,f); 
 +       var message = Utilities.formatString('A:%s B:%s E:%s F:%s Style:%s', a.toString(), b.toString(), e.toString(), f.toString(), style); 
 +       
 +       var styleReportImageUrl = Utilities.formatString('http://www.dh8.kr/tmp/ISP_Style_%s.png', style); 
 +       var styleReportImageBlob = UrlFetchApp 
 +                          .fetch(styleReportImageUrl) 
 +                          .getBlob() 
 +                          .setName("styleReportImageBlob"); 
 +       //showSidebar(); 
 +       
 +       logDocument.getBody().appendParagraph(message); 
 +       email = itemResponses[0].getResponse(); 
 +       //MailApp.sendEmail(email, "ISP", message); 
 +       
 +       MailApp.sendEmail({ 
 +         to: email, 
 +         subject: "ISP 설문 결과", 
 +         htmlBody: "<img src='cid:styleReportImageBlob'><br>" + message, 
 +         inlineImages: 
 +         { 
 +           styleReportImageBlob: styleReportImageBlob, 
 +         } 
 +       }); 
 +       
 +       
 +     
 +    } catch(e) { 
 +        errorMessage = (e.name + ' on line: ' + e.lineNumber + ' -> ' + e.message); 
 +        logDocument.getBody().appendParagraph(errorMessage); 
 +    } 
 +
 + 
 + 
work/coachtown.1416162099.txt.gz · Last modified: 2018/07/18 14:09 (external edit)