This is an automated email from the ASF dual-hosted git repository.

solomax pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/openmeetings.git


The following commit(s) were added to refs/heads/master by this push:
     new d69f7b051 [OPENMEETINGS-2835] better check of appointment owner
d69f7b051 is described below

commit d69f7b051fd6bef33f423bff9fb245bed4210516
Author: Maxim Solodovnik <[email protected]>
AuthorDate: Mon Sep 14 11:23:01 2026 +0700

    [OPENMEETINGS-2835] better check of appointment owner
---
 .../apache/openmeetings/webservice/CalendarWebService.java    | 11 +++++------
 1 file changed, 5 insertions(+), 6 deletions(-)

diff --git 
a/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/CalendarWebService.java
 
b/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/CalendarWebService.java
index 17a9049b0..75d4080fd 100644
--- 
a/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/CalendarWebService.java
+++ 
b/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/CalendarWebService.java
@@ -44,6 +44,7 @@ import org.apache.openmeetings.db.dao.calendar.AppointmentDao;
 import org.apache.openmeetings.db.dto.basic.ServiceResult;
 import org.apache.openmeetings.db.dto.basic.ServiceResult.Type;
 import org.apache.openmeetings.db.dto.calendar.AppointmentDTO;
+import org.apache.openmeetings.db.dto.user.UserDTO;
 import org.apache.openmeetings.db.entity.calendar.Appointment;
 import org.apache.openmeetings.db.entity.user.User;
 import org.apache.openmeetings.db.entity.user.User.Right;
@@ -313,15 +314,13 @@ public class CalendarWebService extends BaseWebService {
                                        return false;
                                }
                                // short path
-                               if 
(AuthLevelUtil.hasWebServiceLevel(u.getRights())
-                                               || (appointment.getOwner() != 
null && appointment.getOwner().getId().equals(u.getId()))
-                                               || (appointment.getOwner() == 
null && appointment.getId() == null)
-                                       )
-                               {
+                               if 
(AuthLevelUtil.hasWebServiceLevel(u.getRights()) || appointment.getId() == 
null) {
                                        return true;
                                }
-                               if (appointment.getOwner() == null && 
appointment.getId() != null) {
+                               if (appointment.getId() != null) {
                                        Appointment a = 
dao.get(appointment.getId());
+                                       // trust no-one!
+                                       appointment.setOwner(new 
UserDTO(a.getOwner()));
                                        return 
a.getOwner().getId().equals(u.getId());
                                }
                                return false;

Reply via email to