Projekt

Obecné

Profil

« Předchozí | Další » 

Revize f7184136

Přidáno uživatelem Jan Šedivý před asi 6 roky(ů)

Re #7328 inputy formuláře pro pokročilé filtry

Zobrazit rozdíly:

app/FrontModule/component/Transliteration/TransliterationSearchForm.latte
23 23
        {input exact_match}
24 24
        <hr>
25 25

  
26
        {*<div class="search-options">*}
27
            {*<div class="form-group row">*}
28
                {*<label for="book" class="col-sm-2 col-form-label">Book</label>*}
29
                {*<div class="col-sm-3">*}
30
                    {*<div class="input-group">*}
31

  
32
                        {*<select name="book-op" class="form-control">*}
33
                            {*<option value="equals">*}
34
                                {*equals*}
35
                            {*</option>*}
36
                            {*<option value="not equals">*}
37
                                {*not equals*}
38
                            {*</option>*}
39
                            {*<option value="contains" selected="selected">*}
40
                                {*contains*}
41
                            {*</option>*}
42
                            {*<option value="begins with">*}
43
                                {*begins with*}
44
                            {*</option>*}
45
                            {*<option value="ends with">*}
46
                                {*ends with*}
47
                            {*</option>*}
48
                        {*</select>*}
49
                        {*<input type="text" id="book" name="book" class="form-control">*}
50
                    {*</div>*}
51
                {*</div>*}
52
            {*</div>*}
53
            {*<div class="form-group row">*}
54
                {*<label for="museum-no" class="col-sm-2 col-form-label">Museum number</label>*}
55
                {*<div class="col-sm-3">*}
56
                    {*<div class="input-group">*}
57

  
58
                        {*<select name="museum-no-op" class="form-control">*}
59
                            {*<option value="equals">*}
60
                                {*equals*}
61
                            {*</option>*}
62
                            {*<option value="not equals">*}
63
                                {*not equals*}
64
                            {*</option>*}
65
                            {*<option value="contains" selected="selected">*}
66
                                {*contains*}
67
                            {*</option>*}
68
                            {*<option value="begins with">*}
69
                                {*begins with*}
70
                            {*</option>*}
71
                            {*<option value="ends with">*}
72
                                {*ends with*}
73
                            {*</option>*}
74
                        {*</select>*}
75
                        {*<input type="text" name="museum-no" id="museum-no" class="form-control">*}
76
                    {*</div>*}
77
                {*</div>*}
78
            {*</div>*}
79
            {*<div class="form-group row">*}
80
                {*<label for="id_book_type" class="col-sm-2 col-form-label">Type</label>*}
81
                {*<div class="col-sm-3">*}
82
                    {*<div class="input-group">*}
83

  
84
                        {*<select name="book-type-op" class="form-control">*}
85
                            {*<option value="is">*}
86
                                {*is*}
87
                            {*</option>*}
88
                            {*<option value="is not">*}
89
                                {*is not*}
90
                            {*</option>*}
91
                        {*</select>*}
92
                        {*<select name="id_book_type" id="id_book_type" class="form-control">*}
93

  
94
                            {*<option value="0" label="- NOT SELECTED -">*}
95
                                {*- NOT SELECTED -*}
96
                            {*</option>*}
97
                            {*<option value="1" label="letter">*}
98
                                {*letter*}
99
                            {*</option>*}
100
                            {*<option value="2" label="document">*}
101
                                {*document*}
102
                            {*</option>*}
103
                            {*<option value="3" label="epic">*}
104
                                {*epic*}
105
                            {*</option>*}
106
                            {*<option value="4" label="hymn">*}
107
                                {*hymn*}
108
                            {*</option>*}
109
                            {*<option value="5" label="incantation">*}
110
                                {*incantation*}
111
                            {*</option>*}
112
                            {*<option value="6" label="legal text">*}
113
                                {*legal text*}
114
                            {*</option>*}
115
                            {*<option value="8" label="mathematics">*}
116
                                {*mathematics*}
117
                            {*</option>*}
118
                            {*<option value="9" label="omina">*}
119
                                {*omina*}
120
                            {*</option>*}
