コード例 #1
0
        private void runDeactivateIssueAction()
        {
            JiraNamedEntity action = cbActions.SelectedItem as JiraNamedEntity;

            if (action == null)
            {
                return;
            }
            store.storeParameter(DEACTIVATE_ISSUE_LAST_ACTION, action.Id);
            IssueActionRunner.runAction(this, action, model, issue, status, () => { Close(); onFinished(); });
        }
コード例 #2
0
        private void addIssueActionItems(int generation)
        {
            List <JiraNamedEntity> actions = null;

            if (!issue.IsSubtask && issue.Server.BuildNumber > 0)
            {
                this.safeInvoke(new MethodInvoker(delegate {
                    if (generation != menuOpenGeneration)
                    {
                        return;
                    }
                    Items.Add(new ToolStripSeparator());
                    Items.Add(new ToolStripMenuItem("Add Subtask", Resources.add_jira, new EventHandler(
                                                        delegate {
                        CreateIssue.createDialogOrBringToFront(issue.Server, issue);
                    }
                                                        )));
                }));
            }
            try {
                actions = SmartJiraServerFacade.Instance.getActionsForIssue(issue);
            } catch (Exception e) {
                status.setError("Failed to retrieve issue actions", e);
            }
            if (actions == null || actions.Count == 0)
            {
                return;
            }

            this.safeInvoke(new MethodInvoker(delegate {
                // PLVS-39 - only update current menu, skip results of previous getActionsForIssue()
                // in case the user quickly opens context menu more than once
                if (generation != menuOpenGeneration)
                {
                    return;
                }

                Items.Add(new ToolStripSeparator());
                foreach (var action in actions)
                {
                    var actionCopy         = action;
                    ToolStripMenuItem item = new ToolStripMenuItem(
                        action.Name, null,
                        new EventHandler(
                            delegate {
                        IssueActionRunner.runAction(this, actionCopy, model, issue, status, null);
                    }));
                    Items.Add(item);
                }
            }));
        }