Example #1
0
 public function add()
 {
     $populateData = array('required_data' => array('controller' => 0), 'view_data' => array('view' => Helper::getViewIdsDefault()));
     $form = $this->formModel->initForm(1);
     $form->Populate($populateData);
     $form->AddFilter(new FormEngine\Filters\Trim());
     $form->AddFilter(new FormEngine\Filters\NoCode());
     if ($form->Validate(FormEngine\FE::SubmittedData())) {
         $id = $this->model->addNewPaymentmethod($form->getSubmitValues(FormEngine\Elements\Form::FORMAT_FLAT));
         if (FormEngine\FE::IsAction('next')) {
             App::redirect(__ADMINPANE__ . '/paymentmethod/add');
         } else {
             if (Helper::getViewId() > 0) {
                 Session::setVolatileMessage("Moduł płatności został dodany. Skonfiguruj go teraz w zakładce Konfiguracja.");
                 App::redirect(__ADMINPANE__ . '/paymentmethod/edit/' . $id);
             } else {
                 App::redirect(__ADMINPANE__ . '/paymentmethod');
             }
         }
     }
     $this->registry->template->assign('form', $form->Render());
     $this->registry->xajax->processRequest();
     $this->registry->template->assign('xajax', $this->registry->xajax->getJavascript());
     $this->registry->template->display($this->loadTemplate('add.tpl'));
 }
Example #2
0
 public function add()
 {
     $form = new FormEngine\Elements\Form(array('name' => 'pagescheme', 'action' => '', 'method' => 'post'));
     $filesPane = $form->AddChild(new FormEngine\Elements\Fieldset(array('name' => 'files_pane', 'label' => 'Dodaj nowy szablon')));
     $filesPane->AddChild(new FormEngine\Elements\Tip(array('tip' => '<p align="center">Wybierz z dysku lub wgraj plik zip z szablonem sklepu. Po imporcie będziesz mógł zmienić jego ustawienia oraz ustawić jako domyślny dla sklepu.</p>', 'direction' => FormEngine\Elements\Tip::DOWN)));
     $files = $filesPane->AddChild(new FormEngine\Elements\LocalFile(array('name' => 'files', 'label' => 'Plik', 'file_source' => 'themes/', 'traversable' => false, 'file_types' => array('zip'))));
     if ($form->Validate(FormEngine\FE::SubmittedData())) {
         $Data = $form->getSubmitValues(FormEngine\Elements\Form::FORMAT_FLAT);
         $check = App::getModel('pagescheme/import')->check($Data['files']['file']);
         $bValid = false;
         if (is_array($check)) {
             foreach ($check as $file) {
                 if ($file['filename'] == 'settings/export.json') {
                     $bValid = true;
                     break;
                 }
             }
         }
         if ($bValid) {
             App::getModel('pagescheme/import')->importPagescheme($Data['files']['file']);
             App::redirect(__ADMINPANE__ . '/templateeditor');
         } else {
             Session::setVolatileMessage("Musisz wybrać prawidłowe archiwum ZIP.");
             App::redirect(__ADMINPANE__ . '/templateeditor/add');
         }
     }
     $this->registry->template->assign('form', $form->Render());
     $this->registry->xajax->processRequest();
     $this->registry->template->assign('xajax', $this->registry->xajax->getJavascript());
     $this->registry->template->display($this->loadTemplate('add.tpl'));
 }
Example #3
0
 public function index()
 {
     if (Session::getActiveUserid() != null) {
         App::redirect(__ADMINPANE__ . '/mainside');
     }
     $form = new FormEngine\Elements\Form(array('name' => 'forgotlogin', 'action' => '', 'method' => 'post', 'class' => 'login-form'));
     $form->AddChild(new FormEngine\Elements\TextField(array('name' => 'login', 'label' => _('TXT_EMAIL_FORM_LOGIN'), 'rules' => array(new FormEngine\Rules\Required(_('ERR_EMPTY_LOGIN_FORM_LOGIN'))))));
     $form->AddChild(new FormEngine\Elements\Submit(array('name' => 'log_in', 'label' => _('TXT_FORGOT_PASSWORD'))));
     $form->AddFilter(new FormEngine\Filters\Trim());
     $form->AddFilter(new FormEngine\Filters\NoCode());
     if ($form->Validate(FormEngine\FE::SubmittedData())) {
         $loginValues = $form->getSubmitValues(FormEngine\Elements\Form::FORMAT_FLAT);
         $result = App::getModel('login')->checkUsers($loginValues['login']);
         if ($result == 0) {
             Session::setVolatileLoginError(1, false);
         } else {
             $password = Core::passwordGenerate();
             App::getModel('login')->changeUsersPassword($result, $password);
             $this->registry->template->assign('password', $password);
             App::getModel('mailer')->sendEmail(array('template' => 'forgotUsers', 'email' => array($_POST['login']), 'bcc' => false, 'subject' => _('TXT_FORGOT_PASSWORD'), 'viewid' => Helper::getViewId()));
             Session::setVolatileMessage("Nowe hasło zostało wysłane na podany adres e-mail.");
             App::redirect('login');
         }
     }
     $error = Session::getVolatileLoginError();
     if ($error[0] == 1) {
         $this->registry->template->assign('error', _('ERR_BAD_EMAIL'));
     }
     $languages = App::getModel('language')->getLanguages();
     $this->registry->xajax->processRequest();
     $this->registry->template->assign('xajax', $this->registry->xajax->getJavascript());
     $this->registry->template->assign('form', $form->Render());
     $this->registry->template->assign('languages', json_encode($languages));
     $this->registry->template->display($this->loadTemplate('index.tpl'));
 }
