@Override protected void afterSave(final TeamCalDO obj) { super.afterSave(obj); if (obj.isExternalSubscription() == true) { getTeamEventExternalSubscriptionCache().updateCache(obj); } }
@Override protected void onUpdate(final AjaxRequestTarget target) { // update visibility fsExternalSubscriptionUrl.getFieldset().setVisible(data.isExternalSubscription() == true); fsExternalSubscriptionInterval.getFieldset().setVisible(data.isExternalSubscription() == true); // update components through ajax target.add(fsExternalSubscriptionUrl.getFieldset()); target.add(fsExternalSubscriptionInterval.getFieldset()); } });
public boolean hasUpdateAccess(final PFUserDO user, final TeamCalDO calendar) { if (calendar != null && calendar.isExternalSubscription() == true) { return false; } if (ObjectUtils.equals(user.getId(), calendar.getOwnerId()) == true) { // User has full access to it's own calendars. return true; } final Integer userId = user.getId(); if (teamCalRight.hasFullAccess(calendar, userId) == true || accessChecker.isDemoUser() == true) { return true; } return false; }
@Override protected void afterUpdate(final TeamCalDO obj, final TeamCalDO dbObj) { super.afterUpdate(obj, dbObj); if (obj != null && dbObj != null && obj.isExternalSubscription() == true && StringUtils.equals(obj.getExternalSubscriptionUrl(), dbObj.getExternalSubscriptionUrl()) == false) { // only update if the url has changed! getTeamEventExternalSubscriptionCache().updateCache(obj); } // if calendar is present in subscription cache and is not an external subscription anymore -> cleanup! if (obj != null && obj.isExternalSubscription() == false && getTeamEventExternalSubscriptionCache().isExternalSubscribedCalendar(obj.getId())) { obj.setExternalSubscriptionCalendarBinary(null); obj.setExternalSubscriptionUrl(null); obj.setExternalSubscriptionUpdateInterval(null); obj.setExternalSubscriptionHash(null); getTeamEventExternalSubscriptionCache().updateCache(obj, true); } }
/** * @see org.projectforge.web.calendar.CalendarPage#refresh() */ @Override protected void refresh() { super.refresh(); final TeamCalCalendarFilter filter = getFilter(); final TemplateEntry templateEntry = filter.getActiveTemplateEntry(); if (templateEntry == null) { // Nothing to do. return; } final Set<Integer> visibleCalendarIds = templateEntry.getVisibleCalendarIds(); if (visibleCalendarIds == null) { // Nothing to do. return; } for (final Integer calId : visibleCalendarIds) { final TeamCalDO teamCalDO = teamCalCache.getCalendar(calId); if (teamCalDO == null || teamCalDO.isExternalSubscription() == false) { // Nothing to do. continue; } teamEventExternalSubscriptionCache.updateCache(teamCalDO, true); } }
lastUpdated = null; String url = teamCalDO.getExternalSubscriptionUrl(); if (teamCalDO.isExternalSubscription() == false || StringUtils.isEmpty(url)) {
public static CalendarObject getCalendarObject(final TeamCalDO src, UserRightService userRights) { if (src == null) { return null; } final Integer userId = ThreadLocalUserContext.getUserId(); final CalendarObject cal = new CalendarObject(); DOConverter.copyFields(cal, src); cal.setTitle(src.getTitle()); cal.setDescription(src.getDescription()); cal.setExternalSubscription(src.isExternalSubscription()); final TeamCalRight right = (TeamCalRight) userRights.getRight(UserRightId.PLUGIN_CALENDAR); cal.setMinimalAccess(right.hasMinimalAccess(src, userId)); cal.setReadonlyAccess(right.hasReadonlyAccess(src, userId)); cal.setFullAccess(right.hasFullAccess(src, userId)); cal.setOwner(ObjectUtils.equals(userId, src.getOwnerId())); return cal; } }
@Override public AbstractSecuredBasePage onSaveOrUpdate() { teamCalDao.setFullAccessUsers(getData(), form.fullAccessUsersListHelper.getAssignedItems()); teamCalDao.setReadonlyAccessUsers(getData(), form.readonlyAccessUsersListHelper.getAssignedItems()); teamCalDao.setMinimalAccessUsers(getData(), form.minimalAccessUsersListHelper.getAssignedItems()); teamCalDao.setFullAccessGroups(getData(), form.fullAccessGroupsListHelper.getAssignedItems()); teamCalDao.setReadonlyAccessGroups(getData(), form.readonlyAccessGroupsListHelper.getAssignedItems()); teamCalDao.setMinimalAccessGroups(getData(), form.minimalAccessGroupsListHelper.getAssignedItems()); TeamCalDO data = form.getData(); if (data.isExternalSubscription() == false) { data.setExternalSubscriptionUrl(""); data.setExternalSubscriptionUpdateInterval(null); } return super.onSaveOrUpdate(); }
final TeamCalRight right = new TeamCalRight(accessChecker); if (isNew() == true || right.hasFullAccess(getData(), getUserId()) == true && getData().isExternalSubscription() == false) { menu = new ContentMenuEntryPanel(getNewContentMenuChildId(), new Link<Void>(ContentMenuEntryPanel.LINK_ID)
fsExternalSubscriptionUrl.getFieldset().setOutputMarkupId(true); fsExternalSubscriptionUrl.getFieldset().setOutputMarkupPlaceholderTag(true); fsExternalSubscriptionUrl.getFieldset().setVisible(data.isExternalSubscription() == true); fsExternalSubscriptionUrl.addHelpIcon(new ResourceModel("plugins.teamcal.externalsubscription.label.tooltip"), new ResourceModel( fsExternalSubscriptionInterval.getFieldset().setOutputMarkupId(true); fsExternalSubscriptionInterval.getFieldset().setOutputMarkupPlaceholderTag(true); fsExternalSubscriptionInterval.getFieldset().setVisible(data.isExternalSubscription() == true);