121
                            {*<option value="10" label="other">*}
122
                                {*other*}
123
                            {*</option>*}
124
                            {*<option value="11" label="royal inscription">*}
125
                                {*royal inscription*}
126
                            {*</option>*}
127
                            {*<option value="13" label="school text">*}
128
                                {*school text*}
129
                            {*</option>*}
130

  
131
                        {*</select>*}
132
                    {*</div>*}
133
                {*</div>*}
134
            {*</div>*}
135
            {*<div class="form-group row">*}
136
                {*<label for="id_origin" class="col-sm-2 col-form-label">Origin</label>*}
137
                {*<div class="col-sm-3">*}
138
                    {*<div class="input-group">*}
139

  
140
                        {*<select name="origin-op" class="form-control">*}
141
                            {*<option value="is">*}
142
                                {*is*}
143
                            {*</option>*}
144
                            {*<option value="is not">*}
145
                                {*is not*}
146
                            {*</option>*}
147
                        {*</select>*}
148
                        {*<select name="id_origin" id="id_origin" class="form-control">*}
149

  
150
                            {*<option value="0" label="- NOT SELECTED -">*}
151
                                {*/ - NOT SELECTED -*}
152
                            {*</option>*}
153
                            {*<option value="9" label="Tell Ḫarīrī">*}
154
                                {*Mari / Tell Ḫarīrī*}
155
                            {*</option>*}
156
                            {*<option value="10" label="Išān Baḫriyāt">*}
157
                                {*Isin / Išān Baḫriyāt*}
158
                            {*</option>*}
159
                            {*<option value="11" label="Nuffar">*}
160
                                {*Nippur / Nuffar*}
161
                            {*</option>*}
162
                            {*<option value="1" label="Babylon">*}
163
                                {*Bābili / Babylon*}
164
                            {*</option>*}
165
                            {*<option value="2" label="Tell Inġarra, Tell al-Uḫaimir">*}
166
                                {*Kiš / Tell Inġarra, Tell al-Uḫaimir*}
167
                            {*</option>*}
168
                            {*<option value="3" label="Abū Ḫaṭab">*}
169
                                {*Kisurra / Abū Ḫaṭab*}
170
                            {*</option>*}
171
                            {*<option value="4" label="unknown">*}
172
                                {*Lagaba / unknown*}
173
                            {*</option>*}
174
                            {*<option value="5" label="as-Sankara">*}
175
                                {*Larsa / as-Sankara*}
176
                            {*</option>*}
177
                            {*<option value="6" label="Tell Harmal">*}
178
                                {*Šaduppûm / Tell Harmal*}
179
                            {*</option>*}
180
                            {*<option value="12" label="Tell Asmar">*}
181
                                {*Ešnunna / Tell Asmar*}
182
                            {*</option>*}
183
                            {*<option value="13" label="Tell al-Muqaiyar">*}
184
                                {*Ur / Tell al-Muqaiyar*}
185
                            {*</option>*}
186
                            {*<option value="14" label="Tulūl al-Ḫumr">*}
187
                                {*- / Tulūl al-Ḫumr*}
188
                            {*</option>*}
189
                            {*<option value="15" label="Tell Abū Duwari">*}
190
                                {*Maškan-šāpir / Tell Abū Duwari*}
191
                            {*</option>*}
192
                            {*<option value="16" label="Khafajah">*}
193
                                {*/ Khafajah*}
194
                            {*</option>*}
195
                            {*<option value="17" label="Borsippa, Birs Nimrūd">*}
196
                                {*Barsip / Borsippa, Birs Nimrūd*}
197
                            {*</option>*}
198
                            {*<option value="18" label="Tell Abū Ḫabba">*}
199
                                {*Sippar / Tell Abū Ḫabba*}
200
                            {*</option>*}
201
                            {*<option value="19" label="Tell Muḫammad">*}
202
                                {*Diniktum? / Tell Muḫammad*}
203
                            {*</option>*}
204
                            {*<option value="21" label="Khafajah">*}
205
                                {*Dūr-Samsu-iluna / Khafajah*}
206
                            {*</option>*}
207
                            {*<option value="22" label="">*}