Example #4
0
 public function index()
 {
     $clientBillingAddress = $this->model->getClientAddress(1);
     $clientShippingAddress = $this->model->getClientAddress(0);
     $formBilling = new SimpleForm\Form(array('name' => 'billingForm', 'action' => '', 'method' => 'post'));
     $clientType = $formBilling->AddChild(new SimpleForm\Elements\Radio(array('name' => 'clienttype', 'label' => _('TXT_CLIENT_TYPE'), 'options' => array('1' => _('TXT_INDIVIDUAL_CLIENT'), '2' => _('TXT_COMPANY_CLIENT')))));
     $formBilling->AddChild(new SimpleForm\Elements\TextField(array('name' => 'firstname', 'label' => _('TXT_FIRSTNAME'), 'rules' => array(new SimpleForm\Rules\Required(_('ERR_EMPTY_FIRSTNAME'))))));
     $formBilling->AddChild(new SimpleForm\Elements\TextField(array('name' => 'surname', 'label' => _('TXT_SURNAME'), 'rules' => array(new SimpleForm\Rules\Required(_('ERR_EMPTY_SURNAME'))))));
     $formBilling->AddChild(new SimpleForm\Elements\TextField(array('name' => 'companyname', 'label' => _('TXT_COMPANYNAME'), 'rules' => array(new SimpleForm\Rules\RequiredDependency(_('ERR_EMPTY_COMPANYNAME'), $clientType, new SimpleForm\Conditions\Equals('2'))))));
     $formBilling->AddChild(new SimpleForm\Elements\TextField(array('name' => 'nip', 'label' => _('TXT_NIP'), 'rules' => array(new SimpleForm\Rules\RequiredDependency(_('ERR_EMPTY_NIP'), $clientType, new SimpleForm\Conditions\Equals('2'))))));
     $formBilling->AddChild(new SimpleForm\Elements\TextField(array('name' => 'street', 'label' => _('TXT_STREET'), 'rules' => array(new SimpleForm\Rules\Required(_('ERR_EMPTY_STREET'))))));
     $formBilling->AddChild(new SimpleForm\Elements\TextField(array('name' => 'streetno', 'label' => _('TXT_STREETNO'), 'rules' => array(new SimpleForm\Rules\Required(_('ERR_EMPTY_STREETNO'))))));
     $formBilling->AddChild(new SimpleForm\Elements\TextField(array('name' => 'placeno', 'label' => _('TXT_PLACENO'))));
     $formBilling->AddChild(new SimpleForm\Elements\TextField(array('name' => 'placename', 'label' => _('TXT_PLACE'), 'rules' => array(new SimpleForm\Rules\Required(_('ERR_EMPTY_PLACE'))))));
     $formBilling->AddChild(new SimpleForm\Elements\TextField(array('name' => 'postcode', 'label' => _('TXT_POSTCODE'), 'rules' => array(new SimpleForm\Rules\Required(_('ERR_EMPTY_POSTCODE')), new SimpleForm\Rules\Format(_('ERR_WRONG_FORMAT_POSTCODE'), '/^\\d{2}-\\d{3}?$/')))));
     $formBilling->AddChild(new SimpleForm\Elements\Select(array('name' => 'countryid', 'label' => _('TXT_NAME_OF_COUNTRY'), 'options' => App::getModel('lists')->getCountryForSelect(), 'rules' => array(new SimpleForm\Rules\Required(_('ERR_EMPTY_NAME_OF_COUNTRY'))))));
     $formBilling->Populate(array('clienttype' => $clientBillingAddress['clienttype'], 'firstname' => $clientBillingAddress['firstname'], 'surname' => $clientBillingAddress['surname'], 'companyname' => $clientBillingAddress['companyname'], 'nip' => $clientBillingAddress['nip'], 'street' => $clientBillingAddress['street'], 'streetno' => $clientBillingAddress['streetno'], 'postcode' => $clientBillingAddress['postcode'], 'placename' => $clientBillingAddress['placename'], 'placeno' => $clientBillingAddress['placeno'], 'countryid' => $clientBillingAddress['countryid']));
     if ($formBilling->Validate()) {
         $formData = $formBilling->getSubmitValues();
         $this->model->updateClientAddress($formData, 1);
         if ($clientShippingAddress['idclientaddress'] == 0) {
             $this->model->updateClientAddress($formData, 0);
         }
         App::redirectUrl($this->registry->router->generate('frontend.clientaddress', true));
     }
     $formShipping = new SimpleForm\Form(array('name' => 'shippingForm', 'action' => '', 'method' => 'post'));
     $clientType = $formShipping->AddChild(new SimpleForm\Elements\Radio(array('name' => 'clienttype', 'label' => _('TXT_CLIENT_TYPE'), 'options' => array('1' => _('TXT_INDIVIDUAL_CLIENT'), '2' => _('TXT_COMPANY_CLIENT')))));
     $formShipping->AddChild(new SimpleForm\Elements\TextField(array('name' => 'firstname', 'label' => _('TXT_FIRSTNAME'), 'rules' => array(new SimpleForm\Rules\Required(_('ERR_EMPTY_FIRSTNAME'))))));
     $formShipping->AddChild(new SimpleForm\Elements\TextField(array('name' => 'surname', 'label' => _('TXT_SURNAME'), 'rules' => array(new SimpleForm\Rules\Required(_('ERR_EMPTY_SURNAME'))))));
     $formShipping->AddChild(new SimpleForm\Elements\TextField(array('name' => 'companyname', 'label' => _('TXT_COMPANYNAME'), 'rules' => array(new SimpleForm\Rules\RequiredDependency(_('ERR_EMPTY_COMPANYNAME'), $clientType, new SimpleForm\Conditions\Equals('2'))))));
     $formShipping->AddChild(new SimpleForm\Elements\TextField(array('name' => 'nip', 'label' => _('TXT_NIP'), 'rules' => array(new SimpleForm\Rules\RequiredDependency(_('ERR_EMPTY_COMPANYNAME'), $clientType, new SimpleForm\Conditions\Equals('2'))))));
     $formShipping->AddChild(new SimpleForm\Elements\TextField(array('name' => 'street', 'label' => _('TXT_STREET'), 'rules' => array(new SimpleForm\Rules\Required(_('ERR_EMPTY_STREET'))))));
     $formShipping->AddChild(new SimpleForm\Elements\TextField(array('name' => 'streetno', 'label' => _('TXT_STREETNO'), 'rules' => array(new SimpleForm\Rules\Required(_('ERR_EMPTY_STREETNO'))))));
     $formShipping->AddChild(new SimpleForm\Elements\TextField(array('name' => 'placeno', 'label' => _('TXT_PLACENO'))));
     $formShipping->AddChild(new SimpleForm\Elements\TextField(array('name' => 'placename', 'label' => _('TXT_PLACE'), 'rules' => array(new SimpleForm\Rules\Required(_('ERR_EMPTY_PLACE'))))));
     $formShipping->AddChild(new SimpleForm\Elements\TextField(array('name' => 'postcode', 'label' => _('TXT_POSTCODE'), 'rules' => array(new SimpleForm\Rules\Required(_('ERR_EMPTY_POSTCODE')), new SimpleForm\Rules\Format(_('ERR_WRONG_FORMAT_POSTCODE'), '/^\\d{2}-\\d{3}?$/')))));
     $formShipping->AddChild(new SimpleForm\Elements\Select(array('name' => 'countryid', 'label' => _('TXT_NAME_OF_COUNTRY'), 'options' => App::getModel('lists')->getCountryForSelect(), 'rules' => array(new SimpleForm\Rules\Required(_('ERR_EMPTY_NAME_OF_COUNTRY'))))));
     $clientShippingAddress = $this->model->getClientAddress(0);
     $formShipping->Populate(array('clienttype' => $clientShippingAddress['clienttype'], 'firstname' => $clientShippingAddress['firstname'], 'surname' => $clientShippingAddress['surname'], 'companyname' => $clientShippingAddress['companyname'], 'nip' => $clientShippingAddress['nip'], 'street' => $clientShippingAddress['street'], 'streetno' => $clientShippingAddress['streetno'], 'postcode' => $clientShippingAddress['postcode'], 'placename' => $clientShippingAddress['placename'], 'placeno' => $clientShippingAddress['placeno'], 'countryid' => $clientShippingAddress['countryid']));
     if ($formShipping->Validate()) {
         $formData = $formShipping->getSubmitValues();
         $this->model->updateClientAddress($formData, 0);
         Session::setVolatileMessage("Zapisano zmiany w adresie dostawy.");
         App::redirectUrl($this->registry->router->generate('frontend.clientaddress', true));
     }
     $this->registry->template->assign('clientBillingAddress', $clientBillingAddress);
     $this->registry->template->assign('clientShippingAddress', $clientShippingAddress);
     $this->registry->template->assign('formBilling', $formBilling->getForm());
     $this->registry->template->assign('formShipping', $formShipping->getForm());
     return $this->registry->template->fetch($this->loadTemplate('index.tpl'));
 }
