83 lines
2.1 KiB
C++
83 lines
2.1 KiB
C++
/*
|
||
* File: TeamLeadMenu.cpp
|
||
* Description: Implements the TeamLeadMenu class functions including menu loop and operation handling.
|
||
* Author: Trenser
|
||
* Created: 02-Apr-2026
|
||
*/
|
||
#include <iostream>
|
||
#include "TeamLeadMenu.h"
|
||
#include "InputHelper.h"
|
||
#include "OutputHelper.h"
|
||
#include "MenuHelper.h"
|
||
|
||
/*
|
||
* Function: TeamLeadMenu::run
|
||
* Description: Starts the team lead menu loop and displays available options until logout is selected
|
||
* Parameters:
|
||
* None
|
||
* Returns:
|
||
* None
|
||
*/
|
||
void TeamLeadMenu::run()
|
||
{
|
||
bool isMenuActive = true;
|
||
while (isMenuActive)
|
||
{
|
||
try
|
||
{
|
||
int choice;
|
||
util::clear();
|
||
std::cout << "Team Lead Menu\n1. Apply Leave\n2. View Payslip\n3. View Payslip History\n4. Raise Ticket\n5. View Ticket\n6. View Ticket History\n7. View Employees\n8. Search Employee\n9. View Team Members\n10. Book Meeting Room\n11. View Booking History\n12. View Notifications\n13. View Announcements\n14. Regularize Attendance\n15. Update Leave Request\n16. Update Profile\n17. View Profile\n18. Logout\nEnter your Choice: ";
|
||
util::read(choice);
|
||
if (!handleOperation(choice))
|
||
{
|
||
isMenuActive = false;
|
||
}
|
||
}
|
||
catch (const std::exception& e)
|
||
{
|
||
std::cout << "Exception: " << e.what() << std::endl;
|
||
util::pressEnter();
|
||
}
|
||
}
|
||
}
|
||
|
||
/*
|
||
* Function: TeamLeadMenu::handleOperation
|
||
* Description: Handles the team lead’s menu choice and executes the corresponding action
|
||
* Parameters:
|
||
* choice - integer representing the selected menu option
|
||
* Returns:
|
||
* true - if the menu should remain active
|
||
* false - if the team lead chooses to logout
|
||
*/
|
||
bool TeamLeadMenu::handleOperation(int choice)
|
||
{
|
||
switch (choice)
|
||
{
|
||
case 2:
|
||
viewPayslip(m_zenvyController);
|
||
break;
|
||
case 3:
|
||
viewPayslipHistory(m_zenvyController);
|
||
break;
|
||
case 7:
|
||
viewEmployees(m_zenvyController);
|
||
break;
|
||
case 8:
|
||
searchEmployee(m_zenvyController);
|
||
break;
|
||
case 16:
|
||
updateProfile(m_zenvyController);
|
||
break;
|
||
case 17:
|
||
viewProfile(m_zenvyController);
|
||
break;
|
||
case 18:
|
||
return false;
|
||
default:
|
||
std::cout << "Enter a valid choice!" << std::endl;
|
||
util::pressEnter();
|
||
}
|
||
return true;
|
||
} |