208
                                {*unknown /*}
209
                            {*</option>*}
210
                            {*<option value="24" label="Sūsa">*}
211
                                {*Šūšan / Sūsa*}
212
                            {*</option>*}
213
                            {*<option value="23" label="Warka">*}
214
                                {*Uruk / Warka*}
215
                            {*</option>*}
216
                            {*<option value="25" label="Ishchali">*}
217
                                {*Nērebtum? / Ishchali*}
218
                            {*</option>*}
219
                            {*<option value="26" label="Cytheria (island)">*}
220
                                {*/ Cytheria (island)*}
221
                            {*</option>*}
222
                            {*<option value="27" label="Cyprus">*}
223
                                {*Iadnāna / Cyprus*}
224
                            {*</option>*}
225
                            {*<option value="29" label="Qalʾat Šarqāṭ">*}
226
                                {*Aššur / Qalʾat Šarqāṭ*}
227
                            {*</option>*}
228
                            {*<option value="28" label="Tell Ḫaddād">*}
229
                                {*Mê-Turran / Tell Ḫaddād*}
230
                            {*</option>*}
231
                            {*<option value="30" label="Tell Leilān">*}
232
                                {*Šubat-Enlil / Tell Leilān*}
233
                            {*</option>*}
234
                            {*<option value="31" label="Acem Höyük">*}
235
                                {*? / Acem Höyük*}
236
                            {*</option>*}
237
                            {*<option value="32" label="Tell al-ʾAšāra">*}
238
                                {*Terqa / Tell al-ʾAšāra*}
239
                            {*</option>*}
240
                            {*<option value="33" label="Išān Dhaḫāk">*}
241
                                {*/ Išān Dhaḫāk*}
242
                            {*</option>*}
243
                            {*<option value="34" label="Tell ad-Dibāʾī">*}
244
                                {*Zaralulu / Tell ad-Dibāʾī*}
245
                            {*</option>*}
246
                            {*<option value="35" label="Tell al-Suleimaḫ">*}
247
                                {*Batir? / Tell al-Suleimaḫ*}
248
                            {*</option>*}
249
                            {*<option value="36" label="Bardi Sanjian in Bītwāta">*}
250
                                {*/ Bardi Sanjian in Bītwāta*}
251
                            {*</option>*}
252
                            {*<option value="37" label="near Tūz Ḫurmati">*}
253
                                {*Ḫuršītum? / near Tūz Ḫurmati*}
254
                            {*</option>*}
255
                            {*<option value="38" label="Tell Šamšāra">*}
256
                                {*Šušarrā / Tell Šamšāra*}
257
                            {*</option>*}
258
                            {*<option value="39" label="Dura-Europos">*}
259
                                {*Damara / Dura-Europos*}
260
                            {*</option>*}
261
                            {*<option value="20" label="Tell ar-Rimāḫ">*}
262
                                {*Qaṭṭarā / Tell ar-Rimāḫ*}
263
                            {*</option>*}
264
                            {*<option value="40" label="Tell Açana">*}
265
                                {*Alalaḫ / Tell Açana*}
266
                            {*</option>*}
267
                            {*<option value="7" label="Rās aš-Šamra">*}
268
                                {*Ugarit / Rās aš-Šamra*}
269
                            {*</option>*}
270
                            {*<option value="41" label="Tell Mardiḫ">*}
271
                                {*Ebla / Tell Mardiḫ*}
272
                            {*</option>*}
273
                            {*<option value="42" label="Hillah (near Babylon)">*}
274
                                {*/ Hillah (near Babylon)*}
275
                            {*</option>*}
276
                            {*<option value="43" label="Bismāya">*}
277
                                {*Adab / Bismāya*}
278
                            {*</option>*}
279
                            {*<option value="44" label="al-Hibā">*}
280
                                {*Lagaš / al-Hibā*}
281
                            {*</option>*}
282
                            {*<option value="45" label="Tell ed-Dēr">*}
283
                                {*Sippar-Iaḫrūrum / Tell ed-Dēr*}
284
                            {*</option>*}
285
                            {*<option value="46" label="Tell Dulaiḫim or Tell Muḫaṭṭaṭ">*}
