Files
HotLunches/hotlunch_menu_dates.js.php
2026-10-19 15:22:52 -07:00

633 lines
21 KiB
PHP

$(document).on('click', '.menu-date-field', function(e) {
var rnum = $(this).attr('rnum');
var cdate = $(this).html();
});
$(document).on('click', '.menu-active-field', function(e) {
var cspan = $(this);
var rnum = $(this).attr('rnum');
var active = $(this).html();
var schedule_num = $("#current_schedule_num").val();
var data = "table_name=hotlunch_menu_dates&schedule_num="+schedule_num+"&record_num="+rnum;
var newvalue;
if (active == 'Y') {
newvalue = 'N';
}
if (active == 'N') {
newvalue = 'Y';
}
data += "&active="+newvalue;
$.getJSON("ajax.DataRecord.Update.php", data,
function(results) {
cspan.html(newvalue);
}
);
});
$(document).on('click', '.modify-menus', function(e) {
e.preventDefault();
var schedule_num = $("#current_schedule_num").val();
var action = $(this).attr('action');
var ans = false;
if (action == 'delete-all-menus') {
ans = confirm("<?php displayLanguageText('TEXT-CONFIRM-DELETE-OF-ALL-MENUS'); ?>");
}
else {
ans = confirm("<?php displayLanguageText('TEXT-CONFIRM-ACTION'); ?>");
}
if (ans) {
$.getJSON("ajax.MenuDates.Update.php",
{
table_name: "hotlunch_menu_dates",
schedule_num: schedule_num,
action: action
},
function(results) {
if (results.ajax_return_code == -1) {
alert(results.error_message);
return;
}
if (results.reload_data == 'Y') loadData(custom_data);
var msg = "<?php displayLanguageText('TEXT-PROCESS-COMPLETED'); ?>";
if (results.ajax_message.length > 0) msg += "\n" + results.ajax_message;
alert(msg);
}
);
}
});
$("#delete-selected-menus").click(function(e) {
e.preventDefault();
var schedule_num = $("#current_schedule_num").val();
var id;
var ids = '';
var title;
var titles = '';
$(".menu-date-checkbox").each(function() {
id = $(this).attr('id');
if ($(this).prop('checked')) {
if (ids.length) ids += ',';
ids += id;
title = ' - '+$("#delete-title1-"+id).html();
if ($("#delete-title2-"+id).length) title += ' - '+$("#delete-title2-"+id).html();
titles += title+"\n";
}
});
if (ids.length) {
var msg = "<?php displayLanguageText('TEXT-CONFIRM-DELETE'); ?>\n\n"+titles;
var ans = confirm(msg);
if (ans) {
$.getJSON("ajax.MenuDates.Update.php",
{
table_name: "hotlunch_menu_dates",
schedule_num: schedule_num,
selected_menus: ids,
action: 'delete-selected-menus'
},
function(results) {
if (results.ajax_return_code == -1) {
alert(results.error_message);
return;
}
if (results.reload_data == 'Y') loadData(custom_data);
var msg = "<?php displayLanguageText('TEXT-PROCESS-COMPLETED'); ?>";
if (results.ajax_message.length > 0) msg += "\n" + results.ajax_message;
alert(msg);
}
);
}
}
else {
alert("<?php displayLanguageText('ERRORMSG-NO-MENU-DATES-SELECTED'); ?>");
}
});
$(document).on('click', '#edit-menus', function(e) {
e.preventDefault();
var schedule_num = $("#current_schedule_num").val();
location.href = '?action=menu-dates-edit&schedule_num='+schedule_num;
});
$("#modify-menu-links-dialog").dialog({
autoOpen: false,
minWidth: 250,
modal: true,
position: { my: 'center', at: 'center' }
});
$("#modify-menu-link-dialog").dialog({
autoOpen: false,
minWidth: 250,
modal: true,
position: { my: 'center', at: 'center' }
});
$("#generate-menu-dialog").dialog({
autoOpen: false,
minWidth: 600,
minHeight: 600,
modal: true,
position: { my: 'center', at: 'center' }
});
$("#copy-menu-dialog").dialog({
autoOpen: false,
minWidth: 600,
minHeight: 600,
modal: true,
position: { my: 'center', at: 'center' }
});
$("#copy-menu-tabs").tabs();
$(document).on('click', '#modify-menu-links', function(e) {
e.preventDefault();
var schedule_num = $("#current_schedule_num").val();
$("#modify-menu-links-dialog").dialog('open');
});
$(document).on('click', '.modify-links', function(e) {
e.preventDefault();
var schedule_num = $("#current_schedule_num").val();
var action = 'modify-menu-links';
var new_link = $(this).attr('new');
$("#modify-menu-links-dialog").dialog('close');
$.getJSON("ajax.MenuDates.Update.php",
{
table_name: "hotlunch_menu_dates",
schedule_num: schedule_num,
action: action,
new_menu_link: new_link
},
function(results) {
if (results.ajax_return_code == -1) {
alert(results.error_message);
return;
}
if (results.reload_data == 'Y') {
loadData(custom_data);
if (new_link == 'No') $("#modify-menu-links").hide();
}
var msg = "<?php displayLanguageText('TEXT-PROCESS-COMPLETED'); ?>";
if (results.ajax_message.length > 0) msg += "\n" + results.ajax_message;
alert(msg);
}
);
});
$(document).on('click', '.generate-menu-icon', function(e) {
e.preventDefault();
var schedule_num = $("#current_schedule_num").val();
var menu_num = $(this).attr('mnum');
var mtitle;
var title = "<?php displayLanguageText('TEXT-MULTI-MENU-GENERATE'); ?>";
var mlink = $("#menu-date-link-"+menu_num).val();
if (mlink != 'No') {
alert("<?php displayLanguageText('TEXT-UNABLE-TO-GENERATE-LINKED-MENU'); ?>");
return;
}
$("#generate-menu-title").html('');
if ($("#mtitle-"+menu_num)) {
mtitle = $("#mtitle-"+menu_num).val();
mtitle = "<p align='center'><b>"+mtitle+"</p>";
$("#generate-menu-title").html(mtitle);
}
$("#current_menu_num").val(menu_num);
$("#supplier-products-div").html('');
$(".generate-menu-btn").hide();
$("#top-generate-buttons").hide();
$("#generate-menu-dialog").dialog('open');
loadMenuDates();
});
function loadMenuDates() {
var schedule_num = $("#current_schedule_num").val();
var menu_num = $("#current_menu_num").val();
var title = "<?php displayLanguageText('TEXT-MULTI-MENU-GENERATE'); ?>";
var data = "table_name=hotlunch_menu_dates"+
"&sequence_flag=N"+
"&action=copy-menu-dates-list"+
"&schedule_num="+schedule_num+
"&menu_num="+menu_num+
"&title="+title+
"&field_name=generate_menu_dates"+
"&table_id=hotlunch-menu-dates";
$.getJSON( "ajax.DataTable.Fetch.php",data,
function(results) {
$("#generate-menu-dates-div").html(results.content);
}
);
}
$("#cancel-generate-btn").click(function(e) {
e.preventDefault();
$("#generate-menu-dialog").dialog('close');
});
$("#clear-generate-btn").click(function(e) {
e.preventDefault();
$("#supplier-search").val('');
$("#supplier-select").val('');
$(".generate-menu-btn").hide();
$("#top-generate-buttons").hide();
$("#supplier-products-div").html('');
});
$("#supplier-search").autocomplete({
source: "ajax.supplierSearch.php?mode=current-school",
dataType: "json",
minLength: 2,
width: 750,
selectFirst: false,
select: function( event, results ) {
var supplier_num = results.item.supplier_num;
$("#current_supplier_num").val(supplier_num);
displayProducts();
}
});
$("#supplier-select").change(function() {
var supplier_num = $(this).val();
$("#current_supplier_num").val(supplier_num);
displayProducts();
});
function displayProducts() {
var supplier_num = $("#current_supplier_num").val();
$(".generate-menu-btn").hide();
$("#top-generate-buttons").hide();
var data = "table_name=supplier_products"+
"&sequence_flag=N"+
"&action=supplier-products-select"+
"&supplier_num="+supplier_num+
"&table_id=supplier-products";
$.getJSON( "ajax.DataTable.Fetch.php",data,
function(results) {
$("#supplier-products-div").html(results.content);
if (results.ajax_return_code == 0) {
$("#supplier-search").val('');
$("#supplier-select").val('');
$(".generate-menu-btn").show();
if (results.num_products > 3) $("#top-generate-buttons").show();
}
}
);
}
$(document).on('change', '#select-all-products', function() {
if ($("#select-all-products").prop('checked')) {
$(".selected_products").each(function() {
$(this).prop('checked',true);
});
}
else {
$(".selected_products").each(function() {
$(this).prop('checked',false);
});
}
});
$(document).on('change', '#select-all-generate-menu-dates', function() {
if ($("#select-all-generate-menu-dates").prop('checked')) {
$(".generate_menu_dates").each(function() {
$(this).prop('checked',true);
});
}
else {
$(".generate_menu_dates").each(function() {
$(this).prop('checked',false);
});
}
});
$(".generate-menu-btn").click(function(e) {
e.preventDefault();
var schedule_num = $("#current_schedule_num").val();
var menu_num = $("#current_menu_num").val();
var supplier_num = $("#current_supplier_num").val();
var supplier_products = [];
var menu_dates = [];
$(".generate_menu_dates:checkbox:checked").each(function() {
menu_dates.push($(this).val());
});
if (menu_dates.length == 0) {
alert("<?php displayLanguageText('ERRORMSG-NO-MENU-DATES-SELECTED'); ?>");
return;
}
$(".selected_products:checkbox:checked").each(function() {
supplier_products.push($(this).val());
});
if (supplier_products.length == 0) {
alert("<?php displayLanguageText('ERRORMSG-NO-PRODUCTS-SELECTED'); ?>");
return;
}
$.getJSON("ajax.Menu.Generate.php",
{
schedule_num: schedule_num,
menu_num: menu_num,
selected_menu_dates: menu_dates,
supplier_num: supplier_num,
supplier_products: supplier_products
},
function(results) {
if (results.ajax_return_code == -1) {
alert(results.error_message);
return;
}
$("#supplier-search").val('');
$("#supplier-select").val('');
$(".generate-menu-btn").hide();
$("#top-generate-buttons").hide();
$("#supplier-products-div").html('');
loadData(custom_data);
loadMenuDates();
alert(results.ajax_message);
}
);
});
$(document).on('click', '.menu-link-span', function() {
var sid = $(this).attr('id');
var menu_link = $(this).attr('link');
var schedule_num = $("#current_schedule_num").val();
var menu_num = $(this).attr('menu_num');
if (menu_link == undefined) return;
if (menu_link == 'No') return;
$("#current-menu-num").val(menu_num);
$("#modify-menu-link-dialog").dialog('open');
});
$(document).on('click', '.modify-link', function(e) {
e.preventDefault();
var schedule_num = $("#current_schedule_num").val();
var menu_num = $("#current-menu-num").val();
var action = 'change-menu-link';
var new_link = $(this).attr('new');
var message = "<?php displayLanguageText('TEXT-CONFIRM-ACTION'); ?>";
if (new_link == 'No') {
ans = confirm("<?php displayLanguageText('TEXT-CONFIRM-ACTION'); ?>");
if (ans == false) return;
}
$("#modify-menu-link-dialog").dialog('close');
$.getJSON("ajax.MenuDates.Update.php",
{
table_name: "hotlunch_menu_dates",
schedule_num: schedule_num,
menu_num: menu_num,
action: action,
new_menu_link: new_link
},
function(results) {
if (results.ajax_return_code == -1) {
alert(results.error_message);
return;
}
loadData(custom_data);
}
);
});
$(document).on('click', '.copy-menu-icon', function(e) {
e.preventDefault();
var schedule_num = $("#current_schedule_num").val();
var menu_num = $(this).attr('mnum');
$("#current_menu_num").val(menu_num);
var num_items = $("#num-menu-items-"+menu_num).val();
$("#copy-menu-tab").show();
$("#copy-menu-tabs").tabs({ active: 0 });
$("#copy-source-menu").empty();
var mlink = $("#menu-date-link-"+menu_num).val();
if (mlink != 'No') {
alert("<?php displayLanguageText('TEXT-UNABLE-TO-COPY-A-LINKED-MENU'); ?>");
return;
}
if (num_items == 0) {
$("#copy-menu-tab").hide();
$("#copy-menu-tabs").tabs({ active: 1 });
}
$("#copy-menu-title").html('');
if ($("#mtitle-"+menu_num)) {
var mtitle = $("#mtitle-"+menu_num).val();
var source_title = "<p align='center'><b><?php displayLanguageText('TEXT-SOURCE-MENU'); ?>: "+mtitle+"</p>";
var target_title = "<p align='center'><b><?php displayLanguageText('TEXT-TARGET-MENU'); ?>: "+mtitle+"</p>";
$("#target-title").val(mtitle);
$("#copy-menu-title").html(source_title);
$("#target-menu-title").html(target_title);
}
$("#current_menu_num").val(menu_num);
$("#copy-menu-btn").hide();
var data = "table_name=hotlunch_menu_dates"+
"&sequence_flag=N"+
"&action=copy-menu-dates-list"+
"&schedule_num="+schedule_num+
"&menu_num="+menu_num+
"&table_id=hotlunch-menu-dates";
$.getJSON( "ajax.DataTable.Fetch.php",data,
function(results) {
$("#copy-menu-dates-div").html(results.content);
$("#copy-source-schedule").val('');
$("#copy-menu-link").val('Yes');
$("#copy-menu-link").val('No');
$("#copy-menu-btn").show();
$("#copy-menu-dialog").dialog('open');
}
);
});
$(document).on('change', '#select-all-menu-dates', function() {
if ($("#select-all-menu-dates").prop('checked')) {
$(".selected_menu_dates").each(function() {
$(this).prop('checked',true);
});
}
else {
$(".selected_menu_dates").each(function() {
$(this).prop('checked',false);
});
}
});
$(document).on('change', '#copy-source-schedule', function() {
var snum = $(this).val();
// Get menus for the schedule
$.getJSON("ajax.DataSet.Fetch.php",
{
dataset: 'schedule-menus',
schedule_num: snum
},
function(results) {
var data = results.data;
$("#copy-source-menu").empty();
$.each(data, function(key, entry) {
$("#copy-source-menu").append($("<option></option>").attr("value",entry.value).text(entry.text));
});
}
);
});
$(".cancel-copy-menu-btn").click(function(e) {
e.preventDefault();
$("#copy-menu-dialog").dialog('close');
});
$("#copy-menu-btn").click(function(e) {
e.preventDefault();
var schedule_num = $("#current_schedule_num").val();
var menu_num = $("#current_menu_num").val();
var menu_link = $("#copy-menu-link").val();
var copy_menu_title = $("#copy_menu_title").val();
var menu_dates = [];
$(".selected_menu_dates:checkbox:checked").each(function() {
menu_dates.push($(this).val());
});
$("#copy-mode").val('source');
copyMenu(schedule_num, menu_num, menu_link, copy_menu_title, menu_dates);
});
$("#copy-other-menu-btn").click(function(e) {
e.preventDefault();
var schedule_num = $("#current_schedule_num").val();
var menu_num = $("#copy-source-menu").val();
var target_menu_num = $("#current_menu_num").val();
var menu_link = 'No';
var copy_menu_title = 'Y';
var menu_dates = [target_menu_num];
$("#copy-mode").val('target');
copyMenu(schedule_num, menu_num, menu_link, copy_menu_title, menu_dates);
});
function copyMenu(schedule_num, menu_num, menu_link, copy_menu_title, menu_dates) {
var ans = false;
var mtitle = $("#target-title").val();
var copy_mode = $("#copy-mode").val();
var message = "<?php displayLanguageText('TEXT-CONFIRM-ACTION'); ?>\n" +
"\n";
if (copy_mode == 'target') {
message += "<?php displayLanguageText('TEXT-TARGET-MENU'); ?>: "+mtitle+"\n";
}
else {
message += "<?php displayLanguageText('TEXT-SOURCE-MENU'); ?>: "+mtitle+"\n";
message += "<?php displayLanguageText('TEXT-MENU-LINK'); ?>: "+menu_link;
}
ans = confirm(message);
if (ans) {
$.getJSON("ajax.MenuDates.Update.php",
{
table_name: "hotlunch_menu_dates",
action: 'copy-menu',
schedule_num: schedule_num,
menu_num: menu_num,
menu_link: menu_link,
menu_dates: menu_dates,
copy_menu_title: copy_menu_title
},
function(results) {
if (results.ajax_return_code == -1) {
alert(results.error_message);
return;
}
loadData(custom_data);
if (menu_link != 'No') $("#modify-menu-links").show();
var msg = "<?php displayLanguageText('TEXT-PROCESS-COMPLETED'); ?>";
if (results.ajax_message.length > 0) msg += "\n" + results.ajax_message;
alert(msg);
$("#copy-menu-dialog").dialog('close');
}
);
}
}
<?php if ($_SESSION['UserInfo']['type'] == 'SuperUser') { ?>
$("#fix-menu-item-products").click(function(e) {
e.preventDefault();
var schedule_num = <?php echo($schedule_num) ?>;
$.ajax({
url: "ajax.fixMenuProducts.php",
data: {
schedule_num: schedule_num,
supplier_school_num: <?php echo($supplier_school_num) ?>
},
dataType: 'json'
}).done(function(results) {
alert(results.ajax_return_msg);
});
});
<?php } ?>