openpulsesec_web/app/routes.py
Cipher Vance 7d8bab3b8f feat: Add route for Open Source Compliance page
Added a new route `/oss-compliance` that renders the
`oss_compliance.html` template
2025-07-23 11:14:55 -05:00

95 lines
No EOL
2.7 KiB
Python

from flask import Blueprint, render_template, request, flash, redirect, url_for
import smtplib
from email.mime.text import MIMEText
from dotenv import load_dotenv
import os
load_dotenv()
main = Blueprint('main', __name__)
@main.route('/')
def index():
return render_template('index.html')
@main.route('/services')
def services():
return render_template('services.html')
@main.route('/pricing')
def pricing():
return render_template('pricing.html')
@main.route('/solutions')
def solutions():
return render_template('solutions.html')
@main.route('/oss-compliance')
def oss_compliance():
return render_template('oss_compliance.html')
@main.route('/about')
def about():
return render_template('about.html')
@main.route('/privacy-policy')
def privacy_policy():
return render_template('privacy.html')
@main.route('/terms-of-service')
def terms_of_service():
return render_template('termsofservice.html')
@main.route('/careers')
def careers():
return render_template('careers.html')
def send_email(subject, body, recipient):
"""Sends email, returns True on success, False on failure."""
try:
smtp_server = os.getenv('SMTP_SERVER')
smtp_port = int(os.getenv('SMTP_PORT'))
smtp_user = os.getenv('SMTP_USER')
smtp_password = os.getenv('SMTP_PASSWORD')
sender_email = smtp_user
server = smtplib.SMTP_SSL(smtp_server, smtp_port, timeout=10)
server.set_debuglevel(False)
server.login(smtp_user, smtp_password)
msg = MIMEText(body, "plain", "utf-8")
msg["Subject"] = subject
msg["From"] = sender_email
msg["To"] = recipient
server.sendmail(sender_email, recipient, msg.as_string())
server.quit()
return True
except Exception as e:
return False
@main.route('/contact', methods=['GET', 'POST'])
def contact():
if request.method == 'POST':
name = request.form.get('name')
email = request.form.get('email')
message = request.form.get('message')
if not name or not email or not message:
flash('Please fill out all fields.', 'error')
return redirect(url_for('main.contact'))
subject = f"New Contact Form Submission from {name}"
body = f"Name: {name}\nEmail: {email}\nMessage: {message}"
recipient_email = os.getenv('SENDER_EMAIL')
if send_email(subject, body, recipient_email):
flash('Your message has been sent! We will get back to you soon.', 'success')
else:
flash('An error occurred while sending your message. Please try again later.', 'error')
return redirect(url_for('main.contact'))
return render_template('contact.html')