Before I state what needs to be done, let me explain what my site does, it will (hopefully) make my plugin requirements easier to understand. I own a small community marketplace forum. Users post their listings (virtual items), they PM each other, and whenever they’re ready to sell, they message the admins to middleman the transaction. Currently, for this system we’re using osTickets (via SSO) to manage the transactions. But, since Discourse already has an “invite user to PM” feature we figured that it would be somewhat easy to turn it into a ticketing system and dump osTickets.
So here are the plugin requirements:
- In each PM, there should be an extra button (place to be discussed) that when clicked:
a. Prompts the user with a popup (warning them that they’re about to start a ticket). Continue/Cancel option. The message within the popup has to be editable in the templates.
b. If confirmed, it sends a notification to admins (this should be selectable in admin settings on which admins to notify)
c. Instantly posts a reply to the PM from the system (the message has to be editable in templates)
d. The message has to contain a randomly generated number (for tracking, it can be random 7-8 digit numbers) which is included in message mentioned in point c. The number also has to inject itself into the PM title, something in lines of [Ticket #8812719] Original title here…
e. On started tickets, the button has to be disabled, to prevent a user from starting a ticket again.
I think that should do it for now. Looking for long term work/future upgrades. Most of my past work (custom plugins) was performed by @vinothkannans who is a great dev! But I need this rather quickly so I am posting here to see who can get this done first.