Пример #1
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 NAppForm($this, $name);
     $renderer = $form->getRenderer();
     $renderer->wrappers['label']['suffix'] = ':';
     //$form->addGroup('Add');
     $form->addText('name', 'Name', 30)->addRule(NForm::FILLED, 'You have to fill name.')->getControlPrototype()->onChange("create_key()");
     $form->addText('key_name', 'Key', 30)->addRule(NForm::FILLED, 'You have to fill key.');
     $form->addSelect('parent_id', 'Parent', $roles, 15);
     $form->addTextArea('comment', 'Comment', 40, 4)->addRule(NForm::MAX_LENGTH, 'Comment must be at least %d characters.', 250);
     if ($this->getAction() == 'add') {
         $form->addSubmit('add', 'Add');
     } else {
         $form->addSubmit('edit', 'Edit');
     }
     $form->onSuccess[] = array($this, 'addEditOnFormSubmitted');
 }
Пример #2
0
 protected function createComponentLogin($name)
 {
     $form = new NAppForm($this, $name);
     $renderer = $form->getRenderer();
     $renderer->wrappers['label']['suffix'] = ':';
     //$form->addGroup('Login');
     $form->addText('name', 'Name', 30)->addRule(NForm::FILLED, 'You have to fill name.');
     $form->addPassword('password', 'Password', 30)->addRule(NForm::FILLED, 'You have to fill password.');
     //$form->addProtection('Security token did not match. Possible CSRF attack.');
     $form->addSubmit('signon', 'Sign on');
     $form->onSuccess[] = array($this, 'SignOnFormSubmitted');
 }
Пример #3
0
 function createComponentBaseForm()
 {
     //	NForm::extensionMethod('NForm::addCBTree', array('CBTree', 'addCBTree'));
     //
     //	$tree = new TreeView;
     //
     //	$tree->primaryKey = 'id_category';
     //	$tree->parentColumn = 'id_parent';
     //	$tree->useAjax = false;
     //	$tree->addLink(null, 'name', 'id', true, $this->presenter);
     //	$tree->dataSource = CategoryModel::getDatasource()->where("id_lang = %i",$this->getPresenter()->id_lang);
     //$form->addCBTree('ctree', _('Kategórie'), $tree);
     $form = new NAppForm();
     $renderer = $form->getRenderer();
     // budeme generovat formulář jako definiční seznam
     $renderer->wrappers['controls']['container'] = NHtml::el('table')->addClass('standard');
     $langs = Setting::getLangs();
     foreach ($langs as $k => $lang) {
         $form->addGroup($lang['name'])->setOption('container', 'fieldset class=lang_fieldset id=lang_' . $lang['iso']);
         $form->addText('name' . self::$_separator . $lang['iso'], _('Názov'))->addRule(NFORM::FILLED, 'Názov ' . $lang['iso'] . ' musí byť vyplnený.');
         $form->addTextArea('description' . self::$_separator . $lang['iso'], 'Popis');
         $form->addText('link_rewrite' . self::$_separator . $lang['iso'], 'URL link')->setDisabled();
         $form->addText('meta_title' . self::$_separator . $lang['iso'], 'Titulok');
         //	    $form->addText('meta_keywords'.self::$_separator.$lang['iso'], 'Kľúčové slová');
         $form->addText('meta_description' . self::$_separator . $lang['iso'], 'Meta popis');
     }
     //$form->addText('icon','Názov ikony');
     $form->addCheckbox('show_on_bottom', 'Zobraziť v spodnej časti');
     $form->addGroup('');
     $form->addHidden('id_category');
     $c = new CategoryModel($this->getPresenter()->id_lang);
     $select = array('' => 'root');
     /*
      * todo dorobit, aby sa nedala vybrat samu seba categoria
      */
     $c->generateTreeToSelect($select, NULL, NULL);
     $form->addSelect('id_parent', 'Rodič', $select);
     //		->addRule(NForm::FILLED, _('Rodič musí byť vyplnený.') );
     $form->addSelect('active', 'Aktívny', array(1 => 'Povolený', 0 => 'Zakázaný'));
     $form->onSuccess[] = array($this, 'categoryAction');
     return $form;
 }
