Esempio n. 1
0
 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);
     }
 }
Esempio n. 2
0
 protected function createComponentAddEdit($name)
 {
     $roles[0] = ' ';
     $mroles = new RolesModel();
     $rows = $mroles->getTreeValues();
     foreach ($rows as $key => $row) {
         // function array_merge does't work correctly with integer indexes
         // manual array merge
         $roles[$key] = $row;
     }
     $form = new AppForm($this, $name);
     $renderer = $form->getRenderer();
     $renderer->wrappers['label']['suffix'] = ':';
     //$form->addGroup('Add');
     $form->addText('name', 'Name', 30)->addRule(Form::FILLED, 'You have to fill name.')->getControlPrototype()->onChange("create_key()");
     $form->addText('key_name', 'Key', 30)->addRule(Form::FILLED, 'You have to fill key.');
     $form->addSelect('parent_id', 'Parent', $roles, 15);
     $form->addTextArea('comment', 'Comment', 40, 4)->addRule(Form::MAX_LENGTH, 'Comment must be at least %d characters.', 250);
     if ($this->getAction() == 'add') {
         $form->addSubmit('add', 'Add');
     } else {
         $form->addSubmit('edit', 'Edit');
     }
     $form->onSubmit[] = array($this, 'addEditOnFormSubmitted');
 }
Esempio n. 3
0
 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 createComponent($name)
 {
     switch ($name) {
         case 'settingsForm':
             $form = new AppForm($this, $name);
             // basic
             $form->addGroup(__('Basic'));
             $form->addText('shopName', __('Shop name:'))->addRule(Form::FILLED, __('You have to entry shop name.'));
             $form->addText('shopSlogan', __('Shop slogan:'))->addRule(Form::FILLED, __('You have to entry shop slogan.'));
             $form->addText('shopEmail', __('Contact e-mail:'))->addRule(Form::FILLED, __('You have to entry contact e-mail.'));
             // address
             $form->addGroup(__('Shop address'));
             $form->addText('shopAddressCompany', __('Company:'));
             $form->addText('shopAddressName', __('Name:'))->addRule(Form::FILLED, __('You have to entry name.'));
             $form->addText('shopAddressStreet', __('Street:'))->addRule(Form::FILLED, __('You have to entry street.'));
             $form->addText('shopAddressCity', __('City:'))->addRule(Form::FILLED, __('You have to entry city.'));
             $form->addText('shopAddressPostcode', __('Post code:'))->addRule(Form::FILLED, __('You have to entry post code.'));
             // miscellaneous
             $form->addGroup(__('Miscellaneous'));
             $form->addText('metaKeywords', __('META keywords:'))->addRule(Form::FILLED, __('You have to entry META keywords.'));
             $form->addText('metaDescription', __('META description:'))->addRule(Form::FILLED, __('You have to entry META description.'));
             $form->addText('currency', __('Currency:'))->addRule(Form::FILLED, __('You have to entry currency.'));
             $form->addText('itemsPerPage', __('Items per page:'))->addRule(Form::FILLED, __('You have to entry items per page.'))->addRule(Form::FILLED, __('Items per page has to be a number.'));
             $themes = array(0 => __('–––'));
             foreach (new DirectoryIterator(Environment::expand('%themeDir%')) as $_) {
                 if (!$_->isDot() && $_->isDir()) {
                     $themes[$_->getFilename()] = $_->getFilename();
                 }
             }
             $form->addSelect('theme', __('Theme:'), $themes)->skipFirst();
             $form['theme']->addRule(Form::FILLED, __('You have to select theme.'));
             // submit
             $form->setCurrentGroup(NULL);
             $form->addSubmit('ok', '✔ ' . __('Save'));
             $form->onSubmit[] = array($this, 'onSettingsFormSubmit');
             break;
         case 'changeLoginForm':
             $form = new AppForm($this, $name);
             $form->addText('username', __('Username:'******'You have to entry username.'));
             $form->addPassword('old_password', __('Old password:'******'You have to entry old password.'));
             $form->addPassword('new_password', __('New password:'******'You have to entry new password.'));
             $form->addPassword('new_password_again', __('New password (again):'))->addRule(Form::FILLED, __('You have to entry new password again.'))->addRule(Form::EQUAL, __('New passwords have to match.'), $form['new_password']);
             $form->addSubmit('ok', '✔ ' . __('Change'));
             $form->onSubmit[] = array($this, 'onChangeLoginFormSubmit');
             break;
         default:
             parent::createComponent($name);
     }
 }