Example #5
0
 public function edit()
 {
     $tree = new FormEngine\Elements\Form(array('name' => 'category_tree', 'class' => 'category-select', 'action' => '', 'method' => 'post'));
     $categories = $this->model->getContentCategoryALL();
     $rawContentcategoryData = $this->model->getContentCategoryView($this->id);
     $tree->AddChild(new FormEngine\Elements\Tree(array('name' => 'categories', 'add_item_prompt' => _('TXT_NAME'), 'sortable' => true, 'selectable' => false, 'clickable' => true, 'deletable' => true, 'addable' => true, 'prevent_duplicates' => false, 'items' => $categories, 'onClick' => 'openCategoryEditor', 'onAdd' => 'xajax_AddCategory', 'addLabel' => _('TXT_ADD'), 'onAfterAdd' => 'openCategoryEditor', 'onDelete' => 'xajax_DeleteCategory', 'onAfterDelete' => 'openCategoryEditor', 'onSaveOrder' => 'xajax_ChangeCategoryOrder', 'active' => $this->registry->core->getParam(), 'onAfterDeleteId' => $rawContentcategoryData['next'])));
     $populateData = array('required_data' => array('footer' => $rawContentcategoryData['footer'], 'header' => $rawContentcategoryData['header'], 'contentcategoryid' => $rawContentcategoryData['contentcategory'], 'language_data' => $rawContentcategoryData['language']), 'meta_data' => array('language_data' => $rawContentcategoryData['language']), 'redirect_data' => array('redirect' => $rawContentcategoryData['redirect'], 'redirect_route' => $rawContentcategoryData['redirect_route'], 'redirect_url' => $rawContentcategoryData['redirect_url']), 'view_data' => array('view' => $rawContentcategoryData['view']));
     $this->formModel->setPopulateData($populateData);
     $form = $this->formModel->initForm();
     if ($form->Validate(FormEngine\FE::SubmittedData())) {
         try {
             $this->model->editContentCategory($form->getSubmitValues(FormEngine\Elements\Form::FORMAT_FLAT), $this->id);
         } catch (Exception $e) {
             $this->registry->template->assign('error', $e->getMessage());
         }
         Session::setVolatileMessage("Zapisano zmiany w stronie statycznej.");
         App::redirect(__ADMINPANE__ . '/contentcategory/edit/' . $this->id);
     }
     $this->renderLayout(array('form' => $form->Render(), 'tree' => $tree->Render()));
 }
Example #6
0
 public function add()
 {
     $orderData = App::getModel('order')->getOrderById((int) $this->registry->core->getParam());
     $viewData = App::getModel('view')->getView($orderData['viewid']);
     $invoiceType = (int) $this->registry->core->getParam(1);
     $invoiceNumber = $this->model->generateInvoiceNumber($viewData['invoicenumerationkind'], $invoiceType, $orderData['order_date'], $orderData['viewid']);
     $form = new FormEngine\Elements\Form(array('name' => 'invoice', 'action' => '', 'method' => 'post'));
     $invoiceData = $form->AddChild(new FormEngine\Elements\Fieldset(array('name' => 'invoice_data', 'label' => _('TXT_INVOICE'))));
     $invoiceData->AddChild(new FormEngine\Elements\TextField(array('name' => 'salesperson', 'label' => _('TXT_SALES_PERSON'), 'rules' => array(new FormEngine\Rules\Required(_('ERR_EMPTY_SALES_PERSON'))), 'default' => App::getModel('users')->getUserFullName())));
     $invoiceDate = $invoiceData->AddChild(new FormEngine\Elements\Date(array('name' => 'invoicedate', 'label' => _('TXT_INVOICE_DATE'), 'rules' => array(new FormEngine\Rules\Required(_('ERR_EMPTY_INVOICE_DATE'))), 'default' => date('Y-m-d'))));
     $wFirmaSettings = $this->registry->core->loadModuleSettings('wfirma', $orderData['viewid']);
     $inFaktSettings = $this->registry->core->loadModuleSettings('infakt', $orderData['viewid']);
     if (!empty($wFirmaSettings) && $wFirmaSettings['wfirmalogin'] != '' && $wFirmaSettings['wfirmapassword'] != '') {
         $invoiceData->AddChild(new FormEngine\Elements\StaticText(array('text' => '<p>Numer faktury zostanie wygenerowany poprzez API wFirma automatycznie.')));
     } elseif (!empty($inFaktSettings) && $inFaktSettings['infaktlogin'] != '' && $inFaktSettings['infaktpassword'] != '') {
         $invoiceData->AddChild(new FormEngine\Elements\StaticText(array('text' => '<p>Numer faktury zostanie wygenerowany poprzez API inFakt automatycznie.')));
     } else {
         $invoiceData->AddChild(new FormEngine\Elements\TextField(array('name' => 'invoicenumber', 'label' => _('TXT_INVOICE_NUMBER'), 'rules' => array(new FormEngine\Rules\Required(_('ERR_EMPTY_INVOICE_NUMBER'))), 'default' => $invoiceNumber, 'dependencies' => array(new FormEngine\Dependency(FormEngine\Dependency::SUGGEST, $invoiceDate, array($this->model, 'getInvoiceNumberFormat'))))));
     }
     $invoiceData->AddChild(new FormEngine\Elements\Date(array('name' => 'duedate', 'label' => _('TXT_MATURITY'), 'rules' => array(new FormEngine\Rules\Required(_('ERR_EMPTY_MATURITY'))), 'default' => date('Y-m-d', strtotime('+' . $viewData['invoicedefaultpaymentdue'] . ' days')))));
     $invoiceData->AddChild(new FormEngine\Elements\Textarea(array('name' => 'comment', 'label' => _('TXT_COMMENT'), 'default' => _('TXT_ORDER') . ': ' . $orderData['order_id'])));
     $invoiceData->AddChild(new FormEngine\Elements\TextField(array('name' => 'totalpayed', 'label' => _('TXT_TOTAL_PAYED'), 'rules' => array(new FormEngine\Rules\Required(_('ERR_EMPTY_TOTAL_PAYED'))), 'default' => '0.00', 'suffix' => $orderData['currencysymbol'])));
     $form->AddFilter(new FormEngine\Filters\Trim());
     $form->AddFilter(new FormEngine\Filters\Secure());
     if ($form->Validate(FormEngine\FE::SubmittedData())) {
         $formData = $form->getSubmitValues(FormEngine\Elements\Form::FORMAT_FLAT);
         if (!empty($wFirmaSettings) && $wFirmaSettings['wfirmalogin'] != '' && $wFirmaSettings['wfirmapassword'] != '') {
             App::getModel('wfirma')->addInvoice($formData, (int) $this->registry->core->getParam(0), (int) $this->registry->core->getParam(1), $orderData);
         } elseif (!empty($inFaktSettings) && $inFaktSettings['infaktlogin'] != '' && $inFaktSettings['infaktpassword'] != '') {
             App::getModel('infakt')->addInvoice($formData, (int) $this->registry->core->getParam(0), (int) $this->registry->core->getParam(1), $orderData);
         } else {
             $invoiceNo = $this->model->addInvoice($formData, (int) $this->registry->core->getParam(0), (int) $this->registry->core->getParam(1), $orderData);
         }
         Session::setVolatileMessage("Dodano fakturę {$invoiceNo} do zamówienia {$this->registry->core->getParam()}");
         App::redirect(__ADMINPANE__ . '/order/edit/' . (int) $this->registry->core->getParam());
     }
     $this->registry->template->assign('xajax', $this->registry->xajax->getJavascript());
     $this->registry->xajax->processRequest();
     $this->registry->template->assign('form', $form->Render());
     $this->registry->template->display($this->loadTemplate('add.tpl'));
 }
