Skip to content

Ticket Panel (Adminhelps & Mentorhelps)#11075

Merged
Drulikar merged 39 commits into
cmss13-devs:masterfrom
GeneriedJenelle:ticketpanel
Jul 7, 2026
Merged

Ticket Panel (Adminhelps & Mentorhelps)#11075
Drulikar merged 39 commits into
cmss13-devs:masterfrom
GeneriedJenelle:ticketpanel

Conversation

@GeneriedJenelle

@GeneriedJenelle GeneriedJenelle commented Nov 7, 2025

Copy link
Copy Markdown
Contributor

About the pull request

This is a ticket panel intended to improve the staff side management of tickets. It provides a GUI for all admin and mentor tickets in one place, and allows you to see archived ones. There are quick access buttons for the player who is making the original request, and an easy system for labelling tickets with a subject for a quick summary.

Also expands mentorhelps so they have more function comparable to adminhelps.

Explain why it's good for the game

Allows better management of adminhelps and mentorhelps by providing a visual environment and additional features.

Testing Photographs and Procedure

image

More to come. Will be updated.

Screenshots & Videos image image

Changelog

🆑
add: Adds Ticket Panel
/:cl:

@github-project-automation github-project-automation Bot moved this to Awaiting Review in Review Backlog Nov 7, 2025
@Blundir
Blundir marked this pull request as draft November 7, 2025 00:09
@cmss13-ci cmss13-ci Bot added UI deletes nanoui/html Feature Feature coder badge size/XL Denotes a PR that changes 799-1999 lines, ignoring generated files. labels Nov 7, 2025
This is a ticket panel intended to improve the staff side management of tickets. It provides a GUI for all admin and mentor tickets in one place, and allows you to see archived ones. There are quick access buttons for the player who is making the original request, and an easy system for labelling tickets with a subject for easy access.

Also expands mentorhelps so they have more function comparable to adminhelps.
Removes symbols that occur when making messages with apostrophes.

Lint update

Allows for link data/bug reports to display in admin tickets

Marking fixes

Fixes Double Reply bug in mentor helps

Allows admins to override marked tickets

Bug fix: Syncing across clients

Fixes issue with admin tabs syncing across clients. Each has their own independent panel.

Converts adminhelp response field to button format

Update to resolve a limitation with message clearing after button sending with input boxes.
@matttheficus

Copy link
Copy Markdown
Contributor

Having a button in the UI to convert mhelps to ahelps and vice-versa would be useful. Only ahelps currently have this feature with the DEFER button (which I dont see on the UI anywho after checking it out), but I can see a use case for both!

Ticket Tab links linked to ticket panel

Updated Ticket Tab links to Ticket Panel
Added in-game chat option of old panel as Fallback
- Fixed a bug where mentorhelp by ckey proc wasn't returning correctly
- Added defer feature for mentorhelps
- Integrated defer feature from adminhelps and mentorhelps into ticket panel
@GeneriedJenelle

Copy link
Copy Markdown
Contributor Author

Having a button in the UI to convert mhelps to ahelps and vice-versa would be useful. Only ahelps currently have this feature with the DEFER button (which I dont see on the UI anywho after checking it out), but I can see a use case for both!

Good idea, I've just added this into the panel.
image
image
image

@GeneriedJenelle
GeneriedJenelle marked this pull request as ready for review November 26, 2025 19:56
@GeneriedJenelle GeneriedJenelle changed the title [In Progress] Ticket Panel (Adminhelps & Mentorhelps) Ticket Panel (Adminhelps & Mentorhelps) Nov 26, 2025
@matttheficus

matttheficus commented Dec 5, 2025

Copy link
Copy Markdown
Contributor

Would it be possible to add the player's faction/role into the list of info in the panel? Very very very useful for parsing the context of an mhelp.

Hell, just their role (ComTech, HM, Spitter, Drone, etc) would be super useful.

@GeneriedJenelle

Copy link
Copy Markdown
Contributor Author

Would it be possible to add the player's faction/role into the list of info in the panel? Very very very useful for parsing the context of an mhelp.

Hell, just their role (ComTech, HM, Spitter, Drone, etc) would be super useful.

Hi @matttheficus do you know whereas in the code this info often gets referenced terms of players? Would help tons.

@matttheficus

matttheficus commented Dec 8, 2025

Copy link
Copy Markdown
Contributor

Would it be possible to add the player's faction/role into the list of info in the panel? Very very very useful for parsing the context of an mhelp.
Hell, just their role (ComTech, HM, Spitter, Drone, etc) would be super useful.

Hi @matttheficus do you know whereas in the code this info often gets referenced terms of players? Would help tons.

Humans seem to be .job under mob_defines.dm
Xenos would .caste_type on a xeno mobtype. This can be found under Xenomorph.dm

@MistChristmas

Copy link
Copy Markdown
Contributor

@GeneriedJenelle is this feature complete, or were you still working on the above.

@cm13-github cm13-github added the Merge Conflict PR can't be merged because it touched too much code label Feb 21, 2026
@cm13-github

Copy link
Copy Markdown
Contributor

This pull request has conflicts, please resolve those before we can evaluate the pull request.

@GeneriedJenelle

Copy link
Copy Markdown
Contributor Author