286
                                {*Dilbat / Tell Dulaiḫim or Tell Muḫaṭṭaṭ*}
287
                            {*</option>*}
288

  
289
                        {*</select>*}
290
                    {*</div>*}
291
                {*</div>*}
292
            {*</div>*}
293
            {*<div class="form-group row">*}
294
                {*<label for="reg_no" class="col-sm-2 col-form-label">Registration / Ex. number</label>*}
295
                {*<div class="col-sm-3">*}
296
                    {*<div class="input-group">*}
297

  
298
                        {*<select name="reg_no-op" class="form-control">*}
299
                            {*<option value="equals">*}
300
                                {*equals*}
301
                            {*</option>*}
302
                            {*<option value="not equals">*}
303
                                {*not equals*}
304
                            {*</option>*}
305
                            {*<option value="contains" selected="selected">*}
306
                                {*contains*}
307
                            {*</option>*}
308
                            {*<option value="begins with">*}
309
                                {*begins with*}
310
                            {*</option>*}
311
                            {*<option value="ends with">*}
312
                                {*ends with*}
313
                            {*</option>*}
314
                        {*</select>*}
315
                        {*<input type="text" id="reg_no" name="reg_no" class="form-control">*}
316
                    {*</div>*}
317
                {*</div>*}
318
            {*</div>*}
319
            {*<div class="form-group row">*}
320
                {*<label for="date" class="col-sm-2 col-form-label">Date</label>*}
321
                {*<div class="col-sm-3">*}
322
                    {*<div class="input-group">*}
323

  
324
                        {*<select name="date-op" class="form-control">*}
325
                            {*<option value="equals">*}
326
                                {*equals*}
327
                            {*</option>*}
328
                            {*<option value="not equals">*}
329
                                {*not equals*}
330
                            {*</option>*}
331
                            {*<option value="contains" selected="selected">*}
332
                                {*contains*}
333
                            {*</option>*}
334
                            {*<option value="begins with">*}
335
                                {*begins with*}
336
                            {*</option>*}
337
                            {*<option value="ends with">*}
338
                                {*ends with*}
339
                            {*</option>*}
340
                        {*</select>*}
341
                        {*<input type="text" id="date" name="date" class="form-control">*}
342
                    {*</div>*}
343
                {*</div>*}
344
            {*</div>*}
345
        {*</div>*}
346
        {*<hr>*}
347

  
348
        {*<label for="line-count">Representation of search result:</label>*}
349
        {*<div class="form-inline">*}
350
            {*<div class="form-group">*}
351
                {*<small class="text-muted">*}
352
                    {*Print*}
353
                {*</small>*}
354
                {*<select name="line-count" id="line-count" class="form-control form-control-sm mx-sm-3">*}
355
                    {*<option value="0" selected="selected">0</option>*}
356
                    {*<option value="1">1</option>*}
357
                    {*<option value="2">2</option>*}
358
                    {*<option value="3">3</option>*}
359
                    {*<option value="5">5</option>*}
360
                    {*<option value="10">10</option>*}
361
                    {*<option value="15">15</option>*}
362
                {*</select>*}
363
                {*<small id="passwordHelpInline" class="text-muted">*}
364
                    {*lines before and after found line.*}
365
                {*</small>*}
366
            {*</div>*}
367
        {*</div>*}
368
        {*<div class="form-inline">*}
369
            {*<div class="form-group">*}
370
                {*<small class="text-muted">*}
371
                    {*Show*}
372
                {*</small>*}
373
                {*<select name="r_limit" class="form-control form-control-sm mx-sm-3">*}
374
                    {*<option value="1">1</option>*}
375
                    {*<option value="2">2</option>*}
376
                    {*<option value="3">3</option>*}
377
                    {*<option value="5" selected="selected">5</option>*}
378
                    {*<option value="10">10</option>*}
379
                    {*<option value="15">15</option>*}
380
                    {*<option value="30">30</option>*}
381
                {*</select>*}
382
                {*<small class="text-muted">*}
383
                    {*found transliteration per site.*}
384
                {*</small>*}
385
            {*</div>*}