Example #7
0
 public function edit()
 {
     $rawCategoryData = $this->model->getCategoryView($this->id);
     if (empty($rawCategoryData)) {
         App::redirect(__ADMINPANE__ . '/category');
     }
     $tree = new FormEngine\Elements\Form(array('name' => 'category_tree', 'class' => 'category-select', 'action' => '', 'method' => 'post'));
     $categories = $this->model->getChildCategories(0, array($this->id));
     $tree->AddChild(new FormEngine\Elements\Tree(array('name' => 'categories', 'label' => _('TXT_CATEGORIES'), 'add_item_prompt' => _('TXT_ENTER_NEW_CATEGORY_NAME'), 'sortable' => true, 'selectable' => false, 'clickable' => true, 'deletable' => true, 'addable' => true, 'prevent_duplicates' => true, 'items' => $categories, 'load_children' => array($this->model, 'getChildCategories'), 'onClick' => 'openCategoryEditor', 'onDuplicate' => 'xajax_DuplicateCategory', 'onSaveOrder' => 'xajax_ChangeCategoryOrder', 'onAdd' => 'xajax_AddCategory', 'onAfterAdd' => 'openCategoryEditor', 'onDelete' => 'xajax_DeleteCategory', 'onAfterDelete' => 'openCategoryEditor', 'onAfterDeleteId' => $rawCategoryData['next'], 'active' => $this->id)));
     $populateData = array('required_data' => array('language_data' => $rawCategoryData['language'], 'categoryid' => $rawCategoryData['catid'], 'distinction' => $rawCategoryData['distinction'], 'enable' => $rawCategoryData['enable']), 'meta_data' => array('language_data' => $rawCategoryData['language']), 'description_pane' => array('language_data' => $rawCategoryData['language']), 'photos_pane' => array('photo' => $rawCategoryData['photoid']), 'category_products' => array('products' => App::getModel('category')->getProductsDataGrid((int) $this->id)), 'view_data' => array('view' => $rawCategoryData['view']));
     $this->formModel->setPopulateData($populateData);
     $form = $this->formModel->initForm();
     if ($form->Validate(FormEngine\FE::SubmittedData())) {
         try {
             $formData = $form->getSubmitValues(FormEngine\Elements\Form::FORMAT_FLAT);
             $this->model->editCategory($formData, $this->id);
             if (isset($integrationModels)) {
                 foreach ($integrationModels as $key => $model) {
                     if (method_exists(App::getModel('integration/' . $model['model']), 'integrationUpdate')) {
                         App::getModel('integration/' . $model['model'])->integrationUpdate($formData, $this->id);
                     }
                 }
             }
             Session::setVolatileMessage("Zapisano zmiany w kategorii.");
         } catch (Exception $e) {
             $this->registry->template->assign('error', $e->getMessage());
         }
         App::redirect(__ADMINPANE__ . '/category/edit/' . $this->id);
     }
     $this->registry->template->assign('xajax', $this->registry->xajax->getJavascript());
     $this->registry->xajax->processRequest();
     $this->registry->template->assign('id', $this->id);
     $this->registry->template->assign('tree', $tree->Render());
     $this->registry->template->assign('form', $form->Render());
     $this->registry->template->assign('total', count($categories));
     $this->registry->template->assign('categoryName', $rawCategoryData['language'][Helper::getLanguageId()]['name']);
     $this->registry->template->display($this->loadTemplate('edit.tpl'));
 }
