protected function Form_Create() { parent::Form_Create(); $objIssue = Issue::Load(QApplication::PathInfo(0)); if (!$objIssue) { $objIssue = new Issue(); $objIssue->IssuePriorityTypeId = IssuePriorityType::Standard; $objIssue->IssueStatusTypeId = IssueStatusType::NewIssue; $objIssue->PostedByPerson = QApplication::$Person; $this->blnEditMode = false; $this->strPageTitle .= 'Create New'; $this->strHeadline = 'Report a New Bug or Issue'; } else { if (!$objIssue->IsEditableForPerson(QApplication::$Person)) { QApplication::RedirectToLogin(); } $this->blnEditMode = true; $this->strPageTitle .= 'Edit Issue #' . $objIssue->Id; $this->strHeadline = 'Edit Issue #' . $objIssue->Id; } $this->mctIssue = new IssueMetaControl($this, $objIssue); $this->txtTitle = $this->mctIssue->txtTitle_Create(); $this->txtTitle->Required = true; $this->txtExampleCode = $this->mctIssue->txtExampleCode_Create(); $this->txtExampleTemplate = $this->mctIssue->txtExampleTemplate_Create(); $this->txtExampleData = $this->mctIssue->txtExampleData_Create(); $this->txtExpectedOutput = $this->mctIssue->txtExpectedOutput_Create(); $this->txtActualOutput = $this->mctIssue->txtActualOutput_Create(); $this->lstPriority = $this->mctIssue->lstIssuePriorityType_Create(); $this->lstStatus = $this->mctIssue->lstIssueStatusType_Create(); $this->lstResolution = $this->mctIssue->lstIssueResolutionType_Create(); $this->txtAssignedTo = new QTextBox($this); $this->txtAssignedTo->ReadOnly = true; $this->txtDueDate = new QDateTimeTextBox($this); $this->calDueDate = new QCalendar($this->txtDueDate, $this->txtDueDate); $this->txtDueDate->Text = $this->mctIssue->Issue->DueDate ? $this->mctIssue->Issue->DueDate->__toString() : null; $this->dlgAssignedTo = new PersonSelectorDialog($this, 'dlgAssignedTo_Select'); $this->txtAssignedTo->AddAction(new QClickEvent(), new QShowDialogBox($this->dlgAssignedTo)); $this->txtAssignedTo->AddAction(new QClickEvent(), new QFocusControlAction($this->dlgAssignedTo->txtMemberSearch)); $this->lstStatus->AddAction(new QChangeEvent(), new QAjaxAction('RefreshStatuses')); foreach (IssueField::LoadArrayByActiveFlag(true, QQ::OrderBy(QQN::IssueField()->OrderNumber)) as $objIssueField) { $this->lstField_Setup($objIssueField); } $this->txtLongDescription = new QTextBox($this); $this->txtLongDescription->Visible = !$this->blnEditMode; $this->txtLongDescription->Required = !$this->blnEditMode; $this->txtLongDescription->TextMode = QTextMode::MultiLine; $this->btnOkay = new QButton($this); $this->btnOkay->CausesValidation = true; $this->btnOkay->Text = $this->blnEditMode ? 'Update Issue' : 'Save New Issue'; $this->btnCancel = new QLinkButton($this); $this->btnCancel->Text = 'Cancel'; $this->btnOkay->AddAction(new QClickEvent(), new QToggleEnableAction($this->btnOkay)); $this->btnOkay->AddAction(new QClickEvent(), new QAjaxAction('btnOkay_Click')); $this->btnCancel->AddAction(new QClickEvent(), new QAjaxAction('btnCancel_Click')); $this->btnCancel->AddAction(new QClickEvent(), new QTerminateAction()); if ($objIssue->IsAdminableForPerson(QApplication::$Person)) { $this->RefreshStatuses(); } else { $this->txtAssignedTo->Visible = false; $this->txtDueDate->Visible = false; $this->lstStatus->Visible = false; $this->lstResolution->Visible = false; } $this->txtTitle->Focus(); }