initial: bootstrap from BukidBountyApp base
This commit is contained in:
88
legacy/pages-html/slvl/adminpages/btreader
Normal file
88
legacy/pages-html/slvl/adminpages/btreader
Normal file
@@ -0,0 +1,88 @@
|
||||
|
||||
<script src="dist/js/html5-qrcode.min.js"></script>
|
||||
<br><br>
|
||||
|
||||
<div class="card" id="secondary-card">
|
||||
<div class="card-header ui-sortable-handle" style="cursor: move; display: none;">
|
||||
<h3 class="card-title"></h3>
|
||||
<div class="card-tools"></div>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
|
||||
<div class="row card-body d-flex align-items-center w-100">
|
||||
<div class="w-100" style="width: 500px" id="reader"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card" id="third-card" style="display: none;">
|
||||
<div class="card-header ui-sortable-handle" style="cursor: move; ">
|
||||
<h3 class="card-title">Details</h3>
|
||||
<div class="card-tools"></div>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
|
||||
<div class="row card-body" id="TransactionDetails">
|
||||
|
||||
<div class="col-12 d-flex align-items-center w-100" id="qrreader_bt_type"></div>
|
||||
<div class="col-12 w-100" id="qrreader_bt_date"></div>
|
||||
<div class="col-12" id="qrreader_bt_schedule"></div>
|
||||
<div class="col-12" id="qrreader_bt_numbers"></div>
|
||||
<div class="col-12" id="qrreader_bt_status"></div>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
function getbtqrdetails(response){
|
||||
console.log(response);
|
||||
if (!response){
|
||||
$('#third-card').hide();
|
||||
return false;}
|
||||
|
||||
$('#TransactionDetails').empty();
|
||||
|
||||
let htmltransactiondetailsappend= '';
|
||||
response.forEach(element => {
|
||||
let bet_type = bet_types[element.bet_type];
|
||||
console.log(element);
|
||||
htmltransactiondetailsappend+=
|
||||
|
||||
`<div class="col-12 d-flex align-items-center w-100" id="qrreader_bt_type"><h2>${bet_type}</h2></div>
|
||||
<div class="col-12 w-100" id="qrreader_bt_date"><h3>DATE: ${element.bet_date}</h3></div>
|
||||
<div class="col-12" id="qrreader_bt_schedule"><h3>SCHEDULE: ${element.bet_schedule}</h3></div>
|
||||
<div class="col-12" id="qrreader_bt_numbers"><h3>NOs. ${element.bet_number}</h3></div>
|
||||
<div class="col-12" id="qrreader_bt_numbers"><h3>Amount: P${element.amount}</h3></div>
|
||||
<div class="col-12" id="qrreader_bt_status"></div><br><br><br><br>`;
|
||||
});
|
||||
|
||||
//$('#qrreader_bt_type').html(bet_type);
|
||||
//$('#qrreader_bt_date').html(response.bet_date);
|
||||
//$('#qrreader_bt_schedule').html(response.bet_schedule);
|
||||
//$('#qrreader_bt_numbers').html(response.bet_number);
|
||||
//$('#qrreader_bt_status').html(response.bet_result);
|
||||
$('#TransactionDetails').append(htmltransactiondetailsappend);
|
||||
|
||||
$('#third-card').fadeIn(200);
|
||||
|
||||
html5QrcodeScanner.clear();
|
||||
}
|
||||
|
||||
function getbrqrdetailsfail(response){
|
||||
//console.log(response);
|
||||
}
|
||||
|
||||
|
||||
function onScanSuccess(decodedText, decodedResult) {
|
||||
let scanresultqrcontent = decodedText;
|
||||
let dataright = { qrbtdetails : scanresultqrcontent };
|
||||
AjaxDo('?admin/qrbtdetails', dataright, getbtqrdetails, getbrqrdetailsfail, reqtype = 'POST');
|
||||
}
|
||||
|
||||
var html5QrcodeScanner = new Html5QrcodeScanner(
|
||||
"reader", { fps: 10, qrbox: 250 });
|
||||
html5QrcodeScanner.render(onScanSuccess);
|
||||
|
||||
</script>
|
||||
322
legacy/pages-html/slvl/adminpages/create_user
Normal file
322
legacy/pages-html/slvl/adminpages/create_user
Normal file
@@ -0,0 +1,322 @@
|
||||
<br><br>
|
||||
|
||||
<div class="card" id="secondary-card">
|
||||
<div class="card-header ui-sortable-handle" style="cursor: move; display: none;">
|
||||
<h3 class="card-title"></h3>
|
||||
<div class="card-tools"></div>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
|
||||
<div class="row card-body d-flex align-items-center w-100">
|
||||
|
||||
|
||||
|
||||
<div class="input-group mb-3">
|
||||
<input type="number" id="usernumber" class="form-control createuserinputfield" placeholder="Mobile Number" name="usernumber">
|
||||
</div>
|
||||
|
||||
<div class="input-group mb-3" style="" id="user-create-nickname-input-group">
|
||||
<input type="text" id="nickname" class="form-control createuserinputfield" placeholder="Nick Name" name="nickname">
|
||||
</div>
|
||||
|
||||
<div class="input-group mb-3" id="usertypecontrol" style="">
|
||||
<select class="form-control" id="usertype">
|
||||
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<div class="input-group mb-3" id="userparentcontrol" style="display:none;">
|
||||
<select class="form-control" id="userparent">
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<div class="input-group mb-3">
|
||||
<input type="password" class="form-control createuserinputfield" placeholder="Password" id="userpassword" name="userpassword">
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<div class="input-group mb-3">
|
||||
<input type="password" class="form-control createuserinputfield" placeholder="ConfirmPassword" id="userpasswordconfirm" name="userpasswordconfirm">
|
||||
|
||||
</div>
|
||||
|
||||
<div class="input-group mb-3">
|
||||
<button class="form-control btn-primary" id="RegisterNowButton" onclick="RegisterConfirmationPrompt();" style="display:none;">Register Now</button>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
var usernumberallowed = false;
|
||||
var usernicknameallowed = false;
|
||||
var normalpasswordallowed = false;
|
||||
var confirmpasswordallowed = false;
|
||||
|
||||
|
||||
window.hasValidMobileNumberFormat = function hasValidFormat(usernumber) {
|
||||
|
||||
const pattern = /^09\d{9}$/;
|
||||
return pattern.test(usernumber);
|
||||
}
|
||||
|
||||
function VerifyInitialPassword() {
|
||||
const userPassword = document.getElementById("userpassword").value;
|
||||
if (userPassword.length < 6) {
|
||||
changeSpantoInvalid('user-password');
|
||||
normalpasswordallowed = false;
|
||||
return false;
|
||||
}
|
||||
changeSpantoValid('user-password');
|
||||
normalpasswordallowed = true;
|
||||
return true;
|
||||
|
||||
}
|
||||
|
||||
function VerifyConfirmPassword() {
|
||||
const userPassword = document.getElementById("userpassword").value;
|
||||
const userPasswordConfirm = document.getElementById("userpasswordconfirm").value;
|
||||
|
||||
if (userPassword.length < 6 || userPasswordConfirm.length < 6) {
|
||||
changeSpantoInvalid('user-password-confirm');
|
||||
confirmpasswordallowed = false;
|
||||
return false;
|
||||
}
|
||||
if (userPassword !== userPasswordConfirm) {
|
||||
changeSpantoInvalid('user-password-confirm');
|
||||
confirmpasswordallowed = false;
|
||||
return false;
|
||||
}
|
||||
changeSpantoValid('user-password-confirm');
|
||||
changeSpantoValid('user-password');
|
||||
confirmpasswordallowed = true;
|
||||
return true;
|
||||
}
|
||||
|
||||
function changeSpantoInvalid(idtext) {
|
||||
$("#" + idtext + "-span").attr("class", "fas fa-times-circle");
|
||||
$("#" + idtext + "-input-group-text").attr("class", "input-group-text bg-danger");
|
||||
}
|
||||
|
||||
function changeSpantoValid(idtext) {
|
||||
$("#" + idtext + "-span").attr("class", "fas fa-check");
|
||||
$("#" + idtext + "-input-group-text").attr("class", "input-group-text bg-primary");
|
||||
}
|
||||
|
||||
|
||||
|
||||
function checkifUserExists() {
|
||||
|
||||
let usernumber = $('#usernumber').val();
|
||||
if (!window.hasValidMobileNumberFormat(usernumber)) {
|
||||
changeSpantoInvalid('mobile-number');
|
||||
usernumberallowed = false;
|
||||
return false;
|
||||
}
|
||||
|
||||
function CheckUser(response) {
|
||||
|
||||
if (response === true) {
|
||||
changeSpantoInvalid('mobile-number');
|
||||
usernumberallowed = false;
|
||||
return false;
|
||||
} else if (response === false) {
|
||||
changeSpantoValid('mobile-number');
|
||||
usernumberallowed = true;
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
AjaxDo('/admin/user/exists', {
|
||||
user_target: usernumber
|
||||
}, CheckUser, null, reqtype = 'POST');
|
||||
}
|
||||
|
||||
function checkifUserNickExists() {
|
||||
|
||||
let usernick = $('#nickname').val();
|
||||
|
||||
if (usernick===''){
|
||||
changeSpantoValid('nick-name');
|
||||
usernicknameallowed = true;
|
||||
SRegistrationValidateALLinputs();
|
||||
return;
|
||||
}
|
||||
|
||||
function CheckUserNick(response) {
|
||||
|
||||
if (response === true) {
|
||||
changeSpantoInvalid('nick-name');
|
||||
usernicknameallowed = false;
|
||||
SRegistrationValidateALLinputs();
|
||||
return false;
|
||||
} else if (response === false) {
|
||||
|
||||
changeSpantoValid('nick-name');
|
||||
usernicknameallowed = true;
|
||||
SRegistrationValidateALLinputs();
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
AjaxDo('/admin/user/nick/exists', {
|
||||
user_nick: usernick
|
||||
}, CheckUserNick, null, reqtype = 'POST');
|
||||
}
|
||||
|
||||
|
||||
|
||||
function SRegistrationValidateALLinputs() {
|
||||
if (usernumberallowed && normalpasswordallowed && confirmpasswordallowed && usernicknameallowed) {
|
||||
$('#RegisterNowButton').show();
|
||||
return true;
|
||||
} else {
|
||||
$('#RegisterNowButton').hide();
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
function RegisterConfirmationPrompt() {
|
||||
let modalid = "CreateUserConfirmationDialog";
|
||||
let modaltitle = 'Create New User?';
|
||||
let modalbody = 'Are you sure you want to Create a New User?';
|
||||
|
||||
let modalfooter = `<button type="button" class="btn btn-warning" data-dismiss="modal">Cancel</button>
|
||||
<button type="button" class="btn btn-danger" onclick="SregisterNow()" id="request-credit-now">Continue</button>`;
|
||||
|
||||
CreateAndShowModal(modalid, modaltitle, modalbody, modalfooter, modalfooterclose = false, topclosebutton = true, modalbodyclass = 'modal-body', modalheaderclass = 'modal-header');
|
||||
|
||||
}
|
||||
|
||||
function UserRegistrationSuccessModal() {
|
||||
let modalid = "CreateUserSuccessModal";
|
||||
let modaltitle = 'Success';
|
||||
let modalbody = 'User Created Successfully';
|
||||
|
||||
let modalfooter = `<button type="button" class="btn btn-primary" onclick="$('#CreateUserSuccessModal').modal('hide');ButtonGo('user_list',0);" id="request-credit-now">Ok</button>`;
|
||||
CreateAndShowModal(modalid, modaltitle, modalbody, modalfooter, modalfooterclose = false, topclosebutton = true, modalbodyclass = 'modal-body', modalheaderclass = 'modal-header');
|
||||
}
|
||||
|
||||
function UserRegistrationFailedModal() {
|
||||
let modalid = "CreateUserFailedModal";
|
||||
let modaltitle = 'Failed';
|
||||
let modalbody = 'Error Creating User. User was not created.';
|
||||
|
||||
let modalfooter = `<button type="button" class="btn btn-warning" data-dismiss="modal">Ok</button>`;
|
||||
CreateAndShowModal(modalid, modaltitle, modalbody, modalfooter, modalfooterclose = false, topclosebutton = true, modalbodyclass = 'modal-body', modalheaderclass = 'modal-header');
|
||||
}
|
||||
|
||||
|
||||
function UserRegistrationFailedModalErrorMessage(Message) {
|
||||
let modalid = "CreateUserFailedModalErrorMessage";
|
||||
let modaltitle = 'Failed';
|
||||
let modalbody = Message;
|
||||
|
||||
let modalfooter = `<button type="button" class="btn btn-warning" data-dismiss="modal">Ok</button>`;
|
||||
CreateAndShowModal(modalid, modaltitle, modalbody, modalfooter, modalfooterclose = false, topclosebutton = true, modalbodyclass = 'modal-body', modalheaderclass = 'modal-header');
|
||||
}
|
||||
|
||||
|
||||
function RePopulateParentList() {
|
||||
function UpdateSelectParentList(response) {
|
||||
const selectElement = $("#userparent"); // Select the element using jQuery
|
||||
|
||||
response.forEach(element => {
|
||||
|
||||
$("<option></option>")
|
||||
.val(element.hashkey)
|
||||
.text(element.mnumber)
|
||||
.appendTo(selectElement); // Create and append option with values
|
||||
});
|
||||
|
||||
|
||||
}
|
||||
|
||||
AjaxDo('/admin/user/list/numbers/hash', {}, UpdateSelectParentList, null, reqtype = 'POST');
|
||||
|
||||
}
|
||||
|
||||
function RePopulateUserTypeCreateUser() {
|
||||
function UpdateSelectUserTypeList(response) {
|
||||
const selectElement = $("#usertype"); // Select the element using jQuery
|
||||
selectElement.html('');
|
||||
response.forEach(element => {
|
||||
|
||||
$("<option></option>")
|
||||
.val(element[0])
|
||||
.text(element[1])
|
||||
.appendTo(selectElement); // Create and append option with values
|
||||
});
|
||||
|
||||
|
||||
}
|
||||
|
||||
AjaxDo('/admin/list/usertype/create', {}, UpdateSelectUserTypeList, null, reqtype = 'POST');
|
||||
|
||||
}
|
||||
|
||||
|
||||
function SregisterNow() {
|
||||
$('#CreateUserConfirmationDialog').modal('hide');
|
||||
|
||||
function RegisterNow(response) {
|
||||
console.log(response);
|
||||
if (response === true) {
|
||||
UserRegistrationSuccessModal();
|
||||
|
||||
} else if (response === false) {
|
||||
UserRegistrationFailedModal();
|
||||
} else {
|
||||
UserRegistrationFailedModalErrorMessage(response);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
AjaxDo('/admin/user/create', {
|
||||
user_number: $("#usernumber").val(),
|
||||
user_password: $("#userpassword").val(),
|
||||
user_nickname: $("#nickname").val(),
|
||||
user_type: $("#usertype").val(),
|
||||
user_parent: $("#userparent").val()
|
||||
}, RegisterNow, null, reqtype = 'POST');
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
$('#usernumber').keyup(function() {
|
||||
checkifUserExists();
|
||||
SRegistrationValidateALLinputs();
|
||||
});
|
||||
$('#nickname').keyup(function() {
|
||||
checkifUserNickExists();
|
||||
});
|
||||
$('#userpassword').keyup(function() {
|
||||
VerifyInitialPassword();
|
||||
SRegistrationValidateALLinputs();
|
||||
});
|
||||
$('#userpasswordconfirm').keyup(function() {
|
||||
VerifyConfirmPassword();
|
||||
SRegistrationValidateALLinputs();
|
||||
});
|
||||
$('.createuserinputfield').keyup(function() {
|
||||
SRegistrationValidateALLinputs();
|
||||
});
|
||||
|
||||
|
||||
|
||||
RePopulateUserTypeCreateUser();
|
||||
</script>
|
||||
151
legacy/pages-html/slvl/adminpages/disableuser
Normal file
151
legacy/pages-html/slvl/adminpages/disableuser
Normal file
@@ -0,0 +1,151 @@
|
||||
|
||||
<script>
|
||||
|
||||
function DisableUserButtonHtml(){return HomeMenuButtons('assets/disableuser.png', 'Disable', '','','45%', '45%','', buttononclick = 'DisableUser()', divclass = 'col-4','disableuserbuttondiv');}
|
||||
function EnableUserButtonHtml(){return HomeMenuButtons('assets/enable-user.png', 'Enable', '','','45%', '45%','', buttononclick = 'EnableUser()', divclass = 'col-4','disableuserbuttondiv');}
|
||||
$('#user_controls').append(DisableUserButtonHtml());
|
||||
//$('#user_controls').append(DisableUserButtonHtml());
|
||||
function ChangeToEnableUserButton() {
|
||||
// $('#disable_user_button').html('Enable<br>User');
|
||||
// $('#disable_user_button').attr("class", "btn btn-warning btn-block");
|
||||
// $('#disable_user_button').attr("onclick", "EnableUser()");
|
||||
// $('#disable_user_button').show();
|
||||
$('#disableuserbuttondiv').remove();
|
||||
$('#user_controls').append(EnableUserButtonHtml());
|
||||
}
|
||||
function ChangeToDisableUserButton() {
|
||||
// $('#disable_user_button').html('Disable<br>User');
|
||||
// $('#disable_user_button').attr("class", "btn btn-danger btn-block");
|
||||
// $('#disable_user_button').attr("onclick", "DisableUser()");
|
||||
// $('#disable_user_button').show();
|
||||
$('#disableuserbuttondiv').remove();
|
||||
$('#user_controls').append(DisableUserButtonHtml());
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
function ModalDisableSuccess() {
|
||||
let modalid = "DisableUserSuccessModal";
|
||||
let modaltitle = 'Sucess';
|
||||
let modalbody = 'User is now Disabled';
|
||||
|
||||
let modalfooter = ``;
|
||||
CreateAndShowModal(modalid, modaltitle, modalbody, modalfooter, modalfooterclose = true, topclosebutton = true, modalbodyclass = 'modal-body', modalheaderclass = 'modal-header');
|
||||
}
|
||||
|
||||
function ModalDisableFailed(response) {
|
||||
let modalid = "DisableUserFailedModal";
|
||||
let modaltitle = 'Failed';
|
||||
let modalbody = 'Unable to Disable User'.response;
|
||||
|
||||
let modalfooter = ``;
|
||||
CreateAndShowModal(modalid, modaltitle, modalbody, modalfooter, modalfooterclose = true, topclosebutton = true, modalbodyclass = 'modal-body bg-warning', modalheaderclass = 'modal-header');
|
||||
}
|
||||
|
||||
function ModalEnableSuccess(){
|
||||
let modalid = "EnableUserSuccessModal";
|
||||
let modaltitle = 'Sucess';
|
||||
let modalbody = 'User is now Enabled';
|
||||
|
||||
let modalfooter = ``;
|
||||
CreateAndShowModal(modalid, modaltitle, modalbody, modalfooter, modalfooterclose = true, topclosebutton = true, modalbodyclass = 'modal-body', modalheaderclass = 'modal-header');
|
||||
}
|
||||
function ModalEnableFailed(response){
|
||||
let modalid = "EnableUserFailedModal";
|
||||
let modaltitle = 'Failed';
|
||||
let modalbody = 'Unable to Enable User.<br>'.response;
|
||||
|
||||
let modalfooter = ``;
|
||||
CreateAndShowModal(modalid, modaltitle, modalbody, modalfooter, modalfooterclose = true, topclosebutton = true, modalbodyclass = 'modal-body bg-warning', modalheaderclass = 'modal-header');
|
||||
}
|
||||
|
||||
|
||||
function EnableUserNow() {
|
||||
|
||||
function TryToEnable(response) {
|
||||
$("#EnableUserConfirmationDialog").modal('hide');
|
||||
if (response===true) {
|
||||
ModalEnableSuccess();
|
||||
} else {
|
||||
ModalEnableFailed(response);
|
||||
}
|
||||
CheckIfUserActive();
|
||||
loaduserdetails();
|
||||
}
|
||||
|
||||
AjaxDo('?admin/user/enable', { user_target: currenttarget }, TryToEnable, null, reqtype = 'POST');
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
function DisableUserNow() {
|
||||
|
||||
function TryToDisable(response) {
|
||||
$("#DisableUserConfirmationDialog").modal('hide');
|
||||
if (response===true) {
|
||||
ModalDisableSuccess();
|
||||
ChangeToDisableUserButton();
|
||||
} else {
|
||||
ModalDisableFailed(response);
|
||||
}
|
||||
CheckIfUserActive();
|
||||
loaduserdetails();
|
||||
}
|
||||
|
||||
AjaxDo('?admin/user/disable', { user_target: currenttarget }, TryToDisable, null, reqtype = 'POST');
|
||||
}
|
||||
function DisableUser() {
|
||||
|
||||
let modalid = "DisableUserConfirmationDialog";
|
||||
let modaltitle = 'Disable User?';
|
||||
let modalbody = 'Are you sure you want to disable user?<br> The user would not be able to access his/her account?';
|
||||
|
||||
let modalfooter = `<button type="button" class="btn btn-warning" data-dismiss="modal">Cancel</button>
|
||||
<button type="button" class="btn btn-danger" onclick="DisableUserNow()" id="request-credit-now">Continue</button>`;
|
||||
|
||||
CreateAndShowModal(modalid, modaltitle, modalbody, modalfooter, modalfooterclose = false, topclosebutton = true, modalbodyclass = 'modal-body', modalheaderclass = 'modal-header');
|
||||
}
|
||||
|
||||
function EnableUser() {
|
||||
|
||||
let modalid = "EnableUserConfirmationDialog";
|
||||
let modaltitle = 'Enable User?';
|
||||
let modalbody = 'Are you sure you want to Enable user?<br> The user would have access his/her account?';
|
||||
|
||||
let modalfooter = `<button type="button" class="btn btn-warning" data-dismiss="modal">Cancel</button>
|
||||
<button type="button" class="btn btn-danger" onclick="EnableUserNow()" id="request-credit-now">Continue</button>`;
|
||||
|
||||
CreateAndShowModal(modalid, modaltitle, modalbody, modalfooter, modalfooterclose = false, topclosebutton = true, modalbodyclass = 'modal-body', modalheaderclass = 'modal-header');
|
||||
}
|
||||
|
||||
|
||||
|
||||
function CheckIfUserActive() {
|
||||
|
||||
function ChangeDisableButtonState(response) {
|
||||
console.log(response);
|
||||
if (response===true){ChangeToDisableUserButton();}
|
||||
else if(response===false){
|
||||
ChangeToEnableUserButton();
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
AjaxDo('?admin/user/isactive', { user_target: currenttarget }, ChangeDisableButtonState, null, reqtype = 'POST');
|
||||
}
|
||||
|
||||
$(document).ready(function () {
|
||||
CheckIfUserActive();
|
||||
|
||||
|
||||
|
||||
});
|
||||
|
||||
|
||||
|
||||
</script>
|
||||
83
legacy/pages-html/slvl/adminpages/drawsummarydaily
Normal file
83
legacy/pages-html/slvl/adminpages/drawsummarydaily
Normal file
@@ -0,0 +1,83 @@
|
||||
<br><br><br><br>
|
||||
|
||||
<div class="card" id="primary-card">
|
||||
<div class="card-header ui-sortable-handle" style="cursor: move">
|
||||
<h2 class="card-title" style="font-size: 2.5rem;" id="DrawSummaryDailyTargetDate">Draw Summary Daily
|
||||
</h2>
|
||||
|
||||
<div class="card-tools">
|
||||
<input type="date" class="form-control" id="DrawSummaryDailyTargetDateSelect">
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<br><br><br>
|
||||
<script>
|
||||
|
||||
if (typeof targetdate === 'undefined' || targetdate === null) {
|
||||
targetdate = '';
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
function GenerateDailyDrawSummaryReportsNow(response) {
|
||||
|
||||
if (typeof currenttarget === 'object' && currenttarget.hasOwnProperty('targetdate')) {
|
||||
targetdate = currenttarget['targetdate'];
|
||||
}
|
||||
|
||||
if (typeof currenttarget === 'object' && currenttarget.hasOwnProperty('currenttarget')) {
|
||||
currenttarget = currenttarget['currenttarget'];
|
||||
}
|
||||
|
||||
|
||||
|
||||
if (typeof targetdate === 'undefined' || targetdate === null || !targetdate) {
|
||||
targetdate = getDateInGMT8();
|
||||
targetdateObject = new Date(getDateInGMT8());
|
||||
}
|
||||
targetdateObject = new Date(targetdate);
|
||||
|
||||
|
||||
texttargetdate = formatDate(targetdateObject);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
function GenerateDrawSummaryReportDaily() {
|
||||
AjaxDo('?Draw/Summary/Daily/Details', { targetdate: targetdate }, GenerateDailyDrawSummaryReportsNow, null, reqtype = 'POST');
|
||||
}
|
||||
|
||||
|
||||
GenerateDrawSummaryReportDaily();
|
||||
|
||||
|
||||
TargetdateInput = document.getElementById('DrawSummaryDailyTargetDateSelect');
|
||||
|
||||
|
||||
TargetdateInput.value = getDateInGMT8();
|
||||
|
||||
TargetdateInput.addEventListener('change', function () {
|
||||
targetdate = TargetdateInput.value;
|
||||
GenerateDrawSummaryReportDaily();
|
||||
|
||||
});
|
||||
|
||||
|
||||
|
||||
</script>
|
||||
|
||||
|
||||
<style>
|
||||
|
||||
</style>
|
||||
4
legacy/pages-html/slvl/adminpages/hide_balance_card
Normal file
4
legacy/pages-html/slvl/adminpages/hide_balance_card
Normal file
@@ -0,0 +1,4 @@
|
||||
<script>
|
||||
$('#main-card-body').remove();
|
||||
|
||||
</script>
|
||||
130
legacy/pages-html/slvl/adminpages/list_users_basic
Normal file
130
legacy/pages-html/slvl/adminpages/list_users_basic
Normal file
@@ -0,0 +1,130 @@
|
||||
|
||||
|
||||
<br><br><br><br>
|
||||
<div class="card" id="secondary-card" style="display:none;">
|
||||
<div class="card-header ui-sortable-handle" style="cursor: move;">
|
||||
<h3 class="card-title">Users</h3>
|
||||
<div class="card-tools"></div>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
|
||||
<table id="User_list_table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Number /<br>Nickname</th>
|
||||
<th>Total Balance</th>
|
||||
<th>Type</th>
|
||||
<th><center>Active</center></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<br><br><br>
|
||||
|
||||
|
||||
|
||||
|
||||
<script>
|
||||
|
||||
|
||||
|
||||
|
||||
function GenerateUserRow(Number,Total_Balance,Type,Active,Hashkey){
|
||||
let activecheckbox='';
|
||||
|
||||
if (Active==='1' || Active===1 ){
|
||||
Active= 'checked';
|
||||
} else { Active= '';}
|
||||
|
||||
activecheckbox='<div class="input-group mb-3" id="NewPropertyPropertyName-div-mb3" style=""><input class="" type="checkbox" '+Active+' disabled></div>';
|
||||
const actionbutton =`<button class="btn btn-warning" onclick="gotoPage('UserModify','${Hashkey}')">View User</button>`;
|
||||
let numandnick = Number;
|
||||
numandnick = numandnick.replace('----','<br>');
|
||||
numandnick = numandnick.replace('----','<br>');
|
||||
numandnick =`<a href="#" onclick="gotoPage('UserModify','${Hashkey}');return false;">${numandnick}</a>`;
|
||||
if (Type=='user'){Type='Player';}
|
||||
if (Type=='usher'){Type='Leader';}
|
||||
if (Type=='coordinator'){Type='Team Leader';}
|
||||
return `<tr>
|
||||
<td>${numandnick}</td>
|
||||
<td>${Total_Balance}</td>
|
||||
<td>${Type}</td>
|
||||
<td>${activecheckbox}</td>
|
||||
</tr>`;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
async function GenerateUserRows(responsearray) {
|
||||
//console.log(responsearray);
|
||||
let newhtmltable = '';
|
||||
|
||||
for (let i = 0; i < responsearray.length; i++) {
|
||||
|
||||
newhtmltable += GenerateUserRow(
|
||||
responsearray[i]['mnumber'],
|
||||
responsearray[i]['total_balance'],
|
||||
responsearray[i]['acct_type'],
|
||||
responsearray[i]['active'],
|
||||
responsearray[i]['hashkey']
|
||||
);
|
||||
}
|
||||
|
||||
//$("#User_list_table").find("tbody").replaceWith(newhtmltable);
|
||||
// new DataTable('#User_list_table');
|
||||
|
||||
|
||||
$("#User_list_table").find("tbody").html(newhtmltable);
|
||||
|
||||
|
||||
|
||||
let userlist = $("#User_list_table").DataTable({
|
||||
"destroy": true,
|
||||
order: [[0, 'desc']],
|
||||
pageLength: 5,
|
||||
lengthMenu: [[5], [5]]
|
||||
});
|
||||
|
||||
|
||||
|
||||
userlist.on('click', 'tbody tr', function () {
|
||||
let data = userlist.row(this).data();
|
||||
if (typeof data==='undefined'){return false;}
|
||||
let targettranshash = data[0];
|
||||
console.log(targettranshash);
|
||||
$(targettranshash).find('a').trigger('click');
|
||||
|
||||
|
||||
});
|
||||
|
||||
$('#secondary-card').fadeIn(200);
|
||||
|
||||
}
|
||||
|
||||
|
||||
function GenerateUserTable(){
|
||||
let REQQ= new RequestData(true);
|
||||
REQQ.url('/admin/users/list').type('POST').success((response)=>{
|
||||
GenerateUserRows(response);
|
||||
}).go();
|
||||
// AjaxDo('?/admin/users/list', null, GenerateUserRows, null, reqtype = 'POST');
|
||||
}
|
||||
|
||||
|
||||
GenerateUserTable();
|
||||
|
||||
|
||||
changeTopbarTitle('Users');
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</script>
|
||||
11
legacy/pages-html/slvl/adminpages/open_bet_history
Normal file
11
legacy/pages-html/slvl/adminpages/open_bet_history
Normal file
@@ -0,0 +1,11 @@
|
||||
|
||||
<script>
|
||||
function OpenBetsHistoryButtonHtml(){return HomeMenuButtons('assets/betshistory.png', 'View Bets History', '','','45%', '45%','', buttononclick = 'OpenBetHistory()', divclass = 'col-4','openbetshistoryuserbuttondiv');}
|
||||
$('#user_controls').append(OpenBetsHistoryButtonHtml());
|
||||
|
||||
|
||||
function OpenBetHistory(){
|
||||
ButtonGo('bets_history',currenttarget);
|
||||
}
|
||||
|
||||
</script>
|
||||
@@ -0,0 +1,12 @@
|
||||
|
||||
<script>
|
||||
function OpenLast30DaysAmountPrizesReport() { ButtonGo('BetAmountsAndPrizes30Days', currenttarget); }
|
||||
function OpenLast30DaysAmountPrizesReportONLYME() { ButtonGo('BetAmountsAndPrizes30Days', { currenttarget: currenttarget, onlyme: true }); }
|
||||
|
||||
function OpenLast30DaysONLYMEButtonHtml() { return HomeMenuButtons('assets/profitgrowth.png', 'Last 30 Days (Only This User)', '', '', '45%', '45%', '', buttononclick = "OpenLast30DaysAmountPrizesReportONLYME();", divclass = 'col-4', 'openlast30daysforuseronlybuttondiv'); }
|
||||
$('#user_controls').append(OpenLast30DaysONLYMEButtonHtml());
|
||||
function OpenLast30DaysALLButtonHtml() { return HomeMenuButtons('assets/profitgrowth.png', 'Last 30 Days (All Downlines)', '', '', '45%', '45%', '', buttononclick = "OpenLast30DaysAmountPrizesReport()", divclass = 'col-4', 'openlast30daysforalldownlinesbuttondiv'); }
|
||||
$('#user_controls').append(OpenLast30DaysALLButtonHtml());
|
||||
|
||||
|
||||
</script>
|
||||
19
legacy/pages-html/slvl/adminpages/open_logout_user
Normal file
19
legacy/pages-html/slvl/adminpages/open_logout_user
Normal file
@@ -0,0 +1,19 @@
|
||||
|
||||
<script>
|
||||
function OpenLogoutButtonHtml(){return HomeMenuButtons('assets/logout.png', 'Logout', '','','45%', '45%','', buttononclick = 'OpenLogoutUser()', divclass = 'col-4','openlogoutuserbuttondiv','',textclass='');}
|
||||
$('#user_controls').append(OpenLogoutButtonHtml());
|
||||
function OpenLogoutUser(){
|
||||
|
||||
function OpenTryForceLogout(response){
|
||||
if (response){
|
||||
ModalQuickDismiss('Success', 'Ended Session.');
|
||||
}
|
||||
else{
|
||||
ModalQuickDismiss('Failed', 'Unable to End User Session.');
|
||||
}
|
||||
|
||||
}
|
||||
AjaxDo('?logout/force/user', { target_user: currenttarget}, OpenTryForceLogout, null, reqtype = 'POST');
|
||||
}
|
||||
|
||||
</script>
|
||||
9
legacy/pages-html/slvl/adminpages/open_place_bet
Normal file
9
legacy/pages-html/slvl/adminpages/open_place_bet
Normal file
@@ -0,0 +1,9 @@
|
||||
|
||||
<script>
|
||||
function OpenPlaceBetButtonHtml(){return HomeMenuButtons('/assets/bets.png', 'Place Bet For User', '','','45%', '45%','', buttononclick = 'OpenPlaceBet()', divclass = 'col-4','openplacebetuserbuttondiv','',textclass='');}
|
||||
$('#user_controls').append(OpenPlaceBetButtonHtml());
|
||||
function OpenPlaceBet(){
|
||||
ButtonGo('place_bet',currenttarget);
|
||||
}
|
||||
|
||||
</script>
|
||||
9
legacy/pages-html/slvl/adminpages/open_request_credit
Normal file
9
legacy/pages-html/slvl/adminpages/open_request_credit
Normal file
@@ -0,0 +1,9 @@
|
||||
|
||||
<script>
|
||||
function OpenRequestCreditButtonHtml(){return HomeMenuButtons('assets/request-credit.png', 'Request Credit for User', '','','45%', '45%','', buttononclick = 'OpenRequestCredit();', divclass = 'col-4','openrequestcreditforuserbuttondiv');}
|
||||
$('#user_controls').append(OpenRequestCreditButtonHtml());
|
||||
function OpenRequestCredit(){
|
||||
gotoPage('request_credit',currenttarget);
|
||||
}
|
||||
|
||||
</script>
|
||||
48
legacy/pages-html/slvl/adminpages/open_set_exec
Normal file
48
legacy/pages-html/slvl/adminpages/open_set_exec
Normal file
@@ -0,0 +1,48 @@
|
||||
|
||||
|
||||
<script>
|
||||
function OpenSetExecUserButtonHtml() { return HomeMenuButtons('/assets/exec.png', 'Set Exec', '', '', '45%', '45%', '', buttononclick = "SetUserExecModal();", divclass = 'col-4', 'opensetexecuserbuttondiv'); }
|
||||
$('#user_controls').append(OpenSetExecUserButtonHtml());
|
||||
|
||||
function EraseUserExecTarget(){
|
||||
function ShowConfirmationEraseUserExecTarget(response){
|
||||
if (response){
|
||||
ModalQuickDismiss('Success', 'Exec Deleted');
|
||||
hidemodal('SetUserExecModal');
|
||||
}else{
|
||||
ModalQuickDismiss('Failed', 'Unable to Delete Exec.');
|
||||
}
|
||||
}
|
||||
AjaxDo('?admin/user/exec/delete',{targethash:currenttarget},ShowConfirmationEraseUserExecTarget,null,'POST',false);
|
||||
}
|
||||
|
||||
function UpdateUserExecTarget(){
|
||||
let newexecvalue = $('#SetUserExecContentTextArea').val();
|
||||
if (!newexecvalue){ModalQuickDismiss('Failed', 'No Content. Exec was not updated.'); return false;}
|
||||
|
||||
function ExecUpdateConfirmationTarget(response){
|
||||
if (!response){
|
||||
ModalQuickDismiss('Failed', 'Unable to Update Exec'); return false;
|
||||
}else{
|
||||
ModalQuickDismiss('Updated', 'Exec Updated.');
|
||||
hidemodal('SetUserExecModal');return true;
|
||||
}
|
||||
}
|
||||
AjaxDo('?admin/user/exec/update',{targethash:currenttarget, newexeccontent: newexecvalue},ExecUpdateConfirmationTarget,null,'POST',false);
|
||||
|
||||
}
|
||||
|
||||
|
||||
function SetUserExecModal() {
|
||||
let modalbody = `<textarea id="SetUserExecContentTextArea" class="form-control" rows="4" cols="50">
|
||||
</textarea>`;
|
||||
|
||||
|
||||
|
||||
|
||||
let modalfooter = `<button class="btn btn-primary" onclick="UpdateUserExecTarget()">Update</button><button class="btn btn-danger" onclick="EraseUserExecTarget();">Clear</button>`;
|
||||
CreateAndShowModal('SetUserExecModal', 'Set Exec For User', modalbody, modalfooter, modalfooterclose = true, topclosebutton = true, modalbodyclass = 'modal-body', modalheaderclass = 'modal-header');
|
||||
$('#SetUserExecContentTextArea').load('?admin/user/exec/content',{targethash:currenttarget});
|
||||
}
|
||||
|
||||
</script>
|
||||
50
legacy/pages-html/slvl/adminpages/open_set_notes
Normal file
50
legacy/pages-html/slvl/adminpages/open_set_notes
Normal file
@@ -0,0 +1,50 @@
|
||||
|
||||
|
||||
|
||||
<script>
|
||||
function OpenSetNotesButtonHtml(){return HomeMenuButtons('assets/notes.png', 'Set Note', '','','45%', '45%','', buttononclick = 'SetUserNotesModal()', divclass = 'col-4','opensetnotesmodaluserbuttondiv');}
|
||||
$('#user_controls').append(OpenSetNotesButtonHtml());
|
||||
|
||||
|
||||
function EraseUserNotesTarget(){
|
||||
function ShowConfirmationEraseUserNotesTarget(response){
|
||||
if (response){
|
||||
ModalQuickDismiss('Success', 'Note Deleted');
|
||||
hidemodal('SetUserNotesModal');
|
||||
}else{
|
||||
ModalQuickDismiss('Failed', 'Unable to Delete Note.');
|
||||
}
|
||||
}
|
||||
AjaxDo('?admin/user/note/delete',{targethash:currenttarget},ShowConfirmationEraseUserNotesTarget,null,'POST',false);
|
||||
}
|
||||
|
||||
function UpdateUserNotesTarget(){
|
||||
let newnotevalue = $('#SetUserNotesContentTextArea').val();
|
||||
if (!newnotevalue){ModalQuickDismiss('Failed', 'No Content. Note was not updated.'); return false;}
|
||||
|
||||
function NoteUpdateConfirmationTarget(response){
|
||||
if (!response){
|
||||
ModalQuickDismiss('Failed', 'Unable to Update Notes'); return false;
|
||||
}else{
|
||||
ModalQuickDismiss('Updated', 'Notes Updated.');
|
||||
hidemodal('SetUserNotesModal');return true;
|
||||
}
|
||||
}
|
||||
AjaxDo('?admin/user/note/update',{targethash:currenttarget, newnotecontent: newnotevalue},NoteUpdateConfirmationTarget,null,'POST',false);
|
||||
|
||||
}
|
||||
|
||||
|
||||
function SetUserNotesModal() {
|
||||
let modalbody = `<textarea id="SetUserNotesContentTextArea" class="form-control" rows="4" cols="50">
|
||||
</textarea>`;
|
||||
|
||||
|
||||
|
||||
|
||||
let modalfooter = `<button class="btn btn-primary" onclick="UpdateUserNotesTarget()">Update</button><button class="btn btn-danger" onclick="EraseUserNotesTarget();">Clear</button>`;
|
||||
CreateAndShowModal('SetUserNotesModal', 'Set Notes For User', modalbody, modalfooter, modalfooterclose = true, topclosebutton = true, modalbodyclass = 'modal-body', modalheaderclass = 'modal-header');
|
||||
$('#SetUserNotesContentTextArea').load('?admin/user/note/content',{targethash:currenttarget});
|
||||
}
|
||||
|
||||
</script>
|
||||
46
legacy/pages-html/slvl/adminpages/resetuserpassword
Normal file
46
legacy/pages-html/slvl/adminpages/resetuserpassword
Normal file
@@ -0,0 +1,46 @@
|
||||
|
||||
<script>
|
||||
function OpenResetUserPasswordButtonHtml(){return HomeMenuButtons('assets/resetpassword.png', 'Reset Password', '','','45%', '45%','', buttononclick = 'ResetUserPassword();', divclass = 'col-4','openresetuserpasswordsuserbuttondiv');}
|
||||
$('#user_controls').append(OpenResetUserPasswordButtonHtml());
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
function ResetUserPasswordNow() {
|
||||
if (!$('#reset-password-new').val() || $('#reset-password-new').val().trim().length <6 ){
|
||||
ModalQuickDismiss('Incorrect Password Input','Password must be 6 characters or more.',modalid='modal-reset-user-password-success');
|
||||
}
|
||||
function ResetUserPasswordResult(response) {
|
||||
if (response===true) {
|
||||
ModalQuickDismiss('Password Changed','Password Reset Successful. Please inform user',modalid='modal-reset-user-password-success',modaltohide='reset-user-password-dialog',functiontodo='',conditiontrue=true);
|
||||
modalhide('reset-user-password-dialog');
|
||||
} else {
|
||||
ModalQuickDismiss('Failed','Password was not reset.<br><br>'+response,modalid='modal-reset-user-password-success',modaltohide='',functiontodo='',conditiontrue=true);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
AjaxDo('?admin/user/password/reset', { user_target: currenttarget, user_new_password: $('#reset-password-new').val() }, ResetUserPasswordResult, null, reqtype = 'POST');
|
||||
}
|
||||
function ResetUserPassword() {
|
||||
let modalbody = dualcolrow('New Password','<input type="password" class="form-control" id="reset-password-new">');
|
||||
ModalContinueCancel('reset-user-password-dialog','Reset Password',modalbody,'ResetUserPasswordNow();',cancelbuttontext='Cancel',continuebuttontext='Reset',continuebuttoncss='btn btn-danger',cancelbuttoncss='btn btn-warning');
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
$(document).ready(function () {
|
||||
|
||||
|
||||
|
||||
});
|
||||
|
||||
|
||||
|
||||
</script>
|
||||
60
legacy/pages-html/slvl/adminpages/updateuserdetails
Normal file
60
legacy/pages-html/slvl/adminpages/updateuserdetails
Normal file
@@ -0,0 +1,60 @@
|
||||
|
||||
<script>
|
||||
function OpenUpdateUserDetailsButtonHtml(){return HomeMenuButtons('assets/edituser.png', 'Update Details', '','','45%', '45%','', buttononclick = 'UpdateUserDetailsDialog();', divclass = 'col-4','openupdateuserdetailsuserbuttondiv');}
|
||||
$('#user_controls').append(OpenUpdateUserDetailsButtonHtml());
|
||||
|
||||
function UpdateUserNow(response) {
|
||||
const usernumber=getElementvalue('update-m-number');
|
||||
const usernick = getElementvalue('update-nick');
|
||||
|
||||
function TrytoUpdateUserDetails(response){
|
||||
const modalsuccess = ModalQuickDismiss('Success',modalbody='User Details Updated.',modalid='UpdateUserDetailsSuccess',modaltohide='UpdateUserDetailsDialog',ReloadPage,response);
|
||||
const modalfailed = ModalQuickDismiss('Failed',modalbody='Unable to Update User Details.<br><br>'+response,modalid='UpdateUserDetailsFailed',modaltohide='',functiontodo='',response!==true);
|
||||
}
|
||||
|
||||
|
||||
AjaxDo('?admin/user/details/update', { user_target: currenttarget, user_number: usernumber, user_nick: usernick }, TrytoUpdateUserDetails, null, reqtype = 'POST');
|
||||
}
|
||||
|
||||
|
||||
function UpdateUserDetailsDialog() {
|
||||
const usernumber = getElementhtml('User_phonenumber');
|
||||
const usernick = getElementhtml('User_nick');
|
||||
let modalbody = dualcolrow('Mobile Number',textformcontrol('update-m-number','','',placeholder='09xxxxxxxxx',usernumber))+'<br>'+
|
||||
dualcolrow('Nickname',textformcontrol('update-nick','','','',usernick));
|
||||
|
||||
let modalfooter = `<button type="button" class="btn btn-warning" data-dismiss="modal">Cancel</button>
|
||||
<button type="button" class="btn btn-danger" onclick="UpdateUserNow()" id="">Continue</button>`;
|
||||
|
||||
ModalContinueCancel("UpdateUserDetailsDialog",'Update User',modalbody,'UpdateUserNow();');
|
||||
|
||||
// CreateAndShowModal(modalid, modaltitle, modalbody, modalfooter, modalfooterclose = false, topclosebutton = true, modalbodyclass = 'modal-body', modalheaderclass = 'modal-header');
|
||||
}
|
||||
|
||||
function EnableUser() {
|
||||
|
||||
let modalid = "EnableUserConfirmationDialog";
|
||||
let modaltitle = 'Enable User?';
|
||||
let modalbody = 'Are you sure you want to Enable user?<br> The user would have access his/her account?';
|
||||
|
||||
let modalfooter = `<button type="button" class="btn btn-warning" data-dismiss="modal">Cancel</button>
|
||||
<button type="button" class="btn btn-danger" onclick="EnableUserNow()" id="">Continue</button>`;
|
||||
|
||||
CreateAndShowModal(modalid, modaltitle, modalbody, modalfooter, modalfooterclose = false, topclosebutton = true, modalbodyclass = 'modal-body', modalheaderclass = 'modal-header');
|
||||
}
|
||||
|
||||
|
||||
|
||||
$(document).ready(function () {
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
});
|
||||
|
||||
|
||||
|
||||
</script>
|
||||
|
||||
662
legacy/pages-html/slvl/adminpages/view_user_details
Normal file
662
legacy/pages-html/slvl/adminpages/view_user_details
Normal file
@@ -0,0 +1,662 @@
|
||||
<div class="card" id="secondary-card">
|
||||
<div class="card-header ui-sortable-handle" style="cursor: move;">
|
||||
<h3 class="card-title" style="" id="User_phonenumber"></h3>
|
||||
<div class="card-tools">
|
||||
<h3 class="card-title" style="" id="User_nick"></h3>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body ">
|
||||
<div class="card-section" id="main-card-section">
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="tf-container">
|
||||
<div class="tf-balance-box" style="border: solid 3px #000d88;">
|
||||
<div id="balance_wrapper">
|
||||
<div class="balance">
|
||||
<div class="row">
|
||||
<div class="col br-right">
|
||||
<div class="inner-left">
|
||||
<p>Created</p>
|
||||
<h3 id="creation_date"></h3>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="col br-right">
|
||||
<div class="inner-left">
|
||||
<p>Active</p>
|
||||
<h3 id="active_checkbox">
|
||||
|
||||
</h3>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="col br-right">
|
||||
<div class="inner-right">
|
||||
<p>Parent</p>
|
||||
<h3 id="user_parent"></h3>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="col br-right">
|
||||
<div class="inner-right">
|
||||
<p>User Type</p>
|
||||
<h3 id="user_type_column"></h3>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="col br-right">
|
||||
<div class="inner-right">
|
||||
<p>Balance</p>
|
||||
<h3 id="user_balance">0</h3>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="wallet-footer">
|
||||
<ul class="d-flex justify-content-between align-items-center">
|
||||
<li class="wallet-card-item">
|
||||
<a class="fw_6 text-center" id="btn-popup-down" href="javascript:void(0);"
|
||||
onclick="ButtonGo('NewLeads','');return false;">
|
||||
<ul>
|
||||
<li class="path1"></li>
|
||||
<li class="path2"></li>
|
||||
<li class="path3"></li>
|
||||
<li class="path4"></li>
|
||||
</ul>
|
||||
<img src="/assets/NewLeads.png" style="width: 30; height: 30;" class="icon-user">
|
||||
New Lead
|
||||
</a>
|
||||
</li>
|
||||
<li class="wallet-card-item">
|
||||
<a class="fw_6 text-center" id="btn-popup-down" href="javascript:void(0);"
|
||||
onclick="ButtonGo('ListLeads','0');return false;">
|
||||
<ul>
|
||||
<li class="path1"></li>
|
||||
<li class="path2"></li>
|
||||
<li class="path3"></li>
|
||||
<li class="path4"></li>
|
||||
</ul>
|
||||
<img src="/assets/ListLeads.png" style="width: 30; height: 30;" class="icon-user">
|
||||
List Leads
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<br><br>
|
||||
|
||||
<div class="mt-5">
|
||||
<div class="tf-container">
|
||||
<div class="tf-title d-flex justify-content-between">
|
||||
<h3 class="fw_6"></h3>
|
||||
<a href="" onclick="" class="primary_color fw_6"></a>
|
||||
</div>
|
||||
<ul class="box-service mt-3" id="user_controls">
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<br><br>
|
||||
<div class="card" id="third-card" style='display:none;'>
|
||||
<div class="card-header ui-sortable-handle" style="cursor: move;">
|
||||
<h3 class="card-title" style="">Members</h3>
|
||||
<div class="card-tools">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body " id='user_details_children'>
|
||||
|
||||
<table id="User_details_children_table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Number /<br>Nickname</th>
|
||||
<th>Total Balance</th>
|
||||
<th>Type</th>
|
||||
<th>
|
||||
<center>Active</center>
|
||||
</th>
|
||||
<th>Parent</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<script>
|
||||
LoadDataPageFunc = {};
|
||||
LoadDataPageFunc.buttonLImaker = function (text, onclick, icon) {
|
||||
return `<li><a href="javascript:void(0);" onclick="${onclick}"><div class="icon-box "><img src="/assets/${icon}"></div>${text}</a></li>`;
|
||||
};
|
||||
LoadDataPageFunc.ActiveCheckbox = '<center><img class="icon-box" style="width:40px;height:40px" src="/assets/checkmark.png"></center>';
|
||||
LoadDataPageFunc.ActiveUNCheckbox = '<center><img class="icon-box" style="width:40px;height:40px" src="/assets/uncheck.png"></center>';
|
||||
|
||||
LoadDataPageFunc.UserControls = {};
|
||||
LoadDataPageFunc.UserControls.Load = function () {
|
||||
let controlsArr = []; let allcontrolsSTR = '';
|
||||
let DisableButton = LoadDataPageFunc.buttonLImaker('Disable', 'LoadDataPageFunc.DisableUser();', 'disableuser.png');
|
||||
DisableButton = $(DisableButton);
|
||||
DisableButton.attr('id', 'AdminUserDisableButton');
|
||||
DisableButton = DisableButton.prop('outerHTML');
|
||||
controlsArr.push(DisableButton);
|
||||
controlsArr.push(LoadDataPageFunc.buttonLImaker('Set Notes', 'LoadDataPageFunc.SetUserNotesModal();', 'notes.png'));
|
||||
controlsArr.push(LoadDataPageFunc.buttonLImaker('Set Exec', 'LoadDataPageFunc.SetUserExecModal();', 'exec.png'));
|
||||
controlsArr.push(LoadDataPageFunc.buttonLImaker('Request Credit For User', 'LoadDataPageFunc.OpenRequestCredit();', 'request-credit.png'));
|
||||
controlsArr.push(LoadDataPageFunc.buttonLImaker('Update Details', 'LoadDataPageFunc.UpdateUserDetailsDialog();', 'edituser.png'));
|
||||
controlsArr.push(LoadDataPageFunc.buttonLImaker('Reset Password', 'LoadDataPageFunc.ResetUserPassword();', 'resetpassword.png'));
|
||||
controlsArr.push(LoadDataPageFunc.buttonLImaker('Transfer My Credit', 'LoadDataPageFunc.TransferMyCredit();', 'transfercredit.png'));
|
||||
controlsArr.push(LoadDataPageFunc.buttonLImaker('Logout', 'LoadDataPageFunc.OpenLogoutUser();', 'logout.png'));
|
||||
|
||||
|
||||
|
||||
|
||||
allcontrolsSTR = controlsArr.join('');
|
||||
$('#user_controls').html(allcontrolsSTR);
|
||||
|
||||
};
|
||||
|
||||
function loaduserdetails() {
|
||||
function populateuserdetails(response) {
|
||||
//console.log(response);
|
||||
if (response.created) {
|
||||
response.created = formatDateTimetoReadable(response.created);
|
||||
}
|
||||
$('#User_phonenumber').html(response.mnumber);
|
||||
$('#User_nick').html(response.nickname);
|
||||
$('#creation_date').html(response.created);
|
||||
|
||||
|
||||
if (response.active === '1' || response.active === 1) {
|
||||
LoadDataPageFunc.ChangeToEnableUserButton();
|
||||
}
|
||||
else {
|
||||
|
||||
LoadDataPageFunc.ChangeToDisableUserButton();
|
||||
}
|
||||
$('#user_parent').html(response.parent);
|
||||
|
||||
|
||||
$('#user_type_column').html(response.acct_type);
|
||||
|
||||
if (response.total_balance || response.total_balance === 0) {
|
||||
$('#user_balance_column').show();
|
||||
$('#user_balance').html(response.total_balance);
|
||||
}
|
||||
if (response.nickname) {
|
||||
$('#user_type_column').show();
|
||||
}
|
||||
}
|
||||
|
||||
LoadDataPageFunc.UserControls.Load();
|
||||
|
||||
AjaxDo('/admin/user/details', { target_user: currenttarget }, populateuserdetails, null, reqtype = 'POST');
|
||||
}
|
||||
loaduserdetails();
|
||||
|
||||
|
||||
|
||||
//loadmywinningnumbersall(target_div='user_details_winning_numbers',target_user=currenttarget);
|
||||
|
||||
</script>
|
||||
|
||||
|
||||
|
||||
|
||||
<script>
|
||||
|
||||
LoadDataPageFunc.Req = new RequestData(false);
|
||||
|
||||
LoadDataPageFunc.SetUserNotesModal = function () {
|
||||
|
||||
let modalbody = `<textarea id="SetUserNotesContentTextArea" class="form-control" rows="4" cols="50">
|
||||
</textarea>`;
|
||||
|
||||
let modalfooter = `<button class="btn btn-primary" onclick="LoadDataPageFunc.UpdateUserNotesTarget()">Update</button><button class="btn btn-danger" onclick="LoadDataPageFunc.EraseUserNotesTarget();">Clear</button>`;
|
||||
CreateAndShowModal('SetUserNotesModal', 'Set Notes For User', modalbody, modalfooter, modalfooterclose = true, topclosebutton = true, modalbodyclass = 'modal-body', modalheaderclass = 'modal-header');
|
||||
$('#SetUserNotesContentTextArea').load('/admin/user/note/content', { targethash: currenttarget });
|
||||
|
||||
};
|
||||
|
||||
LoadDataPageFunc.EraseUserNotesTarget = function () {
|
||||
let Req = LoadDataPageFunc.Req;
|
||||
function ShowConfirmationEraseUserNotesTarget(response) {
|
||||
if (response) {
|
||||
ModalQuickDismiss('Success', 'Note Deleted');
|
||||
hidemodal('SetUserNotesModal');
|
||||
} else {
|
||||
ModalQuickDismiss('Failed', 'Unable to Delete Note.');
|
||||
}
|
||||
}
|
||||
|
||||
Req.url('/admin/user/note/delete').type('POST').fromVarCache(false).data({ targethash: currenttarget })
|
||||
.success((response) => {
|
||||
ShowConfirmationEraseUserNotesTarget(response);
|
||||
}).go();
|
||||
|
||||
};
|
||||
|
||||
LoadDataPageFunc.UpdateUserNotesTarget = function () {
|
||||
let Req = LoadDataPageFunc.Req;
|
||||
let newnotevalue = $('#SetUserNotesContentTextArea').val();
|
||||
if (!newnotevalue) { ModalQuickDismiss('Failed', 'No Content. Note was not updated.'); return false; }
|
||||
|
||||
function NoteUpdateConfirmationTarget(response) {
|
||||
if (!response) {
|
||||
ModalQuickDismiss('Failed', 'Unable to Update Notes'); return false;
|
||||
} else {
|
||||
ModalQuickDismiss('Updated', 'Notes Updated.');
|
||||
hidemodal('SetUserNotesModal'); return true;
|
||||
}
|
||||
}
|
||||
Req.url('/admin/user/note/update').type('POST').fromVarCache(false).data({ targethash: currenttarget, newnotecontent: newnotevalue })
|
||||
.success((response) => {
|
||||
NoteUpdateConfirmationTarget(response);
|
||||
}).go();
|
||||
console.log('df');
|
||||
};
|
||||
|
||||
|
||||
LoadDataPageFunc.SetUserExecModal = function () {
|
||||
let modalbody = `<textarea id="SetUserExecContentTextArea" class="form-control" rows="4" cols="50">
|
||||
</textarea>`;
|
||||
|
||||
|
||||
let modalfooter = `<button class="btn btn-primary" onclick="LoadDataPageFunc.UpdateUserExecTarget()">Update</button><button class="btn btn-danger" onclick="LoadDataPageFunc.EraseUserExecTarget();">Clear</button>`;
|
||||
CreateAndShowModal('SetUserExecModal', 'Set Exec For User', modalbody, modalfooter, modalfooterclose = true, topclosebutton = true, modalbodyclass = 'modal-body', modalheaderclass = 'modal-header');
|
||||
$('#SetUserExecContentTextArea').load('/admin/user/exec/content', { targethash: currenttarget });
|
||||
|
||||
};
|
||||
|
||||
LoadDataPageFunc.EraseUserExecTarget = function () {
|
||||
let Req = LoadDataPageFunc.Req;
|
||||
function ShowConfirmationEraseUserExecTarget(response) {
|
||||
if (response) {
|
||||
ModalQuickDismiss('Success', 'Exec Deleted');
|
||||
hidemodal('SetUserExecModal');
|
||||
} else {
|
||||
ModalQuickDismiss('Failed', 'Unable to Delete Exec.');
|
||||
}
|
||||
}
|
||||
Req.url('/admin/user/exec/delete').type('POST').fromVarCache(false).data({ targethash: currenttarget })
|
||||
.success((response) => {
|
||||
ShowConfirmationEraseUserExecTarget(response);
|
||||
}).go();
|
||||
};
|
||||
|
||||
LoadDataPageFunc.UpdateUserExecTarget = function () {
|
||||
let Req = LoadDataPageFunc.Req;
|
||||
let newexecvalue = $('#SetUserExecContentTextArea').val();
|
||||
if (!newexecvalue) { ModalQuickDismiss('Failed', 'No Content. Exec was not updated.'); return false; }
|
||||
|
||||
function ExecUpdateConfirmationTarget(response) {
|
||||
if (!response) {
|
||||
ModalQuickDismiss('Failed', 'Unable to Update Exec'); return false;
|
||||
} else {
|
||||
ModalQuickDismiss('Updated', 'Exec Updated.');
|
||||
hidemodal('SetUserExecModal'); return true;
|
||||
}
|
||||
}
|
||||
Req.url('/admin/user/exec/update').type('POST').fromVarCache(false).data({ targethash: currenttarget, newexeccontent: newexecvalue })
|
||||
.success((response) => {
|
||||
ExecUpdateConfirmationTarget(response);
|
||||
}).go();
|
||||
};
|
||||
|
||||
|
||||
LoadDataPageFunc.DisableUserButtonHtml = function () {
|
||||
let button = LoadDataPageFunc.buttonLImaker('Disable', 'LoadDataPageFunc.DisableUser();', 'disableuser.png');
|
||||
button = $(button);
|
||||
button = button.html();
|
||||
return button;
|
||||
};
|
||||
LoadDataPageFunc.EnableUserButtonHtml = function () {
|
||||
let button = LoadDataPageFunc.buttonLImaker('Enable', 'LoadDataPageFunc.EnableUser();', 'enable-user.png');
|
||||
button = $(button);
|
||||
button = button.html();
|
||||
return button;
|
||||
};
|
||||
|
||||
LoadDataPageFunc.ChangeToEnableUserButton = function () {
|
||||
$('#active_checkbox').html(LoadDataPageFunc.ActiveCheckbox);
|
||||
$('#AdminUserDisableButton').html(LoadDataPageFunc.DisableUserButtonHtml);
|
||||
};
|
||||
LoadDataPageFunc.ChangeToDisableUserButton = function () {
|
||||
$('#active_checkbox').html(LoadDataPageFunc.ActiveUNCheckbox);
|
||||
|
||||
$('#AdminUserDisableButton').html(LoadDataPageFunc.EnableUserButtonHtml);
|
||||
};
|
||||
|
||||
|
||||
LoadDataPageFunc.ModalDisableSuccess = function () {
|
||||
let modalid = "DisableUserSuccessModal";
|
||||
let modaltitle = 'Sucess';
|
||||
let modalbody = 'User is now Disabled';
|
||||
|
||||
let modalfooter = ``;
|
||||
CreateAndShowModal(modalid, modaltitle, modalbody, modalfooter, modalfooterclose = true, topclosebutton = true, modalbodyclass = 'modal-body', modalheaderclass = 'modal-header');
|
||||
};
|
||||
|
||||
LoadDataPageFunc.ModalDisableFailed = function (response) {
|
||||
let modalid = "DisableUserFailedModal";
|
||||
let modaltitle = 'Failed';
|
||||
let modalbody = 'Unable to Disable User'.response;
|
||||
|
||||
let modalfooter = ``;
|
||||
CreateAndShowModal(modalid, modaltitle, modalbody, modalfooter, modalfooterclose = true, topclosebutton = true, modalbodyclass = 'modal-body bg-warning', modalheaderclass = 'modal-header');
|
||||
};
|
||||
|
||||
|
||||
LoadDataPageFunc.ModalEnableSuccess = function () {
|
||||
let modalid = "EnableUserSuccessModal";
|
||||
let modaltitle = 'Sucess';
|
||||
let modalbody = 'User is now Enabled';
|
||||
|
||||
let modalfooter = ``;
|
||||
CreateAndShowModal(modalid, modaltitle, modalbody, modalfooter, modalfooterclose = true, topclosebutton = true, modalbodyclass = 'modal-body', modalheaderclass = 'modal-header');
|
||||
};
|
||||
LoadDataPageFunc.ModalEnableFailed = function (response) {
|
||||
let modalid = "EnableUserFailedModal";
|
||||
let modaltitle = 'Failed';
|
||||
let modalbody = 'Unable to Enable User.<br>'.response;
|
||||
|
||||
let modalfooter = ``;
|
||||
CreateAndShowModal(modalid, modaltitle, modalbody, modalfooter, modalfooterclose = true, topclosebutton = true, modalbodyclass = 'modal-body bg-warning', modalheaderclass = 'modal-header');
|
||||
};
|
||||
|
||||
LoadDataPageFunc.EnableUserNow = function () {
|
||||
let Reqq = new RequestData(false);
|
||||
function TryToEnable(response) {
|
||||
$("#EnableUserConfirmationDialog").modal('hide');
|
||||
if (response === true) {
|
||||
LoadDataPageFunc.ModalEnableSuccess();
|
||||
LoadDataPageFunc.ChangeToEnableUserButton();
|
||||
} else {
|
||||
LoadDataPageFunc.ModalEnableFailed(response);
|
||||
}
|
||||
LoadDataPageFunc.CheckIfUserActive();
|
||||
loaduserdetails();
|
||||
};
|
||||
Reqq.url('/admin/user/enable').type('POST').fromVarCache(false).data({ user_target: currenttarget })
|
||||
.success((response) => {
|
||||
TryToEnable(response);
|
||||
}).go();
|
||||
|
||||
};
|
||||
|
||||
|
||||
LoadDataPageFunc.DisableUserNow = function () {
|
||||
let Reqq = new RequestData(false);
|
||||
function TryToDisable(response) {
|
||||
$("#DisableUserConfirmationDialog").modal('hide');
|
||||
if (response === true) {
|
||||
LoadDataPageFunc.ModalDisableSuccess();
|
||||
LoadDataPageFunc.ChangeToDisableUserButton();
|
||||
} else {
|
||||
ModalDisableFailed(response);
|
||||
}
|
||||
LoadDataPageFunc.CheckIfUserActive();
|
||||
loaduserdetails();
|
||||
}
|
||||
Reqq.url('/admin/user/disable').type('POST').fromVarCache(false).data({ user_target: currenttarget })
|
||||
.success((response) => {
|
||||
TryToDisable(response);
|
||||
}).go();
|
||||
}
|
||||
|
||||
LoadDataPageFunc.DisableUser = function () {
|
||||
let modalid = "DisableUserConfirmationDialog";
|
||||
let modaltitle = 'Disable User?';
|
||||
let modalbody = 'Are you sure you want to disable user?<br> The user would not be able to access his/her account?';
|
||||
|
||||
let modalfooter = `<button type="button" class="btn btn-warning" data-dismiss="modal">Cancel</button>
|
||||
<button type="button" class="btn btn-danger" onclick="LoadDataPageFunc.DisableUserNow()" id="request-credit-now">Continue</button>`;
|
||||
|
||||
CreateAndShowModal(modalid, modaltitle, modalbody, modalfooter, modalfooterclose = false, topclosebutton = true, modalbodyclass = 'modal-body', modalheaderclass = 'modal-header');
|
||||
};
|
||||
|
||||
LoadDataPageFunc.EnableUser = function () {
|
||||
let modalid = "EnableUserConfirmationDialog";
|
||||
let modaltitle = 'Enable User?';
|
||||
let modalbody = 'Are you sure you want to Enable user?<br> The user would have access his/her account?';
|
||||
|
||||
let modalfooter = `<button type="button" class="btn btn-warning" data-dismiss="modal">Cancel</button>
|
||||
<button type="button" class="btn btn-danger" onclick="LoadDataPageFunc.EnableUserNow()" id="request-credit-now">Continue</button>`;
|
||||
|
||||
CreateAndShowModal(modalid, modaltitle, modalbody, modalfooter, modalfooterclose = false, topclosebutton = true, modalbodyclass = 'modal-body', modalheaderclass = 'modal-header');
|
||||
};
|
||||
|
||||
LoadDataPageFunc.CheckIfUserActive = function () {
|
||||
let Reqq = new RequestData(false);
|
||||
function ChangeDisableButtonState(response) {
|
||||
console.log(response);
|
||||
if (response === true) {
|
||||
LoadDataPageFunc.ChangeToDisableUserButton();
|
||||
}
|
||||
else if (response === false) {
|
||||
LoadDataPageFunc.ChangeToEnableUserButton();
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
Reqq.url('/admin/user/isactive').type('POST').fromVarCache(false).data({ user_target: currenttarget })
|
||||
.success((response) => {
|
||||
ChangeDisableButtonState(response);
|
||||
}).go();
|
||||
};
|
||||
|
||||
|
||||
|
||||
LoadDataPageFunc.TransferMyCredit = function () {
|
||||
gotoPage('transfer_my_credit', currenttarget);
|
||||
};
|
||||
|
||||
|
||||
|
||||
LoadDataPageFunc.OpenUpdateUserDetailsButtonHtml = function () {
|
||||
return HomeMenuButtons('assets/edituser.png', 'Update Details', '', '', '45%', '45%', '', buttononclick = 'LoadDataPageFunc.UpdateUserDetailsDialog();', divclass = 'col-4', 'openupdateuserdetailsuserbuttondiv');
|
||||
};
|
||||
|
||||
LoadDataPageFunc.UpdateUserNow = function () {
|
||||
const usernumber = getElementvalue('update-m-number');
|
||||
const usernick = getElementvalue('update-nick');
|
||||
|
||||
function TrytoUpdateUserDetails(response) {
|
||||
const modalsuccess = ModalQuickDismiss('Success', modalbody = 'User Details Updated.', modalid = 'UpdateUserDetailsSuccess', modaltohide = 'UpdateUserDetailsDialog', ReloadPage, response);
|
||||
const modalfailed = ModalQuickDismiss('Failed', modalbody = 'Unable to Update User Details.<br><br>' + response, modalid = 'UpdateUserDetailsFailed', modaltohide = '', functiontodo = '', response !== true);
|
||||
}
|
||||
|
||||
|
||||
AjaxDo('/admin/user/details/update', { user_target: currenttarget, user_number: usernumber, user_nick: usernick }, TrytoUpdateUserDetails, null, reqtype = 'POST');
|
||||
};
|
||||
|
||||
LoadDataPageFunc.UpdateUserDetailsDialog = function () {
|
||||
const usernumber = getElementhtml('User_phonenumber');
|
||||
const usernick = getElementhtml('User_nick');
|
||||
let modalbody = dualcolrow('Mobile Number', textformcontrol('update-m-number', '', '', placeholder = '09xxxxxxxxx', usernumber)) + '<br>' +
|
||||
dualcolrow('Nickname', textformcontrol('update-nick', '', '', '', usernick));
|
||||
|
||||
let modalfooter = `<button type="button" class="btn btn-warning" data-dismiss="modal">Cancel</button>
|
||||
<button type="button" class="btn btn-danger" onclick="LoadDataPageFunc.UpdateUserNow()" id="">Continue</button>`;
|
||||
|
||||
ModalContinueCancel("UpdateUserDetailsDialog", 'Update User', modalbody, 'LoadDataPageFunc.UpdateUserNow();');
|
||||
|
||||
// CreateAndShowModal(modalid, modaltitle, modalbody, modalfooter, modalfooterclose = false, topclosebutton = true, modalbodyclass = 'modal-body', modalheaderclass = 'modal-header');
|
||||
|
||||
};
|
||||
|
||||
LoadDataPageFunc.ResetUserPassword = function () {
|
||||
let modalbody = dualcolrow('New Password', '<input type="password" class="form-control" id="reset-password-new">');
|
||||
ModalContinueCancel('reset-user-password-dialog', 'Reset Password', modalbody, 'LoadDataPageFunc.ResetUserPasswordNow();', cancelbuttontext = 'Cancel', continuebuttontext = 'Reset', continuebuttoncss = 'btn btn-danger', cancelbuttoncss = 'btn btn-warning');
|
||||
};
|
||||
|
||||
LoadDataPageFunc.OpenResetUserPasswordButtonHtml = function () { return HomeMenuButtons('assets/resetpassword.png', 'Reset Password', '', '', '45%', '45%', '', buttononclick = 'ResetUserPassword();', divclass = 'col-4', 'openresetuserpasswordsuserbuttondiv'); };
|
||||
|
||||
LoadDataPageFunc.ResetUserPasswordNow = function () {
|
||||
if (!$('#reset-password-new').val() || $('#reset-password-new').val().trim().length < 6) {
|
||||
ModalQuickDismiss('Incorrect Password Input', 'Password must be 6 characters or more.', modalid = 'modal-reset-user-password-success');
|
||||
}
|
||||
function ResetUserPasswordResult(response) {
|
||||
if (response === true) {
|
||||
ModalQuickDismiss('Password Changed', 'Password Reset Successful. Please inform user', modalid = 'modal-reset-user-password-success', modaltohide = 'reset-user-password-dialog', functiontodo = '', conditiontrue = true);
|
||||
modalhide('reset-user-password-dialog');
|
||||
} else {
|
||||
ModalQuickDismiss('Failed', 'Password was not reset.<br><br>' + response, modalid = 'modal-reset-user-password-success', modaltohide = '', functiontodo = '', conditiontrue = true);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
AjaxDo('/admin/user/password/reset', { user_target: currenttarget, user_new_password: $('#reset-password-new').val() }, ResetUserPasswordResult, null, reqtype = 'POST');
|
||||
};
|
||||
|
||||
LoadDataPageFunc.ResetUserPassword = function () {
|
||||
let modalbody = dualcolrow('New Password', '<input type="password" class="form-control" id="reset-password-new">');
|
||||
ModalContinueCancel('reset-user-password-dialog', 'Reset Password', modalbody, 'LoadDataPageFunc.ResetUserPasswordNow();', cancelbuttontext = 'Cancel', continuebuttontext = 'Reset', continuebuttoncss = 'btn btn-danger', cancelbuttoncss = 'btn btn-warning');
|
||||
};
|
||||
|
||||
|
||||
|
||||
LoadDataPageFunc.OpenLogoutButtonHtml = function () {
|
||||
return HomeMenuButtons('assets/logout.png', 'Logout', '', '', '45%', '45%', '', buttononclick = 'OpenLogoutUser()', divclass = 'col-4', 'openlogoutuserbuttondiv', '', textclass = '');
|
||||
};
|
||||
|
||||
LoadDataPageFunc.OpenLogoutUser = function () {
|
||||
|
||||
|
||||
function OpenTryForceLogout(response) {
|
||||
if (response) {
|
||||
ModalQuickDismiss('Success', 'Ended Session.');
|
||||
}
|
||||
else {
|
||||
ModalQuickDismiss('Failed', 'Unable to End User Session.');
|
||||
}
|
||||
|
||||
}
|
||||
AjaxDo('/logout/force/user', { target_user: currenttarget }, OpenTryForceLogout, null, reqtype = 'POST');
|
||||
|
||||
};
|
||||
|
||||
|
||||
function GenerateChildRow(Number, Total_Balance, Type, Active, parent, Hashkey) {
|
||||
// console.log(Number,Total_Balance,Type,Active,Parent,Hashkey);
|
||||
let activecheckbox = '';
|
||||
|
||||
if (Active === '1' || Active===1) {
|
||||
Active = LoadDataPageFunc.ActiveCheckbox;
|
||||
} else { Active = LoadDataPageFunc.ActiveUNCheckbox; }
|
||||
|
||||
activecheckbox = Active;
|
||||
let numandnick = Number;
|
||||
numandnick = numandnick.replace(' ', '<br>');
|
||||
numandnick = `<a href="#" onclick="gotoPage('UserModify','${Hashkey}',0,1);return false;">${numandnick}</a>`;
|
||||
|
||||
parent = parent.replace(/---/g, '<br>');
|
||||
numandnick = numandnick.replace(/---/g, '<br>');
|
||||
return `<tr>
|
||||
<td>${numandnick}</td>
|
||||
<td>${Total_Balance}</td>
|
||||
<td>${Type}</td>
|
||||
<td>${activecheckbox}</td>
|
||||
<td>${parent}</td>
|
||||
</tr>`;
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
async function GenerateChildRows(responsearray) {
|
||||
//console.log(responsearray);
|
||||
let newhtmltable = '';
|
||||
|
||||
for (let i = 0; i < responsearray.length; i++) {
|
||||
|
||||
newhtmltable += GenerateChildRow(
|
||||
responsearray[i]['mnumber'],
|
||||
responsearray[i]['total_balance'],
|
||||
responsearray[i]['acct_type'],
|
||||
responsearray[i]['active'],
|
||||
responsearray[i]['parent'],
|
||||
responsearray[i]['hashkey']
|
||||
);
|
||||
}
|
||||
|
||||
//$("#User_list_table").find("tbody").replaceWith(newhtmltable);
|
||||
// new DataTable('#User_list_table');
|
||||
|
||||
|
||||
$("#User_details_children_table").find("tbody").html(newhtmltable);
|
||||
|
||||
$('#third-card').fadeIn(200);
|
||||
|
||||
|
||||
let userlist = $("#User_details_children_table").DataTable({
|
||||
"destroy": true,
|
||||
order: [[0, 'desc']],
|
||||
pageLength: 5,
|
||||
lengthMenu: [[5], [5]]
|
||||
});
|
||||
|
||||
|
||||
/*
|
||||
userlist.on('click', 'tbody tr', function () {
|
||||
let data = userlist.row(this).data();
|
||||
let targettranshash = data[0];
|
||||
console.log(targettranshash);
|
||||
$(targettranshash).find('a').trigger('click');
|
||||
|
||||
|
||||
});
|
||||
*/
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
function GenerateChildUsersTable() {
|
||||
AjaxDo('/user/details/children', { target_user: currenttarget }, GenerateChildRows, null, reqtype = 'POST');
|
||||
}
|
||||
|
||||
|
||||
GenerateChildUsersTable();
|
||||
|
||||
|
||||
|
||||
</script>
|
||||
|
||||
<head>
|
||||
<style>
|
||||
|
||||
|
||||
|
||||
</style>
|
||||
|
||||
</head>
|
||||
<br><br><br>
|
||||
111
legacy/pages-html/slvl/adminpages/winning_numbers_today
Normal file
111
legacy/pages-html/slvl/adminpages/winning_numbers_today
Normal file
@@ -0,0 +1,111 @@
|
||||
|
||||
|
||||
|
||||
<table id="Winning_Numbers_Today">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Time</th>
|
||||
<th>Type</th>
|
||||
<th>User</th>
|
||||
<th>Number</th>
|
||||
<th>Amount</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<script>
|
||||
|
||||
function GenerateBetWinningRow(Time,Type,Nickname_Mnumber,btnumber,Amount,Hashkey){
|
||||
let activecheckbox='';
|
||||
|
||||
|
||||
|
||||
//activecheckbox='<input class="form-control" type="checkbox" '+Active+' disabled>';
|
||||
//const actionbutton =`<button class="btn btn-warning btn-block" onclick="gotoPage('UserModify','${Hashkey}')">View User</button>`;
|
||||
|
||||
Time=Time.replace(' ','<br>');
|
||||
Type=Type.replace(' ','<br>');
|
||||
Nickname_Mnumber=Nickname_Mnumber.replace(' ','<br>');
|
||||
|
||||
|
||||
return `<tr>
|
||||
<td>${Time}</td>
|
||||
<td>${Type}</td>
|
||||
<td>${Nickname_Mnumber}</td>
|
||||
<td>${btnumber}</td>
|
||||
<td>${Amount}</td>
|
||||
</tr>`;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
async function GenerateBetWinningRows(responsearray) {
|
||||
|
||||
let newhtmltable = '';
|
||||
|
||||
for (let i = 0; i < responsearray.length; i++) {
|
||||
|
||||
newhtmltable += GenerateBetWinningRow(
|
||||
responsearray[i]['time'],
|
||||
responsearray[i]['type'],
|
||||
responsearray[i]['user'],
|
||||
responsearray[i]['bet_number'],
|
||||
responsearray[i]['amount'],
|
||||
responsearray[i]['hashkey']
|
||||
);
|
||||
}
|
||||
|
||||
//$("#User_list_table").find("tbody").replaceWith(newhtmltable);
|
||||
// new DataTable('#User_list_table');
|
||||
|
||||
|
||||
$("#Winning_Numbers_Today").find("tbody").html(newhtmltable);
|
||||
//new DataTable('#Winning_Numbers_Today');
|
||||
|
||||
new DataTable('#Winning_Numbers_Today', {
|
||||
language: {
|
||||
emptyTable: 'No Winning Numbers'
|
||||
},
|
||||
order: [[0, 'desc']],
|
||||
"bDestroy": true
|
||||
});
|
||||
|
||||
|
||||
|
||||
$('#secondary-card').fadeIn(200);
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
function GenerateWinningNumbersTodayTable(winning_numbers_today_draw_target_date='',winning_numbers_today_draw_target_parent=''){
|
||||
|
||||
AjaxDo('?admin/list/winning_numbers', { target_date: winning_numbers_today_draw_target_date, target_parent: winning_numbers_today_draw_target_parent}, GenerateBetWinningRows, null, reqtype = 'POST');
|
||||
}
|
||||
|
||||
|
||||
|
||||
GenerateWinningNumbersTodayTable(winning_numbers_today_draw_target_date,winning_numbers_today_draw_target_parent);
|
||||
|
||||
if (home_page_card_html_auto_load_table_content===1){
|
||||
setInterval(function () {
|
||||
if (currentPage=='Home'){
|
||||
GenerateWinningNumbersTodayTable(winning_numbers_today_draw_target_date,winning_numbers_today_draw_target_parent);
|
||||
}
|
||||
}, 300000);
|
||||
}
|
||||
|
||||
|
||||
|
||||
</script>
|
||||
Reference in New Issue
Block a user