#!/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