Example #8
0
 public function edit()
 {
     Event::dispatch($this, 'admin.order.checkPaymentStatus', array('id' => (int) $this->registry->core->getParam()));
     $rawOrderData = $this->model->getOrderById($this->registry->core->getParam());
     if (isset($rawOrderData['currencyid']) && !empty($rawOrderData['currencyid'])) {
         $currencyid = $rawOrderData['currencyid'];
     } else {
         $currencyid = Session::getActiveShopCurrencyId();
     }
     try {
         $order = $this->model->getOrderById((int) $this->registry->core->getParam());
         $order['id'] = (int) $this->registry->core->getParam();
         $orderNotes = $this->model->getOrderNotes($order['id']);
         $clientOrderHistory = $this->model->getclientOrderHistory($order['clientid']);
     } catch (Exception $e) {
         throw new CoreException($e->getMessage());
     }
     $addNotes = new FormEngine\Elements\Form(array('name' => 'add_notes', 'class' => 'statusChange', 'action' => '', 'method' => 'post'));
     $addNotes->AddChild(new FormEngine\Elements\Textarea(array('name' => 'contents', 'label' => _('TXT_CONTENT'), 'rules' => array(new FormEngine\Rules\Required(_('ERR_EMPTY_CONTENT'))))));
     $addNotes->AddChild(new FormEngine\Elements\Submit(array('name' => 'add', 'label' => _('TXT_ADD'), 'icon' => '_images_panel/icons/buttons/add.png')));
     $form = new FormEngine\Elements\Form(array('name' => 'order', 'action' => '', 'class' => 'editOrder', 'method' => 'post'));
     $productsData = $form->AddChild(new FormEngine\Elements\Fieldset(array('name' => 'products_data', 'label' => _('TXT_EDIT_ORDER_ORDERED_PRODUCTS'))));
     $products = $productsData->AddChild(new FormEngine\Elements\OrderEditor(array('name' => 'products', 'label' => _('TXT_EDIT_ORDER_ORDERED_PRODUCTS'), 'advanced_editor' => true, 'repeat_min' => 1, 'repeat_max' => FormEngine\FE::INFINITE, 'clientgroupid' => (int) $rawOrderData['clientgroupid'], 'currencyid' => (int) $rawOrderData['currencyid'], 'viewid' => $rawOrderData['viewid'], 'on_change' => 'OnProductListChanged')));
     $addressData = $form->AddChild(new FormEngine\Elements\Columns(array('name' => 'address_data')));
     $billingData = $addressData->AddChild(new FormEngine\Elements\Fieldset(array('name' => 'billing_data', 'label' => _('TXT_EDIT_ORDER_BILLING_DATA'))));
     $billingData->AddChild(new FormEngine\Elements\TextField(array('name' => 'firstname', 'label' => _('TXT_FIRSTNAME'), 'rules' => array(new FormEngine\Rules\Required(_('ERR_EMPTY_FIRSTNAME'))))));
     $billingData->AddChild(new FormEngine\Elements\TextField(array('name' => 'surname', 'label' => _('TXT_SURNAME'), 'rules' => array(new FormEngine\Rules\Required(_('ERR_EMPTY_SURNAME'))))));
     $billingData->AddChild(new FormEngine\Elements\TextField(array('name' => 'street', 'label' => _('TXT_STREET'), 'rules' => array(new FormEngine\Rules\Required(_('ERR_EMPTY_STREET'))))));
     $billingData->AddChild(new FormEngine\Elements\TextField(array('name' => 'streetno', 'label' => _('TXT_STREETNO'), 'rules' => array(new FormEngine\Rules\Required(_('ERR_EMPTY_STREETNO'))))));
     $billingData->AddChild(new FormEngine\Elements\TextField(array('name' => 'placeno', 'label' => _('TXT_PLACENO'))));
     $billingData->AddChild(new FormEngine\Elements\TextField(array('name' => 'place', 'label' => _('TXT_PLACE'), 'rules' => array(new FormEngine\Rules\Required(_('ERR_EMPTY_PLACE'))))));
     $billingData->AddChild(new FormEngine\Elements\TextField(array('name' => 'postcode', 'label' => _('TXT_POSTCODE'), 'rules' => array(new FormEngine\Rules\Required(_('ERR_EMPTY_POSTCODE'))))));
     $billingData->AddChild(new FormEngine\Elements\Select(array('name' => 'countryid', 'label' => _('TXT_NAME_OF_COUNTRY'), 'options' => FormEngine\Option::Make(App::getModel('countrieslist')->getCountryForSelect()), 'default' => 0, 'rules' => array(new FormEngine\Rules\Required(_('ERR_EMPTY_NAME_OF_COUNTRY'))))));
     $billingData->AddChild(new FormEngine\Elements\TextField(array('name' => 'companyname', 'label' => _('TXT_COMPANYNAME'))));
     $billingData->AddChild(new FormEngine\Elements\TextField(array('name' => 'nip', 'label' => _('TXT_NIP'))));
     $billingData->AddChild(new FormEngine\Elements\TextField(array('name' => 'phone', 'label' => _('TXT_PHONE'), 'rules' => array(new FormEngine\Rules\Format(_('ERR_WRONG_FORMAT'), '/^[0-9 -+]+$/')))));
     $billingData->AddChild(new FormEngine\Elements\TextField(array('name' => 'phone2', 'label' => _('TXT_ADDITIONAL_PHONE'), 'rules' => array(new FormEngine\Rules\Format(_('ERR_WRONG_FORMAT'), '/^[0-9 -+]+$/')))));
     $billingData->AddChild(new FormEngine\Elements\TextField(array('name' => 'email', 'label' => _('TXT_EMAIL'), 'rules' => array(new FormEngine\Rules\Required(_('ERR_EMPTY_EMAIL'))))));
     $shippingData = $addressData->AddChild(new FormEngine\Elements\Fieldset(array('name' => 'shipping_data', 'label' => _('TXT_EDIT_ORDER_SHIPPING_DATA'))));
     $shippingData->AddChild(new FormEngine\Elements\TextField(array('name' => 'firstname', 'label' => _('TXT_FIRSTNAME'), 'rules' => array(new FormEngine\Rules\Required(_('ERR_EMPTY_FIRSTNAME'))))));
     $shippingData->AddChild(new FormEngine\Elements\TextField(array('name' => 'surname', 'label' => _('TXT_SURNAME'), 'rules' => array(new FormEngine\Rules\Required(_('ERR_EMPTY_SURNAME'))))));
     $shippingData->AddChild(new FormEngine\Elements\TextField(array('name' => 'street', 'label' => _('TXT_STREET'), 'rules' => array(new FormEngine\Rules\Required(_('ERR_EMPTY_STREET'))))));
     $shippingData->AddChild(new FormEngine\Elements\TextField(array('name' => 'streetno', 'label' => _('TXT_STREETNO'), 'rules' => array(new FormEngine\Rules\Required(_('ERR_EMPTY_STREETNO'))))));
     $shippingData->AddChild(new FormEngine\Elements\TextField(array('name' => 'placeno', 'label' => _('TXT_PLACENO'))));
     $shippingData->AddChild(new FormEngine\Elements\TextField(array('name' => 'place', 'label' => _('TXT_PLACE'), 'rules' => array(new FormEngine\Rules\Required(_('ERR_EMPTY_PLACE'))))));
     $shippingData->AddChild(new FormEngine\Elements\TextField(array('name' => 'postcode', 'label' => _('TXT_POSTCODE'), 'rules' => array(new FormEngine\Rules\Required(_('ERR_EMPTY_POSTCODE'))))));
     $shippingData->AddChild(new FormEngine\Elements\Select(array('name' => 'countryid', 'label' => _('TXT_NAME_OF_COUNTRY'), 'options' => FormEngine\Option::Make(App::getModel('countrieslist')->getCountryForSelect()), 'default' => 0, 'rules' => array(new FormEngine\Rules\Required(_('ERR_EMPTY_NAME_OF_COUNTRY'))))));
     $shippingData->AddChild(new FormEngine\Elements\TextField(array('name' => 'companyname', 'label' => _('TXT_COMPANYNAME'))));
     $shippingData->AddChild(new FormEngine\Elements\TextField(array('name' => 'nip', 'label' => _('TXT_NIP'))));
     $shippingData->AddChild(new FormEngine\Elements\TextField(array('name' => 'phone', 'label' => _('TXT_PHONE'), 'rules' => array(new FormEngine\Rules\Required(_('ERR_EMPTY_PHONE')), new FormEngine\Rules\Format(_('ERR_WRONG_FORMAT'), '/^[0-9 -+]+$/')))));
     $shippingData->AddChild(new FormEngine\Elements\TextField(array('name' => 'phone2', 'label' => _('TXT_ADDITIONAL_PHONE'), 'rules' => array(new FormEngine\Rules\Format(_('ERR_WRONG_FORMAT'), '/^[0-9 -+]+$/')))));
     $shippingData->AddChild(new FormEngine\Elements\TextField(array('name' => 'email', 'label' => _('TXT_EMAIL'), 'rules' => array(new FormEngine\Rules\Required(_('ERR_EMPTY_EMAIL'))))));
     $additionalData = $form->AddChild(new FormEngine\Elements\Columns(array('name' => 'additional_data')));
     $paymentData = $additionalData->AddChild(new FormEngine\Elements\Fieldset(array('name' => 'payment_data', 'label' => _('TXT_EDIT_ORDER_PAYMENT_METHOD'))));
     $paymentData->AddChild(new FormEngine\Elements\Select(array('name' => 'payment_method', 'label' => _('TXT_EDIT_ORDER_PAYMENT_METHOD'), 'options' => FormEngine\Option::Make($this->registry->core->getDefaultValueToSelect() + $this->model->getPaymentmethodAllToSelect($this->registry->core->getParam())))));
     $weight = 0;
     foreach ($order['products'] as $product) {
         $weight += $product['weight'];
     }
     $paymentData->AddChild(new FormEngine\Elements\Select(array('name' => 'delivery_method', 'label' => _('TXT_EDIT_ORDER_DELIVERY_METHOD'), 'options' => FormEngine\Option::Make($this->model->getDispatchmethodAllToSelect($order['total'], $this->registry->core->getParam(), $weight)))));
     $paymentData->AddChild(new FormEngine\Elements\Select(array('name' => 'rules_cart', 'label' => _('TXT_RULES_CART'), 'options' => FormEngine\Option::Make($this->model->getAllRulesForOrder($this->registry->core->getParam())))));
     $paymentData->AddChild(new FormEngine\Elements\Constant(array('name' => 'currency', 'label' => _('TXT_KIND_OF_CURRENCY'))));
     $summaryData = $additionalData->AddChild(new FormEngine\Elements\Fieldset(array('name' => 'summary_data', 'label' => _('TXT_VIEW_ORDER_SUMMARY'))));
     $summaryData->AddChild(new FormEngine\Elements\Constant(array('name' => 'total_net_total', 'label' => _('TXT_NETTO_AMOUNT'))));
     $summaryData->AddChild(new FormEngine\Elements\Constant(array('name' => 'total_vat_value', 'label' => _('TXT_VIEW_ORDER_TAX'))));
     $summaryData->AddChild(new FormEngine\Elements\Constant(array('name' => 'total_delivery', 'label' => _('TXT_DELIVERERPRICE'))));
     $summaryData->AddChild(new FormEngine\Elements\Constant(array('name' => 'total_total', 'label' => _('TXT_VIEW_ORDER_TOTAL'))));
     $form->AddFilter(new FormEngine\Filters\NoCode());
     $form->AddFilter(new FormEngine\Filters\Trim());
     $form->AddFilter(new FormEngine\Filters\Secure());
     $orderData = array('address_data' => array('billing_data' => array('firstname' => $rawOrderData['billing_address']['firstname'], 'surname' => $rawOrderData['billing_address']['surname'], 'street' => $rawOrderData['billing_address']['street'], 'streetno' => $rawOrderData['billing_address']['streetno'], 'placeno' => $rawOrderData['billing_address']['placeno'], 'place' => $rawOrderData['billing_address']['city'], 'postcode' => $rawOrderData['billing_address']['postcode'], 'countryid' => $rawOrderData['billing_address']['countryid'], 'companyname' => $rawOrderData['billing_address']['companyname'], 'nip' => $rawOrderData['billing_address']['nip'], 'phone' => $rawOrderData['billing_address']['phone'], 'phone2' => $rawOrderData['billing_address']['phone2'], 'email' => $rawOrderData['billing_address']['email']), 'shipping_data' => array('firstname' => $rawOrderData['delivery_address']['firstname'], 'surname' => $rawOrderData['delivery_address']['surname'], 'street' => $rawOrderData['delivery_address']['street'], 'streetno' => $rawOrderData['delivery_address']['streetno'], 'placeno' => $rawOrderData['delivery_address']['placeno'], 'place' => $rawOrderData['delivery_address']['city'], 'postcode' => $rawOrderData['delivery_address']['postcode'], 'countryid' => $rawOrderData['delivery_address']['countryid'], 'companyname' => $rawOrderData['delivery_address']['companyname'], 'nip' => $rawOrderData['delivery_address']['nip'], 'phone' => $rawOrderData['delivery_address']['phone'], 'phone2' => $rawOrderData['billing_address']['phone2'], 'email' => $rawOrderData['delivery_address']['email'])), 'additional_data' => array('payment_data' => array('delivery_method' => $rawOrderData['delivery_method']['dispatchmethodid'], 'payment_method' => $rawOrderData['payment_method']['paymentmethodid'], 'rules_cart' => $rawOrderData['rulescartid'], 'currency' => $rawOrderData['currencysymbol']), 'summary_data' => array('total_net_total' => 132)), 'products_data' => array('products' => $this->model->getProductsDataGrid((int) $this->registry->core->getParam())));
     $form->Populate($orderData);
     $statusChange = new FormEngine\Elements\Form(array('name' => 'add_status_change', 'class' => 'statusChange', 'action' => '', 'method' => 'post'));
     $idstatus = $statusChange->AddChild(new FormEngine\Elements\Select(array('name' => 'status', 'label' => _('TXT_VIEW_ORDER_CHANGE_STATUS'), 'options' => FormEngine\Option::Make(App::getModel('orderstatus')->getOrderStatusToSelect()))));
     $statusChange->AddChild(new FormEngine\Elements\Textarea(array('name' => 'comment', 'label' => _('TXT_VIEW_ORDER_CHANGE_COMMENT'), 'dependencies' => array(new FormEngine\Dependency(FormEngine\Dependency::SUGGEST, $idstatus, array(App::getModel('orderstatus'), 'getDefaultComment'))))));
     $statusChange->AddChild(new FormEngine\Elements\Checkbox(array('name' => 'inform', 'label' => _('TXT_VIEW_ORDER_CHANGE_INFORM_CLIENT'))));
     $statusChange->AddChild(new FormEngine\Elements\Submit(array('name' => 'update', 'label' => _('TXT_VIEW_ORDER_CHANGE_UPDATE'), 'icon' => '_images_panel/icons/buttons/flag-green.png')));
     $statusChange->Populate(array('status' => $order['current_status_id']));
     $form->AddFilter(new FormEngine\Filters\Trim());
     $form->AddFilter(new FormEngine\Filters\Secure());
     $form->AddFilter(new FormEngine\Filters\Trim());
     $form->AddFilter(new FormEngine\Filters\Secure());
     if ($addNotes->Validate(FormEngine\FE::SubmittedData())) {
         try {
             $notes = $addNotes->getSubmitValues(FormEngine\Elements\Form::FORMAT_FLAT);
             $this->model->addOrderNotes($addNotes->getSubmitValues(FormEngine\Elements\Form::FORMAT_FLAT), $order['id']);
             Session::setVolatileMessage("Dodano notatkę do zamówienia {$this->id}");
             App::redirect(__ADMINPANE__ . '/order/edit/' . (int) $this->registry->core->getParam());
         } catch (Exception $e) {
             $this->registry->template->assign('error', $e->getMessage());
         }
     }
     if ($statusChange->Validate(FormEngine\FE::SubmittedData())) {
         $this->model->addOrderHistory($statusChange->getSubmitValues(FormEngine\Elements\Form::FORMAT_FLAT), $this->registry->core->getParam());
         try {
             $email = $statusChange->getSubmitValues(FormEngine\Elements\Form::FORMAT_FLAT);
             if ($email['inform'] == 1) {
                 $this->model->notifyUser($order, $email['status']);
             }
             Session::setVolatileMessage("Zaktualizowano status zamówienia {$this->id}");
             $this->model->updateOrderStatus($_POST, $this->registry->core->getParam());
             App::redirect(__ADMINPANE__ . '/order/edit/' . (int) $this->registry->core->getParam());
         } catch (Exception $e) {
             $this->registry->template->assign('error', $e->getMessage());
         }
     }
     if ($form->Validate(FormEngine\FE::SubmittedData())) {
         try {
             $this->model->updateOrderById($_POST, $this->registry->core->getParam());
             App::redirect(__ADMINPANE__ . '/order/');
         } catch (Exception $e) {
             $this->registry->template->assign('error', $e->getMessage());
         }
     }
     $this->registry->template->assign('viewid', Helper::getViewId());
     $this->registry->xajaxInterface->registerFunction(array('CalculateDeliveryCost', $this->model, 'calculateDeliveryCostEdit'));
     $this->registry->xajaxInterface->registerFunction(array('GetDispatchMethodForPrice', $this->model, 'getDispatchMethodForPriceForAjaxEdit'));
     $this->registry->template->assign('xajax', $this->registry->xajax->getJavascript());
     $this->registry->xajax->processRequest();
     $this->registry->template->assign('statusChange', $statusChange->Render());
     $this->registry->template->assign('addNotes', $addNotes->Render());
     $this->registry->template->assign('orderNotes', $orderNotes);
     $this->registry->template->assign('clientOrderHistory', $clientOrderHistory);
     $this->registry->template->assign('order', $order);
     $this->registry->template->assign('currencyid', Session::getActiveCurrencyId());
     $this->registry->template->assign('currencysymbol', Session::getActiveCurrencySymbol());
     $this->registry->template->assign('form', $form->Render());
     $this->registry->template->display($this->loadTemplate('edit.tpl'));
 }
