blob: dc09db16e15a9f81c24ce68e2a99c56d94030bf1 [file] [log] [blame]
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
{% extends "base.html" %}
{% load static %}
{% block head %}
<link rel="stylesheet" href="{% static "css/product.css" %}">
{% endblock %}
{% block body %}
<!-- Hosted product from XDATA team -->
<div id="content" style="overflow:hidden">
<iframe id="iframe" width="100%" height="100%" frameborder="0" src="{{product_url}}"></iframe>
</div>
<!-- OT menu for access to task questions -->
<div id="ot_menu" class="ot-show">
<div id="open-close" class="open-close" onclick="toggle();">
<span class="glyphicon glyphicon-chevron-down"></span>
Task Menu
</div>
<div class="ot-container">
<button id="open-task-button" class="btn btn-primary ot-open-btn" data-toggle="modal" data-target="#myModal">
Open Task
</button>
{% if user.userprofile.experiment.timed %}
<div class="timer">
<div class="time"><span id="minutes"></span>:<span id="seconds"></span></div>
<p>until task end</p>
</div>
{% else %}
<div class="timer">
<div class="time">--</div>
</div>
{% endif %}
<!-- calls product in views.py -->
<form id="task-complete" method="post" action="{% url 'op_tasks:product' task_pk %}">
{% csrf_token %}
<button id="task-complete-button" class="btn btn-danger ot-open-btn" type="submit">
Quit Task
</button>
</form>
</div>
</div>
<!-- Modal dialog for OT form -->
<!-- why is scope not a problem here? -->
<div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hide="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-body" id="surveymonkeyframe">
<iframe name="ot-dialog" src="{{op_task.survey_url}}?sid={{user.userprofile.user_hash}}" width="1100px" height="500px"> </iframe>
</div>
<div class="modal-footer">
<button id="hide-button" class="btn btn-lg btn-block btn-primary" data-dismiss="modal">
Hide Task Form
</button>
</div>
</div>
</div>
</div>
<script src="{% static "javascript/draper.activity_logger-2.1.1.js" %}"></script>
<script>
// web worker url
var worker = "{% static "javascript/draper.activity_worker-2.1.1.js" %}"
var ac = new activityLogger(worker)
.testing(false) // simulate POST, won't send log
.echo(true) // log to console
.mute(['SYS']); // don't log SYSTEM actions
</script>
<script src="{% static "javascript/task_logging.js" %}"></script>
<script src="{% static "javascript/product.js" %}"></script>
{% if user.userprofile.experiment.timed %}
<div id="timerdiv">
<form id="timerblock">
{% csrf_token %}
<script>
var myVar = setInterval(function(){myTimer()},1000);
var time = {{user.userprofile.experiment.task_length}}*60;
function myTimer() {
time = time - 1;
minutes = parseInt(time / 60);
seconds = time % 60;
document.getElementById("minutes").innerHTML = pad(minutes);
document.getElementById("seconds").innerHTML = pad(seconds);
}
function pad(n) {return (n<10) ? ("0"+n) : n;}
var redirect = function(url, method) {
var form = document.getElementById('timerblock');
form.method = method;
form.action = url;
form.submit();
};
setTimeout('redirect("{% url 'op_tasks:product' task_pk %}", "post")', 1000*60*{{user.userprofile.experiment.task_length}});
</script>
</form>
</div>
{% endif %}
{% endblock %}