User tests: Successful: Unsuccessful:
Currently the category save is using it's own saving implementation, but is reusing a lot of code from the default Joomla! saving method. This leads to heavily outdated code in the CategoryModel
This PR keeps the category specific stuff in the category models but is using the AdminModel saving method for the similar steps.
Create a category
Edit a category
Save
Also test with multilingual enabled
Test content, banner, or e.g. weblinks as an external 3rd party extension
Please select:
Documentation link for docs.joomla.org:
No documentation changes for docs.joomla.org needed
Pull Request link for manual.joomla.org:
No documentation changes for manual.joomla.org needed
| Status | New | ⇒ | Pending |
| Category | ⇒ | Administration com_categories |
| Labels |
Added:
PR-6.1-dev
|
||
I have tested this item ✅ successfully on b5826ba
I have successfully tested this PR, thanks @bembelimen as always.
I created/edited Categories in Articles, Banners, Contacts, Newsfeeds, and weblinks (which I added for this testing), and played around with as many settings as I could after PR applied and it all seemed to work as expected!
| Status | Pending | ⇒ | Ready to Commit |
RTC
@bembelimen Do you have an idea why system tests are failing here with an error which seems to be related?
Running: api/com_banners/Categories.cy.js (98 of 150)
Test that banners categories API endpoint
✓ can deliver a list of categories (918ms)
✓ can deliver a single category (88ms)
✓ can create a category (126ms)
1) can update a category
3 passing (2s)
1 failing
1) Test that banners categories API endpoint
can update a category:
CypressError: `cy.request()` failed on:
https://localhost/cmaria/api/index.php/v1/banners/categories/33
The response we received from your web server was:
> 400: Bad Request
This was considered a failure because the status code was not `2xx` or `3xx`.
If you do not want status codes to cause failures pass the option: `failOnStatusCode: false`
-----------------------------------------------------------
The request we sent was:
Method: PATCH
URL: https://localhost/cmaria/api/index.php/v1/banners/categories/33
Headers: {
"Connection": "keep-alive",
"Authorization": "***",
"user-agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/135.0.0.0 Safari/537.36",
"accept": "*/*",
"cookie": "cd8ea301697ece65b3b549882c677f71=gb6ob1m08bhp12honrqmk2upot",
"accept-encoding": "gzip, deflate",
"content-type": "application/json",
"content-length": 109
}
Body: {"title":"updated automated test banner category","description":"automated test banner category description"}
-----------------------------------------------------------
The response we got was:
Status: 400 - Bad Request
Headers: {
"date": "Sat, 17 Jan 2026 18:40:39 GMT",
"server": "Apache/2.4.62 (Debian)",
"x-frame-options": "SAMEORIGIN",
"referrer-policy": "strict-origin-when-cross-origin",
"cross-origin-opener-policy": "same-origin",
"content-length": "74",
"connection": "close",
"content-type": "application/vnd.api+json; charset=utf-8"
}
Body: {
"errors": [
{
"title": "Save failed with the following error: ",
"code": 400
}
]
}
| Labels |
Added:
RTC
|
||
| Status | Ready to Commit | ⇒ | Fixed in Code Base |
| Closed_Date | 0000-00-00 00:00:00 | ⇒ | 2026-01-26 16:18:09 |
| Closed_By | ⇒ | tecpromotion |
I have tested this item ✅ successfully on b5826ba
This comment was created with the J!Tracker Application at issues.joomla.org/tracker/joomla-cms/46631.