Example #9
0
    public function duplicateCategory($id)
    {
        $objResponse = new xajaxResponse();
        Db::getInstance()->beginTransaction();
        $Data = $this->getCategoryView($id);
        $sql = 'INSERT INTO category (categoryid,distinction,enable, photoid)
				VALUES (:categoryid,:distinction,:enable, :photoid)';
        $stmt = Db::getInstance()->prepare($sql);
        if ($Data['catid'] != 0) {
            $stmt->bindValue('categoryid', $Data['catid']);
        } else {
            $stmt->bindValue('categoryid', NULL);
        }
        $stmt->bindValue('enable', 0);
        if (isset($Data['photoid']) && $Data['photoid'] > 0) {
            $stmt->bindValue('photoid', $Data['photoid']);
        } else {
            $stmt->bindValue('photoid', NULL);
        }
        $stmt->bindValue('distinction', $Data['distinction']);
        try {
            $stmt->execute();
        } catch (Exception $e) {
            throw new CoreException(_('ERR_CATEGORY_ADD'), 3003, $e->getMessage());
        }
        $categoryid = Db::getInstance()->lastInsertId();
        foreach ($Data['language'] as $key => $val) {
            $names = $this->checkDuplicateNames($val['name'], $val['seo'], $key, 0);
            $sql = 'INSERT INTO categorytranslation (
						categoryid,
						name,
						shortdescription,
						description,
						languageid,
						seo,
						keyword_title,
						keyword,
						keyword_description
					)
					VALUES
					(
						:categoryid,
						:name,
						:shortdescription,
						:description,
						:languageid,
						:seo,
						:keyword_title,
						:keyword,
						:keyword_description)';
            $stmt = Db::getInstance()->prepare($sql);
            $stmt->bindValue('categoryid', $categoryid);
            $stmt->bindValue('name', $names['name']);
            $stmt->bindValue('shortdescription', $val['shortdescription']);
            $stmt->bindValue('description', $val['description']);
            $stmt->bindValue('languageid', $key);
            $stmt->bindValue('seo', $names['seo']);
            $stmt->bindValue('keyword_title', $val['keywordtitle']);
            $stmt->bindValue('keyword', $val['keyword']);
            $stmt->bindValue('keyword_description', $val['keyworddescription']);
            try {
                $stmt->execute();
            } catch (Exception $e) {
                throw new CoreException(_('ERR_NEWS_ADD'), 4, $e->getMessage());
            }
        }
        foreach ($Data['view'] as $key => $val) {
            $sql = 'INSERT INTO viewcategory (categoryid,viewid)
					VALUES (:categoryid, :viewid)';
            $stmt = Db::getInstance()->prepare($sql);
            $stmt->bindValue('categoryid', $categoryid);
            $stmt->bindValue('viewid', $val);
            try {
                $stmt->execute();
            } catch (Exception $e) {
                throw new CoreException(_('ERR_NEWS_ADD'), 4, $e->getMessage());
            }
        }
        Db::getInstance()->commit();
        $this->flushCache();
        $url = $this->registry->router->generate('admin', true, array('controller' => 'category', 'action' => 'edit', 'param' => $categoryid));
        Session::setVolatileMessage("Kategoria została zduplikowana.");
        $objResponse->script("window.location.href = '{$url}';");
        return $objResponse;
    }
