This commit is contained in:
@@ -1,4 +1,6 @@
|
|||||||
from django.http import HttpResponse
|
from django.http import HttpResponse
|
||||||
|
from django.views.decorators.http import require_POST
|
||||||
|
#from django.contrib.auth.decorators import login_required # optional but recommended
|
||||||
|
|
||||||
def trigger_my_action(request):
|
def trigger_my_action(request):
|
||||||
# 1. Run your Django module/function
|
# 1. Run your Django module/function
|
||||||
@@ -6,4 +8,26 @@ def trigger_my_action(request):
|
|||||||
print('here')
|
print('here')
|
||||||
# 2. Return ONLY the HTML fragment you want to show on the page
|
# 2. Return ONLY the HTML fragment you want to show on the page
|
||||||
# This will replace the content inside the "hx-target" div
|
# This will replace the content inside the "hx-target" div
|
||||||
return HttpResponse("Done!")
|
return HttpResponse("Done!")
|
||||||
|
|
||||||
|
|
||||||
|
#@login_required
|
||||||
|
@require_POST
|
||||||
|
def change_schedule(request):
|
||||||
|
# HTMX sends these via standard POST data
|
||||||
|
schedule_id = request.POST.get('schedule_id')
|
||||||
|
server_name = request.POST.get('server_name')
|
||||||
|
|
||||||
|
if not schedule_id or not server_name:
|
||||||
|
return HttpResponse("<span style='color: red;'>Missing parameters.</span>", status=400)
|
||||||
|
|
||||||
|
try:
|
||||||
|
# --- Your Core Logic Here ---
|
||||||
|
# e.g., Server.objects.filter(name=server_name).update(schedule_id=schedule_id)
|
||||||
|
print(f"Updating {server_name} to schedule profile {schedule_id}")
|
||||||
|
|
||||||
|
# Return a success message that will instantly inject into the server's status div
|
||||||
|
return HttpResponse("<span style='color: green;'>✓ Updated successfully!</span>")
|
||||||
|
|
||||||
|
except Exception as e:
|
||||||
|
return HttpResponse(f"<span style='color: red;'>Error: {str(e)}</span>", status=500)
|
||||||
Reference in New Issue
Block a user