Sindbad~EG File Manager
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel = "stylesheet" href = "https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@4.5.3/dist/css/bootstrap.min.css">
<link rel="stylesheet" type="text/css" href="/static/css/style.css">
<title>MC Delegate</title>
<style type="text/css">
.card{
line-height: 0.80rem;
}
</style>
</head>
<body>
<div class="container-fluid" style="padding: 10px 5px 10px 5px; width:97%;">
<div class="row">
<div class="col-md-12 col-sm-12">
<form method="POST" action="{{url_for('signup.postCMESearch',conf_id=conf_id,conf_key=conf_key)}}" id="search_frm">
<input type="hidden" name="conf_id" id="conf_id" value="{{conf_id}}">
<input type="hidden" name="conf_key" id="conf_key" value="{{conf_key}}">
<div id="msg_div" style="min-height: 14px;max-height:60px;text-align: center;color:white;vertical-align: middle; font-weight:bold;font-size: 18px;display: none"><label id="msg_label" class="text-white"></label>
</div>
<label><h3>Search</h3></label>
<div class="input-group">
<input type="search" id="search_delegate" name="search_delegate" placeholder="Search here..." class="form-control" value="{{search_data or ''}}">
<div class="input-group-append">
<a href="{{url_for('signup.getCMESearch',conf_id=conf_id,conf_key=conf_key)}}" class="btn btn-danger"><i class="fa fa-times-circle" aria-hidden="true"></i></a>
</div>
</div>
<label id="search_delegate-error" class="error" for="search_delegate"></label>
<br>
<div class="col-md-12 p-0">
<div class="text-md-center text-sm-left">
<button class="btn btn-danger" type="submit" id="search_delegate_btn" value="Search Del. No" name="search_btn">
<i class="fa fa-search" aria-hidden="true"></i> Delegate No.
</button>
<button class="btn btn-primary" type="submit" id="search_content_btn" value="Search Name/Email/Mobile" name="search_btn" style='display:none'>
<i class="fa fa-search" aria-hidden="true"></i> Name/Email/Mobile
</button>
<!-- <input type="submit" id="search_delegate_btn" class="btn btn-primary" value="Search Del. No" name="search_btn"> -->
<!-- <input type="submit" id="search_content_btn" class="btn btn-primary" value="Search Name/Email/Mobile" name="search_btn"> -->
</div>
</div>
<br>
{% if msg: %}
<h3 class="alert alert-danger text-center text-danger">{{msg}}</h3>
{% endif %}
<label>SignedUp count : </label><span class="text-danger" id="total_signed_on" name="total_signed_on"> {{total or '0'}}</span>
{% if members: %}
{% for row in members %}
<div class="card p-1">
<div class="alert p-2 mb-2 alert-success alert-{{row.delegate_no}}" style="display:none;">
</div>
<div class="row">
<div class="col-lg-6 col-md-6 col-sm-6" >
<label>{{row.full_name or ''}}</label>
</div>
</div>
<div class="row">
<div class="col-md-6 col-sm-4">
<label><span style="color:#bd2130;">{{row.counter or ''}}</span> - <span style="color:#0286b0;">{{row.batch or ''}}</span> - <span style="color:#bd2130;">{{row.delegate_no or ''}}</span><span style="color:#8f227e !important;"> {% if row.role :%} | {{row.role or ''}} {% endif %} </span></label>
</div>
</div>
<div class="row">
<div class="col-md-12">
<label>{{row.email or ''}} {% if row.email and row.mobile: %}/{% endif %} {{row.mobile or ''}}</label>
</div>
<div class="col-md-12">
<label>{{row.mc_number or ''}} {% if row.mc_number and row.state: %}/{% endif %} {{row.state or ''}}</label>
</div>
</div>
<div class="row">
<div class="col-lg-3 col-md-3 col-sm-6">
<button type="button" class="btn btn-success btn-sm edit_btn" id="edit_btn_{{row.delegate_no}}" data-toggle="modal" data-target="#myEditModal" data-id="{{row.delegate_no}}"><i class="fa fa-edit" aria-hidden="true"></i></button>
</div>
<div class="col-lg-3 col-md-3 col-sm-6 mt-2">
{% if row.signed_on == None : %}
<button type="button" class="btn btn-danger btn-sm sign_btn" id="signup_btn_{{row.delegate_no}}" data-toggle="modal" data-target="#myModal" data-id="{{row.delegate_no}}">Signup <i class="fa fa-sign-in" aria-hidden="true"></i></button>
{% else %}
<label id="signed_date_{{row.delegate_no}}" name="signed_date" class="text-danger">Signed on : {{row.signed_on.strftime('%d-%m-%Y %H:%M') if row.signed_on else ''}}</label>
{% endif %}
</div>
</div>
</div>
{% endfor %}
{% endif %}
</form>
<div class="modal" id="myModal">
<div class="modal-dialog modal-lg">
<div class="modal-content">
<div class="modal-header">
<label><h3>SignUp</h3></label>
<button type="button" class="close" data-dismiss="modal">×</button>
</div>
<div class="modal-body">
<div class="col-md-12">
<label>Signedup By</label>
</div>
<input type="hidden" name="delegate_no" id="delegate_no">
<div class="col-md-12">
<input type="radio" class="form-input" name="signup" id="representive" value="Representive"><label for="representive" class="ml-2">Representive</label>
<input type="radio" class="form-input ml-3" name="signup" id="delegate" value="Delegate"><label for="delegate" class="ml-2">Delegate</label><br>
<label id="signup-error" class="error" for="signup" style="color:rgb(226, 5, 5)"></label>
</div>
<div class="col-md-12">
<label>Remarks</label>
<textarea class="form-control" id="remarks" name="remarks" rows="3"></textarea>
</div>
</div>
<hr>
<div class="col-md-12 text-center p-2 mb-2">
<input type="button" class="btn btn-primary" id="save" name="save_btn" onclick="save_signeddata()" value="Save">
</div>
</div>
</div>
</div>
<div class="modal" id="myEditModal">
<div class="modal-dialog modal-lg">
<div class="modal-content">
<div class="modal-header">
<label><h3>EDIT</h3></label>
<button type="button" class="close" data-dismiss="modal">×</button>
</div>
<div class="modal-body">
<form id="edit_form">
<input type="hidden" name="delegate_no_cme" id="delegate_no_cme">
<div class="row">
<div class="col-md-6 form-group">
<label>Prefix</label>
</div>
<div class="col-md-6 form-group">
<select class="form-control" id="prefix" name="prefix" required>
<option value="" id="select">Select Prefix</option>
<option value="Mr.">Mr.</option>
<option value="Mrs.">Mrs.</option>
<option value="Dr." >Dr.</option>
<option value="Ms.">Ms.</option>
<option value="Prof.">Prof.</option>
</select>
</div>
<div class="col-md-6 form-group">
<label>Full Name</label>
</div>
<div class="col-md-6 form-group">
<input type="text" name="full_name" id="full_name" class="form-control" required>
</div>
<div class="col-md-6 form-group" >
<label>Email</label>
</div>
<div class="col-md-6 form-group">
<input type="text" name="email" id="email" class="form-control" required>
</div>
<div class="col-md-6 form-group">
<label>Mobile</label>
</div>
<div class="col-md-6">
<input type="text" name="mobile" id="mobile" class="form-control" required>
</div>
<div class="col-md-6 form-group">
<label>MC Number</label>
</div>
<div class="col-md-6">
<input type="text" name="mc_number" id="mc_number" class="form-control" required>
</div>
<div class="col-md-6 form-group">
<label>MC State</label>
</div>
<div class="col-md-6 form-group">
<select class = "form-control" id = "mc_state" name = "mc_state" required>
<option value = "" id = "select">Select</option>
</select>
</div>
</div>
</form>
</div>
<hr>
<div class="col-md-12 text-center p-2 mb-2">
<input type="button" class="btn btn-primary" id="update" name="update_btn" onclick="update_delegatedata()" value="Update">
<button type="button" class="btn btn-danger ml-2" data-dismiss="modal">Close</button>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</body>
<script src="/static/js/jquery.min.js" charset="utf-8"></script>
<script src="/static/js/jquery.validate.js" charset="utf-8"></script>
<script src="/static/js/popper.min.js" charset="utf-8"></script>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@4.6.1/dist/js/bootstrap.bundle.min.js"></script>
<script type="text/javascript">
var BaseUrl = document.location.origin;
$(document).ready( function ()
{
onchange_country()
$("button[name = 'search_btn']").click(function()
{
validate_prosec_form()
if(!$("#search_frm").valid())
{
return false
}
})
$(document).on("click", ".sign_btn", function () {
var delegate_no = $(this).data('id');
// alert(delegate_no)
$("#delegate_no").val(delegate_no);
});
})
function validate_signup()
{
$("#signup-error").text("");
if ($("input[type=radio]").is(":checked")) {
return true;
}
else {
$("#signup-error").text("Please select Signup type");
return false;
}
}
function save_signeddata()
{
$("#signup-error").text("");
var signup = $("input[type=radio]:checked").val();
if ($("input[type=radio]").is(":checked") == false) {
$("#signup-error").text("Please select Signup type");
}
else
{
var remarks = $("#remarks").val();
var delegate_no = $("#delegate_no").val();
var conf_id = $("#conf_id").val();
var conf_key = $("#conf_key").val();
$.ajax({
type: 'POST',
url: "/"+conf_id+"/"+conf_key+"/insert_cme_signup",
data:
{
'signup':signup,
'remarks':remarks,
'delegate_no': delegate_no
},
dataType: 'json',
success: function(data)
{
var status= data.status;
var msg = data.msg;
if (status ==1) {
$("#myModal").modal("hide");
$("#total_signed_on").html(data.total_signed_on);
$("#signed_date_"+delegate_no).html(data.signup_date);
$("#signup_btn_"+delegate_no).hide();
// $("#msg_div").show();
// $("#msg_label").html("#"+delegate_no+" Signed Up successfully");
$(".alert-"+delegate_no).show()
$(".alert-"+delegate_no).html("#"+delegate_no+" Signed Up successfully on "+data.signup_date);
setTimeout(function(){
$("#msg_label").html('');
}, 20000);
}
else {
$("#myModal").modal("hide");
$("#msg_div").show();
$("#msg_label").html(msg);
$("#msg_div").css("background" ,"red" );
}
},
error: function(XMLHttpRequest, textStatus, errorThrown){}
});
return false;
}
}
function validate_prosec_form()
{
errorclass : 'error',
$("#search_frm").validate({
rules : {
search_delegate : {
required : true,
normalizer: function (value) {
return $.trim(value);
}
},
},
messages : {
search_delegate : {
required : "Please enter data"
},
},
highlight: function(element) {
$(element).parent().addClass('error')
},
unhighlight: function(element) {
$(element).parent().removeClass('error')
},
submitHandler: function(form) {
form.submit();
}
})
}
$(document).on("click", ".edit_btn", function () {
var delegate_no = $(this).data('id');
// alert(delegate_no)
$("#delegate_no_cme").val(delegate_no);
var conf_id = $("#conf_id").val();
var conf_key = $("#conf_key").val();
$.ajax({
type: 'POST',
url: "/"+conf_id+"/"+conf_key+"/get_delegate_data_cme",
data:
{
'delegate_no': delegate_no
},
dataType: 'json',
success: function(data)
{
// alert(data)
$("#delegate_no_cme").val(delegate_no);
$('#prefix').val(data.prefix)
$('#full_name').val(data.full_name)
$('#email').val(data.email)
$('#mobile').val(data.mobile)
$('#mc_number').val(data.mc_number)
$("#mc_state").val(data.mc_state_id)
// /$('#mc_state').val(data.full_name)
},
error: function(XMLHttpRequest, textStatus, errorThrown){}
});
return false;
});
function onchange_country()
{
var country_id=101;
$.ajax({
type: 'GET',
url: BaseUrl+"/mc_state",
data:{
country_id:country_id
},
dataType: 'json',
success: function(data){
$("#mc_state").empty();
$("#mc_state").append($("<option></option>").val('').html('Select State'));
$.each(data, function (i, state)
{
$("#mc_state").append($("<option></option>").val(state.state_id).html(state.state_name));
// $("#mc_state_name").val(state.state_name);
})
//For edit state select from user table
},
error: function(XMLHttpRequest, textStatus, errorThrown) {
}
});
}
function update_delegatedata()
{
validate_edit_form()
if(!$("#edit_form").valid())
{
return false
}
var prefix = $('#prefix').val();
var full_name = $('#full_name').val();
var email = $('#email').val();
var mobile = $('#mobile').val();
var mc_number = $('#mc_number').val();
var mc_state_id = $('#mc_state').val();
var delegate_no = $("#delegate_no_cme").val();
var conf_id = $("#conf_id").val();
var conf_key = $("#conf_key").val();
$.ajax({
type: 'POST',
url: "/"+conf_id+"/"+conf_key+"/update_delegatedata_cme",
data:
{
'prefix':prefix,
'full_name':full_name,
'email': email,
'mobile':mobile,
'mc_number':mc_number,
'mc_state_id':mc_state_id,
'delegate_no':delegate_no
},
dataType: 'json',
success: function(data)
{
var status= data.status;
var msg = data.msg;
if (status ==1) {
$("#myEditModal").modal("hide");
$("#msg_div").show();
$("#msg_label").html(msg);
$("#msg_div").css("background" ,"green" );
setTimeout(function(){
window.location.reload();
}, 1000);
}
else {
$("#myEditModal").modal("hide");
$("#msg_div").show();
$("#msg_label").html(msg);
$("#msg_div").css("background" ,"red" );
}
},
error: function(XMLHttpRequest, textStatus, errorThrown){}
});
return false;
}
function validate_edit_form()
{
errorclass : 'error',
$("#edit_form").validate({
rules : {
prefix : "required",
full_name : "required",
mobile : {
required : true,
minlength : 10,
maxlength : 15
},
email : "required"
},
messages : {
prefix : "Please select the prefix",
full_name : "Please enter full name",
mobile : {
required : "Please enter mobile number",
maxlength : "Mobile Number provided is too long",
minlength : "Mobile number must be 10 digits"
},
email : "Please enter email id"
},
highlight: function(element) {
$(element).parent().addClass('error')
},
unhighlight: function(element) {
$(element).parent().removeClass('error')
},
submitHandler: function(form) {
form.submit();
}
})
}
</script>
</html>
Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists