public function createComponent($name) { switch ($name) { case 'importForm': $form = new AppForm($this, $name); $form->addFile('file', __('File:'))->addRule(Form::FILLED, __('You have to entry file.')); $form->addText('provision', __('Provision (%):'))->addRule(Form::FILLED, __('You have to entry provison.'))->addRule(Form::NUMERIC, __('Provison has to be a number.'))->addRule(Form::RANGE, __('Provision has to be between 0 and 99.'), array(0, 99)); $form->addCheckbox('update_only', __('only update existing products')); // availability_id $availabilities = array(0 => __('–––')); foreach (mapper::product_availabilities()->findAll() as $_) { $availabilities[$_->getId()] = $_->getName(); } $form->addSelect('availability_id', __('Default availability:'), $availabilities); $form->addSubmit('ok', '✔ ' . __('Import')); $form->setDefaults(array('provision' => 0, 'update_only' => TRUE)); $form->onSubmit[] = array($this, 'onImportFormSubmit'); break; case 'importManufacturersForm': $form = new AppForm($this, $name); $form->addFile('file', __('File:'))->addRule(Form::FILLED, __('You have to entry file.')); $form->addSubmit('ok', '✔ ' . __('Import')); $form->onSubmit[] = array($this, 'onImportManufacturersFormSubmit'); break; default: parent::createComponent($name); } }
function filterPageEditForm_create(AppForm $form) { if ($this->page->getParent()->getMeta('.category') == 'shop') { $form->addSelect("id_parent_change", "kategorie", PagesModel::getPagesByMeta('.category', 'shop')->getPairs('')); $form->addText("price", "cena"); $form->addCheckbox("akce", "akce"); } return $form; }
public function createComponentLoginForm() { $form = new AppForm(); $form->addText('username', 'Uživatelské jméno:')->addRule(Form::FILLED, 'Vyplňte prosím uživatelské jméno.'); $form->addPassword('password', 'Heslo:')->addRule(Form::FILLED, 'Vyplňte, prosím, heslo.'); $form->addCheckbox('remember', 'Trvale přihlásit na tomto počítači'); $form->addSubmit('login', 'Přihlásit se'); $form->onSuccess[] = callback($this, 'loginFormSubmitted'); return $form; }
/** * Login form component factory. * @return mixed */ protected function createComponentLoginForm() { $form = new AppForm(); $form->addText('username', 'Username:'******'Please provide a username.'); $form->addPassword('password', 'Password:'******'Please provide a password.'); $form->addCheckbox('remember', 'Remember me on this computer'); $form->addSubmit('login', 'Login'); $form->onSubmit[] = callback($this, 'loginFormSubmitted'); return $form; }
protected function createComponentFormGraphsSettings($name) { $form = new AppForm($this, $name); // construct form fields by first patient $fields = Storage::getInstance()->getStoredFields(); foreach ($fields as $field => $props) { $form->addCheckbox($field, $field); } $form->addSubmit('save', 'Uložiť'); $form->onSubmit[] = array($this, 'SubmittedGraphsSettings'); return $form; }
function filterPageEditForm_create(AppForm $form) { foreach ($this->fields as $k => $v) { $label = is_array($v) && isset($v['label']) ? $v['label'] : $k; if (isset($v['type']) and $v['type'] == "textarea") { $form->addTextarea("fields_{$k}", $label); } elseif (isset($v['type']) and $v['type'] == "checkbox") { $form->addCheckbox("fields_{$k}", $label); } else { $form->addText("fields_{$k}", $label); } } return $form; }
public function createComponent($name) { switch ($name) { case 'manageStatusesForm': $form = new AppForm($this, $name); $statuses = array(0 => __('–––')); foreach (mapper::order_statuses()->findAll() as $_) { $statuses[$_->getId()] = $_->getName() . ($_->getInitial() ? ' ✱' : ''); } $form->addSelect('id', __('Status:'), $statuses)->skipFirst(); $form['id']->addRule(Form::FILLED); $form->addSubmit('edit', '✎ ' . __('Edit'))->onClick[] = array($this, 'onManageStatusesFormEdit'); break; case 'statusAddForm': case 'statusEditForm': $prefix_len = strlen('status'); $action = substr($name, $prefix_len); $action = substr($action, 0, strlen($action) - 4); $form = new AppForm($this, $name); if (substr($name, strlen($name) - 8) === 'EditForm') { $form->addHidden('id'); } $form->addText('name', __('Name:'))->addRule(Form::FILLED, __('You have to entry status name.')); $form->addCheckbox('initial', __('initial for orders')); $form->addSubmit('ok', '✔ ' . __($action)); $form->onSubmit[] = array($this, 'on' . substr($name, 0, strlen($name) - 4) . 'Submit'); break; case 'managePaymentTypesForm': $form = new AppForm($this, $name); $types = array(0 => __('–––')); foreach (mapper::order_payment_types()->findAll() as $_) { $types[$_->getId()] = $_->getName(); } $form->addSelect('id', __('Payment type:'), $types)->skipFirst(); $form['id']->addRule(Form::FILLED); $form->addSubmit('edit', '✎ ' . __('Edit'))->onClick[] = array($this, 'onManagePaymentTypesFormEdit'); break; case 'manageDeliveryTypesForm': $form = new AppForm($this, $name); $types = array(0 => __('–––')); foreach (mapper::order_delivery_types()->findAll() as $_) { $types[$_->getId()] = $_->getName(); } $form->addSelect('id', __('Delivery type:'), $types)->skipFirst(); $form['id']->addRule(Form::FILLED); $form->addSubmit('edit', '✎ ' . __('Edit'))->onClick[] = array($this, 'onManageDeliveryTypesFormEdit'); break; case 'paymentTypeAddForm': case 'paymentTypeEditForm': $prefix_len = strlen('paymentType'); case 'deliveryTypeAddForm': case 'deliveryTypeEditForm': if (!isset($prefix_len)) { $prefix_len = strlen('deliveryType'); } $action = substr($name, $prefix_len); $action = substr($action, 0, strlen($action) - 4); $form = new AppForm($this, $name); if (substr($name, strlen($name) - 8) === 'EditForm') { $form->addHidden('id'); } $form->addText('name', __('Name:'))->addRule(Form::FILLED, __('You have to entry name.')); $form->addText('price', __('Price:'))->addRule(Form::FILLED, __('You have to entry price.'))->addRule(Form::NUMERIC, __('Price has to be a number.')); $form->addSubmit('ok', '✔ ' . __($action)); $form->onSubmit[] = array($this, 'on' . substr($name, 0, strlen($name) - 4) . 'Submit'); break; case 'changeOrderStatusForm': $form = new AppForm($this, $name); $statuses = array(0 => __('–––')); foreach (mapper::order_statuses()->findAll() as $_) { $statuses[$_->getId()] = $_->getName(); } $form->addSelect('status_id', __('Status:'), $statuses)->skipFirst()->addRule(Form::FILLED, __('You have to entry status.')); $form->addHidden('id'); $form->addSubmit('ok', '✔ ' . __('Change')); $form->onSubmit[] = array($this, 'onChangeOrderStatusFormSubmit'); break; case 'sendMailForm': $form = new AppForm($this, $name); $form->addText('to', __('To:'))->addRule(Form::EMAIL, __('E-mail has to be an e-mail.')); $form->addText('subject', __('Subject:'))->addRule(Form::FILLED, __('You have to entry subject.')); $form->addTextArea('body', __('Body:'))->addRule(Form::FILLED, __('You have to entry text.')); $form->addSubmit('ok', '✔ ' . __('Send')); $form->onSubmit[] = array($this, 'onSendMailFormSubmit'); $form->addHidden('order_id'); break; default: parent::createComponent($name); } }
/** * A little componen factory * @param string */ public function createComponent($name) { switch ($name) { case 'dataForm': $data = isset(Environment::getSession(SESSION_ORDER_NS)->data) ? Environment::getSession(SESSION_ORDER_NS)->data : array(); $form = new AppForm($this, $name); // contacts $form->addGroup(__('Contacts')); $form->addText('email', __('E-mail:'))->setEmptyValue('@')->addRule(Form::FILLED, __('You have to enter your e-mail.'))->addRule(Form::EMAIL, __('This is not an e-mail address.')); $form->addText('phone', __('Phone number:'))->addRule(Form::FILLED, __('You have to enter your phone number.'))->addRule(Form::NUMERIC, __('Phone number has to be number.')); // payer $form->addGroup(__('Payer')); $form->addText('payer_name', __('Name:'))->addRule(Form::FILLED, __('You have to enter your name.')); $form->addText('payer_lastname', __('Last name:'))->addRule(Form::FILLED, __('You have to enter your last name.')); $form->addText('payer_company', __('Company:')); $form->addText('payer_street', __('Street:'))->addRule(Form::FILLED, __('You have to enter your street.')); $form->addText('payer_city', __('City:'))->addRule(Form::FILLED, __('You have to enter your city.')); $form->addText('payer_postcode', __('Post code:'))->addRule(Form::FILLED, __('You have to enter your post code.'))->addRule(Form::NUMERIC, __('Post code has to be number.')); $form->addCheckbox('same_delivery', __('deliver at same address (you do not need to fill Delivery address below)'))->setValue(TRUE); // delivery address $form->addGroup(__('Delivery address')); $form->addText('delivery_name', __('Name:'))->addConditionOn($form['same_delivery'], Form::EQUAL, FALSE)->addRule(Form::FILLED, __('You have to enter your name.')); $form->addText('delivery_lastname', __('Last name:'))->addConditionOn($form['same_delivery'], Form::EQUAL, FALSE)->addRule(Form::FILLED, __('You have to enter your last name.')); $form->addText('delivery_street', __('Street:'))->addConditionOn($form['same_delivery'], Form::EQUAL, FALSE)->addRule(Form::FILLED, __('You have to enter your street.')); $form->addText('delivery_city', __('City:'))->addConditionOn($form['same_delivery'], Form::EQUAL, FALSE)->addRule(Form::FILLED, __('You have to enter your city.')); $form->addText('delivery_postcode', __('Post code:'))->addConditionOn($form['same_delivery'], Form::EQUAL, FALSE)->addRule(Form::FILLED, __('You have to enter your post code.'))->addRule(Form::NUMERIC, __('Post code has to be number.')); // delivery type $form->addGroup(__('Delivery type')); $delivery_types = array(); foreach (mapper::order_delivery_types()->findAll() as $delivery_type) { $delivery_types[$delivery_type->getId()] = $delivery_type->getName() . Environment::expand(' (' . $delivery_type->getPrice() . ' %currency%)'); } $form->addSelect('delivery_type', __('Type:'), $delivery_types); // payment type $form->addGroup(__('Payment type')); $payment_types = array(); foreach (mapper::order_payment_types()->findAll() as $payment_type) { $payment_types[$payment_type->getId()] = $payment_type->getName() . Environment::expand(' (' . $payment_type->getPrice() . ' %currency%)'); } $form->addSelect('payment_type', __('Type:'), $payment_types); // comment $form->addGroup(__('Comment')); $form->addTextarea('comment', __('Comment:')); // submit $form->setCurrentGroup(NULL); $form->addSubmit('ok', '(3/3) ' . __('Complete order »')); $form['ok']->setRendered(TRUE); $form->onSubmit[] = array($this, 'onDataFormSubmit'); // defaults if (isset(Environment::getSession(SESSION_ORDER_NS)->data)) { $form->setDefaults(Environment::getSession(SESSION_ORDER_NS)->data); } break; default: parent::createComponent($name); } }
/** * Component factory. * @see Nette/ComponentContainer#createComponent() */ protected function createComponentForm($name) { $form = new AppForm(); $form->addGroup('general'); //$form->getElementPrototype()->id('editform'); $form->addText('name', 'Křestí a příp. prostřední jméno')->addRule(Form::FILLED, "Jméno je potřeba vyplnit"); $form->addText('surname', 'Příjmení')->addRule(Form::FILLED, "Příjmení je potřeba vyplnit"); $form->addCheckbox('r', 'Osmileté gymnázium (R)'); $form->addSelect('mark', 'Písmeno třídy', array("A" => "A", "B" => "B", "C" => "C", "D" => "D")); $form->addGroup('left'); $form->addText('class', 'Maturitní ročník', 4); $form->addGroup('right'); $form->addSelect('number', 'Číslo třídy', array("?", "1", "2", "3", "4", "5", "6", "7", "8")); $form['class']->addConditionOn($form['number'], Form::EQUAL, 0)->addRule(Form::FILLED, 'Pokud nevyberete číslo třídy, musíte zadat maturitní ročník')->addRule(Form::NUMERIC, 'Ročník musí být číslo')->addRule(Form::RANGE, 'Rok maturity musí být od %d do %d', array(1960, 2999)); $form->addGroup('submit'); $form->addSubmit('ok', 'Přidat autora')->onClick[] = array($this, 'addClicked'); if ($this->setId != '') { $dataSource = dibi::query('SELECT * FROM [authors] WHERE authorId=%i', $this->setId)->fetch(); $form->setDefaults($dataSource); $form['ok']->onClick = array(array($this, 'SaveClicked')); $form['ok']->caption = "Uložit autora"; $form->addHidden("authorId")->setValue($this->setId); } $this->addComponent($form, $name); return; }
public function createComponentPageEditForm() { $form = new AppForm(); $form->getElementPrototype()->class('ajax'); $form->addHidden("id_page"); $form->addText("heading", "nadpis"); $form->addText("name", "v menu"); $form->addText("seoname", "adresa")->setAttribute('placeholder', '(automatická)'); $form->addCheckbox("published", "publikováno"); $form->addTextArea("text", "obsah stránky"); $form['text']->getControlPrototype()->class('textarea'); $form->addSubmit("submit1", "Uložit"); $form->onSuccess[] = callback($this, 'pageEditFormSubmitted'); //add additional inputs $this->triggerEvent_filter('filterPageEditForm_create', $form); return $form; }
private function addPermissionCheckboxes(AppForm $form, $all_actions, $allowed_actions) { $actions = array(); foreach ($all_actions as $row) { $actions[$row->privilege][] = array('resource' => $row->resource, 'id' => $row->id); } foreach ($actions as $privilege => $resources) { $privilege = str_replace('_', ':', $privilege); $privilege = str_replace('presenter', '', $privilege); $form->addGroup($privilege, true); foreach ($resources as $resource) { $form->addCheckbox('allowed_' . $resource['id'], $resource['resource']); } } return $form; }