Scenario Import + Gitea PR Test (#1)

Co-authored-by: Tim Lorsbach <tim@lorsba.ch>
Reviewed-on: enviPath/enviPy#1
This commit is contained in:
2025-06-24 23:56:45 +12:00
parent 843e8e6f07
commit 7c3bc69b38
4 changed files with 66 additions and 33 deletions

View File

@ -1007,35 +1007,44 @@ def package_pathway_node(request, package_uuid, pathway_uuid, node_uuid):
# # pass
# #
# #
# # https://envipath.org/package/<id>/scenario
# def package_scenarios(request, package_id):
# current_user = _anonymous_or_real(request)
#
# if request.method == 'GET':
# context = get_base_context(request)
# current_package = PackageManager.get_package_by_id(current_user, package_id)
# context['meta']['current_package'] = current_package
# context['object_type'] = 'scenario'
#
# reviewed_scenario_qs = Scenario.objects.none()
# unreviewed_scenario_qs = Scenario.objects.none()
#
# current_package = PackageManager.get_package_by_id(current_user, package_id)
# if current_package.reviewed:
# reviewed_scenario_qs = Scenario.objects.filter(package=current_package).order_by('name')
# else:
# unreviewed_scenario_qs = Scenario.objects.filter(package=current_package).order_by('name')
#
# context['reviewed_objects'] = reviewed_scenario_qs
# context['unreviewed_objects'] = unreviewed_scenario_qs
#
# return render(request, 'collections/objects_list.html', context)
# #
# #
# # # https://envipath.org/package/<id>/scenario/<id>
# # def package_scenario(request, package_id, scenario_id):
# # pass
# https://envipath.org/package/<id>/scenario
def package_scenarios(request, package_uuid):
current_user = _anonymous_or_real(request)
current_package = PackageManager.get_package_by_id(current_user, package_uuid)
if request.method == 'GET':
context = get_base_context(request)
context['title'] = f'enviPath - {current_package.name} - Scenarios'
context['meta']['current_package'] = current_package
context['object_type'] = 'scenario'
context['breadcrumbs'] = breadcrumbs(current_package, 'pathway')
reviewed_scenario_qs = Scenario.objects.none()
unreviewed_scenario_qs = Scenario.objects.none()
if current_package.reviewed:
reviewed_scenario_qs = Scenario.objects.filter(package=current_package).order_by('name')
else:
unreviewed_scenario_qs = Scenario.objects.filter(package=current_package).order_by('name')
if request.GET.get('all'):
return JsonResponse({
"objects": [
{"name": pw.name, "url": pw.url, "reviewed": current_package.reviewed}
for pw in (reviewed_scenario_qs if current_package.reviewed else unreviewed_scenario_qs)
]
})
context['reviewed_objects'] = reviewed_scenario_qs
context['unreviewed_objects'] = unreviewed_scenario_qs
return render(request, 'collections/objects_list.html', context)
# https://envipath.org/package/<id>/scenario/<id>
def package_scenario(request, package_uuid, scenario_uuid):
pass
### END UNTESTED