Esempio n. 5
0
 protected function createComponentForm()
 {
     $form = new AppForm();
     $form->addHidden('id');
     $form->addText('jmeno', 'Jméno:')->setOption('description', 'Prázdné jméno smaže záznam.');
     $form->addText('prezdivka', 'Přezdívka:');
     $form->addText('adresa', 'Adresa:');
     $form->addText('pevny_telefon', 'Pevná linka:');
     $form->addText('mobilni_telefon', 'Mobil:')->setOption('description', 'STS přidejte nakonec do závorky');
     $form->addText('email', 'E-mail:');
     $form->addSelect('oddil', 'Oddíl:', self::$oddily);
     $form->addText('poznamka', 'Poznámka:');
     $form->addSubmit('save', 'Uložit');
     $form->onSuccess[] = callback($this, 'editFormSubmitted');
     return $form;
 }
 protected function createComponentAddEdit($name)
 {
     $form = new AppForm($this, $name);
     $access = array(1 => 'Allow', 0 => 'Deny');
     // roles
     $mroles = new RolesModel();
     $roles = $mroles->getTreeValues();
     // resources
     $resources[0] = '- All resources -';
     $mresources = new ResourcesModel();
     $rows = $mresources->getTreeValues();
     foreach ($rows as $key => $row) {
         // function array_merge does't work correctly with integer indexes
         // manual array merge
         $resources[$key] = $row;
     }
     // privileges
     $privileges[0] = '- All privileges -';
     $rows = dibi::fetchAll('SELECT id, name FROM %n ORDER BY name;', TABLE_PRIVILEGES);
     foreach ($rows as $row) {
         // function array_merge does't work correctly with integer indexes
         // manual array merge
         $privileges[$row->id] = $row->name;
     }
     // assertions
     $assertions = array('Choose') + dibi::fetchPairs('SELECT id, class FROM %n ORDER BY class', TABLE_ASSERTIONS);
     //$renderer = $form->getRenderer();
     //$renderer->wrappers['label']['suffix'] = ':';
     //$form->addGroup('Add');
     $form->addMultiSelect('role_id', 'Role', $roles, 15)->addRule(Form::FILLED, 'You have to fill roles.');
     $form->addMultiSelect('resource_id', 'Resources', $resources, 15)->addRule(Form::FILLED, 'You have to fill resources.');
     $form->addMultiSelect('privilege_id', 'Privileges', $privileges, 15)->addRule(Form::FILLED, 'You have to fill privileges.');
     $form->addSelect('assertion_id', 'Assertion', $assertions);
     //$form->addSelect('access', 'Access', $access)
     $form->addRadioList('access', 'Access', $access)->addRule(Form::FILLED, 'You have to fill access.');
     $form->addSubmit('assign', 'Assign');
     $form->onSubmit[] = array($this, 'addEditOnFormSubmitted');
 }
Esempio n. 7
0
 /**
  * Component factory.
  * @see Nette/ComponentContainer#createComponent()
  */
 protected function createComponentForm($name)
 {
     // NOTE: signal-submit on form disregard component's state
     //		because form is created directly by Presenter in signal handling phase
     //		and this principle is used to detect submit signal
     if (!$this->wasRendered) {
         $this->receivedSignal = 'submit';
     }
     $form = new AppForm($this, $name);
     $form->setTranslator($this->getTranslator());
     FormControl::$idMask = 'frm-datagrid-' . $this->getUniqueId() . '-%s-%s';
     $form->onSubmit[] = array($this, 'formSubmitHandler');
     $form->addSubmit('resetSubmit', 'Reset state');
     $form->addSubmit('filterSubmit', 'Apply filters');
     $form->addSelect('operations', 'Selected:', $this->operations);
     $form->addSubmit('operationSubmit', 'Send')->onClick = $this->onOperationSubmit;
     // page input
     $form->addText('page', 'Page', 1);
     $form['page']->setDefaultValue($this->page);
     $form->addSubmit('pageSubmit', 'Change page');
     // items per page selector
     $form->addSelect('items', 'Items per page', array_combine($this->displayedItems, $this->displayedItems));
     $form['items']->setDefaultValue($this->itemsPerPage);
     $form->addSubmit('itemsSubmit', 'Change');
     // generate filters FormControls
     if ($this->hasFilters()) {
         $defaults = array();
         $sub = $form->addContainer('filters');
         foreach ($this->getFilters() as $filter) {
             $sub->addComponent($filter->getFormControl(), $filter->getName());
             // NOTE: must be setted after is FormControl conntected to the form
             $defaults[$filter->getName()] = $filter->value;
         }
         $sub->setDefaults($defaults);
     }
     // checker
     if ($this->hasOperations()) {
         $sub = $form->addContainer('checker');
         if ($this->isSignalReceiver('submit')) {
             // NOTE: important!
             $ds = clone $this->dataSource;
             $this->filterItems();
         }
         foreach ($this->getRows() as $row) {
             $sub->addCheckbox($row[$this->keyName], $row[$this->keyName]);
         }
         if (isset($ds)) {
             $this->dataSource = $ds;
         }
     }
     $renderer = $form->getRenderer();
     $renderer->wrappers['controls']['container'] = NULL;
     $renderer->wrappers['label']['container'] = NULL;
     $renderer->wrappers['control']['container'] = NULL;
     $form->setRenderer($renderer);
     return;
 }
 public function createComponent($name)
 {
     switch ($name) {
         case 'pageAddForm':
         case 'pageEditForm':
             if (!isset($prefix_len)) {
                 $prefix_len = strlen('page');
             }
         case 'actualityAddFrom':
         case 'actualityEditForm':
             if (!isset($prefix_len)) {
                 $prefix_len = strlen('actuality');
             }
         case 'manufacturerAddForm':
         case 'manufacturerEditForm':
             if (!isset($prefix_len)) {
                 $prefix_len = strlen('manufacturer');
             }
         case 'categoryAddForm':
         case 'categoryEditForm':
             if (!isset($prefix_len)) {
                 $prefix_len = strlen('category');
             }
         case 'productAddForm':
         case 'productEditForm':
             if (!isset($prefix_len)) {
                 $prefix_len = strlen('product');
             }
             // form itself
             $action = substr($name, $prefix_len);
             $action = substr($action, 0, strlen($action) - 4);
             // instantiate
             $form = new AppForm($this, $name);
             // name
             $form->addText('name', __('Name:'))->addRule(Form::FILLED, __('You have to entry name.'));
             // edit or add?
             if (substr($name, strlen($name) - 8) !== 'EditForm') {
                 // add
                 $form->addText('nice_name', __('Name in URL:'))->addRule(Form::FILLED, __('You have to entry URL name.'));
             } else {
                 // edit
                 $form->addHidden('nice_name');
                 if (strncmp($name, 'manufacturer', 12) === 0 || strncmp($name, 'product', 7) === 0) {
                     $form->addHidden('id');
                 }
             }
             // is category?
             if (strncmp($name, 'category', 8) === 0) {
                 $form->addHidden('id');
             }
             // metas
             $form->addText('meta_keywords', __('META keywords:'));
             $form->addText('meta_description', __('META description:'));
             // description or content?
             if (strncmp($name, 'manufacturer', 12) === 0 || strncmp($name, 'category', 8) === 0) {
                 $form->addTextarea('content', __('Description:'));
             } else {
                 $form->addTextarea('content', __('Content:'));
             }
             // is product?
             if (strncmp($name, 'product', 7) === 0) {
                 // category
                 $categories = array(0 => __('–––'));
                 foreach (mapper::categories()->findAll() as $_) {
                     list($depth, $category) = $_;
                     $categories[$category->getId()] = str_repeat('–', $depth) . ' ' . $category->getName();
                 }
                 $form->addSelect('category_id', __('Category:'), $categories)->skipFirst();
                 // manufacturer
                 $manufacturers = array(0 => __('–––'));
                 foreach (mapper::manufacturers()->findAll() as $manufacturer) {
                     $manufacturers[$manufacturer->getId()] = $manufacturer->getName();
                 }
                 $form->addSelect('manufacturer_id', __('Manufacturer:'), $manufacturers)->skipFirst();
                 // availability
                 $availabilities = array(0 => __('–––'));
                 foreach (mapper::product_availabilities()->findAll() as $_) {
                     $availabilities[$_->getId()] = $_->getName();
                 }
                 $form->addSelect('availability_id', __('Availability:'), $availabilities)->skipFirst();
                 // code
                 $form->addText('code', __('Code:'));
                 // price
                 $form->addText('price', __('Price:'))->addRule(Form::NUMERIC, __('Price has to be a number.'));
             }
             // picture
             $pictures = array(0 => __('–––'));
             foreach (mapper::pictures()->findAll() as $_) {
                 $pictures[$_->getId()] = self::remove_ext($_->getFile());
             }
             $form->addSelect('picture_id', __('Picture:'), $pictures);
             // submit
             $form->addSubmit('ok', '✔ ' . __($action));
             $form->onSubmit[] = array($this, 'on' . ucfirst(substr($name, 0, strlen($name) - 4)) . 'Submit');
             break;
         case 'categoriesForm':
             $form = new AppForm($this, $name);
             $items = array(0 => __('–––'));
             foreach (mapper::categories()->findAll() as $_) {
                 list($depth, $category) = $_;
                 $items[$category->getId()] = str_repeat('–', $depth) . ' ' . $category->getName();
             }
             $form->addSelect('id', __('Category:'), $items)->skipFirst();
             $form->addSubmit('edit', '✎ ' . __('Edit'))->onClick[] = array($this, 'onCategoriesFormEdit');
             $form->addSubmit('add', '⊕ ' . __('Add subcategory'))->onClick[] = array($this, 'onCategoriesFormAdd');
             $form->addSubmit('delete', '⊗ ' . __('Delete'))->onClick[] = array($this, 'onCategoriesFormDelete');
             break;
         case 'newPictureForm':
             $form = new AppForm($this, $name);
             $form->addFile('file', __('File:'));
             $form->addText('rename', __('Rename to:'));
             $form->addText('description', __('Description:'));
             $form->addSubmit('ok', '➦ ' . __('Upload'));
             $form->onSubmit[] = array($this, 'onNewPictureSubmit');
             break;
         case 'availabilitiesForm':
             $form = new AppForm($this, $name);
             $availabilities = array(0 => __('–––'));
             foreach (mapper::product_availabilities()->findAll() as $_) {
                 $availabilities[$_->getId()] = $_->getName();
             }
             $form->addSelect('id', __('Availability:'), $availabilities)->skipFirst();
             $form['id']->addRule(Form::FILLED, __('You have to choose availability.'));
             $form->addSubmit('edit', '✎ ' . __('Edit'))->onClick[] = array($this, 'onAvailabilitiesFormEdit');
             $form->addSubmit('delete', '⊗ ' . __('Delete'))->onClick[] = array($this, 'onAvailabilitiesFormDelete');
             break;
         case 'availabilityAddForm':
         case 'availabilityEditForm':
             if (!isset($prefix_len)) {
                 $prefix_len = strlen('availability');
             }
             $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:'));
             $form->addSubmit('ok', '✔ ' . __($action));
             $form->onSubmit[] = array($this, 'on' . ucfirst(substr($name, 0, strlen($name) - 4)) . 'Submit');
             break;
         case 'titlePageForm':
             $form = new AppForm($this, $name);
             $form->addTextarea('content', __('Content:'))->addRule(Form::FILLED, __('You have to entry content.'));
             $form->addSubmit('save', '✔ ' . __('Save'));
             $form->onSubmit[] = array($this, 'onTitlePageFormSubmit');
             $form->setDefaults(array('content' => require_once Environment::expand('%titlePageFile%')));
             break;
         default:
             parent::createComponent($name);
     }
 }
Esempio n. 9
0
 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);
     }
 }
Esempio n. 10
0
 /**
  * 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);
     }
 }
Esempio n. 11
0
 /**
  * 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;
 }
Esempio n. 12
0
 private function formNewEditFields(AppForm $form)
 {
     $form->addGroup('Content')->setOption('container', Html::el('fieldset')->id('contents'));
     $form->addText('title', 'Title')->addRule(Form::FILLED, 'Fill title');
     $form->addTextarea('content', 'Text');
     $templates = $this->model('contentTemplates')->get('page');
     $form->addGroup('Properties')->setOption('container', Html::el('fieldset')->id('properties'));
     $categories = $this->model('categories')->getPairs();
     $categories = array('0' => 'none') + $categories;
     $form->addSelect('category', 'Category', $categories);
     $form->addCheckBox('homepage', 'Set as homepage?');
     $form->addSelect('template', 'Template', $templates);
     $form->addCheckBox('has_widgets', 'Has widgets');
     $form->addText('publish_time', 'Publish time');
     //$form->addText('time', '');
     $form->addText('keywords', 'keywords');
     $form->addTextarea('description', 'description');
     $form->addHidden('content_type')->setValue('page');
     if ($form->name == 'formNewPage') {
         //$form->addGroup('Link')->setOption('container', Html::el('fieldset')->id('link'));
         $menus = $this->model('menu')->getPairs();
         $menus = array(0 => 'none') + $menus;
         $form->addSelect('link', 'Link in menu', $menus);
     }
     $form->addTextArea('css_files', 'Css files')->getControlPrototype()->{'data-ext'} = 'css';
     $form->addTextArea('js_files', 'Js files')->getControlPrototype()->{'data-ext'} = 'js';
     $form->addGroup('')->setOption('container', Html::el('fieldset')->id('buttons'));
     $form->addButton('btnClose', 'Close');
     $form->addSubmit('btnPreview', 'Preview')->onClick[] = array($this, 'formNewPagePreview');
     $form['btnPreview']->getControlPrototype()->class('ajax');
     return $form;
 }
Esempio n. 13
0
 public function createComponentEditForm($table, $id = null)
 {
     $form = new AppForm($this, $table . 'EditForm');
     $form->addProtection();
     if ($id != null) {
         $form->addHidden('id')->setValue($id);
     }
     switch ($table) {
         case 'students':
             $years = $this->model('courses')->getYears();
             $form->addText('name', 'Name');
             $form->addText('surname', 'Surname');
             $form->addSelect('year', 'year' . ':', $years);
             if ($id != null) {
                 $values = $this->model('students')->getStudent($id);
             }
             break;
         case 'teachers':
             $departments = $this->model('school')->getDepartments();
             $form->addText('name', 'Name');
             $form->addText('surname', 'Surname');
             $form->addSelect('department', 'department' . ':')->setItems($departments, false);
             if ($id != null) {
                 $values = $this->model('teachers')->getTeacher($id);
             }
             break;
         case 'rooms':
             $form->addText('name', 'Name');
             if ($id != null) {
                 $values = $this->model('school')->getRoom($id);
             }
             break;
         case 'departments':
             $form->addText('name', 'Name');
             if ($id != null) {
                 $values = $this->model('school')->getDepartment($id);
             }
             break;
         case 'learning_times':
             $form->addText('time', 'time');
             if ($id != null) {
                 $values = $this->model('school')->getLearningTime($id);
             }
             break;
         case 'courses':
             $years = $this->model('courses')->getYears();
             $departments = $this->model('school')->getDepartments();
             $form->addText('name', 'name');
             $form->addSelect('year', 'year:', $years);
             $form->addSelect('semester', 'semester:', array('L' => 'L', 'Z' => 'Z'));
             $form->addSelect('department', 'department:', $departments);
             if ($id != null) {
                 $values = $this->model('courses')->getCourse($id);
             }
             break;
     }
     $form->addSubmit('btnSubmit', 'Save');
     $form->onSubmit[] = array($this, 'editFormSubmitted');
     if (isset($values)) {
         $form->setDefaults($values);
     }
     return $form;
 }
Esempio n. 14
0
 public function createComponentEditFileForm()
 {
     $form = new AppForm();
     $form->getElementPrototype()->class('ajax');
     //todo:zlobí
     $form->addHidden("id");
     $form->addSelect("id_page_change", "Přesun", PagesModel::getPagesFlat()->getPairs());
     $form->addText("filename", "Název");
     $form->addTextarea("description", "Popis")->getControlPrototype()->setRows(3);
     $form->addText("keywords", "Keywords");
     $form->addText("timestamp", "Timestamp");
     $form->addText("gallerynum", "Číslo galerie")->getControlPrototype()->style('width:50px');
     //TODO ->addRule(Form::INTEGER,'%label musí být číslo')  .. nefunguje js(ajax) validace
     $form->addSubmit("submit1", "Uložit");
     $form->onSuccess[] = callback($this, 'editFileFormSubmitted');
     return $form;
 }
Esempio n. 15
0
 protected function createComponentForm($name)
 {
     $form = new AppForm();
     //$form->getElementPrototype()->id('editform');
     $form->addText('title', 'Název', 50)->addRule(Form::FILLED, "Jméno je potřeba vyplnit");
     $items = dibi::query('SELECT
     authorId,
     CONCAT_WS(" ", name, surname,', Model::sqlClassName(Model::getSchoolYear()), ') as authorName
     FROM [authors]
     ORDER BY surname, class desc')->fetchPairs();
     $keys = array_keys($items);
     $form->addSelect('author', 'Autor', array("0" => 'Nový') + $items)->setValue($keys[0]);
     $form->addTextArea('text', 'Text')->getControlPrototype()->style = 'width: 100%';
     $form->addSelect('award', 'Ocenění', array("0" => 'Nové') + $this->setKeys(Model::getValues('award', 'works')));
     $form->addText('newAward', '');
     $form->addSelect('year', 'Ročník ChP', $this->generateYears())->setDefaultValue(Model::getSchoolYear());
     $form->addSelect('type', 'Typ', array("0" => 'Nový') + $this->setKeys(Model::getValues('type', 'works')));
     $form->addText('newType', '');
     if ($this->setId == '') {
         $form->addFile('file', "Soubor:");
     }
     $form['newAward']->addConditionOn($form['award'], Form::EQUAL, 0)->addRule(Form::FILLED, 'Pokud nevyberete ocenění, musíte zadat nové');
     $form['newType']->addConditionOn($form['type'], Form::EQUAL, 0)->addRule(Form::FILLED, 'Pokud nevyberete typ, musíte zadat nový');
     $form->addSubmit('ok', 'Přidat práci')->onClick[] = array($this, 'addClicked');
     $form->addHidden("authorId")->setValue('false');
     if ($this->setId != '') {
         $dataSource = dibi::query('SELECT * FROM [works] WHERE workId=%i', $this->setId)->fetch();
         $form->setDefaults($dataSource);
         $form['ok']->onClick = array(array($this, 'saveClicked'));
         $form['ok']->caption = "Uložit práci";
         $form->addHidden("workId")->setValue($this->setId);
     } else {
         $s = Environment::getSession('workform');
         if (isset($s->author) && array_search($s->author, $keys) === FALSE) {
             $s->author = $keys[0];
         }
         if (isset($s->author)) {
             $form->setDefaults($s);
         }
     }
     $this->addComponent($form, $name);
     $form->getRenderer()->wrappers['control']['container'] .= ' class="wide"';
     return;
 }