protected void onInitialize()

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();
	}