forked from enviPath/enviPy
Implementing a search modal (stretching the level of dynamic that is possible without going to frameworks). ## Major Change - Search needs packages and is available everywhere now; so had to add reviewed and user packages to global context. Co-authored-by: Tim Lorsbach <tim@lorsba.ch> Reviewed-on: enviPath/enviPy#185 Co-authored-by: Tobias O <tobias.olenyi@envipath.com> Co-committed-by: Tobias O <tobias.olenyi@envipath.com>
33 lines
891 B
Python
33 lines
891 B
Python
"""
|
|
Context processors for enviPy application.
|
|
|
|
Context processors automatically make variables available to all templates.
|
|
"""
|
|
|
|
from .logic import PackageManager
|
|
from .models import Package
|
|
|
|
|
|
def package_context(request):
|
|
"""
|
|
Provides package data for the search modal which is included globally
|
|
in framework_modern.html.
|
|
|
|
Returns:
|
|
dict: Context dictionary with reviewed and unreviewed packages
|
|
"""
|
|
current_user = request.user
|
|
|
|
reviewed_package_qs = PackageManager.get_reviewed_packages()
|
|
|
|
unreviewed_package_qs = Package.objects.none()
|
|
|
|
# Only get user-specific packages if user is authenticated
|
|
if current_user.is_authenticated:
|
|
unreviewed_package_qs = PackageManager.get_all_readable_packages(current_user)
|
|
|
|
return {
|
|
"reviewed_packages": reviewed_package_qs,
|
|
"unreviewed_packages": unreviewed_package_qs,
|
|
}
|