diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..ad516dd --- /dev/null +++ b/.gitignore @@ -0,0 +1,59 @@ +# Byte-compiled / optimized / DLL files +__pycache__/ +*.pyc +*.pyd +*.pyo + +# C extensions +*.so + +# Distribution / packaging +.Python +build/ +develop-eggs/ +dist/ +eggs/ +lib/ +lib64/ +parts/ +sdist/ +var/ +*.egg-info/ +.installed.cfg +*.egg + +# Django stuff: +*.log +*.pot +*.sqlite3 +local_settings.py +db.sqlite3 + +# Virtual environment +venv/ +env/ + +# IDE files +.idea/ +.vscode/ +*.swp +*.bak +*.swo + +# OS generated files +.DS_Store +Thumbs.db + +# Testing +.tox/ +.coverage +.pytest_cache/ +htmlcov/ + +# Media and Static files (if served locally and not meant for version control) +media/ +static/ + +# Deployment files +*.tar.gz +*.zip \ No newline at end of file diff --git a/NorahUniversity/__pycache__/settings.cpython-312.pyc b/NorahUniversity/__pycache__/settings.cpython-312.pyc index 6946313..99c93be 100644 Binary files a/NorahUniversity/__pycache__/settings.cpython-312.pyc and b/NorahUniversity/__pycache__/settings.cpython-312.pyc differ diff --git a/NorahUniversity/settings.py b/NorahUniversity/settings.py index 5e75a2d..962943d 100644 --- a/NorahUniversity/settings.py +++ b/NorahUniversity/settings.py @@ -206,4 +206,11 @@ CORS_ALLOW_CREDENTIALS = True # Celery + Redis for long running background i will be using it CELERY_BROKER_URL = 'redis://127.0.0.1:6379/0' -CELERY_RESULT_BACKEND = 'redis://127.0.0.1:6379/0' \ No newline at end of file +CELERY_RESULT_BACKEND = 'redis://127.0.0.1:6379/0' + + + + +LINKEDIN_CLIENT_ID = '867jwsiyem1504' +LINKEDIN_CLIENT_SECRET = 'WPL_AP1.QNH5lYnfRSQpp0Qp.GO8Srw==' +LINKEDIN_REDIRECT_URI = 'http://127.0.0.1:8000/jobs/linkedin/callback/' diff --git a/db.sqlite3 b/db.sqlite3 index 736bcc0..064b297 100644 Binary files a/db.sqlite3 and b/db.sqlite3 differ diff --git a/recruitment/__pycache__/signals.cpython-312.pyc b/recruitment/__pycache__/signals.cpython-312.pyc index c8f2950..0af7a5b 100644 Binary files a/recruitment/__pycache__/signals.cpython-312.pyc and b/recruitment/__pycache__/signals.cpython-312.pyc differ diff --git a/recruitment/__pycache__/views_frontend.cpython-312.pyc b/recruitment/__pycache__/views_frontend.cpython-312.pyc index 339a41a..7ee2519 100644 Binary files a/recruitment/__pycache__/views_frontend.cpython-312.pyc and b/recruitment/__pycache__/views_frontend.cpython-312.pyc differ diff --git a/recruitment/signals.py b/recruitment/signals.py index 073a12c..69f2b2d 100644 --- a/recruitment/signals.py +++ b/recruitment/signals.py @@ -24,8 +24,8 @@ import asyncio @receiver(post_save, sender=models.Candidate) def score_candidate_resume(sender, instance, created, **kwargs): # Skip if no resume or OpenRouter not configured - if instance.resume is None: - return + if instance.resume: + return if kwargs.get('update_fields') is not None: return diff --git a/recruitment/views_frontend.py b/recruitment/views_frontend.py index 5f7b0db..353f5c9 100644 --- a/recruitment/views_frontend.py +++ b/recruitment/views_frontend.py @@ -214,9 +214,7 @@ def candidate_detail(request, slug): }) def candidate_update_stage(request, slug): - """Handle HTMX stage update requests""" - from time import sleep - sleep(5) + """Handle HTMX stage update requests""" try: if not request.user.is_staff: return render(request, 'recruitment/partials/error.html', {'error': 'Permission denied'}, status=403) diff --git a/templates/base.html b/templates/base.html index 1897f5a..21eeb6b 100644 --- a/templates/base.html +++ b/templates/base.html @@ -1,159 +1,16 @@ -{% comment %} {% load static i18n %} +{% load i18n static %} - +
-