/** * @see org.projectforge.framework.persistence.api.BaseDao#hasAccess(Object, OperationType) */ @Override public boolean hasAccess(final PFUserDO user, final BookDO obj, final BookDO oldObj, final OperationType operationType, final boolean throwException) { return accessChecker.hasPermission(user, obj.getTaskId(), AccessType.TASKS, operationType, throwException); }
/** * @see org.projectforge.framework.persistence.api.BaseDao#hasUpdateAccess(Object, Object) */ @Override public boolean hasUpdateAccess(final PFUserDO user, final BookDO obj, final BookDO dbObj, final boolean throwException) { Validate.notNull(dbObj); Validate.notNull(obj); Validate.notNull(dbObj.getTaskId()); Validate.notNull(obj.getTaskId()); if (accessChecker.hasPermission(user, obj.getTaskId(), AccessType.TASKS, OperationType.UPDATE, throwException) == false) { return false; } if (dbObj.getTaskId().equals(obj.getTaskId()) == false) { // User moves the object to another task: if (accessChecker.hasPermission(user, obj.getTaskId(), AccessType.TASKS, OperationType.INSERT, throwException) == false) { // Inserting of object under new task not allowed. return false; } if (accessChecker.hasPermission(user, dbObj.getTaskId(), AccessType.TASKS, OperationType.DELETE, throwException) == false) { // Deleting of object under old task not allowed. return false; } } return true; }
@Override protected void onSaveOrModify(final BookDO obj) { if (obj.getTaskId() == null) { setTask(obj, getDefaultTaskId()); } }
public BookEditForm(final BookEditPage parentPage, final BookDO data) { super(parentPage, data); if (isNew() == true) { data.setStatus(BookStatus.PRESENT); data.setType(BookType.BOOK); } if (getData().getTaskId() == null) { bookDao.setTask(getData(), bookDao.getDefaultTaskId()); } }