386
        {*</div>*}
26
        <div class="search-options">
27
            <div class="form-group row">
28
                {label book class => 'col-sm-2 col-form-label'}
29
                <div class="col-sm-3">
30
                    <div class="input-group">
31
                        {input book_condition}
32
                        {input book}
33
                    </div>
34
                </div>
35
            </div>
36
            <div class="form-group row">
37
                {label museum class => 'col-sm-2 col-form-label'}
38
                <div class="col-sm-3">
39
                    <div class="input-group">
40
                        {input museum_condition}
41
                        {input museum}
42
                    </div>
43
                </div>
44
            </div>
45
            <div class="form-group row">
46
                {label type class => 'col-sm-2 col-form-label'}
47
                <div class="col-sm-3">
48
                    <div class="input-group">
49
                        {input type_condition}
50
                        {input type}
51
                    </div>
52
                </div>
53
            </div>
54
            <div class="form-group row">
55
                {label origin class => 'col-sm-2 col-form-label'}
56
                <div class="col-sm-3">
57
                    <div class="input-group">
58
                        {input origin_condition}
59
                        {input origin}
60
                    </div>
61
                </div>
62
            </div>
63
            <div class="form-group row">
64
                {label registration class => 'col-sm-2 col-form-label'}
65
                <div class="col-sm-3">
66
                    <div class="input-group">
67
                        {input registration_condition}
68
                        {input registration}
69
                    </div>
70
                </div>
71
            </div>
72
            <div class="form-group row">
73
                {label date class => 'col-sm-2 col-form-label'}
74
                <div class="col-sm-3">
75
                    <div class="input-group">
76
                        {input date_condition}
77
                        {input date}
78
                    </div>
79
                </div>
80
            </div>
81
        </div>
387 82
    </div>
388 83
    <div class="form-group row">
389 84
        <div class="col-sm-10">
app/FrontModule/component/Transliteration/TransliterationSearchForm.php
2 2

  
3 3
namespace App\FrontModule\Components;
4 4

  
5
use App\Enum\ELogicalConditions;
5
use App\Enum\ESearchFormOperators;
6
use App\Model\Repository\BookTypeRepository;
7
use App\Model\Repository\OriginRepository;
6 8
use App\Model\TransliterationSearchModel;
9
use App\Utils\Form;
7 10
use Nette\Application\UI\Control;
8
use Nette\Application\UI\Form;
9 11
use Nette\Utils\ArrayHash;
10 12

  
11 13
class TransliterationSearchForm extends Control
......
13 15
    /** @var TransliterationSearchModel */
14 16
    private $transliterationSearchModel;
15 17

  
18
    /** @var BookTypeRepository */
19
    private $bookTypeRepository;
20

  
21
    /** @var OriginRepository */
22
    private $originRepository;
23

  
16 24
    /**
17 25
     * TransliterationSearchForm constructor.
18 26
     * @param TransliterationSearchModel $transliterationSearchModel
19 27
     */
20
    public function __construct(TransliterationSearchModel $transliterationSearchModel)
28
    public function __construct(
29
        TransliterationSearchModel $transliterationSearchModel,
30
        BookTypeRepository $bookTypeRepository,
31
        OriginRepository $originRepository
32
    )
21 33
    {
22 34
        parent::__construct();
23 35
        $this->transliterationSearchModel = $transliterationSearchModel;
36
        $this->bookTypeRepository = $bookTypeRepository;
37
        $this->originRepository = $originRepository;
24 38
    }
25 39

  
26 40

  
......
35 49
        $form = new Form();
36 50

  
37 51
        $form->addText('word1', 'Word 1')
38
            ->setRequired(true, 'Field Word 1 is required');
52
            ->addRule(Form::REQUIRED, 'Field %label is required.');
39 53
        $form->addText('word2', 'Word 2');
40
        $form->addSelect('word2_condition', '', ELogicalConditions::$selectValues);
54
        $form->addSelect('word2_condition', '', ESearchFormOperators::$wordSelectLabels);
41 55
        $form->addText('word3', 'Word 3');
42
        $form->addSelect('word3_condition', '', ELogicalConditions::$selectValues);
