Author: sebawagner
Date: Fri Mar 16 21:30:41 2012
New Revision: 1301774
URL: http://svn.apache.org/viewvc?rev=1301774&view=rev
Log:
OPENMEETINGS-7 Use RTMP for save / update (Bug in OpenLaszlo API for params
with same name)
Modified:
incubator/openmeetings/trunk/singlewebapp/WebContent/src/modules/lzcalendar/compontents/lzEditCalendarEvent.lzx
incubator/openmeetings/trunk/singlewebapp/src/app/org/openmeetings/app/data/calendar/daos/AppointmentDaoImpl.java
incubator/openmeetings/trunk/singlewebapp/src/app/org/openmeetings/app/data/calendar/management/AppointmentLogic.java
incubator/openmeetings/trunk/singlewebapp/src/app/org/openmeetings/app/remote/CalendarService.java
incubator/openmeetings/trunk/singlewebapp/src/calendarservice/org/openmeetings/axis/services/CalendarWebService.java
incubator/openmeetings/trunk/singlewebapp/src/calendarservice/org/openmeetings/axis/services/CalendarWebServiceFacade.java
Modified:
incubator/openmeetings/trunk/singlewebapp/WebContent/src/modules/lzcalendar/compontents/lzEditCalendarEvent.lzx
URL:
http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/WebContent/src/modules/lzcalendar/compontents/lzEditCalendarEvent.lzx?rev=1301774&r1=1301773&r2=1301774&view=diff
==============================================================================
---
incubator/openmeetings/trunk/singlewebapp/WebContent/src/modules/lzcalendar/compontents/lzEditCalendarEvent.lzx
(original)
+++
incubator/openmeetings/trunk/singlewebapp/WebContent/src/modules/lzcalendar/compontents/lzEditCalendarEvent.lzx
Fri Mar 16 21:30:41 2012
@@ -34,6 +34,8 @@
<attribute name="lzCalendarRef" value="null" />
<dataset name="eventDS" />
+
+ <attribute name="updateObj" value="null" />
<handler name="oninit">
<![CDATA[
@@ -61,7 +63,7 @@
this.getAppointmentReminderTypList.setData(this.remindertypes.data);
- this.eventDS.setData(this.dataElement.childNodes);
+ this.eventDS.setAttribute("data", this.dataElement.childNodes);
if ($debug) Debug.write("this.eventDS ",this.eventDS);
@@ -75,91 +77,106 @@
<method name="saveAndClose">
<![CDATA[
- var tMemberArgs =
this._participentList.getMemberArrayValue();
+ this.updateObj = new Object();
+
+ updateObj.tMemberArgs =
this._participentList.getMemberArrayValue();
+
+ if ($debug) Debug.write("tMemberArgs:
",updateObj.tMemberArgs.length,updateObj.tMemberArgs);
- var tAppointmentStartDate =
this._dateStart.getDate();
- if ($debug) Debug.write("tAppointmentStartDate
",tAppointmentStartDate);
+ updateObj.appointmentId =
Number(this.eventDS.getPointer().xpathQuery('appointmentId/text()'));
+ updateObj.appointmentstart =
this._dateStart.getDate();
+ if ($debug) Debug.write("appointmentstart
",updateObj.appointmentstart);
var tTimeStart = this._timeStart.getText();
var hours = Number(tTimeStart.substr(0,2));
var mins = Number(tTimeStart.substr(4,2));
if ($debug)
Debug.write("hours:mins",hours,mins,tTimeStart.substr(4,2));
- tAppointmentStartDate.setHours(hours);
- tAppointmentStartDate.setMinutes(mins);
+ updateObj.appointmentstart.setHours(hours);
+ updateObj.appointmentstart.setMinutes(mins);
- var tAppointmentEndDate =
this._dateEnd.getDate();
+ updateObj.appointmentend =
this._dateEnd.getDate();
var tTimeEnd = this._timeEnd.getText();
var hours = Number(tTimeEnd.substr(0,2));
var mins = Number(tTimeEnd.substr(4,2));
- tAppointmentEndDate.setHours(hours);
- tAppointmentEndDate.setMinutes(mins);
+ updateObj.appointmentend.setHours(hours);
+ updateObj.appointmentend.setMinutes(mins);
- var updateurl = canvas.protocol +
'://'+canvas.rtmphostlocal+':'+canvas.red5httpport
-
+canvas.httpRootKey+'services/CalendarService/saveAppointment';
- var queryString = 'SID='+canvas.sessionId
-
+'&appointmentName='+encodeURIComponent(this._title.getText())
-
+'&appointmentLocation='+encodeURIComponent(this._location.getText())
-
+'&appointmentDescription='+encodeURIComponent(this._descr.getText())
-
+'&appointmentstart='+parseDateToRestDateCalendar(tAppointmentStartDate)
-
+'&appointmentend='+parseDateToRestDateCalendar(tAppointmentEndDate)
- +'&isDaily='+false
- +'&isYearly='+false
- +'&categoryId='+1
- +'&remind='+this._reminderType.getValue()
- ;
-
- for (var i=0;i<tMemberArgs.length;i++) {
-
- var tObject = tMemberArgs[i];
- queryString += '&mmClient=' +
-
encodeURIComponent(
-
tObject.meetingMemberId + ','
- +
tObject.firstname + ','
- +
tObject.lastname + ','
- +
tObject.email + ','
- +
tObject.userId + ','
- +
tObject.jNameTimeZone
- );
-
- }
-
- queryString += +'&roomType='+this._roomType.getValue()
- +'&baseUrl='+this.baseUrl
- +'&languageId='+hib.userlang
+ updateObj.appointmentName = this._title.getText();
+ updateObj.appointmentLocation = this._location.getText();
+ updateObj.appointmentDescription = this._descr.getText();
+ updateObj.isDaily = false;
+ updateObj.isWeekly = false;
+ updateObj.isMonthly = false;
+ updateObj.isYearly = false;
+ updateObj.categoryId = 1;
+ updateObj.remind = this._reminderType.getValue();
+ updateObj.roomType = this._roomType.getValue();
- if ($debug) Debug.write(updateurl);
- if ($debug) Debug.write(queryString);
-
-
this.saveNewAppointment.setAttribute("src",updateurl);
-
this.saveNewAppointment.setAttribute("querystring",queryString);
- this.saveNewAppointment.doRequest();
+ if ($debug) Debug.write("appointmentId:
",updateObj.appointmentId);
+
+ if (updateObj.appointmentId > 0) {
+ this.updateAppointment.doCall();
+ } else {
+ this.saveAppointment.doCall();
+ }
]]>
</method>
<dataset name="getAppointmentReminderTypList" />
- <!--
- String SID, String appointmentName,
- String appointmentLocation, String
appointmentDescription,
- Date appointmentstart, Date appointmentend, Boolean
isDaily,
- Boolean isWeekly, Boolean isMonthly, Boolean isYearly,
- Long categoryId, Long remind,
- String[] mmClient, Long roomType,
- String baseUrl, Long languageId
- -->
- <dataset name="saveNewAppointment" type="http" querytype="POST">
- <handler name="ondata" args="d">
- if ($debug) Debug.write("saveNewAppointment
",d);
- var tPointer = new lz.datapointer();
- tPointer.setPointer(d);
- var returnValue =
tPointer.xpathQuery('saveAppointmentResponse/return/text()');
- if ($debug) Debug.write("returnValue
"+returnValue);
- var tNumber = Number(returnValue);
- if (tNumber > 0) {
- parent.lzCalendarRef.reload();
+ <netRemoteCallHib name="saveAppointment"
funcname="calendarservice.saveAppointment"
+ remotecontext="$once{
canvas.thishib }" >
+ <netparam><method name="getValue">return
canvas.sessionId; </method></netparam>
+ <netparam><method name="getValue">return
parent.parent.updateObj.appointmentName;</method></netparam>
+ <netparam><method name="getValue">return
parent.parent.updateObj.appointmentLocation;</method></netparam>
+ <netparam><method name="getValue">return
parent.parent.updateObj.appointmentDescription;</method></netparam>
+ <netparam><method name="getValue">return
parent.parent.updateObj.appointmentstart;</method></netparam>
+ <netparam><method name="getValue">return
parent.parent.updateObj.appointmentend;</method></netparam>
+ <netparam><method name="getValue">return
parent.parent.updateObj.isDaily;</method></netparam>
+ <netparam><method name="getValue">return
parent.parent.updateObj.isWeekly;</method></netparam>
+ <netparam><method name="getValue">return
parent.parent.updateObj.isMonthly;</method></netparam>
+ <netparam><method name="getValue">return
parent.parent.updateObj.isYearly;</method></netparam>
+ <netparam><method name="getValue">return
parent.parent.updateObj.categoryId;</method></netparam>
+ <netparam><method name="getValue">return
parent.parent.updateObj.remind;</method></netparam>
+ <netparam><method name="getValue">return
parent.parent.updateObj.tMemberArgs;</method></netparam>
+ <netparam><method name="getValue">return
parent.parent.updateObj.roomType;</method></netparam>
+ <netparam><method name="getValue">return
parent.parent.baseUrl;</method></netparam>
+ <netparam><method name="getValue">return
hib.userlang;</method></netparam>
+ <handler name="ondata" args="value">
+ <![CDATA[
+ if ($debug) Debug.write("saveAppointment
",value);
+ parent.lzCalendarRef.reload();
parent.close();
- }
- </handler>
- </dataset>
+ ]]>
+ </handler>
+ </netRemoteCallHib>
+
+ <netRemoteCallHib name="updateAppointment"
funcname="calendarservice.updateAppointment"
+ remotecontext="$once{
canvas.thishib }" >
+ <netparam><method name="getValue">return
canvas.sessionId; </method></netparam>
+ <netparam><method name="getValue">return
parent.parent.updateObj.appointmentId;</method></netparam>
+ <netparam><method name="getValue">return
parent.parent.updateObj.appointmentName;</method></netparam>
+ <netparam><method name="getValue">return
parent.parent.updateObj.appointmentLocation;</method></netparam>
+ <netparam><method name="getValue">return
parent.parent.updateObj.appointmentDescription;</method></netparam>
+ <netparam><method name="getValue">return
parent.parent.updateObj.appointmentstart;</method></netparam>
+ <netparam><method name="getValue">return
parent.parent.updateObj.appointmentend;</method></netparam>
+ <netparam><method name="getValue">return
parent.parent.updateObj.isDaily;</method></netparam>
+ <netparam><method name="getValue">return
parent.parent.updateObj.isWeekly;</method></netparam>
+ <netparam><method name="getValue">return
parent.parent.updateObj.isMonthly;</method></netparam>
+ <netparam><method name="getValue">return
parent.parent.updateObj.isYearly;</method></netparam>
+ <netparam><method name="getValue">return
parent.parent.updateObj.categoryId;</method></netparam>
+ <netparam><method name="getValue">return
parent.parent.updateObj.remind;</method></netparam>
+ <netparam><method name="getValue">return
parent.parent.updateObj.tMemberArgs;</method></netparam>
+ <netparam><method name="getValue">return
parent.parent.updateObj.roomType;</method></netparam>
+ <netparam><method name="getValue">return
parent.parent.baseUrl;</method></netparam>
+ <netparam><method name="getValue">return
hib.userlang;</method></netparam>
+ <handler name="ondata" args="value">
+ <![CDATA[
+ if ($debug) Debug.write("updateAppointment
",value);
+ parent.lzCalendarRef.reload();
+ parent.close();
+ ]]>
+ </handler>
+ </netRemoteCallHib>
<labelText name="_titleLabel" x="4" y="24" labelid="572"
fontstyle="bold" />
@@ -235,7 +252,7 @@
for (var i=0;i<canvas.roomTypesInitValues.length;i++){
this.addItem(canvas.roomTypesInitValues[i].name,canvas.roomTypesInitValues[i].roomtypes_id);
}
-
this.selectItem(String(canvas.roomTypesInitValues[0].roomtypes_id));
+
//this.selectItem(String(canvas.roomTypesInitValues[0].roomtypes_id));
]]>
</handler>
</resetCombobox>
Modified:
incubator/openmeetings/trunk/singlewebapp/src/app/org/openmeetings/app/data/calendar/daos/AppointmentDaoImpl.java
URL:
http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/app/org/openmeetings/app/data/calendar/daos/AppointmentDaoImpl.java?rev=1301774&r1=1301773&r2=1301774&view=diff
==============================================================================
---
incubator/openmeetings/trunk/singlewebapp/src/app/org/openmeetings/app/data/calendar/daos/AppointmentDaoImpl.java
(original)
+++
incubator/openmeetings/trunk/singlewebapp/src/app/org/openmeetings/app/data/calendar/daos/AppointmentDaoImpl.java
Fri Mar 16 21:30:41 2012
@@ -487,12 +487,15 @@ public class AppointmentDaoImpl {
if (mmClient != null) {
for (int i = 0; i < mmClient.size();
i++) {
+
@SuppressWarnings("rawtypes")
Map clientMemeber = (Map)
mmClient.get(i);
Long meetingMemberId = Long
.valueOf(
clientMemeber.get("meetingMemberId")
.toString()).longValue();
+
+ log.debug("DELETE newly CHECK
meetingMemberId: {} VS {} -- ", meetingMemberId,
memberRemote.getMeetingMemberId());
if
(memberRemote.getMeetingMemberId().equals(
meetingMemberId)) {
@@ -500,12 +503,15 @@ public class AppointmentDaoImpl {
+
meetingMemberId + " is to be removed!");
// Notifying Member for
Update
found = true;
+ break;
}
}
}
if (!found) {
+
+ log.debug("DELETE getMeetingMemberId:
{} -- ", memberRemote.getMeetingMemberId());
// Not in List in client delete it
meetingMemberLogic.deleteMeetingMember(
Modified:
incubator/openmeetings/trunk/singlewebapp/src/app/org/openmeetings/app/data/calendar/management/AppointmentLogic.java
URL:
http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/app/org/openmeetings/app/data/calendar/management/AppointmentLogic.java?rev=1301774&r1=1301773&r2=1301774&view=diff
==============================================================================
---
incubator/openmeetings/trunk/singlewebapp/src/app/org/openmeetings/app/data/calendar/management/AppointmentLogic.java
(original)
+++
incubator/openmeetings/trunk/singlewebapp/src/app/org/openmeetings/app/data/calendar/management/AppointmentLogic.java
Fri Mar 16 21:30:41 2012
@@ -319,7 +319,7 @@ public class AppointmentLogic {
try {
Appointment point = getAppointMentById(appointmentId);
-
+
if (point == null) {
log.error("No appointment found for ID " +
appointmentId);
return null;
Modified:
incubator/openmeetings/trunk/singlewebapp/src/app/org/openmeetings/app/remote/CalendarService.java
URL:
http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/app/org/openmeetings/app/remote/CalendarService.java?rev=1301774&r1=1301773&r2=1301774&view=diff
==============================================================================
---
incubator/openmeetings/trunk/singlewebapp/src/app/org/openmeetings/app/remote/CalendarService.java
(original)
+++
incubator/openmeetings/trunk/singlewebapp/src/app/org/openmeetings/app/remote/CalendarService.java
Fri Mar 16 21:30:41 2012
@@ -181,11 +181,12 @@ public class CalendarService {
}
public Long updateAppointment(String SID, Long appointmentId,
- String appointmentName, String appointmentLocation,
- String appointmentDescription, Date appointmentstart,
- Date appointmentend, Boolean isDaily, Boolean isWeekly,
- Boolean isMonthly, Boolean isYearly, Long categoryId,
Long remind,
- List<?> mmClient, Long roomType, String baseurl, Long
language_id) {
+ String appointmentName,
+ String appointmentLocation, String
appointmentDescription,
+ Date appointmentstart, Date appointmentend, Boolean
isDaily,
+ Boolean isWeekly, Boolean isMonthly, Boolean isYearly,
+ Long categoryId, Long remind,
@SuppressWarnings("rawtypes") List mmClient, Long roomType,
+ String baseUrl, Long language_id) {
try {
Long users_id = sessionManagement.checkSession(SID);
@@ -215,7 +216,7 @@ public class CalendarService {
appointmentName,
appointmentDescription,
appointmentstart,
appointmentend, isDaily, isWeekly,
isMonthly, isYearly,
categoryId, remind, mmClient,
- users_id, baseurl, language_id,
false, "", user
+ users_id, baseUrl, language_id,
false, "", user
.getOmTimeZone().getIcal());
}
} catch (Exception err) {
Modified:
incubator/openmeetings/trunk/singlewebapp/src/calendarservice/org/openmeetings/axis/services/CalendarWebService.java
URL:
http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/calendarservice/org/openmeetings/axis/services/CalendarWebService.java?rev=1301774&r1=1301773&r2=1301774&view=diff
==============================================================================
---
incubator/openmeetings/trunk/singlewebapp/src/calendarservice/org/openmeetings/axis/services/CalendarWebService.java
(original)
+++
incubator/openmeetings/trunk/singlewebapp/src/calendarservice/org/openmeetings/axis/services/CalendarWebService.java
Fri Mar 16 21:30:41 2012
@@ -25,6 +25,7 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
+import org.apache.axis2.AxisFault;
import org.openmeetings.app.OpenmeetingsVariables;
import org.openmeetings.app.data.basic.AuthLevelmanagement;
import org.openmeetings.app.data.basic.Sessionmanagement;
@@ -256,7 +257,8 @@ public class CalendarWebService {
* @param baseUrl
* the base URL for the invitations
* @param languageId
- * the language id of the calendar event
+ * the language id of the calendar event, notification emails
+ * will be send in this language
* @return
*/
public Long saveAppointment(String SID, String appointmentName,
@@ -290,8 +292,6 @@ public class CalendarWebService {
newList.add(map);
}
- // FIXME: Check if the event is also the event
of the current
-
Long id =
appointmentLogic.saveAppointment(appointmentName,
users_id, appointmentLocation,
appointmentDescription,
appointmentstart.getTime(),
appointmentend.getTime(),
@@ -335,10 +335,6 @@ public class CalendarWebService {
Long user_level =
userManagement.getUserLevelByID(users_id);
if (authLevelManagement.checkUserLevel(user_level)) {
- log.debug("updateAppointment");
- // FIXME: Check if the event is also the event
of the current
- // SID
-
log.debug("appointmentId " + appointmentId);
appointmentLogic.getAppointMentById(appointmentId);
@@ -358,93 +354,168 @@ public class CalendarWebService {
}
/**
- *
- * Update a calendar event all attributes
+ * Save an appointment
*
* @param SID
+ * The SID of the User. This SID must be marked as Loggedin
* @param appointmentId
+ * the id to update
* @param appointmentName
+ * name of the calendar event
* @param appointmentLocation
+ * location info text of the calendar event
* @param appointmentDescription
+ * description test of the calendar event
* @param appointmentstart
+ * start as Date yyyy-mm-ddThh:mm:ss
* @param appointmentend
+ * end as Date yyyy-mm-ddThh:mm:ss
* @param isDaily
+ * if the calendar event should be repeated daily (not
+ * implemented)
* @param isWeekly
+ * if the calendar event should be repeated weekly (not
+ * implemented)
* @param isMonthly
+ * if the calendar event should be repeated monthly (not
+ * implemented)
* @param isYearly
+ * if the calendar event should be repeated yearly (not
+ * implemented)
* @param categoryId
+ * the category id of the calendar event
* @param remind
+ * the reminder type of the calendar event
* @param mmClient
+ * List of clients, comma separated string, <br/>
+ * sample:
1,firstname,lastname,[email protected],1,Etc/GMT+1
+ * to add multiple clients you can use the same GET
parameter in
+ * the URL multiple times, for example:
+ * &mmClient=1,firstname,lastname,hans
+ * [email protected],1,Etc/GMT+1&mmClient
+ * =2,firstname,lastname,[email protected],1,Etc/GMT+1
* @param roomType
- * @param baseurl
+ * the room type for the calendar event
+ * @param baseUrl
+ * the base URL for the invitations
* @param languageId
+ * the language id of the calendar event, notification emails
+ * will be send in this language
* @return
*/
public Long updateAppointment(String SID, Long appointmentId,
String appointmentName, String appointmentLocation,
- String appointmentDescription, Date appointmentstart,
- Date appointmentend, Boolean isDaily, Boolean isWeekly,
+ String appointmentDescription, Calendar
appointmentstart,
+ Calendar appointmentend, Boolean isDaily, Boolean
isWeekly,
Boolean isMonthly, Boolean isYearly, Long categoryId,
Long remind,
- List<?> mmClient, Long roomType, String baseurl, Long
languageId) {
+ String[] mmClient, Long roomType, String baseurl, Long
languageId) throws AxisFault {
try {
Long users_id = sessionManagement.checkSession(SID);
Long user_level =
userManagement.getUserLevelByID(users_id);
+
+
if (authLevelManagement.checkUserLevel(user_level)) {
+ //check if the appointment belongs to the
current user
+ Appointment appointment = appointmentLogic
+
.getAppointMentById(appointmentId);
+ if
(!appointment.getUserId().getUser_id().equals(users_id)) {
+ throw new AxisFault(
+ "The Appointment cannot
be updated by the given user");
+ }
+ } else if
(authLevelManagement.checkUserLevel(user_level)) {
+ //fine
+ } else {
+ throw new AxisFault("Not allowed to preform
that action, Authenticate the SID first");
+ }
- log.debug("updateAppointment");
+ List<Map<String, String>> newList = new
ArrayList<Map<String, String>>();
- RoomTypes rt =
roommanagement.getRoomTypesById(roomType);
+ for (String singleClient : mmClient) {
+ String[] params = singleClient.split(",");
+ Map<String, String> map = new HashMap<String,
String>();
+ map.put("meetingMemberId", params[0]);
+ map.put("firstname", params[1]);
+ map.put("lastname", params[2]);
+ map.put("email", params[3]);
+ map.put("userId", params[4]);
+ map.put("jNameTimeZone", params[5]);
+ newList.add(map);
+ }
- Appointment app = appointmentLogic
-
.getAppointMentById(appointmentId);
+ log.debug("updateAppointment");
- Rooms room = app.getRoom();
- if (room != null) {
+ RoomTypes rt =
roommanagement.getRoomTypesById(roomType);
- room.setComment(appointmentDescription);
- room.setName(appointmentName);
- room.setRoomtype(rt);
+ Appointment app = appointmentLogic
+ .getAppointMentById(appointmentId);
- roommanagement.updateRoomObject(room);
- }
+ Rooms room = app.getRoom();
+ if (room != null) {
- Users user =
userManagement.getUserById(users_id);
+ room.setComment(appointmentDescription);
+ room.setName(appointmentName);
+ room.setRoomtype(rt);
- return
appointmentLogic.updateAppointment(appointmentId,
- appointmentName,
appointmentDescription,
- appointmentstart,
appointmentend, isDaily, isWeekly,
- isMonthly, isYearly,
categoryId, remind, mmClient,
- users_id, baseurl, languageId,
false, "", user
-
.getOmTimeZone().getIcal());
+ roommanagement.updateRoomObject(room);
}
+
+ Users user = userManagement.getUserById(users_id);
+
+ return appointmentLogic.updateAppointment(appointmentId,
+ appointmentName, appointmentDescription,
+ appointmentstart.getTime(),
appointmentend.getTime(),
+ isDaily, isWeekly,
+ isMonthly, isYearly, categoryId,
remind, newList,
+ users_id, baseurl, languageId, false,
"", user
+
.getOmTimeZone().getIcal());
+
+
} catch (Exception err) {
log.error("[updateAppointment]", err);
- err.printStackTrace();
+ throw new AxisFault(err.getMessage());
}
- return null;
-
}
/**
*
* delete a calendar event
*
+ * If the given SID is from an Administrator or Web-Service user, the
user
+ * can delete any appointment.<br/>
+ * If the SID is assigned to a simple user, he can only delete
appointments
+ * where he is also the owner/creator of the appointment
+ *
* @param SID
+ * an authenticated SID
* @param appointmentId
+ * the id to delete
* @param language_id
+ * the language id in which the notifications for the deleted
+ * appointment are send
* @return
*/
public Long deleteAppointment(String SID, Long appointmentId,
- Long language_id) {
-
- log.debug("deleteAppointment : " + appointmentId);
-
+ Long language_id) throws AxisFault {
try {
Long users_id = sessionManagement.checkSession(SID);
Long user_level =
userManagement.getUserLevelByID(users_id);
- if (authLevelManagement.checkUserLevel(user_level)) {
+
+ if
(authLevelManagement.checkWebServiceLevel(user_level)) {
+
+ return
appointmentLogic.deleteAppointment(appointmentId,
+ users_id, language_id);
+
+ } else if
(authLevelManagement.checkUserLevel(user_level)) {
+
+ Appointment appointment = appointmentLogic
+
.getAppointMentById(appointmentId);
+
+ if
(!appointment.getUserId().getUser_id().equals(users_id)) {
+ throw new AxisFault(
+ "The Appointment cannot
be deleted by the given user");
+ }
return
appointmentLogic.deleteAppointment(appointmentId,
users_id, language_id);
@@ -453,9 +524,9 @@ public class CalendarWebService {
} catch (Exception err) {
log.error("[deleteAppointment]", err);
+ throw new AxisFault(err.getMessage());
}
return null;
-
}
/**
Modified:
incubator/openmeetings/trunk/singlewebapp/src/calendarservice/org/openmeetings/axis/services/CalendarWebServiceFacade.java
URL:
http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/calendarservice/org/openmeetings/axis/services/CalendarWebServiceFacade.java?rev=1301774&r1=1301773&r2=1301774&view=diff
==============================================================================
---
incubator/openmeetings/trunk/singlewebapp/src/calendarservice/org/openmeetings/axis/services/CalendarWebServiceFacade.java
(original)
+++
incubator/openmeetings/trunk/singlewebapp/src/calendarservice/org/openmeetings/axis/services/CalendarWebServiceFacade.java
Fri Mar 16 21:30:41 2012
@@ -110,15 +110,15 @@ public class CalendarWebServiceFacade {
public Long updateAppointment(String SID, Long appointmentId,
String appointmentName, String appointmentLocation,
- String appointmentDescription, Date appointmentstart,
- Date appointmentend, Boolean isDaily, Boolean isWeekly,
+ String appointmentDescription, Calendar
appointmentstart,
+ Calendar appointmentend, Boolean isDaily, Boolean
isWeekly,
Boolean isMonthly, Boolean isYearly, Long categoryId,
Long remind,
- Long roomType, String baseurl, Long languageId)
+ String[] mmClient, Long roomType, String baseurl, Long
languageId)
throws AxisFault {
return getCalendarServiceProxy().updateAppointment(SID,
appointmentId,
appointmentName, appointmentLocation,
appointmentDescription,
appointmentstart, appointmentend, isDaily,
isWeekly, isMonthly,
- isYearly, categoryId, remind, null, roomType,
baseurl,
+ isYearly, categoryId, remind, mmClient,
roomType, baseurl,
languageId);
}