diff options
Diffstat (limited to 'org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/editor/BugzillaTaskEditorPage.java')
-rw-r--r-- | org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/editor/BugzillaTaskEditorPage.java | 24 |
1 files changed, 23 insertions, 1 deletions
diff --git a/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/editor/BugzillaTaskEditorPage.java b/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/editor/BugzillaTaskEditorPage.java index d0f95fe45..eef4fe257 100644 --- a/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/editor/BugzillaTaskEditorPage.java +++ b/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/editor/BugzillaTaskEditorPage.java @@ -25,13 +25,16 @@ import org.eclipse.mylyn.commons.core.StatusHandler; import org.eclipse.mylyn.internal.bugzilla.core.BugzillaAttribute; import org.eclipse.mylyn.internal.bugzilla.core.BugzillaCorePlugin; import org.eclipse.mylyn.internal.bugzilla.core.BugzillaCustomField; +import org.eclipse.mylyn.internal.bugzilla.core.BugzillaOperation; import org.eclipse.mylyn.internal.bugzilla.core.BugzillaRepositoryConnector; import org.eclipse.mylyn.internal.bugzilla.core.BugzillaRepositoryResponse; import org.eclipse.mylyn.internal.bugzilla.core.BugzillaTaskDataHandler; +import org.eclipse.mylyn.internal.bugzilla.core.BugzillaVersion; import org.eclipse.mylyn.internal.bugzilla.core.IBugzillaConstants; import org.eclipse.mylyn.internal.bugzilla.core.RepositoryConfiguration; import org.eclipse.mylyn.internal.bugzilla.ui.BugzillaUiPlugin; import org.eclipse.mylyn.internal.provisional.commons.ui.WorkbenchUtil; +import org.eclipse.mylyn.internal.tasks.ui.editors.TaskEditorActionPart; import org.eclipse.mylyn.tasks.core.RepositoryResponse; import org.eclipse.mylyn.tasks.core.RepositoryStatus; import org.eclipse.mylyn.tasks.core.data.TaskAttribute; @@ -398,7 +401,26 @@ public class BugzillaTaskEditorPage extends AbstractTaskEditorPage { attributeDefaultAssignee.setValue("1"); //$NON-NLS-1$ refresh(attributeDefaultAssignee); } - + if (taskAttribute.getTaskData().isNew()) { + BugzillaVersion bugzillaVersion = repositoryConfiguration.getInstallVersion(); + if (bugzillaVersion == null) { + bugzillaVersion = BugzillaVersion.MIN_VERSION; + } + if (bugzillaVersion.compareMajorMinorOnly(BugzillaVersion.BUGZILLA_4_0) >= 0) { + AbstractTaskEditorPart part = getPart(ID_PART_ACTIONS); + Boolean unconfirmedAllowed = repositoryConfiguration.getUnconfirmedAllowed(taskAttribute.getValue()); + TaskAttribute unconfirmedAttribute = taskAttribute.getTaskData() + .getRoot() + .getAttribute( + TaskAttribute.PREFIX_OPERATION + BugzillaOperation.unconfirmed.toString()); + unconfirmedAttribute.getMetaData().putValue(TaskAttribute.META_UNCONFIRMED_ALLOWED, + unconfirmedAllowed.toString()); + if (part != null) { + TaskEditorActionPart actionPart = (TaskEditorActionPart) part; + actionPart.refreshOperations(true); + } + } + } /* * add confirm_product_change to avoid verification page on submit */ |