Howdy! Well, I guess it's time to share this out with everyone. We are using this script I wrote this school year with our teachers. I taught myself Javascript as well as the Canvas API in order to save everyone the pain and strife of crosslisting.
*Updated 11/19/2021 - I added a filter to only load courses that the user role is "teacher".
*Updated 7/26/2021 - I fixed the maxTerm function - it wasn't evaluating correctly.
*Updated 7/13/2021* - I fixed the "undefined" error some users were getting. I had to redo the maxTerm function as it had stopped working correctly.
This is a robust script in which the instructor's current term courses are loaded in a dropdown menu to choose the parent course. Then the remaining courses are dynamically created and are selectable to be child courses. Finally, the instructor can rename the parent course and submit to finalize the crosslisting and renaming actions. The instructor can also choose to crosslist without renaming and rename without crosslisting. On the subaccount page, it also adds the ability for admins to search for a user and then perform the same tasks as an instructor as well as decrosslist a course.
Instructor and Admin Crosslisting Tools
If you want to test, use TamperMonkey in Chrome or other userscript extension.
If you want to deploy to all staff, copy the script into the custom Javascript folder.
I welcome those with better programming chops to help me improve the script. If you have any questions about what any part of the script does (my documentation isn't all done yet!) please let me know and I'll be more than happy to help. Otherwise, let me know what you think and what other features you may want to see implemented!