Пример #4
0
 protected function createComponentAddEdit($name)
 {
     $form = new NAppForm($this, $name);
     $renderer = $form->getRenderer();
     $renderer->wrappers['label']['suffix'] = ':';
     if (ACL_PROG_MODE) {
         $form->addText('name', 'Name', 30)->addRule(NForm::FILLED, 'You have to fill name.')->getControlPrototype()->onChange("create_key()");
     } else {
         $form->addText('name', 'Name', 30)->addRule(NForm::FILLED, 'You have to fill name.');
     }
     //$form->addGroup('Edit');
     $form->addText('key_name', 'Key', 30)->setDisabled(ACL_PROG_MODE ? false : true);
     $form->addTextArea('comment', 'Comment', 40, 4)->addRule(NForm::MAX_LENGTH, 'Comment must be at least %d characters.', 250);
     if ($this->getAction() == 'add') {
         $form->addSubmit('add', 'Add');
     } else {
         $form->addSubmit('edit', 'Edit');
     }
     $form->onSuccess[] = array($this, 'addEditOnFormSubmitted');
 }
Пример #5
0
 /**
  * Sign in form component factory.
  * @return NAppForm
  */
 protected function createComponent($name)
 {
     switch ($name) {
         case 'loginForm':
             $form = new NAppForm();
             $form->addText('username', _('Prihlasovacie meno') . ':')->addRule(NForm::FILLED, _('Prihlasovacie meno musí byť vyplnené.'));
             $form->addPassword('password', _('Heslo') . ':')->addRule(NForm::FILLED, _('Prihlasovacie heslo musí byť vyplnené.'));
             $form->addSubmit('submit_login', 'Log In');
             $renderer = $form->getRenderer();
             $renderer->wrappers['controls']['container'] = NULL;
             $renderer->wrappers['pair']['container'] = 'div';
             $renderer->wrappers['label']['container'] = NULL;
             $renderer->wrappers['control']['container'] = NULL;
             $form->addProtection(_('Sedenie vypršalo. Proším obnovte prihlasovací formulár a zadajte údaje znovu.'), 1800);
             $form['submit_login']->getControlPrototype()->class = 'btnLogin';
             $form->onSuccess[] = callback($this, 'loginFormSubmitted');
             return $form;
             break;
         default:
             return parent::createComponent($name);
             break;
     }
 }
Пример #6
0
 function createComponent($name)
 {
     switch ($name) {
         case 'baseForm':
             $form = new NAppForm();
             $form->getElementPrototype()->addClass('ajax');
             $form->addText('login', _('Prihlasovacie meno'))->addRule(NFORM::FILLED, _('Prihlasovacie meno musí byť vyplnené'));
             /*
              * todo nejaky problem pri odhlaseny
              */
             //				$form->addProtection(_('Bohužial Váš formulár expiroval. Prosím odošlite formulár znovu.') );
             $renderer = $form->getRenderer();
             $renderer->wrappers['controls']['container'] = NULL;
             $renderer->wrappers['pair']['container'] = 'div';
             $renderer->wrappers['label']['container'] = NULL;
             $renderer->wrappers['control']['container'] = NULL;
             $form->addPassword('password', 'Heslo')->addRule(NFORM::FILLED, _('Heslo musí byť vyplnené.'));
             $form->addSubmit('btn_submit', _('Prihlásiť'));
             $form->addHidden('backlink');
             return $form;
             break;
         case 'loginForm':
             $form = $this->createComponent('baseForm');
             $form->onSuccess[] = array($this, 'onSubmitAuthenticate');
             $this->addComponent($form, $name);
             break;
         case 'classicLoginForm':
             $form = $this->createComponent('baseForm');
             $form->onSuccess[] = array($this, 'onSubmitAuthenticate');
             $this->addComponent($form, $name);
             break;
         default:
             return parent::createComponent($name);
             break;
     }
 }
Пример #7
0
 protected function createComponentAddEdit($login)
 {
     $mroles = new RolesModel();
     $roles = $mroles->getTreeValues();
     $form = new NAppForm($this, $login);
     $renderer = $form->getRenderer();
     $renderer->wrappers['label']['suffix'] = ':';
     //$form->addGroup('Add');
     $form->addText('login', 'login', 30)->addRule(NForm::FILLED, 'You have to fill login.');
     $form->addSelect('activate', 'Aktivovany', array('1' => 'ano', 0 => 'nie'));
     //        if ($this->getAction()=='add') {
     $form->addPassword('password', 'Password', 30)->addRule(NForm::FILLED, 'You have to fill password.');
     $form->addPassword('password2', 'Reenter password', 30)->addRule(NForm::FILLED, 'Reenter your password.')->addRule(NForm::EQUAL, 'Passwords do not match.', $form['password']);
     //        }
     $form->addMultiSelect('roles', 'Roles', $roles, 15);
     if ($this->getAction() == 'add') {
         $form->addSubmit('add', 'Add');
     } else {
         $form->addSubmit('edit', 'Edit');
     }
     $form->onSuccess[] = array($this, 'addEditOnFormSubmitted');
 }
