@Override public GanttChartDO newInstance() { return new GanttChartDO().setSettings(new GanttChartSettings()).setStyle(new GanttChartStyle()); }
public GanttChartEditForm(final GanttChartEditPage parentPage, final GanttChartDO data) { super(parentPage, data); if (isNew() == true) { if (data.getOwner() == null) { data.setOwner(ThreadLocalUserContext.getUser()); } if (StringUtils.isEmpty(data.getName()) == true) { data.setName("MyChart"); } } if (data.getReadAccess() == null) { data.setReadAccess(GanttAccess.OWNER); } if (data.getWriteAccess() == null) { data.setWriteAccess(GanttAccess.OWNER); } }
@Override protected void onSaveOrModify(final GanttChartDO obj) { final String styleAsXml = XmlObjectWriter.writeAsXml(obj.getStyle()); obj.setStyleAsXml(styleAsXml); final String settingsAsXml = XmlObjectWriter.writeAsXml(obj.getSettings()); obj.setSettingsAsXml(settingsAsXml); }
final GanttChartDO ganttChartDO = new GanttChartDO().setTask(rootTask); findById(rootObject, id1).setDuration(new BigDecimal("10.000")).setProgress(10); // Modified. findById(rootObject, id3).setDuration(new BigDecimal("2")).setProgress(2); // Modified. + "</children>" + "</ganttObject>"); assertEquals("check xml output.", xml, ganttChartDO.getGanttObjectsAsXml()); GanttTask ganttObject = ganttChartDao.readGanttObjects(ganttChartDO).getRootObject(); assertDurationAndProgress(ganttObject, id1, BigDecimal.TEN, 10);
private boolean hasAccess(final PFUserDO user, final GanttChartDO obj, final GanttAccess access) if (accessChecker.userEqualsToContextUser(obj.getOwner()) == true) { if (obj.getTask() == null) { if (accessChecker.hasPermission(user, obj.getTaskId(), AccessType.TASKS, OperationType.SELECT, false) == false) { final ProjektDO project = taskTree.getProjekt(obj.getTaskId()); if (project == null) {
final GanttChartData ganttChartData = Task2GanttTaskConverter.convertToGanttObjectTree(taskTree, obj.getTask()); final XmlObjectReader reader = new XmlObjectReader() reader.read(obj.getGanttObjectsAsXml()); // Ignore the return value. If the task tree has changed, the task tree of root rules. return ganttChartData;
fs.add(new MinMaxNumberField<Integer>(fs.getTextFieldId(), new PropertyModel<Integer>(data.getStyle(), "width"), 100, 10000)); fs.add(new MinMaxNumberField<Double>(fs.getTextFieldId(), new PropertyModel<Double>(data.getStyle(), "totalLabelWidth"), 10.0, 10000.0)); checkBoxPanel.addCheckBoxButton(new PropertyModel<Boolean>(data.getStyle(), "relativeTimeValues"), getString("gantt.style.relativeTimeValues")); checkBoxPanel.addCheckBoxButton(new PropertyModel<Boolean>(data.getStyle(), "showToday"), getString("gantt.style.showToday")); checkBoxPanel.addCheckBoxButton(new PropertyModel<Boolean>(data.getStyle(), "showCompletion"), getString("gantt.style.showCompletion")); checkBoxPanel.add(new CheckBoxButton(checkBoxPanel.newChildId(), new PropertyModel<Boolean>(getSettings(), "showOnlyVisibles"), getString("gantt.settings.showOnlyVisibles")) { actionButtons.add(3, redrawButtonPanel); if (isNew() == false && data.isDeleted() == false) {
GanttChartSettings getSettings() { return getData().getSettings(); }
private GanttChartStyle getGanttChartStyle() { return getData().getStyle(); }
/** * @param sheet * @param userId If null, then task will be set to null; * @see BaseDao#getOrLoad(Integer) */ public void setOwner(final GanttChartDO ganttChart, final Integer userId) { final PFUserDO user = userDao.getOrLoad(userId); ganttChart.setOwner(user); }
/** * @param ganttChart * @param taskId If null, then task will be set to null; * @see TaskTree#getTaskById(Integer) */ public void setTask(final GanttChartDO ganttChart, final Integer taskId) { final TaskDO task = taskDao.getOrLoad(taskId); ganttChart.setTask(task); }
/** * If the user is owner of the GanttChartDO he has access, otherwise he needs at least select access to the root task. * For project managers the user must be additional of the group of the project manager group (assigned to this task) * or if no project manager group is available for this task the user should be a member of * {@link ProjectForgeGroup#PROJECT_MANAGER}. * * @see org.projectforge.business.user.UserRightAccessCheck#hasSelectAccess(java.lang.Object) */ @Override public boolean hasSelectAccess(final PFUserDO user, final GanttChartDO obj) { if (obj == null) { return false; } return hasAccess(user, obj, obj.getReadAccess()); }
/** * If the user is owner of the GanttChartDO he has access, otherwise he needs at least select access to the root task. * For project managers the user must be additional of the group of the project manager group (assigned to this task) * or if no project manager group is available for this task the user should be a member of * {@link ProjectForgeGroup#PROJECT_MANAGER}. * * @see org.projectforge.business.user.UserRightAccessCheck#hasSelectAccess(java.lang.Object) */ @Override public boolean hasAccess(final PFUserDO user, final GanttChartDO obj, final GanttChartDO oldObj, final OperationType operationType) { if (obj == null) { return false; } final GanttChartDO gc = oldObj != null ? oldObj : obj; return hasAccess(user, gc, gc.getWriteAccess()); }
protected void refresh() { if (ganttChartData == null && getData().getTaskId() != null) { ganttChartData = getBaseDao().readGanttObjects(getData()); final GanttTask rootObject = ganttChartData.getRootObject(); if (rootObject != null && CollectionUtils.isNotEmpty(rootObject.getChildren()) == true && isNew() == true) { // For new charts set all children on level one as visible. for (final GanttTask child : rootObject.getChildren()) { child.setVisible(true); } } } form.ganttChartEditTreeTablePanel.setGanttChartData(ganttChartData).refresh(); redraw(); }
final GanttChartData data = Task2GanttTaskConverter.convertToGanttObjectTree(taskTree, rootTask); final GanttTask rootObject = data.getRootObject(); final GanttChartDO ganttChartDO = new GanttChartDO().setTask(rootTask); ganttChartDao.writeGanttObjects(ganttChartDO, rootObject); assertEquals("No output because there is no further information in the GanttObject tree.", "", ganttChartDO.getGanttObjectsAsXml()); findById(rootObject, getTask(prefix + "2").getId()).setPredecessorOffset(5).setDuration(new BigDecimal("12")); findById(rootObject, getTask(prefix + "1.1").getId()).setDuration(new BigDecimal("2")); + "</ganttObject>" + "<ganttObject id='{2}' predecessorOffset='5' duration='12'/></children></ganttObject>"); assertEquals("3 has no further information.", xml, ganttChartDO.getGanttObjectsAsXml()); assertEquals(xml, ganttChartDO.getGanttObjectsAsXml()); assertEquals("duration", BigDecimal.TEN, findById(ganttObject, getTask(prefix + "1").getId()).getDuration()); assertEquals("startDate", dh.getDate(), findById(ganttObject, getTask(prefix + "1").getId()).getStartDate()); + "<ganttObject id='{1.1}' duration='2'/>" + "</children>" + "</ganttObject>"), ganttChartDO.getGanttObjectsAsXml()); findById(ganttObject, getTask(prefix + "1").getId()).setStartDate(null); ganttChartDao.writeGanttObjects(ganttChartDO, ganttObject); + "</children>" + "</ganttObject>"); assertEquals("Test with activities not related to tasks.", xml, ganttChartDO.getGanttObjectsAsXml()); ganttObject = ganttChartDao.readGanttObjects(ganttChartDO).getRootObject(); ganttChartDao.writeGanttObjects(ganttChartDO, ganttObject); assertEquals("Read-write-cycle (identity check).", xml, ganttChartDO.getGanttObjectsAsXml());
private GanttChartSettings getSettings() { return getData().getSettings(); }
assertEquals("Two external objects (2.1 and 2.2) exptected.", 2, ganttChartData.getExternalObjects().size()); assertExternalTasks(ganttChartData, prefix); final GanttChartDO ganttChartDO = new GanttChartDO().setTask(getTask(prefix + "1")); ganttChartDao.writeGanttObjects(ganttChartDO, ganttChartData.getRootObject()); assertEquals("No output because there is no further information in the GanttObject tree.", "", ganttChartDO.getGanttObjectsAsXml()); GanttChartData data = ganttChartDao.readGanttObjects(ganttChartDO); assertExternalTasks(data, prefix); + "</children>" + "</ganttObject>"); assertEquals("Gantt objects as xml.", xml, ganttChartDO.getGanttObjectsAsXml()); data = ganttChartDao.readGanttObjects(ganttChartDO); ganttChartDao.writeGanttObjects(ganttChartDO, data.getRootObject()); assertEquals("Gantt objects as xml.", xml, ganttChartDO.getGanttObjectsAsXml()); assertNull("Predecessor was set to null.", findById(data, prefix, "1.2.2").getPredecessor()); assertEquals("External predecessor expected.", prefix + "2.3",