Skip to content

Commit 9d2e65f

Browse files
committed
#1286 Notify attendees about events cancelation
1 parent 9923f59 commit 9d2e65f

File tree

5 files changed

+32
-36
lines changed

5 files changed

+32
-36
lines changed

logicaldoc-core/src/main/java/com/logicaldoc/core/job/JobManager.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,7 @@ public void schedule(AbstractJob job, Map<String, Object> dictionary, Map<Object
9393
JobKey jobKey = JobKey.jobKey(job.getName(), job.getGroup());
9494
JobDetail jobDetail = scheduler.getJobDetail(jobKey);
9595
if (jobDetail != null) {
96-
// Delete the job and all it's triggers that may altrady exist
96+
// Delete the job and all it's triggers that may already exist
9797
scheduler.deleteJob(jobKey);
9898
}
9999

@@ -118,7 +118,6 @@ private Trigger prepareTrigger(AbstractJob job, Object triggerSpec, Map<Object,
118118

119119
if (triggerSpec instanceof Date dateSpec) {
120120
// The job must be fired on a specific data
121-
122121
SimpleScheduleBuilder schedule = SimpleScheduleBuilder.simpleSchedule();
123122
if (MISSFIRE_RUNNOW.equals(getMissfireInstruction(job.getGroup())))
124123
schedule = schedule.withMisfireHandlingInstructionFireNow();

logicaldoc-gui/src/main/java/com/logicaldoc/gui/frontend/client/calendar/CalendarEventDialog.java

Lines changed: 24 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -881,9 +881,8 @@ private void saveAttendees() {
881881
*/
882882
private void onDelete() {
883883
GUIUser currentUser = Session.get().getUser();
884-
if (currentUser.getId() != calendarEvent.getOrganizerId() && !currentUser.isMemberOf(Constants.GROUP_ADMIN)) {
884+
if (currentUser.getId() != calendarEvent.getOrganizerId() && !currentUser.isMemberOf(Constants.GROUP_ADMIN))
885885
return;
886-
}
887886

888887
LD.ask(I18N.message("delevent"), I18N.message("deleventconfirm"), confirmToDelete -> {
889888
if (Boolean.FALSE.equals(confirmToDelete))
@@ -892,41 +891,35 @@ private void onDelete() {
892891
if (calendarEvent.getParentId() != null) {
893892
LD.ask(I18N.message("delevent"), I18N.message("douwantdeletealloccurrences"), answer -> {
894893
Long id = Boolean.TRUE.equals(answer) ? calendarEvent.getParentId() : calendarEvent.getId();
895-
LD.contactingServer();
896-
CalendarService.Instance.get().deleteEvent(id, new AsyncCallback<>() {
897-
@Override
898-
public void onFailure(Throwable caught) {
899-
GuiLog.serverError(caught);
900-
}
901-
902-
@Override
903-
public void onSuccess(Void arg) {
904-
LD.clearPrompt();
905-
destroy();
906-
}
907-
});
894+
deleteEvent(id);
908895
});
909896
} else {
910-
LD.contactingServer();
911-
CalendarService.Instance.get().deleteEvent(calendarEvent.getId(), new AsyncCallback<>() {
912-
913-
@Override
914-
public void onFailure(Throwable caught) {
915-
GuiLog.serverError(caught);
916-
}
917-
918-
@Override
919-
public void onSuccess(Void arg) {
920-
LD.clearPrompt();
921-
destroy();
922-
if (onChangedCallback != null)
923-
onChangedCallback.onSuccess(arg);
924-
}
925-
});
897+
deleteEvent(calendarEvent.getId());
926898
}
927899
});
928900
}
929901

902+
private void deleteEvent(Long id) {
903+
LD.ask(I18N.message("delevent"), I18N.message("askalertcancelation"), answer -> {
904+
LD.contactingServer();
905+
CalendarService.Instance.get().deleteEvent(id, Boolean.TRUE.equals(answer), new AsyncCallback<>() {
906+
@Override
907+
public void onFailure(Throwable caught) {
908+
GuiLog.serverError(caught);
909+
}
910+
911+
@Override
912+
public void onSuccess(Void arg) {
913+
LD.clearPrompt();
914+
destroy();
915+
if (onChangedCallback != null)
916+
onChangedCallback.onSuccess(arg);
917+
}
918+
});
919+
});
920+
921+
}
922+
930923
private void addAttendee(final ListGrid list, String id, String name, String email) {
931924
// Check if the selected user is already present in the list
932925
ListGridRecord[] records = list.getRecords();

logicaldoc-gui/src/main/java/com/logicaldoc/gui/frontend/client/services/CalendarService.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,10 +58,11 @@ public interface CalendarService extends RemoteService {
5858
* occurrences will be deleted too
5959
*
6060
* @param eventId identifier of the event
61+
* @param alertCancelation flat to alert attendees about the cancelation
6162
*
6263
* @throws ServerException an error happened in the server application
6364
*/
64-
public void deleteEvent(long eventId) throws ServerException;
65+
public void deleteEvent(long eventId, boolean alertCancelation) throws ServerException;
6566

6667
/**
6768
* Counts the number of events that start from now until a given date

logicaldoc-gui/src/main/java/com/logicaldoc/gui/frontend/client/services/CalendarServiceAsync.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ public interface CalendarServiceAsync {
1212

1313
void getEvent(long eventId, AsyncCallback<GUICalendarEvent> callback);
1414

15-
void deleteEvent(long eventId, AsyncCallback<Void> callback);
15+
void deleteEvent(long eventId, boolean alertCancelation, AsyncCallback<Void> callback);
1616

1717
void countUserEvents(String username, Date end, AsyncCallback<Integer> callback);
1818

logicaldoc-i18n/src/main/resources/i18n/messages.properties

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2615,4 +2615,7 @@ thisdocsecurityparent = This document does not define any security policy so <u>
26152615
onlyoffice = OnlyOffice
26162616
allowclientid = Allow use of Client ID to hook session
26172617
editwithonlyoffice = Edit with OnlyOffice
2618-
notifyicalendar = Send iCalendar notifications
2618+
notifyicalendar = Send iCalendar notifications
2619+
eventhasbeencanceled = The event has been canceled
2620+
askalertcancelation = Do you want to notify attendees about this cancelation ?
2621+
canceledevent = Canceled event

0 commit comments

Comments
 (0)