Files
jobs/web/templates/base.html
zwitschi 2185a07ff0
Some checks failed
CI/CD Pipeline / test (push) Failing after 4m9s
feat: Implement email sending utilities and templates for job notifications
- Added email_service.py for sending emails with SMTP configuration.
- Introduced email_templates.py to render job alert email subjects and bodies.
- Enhanced scraper.py to extract contact information from job listings.
- Updated settings.js to handle negative keyword input validation.
- Created email.html and email_templates.html for managing email subscriptions and templates in the admin interface.
- Modified base.html to include links for email alerts and templates.
- Expanded user settings.html to allow management of negative keywords.
- Updated utils.py to include functions for retrieving negative keywords and email settings.
- Enhanced job filtering logic to exclude jobs containing negative keywords.
2025-11-28 18:15:08 +01:00

50 lines
1.8 KiB
HTML

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>{{ title }}</title>
<meta name="csrf-token" content="{{ csrf_token() }}" />
<link
rel="stylesheet"
href="{{ url_for('static', filename='styles.css') }}"
/>
{% block styles %}{% endblock %} {% block scripts %}{% endblock %}
</head>
<body>
{% block header %}
<header>
<h1><a href="/">{{ title or 'Admin' }}</a></h1>
<nav>
<div id="navigation">
{% if username %}<span>Hi, {{ username }}</span> | {% endif %}
<a href="{{ url_for('index') }}">Home</a> |
<a href="{{ url_for('user_settings') }}">Preferences</a>
{% if current_user and current_user.is_admin %} |
<a href="{{ url_for('scrape_page') }}">Scrape Jobs</a> |
<a href="{{ url_for('admin_taxonomy') }}">Taxonomy</a> |
<a href="{{ url_for('admin_stats') }}">Statistics</a> |
<a href="{{ url_for('admin_emails') }}">Email Alerts</a> |
<a href="{{ url_for('admin_email_templates') }}">Email Templates</a> |
<a href="{{ url_for('admin_users') }}">Users</a> {% endif %} {% if
session.get('username') %} |
<a href="{{ url_for('logout') }}">Logout</a> {% else %} |
<a href="{{ url_for('login') }}">Login</a>{% endif %}
</div>
</nav>
{% with messages = get_flashed_messages() %} {% if messages %}
<ul>
{% for m in messages %}
<li>{{ m }}</li>
{% endfor %}
</ul>
{% endif %} {% endwith %}
</header>
{% endblock %} {% block content %}{% endblock %}
<footer>
<p>&copy; 2025 Job Listings</p>
</footer>
{% block footer_scripts %}{% endblock %}
</body>
</html>