Пример #8
0
 function createComponent($name)
 {
     switch ($name) {
         case 'statusForm':
             $f = new NAppForm($this, $name);
             $renderer = $f->getRenderer();
             $renderer->wrappers['pair']['container'] = '';
             $renderer->wrappers['controls']['container'] = '';
             $renderer->wrappers['control']['container'] = '';
             $renderer->wrappers['label']['container'] = '';
             $f->addSelect('order_status', 'Stav: ', OrderModel::getStatus());
             $f->addSubmit('btn_submit', 'Uložiť');
             $o = OrderModel::get($this->getParam('id'));
             $f->setDefaults($o);
             if ($f->isSubmitted() and $f->isValid()) {
                 $values = $f->getValues();
                 OrderModel::updateStatus($this->getParam('id'), $values['order_status']);
                 $o = OrderModel::get($this->getParam('id'));
                 $template = $this->template;
                 $template->setFile(APP_DIR . '/FrontModule/templates/Order/OrderChangeStatusEmail.phtml');
                 //print_r($o);
                 $template->o = $o;
                 $template->status = OrderModel::getStatus($o['order_status']);
                 //				echo $template->status;exit;
                 $mail = new MyMail();
                 $mail->addTo($o['email']);
                 $mail->addBcc(NEnvironment::getVariable('client_email'));
                 $mail->setSubject(_('Objednávka č. ') . $o['id_order'] . ' zmena stavu.');
                 $mail->setTemplate($template);
                 //echo $template;exit;
                 $mail->send();
                 $this->flashMessage('Bol odoslaný email o zmene statusu.');
                 $this->redirect('this');
             }
             return $f;
             break;
         case 'orderTabella':
             $grid = new Tabella(OrderModel::getDatasource(), array('sorting' => 'desc', 'order' => 'id_order'));
             $grid->addColumn("Číslo obj.", "id_order", array("width" => 50));
             $grid->addColumn("Meno", "name", array("width" => 100));
             $grid->addColumn("Priezvisko", "surname", array("width" => 100));
             $grid->addColumn("Mesto", "city", array("width" => 100));
             $grid->addColumn("Dátum vytvorenia", "add_date", array("width" => 100));
             $grid->addColumn("Celková cena", "total_price", array("width" => 100));
             $grid->addColumn("Stav", "order_status", array("width" => 50, 'type' => Tabella::SELECT, "editable" => true, "filter" => OrderModel::getStatus(), 'renderer' => function ($row) {
                 $el = NHtml::el("td")->setHtml(OrderModel::getStatus($row['order_status']));
                 return $el;
             }));
             $grid->addColumn("Spôsob platby", "payment_method", array("width" => 90, 'type' => Tabella::SELECT, "editable" => false, "filter" => OrderModel::getPaymentMethod(), 'renderer' => function ($row) {
                 $el = NHtml::el("td")->setHtml(OrderModel::getPaymentMethod($row['payment_method']));
                 return $el;
             }));
             $grid->addColumn("", "", array("width" => 30, 'filter' => NULL, "options" => '', "renderer" => function ($row) {
                 $el = NHtml::el("td");
                 /*
                  * link na zmazanie produktu
                  */
                 $el->add(NHtml::el('a')->href(NEnvironment::getApplication()->getPresenter()->link('deleteOrder!', array('id' => $row->id_order)))->addClass('deleteIcon'));
                 /*
                  * link na editaciu produktu
                  */
                 $el->add(NHtml::el('a')->href(NEnvironment::getApplication()->getPresenter()->link('view', array('id' => $row->id_order)))->addClass('editIcon'));
                 /*
                  * ikona aktivan polozka, neaktivan polozka
                  */
                 $span = NHtml::el('span');
                 $el->add($span);
                 return $el;
             }));
             $this->addComponent($grid, $name);
             break;
         default:
             return parent::createComponent($name);
             break;
     }
 }