fieldScreenRenderTab.getFieldScreenRenderLayoutItemsForProcessing())
/** * JRADEV-9051: Try to get the right {@link FieldScreenRenderLayoutItem} for the field. If it doesn't exist - relax. * Just return null. The only fields that seem to care about it are fields with Renderers. And they do null checks * anyway. */ private FieldScreenRenderLayoutItem getFieldScreenRenderLayoutItem(MutableIssue issue, OrderableField orderableField, FieldScreenRenderer fieldScreenRenderer, boolean useFallback) { for (final FieldScreenRenderTab fieldScreenRenderTab : fieldScreenRenderer.getFieldScreenRenderTabs()) { for (final FieldScreenRenderLayoutItem fieldScreenRenderLayoutItem : fieldScreenRenderTab.getFieldScreenRenderLayoutItemsForProcessing()) { if (fieldScreenRenderLayoutItem.isShow(issue)) { if (orderableField.equals(fieldScreenRenderLayoutItem.getOrderableField())) { return fieldScreenRenderLayoutItem; } } } } if (useFallback) { return getFieldScreenRenderLayoutItemFallback(orderableField); } return null; }
for (Iterator iterator1 = fieldScreenRenderTab.getFieldScreenRenderLayoutItemsForProcessing().iterator(); iterator1.hasNext();)
for (FieldScreenRenderLayoutItem fieldScreenRenderLayoutItem : fieldScreenRenderTab.getFieldScreenRenderLayoutItemsForProcessing())
for (FieldScreenRenderLayoutItem fieldScreenRenderLayoutItem : fieldScreenRenderTab.getFieldScreenRenderLayoutItemsForProcessing())
public Map<String, FieldMetaBean> build() { // Get all the fields for the given project and issue type final Map<String, FieldMetaBean> fields = new HashMap<String, FieldMetaBean>(); if (hasPermissionToPerformOperation()) { for (final FieldScreenRenderTab fieldScreenRenderTab : getFieldScreenRenderer(issue).getFieldScreenRenderTabs()) { for (final FieldScreenRenderLayoutItem fieldScreenRenderLayoutItem : fieldScreenRenderTab.getFieldScreenRenderLayoutItemsForProcessing()) { final FieldLayoutItem fieldLayoutItem = fieldScreenRenderLayoutItem.getFieldLayoutItem(); final OrderableField field = fieldLayoutItem.getOrderableField(); if (field.isShown(issue)) { final String id = field.getId(); if (includeFields == null || includeFields.included(field)) { final FieldMetaBean fieldMetaBean = getFieldMetaBean(fieldLayoutItem.isRequired(), field); fields.put(id, fieldMetaBean); } } } } addAdditionalFields(fields); } return fields; }
private void validateFieldsParams() { for (final FieldScreenRenderTab fieldScreenRenderTab : getFieldScreenRenderer().getFieldScreenRenderTabs()) { for (final FieldScreenRenderLayoutItem fieldScreenRenderLayoutItem : fieldScreenRenderTab.getFieldScreenRenderLayoutItemsForProcessing()) { if (fieldScreenRenderLayoutItem.isShow(getIssue())) { final OrderableField orderableField = fieldScreenRenderLayoutItem.getOrderableField(); // JRA-16112 - This is a hack that is here because the resolution field is "special". You can not // make the resolution field required and therefore by default the FieldLayoutItem for resolution // returns false for the isRequired method. This is so that you can not make the resolution field // required for issue creation. HOWEVER, whenever the resolution system field is shown it is // required because the edit template does not provide a none option and indicates that it is // required. THEREFORE, when the field is included on a transition screen we will do a special // check to make the FieldLayoutItem claim it is required IF we run into the resolution field. final boolean isResolutionField = IssueFieldConstants.RESOLUTION.equals(orderableField.getId()); final FieldScreenRenderLayoutItem itemWithHack = isResolutionField ? makeRequired(fieldScreenRenderLayoutItem) : fieldScreenRenderLayoutItem; orderableField.validateParams(getOperationContext(), errorCollection, getI18n(), getIssue(), itemWithHack); } } } }
private void updateIssueFromFieldsWithScreenCheck(FieldScreenRenderer fieldScreenRenderer, MutableIssue issue, Map<String, Object> fieldValuesHolder, IssueInputParameters issueInputParameters) { final boolean retainIssueValues = issueInputParameters.retainExistingValuesWhenParameterNotProvided(); final boolean onlyValidatePresentFields = issueInputParameters.onlyValidatePresentFieldsWhenRetainingExistingValues(); for (final FieldScreenRenderTab fieldScreenRenderTab : fieldScreenRenderer.getFieldScreenRenderTabs()) { for (final FieldScreenRenderLayoutItem fieldScreenRenderLayoutItem : fieldScreenRenderTab.getFieldScreenRenderLayoutItemsForProcessing()) { if (fieldScreenRenderLayoutItem.isShow(issue)) { OrderableField orderableField = fieldScreenRenderLayoutItem.getOrderableField(); if (retainIssueValues && !issueInputParameters.isFieldPresent(orderableField.getId()) && onlyValidatePresentFields) { // JRADEV-9671 - if we skipped the populate-validate step for this field before, then skip it now continue; } orderableField.updateIssue(fieldScreenRenderLayoutItem.getFieldLayoutItem(), issue, fieldValuesHolder); } } } }
public ErrorCollection progress() { // Only update issue if transition has a screen if (hasScreen()) { for (final FieldScreenRenderTab fieldScreenRenderTab : getFieldScreenRenderer().getFieldScreenRenderTabs()) { for (final FieldScreenRenderLayoutItem fieldScreenRenderLayoutItem : fieldScreenRenderTab.getFieldScreenRenderLayoutItemsForProcessing()) { if (fieldScreenRenderLayoutItem.isShow(getIssue())) { fieldScreenRenderLayoutItem.getOrderableField().updateIssue(fieldScreenRenderLayoutItem.getFieldLayoutItem(), getIssue(), params); } } } } workflowManager.doWorkflowAction(this); return errorCollection; }
for (final FieldScreenRenderLayoutItem fieldScreenRenderLayoutItem : fieldScreenRenderTab.getFieldScreenRenderLayoutItemsForProcessing())
for (Iterator iterator1 = fieldScreenRenderTab.getFieldScreenRenderLayoutItemsForProcessing().iterator(); iterator1.hasNext();)