Example #10
0
 public function add()
 {
     $this->registry->template->assign('groups', App::getModel('groups')->getGroupsAll());
     $groups = App::getModel('groups/groups')->getGroupsAllToSelect();
     $form = new FormEngine\Elements\Form(array('name' => 'user', 'action' => '', 'method' => 'post'));
     $personalData = $form->AddChild(new FormEngine\Elements\Fieldset(array('name' => 'personal_data', 'label' => _('TXT_PERSONAL_DATA'))));
     $firstname = $personalData->AddChild(new FormEngine\Elements\TextField(array('name' => 'firstname', 'label' => _('TXT_FIRSTNAME'), 'rules' => array(new FormEngine\Rules\Required(_('ERR_EMPTY_FIRSTNAME'))))));
     $personalData->AddChild(new FormEngine\Elements\TextField(array('name' => 'surname', 'label' => _('TXT_SURNAME'), 'rules' => array(new FormEngine\Rules\Required(_('ERR_EMPTY_SURNAME'))))));
     $personalData->AddChild(new FormEngine\Elements\Tip(array('tip' => '<p>' . _('TXT_USER_PASSWORD_INFO') . '</p>')));
     $personalData->AddChild(new FormEngine\Elements\TextField(array('name' => 'email', 'label' => _('TXT_EMAIL'), 'rules' => array(new FormEngine\Rules\Required(_('ERR_EMPTY_EMAIL')), new FormEngine\Rules\Email(_('ERR_WRONG_EMAIL')), new FormEngine\Rules\Unique(_('ERR_EMAIL_ALREADY_EXISTS'), 'userdata', 'email')))));
     $rightsData = $form->AddChild(new FormEngine\Elements\Fieldset(array('name' => 'rights_data', 'label' => _('TXT_RIGHTS'))));
     $isglobal = App::getModel('users')->checkActiveUserIsGlobal();
     if ($isglobal == 1) {
         $global = $rightsData->AddChild(new FormEngine\Elements\Checkbox(array('name' => 'global', 'label' => _('TXT_GLOBAL_USER'), 'default' => '1')));
         $rightsData->AddChild(new FormEngine\Elements\Select(array('name' => 'group', 'label' => _('TXT_GROUPS'), 'options' => FormEngine\Option::Make(App::getModel('groups/groups')->getGroupsAllToSelect()), 'rules' => array(new FormEngine\Rules\Required(_('ERR_EMPTY_GROUP'))), 'dependencies' => array(new FormEngine\Dependency(FormEngine\Dependency::HIDE, $global, new FormEngine\Conditions\Not(new FormEngine\Conditions\Equals('1')))))));
         $layers = App::getModel('users')->getLayersAll();
         foreach ($layers as $key => $store) {
             $storeRightsData[$store['id']] = $rightsData->AddChild(new FormEngine\Elements\Fieldset(array('name' => 'store_' . $store['id'], 'label' => _('TXT_RIGHTS') . ' dla ' . $store['name'], 'dependencies' => array(new FormEngine\Dependency(FormEngine\Dependency::SHOW, $global, new FormEngine\Conditions\Not(new FormEngine\Conditions\Equals('1')))))));
             foreach ($store['views'] as $v => $view) {
                 $storeRightsData[$store['id']]->AddChild(new FormEngine\Elements\Select(array('name' => 'view_' . $view['id'], 'label' => $view['name'], 'options' => FormEngine\Option::Make($this->registry->core->getDefaultValueToSelect() + App::getModel('groups/groups')->getGroupsAllToSelect()))));
             }
         }
     } else {
         $layers = App::getModel('users')->getLayersAll();
         foreach ($layers as $key => $store) {
             $storeRightsData[$store['id']] = $rightsData->AddChild(new FormEngine\Elements\Fieldset(array('name' => 'store_' . $store['id'], 'label' => _('TXT_RIGHTS') . ' dla ' . $store['name'])));
             foreach ($store['views'] as $v => $view) {
                 $storeRightsData[$store['id']]->AddChild(new FormEngine\Elements\Select(array('name' => 'view_' . $view['id'], 'label' => $view['name'], 'options' => FormEngine\Option::Make($this->registry->core->getDefaultValueToSelect() + App::getModel('groups/groups')->getGroupsAllToSelect($view['id'])))));
             }
         }
     }
     $additionalData = $form->AddChild(new FormEngine\Elements\Fieldset(array('name' => 'additional_data', 'label' => _('TXT_ADDITIONAL_DATA'))));
     $additionalData->AddChild(new FormEngine\Elements\Textarea(array('name' => 'description', 'label' => _('TXT_DESCRIPTION'), 'comment' => _('TXT_MAX_LENGTH') . ' 3000', 'max_length' => 3000)));
     $photosPane = $form->AddChild(new FormEngine\Elements\Fieldset(array('name' => 'photos_pane', 'label' => _('TXT_PHOTO'))));
     $photosPane->AddChild(new FormEngine\Elements\Image(array('name' => 'photo', 'label' => _('TXT_PHOTO'), 'repeat_min' => 0, 'repeat_max' => 1, 'upload_url' => App::getURLAdressWithAdminPane() . 'files/add')));
     $form->AddFilter(new FormEngine\Filters\NoCode());
     $form->AddFilter(new FormEngine\Filters\Trim());
     $form->AddFilter(new FormEngine\Filters\Secure());
     if ($form->Validate(FormEngine\FE::SubmittedData())) {
         $password = Core::passwordGenerate();
         $users = $form->getSubmitValues();
         $totalGroups = 0;
         if ((int) $users['rights_data']['global'] == 0) {
             foreach ($users['rights_data'] as $k => $v) {
                 if (substr($k, 0, 5) == 'store') {
                     foreach ($v as $viewid => $group) {
                         if ($group > 0) {
                             $totalGroups++;
                         }
                     }
                 }
             }
             if ($totalGroups == 0) {
                 Session::setVolatileMessage("Nie powiodło się dodanie użytkownika. Każdy użytkownik musi posiadać wybraną przynajmniej jedną grupę.");
                 App::redirect(__ADMINPANE__ . '/users/add');
             }
         }
         App::getModel('users')->addNewUser($users, $password);
         $this->registry->template->assign('password', $password);
         $this->registry->template->assign('users', $form->getSubmitValues(FormEngine\Elements\Form::FORMAT_FLAT));
         App::getModel('mailer')->sendEmail(array('template' => 'newPasswordForUser', 'email' => array($users['personal_data']['email']), 'bcc' => false, 'subject' => _('TXT_NEW_USER'), 'viewid' => Helper::getViewId()));
         if (FormEngine\FE::IsAction('next')) {
             App::redirect(__ADMINPANE__ . '/users/add');
         } else {
             App::redirect(__ADMINPANE__ . '/users');
         }
     }
     $this->registry->template->assign('form', $form->Render());
     $this->registry->xajax->processRequest();
     $this->registry->template->assign('xajax', $this->registry->xajax->getJavascript());
     $this->registry->template->display($this->loadTemplate('add.tpl'));
 }
