Select new section for the document
System Behavior and Design
Old State |
New State |
State change trigger |
User who initiates state change |
Business requirements on state change / in state |
null | active | Job is created in PETS |
Company admin Company contact Job developer |
All agency job developers are notified of new job posting Job applications can now be made for the job |
active | filled | Job Application is set to 'accepted' by user |
(see JobApplication state change table) |
(see JobApplication state change table) No job application can be made for the job |
active | revoked | Job status is set to 'revoked' by user |
Company admin Company contact Job developer |
All agency job developers are notified of revoked job posting No job application can be made for the job |
revoked | null | Job is deleted by user |
Company admin Company contact Job developer |
(see 'JobApplication' state change table) |
Old State |
New State |
State change trigger |
User who initiates state change |
Business requirements on state change / in state |
null | active | JobApplication created |
Job seeker Job developer |
Job seeker's case manager notified Job seeker's job developer notified Company person (associated with job) is notified |
active | accepted | Job Application status set to 'accepted' |
Company admin Company contact |
Job developer (primary) is notified New Job Applications not allowed Other Job Applications (for same job) are set to 'not_accepted' Job status set to 'filled' |
active | not_accepted | Job Application status set to 'not_accepted' |
Company admin Company contact Job developer |
Job seeker is notified Job developer (primary) is notified |
(any) | null |
Job Application is deleted |
Job seeker Job developer |
Job developer notified (if Job seeker deleted the application) |
(any) | null | Job is deleted by user |
(see 'Job' state change table) |
All associated Job Applications are deleted |
- Home page (user = job seeker)
- Company landing page (user = company person)
- Agency landing page (user = agency person)
- Company Admin (CA) - there can be more than one CA per Company. This person can add and remove other employer people (Company Contacts) in PETS. This person can also perform all actions that an Company Contact can do.
- Company Contact (CC) - this person can manage job postings from the Company - add, edit, delete, etc. There can be many CC's per employer.
- Name (first and last)
- Title
- Phone number
- The User record does cannot be used to login.
- The CompanyPerson record has status of 'Pending'.
- An email (subject: "Registration approved") is sent to the company contact. The email will state that the company registration has been accepted, and that the contact (receiver of the email) should will also receive a second email with instructions to activate their (personal) account in PETS.
- The second email (subject: "Confirmation instructions") contains a link that the receiver will click on. The user's account will be confirmed in PETS (via an activation token in the link URL). Then, the following occurs:
- The CompanyPerson status is changed to 'Active',
- The contact is automatically logged in,
- The contact is directed to a company admin home page (similar to agency admin home page), where features for a company admin will be available (such as inviting another company person to create an account in PETS).
- Invite another employee (of the same company) to register as a PETS user - see below.
- Delete a company contact.
- The AA fills out a form for the new person that includes the person's name (first, last) and email address.
- The AA submits the form, at which point:
- An invitation email is sent to the new agency person.
- The AA is directed to the 'Edit Agency Person" page, where the AA can set attributes for the invited agency person, including:
- Role(s) (Job Developer, Case Manager, etc.)
- Associated Job Seekers (for which this person will be the 'primary' job developer)
- Job specialities
Create company
- company status = 'Pending Approval'
Create user and send email:
- don't send confirmation email but send specialized email
- @user.skip_confirmation_notification! (before saving)
- http://stackoverflow.com/questions/4790685/devise-is-it-possible-to-not-send-a-confirmation-email-in-specific-cases-eve
- Email delivery scenarios
- email address valid (delivery occurs)
- email address invalid (added waffle issue to address later)
- set user.approved = false
- migration to add 'approved' to users table
- configure as defined here: https://github.com/plataformatec/devise/wiki/How-To:-Require-admin-to-activate-account-before-sign_in
Company approval process (agency admin feature)
- list of companies on agency_admin_home page (with status
shown)
- click on company name to see details (companies#show)
- buttons:
- 'Approve Registration' (if status = 'Pending')
- 'Delete' (with confirm dialog box)
- 'Edit' company registration (see below)
- cannot change company status
- can change company contact info
- link back to home (root) page
- company registration 'show' view
- add 'company contact' data
- add address info
When registration is approved:
- Set status of company to 'Active'
- Set approved = true for company contact
- Set company person status = 'Active'
- Send email to company contact with link to login
- user.send_confirmation_instructions (send deferred confirmation email)
Routes: (all to same controller: company_registrations_controller)
namespace: 'companies'
(accessible to all)
- new
- create
namespace: 'admin/companies' (agency_admin only)
- approve (registration)
- destroy
- edit
- update
- show
Patrick Bolger updated "System Behavior and Design" about 5 years ago
Patrick Bolger updated "System Behavior and Design" about 5 years ago
Patrick Bolger updated "System Behavior and Design" about 5 years ago
Patrick Bolger updated "System Behavior and Design" about 5 years ago
Patrick Bolger updated "System Behavior and Design" about 5 years ago
Patrick Bolger updated "System Behavior and Design" about 5 years ago
Patrick Bolger updated "System Behavior and Design" about 5 years ago
Patrick Bolger updated "System Behavior and Design" about 5 years ago
Patrick Bolger updated "System Behavior and Design" about 5 years ago
Patrick Bolger updated "System Behavior and Design" about 5 years ago
Patrick Bolger updated "System Behavior and Design" about 5 years ago
Patrick Bolger updated "System Behavior and Design" about 5 years ago
Patrick Bolger updated "System Behavior and Design" about 5 years ago
Patrick Bolger updated "System Behavior and Design" about 5 years ago
Patrick Bolger updated "System Behavior and Design" about 5 years ago
Patrick Bolger updated "System Behavior and Design" about 5 years ago
Patrick Bolger updated "System Behavior and Design" about 5 years ago
Patrick Bolger updated "System Behavior and Design" about 5 years ago
Patrick Bolger updated "System Behavior and Design" about 5 years ago
Patrick Bolger updated "System Behavior and Design" about 5 years ago
Patrick Bolger updated "System Behavior and Design" about 5 years ago
Patrick Bolger updated "System Behavior and Design" about 5 years ago
Patrick Bolger updated "System Behavior and Design" almost 5 years ago
Patrick Bolger updated "System Behavior and Design" almost 5 years ago
Patrick Bolger updated "System Behavior and Design" almost 5 years ago
Patrick Bolger updated "System Behavior and Design" over 4 years ago
Patrick Bolger updated "System Behavior and Design" over 4 years ago
Patrick Bolger updated "System Behavior and Design" over 4 years ago
Patrick Bolger updated "System Behavior and Design" over 4 years ago
Patrick Bolger updated "System Behavior and Design" over 4 years ago
Patrick Bolger updated "System Behavior and Design" over 4 years ago
Patrick Bolger updated "System Behavior and Design" over 4 years ago
Patrick Bolger updated "System Behavior and Design" over 4 years ago
Patrick Bolger updated "System Behavior and Design" over 4 years ago
Patrick Bolger updated "System Behavior and Design" over 4 years ago
Patrick Bolger updated "System Behavior and Design" over 4 years ago
Sub-documents
- PETS system full description - created by Joao Pereira over 5 years ago