blob: ede345f33886206ed014bae807d265af44425c3c [file] [log] [blame]
{% extends "skeleton.html" %}
{% block page_title %}XMPP Viewer{% endblock %}
{% block page_head %}
<style type="text/css">{% include "xmpp.css" %}</style>
{% endblock %}
{% block body %}
<div id="xmpp">
<h3>XMPP</h3>
<div id="xmpp-feedback"></div>
<form id="xmpp-form" action="/xmpp" method="post">
<div class="ae-settings-block ae-settings-block-segment">
<label>Message type</label>
<fieldset>
<div class="radio">
<input type="radio" name="message_type" id="message-type-chat" value="chat" checked="checked">
<label for="message-type-chat">Chat message</label>
</div>
<div class="radio">
<input type="radio" name="message_type" id="message-type-presence" value="presence">
<label for="message-type-presence">Presence</label>
</div>
<div class="radio">
<input type="radio" name="message_type" id="message-type-subscribe" value="subscribe">
<label for="message-type-subscribe">Subscription</label>
</div>
</fieldset>
</div>
<div class="ae-settings-block">
<label for="from">From</label>
<input type="text" id="from" name="from" size="40">
</div>
<div class="ae-settings-block">
<label for="to">To</label>
<input type="text" id="to" name="to" size="40">
</div>
<div id="chat-fields" class="ae-settings-block">
<label for="chat">Chat (plain text)</label>
<textarea id="chat" name="chat" rows="10" cols="50"></textarea>
</div>
<div id="presence-fields" style="display: none" class="ae-settings-block">
<label>Status</label>
<fieldset>
<div class="radio">
<input type="radio" id="presence-online" name="presence" value="online" checked>
<label for="presence-online">Available</label>
</div>
<div class="radio">
<input type="radio" id="presence-offline" name="presence" value="offline">
<label for="presence-offline">Unavailable</label>
</div>
</fieldset>
</div>
<div id="subscribe-fields" style="display: none" class="ae-settings-block">
<label>Notification Type</label>
<fieldset>
<div class="radio">
<input type="radio" id="subscribe-subscribe" name="subscribe" value="subscribe" checked>
<label for="subscribe-subscribe">Subscribe initiated (subscribe)</label>
</div>
<div class="radio">
<input type="radio" id="subscribe-subscribed" name="subscribe" value="subscribed">
<label for="subscribe-subscribed">Subscribe confirmed (subscribed)</label>
</div>
<div class="radio">
<input type="radio" id="subscribe-unsubscribe" name="subscribe" value="unsubscribe">
<label for="subscribe-unsubscribe">Unsubscribe initiated (unsubscribe)</label>
</div>
<div class="radio">
<input type="radio" id="subscribe-unsubscribed" name="subscribe" value="unsubscribed">
<label for="subscribe-unsubscribed">Unsubscribe confirmed (unsubscribed)</label>
</div>
</fieldset>
</div>
<div id="xmpp-submit">
<input type="submit" class="ae-button ae-button-submit" value="Make Request">
</div>
</form>
<script>
$("#message-type-chat, #message-type-presence, #message-type-subscribe").change(function() {
if ($("#message-type-chat").prop("checked")) {
$("#chat-fields").show();
$("#presence-fields").hide();
$("#subscribe-fields").hide();
} else if ($("#message-type-presence").prop("checked")) {
$("#chat-fields").hide();
$("#presence-fields").show();
$("#subscribe-fields").hide();
} else if ($("#message-type-subscribe").prop("checked")) {
$("#chat-fields").hide();
$("#presence-fields").hide();
$("#subscribe-fields").show();
}
});
$('#xmpp-form').submit(function() {
var data = {'from': $('#from').val(), 'to': $('#to').val(),
'xsrf_token': '{{ xsrf_token }}' };
if ($("#message-type-chat").prop("checked")) {
data['message_type'] = 'chat';
data['chat'] = $('#chat').val();
} else if ($("#message-type-presence").prop("checked")) {
data['message_type'] = 'presence';
if ($("#presence-online").prop("checked")) {
data['presence'] = "available";
} else {
data['presence'] = "unavailable";
}
} else if ($("#message-type-subscribe").prop("checked")) {
data['message_type'] = 'subscribe';
if ($("#subscribe-subscribe").prop("checked")) {
data['subscription_type'] = "subscribe";
} else if ($("#subscribe-subscribed").prop("checked")) {
data['subscription_type'] = "subscribed";
} else if ($("#subscribe-unsubscribe").prop("checked")) {
data['subscription_type'] = "unsubscribe";
} else {
data['subscription_type'] = "unsubscribed";
}
}
var request = $.ajax({
url: 'xmpp',
type: 'POST',
data: data
})
.done(function() {
$('#xmpp-feedback').removeClass().addClass('messagebox').text(
'Request succeeded!');
})
.fail(function(xhr, textStatus) {
$('#xmpp-feedback').removeClass().addClass('errorbox').text(
'Request failured with status: ' + request.status);
});
return false;
});
</script>
</div>
{% endblock %}