{% extends 'base_with_nav.html' %} {% load static %} {% block head %} <link rel='stylesheet' href="{% static 'css/index.css' %}"> <script> function checkFlag(challenge_id) { $.ajax({ type : 'POST', url: "{% url 'main:validate_flag' %}", data: { csrfmiddlewaretoken: '{{ csrf_token }}', dataType: 'json', challenge_id: challenge_id, flag: $("#" + challenge_id).val(), }, success: function(data) { if (data.result == "success") { $("#box" + challenge_id).removeClass("available").addClass("completed"); } else { $("#" + challenge_id).css("background-color", "red"); } }, failure: function() { $("#" + challenge_id).css("background-color", "red"); } }); } </script> {% endblock %} {% block main %} <h1 class="border-bottom p-md-2">Fall Hoco Scavenger Hunt 2021</h1> {% for category, challenges in categories.values %} <div class="col"> <div class="row"> <h1 class="ml-3">{{ category.name }}</h1> <p style="cursor: pointer;" onclick="document.getElementById('c-{{ category.id }}').style.display = document.getElementById('c-{{ category.id }}').style.display === 'none' ? 'flex' : 'none'" class="ml-auto mr-3 btn btn-primary">toggle</p> </div> <div class="row"> <p class="ml-2 font-italic">{{category.description}}</p> </div> <div id="c-{{ category.id }}" class='row'> {% for challenge, status in challenges.items %} {% if status.0.unblocked %} <a href="#" class='col-lg-3 col-md-4 col-sm-6 col-xs-12'> <div id="box{{ status.0.id }}" class="box {% if status.1 == 'available' %}available{% elif status.1 == 'completed' %}completed{% else %}locked{% endif %} p-3"> <div class="centered-div"> <h4>{{ status.0.name }}</h4> <p>Points: {{ status.0.points }}</p> </div> <div class="{% if status.1 == 'completed' %}center{% else %}left{% endif %}-div"> {% if status.0.exclusive %} <p>This challenge's points are only available to the first class to complete it.</p> <p>{{ status.0.short_description }}</p> {% elif status.1 == 'locked' %} <p>This challenge was exclusive and has already been completed by another class.</p> {% elif status.1 == 'completed' %} <h3>Solved!</h3> {% else %} <p>{{ status.0.short_description }}</p> {% endif %} </div> {% if status.1 == 'available' %} <hr> <input type="text" id="{{ status.0.id }}" placeholder="Enter the flag here"/> <input type="submit" value="Submit" onclick="checkFlag({{ status.0.id }})" /> {% endif %} </div> {% else %} <div class='col-lg-3 col-md-4 col-sm-6 col-xs-12'> <div id="box{{ status.0.id }}" class="box locked p-3"> <div class="centered-div"> <h4>{{ status.0.name }}</h4> <p>Points: {{ status.0.points }}</p> </div> <div class="centered-div"> <p>This challenge is currently unavailable.</p> </div> </div> </div> {% endif %} {% endfor %} </div> </div> {% endfor %} </div> {% endblock %}