diff --git a/certificate_images/certificate_bg.jpg b/certificate_images/certificate_bg.jpg new file mode 100644 index 000000000..3b440343b Binary files /dev/null and b/certificate_images/certificate_bg.jpg differ diff --git a/certificate_images/fossee_logo.png b/certificate_images/fossee_logo.png new file mode 100644 index 000000000..a4d7bfda2 Binary files /dev/null and b/certificate_images/fossee_logo.png differ diff --git a/requirements/requirements-common.txt b/requirements/requirements-common.txt index b9901aeec..b1133b970 100644 --- a/requirements/requirements-common.txt +++ b/requirements/requirements-common.txt @@ -18,3 +18,5 @@ django-celery-results==1.2.1 djangorestframework==3.11.0 django-cors-headers==3.1.0 Pillow +pdflatex +jinja2 \ No newline at end of file diff --git a/yaksh.tex b/yaksh.tex new file mode 100644 index 000000000..13f894f72 --- /dev/null +++ b/yaksh.tex @@ -0,0 +1,105 @@ + + +\documentclass[20pt, a4paper]{extarticle} + +\usepackage{extsizes} + +\usepackage[T1]{fontenc} + +\usepackage{amsmath} + +\usepackage{graphicx} + +\usepackage[margin=17mm,landscape]{geometry} + +\usepackage{times} + +\usepackage[onehalfspacing]{setspace} + +\usepackage{eso-pic} + +\usepackage{ragged2e} + +\setlength{\parindent}{0pt} + + + +\begin{document} + +\pagestyle{empty} + +\AddToShipoutPictureBG*{\includegraphics[width=\paperwidth, height=\paperheight]{certificate_images/certificate_bg.jpg}} + + + + + + + +\begin{minipage}{\linewidth} + + + +\hspace{18 cm} + +\includegraphics[scale = 0.7]{certificate_images/fossee_logo.png} + +\centering \large \bfseries + +{\Huge + +\vskip2cm \color{blue!50!black} \hspace{2cm} $\boldsymbol{\mathrm { Certificate \ Of\ Completion}}$ } + +\end{minipage} + + + +\vskip2.5cm + +\doublespacing + +\RaggedRight + +{ \normalsize + +\fontfamily{qcs}\selectfont + + + +\normalsize \emph{{\hspace{4cm} This is to certify that {\color {blue!50!black} \VAR{name} }has successfully completed a course on { \color{blue!50!black} \VAR{course}}. This course was offered by the {\color{red!50!black} FOSSEE Project, IIT Bombay,} funded by National Mission on Education through ICT, MHRD, Govt.of India. + +}}} + + + + + + + +\singlespacing + +\small + + + + + +\hspace{3 cm} + +\vskip1cm + +\begin{minipage}{0.2\linewidth} + +\centering + +\rule{5cm}{1pt}\\ + +Dr. XXXXX\\ + +\end{minipage}\hfill + + + + + +\end{document} diff --git a/yaksh/models.py b/yaksh/models.py index 84cad1e7e..52540fb33 100644 --- a/yaksh/models.py +++ b/yaksh/models.py @@ -1184,6 +1184,7 @@ class CourseStatus(models.Model): grade = models.CharField(max_length=255, null=True, blank=True) percentage = models.FloatField(default=0.0) percent_completed = models.IntegerField(default=0) + certificate = models.BooleanField(default=False) def get_grade(self): return self.grade @@ -1201,6 +1202,13 @@ def set_grade(self): self.grade = grade self.save() + def get_certificateStatus(self): + return self.certificate + + def set_certificateStatus(self): + self.certificate = True + self.save() + def calculate_percentage(self): quizzes = self.course.get_quizzes() if self.is_course_complete() and quizzes: diff --git a/yaksh/send_emails.py b/yaksh/send_emails.py index 061cb0eaf..6889959bb 100644 --- a/yaksh/send_emails.py +++ b/yaksh/send_emails.py @@ -11,7 +11,7 @@ # Django imports from django.utils.crypto import get_random_string from django.conf import settings -from django.core.mail import EmailMultiAlternatives, send_mail +from django.core.mail import EmailMultiAlternatives, send_mail, EmailMessage from django.core.files.storage import default_storage from django.core.files.base import ContentFile @@ -88,3 +88,12 @@ def send_bulk_mail(subject, email_body, recipients, attachments): Please contact {1}.""".format(exc_msg, settings.REPLY_EMAIL) return message + + +def mail_certificate(send_to): + email = EmailMessage('Certificate', + 'Congrats!! You successfully completed the course', + settings.EMAIL_HOST_USER, + [send_to, ], ) + email.attach_file('certificate.pdf') + email.send() diff --git a/yaksh/templates/yaksh/course_modules.html b/yaksh/templates/yaksh/course_modules.html index b80856224..2f1dce3bd 100644 --- a/yaksh/templates/yaksh/course_modules.html +++ b/yaksh/templates/yaksh/course_modules.html @@ -67,7 +67,7 @@ {% get_module_status user module course as module_status %} {% if module_status == "completed" %}