First Commit
This commit is contained in:
1 parent
5eb9dd037d
commit
2e62c0e60b
11877 files changed
+2035312
No files matched your search
@@ -0,0 +1,276 @@
|
||||
<?php
|
||||
require_once("include/globals.php");
|
||||
|
||||
if (SessionActive() != 1 || ! UserLoggedIn()) {
|
||||
header("Location: /");
|
||||
exit();
|
||||
}
|
||||
|
||||
|
||||
// Ensure that only valid user types have access to this module
|
||||
$AllowedUserTypes = array('SuperUser','System Administrator','Application Administrator','Application Volunteer','Schedule Volunteer','Administration Team','Schedule Team');
|
||||
if (checkPermission($AllowedUserTypes) != 1) {
|
||||
echo("<br>\n");
|
||||
$error_message = getLanguageText('ERRORMSG-ACCESS-DENIED');
|
||||
include "form.messages.php";
|
||||
return;
|
||||
}
|
||||
|
||||
// startLog("hotlunch_schedule_copy.php");
|
||||
|
||||
// Start the template and output buffering
|
||||
startTemplate();
|
||||
$templatePageTitle = getLanguageText('TEXT-COPY-SCHEDULE');
|
||||
|
||||
|
||||
$cutoff = date("Y-m-d",time() - 60 * 60 * 24 * 450);
|
||||
writeLog("cutoff: $cutoff");
|
||||
$Schedules = array();
|
||||
$ScheduleNums = array();
|
||||
|
||||
$supplier_school_num = intval($school_record['supplier_school_num']);
|
||||
if ($supplier_school_num == 0) $supplier_school_num = $school_num;
|
||||
writeLog("current_school_num: $school_num");
|
||||
writeLog("supplier_school_num: $supplier_school_num");
|
||||
if ($supplier_school_num > 0) {
|
||||
$query = "SELECT * FROM hotlunch_schedules WHERE school_num = $supplier_school_num AND status != 'Deleted' ORDER BY schedule_start_date DESC";
|
||||
writeLog($query);
|
||||
$schedules = db_query($query);
|
||||
writeLog("Num records: ".db_num_rows($schedules));
|
||||
|
||||
if (db_num_rows($schedules)) {
|
||||
while ($row = db_fetch_assoc($schedules)) {
|
||||
$snum = $row['record_num'];
|
||||
|
||||
if (!in_array($snum, $ScheduleNums)) {
|
||||
$ScheduleNums[] = $snum;
|
||||
$numMenus = db_getVal("SELECT count(*) FROM hotlunch_menu_dates WHERE school_num = $supplier_school_num AND schedule_num = $snum");
|
||||
writeLog("numMenus: $numMenus");
|
||||
if ($numMenus > 0) {
|
||||
$numItems = db_getVal("SELECT count(*) FROM hotlunch_menu_items WHERE school_num = $supplier_school_num AND menu_num IN " .
|
||||
"(SELECT record_num FROM hotlunch_menu_dates WHERE school_num = $supplier_school_num AND schedule_num = $snum)");
|
||||
if ($numItems > 0) {
|
||||
$row['numMenus'] = $numMenus;
|
||||
$Schedules[] = $row;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
writeLog("Count: ".count($Schedules));
|
||||
|
||||
$query = "SELECT * FROM hotlunch_schedules WHERE school_num = $school_num AND status != 'Deleted' ORDER BY schedule_start_date DESC";
|
||||
writeLog($query);
|
||||
$schedules = db_query($query);
|
||||
|
||||
writeLog("Num records: ".db_num_rows($schedules));
|
||||
while ($row = db_fetch_assoc($schedules)) {
|
||||
$snum = $row['record_num'];
|
||||
if (!in_array($snum, $ScheduleNums)) {
|
||||
$ScheduleNums[] = $snum;
|
||||
$numMenus = db_getVal("SELECT count(*) FROM hotlunch_menu_dates WHERE school_num = $school_num AND schedule_num = $snum");
|
||||
writeLog("numMenus: $numMenus");
|
||||
if ($numMenus > 0) {
|
||||
$numItems = db_getVal("SELECT count(*) FROM hotlunch_menu_items WHERE school_num = $school_num AND menu_num IN " .
|
||||
"(SELECT record_num FROM hotlunch_menu_dates WHERE school_num = $school_num AND schedule_num = $snum)");
|
||||
if ($numItems > 0) {
|
||||
$row['numMenus'] = $numMenus;
|
||||
$Schedules[] = $row;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$resellerCode = $school_record['reseller'];
|
||||
writeLog("resellerCode: $resellerCode");
|
||||
if (strlen($resellerCode) && $resellerCode != 'hotlunch') {
|
||||
$query = "SELECT school_name,record_num FROM schools " .
|
||||
"WHERE reseller = '$resellerCode' " .
|
||||
"AND status IN ('Active','Special','Linked') " .
|
||||
"AND record_num NOT IN ($school_num,$supplier_school_num) " .
|
||||
"ORDER BY school_name";
|
||||
writeLog($query);
|
||||
$rschools = db_query($query);
|
||||
|
||||
if (db_num_rows($rschools)) {
|
||||
while ($row = db_fetch_assoc($rschools)) {
|
||||
$school = $row['record_num'];
|
||||
$query = "SELECT * FROM hotlunch_schedules WHERE school_num = $school AND status != 'Deleted' ORDER BY schedule_start_date DESC";
|
||||
writeLog($query);
|
||||
$schedules = db_query($query);
|
||||
|
||||
writeLog("Num records: ".db_num_rows($schedules));
|
||||
while ($row = db_fetch_assoc($schedules)) {
|
||||
$snum = $row['record_num'];
|
||||
if (!in_array($snum, $ScheduleNums)) {
|
||||
$ScheduleNums[] = $snum;
|
||||
$numMenus = db_getVal("SELECT count(*) FROM hotlunch_menu_dates WHERE school_num = $school AND schedule_num = $snum");
|
||||
writeLog("numMenus: $numMenus");
|
||||
if ($numMenus > 0) {
|
||||
$row['numMenus'] = $numMenus;
|
||||
$Schedules[] = $row;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
writeLog("Count: ".count($Schedules));
|
||||
|
||||
if (count($Schedules) == 0) {
|
||||
$error_message = getLanguageText('MESSAGE-NO-SCHEDULES-AVAILABLE');
|
||||
include "form.messages.php";
|
||||
endTemplate();
|
||||
return;
|
||||
}
|
||||
|
||||
?>
|
||||
<center>
|
||||
<div id='error-msg-div' style='background-color: #ff0000; color: #ffffff;'></div>
|
||||
<div id='spinner-div' style='z-index: 99999;'></div>
|
||||
<br>
|
||||
<form method='post' name='schedule-copy-form' id='schedule-copy-form'>
|
||||
<table width='450' cellpadding='5' class='content-table'>
|
||||
<tr>
|
||||
<td align='left'>
|
||||
<p><b><?php displayLanguageText('TEXT-SOURCE-SCHEDULE'); ?>:</b></p>
|
||||
<p><label for='source_schedule'><b><?php displayLanguageText('TEXT-SCHEDULE'); ?>:</b></label><br>
|
||||
<select name='source_schedule' id='source_schedule' class='select-width600'>
|
||||
<option value='0'><?php displayLanguageText('TEXT-SELECT-A-SCHEDULE'); ?></option>
|
||||
<?php
|
||||
$pnum = 0;
|
||||
$menuText = getLanguageText('TEXT-MENUS');
|
||||
for ($i = 0; $i < count($Schedules); $i++) {
|
||||
$row = $Schedules[$i];
|
||||
|
||||
$cnum = $row['school_num'];
|
||||
$sname = $row['schedule_name'];
|
||||
$stype = $row['schedule_type'];
|
||||
$snum = $row['record_num'];
|
||||
$sdate = $row['schedule_start_date'];
|
||||
$numMenus = $row['numMenus'];
|
||||
|
||||
$sday = date("w",strtotime($sdate));
|
||||
$swday = date("D",strtotime($sdate));
|
||||
|
||||
if ($cnum != $pnum && $supplier_school_num > 0) {
|
||||
if ($pnum > 0) echo("</optgroup>\n");
|
||||
$school_name = db_getVal("SELECT school_name FROM schools WHERE record_num = $cnum");
|
||||
$school_name = str_replace("'","'",$school_name);
|
||||
echo("<optgroup label='$school_name'>\n");
|
||||
}
|
||||
$pnum = $cnum;
|
||||
|
||||
$sdate = getLanguageText('TEXT-START-DATE').": $sdate";
|
||||
echo("<option value='$snum' sday='$sday'>$sname - $stype ($menuText: $numMenus - $sdate)</option>\n");
|
||||
}
|
||||
if ($supplier_school_num > 0) echo("</optgroup>\n");
|
||||
?>
|
||||
</select></p>
|
||||
<div id='schedule-info-div' style='margin-left: 30px;'></div>
|
||||
<br>
|
||||
<p><b><?php displayLanguageText('TEXT-NEW-SCHEDULE'); ?>:</b></p>
|
||||
<p><label for='new_schedule'><b><?php displayLanguageText('TEXT-SCHEDULE-NAME'); ?>:</b></label><br>
|
||||
<input name='new_schedule' id='new_schedule' size='40'></p>
|
||||
<p><label for='ordering_start'><b><?php displayLanguageText('TEXT-ORDERING-START-DATE'); ?>:</b></label><br>
|
||||
<input name='ordering_start' id='ordering_start' size='20' class='datetime-field'><br>
|
||||
<span class='small'><?php displayLanguageText('TEXT-DATE-ORDERING-WILL-COMMENCE-FOR-THIS-SCHEDULE'); ?></span></p>
|
||||
<p><label for='ordering_end'><b><?php displayLanguageText('TEXT-ORDERING-END-DATE'); ?>:</b></label><br>
|
||||
<input name='ordering_end' id='ordering_end' size='20' class='datetime-field'></p>
|
||||
<br>
|
||||
<p><b><?php displayLanguageText('TEXT-SCHEDULE-COPY-MESSAGE'); ?></b></p>
|
||||
<p><label for='schedule_start'><b><?php displayLanguageText('TEXT-SCHEDULE-START-DATE'); ?>:</b></label><br>
|
||||
<input name='schedule_start' id='schedule_start' size='15' class='date-field'><br>
|
||||
<span class='small'><?php displayLanguageText('TEXT-FIRST-MENU-DATE'); ?></span></p>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<br>
|
||||
<button id='copy-schedule' class='btn btn--outline btn--xsmall'> <?php displayLanguageText('TEXT-COPY-SCHEDULE'); ?> </button>
|
||||
</form>
|
||||
</center>
|
||||
|
||||
<script>
|
||||
$(document).ready(function() {
|
||||
|
||||
<?php include "include/ajax.Setup.php" ?>
|
||||
|
||||
$("#source_schedule").change(function() {
|
||||
var snum = $(this).val();
|
||||
|
||||
$.getJSON( "ajax.DataTable.Fetch.php",
|
||||
{
|
||||
table_name: "hotlunch_schedules",
|
||||
sequence_flag: "N",
|
||||
action: "schedule-info",
|
||||
schedule_num: snum
|
||||
},
|
||||
function(results) {
|
||||
$("#schedule-info-div").html(results.content);
|
||||
|
||||
$("#new_schedule").val(results.new_schedule);
|
||||
$("#ordering_start").val(results.ordering_start);
|
||||
$("#ordering_end").val(results.ordering_end);
|
||||
$("#schedule_start").val(results.schedule_start);
|
||||
}
|
||||
);
|
||||
});
|
||||
|
||||
$("#copy-schedule").on('click',function(e) {
|
||||
e.preventDefault();
|
||||
|
||||
var schedule_num = $("#source_schedule").val();
|
||||
var schedule_title = $("#new_schedule").val();
|
||||
var order_start = $("#ordering_start").val();
|
||||
var order_end = $("#ordering_end").val();
|
||||
var schedule_start = $("#schedule_start").val();
|
||||
|
||||
var noSchedule = "<?php displayLanguageText('ERRORMSG-NO-SCHEDULES-SELECTED'); ?>";
|
||||
var missingData = "<?php displayLanguageText('ERRORMSG-MISSING-FORM-DATA'); ?>";
|
||||
|
||||
if (schedule_num == '0') {
|
||||
alert(noSchedule);
|
||||
return(false);
|
||||
}
|
||||
|
||||
if (schedule_title.length == 0 || order_start.length == 0 || order_end.length == 0 || schedule_start.length == 0) {
|
||||
alert(missingData);
|
||||
return(false);
|
||||
}
|
||||
|
||||
$("#spinner-div").html("<p><img src='images/spinner.gif'></p>");
|
||||
$("#schedule-copy-form").hide();
|
||||
|
||||
$.ajax({
|
||||
url: "ajax.ScheduleCopy.php",
|
||||
data: {
|
||||
source_schedule: schedule_num,
|
||||
schedule_title: schedule_title,
|
||||
order_start: order_start,
|
||||
order_end, order_end,
|
||||
schedule_start: schedule_start
|
||||
},
|
||||
dataType: "json"
|
||||
}).done(function(data) {
|
||||
$("#spinner-div").html("");
|
||||
$("#schedule-copy-form").show();
|
||||
|
||||
if (data.ajax_return_code != 0) {
|
||||
$("#error-msg-div").html(data.ajax_message);
|
||||
return false;
|
||||
}
|
||||
|
||||
var newSchedule = data.schedule_num;
|
||||
location.href = "?action=schedule-reports&schedule_num="+newSchedule;
|
||||
return true;
|
||||
});
|
||||
});
|
||||
|
||||
});
|
||||
</script>
|
||||
|
||||
<?php
|
||||
endTemplate();
|
||||
?>
|
||||
Reference in new issue
Block a user