Problem: I am trying to find out how I can achieve the following with Toolset:
The following scenario needs to be developed for a municipal job board that provides jobs for young people.
An employer creates a job.
The job is listed.
An employee sees the job and applies.
The job exchange connects employers, employees and jobs.
The employer sees which employee has taken on which job.
The employee sees which jobs he has taken on.
The job exchange creates automatic payroll accounting based on the relationship between employer, employee and job.
I'm not sure which procedure is best.
Solution: I would start with the following structure:
- Employer: Custom User role, unless you want to allow parametric searches of Employers like search by location, search by industry type, etc. Parametric searches of Users are not supported, so you would need a Custom Post Type.
- Employee: Custom User role, unless you want to allow parametric searches of Employees like search by location, search by qualifications, search by rating, etc. Parametric searches of Users are not supported, so you would need a Custom Post Type.
- Job: Custom Post Type, parent of Application. Employer is the author of a Job. Use a CRED form to allow Employers to create / edit their own Job posts.
- Application: Custom Post Type, child of Job. Employee is the author of an Application. Use a CRED form to allow Employees to create / edit their own Application posts for any Job.
- I assume there is some workflow where the Employer reviews all Applications for a Job, then selects one Application. You could establish the selected Employee relationship by using a custom field on the Job post type that stores the Employee's User ID as the assigned Employee. This can be maintained with a CRED form that edits the Job post and stores the value of a hidden field which captures the Application's author ID. When the CRED form is submitted, you can send custom notifications to the selected Employee based on the author ID.
- A View of Jobs filtered by Author ID - shows an Employer all their Job listings. Based on the assigned Employee custom field, you can show the Job as "filled" or "open". You could nest a View inside this View that shows all the child Applications of each Job post, if you want, and any information about those Applications.
- A View of Applications filtered by Author ID - shows an Employee all their Applications. Based on the assigned Employee custom field in the Application parent (Job), you can determine whether or not the Job is "filled" or "open", and if filled, whether or not the Employee's Application was accepted.
- Custom taxonomies as needed to categorize your Job posts to facilitate the types of Job searches you want to include.
Relevant Documentation:
https://toolset.com/documentation/user-guides/creating-post-type-relationships/
https://toolset.com/documentation/user-guides/cred-forms-for-child-content/
https://toolset.com/documentation/programmer-reference/cred-api/#cred_save_data