GSOC 2012 Refactoring
Refactor services
StaffService
(Provider)
Staff
StaffAttribute
StaffAttributeType
StaffTag
QualificationService
Certificate
Education
StaffCert
PostService
Assignment
IscoCodes
JobTitle
Leave
Post
PostHistory
TrainingService
Training
TrainingClass
TrainPerson
ReportingService
Report
ReportParameter
CompetencyService
Competency
Evaluation
StaffNote
(TrainingCompetency)
Service Stack
User Views
Landing Page
Staff view (tab metaphor)/ HR Clerk Views
Personal
from Staff, Staff Attributes
modal page for editing
Post/Assignment
from Post, PostHistory, Assignment
modal pages for transactions
Leave
from PostHistory, Leave
modal page for editing
Education
from Education
modal page for editing
Certification
from Certification, StaffCert
edit mode or modal page for editing
Evaluation
from Evaluation, Note
modal page for editing evaluation
modal page for editing note (like discipline except note type)
Discipline
from Note
modal page for editing
Injury (like discipline except note type)
from Note
modal page for editing
Training
from TrainPerson, TrainingCourse, Training
modal page for editing
Management Functions/HR Manager Views
Jobs
Import/edit ISCO codes
Add/edit/retire cadres
Add/edit/retire job titles
Posts and Leaves
Add/close posts
Add/retire leave types
Training and competencies
Add/edit/retire competencies
Add/edit/retire trainings, training competencies
Add/edit/retire training courses
Qualifications
Add/edit/retire certifications
Staff Training, Patient Education
Same functionality, different target population and courses
Find people in need of training
Select (cadre, job title category, all)/cohort
Select competency or training or all and start date
Display people without competency or training since start date
Mark people to be scheduled
Find training class
Select competency or training (remembered from find people)
Display available training courses for selection
Assign people to be scheduled to class
Update training class assignments
Add/drop
Edit completion status
Report generation
Start with existing report generation functionality
Possibly add report retention and reprinting
Admin views
Settings
Settings (formerly Global Properties from platform 1.8 downwards), location tagging
Add/edit available reports
Service-Level Permissions
HR Manager
Permissions to all the management functions listed above.
HR Weak Clerk
Add/Edit Assignment
Add/Edit Post History
Edit Staff
Add/Edit Education
Add/Edit Certification for Staff
Add/Edit Evaluation
Add/Edit Leaves
Add/Edit Evaluation
Add/Edit Discipline
Add/Edit Injury
Add/Edit Training
HR Strong Clerk
Add Post
Add Job Title
Add Staff
Add Training and Competencies
Add Certifications
All HR Weak Clerk Permissions
Find the methods related to these in the currently existing services - HRService and HRManagerService. Once these services are refactored, it should be fairly easy to identify which service call carries what permission.