in openmeetings-web/src/main/java/org/apache/openmeetings/web/user/calendar/CalendarDialog.java [100:174]
protected void onInitialize() {
header(new ResourceModel("calendar.dialogTitle"));
form = new UserCalendarForm("calform", getModel());
add(form);
addButton(save = new BootstrapAjaxButton(BUTTON_MARKUP_ID, new ResourceModel("144"), form, Buttons.Type.Outline_Primary) {
private static final long serialVersionUID = 1L;
@Override
protected void onSubmit(AjaxRequestTarget target) {
switch (type) {
case UPDATE_CALENDAR:
OmCalendar c = form.getModelObject();
c.setHref(form.url.getModelObject());
c.setOwner(userDao.get(c.getOwner().getId())); // owner might need to be refreshed
HttpClient client = calendarPanel.getHttpClient();
HttpClientContext context = calendarPanel.getHttpClientContext();
if (Boolean.TRUE.equals(form.gcal.getModelObject())) {
c.setSyncType(OmCalendar.SyncType.GOOGLE_CALENDAR);
c.setToken(form.username.getModelObject());
if (c.getId() == null) {
calendarPanel.populateGoogleCalendar(c, target);
}
} else if (c.getId() == null && form.username.getModelObject() != null) {
apptManager.provideCredentials(context, c, new UsernamePasswordCredentials(form.username.getModelObject(),
form.pass.getModelObject()));
}
apptManager.createCalendar(client, context, c);
calendarPanel.refreshCalendars(target);
calendarPanel.refresh(target);
break;
case SYNC_CALENDAR:
syncCalendar(form.getModelObject(), target);
if (setFormModelObject()) {
setButtons(target);
target.add(show(target));
}
break;
case UPDATE_APPOINTMENT:
updateAppointment(appointment);
calendarPanel.refresh(target);
break;
case DELETE_APPOINTMENT:
deleteAppointment(appointment);
calendarPanel.refresh(target);
break;
}
clearFormModel(target);
target.add(feedback);
}
@Override
protected void onError(AjaxRequestTarget target) {
target.add(feedback);
}
});
save.setOutputMarkupId(true).setOutputMarkupPlaceholderTag(true);
delete = new BootstrapAjaxLink<>(BUTTON_MARKUP_ID, null, Buttons.Type.Outline_Danger, new ResourceModel("80")) {
private static final long serialVersionUID = 1L;
@Override
public void onClick(AjaxRequestTarget handler) {
apptManager.deleteCalendar(form.getModelObject());
calendarPanel.refresh(handler);
calendarPanel.refreshCalendars(handler);
}
};
delete.setOutputMarkupId(true).setOutputMarkupPlaceholderTag(true);
addButton(delete.add(newOkCancelDangerConfirm(this, getString("833"))));
addButton(OmModalCloseButton.of());
super.onInitialize();
}