Files
2026-10-19 15:22:52 -07:00

256 lines
11 KiB
PHP

<?php
require_once("include/globals.php");
if (SessionActive() != 1 || ! UserLoggedIn()) {
header("Location: /");
exit();
}
//
// Process all actions to manage the students for a user account
//
$CurrentTable = "people";
$FormFile = "students.dialog.php";
$JQueryFile = "students.js.php";
$CustomLoadData = "Y";
$DialogWidth = 600;
$TitleText = $GlobalText['StudentAdmin'];
$SequenceFlag = 'N';
$tableAction = "students-list";
$RequiredFields = array();
$LoadInitialData = 'N';
$userType = "Parent";
if (array_key_exists('type', $_SESSION['UserInfo']) && in_array($_SESSION['UserInfo']['type'],$AllAdminUserTypes)) $userType = "Admin";
if ($userType == 'Parent') $LockedEditFields = array('user_num','class_num');
// if ($school_record['collect_student_birthdate'] == 'Y') $RequiredFields[] = 'birthdate';
$today = date("Y-m-d", time());
$FieldDefaultValues = array(
'sex' => 'Female',
'added_date' => $today,
'status' => $school_record['default_student_status'],
'display' => 'Y',
'active' => 'Y',
'menu_price_category' => 'Regular',
'access_to_multiple_item_prices' => 'Y',
'additional_permission' => 'N',
'user_defined_value' => 'N',
'user_defined_value2' => 'N',
'user_defined_value3' => 'N',
'user_defined_value4' => 'N',
'user_defined_value5' => 'N',
'user_defined_value6' => 'N',
'user_defined_value7' => 'N',
'user_defined_value8' => 'N',
'user_defined_value9' => 'N',
);
$CustomDialogFields = array(
array('field_name' => 'student_categories', 'default' => '', 'ftype' => 'form-data'),
array('field_name' => 'student_allergies', 'default' => '', 'ftype' => 'form-data'),
array('field_name' => 'class_info', 'default' => '', 'ftype' => 'form-span'),
array('field_name' => 'status_info', 'default' => '', 'ftype' => 'form-span'),
array('field_name' => 'student_orders', 'default' => '', 'ftype' => 'form-span'),
array('field_name' => 'original_user_num', 'default' => 0, 'ftype' => 'original-value-field', 'source' => 'user_num', 'message' => 'WARNING-ABOUT-TO-CHANGE-USER-ACCOUNT'),
);
if ($_SESSION['UserInfo']['type'] == 'SuperUser') {
$CustomDialogFields[] = array('field_name' => 'people_num', 'default' => '', 'ftype' => 'form-span');
}
// Start the template and output buffering
startTemplate();
$templatePageTitle = "$TitleText";
$naction = '';
if (array_key_exists('naction', $_GET)) $naction = db_escape_string($_GET['naction']);
// startLog("students.php");
writeLog("userType: $userType");
// Ensure that only valid user types see the menu
$mode = '';
if (array_key_exists('mode', $_SESSION)) $mode = $_SESSION['mode'];
$AllowedUserTypes = array('SuperUser','System Administrator','Application Administrator','Communications Administrator','Administration Team','Schedule Team');
if (checkPermission($AllowedUserTypes) == 1 && $mode != 'parent') {
include "students.options.php";
}
include "form.js.php";
?>
<input type='hidden' id='dataset'>
<input type='hidden' id='subset'>
<input type='hidden' id='show_type'>
<input type='hidden' id='match'>
<input type='hidden' id='clear-screen'>
<?php if (checkPermission($AllowedUserTypes) == 1 && $mode != 'parent') { ?>
<div id='grade-dialog' title="<?php echo($GlobalText['Class']) ?>">
<p class='ltext'><label for='sgrade'><b><?php displayLanguageText('TEXT-GRADE'); ?>:</b></label><br>
<select name='sgrade' id='sgrade'>
<option value=0><?php displayLanguageText('TEXT-CLASS-SELECT'); ?></option>
<option value=1><?php displayLanguageText('TEXT-STAFF'); ?></option>
<option value=2><?php displayLanguageText('TEXT-CUSTOMER'); ?></option>
<?php
$query = "SELECT * FROM classes WHERE school_num = $base_school_num AND entry_type = 'Class' ORDER BY sequence,grade";
$classes = db_query($query);
while ($row = db_fetch_assoc($classes)) {
extract($row);
$school_num = $school_record['record_num'];
$class = "";
if (strlen($division)) $class = $division;
if (strlen($grade)) {
if (strlen($class)) $class .= " - ";
$class .= $grade;
}
$class = getClassInfo($record_num);
echo("<option value=$record_num>$class</option>\n");
}
?>
</select></p>
<br>
<table width='100%'>
<tr>
<td align='center' style='background-color: #e0e0e0; height: 25px;'>
<center><button id='save-grade' class='btn btn--primary btn--xsmall'><?php displayLanguageText('TEXT-SAVE'); ?></button></center>
</td>
</tr>
</table>
<input type='hidden' id='rnum'>
<input type='hidden' id='gfield'>
</div>
<div id='orders-dialog' title="<?php displayLanguageText('TEXT-ORDERS'); ?>">
<center>
<div id='orders-div'></div>
<br>
<table width='100%'>
<tr>
<td align='center' style='background-color: #e0e0e0; height: 25px;'>
<button id='closeOrdersDialogBtn' class='btn btn--primary btn--xsmall'> <?php displayLanguageText('TEXT-CLOSE-WINDOW'); ?> </button>
</td>
</tr>
</table>
</center>
</div>
<div id='meal-location-dialog' title="<?php displayLanguageText('TEXT-ALTERNATE-LOCATION'); ?>">
<p class='ltext'><label for='mlocation'><b><?php displayLanguageText('TEXT-ALTERNATE-LOCATION'); ?>:</b></label><br>
<select name='mlocation' id='mlocation'>
<?php
$query = "SELECT * FROM classes WHERE school_num = $base_school_num ORDER BY entry_type,sequence";
$classes = db_query($query);
$classesFields = "";
$prev_entry = '';
while ($row = db_fetch_assoc($classes)) {
extract($row);
$school_num = $school_record['record_num'];
if ($prev_entry != $entry_type) {
if (strlen($prev_entry)) echo("</optgroup>\n");
$prev_entry = $entry_type;
$label = $GlobalText['Classes'];
if ($entry_type == 'Location') $label = getLanguageText('TEXT-ALTERNATE-LOCATIONS');
echo("<optgroup label='$label'>\n");
}
if ($entry_type == 'Class') $class = getClassInfo($record_num);
else $class = $description;
$ctext = db_escape_string($class);
$classesFields .= "<input type='hidden' id='class-$record_num' value='$ctext'>\n";
echo("<option value=$record_num>$class</option>\n");
}
?>
</select></p>
<br>
<table width='100%'>
<tr>
<td align='center' style='background-color: #e0e0e0; height: 25px;'>
<center>
<button id='save-meal-location' class='btn btn--primary btn--xsmall'><?php displayLanguageText('TEXT-SAVE'); ?></button>
<button id='reset-meal-location' class='btn btn--primary btn--xsmall'><?php displayLanguageText('TEXT-DEFAULT'); ?></button>
</center>
</td>
</tr>
</table>
<input type='hidden' id='location-rnum'>
<input type='hidden' id='alt-location'>
<input type='hidden' id='class-num'>
</div>
<div id='students-mass-update-dialog' title="<?php echo($GlobalText['StudentAdmin']) ?>">
<center>
<table>
<tr>
<td>
<center>
<p><b><span id='class-name-span'></span></b></p>
<br>
<p><button class='update-all-people btn btn--outline btn--small btn--250' action='reset-meal-locations'><?php displayLanguageText('TEXT-RESET-MEAL-LOCATIONS'); ?></button></p>
<p><button class='update-all-people btn btn--outline btn--small btn--250' action='set-to-verified'><?php displayLanguageText('TEXT-STUDENT-SET-VERIFIED'); ?></button></p>
<p><button class='update-all-people btn btn--outline btn--small btn--250' action='set-to-regular'><?php displayLanguageText('TEXT-SET-ALL-TO-REGULAR-PRICING'); ?></button></p>
<?php if ($userType == 'Admin' && $school_record['implement_multiple_item_prices'] == 'Y') { ?>
<p><button class='update-all-people btn btn--outline btn--small btn--250' action='add-flex-pricing-access'><?php displayLanguageText('TEXT-ADD-FLEX-PRICING-ACCESS'); ?></button></p>
<p><button class='update-all-people btn btn--outline btn--small btn--250' action='remove-flex-pricing-access'><?php displayLanguageText('TEXT-REMOVE-FLEX-PRICING-ACCESS'); ?></button></p>
<?php } ?>
<?php if ($userType == 'Admin' && $school_record['special_item_prices'] == 'Y') { ?>
<br>
<p>
<label for='selected-price-category'><b><?php displayLanguageText('TEXT-SET-PRICE-CATEGORY'); ?>:</b></label><br>
<select id='selected-price-category'>
<option value='Regular'><?php displayLanguageText('TEXT-REGULAR'); ?></option>
<option value='Special 1'><?php echo($Special1_Title) ?></option>
<option value='Special 2'><?php echo($Special2_Title) ?></option>
<option value='Special 3'><?php echo($Special3_Title) ?></option>
</select> <button class='update-all-people btn btn--outline btn--xsmall' action='update-price-category'><?php displayLanguageText('TEXT-UPDATE'); ?></button>
</p>
<?php } ?>
<p><br></p>
<p><button id='close-students-mass-update-dialog' class='btn btn--primary btn--small'><?php displayLanguageText('TEXT-CLOSE'); ?></button></p>
</center>
</td>
</tr>
</table>
</center>
</div>
<div id='adjust-student-order-category-dialog' title="<?php displayLanguageText('TEXT-ADJUST-ORDER-PRICE-CATEGORY'); ?>">
<center>
<p><?php displayLanguageText('TEXT-ADJUST-ORDER-PRICE-CATEGORY'); ?></p>
<p id='student-order-adjustment-title-span'></p>
<br>
<p><button class='update-order-category btn btn--outline btn--small btn--250' new-cat='Regular'><?php displayLanguageText('TEXT-REGULAR'); ?></button></p>
<p><button class='update-order-category btn btn--outline btn--small btn--250' new-cat='Special 1'><?php echo($Special1_Title); ?></button></p>
<p><button class='update-order-category btn btn--outline btn--small btn--250' new-cat='Special 2'><?php echo($Special2_Title); ?></button></p>
<p><button class='update-order-category btn btn--outline btn--small btn--250' new-cat='Special 3'><?php echo($Special3_Title); ?></button></p>
<input type='hidden' id='student-orders-name'>
<input type='hidden' id='student-orders-student-num'>
<input type='hidden' id='student-orders-name'>
<input type='hidden' id='student-orders-order-num'>
<input type='hidden' id='student-orders-schedule-num'>
<input type='hidden' id='student-orders-schedule-name'>
</center>
</div>
<?php
echo($classesFields);
echo("\n\n");
}
endTemplate();
?>