56
        $form->addSelect('word3_condition', '', ESearchFormOperators::$wordSelectLabels);
43 57

  
44 58
        $form->addCheckbox('exact_match', ' Exact Match');
45 59

  
60
        $form->addSelect('book_condition', '', ESearchFormOperators::$selectLikeOperatorLabels)
61
            ->setDefaultValue(ESearchFormOperators::CONTAINS);
62
        $form->addText('book', 'Book');
63
        $form->addSelect('museum_condition', '', ESearchFormOperators::$selectLikeOperatorLabels)
64
            ->setDefaultValue(ESearchFormOperators::CONTAINS);
65
        $form->addText('museum', 'Museum number');
66

  
67
        $form->addSelect('type_condition', '', ESearchFormOperators::$selectEqualsOperatorLabels)
68
            ->setDefaultValue(ESearchFormOperators::IS);
69
        $form->addSelect('type', 'Type', $this->bookTypeRepository->getTypesForSelect());
70
//            ->setDefaultValue(ESearchFormOperators::IS);
71
        $form->addSelect('origin_condition', '', ESearchFormOperators::$selectEqualsOperatorLabels)
72
            ->setDefaultValue(ESearchFormOperators::IS);
73
        $form->addSelect('origin', 'Origin', $this->originRepository->getOriginsForSelect());
74

  
75

  
76
        $form->addSelect('registration_condition', '', ESearchFormOperators::$selectLikeOperatorLabels)
77
            ->setDefaultValue(ESearchFormOperators::CONTAINS);
78
        $form->addText('registration', 'Registration / Ex. number');
79
        $form->addSelect('date_condition', '', ESearchFormOperators::$selectLikeOperatorLabels)
80
            ->setDefaultValue(ESearchFormOperators::CONTAINS);
81
        $form->addText('date', 'Date');
82

  
46 83
        $form->addSubmit('submit', 'Search');
47 84
        $form->onSuccess[] = [$this, 'formSuccess'];
48 85

  
app/enum/ELogicalConditions.php
1
<?php
2

  
3
namespace App\Enum;
4

  
5

  
6
class ELogicalConditions
7
{
8
    const NOT_USED = '';
9
    const AND = 'and';
10
    const OR = 'or';
11
    const AND_NOT = 'and_not';
12

  
13
    public static $selectValues = [
14
        self::NOT_USED => '- NOT USED -',
15
        self::AND => 'AND',
16
        self::OR => 'OR',
17
        self::AND_NOT => 'AND NOT'
18
    ];
19

  
20
    public static $whereCondition = [
21
        self::AND => 'AND',
22
        self::OR => 'OR',
23
        self::AND_NOT => 'AND NOT'
24
    ];
25
}
app/enum/ESearchFormOperators.php
1
<?php
2

  
3
namespace App\Enum;
4

  
5

  
6
class ESearchFormOperators
7
{
8
    const NOT_USED = '';
9
    const AND = 'and';
10
    const OR = 'or';
11
    const AND_NOT = 'and_not';
12

  
13
    const EQUALS = 'eq';
14
    const NOT_EQUALS = 'neq';
15
    const CONTAINS = 'con';
16
    const BEGINS_WITH = 'bw';
17
    const ENDS_WITH = 'ew';
18

  
19
    const IS = 'is';
20
    const IS_NOT = 'is_not';
21

  
22

  
23
    public static $wordSelectLabels = [
24
        self::NOT_USED => '- NOT USED -',
25
        self::AND => 'AND',
26
        self::OR => 'OR',
27
        self::AND_NOT => 'AND NOT'
28
    ];
29

  
30
    public static $wordWhereCondition = [
31
        self::AND => 'AND',
32
        self::OR => 'OR',
33
        self::AND_NOT => 'AND NOT'
34
    ];
35

  
36

  
37
    public static $selectLikeOperatorLabels = [
38
        self::EQUALS => 'Equals',
39
        self::NOT_EQUALS => 'Not equals',
40
        self::CONTAINS => 'Contains',
41
        self::BEGINS_WITH => 'Begins with',
42
        self::ENDS_WITH => 'Ends with'
43
    ];
44

  
45
    public static $selectLikeOperatorQueryCondition = [
46
        self::EQUALS => ' = ? ',
47
        self::NOT_EQUALS => ' <> ? ',
48
        self::CONTAINS => ' LIKE ? ',
49
        self::BEGINS_WITH => ' LIKE ? ',
50
        self::ENDS_WITH => ' LIKE ? '
51
    ];
52

  
53

  
54
    public static $selectEqualsOperatorLabels = [
55
        self::IS => 'Is',
56
        self::IS_NOT => 'Is not'
57
    ];
58

  
59
    public static $selectEqualsOperatorQueryCondition = [
60
        self::IS => ' = ? ',
61
        self::IS_NOT => ' <> ? '
62
    ];
63
}
app/model/repository/BookTypeRepository.php
16 16
    /** Sloupečky tabulky */