Example #11
0
 public function edit()
 {
     $rawNewsletterData = $this->model->getNewsletterData($this->id);
     $populateData = array('required_data' => array('name' => $rawNewsletterData['name'], 'email' => $rawNewsletterData['email'], 'subject' => $rawNewsletterData['subject'], 'textform' => $rawNewsletterData['textform'], 'htmlform' => $rawNewsletterData['htmlform']), 'recipient_data' => array('recipient' => $rawNewsletterData['recipient']));
     $this->formModel->setPopulateData($populateData);
     $form = $this->formModel->initForm();
     if ($form->Validate(FormEngine\FE::SubmittedData())) {
         try {
             $this->model->updateNewsletter($form->getSubmitValues(FormEngine\Elements\Form::FORMAT_FLAT), $this->id);
             if (FormEngine\FE::IsAction('send')) {
                 $newsletter = $form->getSubmitValues(FormEngine\Elements\Form::FORMAT_FLAT);
                 if (is_array($newsletter['recipient'])) {
                     $clients = $newsletter['recipient'];
                     $clientModel = App::getModel('client');
                     $clientid = $clientModel->selectClient($clients);
                     $clientsData = $clientModel->selectClientsFromNewsletter($clientid);
                     $clientnewsletterid = $clientModel->selectClientNewsletter($clients);
                     $clientsNewsletterData = $clientModel->selectClientsNewsletterFromNewsletter($clientnewsletterid);
                     $clientgroupid = $clientModel->selectClientGroup($clients);
                     $clientsGroupData = $clientModel->selectClientsGroupFromNewsletter($clientgroupid);
                     $sum = array_values(array_unique(array_merge($clientsData, $clientsNewsletterData, $clientsGroupData)));
                     $qty = count($sum);
                     if (strlen($newsletter['htmlform']) == 0) {
                         $newsletter['htmlform'] = '&nbsp;';
                     }
                     $this->registry->template->assign('newsletter', $newsletter);
                     foreach ($sum as $email) {
                         App::getModel('mailer')->sendEmail(array('template' => 'newsletter', 'email' => array($email), 'bcc' => false, 'disableLayout' => true, 'subject' => $newsletter['subject'], 'viewid' => Helper::getViewId()));
                     }
                     Session::setVolatileMessage("Newsletter został wysłany do {$qty} klientów.");
                 } else {
                     Session::setVolatileMessage("Newsletter nie został wysłany - brak odbiorców newslettera.");
                 }
             }
         } catch (Exception $e) {
             $this->registry->template->assign('error', $e->getMessage());
         }
         App::redirect(__ADMINPANE__ . '/newsletter');
     }
     $this->renderLayout(array('form' => $form->Render()));
 }