Skip to content

Instantly share code, notes, and snippets.

View sauntimo's full-sized avatar

Tim Saunders sauntimo

View GitHub Profile
@sauntimo
sauntimo / Tim learns about subqueries
Last active August 29, 2015 14:08
I decided to download SQL Developer and start working on getting my head around subqueries. I've stuck 'em in the SELECT, FROM and WHERE clauses to see how it works. It was fun.
SELECT
E.FIRST_NAME || ' ' || E.LAST_NAME AS "Employee",
EJ.JOB_TITLE AS "Employee Job Title",
ED.DEPARTMENT_NAME AS "Employee Department",
EDLC.COUNTRY_NAME AS "Employee Country",
E.SALARY AS "Employee Salary",
M.FIRST_NAME || ' ' || M.last_name AS "Manager",
-- MJ.JOB_TITLE as "Manager Job Title",
(SELECT count(X.EMPLOYEE_ID)
FROM EMPLOYEES X
<!DOCTYPE html>
<html>
<head>
<title>Web Form</title>
<link rel='stylesheet' type='text/css' href='stylesheet.css'/>
<link href='http://fonts.googleapis.com/css?family=Lobster' rel='stylesheet' type='text/css'>
</head>
<body>
<div id="header"><h1>Contact Us!</h1></div>
<div id="wrapper">
@sauntimo
sauntimo / Calculations.js
Created November 16, 2012 13:22
Calculating Costs
var Declined = false;
if(Notice < 3){
Declined = true;
} else if (Notice <6){
NewSubmission["Notice"] = Notice.toString() + " days - £5 Fast track surcharge";
} else {
NewSubmission["Notice"] = Notice.toString() + " days - No surcharge";
}
@sauntimo
sauntimo / CompareDates.js
Created November 14, 2012 22:09
Compare Two Dates in Javascript
// create Javascript Date Object of Date entered
var OrderFor = new Date(NewSubmission["Month"] + " " + NewSubmission["Day"] + ", " + NewSubmission["Year"]);
var Submitted = new Date(e.values[0]);
// milliseconds between two dates divided by milliseconds in a day, rounded down
var Notice = Math.floor((OrderFor.getTime() - Submitted.getTime()) / (1000 * 60 * 60 * 24));
@sauntimo
sauntimo / LogEmail.js
Created November 14, 2012 15:33
Log Email in GAS
function logIncomingEmails() {
var EmailLog = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Email Log")
var rows = EmailLog.getDataRange();
var numEmailRows = rows.getNumRows();
var Unlogged = GmailApp.getUserLabelByName("Unlogged")
var Logged = GmailApp.getUserLabelByName("Logged")
var UnloggedThreads = Unlogged.getThreads(0,50); // Returns an array of the first 50 unlogged threads. Hopefully there won't be more than 50 per minute!
@sauntimo
sauntimo / GASDateInputHandler.js
Created November 13, 2012 22:24
Google Apps Script Date Input handler
// Create string version of date entered to be read by humans
NewSubmission["Delivery Date"] = NewSubmission["Day"] + "-" + NewSubmission["Month"] + "-" + NewSubmission["Year"];
// create Javascript Date instance from date string
var OrderFor = new Date(NewSubmission["Month"] + " " + NewSubmission["Day"] + ", " + NewSubmission["Year"]);
// These properties aren't needed as we have NewSubmission["Delivery Date"] which is DD-MM-YYYY
delete NewSubmission["Day"];
delete NewSubmission["Month"];
@sauntimo
sauntimo / CreateNewObject.js
Created November 10, 2012 23:52
Create NewSubmission Object
/* ----- CREATE NEWSUBMISSION OBJECT ----- */
var NewSubmission = {};
var Properties = ["Section One: Product Details","Size","Style","Filling","Topping","Decoration",
"Section Two: Delivery Details","First name","Family name","Email Address","Address","Delivery","Day","Month","Year"];
var i = 0;
var iSkip = 0;
@sauntimo
sauntimo / HTMLTable.js
Created November 10, 2012 23:44
Build HTML Response Table
/* ----- BUILD HTML RESPONSE TABLE ----- */
var HTMLtable = "<table style=\"border:2px solid black;width:500\" >";
var rowCount = 0;
for (var property in NewSubmission) {
if(NewSubmission[property].length != 0){
if(property.substring(0,7) === "Section"){
HTMLtable += "<tr><th colspan=\"2\" bgcolor=\"#c7ced4\">"+ property +"</th></tr>";
} else {
@sauntimo
sauntimo / BakeryConfirmationEmail.js
Created November 10, 2012 22:18
Snippet Bakery Order Confirmation Email
function CakeOrder(e){
/* ----- CREATE NEWSUBMISSION OBJECT ----- */
var NewSubmission = {};
@sauntimo
sauntimo / HTMLTable.htm
Created November 10, 2012 22:12
HTML table written out in full
<table style="border:2px solid black;width:500">
<tbody>
<tr><th colspan="2" bgcolor="#c7ced4">Section One: Product Details</th></tr>
<tr bgcolor="#d0eaf9"><td>Size</td><td>10" - £25</td></tr>
<tr><td>Style</td><td>Victoria Sponge Cake</td></tr>
<tr bgcolor="#d0eaf9"><td>Filling</td><td>Strawberry Jam</td></tr>
<tr><td>Topping</td><td>Buttercream</td></tr>
<tr bgcolor="#d0eaf9"><td>Decoration</td><td>Marshmallows, Strawberries, "Happy Birthday!"</td></tr>
<tr><th colspan="2" bgcolor="#c7ced4">Section Two: Delivery Details</th></tr>
<tr bgcolor="#d0eaf9"><td>First name</td><td>Joe</td></tr>