17 17
    const COLUMN_ID = 'id_book_type';
18 18
    const COLUMN_BOOK_TYPE = 'book_type';
19

  
20
    /**
21
     * Return all book types for select values
22
     * @return array
23
     */
24
    public function getTypesForSelect()
25
    {
26
        $types = $this->findAll()->fetchPairs(self::COLUMN_ID, self::COLUMN_BOOK_TYPE);
27
        $types[0] = '- NOT SELECTED -';
28
        return $types;
29
    }
19 30
}
app/model/repository/OriginRepository.php
17 17
    const COLUMN_ID = 'id_origin';
18 18
    const COLUMN_ORIGIN = 'origin';
19 19
    const COLUMN_OLD_NAME = 'old_name';
20

  
21
    /**
22
     * Return all origins for select values
23
     * @return array
24
     */
25
    public function getOriginsForSelect()
26
    {
27
        $origins = $this->findAll()->fetchPairs(self::COLUMN_ID, self::COLUMN_ORIGIN);
28
        $origins[0] = '- NOT SELECTED -';
29
        return $origins;
30
    }
20 31
}
app/model/repository/TransliterationRepository.php
2 2

  
3 3
namespace App\Model\Repository;
4 4

  
5
use App\Enum\ELogicalConditions;
5
use App\Enum\ESearchFormOperators;
6 6
use Nette\Utils\ArrayHash;
7 7

  
8 8
/**
......
54 54
        {
55 55
            if($queryParams['exact_match'])
56 56
            {
57
                $where .= ELogicalConditions::$whereCondition[$queryParams['word2_condition']] . " l.transliteration LIKE ? ";
57
                $where .= ESearchFormOperators::$wordWhereCondition[$queryParams['word2_condition']] . " l.transliteration LIKE ? ";
58 58
                $whereArgs[] = "%" . $queryParams['word2'] . "%";
59 59
            }
60 60
            else
61 61
            {
62
                $where .= ELogicalConditions::$whereCondition[$queryParams['word2_condition']] . " l.transliteration REGEXP ? ";
62
                $where .= ESearchFormOperators::$wordWhereCondition[$queryParams['word2_condition']] . " l.transliteration REGEXP ? ";
63 63
                $whereArgs[] = $this->prepareSearchRegExp($queryParams['word2']);
64 64
            }
65 65
        }
......
68 68
        {
69 69
            if($queryParams['exact_match'])
70 70
            {
71
                $where .= ELogicalConditions::$whereCondition[$queryParams['word3_condition']] . " l.transliteration LIKE ? ";
71
                $where .= ESearchFormOperators::$wordWhereCondition[$queryParams['word3_condition']] . " l.transliteration LIKE ? ";
72 72
                $whereArgs[] = "%" . $queryParams['word3'] . "%";
73 73
            }
74 74
            else
75 75
            {
76
                $where .= ELogicalConditions::$whereCondition[$queryParams['word3_condition']] . " l.transliteration REGEXP ? ";
76
                $where .= ESearchFormOperators::$wordWhereCondition[$queryParams['word3_condition']] . " l.transliteration REGEXP ? ";
77 77
                $whereArgs[] = $this->prepareSearchRegExp($queryParams['word3']);
78 78
            }
79 79
        }

Také k dispozici: Unified diff