Adding an Employee - MikeBlyth/mission_database GitHub Wiki

All members/employees must belong to a family, even if they are the only ones in their family. Therefore, adding new members is done through a family form. To add a new member (or couple) who does not have an existing family,

  • Click on the "Families" link on the side menu.
  • Click the "Create new" link (upper right). You will then see the form shown below.
  • Fill in the information for the new employee.
  • When adding a couple, enter the husband's information on the first tab ("Head"), check the box labeled "Show tab for wife", click on the Wife tab and enter her information there.
  • If there are children, click on that tab and enter their data. (If there are more children than available rows, edit the family again after saving it, as more rows will be added.)
  • Also click on the Family tab and fill in the information identifying the family. Although this will probably be the same as for the individual employee, it need not be so.
  • Click the Create button (bottom left). You should be taken back to the list of families and see a message that the new family has been added.

Form for adding new family & employee

Notes on data for individuals

  • Full name: The full name identifies the person uniquely in the database. That is, no two people can share the same full name. This is not automatically composed from the first, last, and middle names because those might not be unique. [Developers: this is pretty awkward; is there a better, standardized way of handling this??]

  • Qualifications: This field is used by our organization to describe the specifics of education or other work qualifications. It is not required and is not used by the system. Use it however you want (or delete it)

  • Employment status: This can be used to denote different categories of members/employees such as full-time, part time, contract, volunteers, etc. The values are drawn from the employment status codes table accessible to administrators.

  • Field status: This describes whether the person is "on the field" (on site, in country, etc.), on leave, on home assignment, etc. This field is used along with the travel schedule to determine who is on location at a given time. The values are drawn from the field statuses table accessible to administrators.

  • Ministry: What the person does: position, job, assignment, etc. [Could be renamed to one of these to make it fit non-religious organizations.] The values are drawn from the ministry codes table accessible to administrators.

  • Ministry location: See above. Locations are defined in the locations table accessible to administrators.

  • Temporary location: This field can be used when someone is away from their normal home or work location. The temporary location is then shown on the reports that describe where people are, mainly for security purposes. Ignore this if you don't need to know about these short-term relocations. Temp. loc. start date and until are the beginning and end dates for this temporary location.

Family tab

Tab for family information

Notes on data for families

  • Name to identify family: A name that uniquely identifies the family. See the member's full name above. Ordinarily, the name to identify family would be the same as the full name of the head of family. [Developers: any reason not to simply enforce this, automatically using the head of family full name?]

  • SIM ID: An organizational id number etc. Not used by the system. [Note: name needs to be changed]

  • Residence location: Drawn from the locations table.

  • Status: The same as field status above. [Note: need to change label to be consistent.] When this is set or changed, the new value is applied to all the family members. [Note: another example of balancing complexity and need for information. Generally, families will have the same status so it is nice to be able to change it for all at the same time. On the other hand, family members will occasionally have different statuses, so we need to be able to specify that individually.]

  • Ending date for current or most recent term and Estimated starting date for next term: see Field terms

Children tab

Children tab

The information here is self-evident except for status. The status is drawn from the status codes table filtered for those statuses that can apply to children. For example, children could be dependents, adult children, college students, at boarding school, and so on.

Developers only: Tasks tab (experimental, in development!)

Tasks are things that need to be done at different stages in the family's employment/deployment cycle. Examples could include

  • Signing contract and/or consent forms before arrival
  • Orientations of various kinds on arrival
  • Annual debriefing and/or evaluation
  • End-of-term, end-of-contract debriefing.

The tasks feature is not yet well developed or tested. Presently, it works like this:

  • Stages in the employment cycle are hard-coded into the system [PersTask model]. These are pipeline, orientation, start of term, end of term, and end of service. [NB: should add "annual" and/or "mid-term." Consider making the points a separate table rather than hard coding them.]

  • Tasks are managed by administrators. The tasks list is at /pers_tasks [NB: Need to add menu item for this on the admin menu!]

  • When a task is created, it is given a name and assigned points in the cycle to which it applies.

Task creation form

  • The various tasks will then appear on the tasks tab of the member/family form, at the assigned points in the cycle, as below.

Tasks tab in the families form

Currently, the system saves the status of each task for a family (checked or not checked, i.e. done or pending) but does not do any other processing of them. However, it is envisioned that reminders or alerts could be added so that tasks would not slip by.