/** * Utility method tat returns field layout for given issue * * @param issue issue to get the field layout from * @return issue's field layout */ private FieldLayout getFieldLayout(Issue issue) { return fieldLayoutManager.getFieldLayout(issue); }
void associateSchemesOfExistingProjectWithNewProject(Project newProject, Project existingProject) { for (SchemeManager schemeManager : schemeManagerFactory.getAllSchemeManagers()) { Optional<Scheme> projectScheme = ofNullable(schemeManager.getSchemeFor(existingProject)); projectScheme.ifPresent(scheme -> schemeManager.addSchemeToProject(newProject, scheme)); } associateIssueTypeScheme(newProject, existingProject); Optional<IssueTypeScreenScheme> optionalIssueTypeScreenScheme = ofNullable(issueTypeScreenSchemeManager.getIssueTypeScreenScheme(existingProject)); optionalIssueTypeScreenScheme.ifPresent(scheme -> issueTypeScreenSchemeManager.addSchemeAssociation(newProject, scheme)); Optional<FieldConfigurationScheme> optionalFieldConfigScheme = ofNullable(fieldLayoutManager.getFieldConfigurationScheme(existingProject)); optionalFieldConfigScheme.ifPresent(scheme -> fieldLayoutManager.addSchemeAssociation(newProject, scheme.getId())); }
public void store() { lock.writeLock().lock(); try { if (getGenericValue() == null) { fieldLayoutManager.createFieldLayoutScheme(this); } else { fieldLayoutManager.updateFieldLayoutScheme(this); } } finally { lock.writeLock().unlock(); } }
public void store() { if (isModified()) { if (getGenericValue() == null) { fieldLayoutManager.createFieldLayoutSchemeEntity(this); } else { fieldLayoutManager.updateFieldLayoutSchemeEntity(this); } } }
final FieldConfigurationScheme fieldConfigurationScheme = fieldLayoutManager.getFieldConfigurationSchemeForProject(projectId); final FieldLayout fieldLayout = fieldLayoutManager.getFieldLayout(fieldLayoutId); if (fieldLayout != null && !fieldLayout.isFieldHidden(fieldId))
@RequiresXsrfCheck protected String doExecute() throws Exception { FieldConfigurationScheme currentFieldConfigurationScheme = fieldLayoutManager.getFieldConfigurationScheme(getProject()); Long currentFieldConfigurationSchemeId = currentFieldConfigurationScheme == null ? null : currentFieldConfigurationScheme.getId(); Long newFieldConfigurationSchemeId = getSchemeId(); // determine if we need to display a reindex message based on the scheme change if (fieldLayoutSchemeHelper.doesChangingFieldLayoutSchemeForProjectRequireMessage(getLoggedInUser(), getProjectId(), currentFieldConfigurationSchemeId, newFieldConfigurationSchemeId)) { reindexMessageManager.pushMessage(getLoggedInUser(), "admin.notifications.task.field.configuration"); } if (currentFieldConfigurationScheme != null) { fieldLayoutManager.removeSchemeAssociation(getProject(), currentFieldConfigurationSchemeId); } if (newFieldConfigurationSchemeId != null) { fieldLayoutManager.addSchemeAssociation(getProject(), newFieldConfigurationSchemeId); } return getRedirect("/plugins/servlet/project-config/" + getProject().getKey() + "/fields"); }
/** * Handles the request to create a new field configuration scheme as submitted from the dialog. * * On success, we redirect to the view field configurations schemes page. * * On error, we return the user to the dialog. * * @return redirect to {@link com.atlassian.jira.web.action.admin.issuefields.enterprise.ViewSchemes} on sucess, * {@link webwork.action.Action#ERROR} if there are validation errors. */ @Override @RequiresXsrfCheck protected String doExecute() throws Exception { if (isBlank(getFieldLayoutSchemeName())) { addError("fieldLayoutSchemeName", getText("admin.errors.empty.field.configuration.scheme.name")); return ERROR; } else if (fieldLayoutManager.fieldConfigurationSchemeExists(getFieldLayoutSchemeName())) { addError("fieldLayoutSchemeName", getText("admin.errors.fieldlayout.scheme.name.exists")); return ERROR; } final FieldLayoutScheme fieldLayoutScheme = fieldLayoutManager.createFieldLayoutScheme(getFieldLayoutSchemeName(), getFieldLayoutSchemeDescription()); return returnCompleteWithInlineRedirect(format("ConfigureFieldLayoutScheme!default.jspa?id=%d", fieldLayoutScheme.getId())); }
public void addEntity(final FieldLayoutSchemeEntity fieldLayoutSchemeEntity) { lock.writeLock().lock(); try { fieldLayoutManager.createFieldLayoutSchemeEntity(this, fieldLayoutSchemeEntity.getIssueTypeId(), fieldLayoutSchemeEntity.getFieldLayoutId()); } finally { lock.writeLock().unlock(); } }
@RequiresXsrfCheck protected String doExecute() throws Exception { getFieldLayoutManager().copyFieldLayoutScheme(getFieldLayoutScheme(), getFieldLayoutSchemeName(), getFieldLayoutSchemeDescription()); return redirectToView(); }
/** * Handles the request to create a new issue type to field configuration entry as submitted from the dialog. * * On success, we redirect to the configure field configuration scheme page. * * On error, we return the user to the dialog. * * @return redirects to {@link com.atlassian.jira.web.action.admin.issuefields.enterprise.ConfigureFieldLayoutScheme} on sucess, * {@link webwork.action.Action#ERROR} if there are validation errors. */ @Override @RequiresXsrfCheck protected String doExecute() throws Exception { if (getIssueTypeId() == null) { addError("issueTypeId", getText("admin.errors.fieldlayoutscheme.no.issue.type")); } if (!invalidInput()) { fieldLayoutManager.createFieldLayoutSchemeEntity(getFieldLayoutScheme(), getIssueTypeId(), getFieldConfigurationId()); if (isReindexRequired()) { reindexMessageManager.pushMessage(getLoggedInUser(), "admin.notifications.task.field.configuration"); } return returnComplete("ConfigureFieldLayoutScheme.jspa?id=" + getId()); } return getResult(); }
private FieldLayout getFieldLayout(Issue issue) { return fieldLayoutManager.getFieldLayout(issue); }
public FieldLayoutItem getIssueTypeField(final Project project){ FieldLayout fieldLayout = fieldLayoutManager.getFieldLayout(project, null); return fieldLayout.getFieldLayoutItem(IssueFieldConstants.ISSUE_TYPE); }
private Collection<FieldLayout> getFieldLayouts(Collection<Issue> issues) { Collection<FieldLayout> fieldLayouts = new HashSet<FieldLayout>(); for (Issue issue : issues) { try { fieldLayouts.add(fieldLayoutManager.getFieldLayout(issue)); } catch (DataAccessException e) { log.error("Unable to retrieve the fieldlayout associated with the issue: " + issue.getKey() + ".", e); } } return fieldLayouts; } }
protected FieldScreenRenderLayoutItem buildFieldScreenRenderLayoutItem(final OrderableField field, GenericValue issue) { return new FieldScreenRenderLayoutItemImpl(null, fieldLayoutManager.getFieldLayout(issue).getFieldLayoutItem(field)); }
protected FieldScreenRenderLayoutItem buildFieldScreenRenderLayoutItem(final OrderableField field, final GenericValue issue) { return new FieldScreenRenderLayoutItemImpl(null, fieldLayoutManager.getFieldLayout(issue).getFieldLayoutItem(field)); }
private FieldLayout getNonEditableFieldLayout() { if(schemeFieldLayout == null) { schemeFieldLayout = getFieldLayoutManager().getFieldLayout(getId()); } return schemeFieldLayout; }
public FieldLayout getTargetFieldLayoutForType(final String targetTypeId) { final FieldLayoutManager fieldLayoutManager = ComponentAccessor.getFieldLayoutManager(); return fieldLayoutManager.getFieldLayout(getTargetProject(), targetTypeId); }
public List<Project> getUsedIn() { if (projects == null) { final FieldLayout fieldLayout = getFieldLayoutManager().getFieldLayout(); projects = helper.getProjectsForFieldLayout(fieldLayout); } return projects; }
public Iterable<FieldLayoutItem> getAllVisibleFieldLayoutItems(final Project project, final IssueType issueType) { FieldLayout fieldLayout = fieldLayoutManager.getFieldLayout(project, issueType.getId()); return Iterables.filter(fieldLayout.getFieldLayoutItems(), new Predicate<FieldLayoutItem>() { public boolean apply(final FieldLayoutItem input) { // field is not associated with any screen or tab, create issue will not pick up its value so hide it if (fieldScreenManager.getFieldScreenTabs(input.getOrderableField().getId()).isEmpty()) { return false; } if (fieldManager.isCustomField(input.getOrderableField())) { CustomField customField = (CustomField) input.getOrderableField(); boolean inScope = customField.isInScope(project, Lists.newArrayList(issueType.getId())); return !input.isHidden() && inScope; } return !input.isHidden(); } }); }
/** * Sets the targetFieldLayout to the appropriate FieldLayout (aka "Field Configuration") for the target Project and * Issue Type. */ public void setTargetFieldLayout() { final FieldLayoutManager fieldLayoutManager = ComponentAccessor.getFieldLayoutManager(); targetFieldLayout = fieldLayoutManager.getFieldLayout(getTargetProject(), getTargetIssueTypeId()); }