Overview

Namespaces

  • Budovy
  • Kdyby
    • BootstrapFormRenderer
      • DI
      • Latte
  • Nette
    • Application
      • Diagnostics
      • Responses
      • Routers
      • UI
    • Caching
      • Storages
    • ComponentModel
    • Database
      • Diagnostics
      • Drivers
      • Reflection
      • Table
    • DI
      • Config
        • Adapters
      • Diagnostics
      • Extensions
    • Diagnostics
    • Forms
      • Controls
      • Rendering
    • Http
      • Diagnostics
    • Iterators
    • Latte
      • Macros
    • Loaders
    • Localization
    • Mail
    • PhpGenerator
    • Reflection
    • Security
      • Diagnostics
    • Templating
    • Utils
  • NetteModule
  • Nextras
    • Datagrid
  • None
  • PHP
  • Tester
    • CodeCoverage
    • Runner
      • Output
  • Vodacek
    • Forms
      • Controls
  • WebLoader
    • Filter
    • Nette

Classes

  • AuthorizeScheduledTaskFactory
  • AuthorizeScheduledTaskPresenter
  • BasePresenter
  • BreakdownFactory
  • BreakdownPresenter
  • BreakdownRepository
  • BreakdownStatisticFactory
  • BreakdownStatisticPresenter
  • ContactBindingFactory
  • ContactbindingPresenter
  • ContactBindingRepository
  • ContactFactory
  • ContactPresenter
  • ContactRepository
  • DocumentFactory
  • DocumentPresenter
  • DocumentRepository
  • DocumentsDatagrid
  • DocumenttypeFactory
  • DocumenttypePresenter
  • DocumenttypeRepository
  • DownloadPresenter
  • EmailPresenter
  • ErrorPresenter
  • HomepagePresenter
  • OperationFactory
  • OperationPresenter
  • OperationRepository
  • PeriodicTaskFactory
  • PeriodicTaskPresenter
  • PeriodicTaskRealizationFactory
  • PeriodicTaskRealizationPresenter
  • PeriodicTaskRealizationRepository
  • PeriodicTaskRepository
  • PeriodicTaskStatisticFactory
  • PeriodicTaskStatisticPresenter
  • PlaceFactory
  • PlacePresenter
  • PlaceRepository
  • PriorityFactory
  • PriorityPresenter
  • PriorityRepository
  • Repository
  • RoleRepository
  • RouterFactory
  • ScheduledTaskFactory
  • ScheduledTaskPresenter
  • ScheduledTaskRealizationFactory
  • ScheduledTaskRealizationPresenter
  • ScheduledTaskRealizationRepository
  • ScheduledTaskRepository
  • ScheduledTaskStatisticFactory
  • ScheduledTaskStatisticPresenter
  • SignPresenter
  • UnitFactory
  • UnitPresenter
  • UnitRepository
  • UserFactory
  • UserManager
  • UserPresenter
  • UserRepository
  • Overview
  • Namespace
  • Class
  • Tree
  1: <?php
  2: namespace Budovy;
  3: 
  4: use Nette\Object;
  5: use Nette\Utils\Paginator;
  6: use Nette\Utils\Html;
  7: use Nette\Application\UI;
  8: use Kdyby\BootstrapFormRenderer\BootstrapRenderer;
  9: 
 10: class PeriodicTaskFactory extends Object {
 11:     /**
 12:      * @var PeriodicTaskRepository
 13:      */
 14:     protected $periodicTaskRepository;
 15: 
 16:     /**
 17:      * @var UnitRepository
 18:      */
 19:     protected $unitRepository;
 20: 
 21:     /**
 22:      * @var OperationRepository
 23:      */
 24:     protected $operationRepository;
 25: 
 26:     /**
 27:      * @var ContactRepository
 28:      */
 29:     protected $contactRepository;
 30: 
 31:     /**
 32:      * @var PlaceRepository
 33:      */
 34:     protected $placeRepository;
 35: 
 36:     /**
 37:      * @var DocumenttypeRepository
 38:      */
 39:     protected $documenttypeRepository;
 40: 
 41:     /**
 42:      * @var PriorityRepository
 43:      */
 44:     protected $priorityRepository;
 45: 
 46:     function __construct(PeriodicTaskRepository $periodicTaskRepository, UnitRepository $unitRepository, OperationRepository $operationRepository, ContactRepository $contactRepository, PlaceRepository $placeRepository, DocumenttypeRepository $documenttypeRepository, PriorityRepository $priorityRepository) {
 47:         $this->periodicTaskRepository = $periodicTaskRepository;
 48:         $this->unitRepository = $unitRepository;
 49:         $this->operationRepository = $operationRepository;
 50:         $this->contactRepository = $contactRepository;
 51:         $this->placeRepository = $placeRepository;
 52:         $this->documenttypeRepository = $documenttypeRepository;
 53:         $this->priorityRepository = $priorityRepository;
 54:     }
 55: 
 56:     function createDataGrid() {
 57:         $grid = new \Nextras\Datagrid\Datagrid;
 58: 
 59:         $grid->addColumn('name', 'Název úkolu')->enableSort();
 60:         $grid->addColumn('period', 'Perioda');
 61:         $grid->addColumn('place', 'Umístění')->enableSort();
 62:         $grid->addColumn('unit', 'Jednotka')->enableSort();
 63:         $grid->addColumn('operation', 'Operace')->enableSort();
 64:         $grid->addColumn('contact', 'Kontakt')->enableSort();
 65:         $grid->addColumn('priority', 'Priorita')->enableSort();
 66:         $grid->addColumn('sendemail', 'Upozornit e-mailem');
 67: 
 68:         $grid->setRowPrimaryKey('id');
 69: 
 70:         $grid->setDatasourceCallback(function ($filter, $order, Paginator $paginator = null) {
 71:             return $this->periodicTaskRepository->getGridSelection($filter, $order, $paginator->page, $paginator->itemsPerPage);
 72:         });
 73: 
 74:         $grid->setFilterFormFactory(function () {
 75:             $form = new \Nette\Forms\Container;
 76: 
 77:             $form->addText('name');
 78:             $form->addSelect('period', 'Perioda', array('' => '') + $this->periodicTaskRepository->getPeriodNames());
 79:             $form->addSelect('unit', 'Jednotka', array('' => '') + $this->unitRepository->getPairData());
 80:             $form->addSelect('operation', 'Operace', array('' => '') + $this->operationRepository->getPairData());
 81:             $form->addSelect('place', 'Umístění', array('' => '') + $this->placeRepository->getPairData());
 82:             $form->addSelect('contact', 'Kontakt', array('' => '') + $this->contactRepository->getPairData());
 83:             $form->addSelect('priority', 'Priorita', array('' => '') + $this->priorityRepository->getPairData());
 84: 
 85:             $form->addSubmit('filter', 'Hledej');
 86:             $form->addSubmit('cancel', 'Zrušit');
 87: 
 88:             $pretyp = $form['filter']->getControlPrototype();
 89:             $pretyp->setName("button");
 90:             $pretyp->type = 'submit';
 91:             $pretyp->class = 'ico-btn';
 92:             $pretyp->create('i class="fa fa-search"');
 93: 
 94:             $pretyp = $form['cancel']->getControlPrototype();
 95:             $pretyp->setName("button");
 96:             $pretyp->type = 'submit';
 97:             $pretyp->class = 'ico-btn';
 98:             $pretyp->create('i class="fa fa-times-circle-o"');
 99: 
100:             return $form;
101:         });
102: 
103:         $grid->setPagination(20, function ($filter, $order) {
104:             return $this->periodicTaskRepository->getGridCount($filter);
105:         });
106: 
107:         $grid->addCellsTemplate(__DIR__ . '/../templates/PeriodicTask/grid.latte');
108: 
109:         return $grid;
110:     }
111: 
112:     function createEditForm($backlink) {
113:         $form = new UI\Form;
114: 
115:         $form->setRenderer(new BootstrapRenderer());
116: 
117:         $form->getElementPrototype()->class = 'form-horizontal';
118: 
119:         $base = $form->addContainer('base');
120: 
121:         $base->addText('name', 'Název:')
122:         ->setRequired('Zadejte prosím jméno')
123:         ->setAttribute('class', 'form-control');
124: 
125:         $base->addCheckbox('m1', 'Leden')
126:         ->setAttribute('class', 'form-control');
127:         $base->addCheckbox('m2', 'Únor')
128:         ->setAttribute('class', 'form-control');
129:         $base->addCheckbox('m3', 'Březen')
130:         ->setAttribute('class', 'form-control');
131:         $base->addCheckbox('m4', 'Duben')
132:         ->setAttribute('class', 'form-control');
133:         $base->addCheckbox('m5', 'Květen')
134:         ->setAttribute('class', 'form-control');
135:         $base->addCheckbox('m6', 'Červen')
136:         ->setAttribute('class', 'form-control');
137:         $base->addCheckbox('m7', 'Červenec')
138:         ->setAttribute('class', 'form-control');
139:         $base->addCheckbox('m8', 'Srpen')
140:         ->setAttribute('class', 'form-control');
141:         $base->addCheckbox('m9', 'Září')
142:         ->setAttribute('class', 'form-control');
143:         $base->addCheckbox('m10', 'Říjen')
144:         ->setAttribute('class', 'form-control');
145:         $base->addCheckbox('m11', 'Listopad')
146:         ->setAttribute('class', 'form-control');
147:         $base->addCheckbox('m12', 'Prosinec')
148:         ->setAttribute('class', 'form-control');
149: 
150:         $base->addSelect('period', 'Den', $this->periodicTaskRepository->getPeriodNames());
151: 
152:         $base->addSelect('id_priority', 'Priorita', $this->priorityRepository->getPairData());
153:         $base->addSelect('id_unit', 'Jednotka', $this->unitRepository->getPairData());
154:         $base->addSelect('id_operation', 'Operace', $this->operationRepository->getPairData());
155:         $base->addSelect('id_contact', 'Kontakt', array(0 => '') + $this->contactRepository->getPairData());
156: 
157:         $base->addCheckbox('sendemail')
158:         ->setAttribute('class', 'form-control');
159: 
160:         $base->addTextArea('description', 'Poznámka:')
161:         ->setAttribute('class', 'form-control');
162: 
163:         $form->addSubmit('saving', 'Uložit a zpět')
164:         ->setAttribute('class', 'btn btn-primary');
165: 
166:         $form->addSubmit('back')
167:         ->setAttribute('class', 'btn btn-inverse')
168:         ->getControlPrototype()
169:         ->setName('a')
170:         ->href($backlink)
171:         ->add(Html::el('i')->class('fa fa-reply'))
172:         ->add(Html::el('span', ' Zpět'));
173: 
174:         $document = $form->addContainer('document');
175: 
176:         $document->addSelect('id_documenttype', 'Typ', $this->documenttypeRepository->getPairData());
177:         $document->addUpload('files', 'Soubor', true);
178: 
179:         return $form;
180:     }
181: 
182:     function createRealizationForm($backlink) {
183:         $form = new UI\Form;
184: 
185:         $form->setRenderer(new BootstrapRenderer());
186: 
187:         $form->getElementPrototype()->class = 'form-horizontal';
188: 
189:         $base = $form->addContainer('base');
190: 
191:         $base->addHidden('id_periodictask');
192: 
193:         $base->addText('price', 'Cena opravy:')
194:         ->addRule(UI\Form::FLOAT, 'Cena musí být číslo')
195:         ->setAttribute('class', 'form-control');
196: 
197:         $base->addDate('date', 'Datum', \Vodacek\Forms\Controls\DateInput::TYPE_DATE)
198:         ->addRule(UI\Form::VALID)
199:         ->setAttribute('class', 'form-control');
200: 
201:         $base->addSelect('id_contact', 'Kontakt', array(0 => '') + $this->contactRepository->getPairData());
202: 
203:         $base->addTextArea('description', 'Popis:')
204:         ->setAttribute('class', 'form-control');
205: 
206:         $form->addSubmit('saving', 'Uložit a zpět')
207:         ->setAttribute('class', 'btn btn-primary');
208: 
209:         $form->addSubmit('back')
210:         ->setAttribute('class', 'btn btn-inverse')
211:         ->getControlPrototype()
212:         ->setName('a')
213:         ->href($backlink)
214:         ->add(Html::el('i')->class('fa fa-reply'))
215:         ->add(Html::el('span', ' Zpět'));
216: 
217:         $document = $form->addContainer('document');
218: 
219:         $document->addSelect('id_documenttype', 'Typ', $this->documenttypeRepository->getPairData());
220:         $document->addUpload('files', 'Soubor', true);
221: 
222:         return $form;
223:     }
224: }
API documentation generated by ApiGen 2.8.0