diff --git a/backend/accounts/tasks.py b/backend/accounts/tasks.py index 56cf39a..0b22d94 100644 --- a/backend/accounts/tasks.py +++ b/backend/accounts/tasks.py @@ -2,6 +2,7 @@ from celery import shared_task from backend.core.models import Organization, Document, Risk, Control, DocumentRiskControl from backend.core.utils import get_top_risk, get_controls_for_risk from django.shortcuts import get_object_or_404, render +from .utils import send_payment_email @shared_task @@ -49,4 +50,7 @@ def create_document_for_organization(confirmation_email): controls_content += "\n" - document.add_segment('body', controls_content) \ No newline at end of file + document.add_segment('body', controls_content) + + + send_payment_email(confirmation_email) \ No newline at end of file diff --git a/backend/accounts/templates/accounts/confirmation_expired.html b/backend/accounts/templates/accounts/confirmation_expired.html index 7624b9a..66e6a9b 100644 --- a/backend/accounts/templates/accounts/confirmation_expired.html +++ b/backend/accounts/templates/accounts/confirmation_expired.html @@ -1,8 +1,10 @@ -{% extends "base_login.html" %} - +{% extends "base.html" %} +{%block content%}

Link has expired!

{% csrf_token %} -
\ No newline at end of file + + +{% endblock %} \ No newline at end of file diff --git a/backend/accounts/templates/accounts/confirmation_success.html b/backend/accounts/templates/accounts/confirmation_success.html index 32a64d0..a26424f 100644 --- a/backend/accounts/templates/accounts/confirmation_success.html +++ b/backend/accounts/templates/accounts/confirmation_success.html @@ -1,5 +1,11 @@ -{% extends "base_login.html" %} +{% extends "base.html" %} +{%block content%} +
+
+

Email Confirmed!

+

Your email {{ email }} has been successfully verified.

+
+
-

Email Confirmed!

-

Your email {{ email }} has been successfully verified.

+{%endblock%} diff --git a/backend/accounts/utils.py b/backend/accounts/utils.py index 6ed5ff0..c9a6ba8 100644 --- a/backend/accounts/utils.py +++ b/backend/accounts/utils.py @@ -4,7 +4,7 @@ from .models import EmailConfirmation import uuid from django.conf import settings from django.utils.timezone import now - +from backend.core.models import Document, Organization def send_confirmation_email(email): confirmation, created = EmailConfirmation.objects.get_or_create(email=email) @@ -21,4 +21,28 @@ def send_confirmation_email(email): message=f"Please click on the link to confirm your e-mail address: {confirmation_link}", from_email= settings.EMAIL_HOST_USER, recipient_list=[email] - ) \ No newline at end of file + ) + +def send_payment_email(email): + organization = Organization.objects.get(email=email) + document = Document.objects.get(organization=organization) + + payment_link = f"http://127.0.0.1:8000{reverse('core:payment_page')}?email={email}" + + send_mail( + subject="Complete your payment", + message=f"Click the link to proceed with payment: {payment_link}", + from_email=settings.EMAIL_HOST_USER, + recipient_list=[email], + fail_silently=False, + ) + +def send_document_email(email, document_link): + send_mail( + subject="Your Document is Ready", + message=f"You can access your document at any time here: {document_link}", + from_email=settings.EMAIL_HOST_USER, + recipient_list=[email], + fail_silently=False, + ) + diff --git a/backend/accounts/views.py b/backend/accounts/views.py index c644ca5..901f3ea 100644 --- a/backend/accounts/views.py +++ b/backend/accounts/views.py @@ -17,13 +17,10 @@ def confirm_email(request, uuid): confirmation = get_object_or_404(EmailConfirmation, uuid=uuid) if confirmation.is_expired(): - return render(request, 'confirmation_expired.html', {'email': confirmation.email}) + return render(request, 'accounts/confirmation_expired.html', {'email': confirmation.email}) task = create_document_for_organization.delay(confirmation.email) - print(f"Task ID: {task.id}") - - - return HttpResponse("Email is confirmed") + return render(request, 'accounts/confirmation_success.html', {'email': confirmation.email}) def resend_confirmation(request,email): if request.method == 'POST': diff --git a/backend/core/management/commands/import_template.py b/backend/core/management/commands/import_template.py index d055293..20074f8 100644 --- a/backend/core/management/commands/import_template.py +++ b/backend/core/management/commands/import_template.py @@ -1,5 +1,6 @@ import yaml from django.core.management.base import BaseCommand +from django.template import Template, Context from backend.core.models import DocumentTemplate class Command(BaseCommand): @@ -13,7 +14,6 @@ class Command(BaseCommand): with open(yaml_file_path, 'r') as file: content = file.read() - yaml_data = yaml.safe_load(content) DocumentTemplate.objects.update_or_create( name="Default Template", diff --git a/backend/core/templates/document.html b/backend/core/templates/document.html index f1ec85c..1fa2cc1 100644 --- a/backend/core/templates/document.html +++ b/backend/core/templates/document.html @@ -2,35 +2,13 @@ {% block content %}
-
-

{{ organization.name }}

-
-

Created: {{ document.created_at|date:"F j, Y" }}

-

Last modified: {{ document.modified_at|date:"F j, Y" }}

-
-
- -
- {% for segment in segments %} - {% if segment.segment_type == 'title' %} -

{{ segment.content }}

- {% elif segment.segment_type == 'subtitle' %} -

{{ segment.content }}

- {% elif segment.segment_type == 'h1' %} -

{{ segment.content }}

- {% elif segment.segment_type == 'h2' %} -

{{ segment.content }}

- {% elif segment.segment_type == 'h3' %} -

{{ segment.content }}

- {% elif segment.segment_type == 'quote' %} -
{{ segment.content }}
- {% else %} -

{{ segment.content }}

- {% endif %} - {% endfor %} -
-
+ {% if error %} +

{{ error }}

+ {% endif %} +
+ {{ rendered_html|safe }} +