upskill-event-manager/templates/page-trainer-account-disabled.php
bengizmo f0edd05369 feat: Implement trainer approval workflow with status management
- Add trainer status system (pending, approved, active, inactive, disabled)
- Create access control system based on trainer status
- Refactor Master Dashboard with enhanced trainer table
  - Add status column and filtering
  - Implement search and pagination
  - Add bulk status update functionality
- Create status pages for pending and disabled trainers
- Implement approval workflow with email notifications
- Add email template management to settings page
- Include comprehensive test suite (unit, integration, E2E)

This allows Master Trainers to manage trainer accounts, approve new registrations,
and control access based on account status. Trainers must be approved before
accessing dashboard features.

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-28 12:38:34 -03:00

160 lines
No EOL
5 KiB
PHP

<?php
/**
* Template Name: Trainer Account Disabled
*
* This template displays a message to trainers whose accounts have been disabled.
*
* @package HVAC Community Events
* @subpackage Templates
* @author Ben Reed
* @version 1.0.0
*/
// Exit if accessed directly.
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
get_header();
?>
<style>
.hvac-status-page {
max-width: 800px;
margin: 60px auto;
padding: 40px;
background: #fff;
border-radius: 8px;
box-shadow: 0 2px 10px rgba(0,0,0,0.1);
}
.hvac-status-page .status-icon {
width: 80px;
height: 80px;
margin: 0 auto 30px;
background: #dc3545;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
color: white;
font-size: 40px;
}
.hvac-status-page h1 {
text-align: center;
color: #333;
margin-bottom: 30px;
font-size: 32px;
}
.hvac-status-page .status-content {
font-size: 16px;
line-height: 1.8;
color: #666;
margin-bottom: 30px;
}
.hvac-status-page .status-content p {
margin-bottom: 20px;
}
.hvac-status-page .info-box {
background: #f8f9fa;
border-left: 4px solid #dc3545;
padding: 20px;
margin: 30px 0;
border-radius: 4px;
}
.hvac-status-page .info-box h3 {
margin-top: 0;
color: #333;
}
.hvac-status-page .contact-info {
background: #e3f2fd;
border-left: 4px solid #2196F3;
padding: 20px;
margin: 30px 0;
border-radius: 4px;
}
.hvac-status-page .button-group {
text-align: center;
margin-top: 40px;
}
.hvac-status-page .button {
display: inline-block;
padding: 12px 30px;
background: #0073aa;
color: white;
text-decoration: none;
border-radius: 4px;
margin: 0 10px;
transition: background 0.3s;
}
.hvac-status-page .button:hover {
background: #005a87;
color: white;
}
.hvac-status-page .button.secondary {
background: #6c757d;
}
.hvac-status-page .button.secondary:hover {
background: #545b62;
}
</style>
<div id="primary" class="content-area primary ast-container">
<main id="main" class="site-main">
<div class="hvac-status-page">
<div class="status-icon">
<i class="dashicons dashicons-dismiss"></i>
</div>
<h1><?php _e( 'Account Access Restricted', 'hvac-community-events' ); ?></h1>
<div class="status-content">
<p>
<?php _e( 'Your HVAC trainer account has been disabled and you are currently unable to access trainer resources or create new events.', 'hvac-community-events' ); ?>
</p>
<div class="info-box">
<h3><?php _e( 'Why was my account disabled?', 'hvac-community-events' ); ?></h3>
<p><?php _e( 'Accounts may be disabled for various reasons, including:', 'hvac-community-events' ); ?></p>
<ul>
<li><?php _e( 'Violation of our terms of service or community guidelines', 'hvac-community-events' ); ?></li>
<li><?php _e( 'Extended period of inactivity', 'hvac-community-events' ); ?></li>
<li><?php _e( 'Incomplete or inaccurate trainer information', 'hvac-community-events' ); ?></li>
<li><?php _e( 'Quality concerns or complaints', 'hvac-community-events' ); ?></li>
</ul>
</div>
<p>
<?php _e( 'If you believe your account was disabled in error or would like to discuss reactivating your account, please contact our support team.', 'hvac-community-events' ); ?>
</p>
<div class="contact-info">
<h3><?php _e( 'Need Help?', 'hvac-community-events' ); ?></h3>
<p>
<?php _e( 'Our support team is here to help. Please reach out to us with your account details and we\'ll review your case as soon as possible.', 'hvac-community-events' ); ?>
</p>
<?php
$admin_email = get_option( 'admin_email' );
if ( $admin_email ) {
printf(
__( 'Email: <a href="mailto:%s">%s</a>', 'hvac-community-events' ),
esc_attr( $admin_email ),
esc_html( $admin_email )
);
}
?>
</div>
</div>
<div class="button-group">
<a href="<?php echo esc_url( home_url() ); ?>" class="button secondary">
<?php _e( 'Return to Home', 'hvac-community-events' ); ?>
</a>
<a href="<?php echo esc_url( wp_logout_url( home_url() ) ); ?>" class="button">
<?php _e( 'Logout', 'hvac-community-events' ); ?>
</a>
</div>
</div>
</main>
</div>
<?php get_footer(); ?>