Fix: #6087 Display specific error message for course slug collision #6165
+507
−304
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
What this PR does
Fixes #6087
This PR addresses the issue where a generic "Internal Server Error" message was displayed when a user attempted to change a course slug to one that already existed.
Key changes in code :
Backend (Rails): Modified the Rails controller to send a JSON response containing a specific error message when a course slug collision occurs. This message clarifies the reason for the error to the user.
Frontend: Updated the frontend code to correctly extract and display the specific error message received from the backend. This replaces the generic "Internal Server Error" message with a user-friendly message indicating the slug collision.
Screenshots
Before:

Course titles can be identical for different organizations or institutions, but must be unique within the same organization or institution. This is because course titles are used to dynamically generate URLs (slugs), and duplicate titles within the same organization would create URL conflicts.
look: below
and this is an error occurring not showing proper message only showing Internal Server Error

After:

Showing proper message
And should be a different title to avoid conflict in the URL

Learning
I took 3+ days to understand the codebase, and then I solved this