First Commit
This commit is contained in:
1 parent
5eb9dd037d
commit
2e62c0e60b
11877 files changed
+2035312
No files matched your search
@@ -0,0 +1,420 @@
|
||||
<?php
|
||||
require_once("include/globals.php");
|
||||
|
||||
if (SessionActive() != 1 || ! UserLoggedIn()) {
|
||||
header("Location: /");
|
||||
exit();
|
||||
}
|
||||
|
||||
$AllowedUserTypes = array('SuperUser','System Administrator','Application Administrator','Application Volunteer','Schedule Volunteer','Administration Team','Schedule Team','Supplier');
|
||||
if (checkPermission($AllowedUserTypes) == 1) {
|
||||
include "hotlunch_reports.menu.php";
|
||||
}
|
||||
|
||||
|
||||
|
||||
// Get schedule information
|
||||
$query = "select * from hotlunch_schedules " .
|
||||
"where school_num = $school_num " .
|
||||
"and record_num = $schedule_num";
|
||||
$results = db_query($query);
|
||||
|
||||
if (db_num_rows($results) == 0) {
|
||||
echo("<br>\n");
|
||||
$error_message = "Invalid lunch schedule id";
|
||||
include "form.messages.php";
|
||||
return;
|
||||
}
|
||||
|
||||
$schedule_record = db_fetch_array($results);
|
||||
$schedule_name = $schedule_record['schedule_name'];
|
||||
|
||||
|
||||
// If this is a ScheduleTeam user check if they have permission to access this schedule
|
||||
if (in_array($_SESSION['UserInfo']['type'],array('Schedule Team','Schedule Volunteer'))) {
|
||||
$userNum = $_SESSION['UserInfo']['record_num'];
|
||||
$access = db_getVal("SELECT count(*) FROM hotlunch_schedules_people WHERE school_num = $school_num AND schedule_num = $schedule_num AND user_num = $userNum");
|
||||
|
||||
if (!$access || $access == 0) {
|
||||
echo("<br>\n");
|
||||
$error_message = "You are not allowed access to the requested hot lunch schedule";
|
||||
include "form.messages.php";
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
?>
|
||||
|
||||
<br>
|
||||
<form method='post' action='/' name='orderform'>
|
||||
<?php
|
||||
|
||||
$form_width = '80%';
|
||||
$message_width = $form_width;
|
||||
include "form.messages.php";
|
||||
?>
|
||||
<table width='<?php echo($form_width) ?>' class='content-table'>
|
||||
<tr>
|
||||
<td align='center' class='heading'><?php displayLanguageText('TEXT-MENU-PRICE-UPDATE'); ?> - <?php echo($schedule_name) ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align='center'>
|
||||
<br>
|
||||
<table width='920' cellpadding='1' cellspacing='1' border='0'>
|
||||
<?php
|
||||
// Handle a selected menu date
|
||||
$mwhere = "";
|
||||
if (isset($selected_menu_num) && $selected_menu_num > 0) $mwhere = "AND record_num = $selected_menu_num ";
|
||||
|
||||
// Get menu dates for this schedule
|
||||
$query = "select * from hotlunch_menu_dates " .
|
||||
"where school_num = $school_num " .
|
||||
"and schedule_num = $schedule_num " .
|
||||
$mwhere .
|
||||
"order by sequence,menu_date";
|
||||
$menu_dates = db_query($query);
|
||||
|
||||
while ($menu_date = db_fetch_array($menu_dates)) {
|
||||
$menu_num = $menu_date['record_num'];
|
||||
$menu_title = $menu_date['menu_title'];
|
||||
$menu_link = $menu_date['menu_link'];
|
||||
|
||||
if ($menu_link != 'No') $menu_title .= " - Linked Menu: $menu_link";
|
||||
|
||||
// Get menu items for this menu date
|
||||
$query = "select * from hotlunch_menu_items " .
|
||||
"where school_num = $school_num " .
|
||||
"and menu_num = $menu_num " .
|
||||
"order by sequence";
|
||||
$menu_items = db_query($query);
|
||||
|
||||
$menuTitle = $menu_title;
|
||||
if ($hotlunch_schedule['display_menu_date'] == 'Y') $menuTitle .= ' - '.date($school_record['date_format'],strtotime($menu_date['menu_date']));
|
||||
$menuTitle = str_replace("'","'",$menuTitle);
|
||||
$mTitle = "<input type='hidden' id='menu-title-$menu_num' value='$menuTitle'>";
|
||||
|
||||
?>
|
||||
<tr>
|
||||
<td align='left' colspan='9' class='success'>
|
||||
<table width='100%' cellspacing='0' cellpadding='0' border='0'>
|
||||
<tr>
|
||||
<td align='left' class='success'><b><?php echo($menu_title); echo($mTitle); ?></td>
|
||||
<?php if ($hotlunch_schedule['display_menu_date'] == 'Y') { ?>
|
||||
<td align='right' class='success'><?php echo(date($school_record['date_format'],strtotime($menu_date['menu_date']))) ?></b></td>
|
||||
<?php } else { ?>
|
||||
<td class='success'> </td>
|
||||
<?php } ?>
|
||||
</tr>
|
||||
</td>
|
||||
</table>
|
||||
</tr>
|
||||
<?php
|
||||
if (db_num_rows($menu_items) > 0) {
|
||||
?>
|
||||
<tr>
|
||||
<td align='left' class='oitem'><b><?php displayLanguageText('TEXT-ITEM'); ?></b></td>
|
||||
<td width='60' align='center' class='oitem'><b><?php displayLanguageText('TEXT-GROUP'); ?></b></td>
|
||||
<td width='60' align='center' class='oitem'><b><?php displayLanguageText('TEXT-DISPLAY-PRICES'); ?></b></td>
|
||||
<td width='60' align='right' class='oitem'><b><?php displayLanguageText('TEXT-ON-LINE'); ?></b></td>
|
||||
<td width='60' align='right' class='oitem'><b><?php displayLanguageText('TEXT-PAPER'); ?></b></td>
|
||||
<td width='60' align='right' class='oitem'><b><?php displayLanguageText('TEXT-COST'); ?></b></td>
|
||||
<td width='60' align='center' class='oitem'><b><?php displayLanguageText('TEXT-TAXABLE'); ?></b></td>
|
||||
<td width='60' align='center' class='oitem'><b><?php displayLanguageText('TEXT-SALES-SUMMARY'); ?></b></td>
|
||||
<td align='center' class='oitem'> </td>
|
||||
</tr>
|
||||
<?php
|
||||
}
|
||||
|
||||
$Groups = array('A','B','C','D','E','F','G','H','I','J','K','L','M');
|
||||
|
||||
|
||||
$class = 'data-odd';
|
||||
while ($menu_item = db_fetch_array($menu_items)) {
|
||||
extract($menu_item);
|
||||
|
||||
$menu_item_num = $record_num;
|
||||
if ($class == 'data-odd') $class = 'data-even';
|
||||
else $class = 'data-odd';
|
||||
|
||||
if ($item_type != 'Heading') {
|
||||
$item_cost = 0;
|
||||
$item_cost = floatval(db_getVal("select sum((package_cost / package_qty) * supplier_product_qty) " .
|
||||
"from hotlunch_menu_products,supplier_products " .
|
||||
"where hotlunch_menu_products.school_num = $school_num " .
|
||||
"and supplier_products.school_num = $supplier_school_num " .
|
||||
"and menu_item_num = $menu_item_num " .
|
||||
"and supplier_product_num = supplier_products.record_num"));
|
||||
|
||||
// Setup field names
|
||||
$ofield = "oprice_$menu_item_num";
|
||||
$pfield = "pprice_$menu_item_num";
|
||||
$gfield = "group_$menu_item_num";
|
||||
$dfield = "display_$menu_item_num";
|
||||
$tfield = "taxable_$menu_item_num";
|
||||
|
||||
$fpm = " item_num='$menu_item_num' size='6' style='text-align: right; float: right;'";
|
||||
|
||||
if (!isset($sales_summary_item)) $sales_summary_item = 'Y';
|
||||
|
||||
$disabled = '';
|
||||
$query = "SELECT count(*) FROM hotlunch_order_items " .
|
||||
"WHERE school_num = $school_num " .
|
||||
"AND schedule_num = $schedule_num " .
|
||||
"AND menu_num = $menu_num " .
|
||||
"AND menu_item_num = $menu_item_num";
|
||||
$numItemOrdered = db_getVal($query);
|
||||
if ($numItemOrdered > 0) $disabled = 'disabled';
|
||||
$itemCheckbox = "<input type='checkbox' class='menu-items-checkbox' id='$menu_item_num' menu_num='$menu_num' item_num='$menu_item_num' $disabled>";
|
||||
|
||||
$itemTitle = $item_title;
|
||||
$itemTitle = str_replace("'","'",$itemTitle);
|
||||
$iTitle = "<input type='hidden' id='menu-item-title-$menu_item_num' value='$itemTitle'>";
|
||||
|
||||
?>
|
||||
<tr>
|
||||
<td align='left' class='oitem'><?php echo($item_title); echo($iTitle); ?> ::</td>
|
||||
|
||||
<?php if ($menu_link == 'No') { ?>
|
||||
<td class='oitem' align='center'>
|
||||
<select name='<?php echo($gfield) ?>' id='<?php echo($gfield) ?>' fname='menu_group' item_num='<?php echo($menu_item_num) ?>' class='menu-group-field'>
|
||||
<option value=''></option>
|
||||
<?php
|
||||
for ($i = 0; $i < count($Groups); $i++) {
|
||||
$group = $Groups[$i];
|
||||
$selected = "";
|
||||
if ($menu_group == $group) $selected = " selected='selected'";
|
||||
echo(" <option value='$group'$selected>$group</option>\n");
|
||||
}
|
||||
?>
|
||||
</select>
|
||||
</td>
|
||||
<td align='center' class='oitem'>
|
||||
<span id='display-price-$record_num' class='toggle-field' fname='display_price' item_num='<?php echo($menu_item_num) ?>'><?php echo($display_price) ?></span>
|
||||
</td>
|
||||
<td align='right' class='oitem'><input type='text' name='<?php echo($ofield) ?>' id='<?php echo($ofield) ?>' fname='online_price' value='<?php echo($currencySymbol . number_format($online_price,2)) ?>'<?php echo($fpm) ?> class='price-field'></td>
|
||||
<td align='right' class='oitem'><input type='text' name='<?php echo($pfield) ?>' id='<?php echo($pfield) ?>' fname='offline_price' value='<?php echo($currencySymbol . number_format($offline_price,2)) ?>'<?php echo($fpm) ?> class='price-field'></td>
|
||||
<td align='right' class='oitem'><?php echo($currencySymbol . number_format($item_cost,2)) ?></td>
|
||||
<td align='center' class='oitem'>
|
||||
<span id='taxable-$record_num' class='toggle-field' fname='taxable_item' item_num='<?php echo($menu_item_num) ?>'><?php echo($taxable_item) ?></span>
|
||||
</td>
|
||||
<td align='center' class='oitem'>
|
||||
<span id='sales-summary-$record_num' class='toggle-field' fname='sales_summary_item' item_num='<?php echo($menu_item_num) ?>'><?php echo($sales_summary_item) ?></span>
|
||||
</td>
|
||||
<td align='center' class='oitem'><?php echo($itemCheckbox) ?></td>
|
||||
|
||||
<?php } else { ?>
|
||||
|
||||
<td align='center' class='oitem'><span id='menu_group_<?php echo($menu_item_num) ?>'><?php echo($menu_group) ?></span></td>
|
||||
<td align='center' class='oitem'><span id='display_price_<?php echo($menu_item_num) ?>'><?php echo($display_price) ?></span></td>
|
||||
<td align='right' class='oitem'><span id='online_price_<?php echo($menu_item_num) ?>'><?php echo($currencySymbol) ?><?php echo(number_format($online_price,2)) ?></span></td>
|
||||
<td align='right' class='oitem'><span id='offline_price_<?php echo($menu_item_num) ?>'><?php echo($currencySymbol) ?><?php echo(number_format($offline_price,2)) ?></span></td>
|
||||
<td align='right' class='oitem'><span id='item_cost_<?php echo($menu_item_num) ?>'><?php echo($currencySymbol . number_format($item_cost,2)) ?></span></td>
|
||||
<td align='center' class='oitem'><span id='taxable_item_<?php echo($menu_item_num) ?>'><?php echo($taxable_item) ?></span></td>
|
||||
<td align='center' class='oitem'><span id='sales_summary_item_<?php echo($menu_item_num) ?>'><?php echo($sales_summary_item) ?></span></td>
|
||||
<td align='center' class='oitem'><?php echo($itemCheckbox) ?></td>
|
||||
|
||||
<?php } ?>
|
||||
|
||||
</tr>
|
||||
<?php
|
||||
}
|
||||
else {
|
||||
?>
|
||||
<tr>
|
||||
<td align='left' colspan='9' class='menudate-subheader'><b> -- <?php echo($item_title) ?> -- </b></td>
|
||||
</tr>
|
||||
<?php
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
||||
<tr>
|
||||
<td align='left' colspan='9'> </td>
|
||||
</tr>
|
||||
<?php
|
||||
}
|
||||
|
||||
?>
|
||||
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align='center'>
|
||||
<br>
|
||||
<input type='submit' id='refresh-screen' class='btn btn--primary' value="<?php displayLanguageText('TEXT-REFRESH-DATA'); ?>">
|
||||
<input type='submit' id='delete-selected-items' class='btn btn--outline' value="<?php displayLanguageText('TEXT-DELETE-SELECTED'); ?>">
|
||||
<input type='hidden' name='schedule_num' value='<?php echo($schedule_num) ?>'>
|
||||
<?php if (isset($selected_menu_num) && $selected_menu_num > 0) { ?>
|
||||
<input type='hidden' name='selected_menu_num' value='<?php echo($selected_menu_num) ?>'>
|
||||
<?php } ?>
|
||||
<br>
|
||||
<br>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</form>
|
||||
<?php include "hotlunch_orders.print_buttons.php"; ?>
|
||||
|
||||
<script>
|
||||
$(document).ready(function() {
|
||||
|
||||
<?php include "include/ajax.Setup.php" ?>
|
||||
|
||||
$(document).on('change', '.price-field', function() {
|
||||
var item_num = $(this).attr('item_num');
|
||||
var fname = $(this).attr('fname');
|
||||
var price = $(this).val();
|
||||
var fID = $(this).attr('id');
|
||||
|
||||
$.ajax({
|
||||
url: 'ajax.UpdateDBField.php',
|
||||
data: {
|
||||
table_name: 'hotlunch_menu_items',
|
||||
field_name: fname,
|
||||
field_value: price,
|
||||
field_type: 'decimal',
|
||||
record_num: item_num
|
||||
},
|
||||
dataType: 'json'
|
||||
}).done(function(results) {
|
||||
var new_value = '<?php echo($currencySymbol) ?>'+results.new_value;
|
||||
$('#'+fID).val(new_value);
|
||||
if (results.linked.length > 0) {
|
||||
$.each(results.linked, function(key, entry) {
|
||||
var linkedField = fname+'_'+entry;
|
||||
$("#"+linkedField).html(new_value);
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
$(document).on('click', '.toggle-field', function() {
|
||||
var item_num = $(this).attr('item_num');
|
||||
var fname = $(this).attr('fname');
|
||||
var spanID = $(this);
|
||||
var flag = $(this).html();
|
||||
var new_flag = 'Y';
|
||||
|
||||
if (flag == 'Y') new_flag = 'N';
|
||||
|
||||
$.ajax({
|
||||
url: 'ajax.UpdateDBField.php',
|
||||
data: {
|
||||
table_name: 'hotlunch_menu_items',
|
||||
field_name: fname,
|
||||
field_value: new_flag,
|
||||
field_type: 'string',
|
||||
record_num: item_num
|
||||
},
|
||||
dataType: 'json'
|
||||
}).done(function(results) {
|
||||
$(spanID).html(new_flag);
|
||||
|
||||
if (results.linked.length > 0) {
|
||||
$.each(results.linked, function(key, entry) {
|
||||
var linkedField = fname+'_'+entry;
|
||||
$("#"+linkedField).html(results.new_value);
|
||||
});
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
$(document).on('change', '.menu-group-field', function() {
|
||||
var item_num = $(this).attr('item_num');
|
||||
var fname = $(this).attr('fname');
|
||||
var fvalue = $(this).val();
|
||||
|
||||
$.ajax({
|
||||
url: 'ajax.UpdateDBField.php',
|
||||
data: {
|
||||
table_name: 'hotlunch_menu_items',
|
||||
field_name: fname,
|
||||
field_value: fvalue,
|
||||
field_type: 'string',
|
||||
record_num: item_num
|
||||
},
|
||||
dataType: 'json'
|
||||
}).done(function(results) {
|
||||
if (results.linked.length > 0) {
|
||||
$.each(results.linked, function(key, entry) {
|
||||
var linkedField = fname+'_'+entry;
|
||||
$("#"+linkedField).html(results.new_value);
|
||||
});
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
$("#refresh-screen").click(function(e) {
|
||||
e.preventDefault();
|
||||
location.reload();
|
||||
});
|
||||
|
||||
$("#delete-selected-items").click(function(e) {
|
||||
e.preventDefault();
|
||||
|
||||
var schedule_num = <?php echo($schedule_num) ?>;
|
||||
var id;
|
||||
var ids = '';
|
||||
var title;
|
||||
var titles = '';
|
||||
var mtitle;
|
||||
var menu_num;
|
||||
var pmenu_num = 0;
|
||||
var msg = "<?php displayLanguageText('TEXT-CONFIRM-DELETE'); ?>\n";
|
||||
|
||||
$(".menu-items-checkbox").each(function() {
|
||||
id = $(this).attr('id');
|
||||
menu_num = $(this).attr('menu_num');
|
||||
if ($(this).prop('checked')) {
|
||||
if (menu_num != pmenu_num) {
|
||||
titles += "\n";
|
||||
mtitle = $("#menu-title-"+menu_num).val();
|
||||
titles += mtitle+"\n";
|
||||
}
|
||||
pmenu_num = menu_num;
|
||||
|
||||
if (ids.length) ids += ',';
|
||||
ids += id;
|
||||
title = ' - '+$("#menu-item-title-"+id).val();
|
||||
titles += title+"\n";
|
||||
}
|
||||
});
|
||||
|
||||
if (ids.length == 0) {
|
||||
alert("<?php displayLanguageText('ERRORMSG-NO-ITEMS-SELECTED'); ?>");
|
||||
return;
|
||||
}
|
||||
|
||||
msg += titles;
|
||||
var ans = confirm(msg);
|
||||
|
||||
if (ans) {
|
||||
$.getJSON("ajax.MenuItems.Delete.php",
|
||||
{
|
||||
table_name: "hotlunch_menu_items",
|
||||
schedule_num: schedule_num,
|
||||
selected_items: ids,
|
||||
action: 'delete-selected-items'
|
||||
},
|
||||
function(results) {
|
||||
if (results.ajax_return_code == -1) {
|
||||
alert(results.error_message);
|
||||
return;
|
||||
}
|
||||
|
||||
location.reload();
|
||||
|
||||
var msg = "<?php displayLanguageText('TEXT-PROCESS-COMPLETED'); ?>";
|
||||
if (results.ajax_message.length > 0) msg += "\n" + results.ajax_message;
|
||||
alert(msg);
|
||||
}
|
||||
);
|
||||
}
|
||||
});
|
||||
|
||||
});
|
||||
</script>
|
||||
|
||||
Reference in new issue
Block a user