Integrate new LinkedIn e-mail template
This commit is contained in:
@@ -6,14 +6,18 @@ LinkedIn profiles.
|
||||
import json
|
||||
import urllib
|
||||
|
||||
from django.conf import settings
|
||||
from django.core.mail import send_mail
|
||||
from django.core.management.base import BaseCommand
|
||||
from django.template import Context
|
||||
from django.template.loader import get_template
|
||||
from django.core.urlresolvers import reverse
|
||||
from optparse import make_option
|
||||
|
||||
from edxmako.shortcuts import render_to_string
|
||||
|
||||
from certificates.models import GeneratedCertificate
|
||||
from courseware.courses import get_course_by_id
|
||||
from courseware.courses import get_course_by_id, course_image_url
|
||||
|
||||
from ...models import LinkedIn
|
||||
from . import LinkedInAPI
|
||||
@@ -101,15 +105,31 @@ class Command(BaseCommand):
|
||||
Send the 'grandfathered' email informing historical students that they
|
||||
may now post their certificates on their LinkedIn profiles.
|
||||
"""
|
||||
template = get_template("linkedin_grandfather_email.html")
|
||||
links = [
|
||||
{'course_name': certificate.name,
|
||||
'url': self.certificate_url(certificate, grandfather=True)}
|
||||
for certificate in certificates]
|
||||
context = Context({
|
||||
'student_name': user.profile.name,
|
||||
'certificates': links})
|
||||
body = template.render(context)
|
||||
courses_list = []
|
||||
for cert in certificates:
|
||||
course = get_course_by_id(cert.course_id)
|
||||
course_url = 'https://{}{}'.format(
|
||||
settings.SITE_NAME,
|
||||
reverse('course_root', kwargs={'course_id': cert.course_id})
|
||||
)
|
||||
|
||||
course_title = course.display_name
|
||||
|
||||
course_img_url = 'https://{}{}'.format(settings.SITE_NAME, course_image_url(course))
|
||||
course_end_date = course.end.strftime('%b %Y')
|
||||
course_org = course.display_organization
|
||||
|
||||
courses_list.append({
|
||||
'course_url': course_url,
|
||||
'course_org': course_org,
|
||||
'course_title': course_title,
|
||||
'course_image_url': course_img_url,
|
||||
'course_end_date': course_end_date,
|
||||
'linkedin_add_url': self.certificate_url(cert),
|
||||
})
|
||||
|
||||
context = {'courses_list': courses_list, 'num_courses': len(courses_list)}
|
||||
body = render_to_string('linkedin/linkedin_email.html', context)
|
||||
subject = 'Congratulations! Put your certificates on LinkedIn'
|
||||
self.send_email(user, subject, body)
|
||||
|
||||
|
||||
@@ -7,36 +7,39 @@ import mock
|
||||
|
||||
from certificates.models import GeneratedCertificate
|
||||
from django.contrib.auth.models import User
|
||||
from django.conf import settings
|
||||
from django.test.utils import override_settings
|
||||
from django.core import mail
|
||||
from django.utils.timezone import utc
|
||||
from django.test import TestCase
|
||||
|
||||
from xmodule.modulestore.tests.factories import CourseFactory
|
||||
from student.models import UserProfile
|
||||
from linkedin.models import LinkedIn
|
||||
from xmodule.modulestore.tests.django_utils import ModuleStoreTestCase, mixed_store_config
|
||||
from linkedin.management.commands import linkedin_mailusers as mailusers
|
||||
|
||||
MODULE = 'linkedin.management.commands.linkedin_mailusers.'
|
||||
|
||||
TEST_DATA_MIXED_MODULESTORE = mixed_store_config(settings.COMMON_TEST_DATA_ROOT, {})
|
||||
|
||||
|
||||
@override_settings(MODULESTORE=TEST_DATA_MIXED_MODULESTORE)
|
||||
class MailusersTests(TestCase):
|
||||
"""
|
||||
Test mail users command.
|
||||
"""
|
||||
|
||||
def setUp(self):
|
||||
courses = {
|
||||
'TEST1': mock.Mock(
|
||||
org='TestX', number='1',
|
||||
start=datetime.datetime(2010, 5, 12, 2, 42, tzinfo=utc)),
|
||||
'TEST2': mock.Mock(org='TestX', number='2'),
|
||||
'TEST3': mock.Mock(org='TestX', number='3'),
|
||||
}
|
||||
|
||||
def get_course_by_id(id):
|
||||
return courses.get(id)
|
||||
patcher = mock.patch(MODULE + 'get_course_by_id', get_course_by_id)
|
||||
patcher.start()
|
||||
self.addCleanup(patcher.stop)
|
||||
CourseFactory.create(org='TESTX', number='1', display_name='TEST1',
|
||||
start=datetime.datetime(2010, 5, 12, 2, 42, tzinfo=utc),
|
||||
end=datetime.datetime(2011, 5, 12, 2, 42, tzinfo=utc))
|
||||
CourseFactory.create(org='TESTX', number='2', display_name='TEST2',
|
||||
start=datetime.datetime(2010, 5, 12, 2, 42, tzinfo=utc),
|
||||
end=datetime.datetime(2011, 5, 12, 2, 42, tzinfo=utc))
|
||||
CourseFactory.create(org='TESTX', number='3', display_name='TEST3',
|
||||
start=datetime.datetime(2010, 5, 12, 2, 42, tzinfo=utc),
|
||||
end=datetime.datetime(2011, 5, 12, 2, 42, tzinfo=utc))
|
||||
|
||||
self.fred = fred = User(username='fred', email='fred@bedrock.gov')
|
||||
fred.save()
|
||||
@@ -51,19 +54,19 @@ class MailusersTests(TestCase):
|
||||
self.cert1 = cert1 = GeneratedCertificate(
|
||||
status='downloadable',
|
||||
user=fred,
|
||||
course_id='TEST1',
|
||||
course_id='TESTX/1/TEST1',
|
||||
name='TestX/Intro101',
|
||||
download_url='http://test.foo/test')
|
||||
cert1.save()
|
||||
cert2 = GeneratedCertificate(
|
||||
status='downloadable',
|
||||
user=fred,
|
||||
course_id='TEST2')
|
||||
course_id='TESTX/2/TEST2')
|
||||
cert2.save()
|
||||
cert3 = GeneratedCertificate(
|
||||
status='downloadable',
|
||||
user=barney,
|
||||
course_id='TEST3')
|
||||
course_id='TESTX/3/TEST3')
|
||||
cert3.save()
|
||||
|
||||
def test_mail_users(self):
|
||||
@@ -73,9 +76,9 @@ class MailusersTests(TestCase):
|
||||
fut = mailusers.Command().handle
|
||||
fut()
|
||||
self.assertEqual(
|
||||
json.loads(self.fred.linkedin.emailed_courses), ['TEST1', 'TEST2'])
|
||||
json.loads(self.fred.linkedin.emailed_courses), ['TESTX/1/TEST1', 'TESTX/2/TEST2'])
|
||||
self.assertEqual(
|
||||
json.loads(self.barney.linkedin.emailed_courses), ['TEST3'])
|
||||
json.loads(self.barney.linkedin.emailed_courses), ['TESTX/3/TEST3'])
|
||||
self.assertEqual(len(mail.outbox), 3)
|
||||
self.assertEqual(mail.outbox[0].from_email, 'The Team <team@test.foo>')
|
||||
self.assertEqual(
|
||||
@@ -94,7 +97,7 @@ class MailusersTests(TestCase):
|
||||
fut = mailusers.Command().handle
|
||||
fut()
|
||||
self.assertEqual(
|
||||
json.loads(self.barney.linkedin.emailed_courses), ['TEST3'])
|
||||
json.loads(self.barney.linkedin.emailed_courses), ['TESTX/3/TEST3'])
|
||||
self.assertEqual(len(mail.outbox), 1)
|
||||
self.assertEqual(
|
||||
mail.outbox[0].to, ['Barney Rubble <barney@bedrock.gov>'])
|
||||
@@ -106,9 +109,9 @@ class MailusersTests(TestCase):
|
||||
fut = mailusers.Command().handle
|
||||
fut(grandfather=True)
|
||||
self.assertEqual(
|
||||
json.loads(self.fred.linkedin.emailed_courses), ['TEST1', 'TEST2'])
|
||||
json.loads(self.fred.linkedin.emailed_courses), ['TESTX/1/TEST1', 'TESTX/2/TEST2'])
|
||||
self.assertEqual(
|
||||
json.loads(self.barney.linkedin.emailed_courses), ['TEST3'])
|
||||
json.loads(self.barney.linkedin.emailed_courses), ['TESTX/3/TEST3'])
|
||||
self.assertEqual(len(mail.outbox), 2)
|
||||
self.assertEqual(
|
||||
mail.outbox[0].to, ['Fred Flintstone <fred@bedrock.gov>'])
|
||||
@@ -120,15 +123,15 @@ class MailusersTests(TestCase):
|
||||
Test emailing users, making sure they are only emailed about new
|
||||
certificates.
|
||||
"""
|
||||
self.fred.linkedin.emailed_courses = json.dumps(['TEST1'])
|
||||
self.fred.linkedin.emailed_courses = json.dumps(['TESTX/1/TEST1'])
|
||||
self.fred.linkedin.save()
|
||||
fut = mailusers.Command().handle
|
||||
fut()
|
||||
fred = User.objects.get(username='fred')
|
||||
self.assertEqual(
|
||||
json.loads(fred.linkedin.emailed_courses), ['TEST1', 'TEST2'])
|
||||
json.loads(fred.linkedin.emailed_courses), ['TESTX/1/TEST1', 'TESTX/2/TEST2'])
|
||||
self.assertEqual(
|
||||
json.loads(self.barney.linkedin.emailed_courses), ['TEST3'])
|
||||
json.loads(self.barney.linkedin.emailed_courses), ['TESTX/3/TEST3'])
|
||||
self.assertEqual(len(mail.outbox), 2)
|
||||
self.assertEqual(
|
||||
mail.outbox[0].to, ['Fred Flintstone <fred@bedrock.gov>'])
|
||||
@@ -140,15 +143,15 @@ class MailusersTests(TestCase):
|
||||
Test emailing users, making sure they are only emailed about new
|
||||
certificates.
|
||||
"""
|
||||
self.barney.linkedin.emailed_courses = json.dumps(['TEST3'])
|
||||
self.barney.linkedin.emailed_courses = json.dumps(['TESTX/3/TEST3'])
|
||||
self.barney.linkedin.save()
|
||||
fut = mailusers.Command().handle
|
||||
fut()
|
||||
fred = User.objects.get(username='fred')
|
||||
self.assertEqual(
|
||||
json.loads(fred.linkedin.emailed_courses), ['TEST1', 'TEST2'])
|
||||
json.loads(fred.linkedin.emailed_courses), ['TESTX/1/TEST1', 'TESTX/2/TEST2'])
|
||||
self.assertEqual(
|
||||
json.loads(self.barney.linkedin.emailed_courses), ['TEST3'])
|
||||
json.loads(self.barney.linkedin.emailed_courses), ['TESTX/3/TEST3'])
|
||||
self.assertEqual(len(mail.outbox), 2)
|
||||
self.assertEqual(
|
||||
mail.outbox[0].to, ['Fred Flintstone <fred@bedrock.gov>'])
|
||||
@@ -165,6 +168,6 @@ class MailusersTests(TestCase):
|
||||
'http://www.linkedin.com/profile/guided?'
|
||||
'pfCertificationName=TestX%2FIntro101&pfAuthorityName=edX&'
|
||||
'pfAuthorityId=0000000&'
|
||||
'pfCertificationUrl=http%3A%2F%2Ftest.foo%2Ftest&pfLicenseNo=TEST1&'
|
||||
'pfCertificationUrl=http%3A%2F%2Ftest.foo%2Ftest&pfLicenseNo=TESTX%2F1%2FTEST1&'
|
||||
'pfCertStartDate=201005&_mSplash=1&'
|
||||
'trk=eml-prof-TestX-1-T&startTask=CERTIFICATION_NAME&force=true')
|
||||
'trk=eml-prof-TESTX-1-T&startTask=CERTIFICATION_NAME&force=true')
|
||||
|
||||
@@ -1,28 +0,0 @@
|
||||
{% load i18n %}
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<meta name="viewport" content="initial-scale=1.0">
|
||||
</head>
|
||||
<body>
|
||||
<p>{% blocktrans with name=student_name %}
|
||||
Dear {{student_name}},
|
||||
{% endblocktrans %}</p>
|
||||
|
||||
<p>{% blocktrans with name=course_name %}
|
||||
We've partnered with LinkedIn and now you can put your certificates on
|
||||
your LinkedIn profile. Just use the links below.
|
||||
{% endblocktrans %}</p>
|
||||
|
||||
{% for cert in certificates %}
|
||||
<p>
|
||||
<b>{{cert.course_name}}</b>:
|
||||
<a href="{{cert.url|safe}}">
|
||||
<span>in<span>
|
||||
{% blocktrans %}Add to profile{% endblocktrans %}
|
||||
</a>
|
||||
</p>
|
||||
{% endfor %}
|
||||
</body>
|
||||
</html>
|
||||
836
lms/templates/linkedin/linkedin_email.html
Normal file
836
lms/templates/linkedin/linkedin_email.html
Normal file
@@ -0,0 +1,836 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns:fb="http://www.facebook.com/2008/fbml" xmlns:og="http://opengraph.org/schema/"> <head>
|
||||
|
||||
<meta property="og:title" content="Start 2014 with edX! Sign up for brand new courses."/>
|
||||
<meta property="fb:page_id" content="43929265776" />
|
||||
## NAME: 1 COLUMN
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Share Your edX Success on LinkedIn</title>
|
||||
|
||||
<style type="text/css">
|
||||
body,#bodyTable,#bodyCell{
|
||||
height:100% !important;
|
||||
margin:0;
|
||||
padding:0;
|
||||
width:100% !important;
|
||||
}
|
||||
table{
|
||||
border-collapse:collapse;
|
||||
}
|
||||
img,a img{
|
||||
border:0;
|
||||
outline:none;
|
||||
text-decoration:none;
|
||||
}
|
||||
h1,h2,h3,h4,h5,h6{
|
||||
margin:0;
|
||||
padding:0;
|
||||
}
|
||||
p{
|
||||
margin:1em 0;
|
||||
padding:0;
|
||||
}
|
||||
a{
|
||||
word-wrap:break-word;
|
||||
}
|
||||
.ReadMsgBody{
|
||||
width:100%;
|
||||
}
|
||||
.ExternalClass{
|
||||
width:100%;
|
||||
}
|
||||
.ExternalClass,.ExternalClass p,.ExternalClass span,.ExternalClass font,.ExternalClass td,.ExternalClass div{
|
||||
line-height:100%;
|
||||
}
|
||||
table,td{
|
||||
mso-table-lspace:0pt;
|
||||
mso-table-rspace:0pt;
|
||||
}
|
||||
#outlook a{
|
||||
padding:0;
|
||||
}
|
||||
img{
|
||||
-ms-interpolation-mode:bicubic;
|
||||
}
|
||||
body,table,td,p,a,li,blockquote{
|
||||
-ms-text-size-adjust:100%;
|
||||
-webkit-text-size-adjust:100%;
|
||||
}
|
||||
#bodyCell{
|
||||
padding:20px;
|
||||
}
|
||||
.mcnImage{
|
||||
vertical-align:bottom;
|
||||
}
|
||||
.mcnTextContent img{
|
||||
height:auto !important;
|
||||
}
|
||||
body,#bodyTable{
|
||||
background-color:#f5f5f5;
|
||||
}
|
||||
#bodyCell{
|
||||
border-top:0;
|
||||
}
|
||||
#templateContainer{
|
||||
border:0;
|
||||
}
|
||||
h1{
|
||||
color:#606060 !important;
|
||||
display:block;
|
||||
font-family:Arial, 'Helvetica Neue', Helvetica, sans-serif;
|
||||
font-size:40px;
|
||||
font-style:normal;
|
||||
font-weight:bold;
|
||||
line-height:125%;
|
||||
letter-spacing:-1px;
|
||||
margin:0;
|
||||
text-align:left;
|
||||
}
|
||||
h2{
|
||||
color:#606060 !important;
|
||||
display:block;
|
||||
font-family:Helvetica;
|
||||
font-size:26px;
|
||||
font-style:normal;
|
||||
font-weight:bold;
|
||||
line-height:125%;
|
||||
letter-spacing:-.75px;
|
||||
margin:0;
|
||||
text-align:left;
|
||||
}
|
||||
h3{
|
||||
color:#606060 !important;
|
||||
display:block;
|
||||
font-family:Helvetica;
|
||||
font-size:18px;
|
||||
font-style:normal;
|
||||
font-weight:bold;
|
||||
line-height:125%;
|
||||
letter-spacing:-.5px;
|
||||
margin:0;
|
||||
text-align:left;
|
||||
}
|
||||
h4{
|
||||
color:#808080 !important;
|
||||
display:block;
|
||||
font-family:Helvetica;
|
||||
font-size:16px;
|
||||
font-style:normal;
|
||||
font-weight:bold;
|
||||
line-height:125%;
|
||||
letter-spacing:normal;
|
||||
margin:0;
|
||||
text-align:left;
|
||||
}
|
||||
#templatePreheader{
|
||||
background-color:#0f6a93;
|
||||
border-top:0;
|
||||
border-bottom:0;
|
||||
}
|
||||
.preheaderContainer .mcnTextContent,.preheaderContainer .mcnTextContent p{
|
||||
color:#ffffff;
|
||||
font-family:Helvetica;
|
||||
font-size:11px;
|
||||
line-height:125%;
|
||||
text-align:left;
|
||||
}
|
||||
.preheaderContainer .mcnTextContent a{
|
||||
color:#f0f0f0;
|
||||
font-weight:normal;
|
||||
text-decoration:underline;
|
||||
}
|
||||
#templateHeader{
|
||||
background-color:#ffffff;
|
||||
border-top:0;
|
||||
border-bottom:0;
|
||||
}
|
||||
.headerContainer .mcnTextContent,.headerContainer .mcnTextContent p{
|
||||
color:#606060;
|
||||
font-family:Helvetica;
|
||||
font-size:15px;
|
||||
line-height:150%;
|
||||
text-align:left;
|
||||
}
|
||||
.headerContainer .mcnTextContent a{
|
||||
color:#6DC6DD;
|
||||
font-weight:normal;
|
||||
text-decoration:underline;
|
||||
}
|
||||
#templateBody{
|
||||
background-color:#ffffff;
|
||||
border-top:0;
|
||||
border-bottom:0;
|
||||
}
|
||||
.bodyContainer .mcnTextContent,.bodyContainer .mcnTextContent p{
|
||||
color:#606060;
|
||||
font-family:Arial, 'Helvetica Neue', Helvetica, sans-serif;
|
||||
font-size:14px;
|
||||
line-height:150%;
|
||||
text-align:left;
|
||||
}
|
||||
.bodyContainer .mcnTextContent a{
|
||||
color:#126f9a;
|
||||
font-weight:normal;
|
||||
text-decoration:underline;
|
||||
}
|
||||
#templateFooter{
|
||||
background-color:#0f6a93;
|
||||
border-top:0;
|
||||
border-bottom:0;
|
||||
}
|
||||
.footerContainer .mcnTextContent,.footerContainer .mcnTextContent p{
|
||||
color:#f2f2f2;
|
||||
font-family:Helvetica;
|
||||
font-size:11px;
|
||||
line-height:125%;
|
||||
text-align:left;
|
||||
}
|
||||
.footerContainer .mcnTextContent a{
|
||||
color:#ffffff;
|
||||
font-weight:normal;
|
||||
text-decoration:underline;
|
||||
}
|
||||
@media only screen and (max-width: 480px){
|
||||
body,table,td,p,a,li,blockquote{
|
||||
-webkit-text-size-adjust:none !important;
|
||||
}
|
||||
|
||||
}@media only screen and (max-width: 480px){
|
||||
body{
|
||||
width:100% !important;
|
||||
min-width:100% !important;
|
||||
}
|
||||
|
||||
}@media only screen and (max-width: 480px){
|
||||
td[id=bodyCell]{
|
||||
padding:10px !important;
|
||||
}
|
||||
|
||||
}@media only screen and (max-width: 480px){
|
||||
table[class=mcnTextContentContainer]{
|
||||
width:100% !important;
|
||||
}
|
||||
|
||||
}@media only screen and (max-width: 480px){
|
||||
table[class=mcnBoxedTextContentContainer]{
|
||||
width:100% !important;
|
||||
}
|
||||
|
||||
}@media only screen and (max-width: 480px){
|
||||
table[class=mcpreview-image-uploader]{
|
||||
width:100% !important;
|
||||
display:none !important;
|
||||
}
|
||||
|
||||
}@media only screen and (max-width: 480px){
|
||||
img[class=mcnImage]{
|
||||
width:100% !important;
|
||||
}
|
||||
|
||||
}@media only screen and (max-width: 480px){
|
||||
table[class=mcnImageGroupContentContainer]{
|
||||
width:100% !important;
|
||||
}
|
||||
|
||||
}@media only screen and (max-width: 480px){
|
||||
td[class=mcnImageGroupContent]{
|
||||
padding:9px !important;
|
||||
}
|
||||
|
||||
}@media only screen and (max-width: 480px){
|
||||
td[class=mcnImageGroupBlockInner]{
|
||||
padding-bottom:0 !important;
|
||||
padding-top:0 !important;
|
||||
}
|
||||
|
||||
}@media only screen and (max-width: 480px){
|
||||
tbody[class=mcnImageGroupBlockOuter]{
|
||||
padding-bottom:9px !important;
|
||||
padding-top:9px !important;
|
||||
}
|
||||
|
||||
}@media only screen and (max-width: 480px){
|
||||
table[class=mcnCaptionTopContent],table[class=mcnCaptionBottomContent]{
|
||||
width:100% !important;
|
||||
}
|
||||
|
||||
}@media only screen and (max-width: 480px){
|
||||
table[class=mcnCaptionLeftTextContentContainer],table[class=mcnCaptionRightTextContentContainer],table[class=mcnCaptionLeftImageContentContainer],table[class=mcnCaptionRightImageContentContainer],table[class=mcnImageCardLeftTextContentContainer],table[class=mcnImageCardRightTextContentContainer]{
|
||||
width:100% !important;
|
||||
}
|
||||
|
||||
}@media only screen and (max-width: 480px){
|
||||
td[class=mcnImageCardLeftImageContent],td[class=mcnImageCardRightImageContent]{
|
||||
padding-right:18px !important;
|
||||
padding-left:18px !important;
|
||||
padding-bottom:0 !important;
|
||||
}
|
||||
|
||||
}@media only screen and (max-width: 480px){
|
||||
td[class=mcnImageCardBottomImageContent]{
|
||||
padding-bottom:9px !important;
|
||||
}
|
||||
|
||||
}@media only screen and (max-width: 480px){
|
||||
td[class=mcnImageCardTopImageContent]{
|
||||
padding-top:18px !important;
|
||||
}
|
||||
|
||||
}@media only screen and (max-width: 480px){
|
||||
td[class=mcnImageCardLeftImageContent],td[class=mcnImageCardRightImageContent]{
|
||||
padding-right:18px !important;
|
||||
padding-left:18px !important;
|
||||
padding-bottom:0 !important;
|
||||
}
|
||||
|
||||
}@media only screen and (max-width: 480px){
|
||||
td[class=mcnImageCardBottomImageContent]{
|
||||
padding-bottom:9px !important;
|
||||
}
|
||||
|
||||
}@media only screen and (max-width: 480px){
|
||||
td[class=mcnImageCardTopImageContent]{
|
||||
padding-top:18px !important;
|
||||
}
|
||||
|
||||
}@media only screen and (max-width: 480px){
|
||||
table[class=mcnCaptionLeftContentOuter] td[class=mcnTextContent],table[class=mcnCaptionRightContentOuter] td[class=mcnTextContent]{
|
||||
padding-top:9px !important;
|
||||
}
|
||||
|
||||
}@media only screen and (max-width: 480px){
|
||||
td[class=mcnCaptionBlockInner] table[class=mcnCaptionTopContent]:last-child td[class=mcnTextContent]{
|
||||
padding-top:18px !important;
|
||||
}
|
||||
|
||||
}@media only screen and (max-width: 480px){
|
||||
td[class=mcnBoxedTextContentColumn]{
|
||||
padding-left:18px !important;
|
||||
padding-right:18px !important;
|
||||
}
|
||||
|
||||
}@media only screen and (max-width: 480px){
|
||||
td[class=mcnTextContent]{
|
||||
padding-right:18px !important;
|
||||
padding-left:18px !important;
|
||||
}
|
||||
|
||||
}@media only screen and (max-width: 480px){
|
||||
table[id=templateContainer],table[id=templatePreheader],table[id=templateHeader],table[id=templateBody],table[id=templateFooter]{
|
||||
max-width:600px !important;
|
||||
width:100% !important;
|
||||
}
|
||||
|
||||
}@media only screen and (max-width: 480px){
|
||||
h1{
|
||||
font-size:18px !important;
|
||||
line-height:125% !important;
|
||||
}
|
||||
|
||||
}@media only screen and (max-width: 480px){
|
||||
h2{
|
||||
font-size:16px !important;
|
||||
line-height:125% !important;
|
||||
}
|
||||
|
||||
}@media only screen and (max-width: 480px){
|
||||
h3{
|
||||
font-size:14px !important;
|
||||
line-height:125% !important;
|
||||
}
|
||||
|
||||
}@media only screen and (max-width: 480px){
|
||||
h4{
|
||||
font-size:12px !important;
|
||||
line-height:125% !important;
|
||||
}
|
||||
|
||||
}@media only screen and (max-width: 480px){
|
||||
table[class=mcnBoxedTextContentContainer] td[class=mcnTextContent],td[class=mcnBoxedTextContentContainer] td[class=mcnTextContent] p{
|
||||
font-size:18px !important;
|
||||
line-height:125% !important;
|
||||
}
|
||||
|
||||
}@media only screen and (max-width: 480px){
|
||||
table[id=templatePreheader]{
|
||||
display:block !important;
|
||||
}
|
||||
|
||||
}@media only screen and (max-width: 480px){
|
||||
td[class=preheaderContainer] td[class=mcnTextContent],td[class=preheaderContainer] td[class=mcnTextContent] p{
|
||||
font-size:14px !important;
|
||||
line-height:115% !important;
|
||||
}
|
||||
|
||||
}@media only screen and (max-width: 480px){
|
||||
td[class=headerContainer] td[class=mcnTextContent],td[class=headerContainer] td[class=mcnTextContent] p{
|
||||
font-size:18px !important;
|
||||
line-height:125% !important;
|
||||
}
|
||||
|
||||
}@media only screen and (max-width: 480px){
|
||||
td[class=bodyContainer] td[class=mcnTextContent],td[class=bodyContainer] td[class=mcnTextContent] p{
|
||||
font-size:18px !important;
|
||||
line-height:125% !important;
|
||||
}
|
||||
|
||||
}@media only screen and (max-width: 480px){
|
||||
td[class=footerContainer] td[class=mcnTextContent],td[class=footerContainer] td[class=mcnTextContent] p{
|
||||
font-size:14px !important;
|
||||
line-height:115% !important;
|
||||
}
|
||||
|
||||
}@media only screen and (max-width: 480px){
|
||||
td[class=footerContainer] a[class=utilityLink]{
|
||||
display:block !important;
|
||||
}
|
||||
|
||||
}</style> <script type="text/javascript">
|
||||
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
|
||||
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
|
||||
</script>
|
||||
<script type="text/javascript">
|
||||
try {
|
||||
var _gaq = _gaq || [];
|
||||
_gaq.push(["_setAccount", "UA-329148-88"]);
|
||||
_gaq.push(["_setDomainName", ".campaign-archive.com"]);
|
||||
_gaq.push(["_trackPageview"]);
|
||||
_gaq.push(["_setAllowLinker", true]);
|
||||
} catch(err) {console.log(err);}</script>
|
||||
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script> <script src="http://us5.campaign-archive1.com/js/mailchimp/fancyzoom.mc.js"></script> <script type="text/javascript">
|
||||
function incrementFacebookLikeCount() {
|
||||
var current = parseInt($('#campaign-fb-like-btn span').html());
|
||||
$('#campaign-fb-like-btn span').fadeOut().html(++current).fadeIn();
|
||||
}
|
||||
|
||||
function getUrlParams(str) {
|
||||
var vars = {}, hash;
|
||||
if (!str) return vars;
|
||||
var hashes = str.slice(str.indexOf('?') + 1).split('&');
|
||||
for(var i = 0; i < hashes.length; i++) {
|
||||
hash = hashes[i].split('=');
|
||||
vars[hash[0]] = hash[1];
|
||||
}
|
||||
return vars;
|
||||
}
|
||||
|
||||
function setupSocialSharingStuffs() {
|
||||
var numSocialElems = $('a[rel=socialproxy]').length;
|
||||
var numSocialInitialized = 0;
|
||||
var urlParams = getUrlParams(window.document.location.href);
|
||||
var paramsToCopy = {'e':true, 'eo':true};
|
||||
$('a[rel=socialproxy]').each(function() {
|
||||
var href = $(this).attr('href');
|
||||
var newHref = decodeURIComponent(href.match(/socialproxy=(.*)/)[1]);
|
||||
// for facebook insanity to work well, it needs to all be run against just campaign-archive
|
||||
newHref = newHref.replace(/campaign-archive(\d)/gi, 'campaign-archive');
|
||||
var newHrefParams = getUrlParams(newHref);
|
||||
for(var param in urlParams) {
|
||||
if ((param in paramsToCopy) && !(param in newHrefParams)) {
|
||||
newHref += '&' + param + '=' + urlParams[param];
|
||||
}
|
||||
}
|
||||
$(this).attr('href', newHref);
|
||||
if (href.indexOf('facebook-comment') !== -1) {
|
||||
$(this).fancyZoom({"zoom_id": "social-proxy", "width":620, "height":450, "iframe_height": 450});
|
||||
} else {
|
||||
$(this).fancyZoom({"zoom_id": "social-proxy", "width":500, "height":200, "iframe_height": 500});
|
||||
}
|
||||
numSocialInitialized++;
|
||||
});
|
||||
}
|
||||
if (window.top!=window.self){
|
||||
$(function() {
|
||||
var iframeOffset = $("#archive", window.parent.document).offset();
|
||||
$("a").each(function () {
|
||||
var link = $(this);
|
||||
var href = link.attr("href");
|
||||
if (href && href[0] == "#") {
|
||||
var name = href.substring(1);
|
||||
$(this).click(function () {
|
||||
var nameElement = $("[name='" + name + "']");
|
||||
var idElement = $("#" + name);
|
||||
var element = null;
|
||||
if (nameElement.length > 0) {
|
||||
element = nameElement;
|
||||
} else if (idElement.length > 0) {
|
||||
element = idElement;
|
||||
}
|
||||
|
||||
if (element) {
|
||||
var offset = element.offset();
|
||||
var height = element.height();
|
||||
//3 is totally arbitrary, but seems to work best.
|
||||
window.parent.scrollTo(offset.left, (offset.top + iframeOffset.top - (height*3)) );
|
||||
}
|
||||
|
||||
return false;
|
||||
});
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
</script> <script type="text/javascript">
|
||||
$(document).ready(function() {
|
||||
setupSocialSharingStuffs();
|
||||
});
|
||||
</script> <style type="text/css">
|
||||
/* Facebook/Google+ Modals */
|
||||
#social-proxy { background:#fff; -webkit-box-shadow: 4px 4px 8px 2px rgba(0,0,0,.2); box-shadow: 4px 4px 8px 2px rgba(0,0,0,.2); padding-bottom:35px; z-index:1000; }
|
||||
#social-proxy_close { display:block; position:absolute; top:0; right:0; height:30px; width:32px; background:transparent url(http://cdn-images.mailchimp.com/awesomebar-sprite.png) 0 -200px; text-indent:-9999px; outline:none; font-size:1px; }
|
||||
#social-proxy_close:hover { background-position:0 -240px; }
|
||||
body { padding-bottom:50px !important; }
|
||||
</style> </head>
|
||||
|
||||
<body leftmargin="0" marginwidth="0" topmargin="0" marginheight="0" offset="0" style="margin: 0;padding: 0;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;background-color: #f5f5f5;height: 100% !important;width: 100% !important;">
|
||||
<center>
|
||||
<table align="center" border="0" cellpadding="0" cellspacing="0" height="100%" width="100%" id="bodyTable" style="border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;margin: 0;padding: 0;background-color: #f5f5f5;height: 100% !important;width: 100% !important;">
|
||||
<tr>
|
||||
<td align="center" valign="top" id="bodyCell" style="mso-table-lspace: 0pt;mso-table-rspace: 0pt;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;margin: 0;padding: 20px;border-top: 0;height: 100% !important;width: 100% !important;">
|
||||
## BEGIN TEMPLATE //
|
||||
<table border="0" cellpadding="0" cellspacing="0" width="600" id="templateContainer" style="border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;border: 0;">
|
||||
<tr>
|
||||
<td align="center" valign="top" style="mso-table-lspace: 0pt;mso-table-rspace: 0pt;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;">
|
||||
## BEGIN PREHEADER //
|
||||
<table border="0" cellpadding="0" cellspacing="0" width="600" id="templatePreheader" style="border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;background-color: #0f6a93;border-top: 0;border-bottom: 0;">
|
||||
<tr>
|
||||
<td valign="top" class="preheaderContainer" style="padding-top: 9px;mso-table-lspace: 0pt;mso-table-rspace: 0pt;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;"><table border="0" cellpadding="0" cellspacing="0" width="100%" class="mcnTextBlock" style="border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;">
|
||||
<tbody class="mcnTextBlockOuter">
|
||||
<tr>
|
||||
<td valign="top" class="mcnTextBlockInner" style="mso-table-lspace: 0pt;mso-table-rspace: 0pt;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;">
|
||||
|
||||
<table align="right" border="0" cellpadding="0" cellspacing="0" width="366" class="mcnTextContentContainer" style="border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;">
|
||||
<tbody><tr>
|
||||
|
||||
<td valign="top" class="mcnTextContent" style="padding-top: 9px;padding-right: 18px;padding-bottom: 9px;padding-left: 0;mso-table-lspace: 0pt;mso-table-rspace: 0pt;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;color: #ffffff;font-family: Helvetica;font-size: 11px;line-height: 125%;text-align: left;">
|
||||
|
||||
<div style="text-align: right;"> <span style="text-align: right; font-size: 11px;"><span style="color:#fofofo;">Connect with us on:</span><span style="color: #00A0E3;"> </span></span><span style="text-align: right;"> </span><a href="http://facebook.com/edxonline" style="text-align: right;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;color: #f0f0f0;font-weight: normal;text-decoration: underline;" target="_blank"><img align="none" height="18" src="https://gallery.mailchimp.com/1822a33c054dc20e223ca40e2/images/Facebook_Gray.png" style="width: 18px;height: 18px;border: 0;outline: none;text-decoration: none;-ms-interpolation-mode: bicubic;" width="18"></a><span style="text-align: right;"> </span><a href="http://twitter.com/edxonline" style="text-align: right;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;color: #f0f0f0;font-weight: normal;text-decoration: underline;" target="_blank"><img align="none" height="18" src="https://gallery.mailchimp.com/1822a33c054dc20e223ca40e2/images/Twitter_Gray.png" style="width: 18px;height: 18px;border: 0;outline: none;text-decoration: none;-ms-interpolation-mode: bicubic;" width="18"></a><span style="text-align: right;"> </span><a href="https://plus.google.com/108235383044095082735" style="text-align: right;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;color: #f0f0f0;font-weight: normal;text-decoration: underline;" target="_blank"><img align="none" height="18" src="https://gallery.mailchimp.com/1822a33c054dc20e223ca40e2/images/Google_Gray.png" style="width: 18px;height: 18px;border: 0;outline: none;text-decoration: none;-ms-interpolation-mode: bicubic;" width="18"></a><span style="text-align: right;"> </span><a href="http://www.linkedin.com/company/edx?trk=nav_account_sub_nav_company_admin" style="text-align: right;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;color: #f0f0f0;font-weight: normal;text-decoration: underline;" target="_blank"><img align="none" height="18" src="https://gallery.mailchimp.com/1822a33c054dc20e223ca40e2/images/LinkedIn_Gray.png" style="width: 18px;height: 18px;border: 0;outline: none;text-decoration: none;-ms-interpolation-mode: bicubic;" width="18"></a><span style="text-align: right;"> </span><a href="http://vk.com/edxrussia" style="text-align: right;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;color: #f0f0f0;font-weight: normal;text-decoration: underline;" target="_blank"><img align="none" height="18" src="https://gallery.mailchimp.com/1822a33c054dc20e223ca40e2/images/VK_Grayd3c9a7.png" style="opacity: 0.9;width: 18px;height: 18px;border: 0;outline: none;text-decoration: none;-ms-interpolation-mode: bicubic;" width="18"></a><span style="text-align: right;"> </span><a href="http://www.meetup.com/edX-Communities/" style="text-align: right;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;color: #f0f0f0;font-weight: normal;text-decoration: underline;" target="_blank"><img align="none" height="18" src="https://gallery.mailchimp.com/1822a33c054dc20e223ca40e2/images/Meetup_Gray.png" style="width: 18px;height: 18px;border: 0;outline: none;text-decoration: none;-ms-interpolation-mode: bicubic;" width="18"></a></div>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
</tbody></table>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table></td>
|
||||
</tr>
|
||||
</table>
|
||||
## // END PREHEADER
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" valign="top" style="mso-table-lspace: 0pt;mso-table-rspace: 0pt;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;">
|
||||
## BEGIN HEADER //
|
||||
<table border="0" cellpadding="0" cellspacing="0" width="600" id="templateHeader" style="border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;background-color: #ffffff;border-top: 0;border-bottom: 0;">
|
||||
<tr>
|
||||
<td valign="top" class="headerContainer" style="mso-table-lspace: 0pt;mso-table-rspace: 0pt;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;"><table border="0" cellpadding="0" cellspacing="0" width="100%" class="mcnImageBlock" style="border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;">
|
||||
<tbody class="mcnImageBlockOuter">
|
||||
<tr>
|
||||
<td valign="top" style="padding: 9px;mso-table-lspace: 0pt;mso-table-rspace: 0pt;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;" class="mcnImageBlockInner">
|
||||
<table align="left" width="100%" border="0" cellpadding="0" cellspacing="0" class="mcnImageContentContainer" style="border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;">
|
||||
<tbody><tr>
|
||||
<td class="mcnImageContent" valign="top" style="padding-right: 9px;padding-left: 9px;padding-top: 0;padding-bottom: 0;mso-table-lspace: 0pt;mso-table-rspace: 0pt;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;">
|
||||
|
||||
|
||||
<img align="left" alt="edX - Connect To A Better Future" src="https://gallery.mailchimp.com/1822a33c054dc20e223ca40e2/images/edxeb0b919494099d631b.png" width="100" style="max-width: 100px;padding-bottom: 0;display: inline !important;vertical-align: bottom;border: 0;outline: none;text-decoration: none;-ms-interpolation-mode: bicubic;" class="mcnImage">
|
||||
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
</tbody></table>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table><table border="0" cellpadding="0" cellspacing="0" width="100%" class="mcnTextBlock" style="border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;">
|
||||
<tbody class="mcnTextBlockOuter">
|
||||
<tr>
|
||||
<td valign="top" class="mcnTextBlockInner" style="mso-table-lspace: 0pt;mso-table-rspace: 0pt;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;">
|
||||
|
||||
<table align="left" border="0" cellpadding="0" cellspacing="0" width="600" class="mcnTextContentContainer" style="border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;">
|
||||
<tbody><tr>
|
||||
|
||||
<td valign="top" class="mcnTextContent" style="padding: 9px 18px;line-height: 110%;mso-table-lspace: 0pt;mso-table-rspace: 0pt;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;color: #606060;font-family: Helvetica;font-size: 15px;text-align: left;">
|
||||
|
||||
<font size="6">Share Your edX Success on LinkedIn</font>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody></table>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table></td>
|
||||
</tr>
|
||||
</table>
|
||||
## // END HEADER
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" valign="top" style="mso-table-lspace: 0pt;mso-table-rspace: 0pt;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;">
|
||||
## BEGIN BODY //
|
||||
<table border="0" cellpadding="0" cellspacing="0" width="600" id="templateBody" style="border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;background-color: #ffffff;border-top: 0;border-bottom: 0;">
|
||||
<tr>
|
||||
<td valign="top" class="bodyContainer" style="mso-table-lspace: 0pt;mso-table-rspace: 0pt;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;"><table border="0" cellpadding="0" cellspacing="0" width="100%" class="mcnTextBlock" style="border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;">
|
||||
<tbody class="mcnTextBlockOuter">
|
||||
<tr>
|
||||
<td valign="top" class="mcnTextBlockInner" style="mso-table-lspace: 0pt;mso-table-rspace: 0pt;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;">
|
||||
|
||||
<table align="left" border="0" cellpadding="0" cellspacing="0" width="600" class="mcnTextContentContainer" style="border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;">
|
||||
<tbody><tr>
|
||||
|
||||
<td valign="top" class="mcnTextContent" style="padding-top: 9px;padding-right: 18px;padding-bottom: 9px;padding-left: 18px;mso-table-lspace: 0pt;mso-table-rspace: 0pt;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;color: #606060;font-family: Arial, 'Helvetica Neue', Helvetica, sans-serif;font-size: 14px;line-height: 150%;text-align: left;">
|
||||
|
||||
%if num_courses==1:
|
||||
<span style="font-size:12px;">Through a partnership with <a href="https://www.linkedin.com/">LinkedIn</a>, the world's largest professional network, we've now made it even easier for you to showcase your success. We encourage you to share your edX certificate on your LinkedIn profile. Simply click the "Add to profile" button below.</span>
|
||||
%else:
|
||||
<span style="font-size:12px;">Through a partnership with <a href="https://www.linkedin.com/">LinkedIn</a>, the world's largest professional network, we've now made it even easier for you to showcase your success. We encourage you to share your edX certificates on your LinkedIn profile. Simply click the "Add to profile" buttons below.</span>
|
||||
%endif
|
||||
</td>
|
||||
</tr>
|
||||
</tbody></table>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
||||
%for course_dict in courses_list:
|
||||
|
||||
<%
|
||||
|
||||
course_url = course_dict['course_url']
|
||||
course_title = course_dict['course_title']
|
||||
course_image_url = course_dict['course_image_url']
|
||||
course_org = course_dict['course_org']
|
||||
course_end_date = course_dict['course_end_date']
|
||||
linkedin_add_url = course_dict['linkedin_add_url']
|
||||
|
||||
%>
|
||||
|
||||
## Begin table for single class
|
||||
<table border="0" cellpadding="0" cellspacing="0" width="100%" class="mcnCaptionBlock" style="border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;">
|
||||
<tbody class="mcnCaptionBlockOuter">
|
||||
<tr>
|
||||
<td class="mcnCaptionBlockInner" valign="top" style="padding: 9px;mso-table-lspace: 0pt;mso-table-rspace: 0pt;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;">
|
||||
<table border="0" cellpadding="0" cellspacing="0" class="mcnCaptionRightContentOuter" width="100%" style="border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;">
|
||||
<tbody><tr>
|
||||
<td valign="top" class="mcnCaptionRightContentInner" style="padding: 0 9px;mso-table-lspace: 0pt;mso-table-rspace: 0pt;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;">
|
||||
<table align="left" border="0" cellpadding="0" cellspacing="0" class="mcnCaptionRightImageContentContainer" style="border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;">
|
||||
|
||||
<tbody><tr>
|
||||
<td class="mcnCaptionRightImageContent" valign="top" style="mso-table-lspace: 0pt;mso-table-rspace: 0pt;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;">
|
||||
|
||||
|
||||
<a href="${course_url}" title="" class="" target="_blank" style="word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;">
|
||||
|
||||
|
||||
<img alt="${course_title}" src="${course_image_url}" width="264" style="max-width: 378px;border: 0;outline: none;text-decoration: none;-ms-interpolation-mode: bicubic;vertical-align: bottom;" class="mcnImage">
|
||||
</a>
|
||||
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
</tbody></table>
|
||||
<table class="mcnCaptionRightTextContentContainer" align="right" border="0" cellpadding="0" cellspacing="0" width="264" style="border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;">
|
||||
<tbody><tr>
|
||||
<td valign="top" class="mcnTextContent" style="line-height: 150%;text-align: left;mso-table-lspace: 0pt;mso-table-rspace: 0pt;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;color: #606060;font-family: Arial, 'Helvetica Neue', Helvetica, sans-serif;font-size: 14px;">
|
||||
<span style="font-size:14px;"><strong>${course_title}</strong></span><br>
|
||||
<span style="font-size:12px;"><b><i>${course_org}</i></b></span><br>
|
||||
<strong style="font-size: 12px;">Completed ${course_end_date}</strong><br>
|
||||
<br>
|
||||
|
||||
## TODO put path/to/real/source/file here
|
||||
<div align="right"><a href="${linkedin_add_url}" style="font-size: 12px;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;color: #126f9a;font-weight: normal;text-decoration: underline;" target="_blank"><img align="none" src="file://localhost/Users/sarina/Desktop/linkedin_add_to_profile.png"></a></div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody></table>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody></table>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
## End table for single class cell
|
||||
%endfor
|
||||
|
||||
## a really complicated hr
|
||||
<table border="0" cellpadding="0" cellspacing="0" width="100%" class="mcnDividerBlock" style="border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;">
|
||||
<tbody class="mcnDividerBlockOuter">
|
||||
<tr>
|
||||
<td class="mcnDividerBlockInner" style="padding: 18px 18px 28px;mso-table-lspace: 0pt;mso-table-rspace: 0pt;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;">
|
||||
<table class="mcnDividerContent" border="0" cellpadding="0" cellspacing="0" width="100%" style="border-top-width: 1px;border-top-style: solid;border-top-color: #999999;border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;">
|
||||
<tbody><tr>
|
||||
<td style="mso-table-lspace: 0pt;mso-table-rspace: 0pt;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;">
|
||||
<span></span>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody></table>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
## text for congrats on your accomplishment
|
||||
<table border="0" cellpadding="0" cellspacing="0" width="600" id="templateBody" style="border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;background-color: #ffffff;border-top: 0;border-bottom: 0;">
|
||||
<tr>
|
||||
<td valign="top" class="bodyContainer" style="mso-table-lspace: 0pt;mso-table-rspace: 0pt;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;"><table border="0" cellpadding="0" cellspacing="0" width="100%" class="mcnTextBlock" style="border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;">
|
||||
<tbody class="mcnTextBlockOuter">
|
||||
<tr>
|
||||
<td valign="top" class="mcnTextBlockInner" style="mso-table-lspace: 0pt;mso-table-rspace: 0pt;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;">
|
||||
|
||||
<table align="left" border="0" cellpadding="0" cellspacing="0" width="600" class="mcnTextContentContainer" style="border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;">
|
||||
<tbody><tr>
|
||||
|
||||
<td valign="top" class="mcnTextContent" style="padding-top: 9px;padding-right: 18px;padding-bottom: 9px;padding-left: 18px;mso-table-lspace: 0pt;mso-table-rspace: 0pt;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;color: #606060;font-family: Arial, 'Helvetica Neue', Helvetica, sans-serif;font-size: 14px;line-height: 150%;text-align: left;">
|
||||
|
||||
<span style="font-size:12px;">Congratulations on your accomplishment! Adding this to your profile will help get the word out about your impressive edX achievement. -The edX Team-</span>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody></table>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<table border="0" cellpadding="0" cellspacing="0" width="100%" class="mcnTextBlock" style="border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;">
|
||||
<tbody class="mcnTextBlockOuter">
|
||||
<tr>
|
||||
<td valign="top" class="mcnTextBlockInner" style="mso-table-lspace: 0pt;mso-table-rspace: 0pt;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;">
|
||||
|
||||
<table align="left" border="0" cellpadding="0" cellspacing="0" width="600" class="mcnTextContentContainer" style="border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;">
|
||||
<tbody><tr>
|
||||
|
||||
<td valign="top" class="mcnTextContent" style="padding-top: 9px;padding-right: 18px;padding-bottom: 9px;padding-left: 18px;mso-table-lspace: 0pt;mso-table-rspace: 0pt;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;color: #606060;font-family: Arial, 'Helvetica Neue', Helvetica, sans-serif;font-size: 14px;line-height: 150%;text-align: left;">
|
||||
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
</tbody></table>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table><table border="0" cellpadding="0" cellspacing="0" width="100%" class="mcnDividerBlock" style="border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;">
|
||||
<tbody class="mcnDividerBlockOuter">
|
||||
<tr>
|
||||
<td class="mcnDividerBlockInner" style="padding: 18px;mso-table-lspace: 0pt;mso-table-rspace: 0pt;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;">
|
||||
<table class="mcnDividerContent" border="0" cellpadding="0" cellspacing="0" width="100%" style="border-top-width: 1px;border-top-style: solid;border-top-color: #666666;border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;">
|
||||
<tbody><tr>
|
||||
<td style="mso-table-lspace: 0pt;mso-table-rspace: 0pt;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;">
|
||||
<span></span>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody></table>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table><table border="0" cellpadding="0" cellspacing="0" width="100%" class="mcnTextBlock" style="border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;">
|
||||
<tbody class="mcnTextBlockOuter">
|
||||
<tr>
|
||||
<td valign="top" class="mcnTextBlockInner" style="mso-table-lspace: 0pt;mso-table-rspace: 0pt;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;">
|
||||
|
||||
<table align="left" border="0" cellpadding="0" cellspacing="0" width="600" class="mcnTextContentContainer" style="border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;">
|
||||
<tbody><tr>
|
||||
|
||||
<td valign="top" class="mcnTextContent" style="padding-top: 9px;padding-right: 18px;padding-bottom: 9px;padding-left: 18px;mso-table-lspace: 0pt;mso-table-rspace: 0pt;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;color: #606060;font-family: Arial, 'Helvetica Neue', Helvetica, sans-serif;font-size: 14px;line-height: 150%;text-align: left;">
|
||||
|
||||
<div style="text-align: center;">
|
||||
<span style="font-size:12px;">Stay connected on <a href="http://www.linkedin.com/company/edx" target="_self" style="word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;color: #126f9a;font-weight: normal;text-decoration: underline;">LinkedIn</a>,
|
||||
<a href="https://www.facebook.com/EdxOnline" target="_self" style="word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;color: #126f9a;font-weight: normal;text-decoration: underline;">Facebook</a>, <a href="https://twitter.com/edXOnline" target="_self" style="word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;color: #126f9a;font-weight: normal;text-decoration: underline;">Twitter</a>, <a href="https://plus.google.com/b/108235383044095082735/108235383044095082735" target="_self" style="word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;color: #126f9a;font-weight: normal;text-decoration: underline;">Google+</a> and more for news and updates.</span></div>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
</tbody></table>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table><table border="0" cellpadding="0" cellspacing="0" width="100%" class="mcnDividerBlock" style="border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;">
|
||||
<tbody class="mcnDividerBlockOuter">
|
||||
<tr>
|
||||
<td class="mcnDividerBlockInner" style="padding: 18px 18px 3px;mso-table-lspace: 0pt;mso-table-rspace: 0pt;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;">
|
||||
<table class="mcnDividerContent" border="0" cellpadding="0" cellspacing="0" width="100%" style="border-top-width: 1px;border-top-style: solid;border-top-color: #666666;border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;">
|
||||
<tbody><tr>
|
||||
<td style="mso-table-lspace: 0pt;mso-table-rspace: 0pt;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;">
|
||||
<span></span>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody></table>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table><table border="0" cellpadding="0" cellspacing="0" width="100%" class="mcnTextBlock" style="border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;">
|
||||
<tbody class="mcnTextBlockOuter">
|
||||
<tr>
|
||||
<td valign="top" class="mcnTextBlockInner" style="mso-table-lspace: 0pt;mso-table-rspace: 0pt;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;">
|
||||
|
||||
<table align="left" border="0" cellpadding="0" cellspacing="0" width="600" class="mcnTextContentContainer" style="border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;">
|
||||
<tbody><tr>
|
||||
|
||||
<td valign="top" class="mcnTextContent" style="padding-top: 9px;padding-right: 18px;padding-bottom: 9px;padding-left: 18px;mso-table-lspace: 0pt;mso-table-rspace: 0pt;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;color: #606060;font-family: Arial, 'Helvetica Neue', Helvetica, sans-serif;font-size: 14px;line-height: 150%;text-align: left;">
|
||||
|
||||
<div style="text-align: right;">
|
||||
<a href="http://facebook.com/edxonline" target="_blank" style="word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;color: #126f9a;font-weight: normal;text-decoration: underline;"><img align="none" height="16" src="http://gallery.mailchimp.com/1822a33c054dc20e223ca40e2/images/social_facebook.png" style="width: 16px;height: 16px;border: 0;outline: none;text-decoration: none;-ms-interpolation-mode: bicubic;" width="16"></a> <a href="http://twitter.com/edxonline" target="_blank" style="word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;color: #126f9a;font-weight: normal;text-decoration: underline;"><img align="none" height="16" src="http://gallery.mailchimp.com/1822a33c054dc20e223ca40e2/images/social_twitter.png" style="width: 16px;height: 16px;border: 0;outline: none;text-decoration: none;-ms-interpolation-mode: bicubic;" width="16"></a> <a href="https://plus.google.com/108235383044095082735" target="_blank" style="word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;color: #126f9a;font-weight: normal;text-decoration: underline;"><img align="none" height="16" src="http://gallery.mailchimp.com/1822a33c054dc20e223ca40e2/images/social_googleplus.png" style="width: 16px;height: 16px;border: 0;outline: none;text-decoration: none;-ms-interpolation-mode: bicubic;" width="16"></a> <a href="http://www.linkedin.com/company/edx?trk=nav_account_sub_nav_company_admin" target="_blank" style="word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;color: #126f9a;font-weight: normal;text-decoration: underline;"><img align="none" height="16" src="http://gallery.mailchimp.com/1822a33c054dc20e223ca40e2/images/social_linkedin.png" style="width: 16px;height: 16px;border: 0;outline: none;text-decoration: none;-ms-interpolation-mode: bicubic;" width="16"></a> <a href="http://vk.com/edxrussia" target="_blank" style="word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;color: #126f9a;font-weight: normal;text-decoration: underline;"><img align="none" height="16" src="http://gallery.mailchimp.com/1822a33c054dc20e223ca40e2/images/social_vkontakte.png" style="width: 16px;height: 16px;border: 0;outline: none;text-decoration: none;-ms-interpolation-mode: bicubic;" width="16"></a> <a href="http://www.meetup.com/edX-Communities/" target="_blank" style="word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;color: #126f9a;font-weight: normal;text-decoration: underline;"><img align="none" height="16" src="http://gallery.mailchimp.com/1822a33c054dc20e223ca40e2/images/social_meetup.png" style="width: 16px;height: 16px;border: 0;outline: none;text-decoration: none;-ms-interpolation-mode: bicubic;" width="16"></a></div>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
</tbody></table>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table></td>
|
||||
</tr>
|
||||
</table>
|
||||
## // END BODY
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" valign="top" style="mso-table-lspace: 0pt;mso-table-rspace: 0pt;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;">
|
||||
## BEGIN FOOTER //
|
||||
<table border="0" cellpadding="0" cellspacing="0" width="600" id="templateFooter" style="border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;background-color: #0f6a93;border-top: 0;border-bottom: 0;">
|
||||
<tr>
|
||||
<td valign="top" class="footerContainer" style="padding-bottom: 9px;mso-table-lspace: 0pt;mso-table-rspace: 0pt;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;"><table border="0" cellpadding="0" cellspacing="0" width="100%" class="mcnTextBlock" style="border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;">
|
||||
<tbody class="mcnTextBlockOuter">
|
||||
<tr>
|
||||
<td valign="top" class="mcnTextBlockInner" style="mso-table-lspace: 0pt;mso-table-rspace: 0pt;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;">
|
||||
|
||||
<table align="left" border="0" cellpadding="0" cellspacing="0" width="600" class="mcnTextContentContainer" style="border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;">
|
||||
<tbody><tr>
|
||||
|
||||
<td valign="top" class="mcnTextContent" style="padding-top: 9px;padding-right: 18px;padding-bottom: 9px;padding-left: 18px;mso-table-lspace: 0pt;mso-table-rspace: 0pt;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;color: #f2f2f2;font-family: Helvetica;font-size: 11px;line-height: 125%;text-align: left;">
|
||||
<br>
|
||||
<em>Copyright © 2014 edX, All rights reserved.</em><br>
|
||||
<br>
|
||||
<b>Our mailing address is:</b><br>
|
||||
edX<br>
|
||||
11 Cambridge Center, Suite 101<br>
|
||||
Cambridge, MA, USA 02142<br>
|
||||
<br>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody></table>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table></td>
|
||||
</tr>
|
||||
</table>
|
||||
## // END FOOTER
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
## // END TEMPLATE
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</center>
|
||||
</body>
|
||||
</html>
|
||||
Reference in New Issue
Block a user