diff --git a/InvoiceDatabase.py b/InvoiceDatabase.py index 0527cde..685c50f 100644 --- a/InvoiceDatabase.py +++ b/InvoiceDatabase.py @@ -98,4 +98,31 @@ def record_lookup(record): result.append(lookup.ChargeCode) result.append(lookup.InvoiceNumber) result.append(lookup.InvoiceEmailAddress) + result.append(lookup.ShippingCompany) + result.append(lookup.ShippingFirstName) + result.append(lookup.ShippingLastName) + result.append(lookup.ShippingAddress1) + result.append(lookup.ShippingAddress2) + result.append(lookup.ShippingCity) + result.append(lookup.ShippingState) + result.append(lookup.ShippingPostalCode) + result.append(lookup.ShippingCharges) + result.append(lookup.DuePayment) + return result + + +def all_items(orderId): + all = [] + for items in session.query(ItemDetail).filter(ItemDetail.OrderID == orderId): + all.append(items.DocumentID) + return all + + +def item_lookup(item): + result = [] + for lookup in session.query(ItemDetail).filter(ItemDetail.DocumentID == item): + result.append(lookup.Quantity) + result.append(lookup.DocumentID) + result.append(lookup.ProductName) + result.append(lookup.ItemPrice) return result diff --git a/sendEmail.py b/sendEmail.py index e708ef9..e819a5c 100644 --- a/sendEmail.py +++ b/sendEmail.py @@ -14,16 +14,78 @@ def send_email(test, record): orders = InvoiceDatabase.just_work() for each in orders: info = InvoiceDatabase.record_lookup(each) - print(info) + OrderNumber = info[0] OrderDate = info[1] UserLogon = info[2] - Name = info[3] + ' ' + info[4] + Name = info[3] + ' ' + info[4] ChargeCode = info[5] InvoiceNumber = info[6] InvoiceEmailAddress = info[7] + ShippingCharges = info[16] + BalanceDue = info[17] InvoiceDate = datetime.today().strftime('%m/%d/%Y') + #shipping information + ShippingCompany = info[8] + ShippingFirstName = info[9] + ShippingLastName = info[10] + ShippingAddress1 = info[11] + ShippingAddress2 = info[12] + ShippingCity = info[13] + ShippingState = info[14] + ShippingPostalCode = info[15] + + + # if ShippingCompany != 'None' and ShippingAddress2 == 'None': + block = ''' +
{name} +
{ShippingAddress1} +
{ShippingCity}, {ShippingState} {ShippingZip} +
+

+ + ''' + addressBlock = block.format(name=Name, ShippingAddress1=ShippingAddress1, ShippingCity=ShippingCity, + ShippingState=ShippingState, ShippingZip=ShippingPostalCode) + + + itemDetailBlock = ''' + + + + ''' + + items = InvoiceDatabase.all_items(OrderNumber) + for eachItem in items: + info = InvoiceDatabase.item_lookup(eachItem) + Quantity = info[0] + DocumentID = info[1] + ProductName = info[2] + ItemPrice = info[3] + + addItem = ''' + + + + + + + ''' + + itemDetailBlock = itemDetailBlock + addItem.format(Quantity=Quantity, DocumentID=DocumentID, + ProductName=ProductName, ItemPrice=ItemPrice) + addItem = ''' +
QuantityDocument IDProduct NameSales
{Quantity} {DocumentID}{ProductName} + ${ItemPrice:,.2f}
Shipping:  + ${ShippingCharges:,.2f}
Invoice Total + ${BalanceDue:,.2f} +
+ ''' + itemDetailBlock = itemDetailBlock + addItem.format(ShippingCharges=ShippingCharges, BalanceDue=BalanceDue) body = ''' @@ -61,11 +123,14 @@ def send_email(test, record): - - Address Block +

Shipment Address
+ {addressBlock} +  

Make Checks Payable To:
Great Lakes Integrated
4246 Hudson Dr.
Stow, Ohio 44224
 

- + +
+

@@ -90,6 +155,7 @@ def send_email(test, record):

The order consists of the following items:

+ {itemDetailBlock} @@ -97,8 +163,8 @@ def send_email(test, record): ''' - HTMLpart = body.format(OrderNumber=OrderNumber, OrderDate=OrderDate, UserLogon=UserLogon, Name=Name, - ChargeCode=ChargeCode, InvoiceDate=InvoiceDate, InvoiceNumber=InvoiceNumber) + HTMLpart = body.format(addressBlock=addressBlock, OrderNumber=OrderNumber, OrderDate=OrderDate, UserLogon=UserLogon, Name=Name, + ChargeCode=ChargeCode, InvoiceDate=InvoiceDate, InvoiceNumber=InvoiceNumber, itemDetailBlock=itemDetailBlock) bodyHTML = MIMEText(HTMLpart, "html") @@ -111,9 +177,10 @@ def send_email(test, record): msg['Subject'] = 'INVOICE ' + InvoiceNumber if test is True: msg['To'] = 'ddembinski@gll.com' + msg['Cc'] = 'ddembinski@gll.com' + msg['Bcc'] = 'ddembinski@gll.com' else: - # msg['To'] = InvoiceEmailAddress - msg['To'] = 'ddembinski@gll.com' + msg['To'] = InvoiceEmailAddress msg['From'] = 'ddembinski@gll.com' msg.add_header('Content-Type', 'text/html') msg.attach(bodyHTML)