TeamCalFilterDialog.javaPaquete: org.projectforge.web.teamcal.dialog
Clases: TeamCalFilterDialog
Extiende: ModalDialog
Métodos (28): renderHead, handleCloseEvent, onCancelButtonSubmit, onCloseButtonSubmit, onClose, init, callback, redraw, redrawTimesheetsUserControls, onUpdate, redrawOptionControls, open, openNew, myClose, addFilterFieldset, getObject, setObject, onInitialize, addTeamCalsChoiceFieldset, onUpdate, addDefaultCalenderSelection, getDisplayValue, getModel, onBeforeRender, onUpdate...
Campos (15): serialVersionUID, selectedCalendars, templateName, timesheetsCalendar, filter, backupFilter, calendarColorPanel, defaultCalendarSelect, teamCalsChoice, optionsControls, optionsFieldset, timesheetUserControls, timesheetUserFieldset, calendarPageSupport, serialVersionUID
Importaciones: 43 paquetes
package org.projectforge.web.teamcal.dialog;
import de.micromata.wicket.ajax.AjaxCallback;
import org.apache.wicket.AttributeModifier;
import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.ajax.form.AjaxFormComponentUpdatingBehavior;
import org.apache.wicket.ajax.form.OnChangeAjaxBehavior;
import org.apache.wicket.extensions.markup.html.form.select.IOptionRenderer;
import org.apache.wicket.extensions.markup.html.form.select.Select;
import org.apache.wicket.extensions.markup.html.form.select.SelectOptions;
import org.apache.wicket.markup.head.CssHeaderItem;
import org.apache.wicket.markup.head.IHeaderResponse;
import org.apache.wicket.markup.head.JavaScriptReferenceHeaderItem;
import org.apache.wicket.markup.html.WebMarkupContainer;
import org.apache.wicket.markup.html.form.Form;
import org.apache.wicket.model.IModel;
import org.apache.wicket.model.Model;
import org.apache.wicket.model.PropertyModel;
import org.apache.wicket.model.ResourceModel;
import org.projectforge.Constants;
import org.projectforge.business.teamcal.admin.TeamCalDao;
import org.projectforge.business.teamcal.admin.model.TeamCalDO;
import org.projectforge.business.teamcal.event.right.TeamEventRight;
import org.projectforge.business.teamcal.filter.TeamCalCalendarFilter;
import org.projectforge.business.teamcal.filter.TemplateEntry;
import org.projectforge.business.user.UserGroupCache;
import org.projectforge.business.user.UserRightId;
import org.projectforge.framework.persistence.api.UserRightService;
import org.projectforge.framework.persistence.user.api.ThreadLocalUserContext;
import org.projectforge.framework.persistence.user.entities.PFUserDO;
import org.projectforge.web.WicketSupport;
import org.projectforge.web.calendar.CalendarPageSupport;
import org.projectforge.web.dialog.ModalDialog;
import org.projectforge.web.fibu.ISelectCallerPage;
import org.projectforge.web.user.UserSelectPanel;
import org.projectforge.web.wicket.WicketUtils;
import org.projectforge.web.wicket.bootstrap.GridSize;
import org.projectforge.web.wicket.components.AjaxMaxLengthEditableLabel;
import org.projectforge.web.wicket.components.SingleButtonPanel;
import org.projectforge.web.wicket.flowlayout.DivPanel;
import org.projectforge.web.wicket.flowlayout.FieldsetPanel;
import org.projectforge.web.wicket.flowlayout.Heading3Panel;
import org.projectforge.web.wicket.flowlayout.SelectPanel;
import org.wicketstuff.select2.Select2MultiChoice;
import java.util.*;
/**
* @author M. Lauterbach (m.lauterbach@micromata.de)
* @author K. Reinhard (k.reinhard@micromata.de)
*/
public class TeamCalFilterDialog extends ModalDialog
{
private static final long serialVersionUID = 8687197318833240410L;
private final List<TeamCalDO> selectedCalendars;
private AjaxMaxLengthEditableLabel templateName;
// Adaptación (simulada) para mostrar "Hojas de tiempo" como opción de selección
private final TeamCalDO timesheetsCalendar = new TeamCalDO();
private final TeamCalCalendarFilter filter;
private TeamCalCalendarFilter backupFilter;
private TeamCalFilterDialogCalendarColorPanel calendarColorPanel;
private Select<Long> defaultCalendarSelect;
private Select2MultiChoice<TeamCalDO> teamCalsChoice;
private WebMarkupContainer optionsControls;
private FieldsetPanel optionsFieldset;
private WebMarkupContainer timesheetUserControls;
private FieldsetPanel timesheetUserFieldset;
private final transient TeamEventRight teamEventRight;
private CalendarPageSupport calendarPageSupport;
/**
* @param id
* @param filter
*/
public TeamCalFilterDialog(final String id, final TeamCalCalendarFilter filter)
{
super(id);
this.filter = filter;
setTitle(new ResourceModel("plugins.teamcal.calendar.filterDialog.title"));
setBigWindow().setShowCancelButton().wantsNotificationOnClose().setEscapeKeyEnabled(false);
selectedCalendars = new LinkedList<TeamCalDO>();
teamEventRight = (TeamEventRight) WicketSupport.get(UserRightService.class).getRight(UserRightId.PLUGIN_CALENDAR_EVENT);
}
@Override
public void renderHead(final IHeaderResponse response)
{
super.renderHead(response);
response.render(CssHeaderItem.forUrl("scripts/spectrum/spectrum.css"));
response.render(JavaScriptReferenceHeaderItem.forUrl("scripts/spectrum/spectrum.js"));
}
/**
* @see org.projectforge.web.dialog.ModalDialog#handleCloseEvent(org.apache.wicket.ajax.AjaxRequestTarget)
*/
@Override
protected void handleCloseEvent(final AjaxRequestTarget target)
{
myClose(target);
}
/**
* @see org.projectforge.web.dialog.ModalDialog#onCancelButtonSubmit(org.apache.wicket.ajax.AjaxRequestTarget)
*/
@Override
// ... (truncado, total 455 líneas)
868d6abb7 2025 -> 2026 63081666f Encabezados de archivos fuente: 2024 -> 2025. 1b50060c3 BaseDao: renombrado: get -> find, save -> insert, getList -> select, load -> select 67805f2fc ThreadLocalUserContext.user -> ThreadLocalUserContext.loggedInUser (renombrado para evitar malentendidos en el código). b095e6f7d !!!!! Gran cambio en el manejo de transacciones: Reutiliza PfPersistenceContext tanto como sea posible (aún no terminado). Las pruebas aún no se ejecutan.