private static void runAction(Control owner, JiraNamedEntity action, JiraIssueListModel model, JiraIssue issue, List <JiraField> fields, StatusLabel status, Action onFinish) { JiraIssue issueWithTime = SmartJiraServerFacade.Instance.getIssue(issue.Server, issue.Key); issueWithTime.SecurityLevel = SmartJiraServerFacade.Instance.getSecurityLevel(issue); object rawIssueObject = SmartJiraServerFacade.Instance.getRawIssueObject(issue); List <JiraField> fieldsWithValues = JiraActionFieldType.fillFieldValues(issue, rawIssueObject, fields); // PLVS-133 - this should never happen but does? if (model == null) { owner.Invoke(new MethodInvoker(() => PlvsUtils.showError("Issue List Model was null, please report this as a bug", new Exception("IssueActionRunner.runAction()")))); model = JiraIssueListModelImpl.Instance; } if (fieldsWithValues == null || fieldsWithValues.Count == 0) { runActionWithoutFields(owner, action, model, issue, status, onFinish); } else { owner.Invoke(new MethodInvoker(() => new IssueWorkflowAction(issue, action, model, fieldsWithValues, status, onFinish).initAndShowDialog())); } }
public void reinit(JiraIssueListModel m) { model = m; shutdown(); model.IssueChanged += model_IssueChanged; model.ModelChanged += model_ModelChanged; }
public FieldEditor(string title, JiraIssueListModel model, AbstractJiraServerFacade facade, JiraIssue issue, string fieldId, Point location) { PlvsLogger.log("FieldEditor - ctor"); this.model = model; this.facade = facade; this.issue = issue; this.fieldId = fieldId; InitializeComponent(); buttonOk.Enabled = false; buttonCancel.Enabled = false; StartPosition = FormStartPosition.Manual; Location = location; Text = title; field = new JiraField(fieldId, null); Thread t = PlvsUtils.createThread(fillFieldWrap); t.Start(); }
public IssueWorkflowAction( JiraIssue issue, JiraNamedEntity action, JiraIssueListModel model, List <JiraField> fields, StatusLabel status, Action onFinish) { this.issue = issue; this.action = action; this.model = model; this.fields = JiraActionFieldType.sortFieldList(fields); this.status = status; this.onFinish = onFinish; InitializeComponent(); Text = issue.Key + ": " + action.Name; ClientSize = new Size(INITIAL_WIDTH, INITIAL_HEIGHT + buttonOk.Height + 3 * MARGIN); buttonOk.Enabled = false; StartPosition = FormStartPosition.CenterParent; panelThrobber.Visible = true; panelContent.Visible = false; }
protected AbstractNavigableTreeNodeWithServer(JiraIssueListModel model, AbstractJiraServerFacade facade, JiraServer server, string name, int imageIdx) : base(name, imageIdx) { Model = model; Facade = facade; Server = server; }
public void updateModelWithSavedFilter(JiraIssueListModel model, JiraServer server, JiraSavedFilter filter) { List <JiraIssue> issues = facade.getSavedFilterIssues(server, filter, model.Issues.Count, GlobalSettings.JiraIssuesBatch); lock (this) { model.addIssues(issues); } }
public void rebuildModelWithSavedFilter(JiraIssueListModel model, JiraServer server, JiraSavedFilter filter) { List <JiraIssue> issues = facade.getSavedFilterIssues(server, filter, 0, GlobalSettings.JiraIssuesBatch); lock (this) { model.clear(false); model.addIssues(issues); } }
public static void showDropZoneFor(JiraIssueListModel model, JiraServer server, AbstractJiraServerFacade facade, DropZoneWorker worker) { if (activeDropZones.ContainsKey(worker.ZoneKey)) { activeDropZones[worker.ZoneKey].BringToFront(); } else { new DropZone(model, server, facade, worker).Show(); } }
public static void showJiraServerExplorerFor(JiraIssueListModel model, JiraServer server, AbstractJiraServerFacade facade) { if (activeExplorers.ContainsKey(server.GUID.ToString())) { activeExplorers[server.GUID.ToString()].BringToFront(); } else { new JiraServerExplorer(model, server, facade).Show(); } }
public SearchIssue(JiraServer server, JiraIssueListModel model, StatusLabel status) { Server = server; Model = model; Status = status; InitializeComponent(); Text = "Search issue on server \"" + server.Name + "\""; buttonOk.Enabled = false; StartPosition = FormStartPosition.CenterParent; }
public IssueContextMenu(JiraIssueListModel model, StatusLabel status, TreeViewAdv tree, ToolStripMenuItem[] items) { this.model = model; this.status = status; this.tree = tree; this.items = items; Items.Add("dummy"); Opened += issueContextMenuOpened; Opening += issueContextMenuOpening; }
public IssueDetailsPanel(JiraIssueListModel model, Solution solution, JiraIssue issue, TabControl tabWindow, TabPage myTab) { this.model = model; this.solution = solution; InitializeComponent(); status = new StatusLabel(statusStrip, jiraStatus); this.issue = issue; this.tabWindow = tabWindow; this.myTab = myTab; }
public static void runAction(Control owner, JiraNamedEntity action, JiraIssueListModel model, JiraIssue issue, StatusLabel status, Action onFinish) { Thread runner = PlvsUtils.createThread(delegate { try { status.setInfo("Retrieving fields for action \"" + action.Name + "\"..."); List <JiraField> fields = SmartJiraServerFacade.Instance.getFieldsForAction(issue, action.Id); runAction(owner, action, model, issue, fields, status, onFinish); } catch (Exception e) { status.setError("Failed to run action " + action.Name + " on issue " + issue.Key, e); } }); runner.Start(); }
public UsersNode(JiraIssueListModel model, AbstractJiraServerFacade facade, JiraServer server) : base(model, facade, server, "Users", 0) { ContextMenuStrip = new ContextMenuStrip(); menuItems.Add(new ToolStripMenuItem("Add new user...", null, addUser)); ContextMenuStrip.Items.Add("dummy"); ContextMenuStrip.Items.AddRange(MenuItems.ToArray()); ContextMenuStrip.Opening += contextMenuStripOpening; ContextMenuStrip.Opened += contextMenuStripOpened; }
private DropZone(JiraIssueListModel model, JiraServer server, AbstractJiraServerFacade facade, DropZoneWorker worker) { this.model = model; this.server = server; this.facade = facade; this.worker = worker; InitializeComponent(); StartPosition = FormStartPosition.CenterParent; Text = worker.ZoneName; updateModelAndResetToInitialState(null, false); }
private static void runActionWithoutFields( Control owner, JiraNamedEntity action, JiraIssueListModel model, JiraIssue issue, StatusLabel status, Action onFinish) { status.setInfo("Running action \"" + action.Name + "\" on issue " + issue.Key + "..."); SmartJiraServerFacade.Instance.runIssueActionWithoutParams(issue, action); status.setInfo("Action \"" + action.Name + "\" successfully run on issue " + issue.Key); var newIssue = SmartJiraServerFacade.Instance.getIssue(issue.Server, issue.Key); UsageCollector.Instance.bumpJiraIssuesOpen(); owner.Invoke(new MethodInvoker(() => { model.updateIssue(newIssue); if (onFinish != null) { onFinish(); } })); }
public void rebuildModelWithRecentlyViewedIssues(JiraIssueListModel model) { ICollection <RecentlyViewedIssue> issues = RecentlyViewedIssuesModel.Instance.Issues; ICollection <JiraServer> servers = JiraServerModel.Instance.getAllEnabledServers(); List <JiraIssue> list = new List <JiraIssue>(issues.Count); list.AddRange(from issue in issues let server = findServer(issue.ServerGuid, servers) where server != null select facade.getIssue(server, issue.IssueKey)); lock (this) { model.clear(false); model.addIssues(list); } }
public ComponentNode(JiraIssueListModel model, AbstractJiraServerFacade facade, JiraServer server, JiraProject project, JiraNamedEntity comp) : base(model, facade, server, comp.Name, 0) { this.project = project; this.comp = comp; ContextMenuStrip = new ContextMenuStrip(); menuItems.Add(new ToolStripMenuItem("Open \"Set Component to " + comp.Name + "\" Drop Zone", null, createDropZone)); ContextMenuStrip.Items.Add("dummy"); ContextMenuStrip.Items.AddRange(MenuItems.ToArray()); ContextMenuStrip.Opening += contextMenuStripOpening; ContextMenuStrip.Opened += contextMenuStripOpened; }
public void updateModelWithSprint(JiraIssueListModel model, JiraServer server, Sprint sprint) { var keys = facade.getIssueKeysForSprint(server, sprint); if (keys == null || keys.Count == 0) { return; } JiraFilter f = new JqlFilter(keys); var issues = facade.getCustomFilterIssues(server, f, model.Issues.Count, GlobalSettings.JiraIssuesBatch); lock (this) { model.addIssues(issues); } }
public VersionNode(JiraIssueListModel model, AbstractJiraServerFacade facade, JiraServer server, JiraProject project, JiraNamedEntity version) : base(model, facade, server, version.Name, 0) { this.project = project; this.version = version; ContextMenuStrip = new ContextMenuStrip(); menuItems.Add(new ToolStripMenuItem("Open \"Set Fix For " + version.Name + "\" Drop Zone", null, createFixForDropZone)); menuItems.Add(new ToolStripMenuItem("Open \"Set Affects " + version.Name + "\" Drop Zone", null, createAffectsDropZone)); ContextMenuStrip.Items.Add("dummy"); ContextMenuStrip.Items.AddRange(MenuItems.ToArray()); ContextMenuStrip.Opening += contextMenuStripOpening; ContextMenuStrip.Opened += contextMenuStripOpened; }
public UserNode(JiraIssueListModel model, AbstractJiraServerFacade facade, JiraServer server, JiraUser user) : base(model, facade, server, user.ToString(), 0) { this.user = user; ContextMenuStrip = new ContextMenuStrip(); worker = new AssigneeDropZoneWorker(Facade, Server, user); menuItems.Add(new ToolStripMenuItem("Open \"Assign to " + user + "\" Drop Zone", null, createDropZone)); ContextMenuStrip.Items.Add("dummy"); ContextMenuStrip.Items.AddRange(MenuItems.ToArray()); ContextMenuStrip.Opening += contextMenuStripOpening; ContextMenuStrip.Opened += contextMenuStripOpened; }
public PriorityNode(JiraIssueListModel model, AbstractJiraServerFacade facade, JiraServer server, JiraNamedEntity priority) : base(model, facade, server, priority.Name, 0) { this.priority = priority; ContextMenuStrip = new ContextMenuStrip(); menuItems.Add(new ToolStripMenuItem( "Open \"Set Priority to " + priority.Name + "\" Drop Zone", ImageCache.Instance.getImage(server, priority.IconUrl).Img, createDropZone)); ContextMenuStrip.Items.Add("dummy"); ContextMenuStrip.Items.AddRange(MenuItems.ToArray()); ContextMenuStrip.Opening += contextMenuStripOpening; ContextMenuStrip.Opened += contextMenuStripOpened; }
public void rebuildModelWithSprint(JiraIssueListModel model, JiraServer server, Sprint sprint) { var keys = facade.getIssueKeysForSprint(server, sprint); if (keys == null || keys.Count == 0) { lock (this) { model.clear(true); return; } } JiraFilter f = new JqlFilter(keys); var issues = facade.getCustomFilterIssues(server, f, 0, GlobalSettings.JiraIssuesBatch); lock (this) { model.clear(false); model.addIssues(issues); } }
private JiraServerExplorer(JiraIssueListModel model, JiraServer server, AbstractJiraServerFacade facade) { this.model = model; this.server = server; this.facade = facade; InitializeComponent(); status = new StatusLabel(statusStrip, labelPath); Text = "JIRA Server Explorer: " + server.Name + " (" + server.Url + ")"; StartPosition = FormStartPosition.CenterParent; dropDownActions.Enabled = false; dropDownActions.DropDownItems.Add("phony"); webJira.Title = ""; webJira.ErrorString = Resources.explorer_navigator_error_html; }
public LogWork( Control parent, JiraIssueListModel model, AbstractJiraServerFacade facade, JiraIssue issue, StatusLabel status, JiraActiveIssueManager activeIssueManager) { this.parent = parent; this.model = model; this.facade = facade; this.issue = issue; this.status = status; this.activeIssueManager = activeIssueManager; InitializeComponent(); endTime = DateTime.Now; setEndTimeLabelText(); textRemainingEstimate.Enabled = false; radioAutoUpdate.Checked = true; textExplanation.Font = new Font(textExplanation.Font.FontFamily, textExplanation.Font.Size - 1); StartPosition = FormStartPosition.CenterParent; }
public ComponentsNode(Control parent, JiraIssueListModel model, AbstractJiraServerFacade facade, JiraServer server, JiraProject project) : base(model, facade, server, "Components", 0) { this.parent = parent; this.project = project; }
public DeactivateIssue( string explanationText, Control parent, JiraIssueListModel model, AbstractJiraServerFacade facade, ParameterStore store, JiraIssue issue, StatusLabel status, JiraActiveIssueManager activeIssueManager, IEnumerable <JiraNamedEntity> actions, Action onFinished) : base(parent, model, facade, issue, status, activeIssueManager) { this.store = store; this.onFinished = onFinished; setOkButtonName("Stop Work"); SuspendLayout(); Controls.Remove(LogWorkPanel); int explanationY = 0; if (explanationText != null) { Label l = new Label { Text = explanationText, Location = new Point(10, 10), AutoSize = false, Width = LogWorkPanel.Width, Height = 40, TextAlign = ContentAlignment.MiddleCenter }; Controls.Add(l); explanationY = 50; } checkBoxLogWork = new CheckBox { AutoSize = true, Text = "Log Work", Location = new Point(10, 10 + explanationY) }; checkBoxLogWork.CheckedChanged += (s, e) => { LogWorkPanel.Enabled = checkBoxLogWork.Checked; updateOkButtonState(); }; GroupBox group = new GroupBox { Size = new Size(LogWorkPanel.Width + 20, LogWorkPanel.Height + 20), Location = new Point(10, checkBoxLogWork.Location.Y + checkBoxLogWork.Height - 3) }; group.Controls.Add(LogWorkPanel); LogWorkPanel.Location = new Point(5, 15); LogWorkPanel.Enabled = checkBoxLogWork.Checked; checkBoxRunAction = new CheckBox { AutoSize = true, Text = "Run Issue Action", Location = new Point(10, group.Location.Y + group.Height + 20) }; cbActions = new ComboBox { DropDownStyle = ComboBoxStyle.DropDownList, Location = new Point(150, group.Location.Y + group.Height + 17) }; checkBoxRunAction.CheckedChanged += (s, e) => { cbActions.Enabled = checkBoxRunAction.Checked; updateOkButtonState(); }; foreach (var action in actions) { cbActions.Items.Add(action); } cbActions.SelectedValueChanged += (s, e) => updateOkButtonState(); cbActions.Enabled = checkBoxRunAction.Checked; Size = new Size(Size.Width + 40, Size.Height + 100 + explanationY); Controls.Add(checkBoxLogWork); Controls.Add(group); Controls.Add(checkBoxRunAction); Controls.Add(cbActions); ButtonOk.Location = new Point(ButtonOk.Location.X + 40, ButtonOk.Location.Y + 100 + explanationY); ButtonCancel.Location = new Point(ButtonCancel.Location.X + 40, ButtonCancel.Location.Y + 100 + explanationY); ResumeLayout(true); checkBoxLogWork.Checked = store.loadParameter(DEACTIVATE_ISSUE_LOG_WORK_CHECKED, 0) > 0; checkBoxRunAction.Checked = store.loadParameter(DEACTIVATE_ISSUE_RUN_ACTION_CHECKED, 0) > 0; int actionId = store.loadParameter(DEACTIVATE_ISSUE_LAST_ACTION, 0); foreach (var item in from object item in cbActions.Items let i = item as JiraNamedEntity where i != null && i.Id == actionId select item) { cbActions.SelectedItem = item; break; } }
public GroupedByPriorityIssueTreeModel(JiraIssueListModel model, ToolStripButton groupSubtasksButton) : base(model, groupSubtasksButton) { }
public JiraIssueGroupByComboItem(GroupBy groupBy, JiraIssueListModel model, ToolStripButton groupSubtasksButton) { this.model = model; this.groupSubtasksButton = groupSubtasksButton; By = groupBy; }
public ProjectsNode(Control parent, JiraIssueListModel model, AbstractJiraServerFacade facade, JiraServer server) : base(model, facade, server, "Projects", 0) { this.parent = parent; }