IS objednávky
  • Namespace
  • Class

Namespaces

  • Grido
    • Components
      • Columns
  • Objednavky
  • PLus
    • Orders
      • Factory
      • Repositories
        • Config
        • Documents
        • Entities
        • Lists
        • Messages
        • Order
        • Security
      • Routers

Classes

  • Grido\Components\Columns\Boolean
  • Grido\Components\Columns\BooleanExtension
  • Objednavky\AreaPresenter
  • Objednavky\BasePresenter
  • Objednavky\BranchPresenter
  • Objednavky\ConsultantPresenter
  • Objednavky\ConsultationPresenter
  • Objednavky\DepartmentPresenter
  • Objednavky\DimenzionPresenter
  • Objednavky\DirectorPresenter
  • Objednavky\DocumenttypePresenter
  • Objednavky\DownloadPresenter
  • Objednavky\EconomistPresenter
  • Objednavky\ErrorPresenter
  • Objednavky\ExpertPresenter
  • Objednavky\HomepagePresenter
  • Objednavky\InvestmentPresenter
  • Objednavky\ItemorderPresenter
  • Objednavky\JustifyPresenter
  • Objednavky\MailerPresenter
  • Objednavky\ManagerPresenter
  • Objednavky\NewsPresenter
  • Objednavky\OrderPresenter
  • Objednavky\RolePresenter
  • Objednavky\SignPresenter
  • Objednavky\TraderPresenter
  • Objednavky\UnitPresenter
  • Objednavky\UserPresenter
  • PLus\Orders\Factory\ConsultationFactory
  • PLus\Orders\Factory\DocumentFactory
  • PLus\Orders\Repositories\Config\CfgRepository
  • PLus\Orders\Repositories\Config\Mailer
  • PLus\Orders\Repositories\Config\Parameters
  • PLus\Orders\Repositories\Documents\DocumentRepository
  • PLus\Orders\Repositories\Entities\BranchRepository
  • PLus\Orders\Repositories\Entities\ChiefRepository
  • PLus\Orders\Repositories\Entities\DepartmentRepository
  • PLus\Orders\Repositories\Entities\ExpertRepository
  • PLus\Orders\Repositories\Entities\ManagerRepository
  • PLus\Orders\Repositories\Entities\TraderRepository
  • PLus\Orders\Repositories\Entities\UnitRepository
  • PLus\Orders\Repositories\Entities\UnituserRepository
  • PLus\Orders\Repositories\Entities\UserRepository
  • PLus\Orders\Repositories\Lists\AreaRepository
  • PLus\Orders\Repositories\Lists\DimenzionRepository
  • PLus\Orders\Repositories\Lists\DocumenttypeRepository
  • PLus\Orders\Repositories\Lists\EventRepository
  • PLus\Orders\Repositories\Lists\JustifyRepository
  • PLus\Orders\Repositories\Lists\OrdertypeRepository
  • PLus\Orders\Repositories\Messages\CommentRepository
  • PLus\Orders\Repositories\Messages\ConsultationRepository
  • PLus\Orders\Repositories\Messages\NewsRepository
  • PLus\Orders\Repositories\Messages\PostRepository
  • PLus\Orders\Repositories\Order\InvestmentchatRepository
  • PLus\Orders\Repositories\Order\InvestmentRepository
  • PLus\Orders\Repositories\Order\ItemareastateRepository
  • PLus\Orders\Repositories\Order\ItemorderRealizationRepository
  • PLus\Orders\Repositories\Order\ItemorderRepository
  • PLus\Orders\Repositories\Order\OrderRepository
  • PLus\Orders\Repositories\Order\RealizationRepository
  • PLus\Orders\Repositories\Order\TimelineRepository
  • PLus\Orders\Repositories\Repository
  • PLus\Orders\Repositories\Security\RoleRepository
  • PLus\Orders\Repositories\Security\UserManager
  • PLus\Orders\Routers\RouterFactory
  1 <?php
  2 
  3 namespace Objednavky;
  4 
  5 use Nette\Application\UI;
  6 use Nette\Utils\Html;
  7 use Nette\Database\Table\Selection;
  8 use Kdyby\BootstrapFormRenderer\BootstrapRenderer;
  9 use PLus\Orders\Repositories;
 10 use PLus\Orders\Factory;
 11 
 12 /**
 13  * Description of EconomistPresenter
 14  *
 15  * @author Petr
 16  */
 17 class EconomistPresenter extends BasePresenter {
 18     
 19     /** @var Repositories\Order\OrderRepository @inject */
 20     public $orderRepository;
 21     
 22     /** @var Repositories\Lists\OrdertypeRepository @inject */
 23     public $ordertypeRepository;
 24     
 25     /** @var Repositories\Order\RealizationRepository @inject */
 26     public $realizationRepository;
 27     
 28     /** @var Repositories\Order\TimelineRepository @inject */
 29     public $timelineRepository;
 30     
 31     /** @var Repositories\Order\ItemorderRepository @inject */
 32     public $itemorderRepository;
 33     
 34     /** @var Repositories\Entities\UnituserRepository @inject */
 35     public $unituserRepository;
 36 
 37     /** @var Repositories\Entities\UnitRepository @inject */
 38     public $unitRepository;
 39 
 40     /** @var Factory\DocumentFactory @inject */
 41     public $documentFactory;
 42     
 43     /** @var Repositories\Lists\DocumenttypeRepository @inject */
 44     public $documenttypeRepository;
 45     
 46     /** @var Repositories\Documents\DocumentRepository @inject */
 47     public $documentRepository;
 48     
 49     /** @var Repositories\Entities\ChiefRepository @inject */
 50     public $chiefRepository;
 51     
 52     /** @var Repositories\Entities\TraderRepository @inject */
 53     public $traderRepository;
 54 
 55     /** @var Repositories\Entities\ManagerRepository @inject */
 56     public $managerRepository;
 57     
 58     /** @var Repositories\Config\CfgRepository @inject */
 59     public $cfgRepository; 
 60     
 61     /** @var Repositories\Config\Parameters @inject */
 62     public $parameters;    
 63         
 64     /** @var Repositories\Config\Mailer @inject */
 65     public $mailerCfg;
 66     
 67     
 68     
 69     
 70     /* Datagrid schvalenych objednavek */  
 71     public function createComponentEconomistApprovedGrid($name) {
 72     
 73     $user = $this->getUser();
 74     
 75     $grid = new \Grido\Grid($this, $name);
 76     $grid->setmodel($this->orderRepository->getGridSelectionEconomistApproved());
 77     
 78     $grid->translator->lang = 'cs';
 79     $grid->setDefaultSort(array('id' => 'DESC'));
 80     $grid->defaultPerPage = 15;
 81     $grid->filterRenderType = \Grido\Components\Filters\Filter::RENDER_OUTER;
 82     $grid->setRememberState(FALSE);
 83     
 84     
 85     $grid->addColumnText('id', 'ID')
 86         ->setSortable()
 87         ->setFilterText()
 88         ->setWhere(function ($value, $connection) { $connection->where("order.id ?", $value);});
 89     $grid->getColumn('id')->cellPrototype->class[] = 'center';
 90     $grid->getColumn('id')->headerPrototype->style['width'] = '3%';
 91             
 92     $grid->addColumnText('name', 'Předmět')
 93         ->setSortable()
 94         ->setColumn('name')
 95         ->setFilterText()
 96         ->setColumn('name')
 97         ->setWhere(function ($value, $connection){ $connection->where("order.name LIKE ?", "%$value%");})
 98         ->setSuggestion();
 99     $grid->getColumn('name')->headerPrototype->style['width'] = '15%';
100     
101     $grid->addColumnDate('created', 'Vytvořeno')
102             ->setSortable()
103         ->setDateFormat(\Grido\Components\Columns\Date::FORMAT_DATE)
104             ->setFilterDate();
105         $grid->getColumn('created')->cellPrototype->class[] = 'center';
106     
107     $grid->addColumnText('ns', 'NS')
108         ->setSortable()
109         ->setColumn('ns')
110         ->setFilterText()
111         ->setColumn('ns')
112         ->setWhere(function ($value, $connection){ $connection->where("user:unit_user.unit.ns LIKE ?", "%$value%");})
113         ->setSuggestion();
114     $grid->getColumn('ns')->headerPrototype->style['width'] = '4%';
115     
116     $grid->addColumnText('uname', 'Název')
117         ->setSortable()
118         ->setColumn('uname')
119         ->setFilterText()
120         ->setColumn('uname')
121         ->setWhere(function ($value, $connection){ $connection->where("user:unit_user.unit.name LIKE ?", "%$value%");})
122         ->setSuggestion();
123     $grid->getColumn('uname')->headerPrototype->style['width'] = '13%';
124     
125     $grid->addColumnText('tname', 'Typ')
126         ->setSortable()
127         ->setColumn('tname');
128     $grid->getColumn('tname')->headerPrototype->style['width'] = '5%';
129     $grid->addFilterSelect('tname', 'Typ', array('' => '') + $this->ordertypeRepository->getFilterData())
130         ->setWhere(function ($value, $connection){ $connection->where("ordertype.name LIKE ?", "%$value%");});
131     
132 //  $grid->addColumnText('rname', 'Realizace')
133 //      ->setSortable()
134 //      ->setColumn('rname');
135 //  $grid->getColumn('rname')->headerPrototype->style['width'] = '15%';
136     $grid->addFilterSelect('rname', 'Realizace', array('' => '') + $this->realizationRepository->getFilterData())
137         ->setWhere(function ($value, $connection){ $connection->where("realization.name LIKE ?", "%$value%");});
138 
139         
140         
141     $columnr = new \Grido\Components\Columns\Boolean($grid, 'realizedflag', 'Realizováno');
142         $columnr->setSortable()->headerPrototype->style['width'] ='4%';
143         $grid->getColumn('realizedflag')->headerPrototype->class[] = 'center';  
144     $grid->addFilterCheck('realized', 'Jen realizované objednávky')
145         ->setWhere(function($value, $connection) {$value ? $connection->where('order.realizedflag ?' , '2'): NULL;});
146     
147     $grid->addActionHref('view', 'Zobrazit')
148         ->setIcon('fa fa-eye fa-fw');
149     }
150     
151     
152     
153     public function renderView($id){
154     
155     $item = $this->orderRepository->findById($id);
156 
157     if ($item === false) {
158         $this->flashMessage('Objednávka č. '. $id .' nebyla dohledána.', 'error');
159         $this->redirect('Homepage:default');
160     }   
161     
162     //potrebuji u ekonoma vratit jen ty objednavky, ktere jsou schvaleny a nebo jiz zarazeny k realizaci
163     $orderbyid = $this->orderRepository->findOrderForEconom($id);
164     if($orderbyid === false){
165         $this->flashMessage('Nemáte právo přístupu k objednávce č. '.$id, 'error');
166         $this->redirect('Economist:approved');
167     } 
168     else {
169         $this->template->orderdetail = $orderbyid;
170     }
171 
172     
173     $this->template->timelineevents = $this->timelineRepository->getTimelineRecords($id); 
174     
175     $this->template->documentRepository = $this->documentRepository;
176     $this->template->documents = $this->orderRepository->getAssignedDocuments($item->id);
177     
178     $this->template->itemsorder = $this->itemorderRepository->getItemsOrder($id);
179     
180     //vracene posudky
181     $this->template->chiefresults = $this->chiefRepository->getChiefResults($item->id);
182     $this->template->traderresults = $this->traderRepository->getTraderResults($item->id);
183     $this->template->managerresults = $this->managerRepository->getManagerResults($item->id);
184     
185     $this->template->maxsizedoc = $this->parameters->formatBytes($this->parameters->getMaxSizeUpload());
186     
187     //konfiguracni data timeline
188     $this->template->icons = $this->cfgRepository->getTimelineIcons();
189     $this->template->colors = $this->cfgRepository->getTimelineColors();
190     $this->template->inverted = $this->cfgRepository->getTimelineInverted();
191     
192     //ulozeni nazvu presenteru pro navrat z Itemorder/View
193     $mySection = $this->getSession()->getSection('history');
194     $mySection->beforePresenter = 'Economist';
195     $mySection->setExpiration(0);
196     
197     }
198     
199     /**
200      * 
201      * @return \Nette\Application\UI\Form
202      * komponenta pro pridani dokumentu k objednavce
203      */
204     public function createComponentAddDocument() {
205     
206     try {
207         $iduser = $this->getUser()->getId();
208         $idorder = $this->getParameter('id');
209         
210         $form = $this->documentFactory->createAddDocument($idorder,$iduser);
211         $this->flashMessage('Soubor byl uložen.', 'success');
212         
213         return $form;
214         
215     } catch (\PDOException $e) {
216         $this->flashMessage("Soubor se nepodařilo uložit!", "error");
217     }
218 
219     }
220 
221     /**
222      * 
223      * @return \Nette\Application\UI\Form
224      * komponenta pro vykresleni formulare k pojmenovani ulozeneho dokumentu 
225      */
226     public function createComponentUpdateNameDocument(){
227     
228     try {
229         $form = $this->documentFactory->createUpdateNameDocument();
230         $this->flashMessage('Dokument byl úspěšně pojmenován.', 'success');
231         
232         return $form; 
233     
234     } catch (\PDOException $e) {
235         $this->flashMessage('Chyba při uložení do DB.', 'error');
236     }
237     }
238 }
239 
IS objednávky API documentation generated by ApiGen