Files
edx-platform/lms/templates/manage_user_standing.html
2021-12-16 13:22:40 +05:00

118 lines
4.2 KiB
HTML

<%page expression_filter="h"/>
<%inherit file="main.html" />
<%!
from django.urls import reverse
from django.utils.translation import gettext as _
from openedx.core.djangolib.js_utils import js_escaped_string
%>
<h2>${_("Manage student accounts")}</h2>
<form action="${reverse('disable_account_ajax')}" method="post" data-remote="true" class="manage-accounts-form">
<label for="username">${_("Username:")}</label>
<input type="text" id="username" name="username" required="true">
<br>
<br>
<h3>${_("Profile:")}</h3>
<label for="profile-image">${_("Image:")}</label>
<img id="profile-image">
<br>
<label for="profile-name">${_("Name:")}</label>
<span id="profile-name"></span>
<br>
<br>
<h3>${_("Choose an action:")}</h3>
<label for="disable_action">${_("View Profile")}</label>
<input type="radio" name="account_action" value="" id="view_profile_action" checked="checked">
<br>
<label for="disable_action">${_("Disable Account")}</label>
<input type="radio" name="account_action" value="disable" id="disable_action">
<br>
<label for="reenable_action">${_("Reenable Account")}</label>
<input type="radio" name="account_action" value="reenable" id="reenable_action">
<br>
<label for="remove_profile_image_action">${_("Remove Profile Image")}</label>
<input type="radio" name="account_action" value="remove_profile_image" id="remove_profile_image_action"">
<br>
<br>
<button type="submit">${_("Submit")}</button>
</form>
<p class="account-change-status"></p>
<h2>${_("Students whose accounts have been disabled")}</h2>
<p>${_("(reload your page to refresh)")}</p>
<table id="account-table" border='1'>
<tr>
% for header in headers:
<th>${header}</th>
% endfor
</tr>
% for row in rows:
<tr>
% for cell in row:
<td>${cell}</td>
% endfor
</tr>
% endfor
</table>
<%
PLACEHOLDER_USERNAME = '__PLACEHOLDER_USERNAME'
%>
<script type="text/javascript">
$(function() {
var form = $(".manage-accounts-form"),
profileUrl = "${reverse('accounts_api', kwargs={'username': PLACEHOLDER_USERNAME}) | n, js_escaped_string}",
removeProfileUrl = "${reverse('profile_image_remove', kwargs={'username': PLACEHOLDER_USERNAME}) | n, js_escaped_string}",
refreshProfile;
refreshProfile = function(username) {
return $.ajax({
type: "GET",
url: profileUrl.replace('${PLACEHOLDER_USERNAME | n, js_escaped_string}', username),
success: function(response) {
var imageUrl = response["profile_image"]["image_url_medium"];
$("#profile-image", form).attr("src", imageUrl);
$("#profile-image", form).attr("src", imageUrl);
$("#profile-name", form).text(response["name"]);
$("#view_profile_action", form).attr('checked', 'checked');
$("#view_profile_action", form).focus();
}
});
};
form.submit(function(event) {
event.preventDefault();
var username = $('#username', form).val(),
action = $("input:radio[name=account_action]:checked", form).val();
if (action === 'remove_profile_image') {
$(".account-change-status").text("${_('working') | n, js_escaped_string}");
$.ajax({
type: "POST",
url: removeProfileUrl.replace('${PLACEHOLDER_USERNAME | n, js_escaped_string}', username),
success: function(response) {
refreshProfile(username).always(function() {
$("#profile-image", form).focus();
$(".account-change-status").html("");
})
}
});
} else if (action) {
$(".account-change-status").text("${_('working') | n, js_escaped_string}");
$.ajax({
type: "POST",
url: form.attr('action'),
data: form.serialize(),
success: function(response) {
$(".account-change-status").text(response.message);
}
});
} else {
refreshProfile(username);
}
});
});
</script>