upskill-event-manager/templates/page-master-edit-trainer-profile.php
Ben 26ed7e40e9 fix: resolve communication templates URL redirect and complete master trainer navigation
- Added template loading for master-trainer/communication-templates in class-hvac-community-events.php
- Created page-master-communication-templates.php template with proper auth and navigation
- Fixed URL redirect issue preventing access to master trainer communication templates
- All master trainer pages now accessible without redirects
- Completed comprehensive master trainer dashboard fixes

🤖 Generated with Claude Code

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-22 12:14:50 -03:00

185 lines
No EOL
7.3 KiB
PHP

<?php
/**
* Template Name: Master Edit Trainer Profile
* Description: Template for master trainers to edit any trainer's profile
*/
// Define constant to indicate we are in a page template
define('HVAC_IN_PAGE_TEMPLATE', true);
get_header();
// Check master trainer permissions
$user = wp_get_current_user();
if (!in_array('hvac_master_trainer', $user->roles) && !current_user_can('manage_options')) {
wp_die('Access denied. Master trainer privileges required.');
}
// Render master trainer navigation
if (class_exists('HVAC_Master_Menu_System')) {
$master_menu = HVAC_Master_Menu_System::instance();
$master_menu->render_master_menu();
}
// Render breadcrumbs
if (class_exists('HVAC_Breadcrumbs')) {
HVAC_Breadcrumbs::render();
}
echo '<div class="hvac-page-wrapper hvac-master-edit-trainer-profile-page">';
echo '<div class="container">';
?>
<div class="hvac-master-edit-trainer-profile">
<h1 class="page-title">Edit Trainer Profile</h1>
<div class="trainer-selector">
<label for="select-trainer">Select Trainer to Edit:</label>
<select id="select-trainer" class="hvac-trainer-select">
<option value="">-- Select a Trainer --</option>
<?php
// Get all users with hvac_trainer role
$trainers = get_users(array(
'role__in' => array('hvac_trainer', 'hvac_master_trainer'),
'orderby' => 'display_name',
'order' => 'ASC'
));
foreach ($trainers as $trainer) {
$company = get_user_meta($trainer->ID, 'business_name', true);
$display = $trainer->display_name;
if ($company) {
$display .= ' - ' . $company;
}
echo '<option value="' . esc_attr($trainer->ID) . '">' . esc_html($display) . '</option>';
}
?>
</select>
</div>
<div id="trainer-profile-edit-form" style="display: none;">
<!-- Profile edit form will be loaded here via AJAX -->
</div>
<script>
jQuery(document).ready(function($) {
$('#select-trainer').on('change', function() {
var trainerId = $(this).val();
if (!trainerId) {
$('#trainer-profile-edit-form').hide();
return;
}
// Load trainer profile for editing
$('#trainer-profile-edit-form').html('<p>Loading trainer profile...</p>').show();
// In a real implementation, this would make an AJAX call
// For now, show a placeholder form
var formHtml = `
<h2>Editing Profile: <span id="trainer-name"></span></h2>
<form class="hvac-trainer-profile-form">
<div class="form-section">
<h3>Personal Information</h3>
<div class="form-group">
<label>First Name</label>
<input type="text" name="first_name" />
</div>
<div class="form-group">
<label>Last Name</label>
<input type="text" name="last_name" />
</div>
<div class="form-group">
<label>Email</label>
<input type="email" name="email" />
</div>
<div class="form-group">
<label>Phone</label>
<input type="tel" name="phone" />
</div>
</div>
<div class="form-section">
<h3>Business Information</h3>
<div class="form-group">
<label>Company Name</label>
<input type="text" name="business_name" />
</div>
<div class="form-group">
<label>Business Type</label>
<select name="business_type">
<option>Association</option>
<option>Consultant</option>
<option>Service Company</option>
<option>Distributor or Supplier</option>
<option>Educational Institution</option>
<option>Training Organization</option>
</select>
</div>
</div>
<div class="form-section">
<h3>Certification Status</h3>
<div class="form-group">
<label>Certification Type</label>
<select name="certification_type">
<option>Certified measureQuick Trainer</option>
<option>Certified measureQuick Champion</option>
</select>
</div>
<div class="form-group">
<label>Certification Status</label>
<select name="certification_status">
<option>Active</option>
<option>Expired</option>
<option>Pending</option>
<option>Disabled</option>
</select>
</div>
</div>
<div class="form-section">
<h3>Account Status</h3>
<div class="form-group">
<label>Account Status</label>
<select name="account_status">
<option>Active</option>
<option>Pending</option>
<option>Disabled</option>
</select>
</div>
<div class="form-group">
<label>User Role</label>
<select name="user_role">
<option value="hvac_trainer">HVAC Trainer</option>
<option value="hvac_master_trainer">Master Trainer</option>
</select>
</div>
</div>
<div class="form-actions">
<button type="submit" class="button button-primary">Save Changes</button>
<button type="button" class="button cancel-edit">Cancel</button>
</div>
</form>
`;
$('#trainer-profile-edit-form').html(formHtml);
$('#trainer-name').text($('#select-trainer option:selected').text());
});
// Cancel button handler
$(document).on('click', '.cancel-edit', function() {
$('#select-trainer').val('');
$('#trainer-profile-edit-form').hide();
});
});
</script>
</div>
<?php
echo '</div>'; // .container
echo '</div>'; // .hvac-page-wrapper
get_footer();
?>