A few updates:

  • Fixes an unreported bug relating to admin_ticket_log() where key_name_admin(src) was exporting raw html into the message log if you edit variables while having an admin ticket open, uses the key_name(src) instead for the raw message output, which fixes this.

  • Update on ticket details, they are fixed to the top of the screen even if you scroll down. Just thought this would be a good idea for longer tickets so you don't have to scroll all the way to the top to remember important details.

image
  • Fixes: "Similar to this, the side bar for Open/Archived doesn't respect the bottom of the window. And will overflow off screen."/"Also this isn't completely resolved as if there's enough entries in the Ticket side bar, it will just overflow, and not be scrollable."

This has been tested on both mentor and admin helps.
image

  • Fixes: "Xenos' faction come up as Neutral"
    Now fixed, xenos weren't coming up because get_faction() doesn't return xeno factions but GLOB.faction_datums does. Switched to that. Still works with marines too.
image
  • Fixes: "Closing mentor ticket/unclaiming a mentor ticket sends an unsorted unformatted message"
image image
  • Fixes: "Deferring a ticket with a custom message isn't verbose that someone customised it"
image
  • I've put in a fix for Mentor helps who have clients that leave, can't be closed in the panel despite saying that they've been automatically closed. but you may need to test this on your live run. It appears to work on my side.

  • Preemptively I've added a "show more/less" message cutoff for initial messages, in case you get one of those really Mojo-Jojo tier ahelpers.

image
  • Fixes: "Replying to a ticket doesn't auto-mark it. But Trying to Auto-Reply to ahelps won't auto mark it, and won't work unless it's marked. Trying to Auto-Reply to Mentor tickets will mark it and work though"
image

Now done.

  • Fixes: "Using the in-chat mark button on a closed ticket doesn't warn you the ticket is already closed."
image
  • Fixes: "In Mentor tickets, View Notes and Ban are discoloured out even if the user has mod/admin privileges. Probably just preferable if you didn't populate the button if they don't have the permissions"
image

Comment thread code/modules/mentor/mentorhelp.dm Outdated
Comment thread code/modules/mentor/mentorhelp.dm Outdated
Comment thread code/modules/mentor/mentorhelp.dm
Comment thread code/modules/mentor/mentorhelp.dm Outdated
GeneriedJenelle and others added 3 commits July 2, 2026 19:59
Co-authored-by: Drathek <76988376+Drulikar@users.noreply.github.com>
Co-authored-by: Drathek <76988376+Drulikar@users.noreply.github.com>
Co-authored-by: Drathek <76988376+Drulikar@users.noreply.github.com>

@Drulikar Drulikar left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe I missed stuff, but it looks like usage is just very inconsistent for procs as far as how a person is identified as.

Looks like log_mhelp needs to either be key (or even better ckey) since this isn't ever given to a user, and its just file logged so should be a unique identifier (not a external displayname that could change by a player at any moment). Same for log_message.

But notify is to_chat'ed so should have mentor .username() or IC name for the person (unless they're staff)

Comment thread code/modules/admin/ticket_panel/ticket_panel.dm Outdated
Comment thread code/modules/admin/ticket_panel/ticket_panel.dm Outdated
Comment thread code/modules/admin/verbs/adminhelp.dm Outdated
Comment thread code/modules/admin/ticket_panel/ticket_panel.dm Outdated
Comment thread code/modules/admin/verbs/adminhelp.dm Outdated
Comment thread code/modules/mentor/mentorhelp.dm
Comment thread code/modules/mentor/mentorhelp.dm
Comment thread code/modules/mentor/mentorhelp.dm
Comment thread code/modules/mentor/mentorhelp.dm
Comment thread code/modules/mentor/mentorhelp.dm
GeneriedJenelle and others added 2 commits July 4, 2026 17:11
Co-authored-by: Drathek <76988376+Drulikar@users.noreply.github.com>

@Drulikar Drulikar left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Logging is preferable to have uuids (because again steam users can change their displayname at any time).

Still unresolved issues with the Notify usage above.

Comment thread code/modules/mentor/mentorhelp.dm Outdated
Comment thread code/modules/mentor/mentorhelp.dm Outdated
Comment thread code/modules/mentor/mentorhelp.dm Outdated
Comment thread code/modules/mentor/mentorhelp.dm Outdated
GeneriedJenelle and others added 3 commits July 6, 2026 20:23
Co-authored-by: Drathek <76988376+Drulikar@users.noreply.github.com>
Switching from .key to .username() in other areas of code, except for logging. Some adminhelp code refactored/cleaned up.
@GeneriedJenelle
GeneriedJenelle marked this pull request as ready for review July 6, 2026 21:34

@Drulikar Drulikar left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you for all of your time fussing with this.

@Drulikar
Drulikar added this pull request to the merge queue Jul 7, 2026
Merged via the queue into cmss13-devs:master with commit 4f84ec9 Jul 7, 2026
29 checks passed
@github-project-automation github-project-automation Bot moved this from Changes Requested to Merged in Review Backlog Jul 7, 2026
cmss13-ci Bot added a commit that referenced this pull request Jul 7, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Feature Feature coder badge size/XXL Denotes a PR that changes 2000+ lines, ignoring generated files. Testmerge Candidate we'll test this while you're asleep and the server has 10 players UI deletes nanoui/html

Projects

Archived in project

Development

Successfully merging this pull request may close these issues.

7 participants