protected function GetControlHtml() { $strOutput = $this->lblMessage->Render(false) . '<br /><table style="border: 1px solid #DDDDDD" cellpadding="4" cellspacing="0" width="100%">'; foreach (NarroProject::$AvailablePreferences as $strName => $arrPref) { if ($arrPref['project_type'] && $arrPref['project_type'] != $this->objProject->ProjectType) { continue; } $this->lblMessage->Text = t('Here you can set your project preferences.'); switch ($arrPref['type']) { case 'number': $txtNumber = new QIntegerTextBox($this); $txtNumber->Name = $strName; $txtNumber->Minimum = 5; $txtNumber->Maximum = 100; $txtNumber->MaxLength = 3; $txtNumber->Width = 50; if ($arrPref['global']) { $txtNumber->Enabled = QApplication::HasPermission('Can edit project', $this->objProject->ProjectId); } $txtNumber->Text = $this->objProject->GetPreferenceValueByName($strName); $strOutput .= sprintf('<tr class="datagrid_row datagrid_even" style="height:40px"><td>%s:</td><td>%s</td><td style="font-size:-1">%s</td></tr>', t($strName), $txtNumber->RenderWithError(false), $arrPref['description'] ? t($arrPref['description']) : ''); $this->arrControls[$strName] = $txtNumber; break; case 'text': $txtTextPref = new QTextBox($this); $txtTextPref->Name = $strName; if ($arrPref['global']) { $txtTextPref->Enabled = QApplication::HasPermission('Can edit project', $this->objProject->ProjectId); } $txtTextPref->Text = $this->objProject->GetPreferenceValueByName($strName); $txtTextPref->Columns = strlen($txtTextPref->Text); $strOutput .= sprintf('<tr class="datagrid_row datagrid_even" style="height:40px"><td>%s:</td><td>%s</td><td style="font-size:-1">%s</td></tr>', t($strName), $txtTextPref->RenderWithError(false), $arrPref['description'] ? t($arrPref['description']) : ''); $this->arrControls[$strName] = $txtTextPref; break; case 'option': $lstOption = new QListBox($this); $lstOption->Name = $strName; if ($arrPref['global']) { $lstOption->Enabled = QApplication::HasPermission('Can edit project', $this->objProject->ProjectId); } foreach ($arrPref['values'] as $strValue) { $lstOption->AddItem(t($strValue), $strValue, $strValue == $this->objProject->GetPreferenceValueByName($strName)); } $strOutput .= sprintf('<tr class="datagrid_row datagrid_even" style="height:40px"><td>%s:</td><td>%s</td><td style="font-size:-1">%s</td></tr>', t($strName), $lstOption->RenderWithError(false), $arrPref['description'] ? t($arrPref['description']) : ''); $this->arrControls[$strName] = $lstOption; break; } } $strOutput .= '</table><br />'; $this->strText = $strOutput; return parent::GetControlHtml(); }
protected function Form_Create() { $this->dtg = new QDataGrid($this); $this->dtg->SetDataBinder("dtg_Bind"); $this->dtg->Paginator = new QPaginator($this->dtg); $this->dtg->CreateIndexedColumn("Item", 0); $this->txtCount = new QIntegerTextBox($this); $this->txtCount->Name = "Count"; $this->txtCount->SaveState = true; $this->txtCount->AddAction(new QChangeEvent(), new QAjaxAction("refreshGrid")); $this->txtPageSize = new QIntegerTextBox($this); $this->txtPageSize->Name = "Page Size"; $this->txtPageSize->Text = 10; $this->txtPageSize->SaveState = true; $this->txtPageSize->AddAction(new QChangeEvent(), new QAjaxAction("refreshGrid")); $intPageSize = (int) $this->txtPageSize->Text; $this->dtg->ItemsPerPage = $intPageSize; }
public function txtQuantityReceived_Render(InventoryTransaction $objInventoryTransaction) { if (!$objInventoryTransaction->blnReturnReceivedStatus()) { $strControlId = 'txtQuantityReceived' . $objInventoryTransaction->InventoryTransactionId; $txtQuantityReceived = $this->GetControl($strControlId); if (!$txtQuantityReceived) { // Create the text box for this row in the datagrid // Use ActionParameter to specify the Id of the AssetTransaction $txtQuantityReceived = new QIntegerTextBox($this->dtgInventoryTransact, $strControlId); $txtQuantityReceived->Name = 'Qty'; $txtQuantityReceived->Width = 40; $txtQuantityReceived->ActionParameter = $objInventoryTransaction->InventoryTransactionId; $txtQuantityReceived->AddAction(new QEnterKeyEvent(), new QAjaxAction('btnReceiveInventoryTransaction')); $txtQuantityReceived->AddAction(new QEnterKeyEvent(), new QTerminateAction()); } QApplication::AuthorizeControl($this->objReceipt, $txtQuantityReceived, 2); return $txtQuantityReceived->RenderWithNameLeft(false); } }
protected function GetControlHtml() { $strOutput = $this->lblMessage->Render(false) . '<br /><table style="border: 1px solid #DDDDDD" cellpadding="4" cellspacing="0" width="100%">'; foreach (NarroUser::$AvailablePreferences as $strName => $arrPref) { switch ($arrPref['type']) { case 'number': $txtNumber = new QIntegerTextBox($this); $txtNumber->Name = $strName; $txtNumber->Minimum = 5; $txtNumber->Maximum = 100; $txtNumber->MaxLength = 3; $txtNumber->Width = 50; $txtNumber->Text = $this->objUser->GetPreferenceValueByName($strName); $strOutput .= sprintf('<tr class="datagrid_row datagrid_even" style="height:40px"><td>%s:</td><td>%s</td><td style="font-size:-1">%s</td></tr>', t($strName), $txtNumber->RenderWithError(false), t($arrPref['description'])); $this->arrControls[$strName] = $txtNumber; break; case 'text': $txtTextPref = new QTextBox($this); $txtTextPref->Name = $strName; $txtTextPref->Text = $this->objUser->GetPreferenceValueByName($strName); if ($strName == 'Special characters') { $strSelect = sprintf('<select onchange="document.getElementById(\'%s\').value+=this.options[this.selectedIndex].value;">', $txtTextPref->ControlId); foreach (NarroDiacriticsPanel::$arrEntities as $strEntityName => $strEntityChar) { $strSelect .= sprintf('<option value=" %s">%s (%s)', $strEntityName, $strEntityChar, $strEntityName); } $strSelect .= '</select>'; $arrPref['description'] = t($arrPref['description']) . $strSelect; $txtTextPref->Width = 400; } elseif ($strName == 'Other languages') { $strSelect = sprintf('<select onchange="document.getElementById(\'%s\').value+= \' \' + this.options[this.selectedIndex].value;">', $txtTextPref->ControlId); foreach (NarroLanguage::QueryArray(QQ::All(), QQ::Clause(QQ::OrderBy(QQN::NarroLanguage()->LanguageName))) as $objLanguage) { $strSelect .= sprintf('<option value="%s">%s (%s)', $objLanguage->LanguageCode, t($objLanguage->LanguageName), $objLanguage->LanguageCode); } $strSelect .= '</select>'; $arrPref['description'] = t($arrPref['description']) . $strSelect; $txtTextPref->Width = 400; } $strOutput .= sprintf('<tr class="datagrid_row datagrid_even" style="height:40px"><td>%s:</td><td>%s</td><td style="font-size:-1">%s</td></tr>', t($strName), $txtTextPref->RenderWithError(false), $arrPref['description']); $this->arrControls[$strName] = $txtTextPref; break; case 'option': $lstOption = new QListBox($this); $lstOption->Name = $strName; if ($strName == 'Language') { $arrLanguages = NarroLanguage::LoadAllActive(QQ::Clause(QQ::OrderBy(QQN::NarroLanguage()->LanguageName))); foreach ($arrLanguages as $objLanguage) { $lstOption->AddItem(t($objLanguage->LanguageName), $objLanguage->LanguageCode, $objLanguage->LanguageCode == $this->objUser->GetPreferenceValueByName($strName)); } } elseif ($strName == 'Application language') { $arrLanguages = NarroLanguage::QueryArray(QQ::All(), QQ::Clause(QQ::OrderBy(QQN::NarroLanguage()->LanguageName))); foreach ($arrLanguages as $objLanguage) { $lstOption->AddItem(t($objLanguage->LanguageName), $objLanguage->LanguageCode, $objLanguage->LanguageCode == $this->objUser->GetPreferenceValueByName($strName)); } } else { foreach ($arrPref['values'] as $strValue) { $lstOption->AddItem(t($strValue), $strValue, $strValue == $this->objUser->GetPreferenceValueByName($strName)); } } $strOutput .= sprintf('<tr class="datagrid_row datagrid_even" style="height:40px"><td>%s:</td><td>%s</td><td style="font-size:-1">%s</td></tr>', t($strName), $lstOption->RenderWithError(false), t($arrPref['description'])); $this->arrControls[$strName] = $lstOption; break; } } $strOutput .= '</table><br />'; $strOutput .= $this->btnCancel->Render(false) . ' ' . $this->btnSave->Render(false); if ($this->txtPreviousUrl) { $strOutput .= ' ' . sprintf(t('Click <a href="%s">here</a> to return to the page you were.'), $this->txtPreviousUrl); } $this->strText = $strOutput; return parent::GetControlHtml(); }