Skip to content

Instantly share code, notes, and snippets.

@alexgonor
Last active January 30, 2018 15:21
Show Gist options
  • Save alexgonor/eeebf48574584971969396f2c5462a40 to your computer and use it in GitHub Desktop.
Save alexgonor/eeebf48574584971969396f2c5462a40 to your computer and use it in GitHub Desktop.
User
methods
-create ticket
-change ticket status
-add comments
-close ticket
params
-email
-password
-position in the company
Executor < User
methods
-change ticket status(in work, solution, closed)
-change responsible unit by changing status (RFI Request for information)
params
-email
-password
Admin < User
methods
-create user or executor
-edit user or executor data
-delete user or executor
params
-email
-password
Ticket
methods
-receive and parsing email
-send email when ticket status was changed (to user or executor)
params
-ID
-status(in work, solution, closed)
-type(repair, service request, permission request)
-title
-detailed description
-responsible unit
-author
-executor
-deadline
-history
-attachment
----------------------------
Admin use activeadmin gem
Admin can create users or executors by sending email with login\password (admin has_many users, has_many executors)
User can create tickets by sending email on some mailbox or by filling form (user has_many tickets, belongs_to admin)
Executor change ticket status (take into work, change responsible unit through RFI, close etc.) (executor has_many tickets, belongs_to admin)
Ticket belongs_to user, belongs_to executor
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment