Yuliia7-1 opened a new issue, #11420:
URL: https://github.com/apache/cloudstack/issues/11420

   ### problem
   
   I'm encountering unexpected behavior in the TemplateAdapterBase.prepare(...) 
method. Specifically, when creating a new template with the isfeatured flag 
set, the system ignores this flag unless the template owner is Root Admin. 
Here's a breakdown of the problematic logic:
   
   
https://github.com/apache/cloudstack/blob/7d59bfe2b59eb06a71c68262dfb08de8ee422ad4/server/src/main/java/com/cloud/template/TemplateAdapterBase.java
   
   // File: TemplateAdapterBase.java
   
   ```
   public TemplateProfile prepare(..., Account templateOwner, ...) throws 
ResourceAllocationException {
       // ...
       boolean isAdmin = _accountMgr.isRootAdmin(templateOwner.getId());
   
       // ...
       // Lines 225–228: Key decision point:
       if (!isAdmin || featured == null) {
           featured = Boolean.FALSE;
       }
       // ...
       // Line 280: The TemplateProfile is created with `featured` potentially 
overwritten
       return new TemplateProfile(..., featured, ...);
   }
   ```
   
   According to the current validation logic, if a template is being created 
(`registerTemplate` API) using the `domainid` and `account` parameters (i.e. on 
behalf of another account), and` isfeatured=true` is specified, the value of 
`isfeatured` is automatically overridden and set to `false`.
   https://github.com/apache/cloudstack/pull/8210/files
   
   ### versions
   
   _No response_
   
   ### The steps to reproduce the bug
   
   1. Call the `registerTemplate` API: 
   ```
   {
     //...
     "account": "test-account",
     "domainid": "UUID-DOMAIN",
     "isfeatured": true
   }
   ```
   2. Ensure that the target account (specified via `account` and `domainid`) 
has the `Domain Admin` role.
   3. After registration, check the `isfeatured` flag on the created template.
   
   ### What to do about it?
   
   Expected behavior:
   If `isfeatured = true` is specified in the API request along with `domainid` 
and `account` parameters, the `isfeatured` value should be correctly applied.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to