HH/verify_acknowledgement_implementation.sh

203 lines
7.2 KiB
Bash
Executable File

#!/bin/bash
# Script to verify Acknowledgement Section implementation
echo "=============================================================================="
echo "ACKNOWLEDGEMENT SECTION IMPLEMENTATION VERIFICATION"
echo "=============================================================================="
echo ""
# Colors for output
GREEN='\033[0;32m'
RED='\033[0;31m'
NC='\033[0m' # No Color
success_count=0
total_checks=0
check_item() {
total_checks=$((total_checks + 1))
if [ -f "$1" ]; then
echo -e "${GREEN}${NC} $1 exists"
success_count=$((success_count + 1))
return 0
else
echo -e "${RED}${NC} $1 NOT FOUND"
return 1
fi
}
check_content() {
total_checks=$((total_checks + 1))
if grep -q "$1" "$2" 2>/dev/null; then
echo -e "${GREEN}${NC} $1 found in $2"
success_count=$((success_count + 1))
return 0
else
echo -e "${RED}${NC} $1 NOT FOUND in $2"
return 1
fi
}
echo "1. CHECKING MODEL FILES..."
echo "---------------------------------------------------------------"
check_item "apps/accounts/models.py"
check_content "class AcknowledgementContent" "apps/accounts/models.py"
check_content "class AcknowledgementChecklistItem" "apps/accounts/models.py"
check_content "class UserAcknowledgement" "apps/accounts/models.py"
check_content "pdf_file" "apps/accounts/models.py"
echo ""
echo "2. CHECKING USER MODEL FIELDS..."
echo "---------------------------------------------------------------"
check_content "employee_id" "apps/accounts/models.py"
check_content "hospital" "apps/accounts/models.py"
check_content "department" "apps/accounts/models.py"
echo ""
echo "3. CHECKING PDF SERVICE..."
echo "---------------------------------------------------------------"
check_item "apps/accounts/pdf_service.py"
check_content "class PDFService" "apps/accounts/pdf_service.py"
check_content "def generate_acknowledgement_pdf" "apps/accounts/pdf_service.py"
echo ""
echo "4. CHECKING ONBOARDING SERVICE..."
echo "---------------------------------------------------------------"
check_item "apps/accounts/services.py"
check_content "class OnboardingService" "apps/accounts/services.py"
check_content "def acknowledge_item" "apps/accounts/services.py"
check_content "generate_acknowledgement_pdf" "apps/accounts/services.py"
echo ""
echo "5. CHECKING API VIEWS..."
echo "---------------------------------------------------------------"
check_item "apps/accounts/views.py"
check_content "class AcknowledgementContentViewSet" "apps/accounts/views.py"
check_content "class AcknowledgementChecklistItemViewSet" "apps/accounts/views.py"
check_content "class UserAcknowledgementViewSet" "apps/accounts/views.py"
check_content "def download_pdf" "apps/accounts/views.py"
echo ""
echo "6. CHECKING SERIALIZERS..."
echo "---------------------------------------------------------------"
check_item "apps/accounts/serializers.py"
check_content "class AcknowledgementContentSerializer" "apps/accounts/serializers.py"
check_content "class AcknowledgementChecklistItemSerializer" "apps/accounts/serializers.py"
check_content "class UserAcknowledgementSerializer" "apps/accounts/serializers.py"
check_content "pdf_file" "apps/accounts/serializers.py"
check_content "pdf_download_url" "apps/accounts/serializers.py"
echo ""
echo "7. CHECKING INIT COMMAND..."
echo "---------------------------------------------------------------"
check_item "apps/accounts/management/commands/init_onboarding_data.py"
check_content "DEPT_CLINICS" "apps/accounts/management/commands/init_onboarding_data.py"
check_content "CLINICS_ACK" "apps/accounts/management/commands/init_onboarding_data.py"
check_content "DEPT_SEHATY" "apps/accounts/management/commands/init_onboarding_data.py"
check_content "SEHATY_ACK" "apps/accounts/management/commands/init_onboarding_data.py"
echo ""
echo "8. CHECKING FOR ALL DEPARTMENTS..."
echo "---------------------------------------------------------------"
departments=(
"DEPT_CLINICS"
"DEPT_ADMISSIONS"
"DEPT_MEDICAL_APPROVALS"
"DEPT_CALL_CENTER"
"DEPT_PAYMENTS"
"DEPT_EMERGENCY"
"DEPT_MEDICAL_REPORTS"
"DEPT_ADMISSIONS_OFFICE"
"DEPT_CBAHI"
"DEPT_HR_PORTAL"
"DEPT_GENERAL_ORIENTATION"
"DEPT_SEHATY"
"DEPT_MOH_CARE"
"DEPT_CHI_CARE"
)
for dept in "${departments[@]}"; do
check_content "$dept" "apps/accounts/management/commands/init_onboarding_data.py"
done
echo ""
echo "9. CHECKING FOR ALL CHECKLIST ITEMS..."
echo "---------------------------------------------------------------"
checklist=(
"CLINICS_ACK"
"ADMISSIONS_ACK"
"MED_APPROVALS_ACK"
"CALL_CENTER_ACK"
"PAYMENTS_ACK"
"EMERGENCY_ACK"
"MED_REPORTS_ACK"
"ADMISSIONS_OFFICE_ACK"
"CBAHI_ACK"
"HR_PORTAL_ACK"
"ORIENTATION_ACK"
"SEHATY_ACK"
"MOH_CARE_ACK"
"CHI_CARE_ACK"
)
for item in "${checklist[@]}"; do
check_content "$item" "apps/accounts/management/commands/init_onboarding_data.py"
done
echo ""
echo "10. CHECKING MIGRATIONS..."
echo "---------------------------------------------------------------"
if [ -d "apps/accounts/migrations" ]; then
echo -e "${GREEN}${NC} Migrations directory exists"
success_count=$((success_count + 1))
ls -lh apps/accounts/migrations/*.py | grep -v __pycache__ | tail -5
else
echo -e "${RED}${NC} Migrations directory NOT FOUND"
fi
echo ""
echo "11. CHECKING REQUIREMENTS..."
echo "---------------------------------------------------------------"
check_content "reportlab" "requirements.txt"
echo ""
echo "=============================================================================="
echo "VERIFICATION SUMMARY"
echo "=============================================================================="
echo ""
echo "Total checks: $total_checks"
echo -e "Passed: ${GREEN}$success_count${NC}"
echo -e "Failed: ${RED}$((total_checks - success_count))${NC}"
echo ""
if [ $success_count -eq $total_checks ]; then
echo -e "${GREEN}ALL CHECKS PASSED! ✓${NC}"
echo ""
echo "Implementation includes:"
echo "1. ✓ Checklist of all acknowledgements that employees must sign"
echo "2. ✓ Ability to add future acknowledgements"
echo "3. ✓ Ability to add employee and employee ID"
echo "4. ✓ Checkmark for signed acknowledgements with attached PDF"
echo "5. ✓ Acknowledgements for Clinics"
echo "6. ✓ Acknowledgements for Admissions / Social Services"
echo "7. ✓ Acknowledgements for Medical Approvals"
echo "8. ✓ Acknowledgements for Call Center"
echo "9. ✓ Acknowledgements for Payments"
echo "10. ✓ Acknowledgements for Emergency Services"
echo "11. ✓ Acknowledgements for Medical Reports"
echo "12. ✓ Acknowledgements for Admissions Office"
echo "13. ✓ Acknowledgements for CBAHI"
echo "14. ✓ Acknowledgements for HR Portal"
echo "15. ✓ Acknowledgements for General Orientation"
echo "16. ✓ Acknowledgements for Sehaty App (sick leaves)"
echo "17. ✓ Acknowledgements for MOH Care Portal"
echo "18. ✓ Acknowledgements for CHI Care Portal"
echo ""
echo -e "${GREEN}ALL REQUIREMENTS IMPLEMENTED ✓${NC}"
exit 0
else
echo -e "${RED}SOME CHECKS FAILED ✗${NC}"
echo ""
echo "Please review the failed items above and implement them."
exit 1
fi