... | ... |
@@ -125,6 +125,10 @@ $GLOBALS['TL_DCA']['tl_vr_wa_reservation'] = array |
125 | 125 |
( |
126 | 126 |
'sql' => "int(10) unsigned NOT NULL default '0'" |
127 | 127 |
), |
128 |
+ 'nc_sent' => array |
|
129 |
+ ( |
|
130 |
+ 'sql' => "int(10) unsigned NOT NULL default '0'" |
|
131 |
+ ), |
|
128 | 132 |
'uid' => array |
129 | 133 |
( |
130 | 134 |
'exclude' => true, |
... | ... |
@@ -138,7 +138,7 @@ $GLOBALS['TL_DCA']['tl_vr_wa_reservation'] = array |
138 | 138 |
( |
139 | 139 |
'exclude' => true, |
140 | 140 |
'inputType' => 'checkbox', |
141 |
- 'eval' => array('multiple'=>true, 'csv'=>',','tl_class'=>'w50'), |
|
141 |
+ 'eval' => array('mandatory'=>true,'multiple'=>true, 'csv'=>',','tl_class'=>'w50'), |
|
142 | 142 |
'sql' => "blob NULL", |
143 | 143 |
'relation' => array('type' => 'hasMany', 'load' => 'lazy', 'table'=>'tl_vr_wa_lage') |
144 | 144 |
), |
... | ... |
@@ -97,7 +97,7 @@ $GLOBALS['TL_DCA']['tl_vr_wa_reservation'] = array |
97 | 97 |
'palettes' => array |
98 | 98 |
( |
99 | 99 |
'__selector__' => array(), |
100 |
- 'default' => 'pid,uid,lage,behaelter,sorten,ernteart,upload' |
|
100 |
+ 'default' => 'pid,uid,behaelter,sorten,lage,ernteart,upload' |
|
101 | 101 |
), |
102 | 102 |
|
103 | 103 |
// Subpalettes |
... | ... |
@@ -140,6 +140,7 @@ $GLOBALS['TL_DCA']['tl_vr_wa_reservation'] = array |
140 | 140 |
'inputType' => 'checkbox', |
141 | 141 |
'eval' => array('multiple'=>true, 'csv'=>',','tl_class'=>'w50'), |
142 | 142 |
'sql' => "blob NULL", |
143 |
+ 'relation' => array('type' => 'hasMany', 'load' => 'lazy', 'table'=>'tl_vr_wa_lage') |
|
143 | 144 |
), |
144 | 145 |
'behaelter' => array |
145 | 146 |
( |
... | ... |
@@ -97,7 +97,7 @@ $GLOBALS['TL_DCA']['tl_vr_wa_reservation'] = array |
97 | 97 |
'palettes' => array |
98 | 98 |
( |
99 | 99 |
'__selector__' => array(), |
100 |
- 'default' => 'pid,uid,behaelter,sorten,upload' |
|
100 |
+ 'default' => 'pid,uid,lage,behaelter,sorten,ernteart,upload' |
|
101 | 101 |
), |
102 | 102 |
|
103 | 103 |
// Subpalettes |
... | ... |
@@ -114,6 +114,7 @@ $GLOBALS['TL_DCA']['tl_vr_wa_reservation'] = array |
114 | 114 |
), |
115 | 115 |
'pid' => array |
116 | 116 |
( |
117 |
+ 'exclude' => true, |
|
117 | 118 |
'inputType' => 'select', |
118 | 119 |
'foreignKey' => 'tl_vr_wa_slot.time', |
119 | 120 |
'eval' => array('mandatory'=>true,'chosen'=>true,'includeBlankOption'=>true,'submitOnChange'=>true), |
... | ... |
@@ -126,29 +127,46 @@ $GLOBALS['TL_DCA']['tl_vr_wa_reservation'] = array |
126 | 127 |
), |
127 | 128 |
'uid' => array |
128 | 129 |
( |
130 |
+ 'exclude' => true, |
|
129 | 131 |
'inputType' => 'select', |
130 | 132 |
'foreignKey' => 'tl_member.username', |
131 | 133 |
'eval' => array('mandatory'=>true,'chosen'=>true,'includeBlankOption'=>true,'tl_class'=>'w50'), |
132 | 134 |
'sql' => "int(10) unsigned NOT NULL default '0'", |
133 | 135 |
'relation' => array('type' => 'belongsTo', 'load' => 'lazy') |
134 | 136 |
), |
137 |
+ 'lage' => array |
|
138 |
+ ( |
|
139 |
+ 'exclude' => true, |
|
140 |
+ 'inputType' => 'checkbox', |
|
141 |
+ 'eval' => array('multiple'=>true, 'csv'=>',','tl_class'=>'w50'), |
|
142 |
+ 'sql' => "blob NULL", |
|
143 |
+ ), |
|
135 | 144 |
'behaelter' => array |
136 | 145 |
( |
146 |
+ 'exclude' => true, |
|
137 | 147 |
'inputType' => 'text', |
138 | 148 |
'eval' => array('rgxp'=>'natural','tl_class'=>'w50'), |
139 | 149 |
'sql' => "smallint(3) unsigned NOT NULL default 0", |
140 | 150 |
), |
141 | 151 |
'sorten' => array |
142 | 152 |
( |
153 |
+ 'exclude' => true, |
|
143 | 154 |
'inputType' => 'checkbox', |
144 | 155 |
'eval' => array('multiple'=>true, 'csv'=>';','tl_class'=>'w50'), |
145 | 156 |
'sql' => "blob NULL", |
146 | 157 |
), |
158 |
+ 'ernteart' => array |
|
159 |
+ ( |
|
160 |
+ 'exclude' => true, |
|
161 |
+ 'inputType' => 'checkbox', |
|
162 |
+ 'eval' => array('multiple'=>true, 'csv'=>',','tl_class'=>'w50'), |
|
163 |
+ 'sql' => "blob NULL", |
|
164 |
+ ), |
|
147 | 165 |
'upload' => array |
148 | 166 |
( |
149 | 167 |
'exclude' => true, |
150 | 168 |
'inputType' => 'fileTree', |
151 |
- 'eval' => array('filesOnly'=>true, 'fieldType'=>'radio', 'tl_class'=>'w50', 'extensions'=>Config::get('allowedDownload')), |
|
169 |
+ 'eval' => array('filesOnly'=>true, 'fieldType'=>'radio', 'tl_class'=>'clr w50', 'extensions'=>Config::get('allowedDownload')), |
|
152 | 170 |
'sql' => "binary(16) NULL" |
153 | 171 |
), |
154 | 172 |
'filename' => array |
... | ... |
@@ -116,7 +116,7 @@ $GLOBALS['TL_DCA']['tl_vr_wa_reservation'] = array |
116 | 116 |
( |
117 | 117 |
'inputType' => 'select', |
118 | 118 |
'foreignKey' => 'tl_vr_wa_slot.time', |
119 |
- 'eval' => array('mandatory'=>true,'chosen'=>true,'includeBlankOption'=>true), |
|
119 |
+ 'eval' => array('mandatory'=>true,'chosen'=>true,'includeBlankOption'=>true,'submitOnChange'=>true), |
|
120 | 120 |
'sql' => "int(10) unsigned NOT NULL default '0'", |
121 | 121 |
'relation' => array('type' => 'belongsTo', 'load' => 'lazy') |
122 | 122 |
), |
... | ... |
@@ -97,7 +97,7 @@ $GLOBALS['TL_DCA']['tl_vr_wa_reservation'] = array |
97 | 97 |
'palettes' => array |
98 | 98 |
( |
99 | 99 |
'__selector__' => array(), |
100 |
- 'default' => 'pid,behaelter,upload,uid,sorten' |
|
100 |
+ 'default' => 'pid,uid,behaelter,sorten,upload' |
|
101 | 101 |
), |
102 | 102 |
|
103 | 103 |
// Subpalettes |
... | ... |
@@ -128,27 +128,27 @@ $GLOBALS['TL_DCA']['tl_vr_wa_reservation'] = array |
128 | 128 |
( |
129 | 129 |
'inputType' => 'select', |
130 | 130 |
'foreignKey' => 'tl_member.username', |
131 |
- 'eval' => array('mandatory'=>true,'chosen'=>true,'includeBlankOption'=>true), |
|
131 |
+ 'eval' => array('mandatory'=>true,'chosen'=>true,'includeBlankOption'=>true,'tl_class'=>'w50'), |
|
132 | 132 |
'sql' => "int(10) unsigned NOT NULL default '0'", |
133 | 133 |
'relation' => array('type' => 'belongsTo', 'load' => 'lazy') |
134 | 134 |
), |
135 | 135 |
'behaelter' => array |
136 | 136 |
( |
137 | 137 |
'inputType' => 'text', |
138 |
- 'eval' => array('rgxp'=>'natural'), |
|
138 |
+ 'eval' => array('rgxp'=>'natural','tl_class'=>'w50'), |
|
139 | 139 |
'sql' => "smallint(3) unsigned NOT NULL default 0", |
140 | 140 |
), |
141 | 141 |
'sorten' => array |
142 | 142 |
( |
143 | 143 |
'inputType' => 'checkbox', |
144 |
- 'eval' => array('multiple'=>true, 'csv'=>';'), |
|
144 |
+ 'eval' => array('multiple'=>true, 'csv'=>';','tl_class'=>'w50'), |
|
145 | 145 |
'sql' => "blob NULL", |
146 | 146 |
), |
147 | 147 |
'upload' => array |
148 | 148 |
( |
149 | 149 |
'exclude' => true, |
150 | 150 |
'inputType' => 'fileTree', |
151 |
- 'eval' => array('filesOnly'=>true, 'fieldType'=>'radio', 'tl_class'=>'clr', 'extensions'=>Config::get('allowedDownload')), |
|
151 |
+ 'eval' => array('filesOnly'=>true, 'fieldType'=>'radio', 'tl_class'=>'w50', 'extensions'=>Config::get('allowedDownload')), |
|
152 | 152 |
'sql' => "binary(16) NULL" |
153 | 153 |
), |
154 | 154 |
'filename' => array |
... | ... |
@@ -18,6 +18,11 @@ $GLOBALS['TL_DCA']['tl_vr_wa_reservation'] = array |
18 | 18 |
// Config |
19 | 19 |
'config' => array |
20 | 20 |
( |
21 |
+ 'dataContainer' => DC_Table::class, |
|
22 |
+// 'doNotCopyRecords' => true, |
|
23 |
+// 'doNotDeleteRecords' => true, |
|
24 |
+ 'backlink' => 'do=weinanlieferung', |
|
25 |
+ 'enableVersioning' => true, |
|
21 | 26 |
'sql' => array |
22 | 27 |
( |
23 | 28 |
'keys' => array |
... | ... |
@@ -28,6 +33,79 @@ $GLOBALS['TL_DCA']['tl_vr_wa_reservation'] = array |
28 | 33 |
) |
29 | 34 |
), |
30 | 35 |
|
36 |
+ // List |
|
37 |
+ 'list' => array |
|
38 |
+ ( |
|
39 |
+ 'sorting' => array |
|
40 |
+ ( |
|
41 |
+ 'mode' => DataContainer::MODE_SORTED, |
|
42 |
+ 'fields' => array('pid'/*,'(SELECT s.time FROM tl_vr_wa_slot s WHERE s.id = tl_vr_wa_reservation.pid) ASC'*/), |
|
43 |
+ // 'disableGrouping' => true, |
|
44 |
+ 'panelLayout' => 'filter;sort,limit', |
|
45 |
+ ), |
|
46 |
+ 'label' => array( |
|
47 |
+ 'fields' => array('pid','behaelter','uid'), |
|
48 |
+ 'format' => '%s', |
|
49 |
+ 'showColumns' => true, |
|
50 |
+ ), |
|
51 |
+ 'global_operations' => array |
|
52 |
+ ( |
|
53 |
+ 'all' => array |
|
54 |
+ ( |
|
55 |
+ 'href' => 'act=select', |
|
56 |
+ 'class' => 'header_edit_all', |
|
57 |
+ 'attributes' => 'onclick="Backend.getScrollOffset()" accesskey="e"' |
|
58 |
+ ) |
|
59 |
+ ), |
|
60 |
+ 'operations' => array |
|
61 |
+ ( |
|
62 |
+ 'edit' => array |
|
63 |
+ ( |
|
64 |
+ 'href' => 'act=edit', |
|
65 |
+ 'icon' => 'edit.gif', |
|
66 |
+ ), |
|
67 |
+ 'copy' => array |
|
68 |
+ ( |
|
69 |
+ 'href' => 'act=paste&mode=copy', |
|
70 |
+ 'icon' => 'copy.svg' |
|
71 |
+ ), |
|
72 |
+ 'cut' => array |
|
73 |
+ ( |
|
74 |
+ 'href' => 'act=paste&mode=cut', |
|
75 |
+ 'icon' => 'cut.svg', |
|
76 |
+ 'attributes' => 'onclick="Backend.getScrollOffset()"' |
|
77 |
+ ), |
|
78 |
+ 'delete' => array |
|
79 |
+ ( |
|
80 |
+ 'href' => 'act=delete', |
|
81 |
+ 'icon' => 'delete.gif', |
|
82 |
+ ), |
|
83 |
+ 'toggle' => array |
|
84 |
+ ( |
|
85 |
+ 'href' => 'act=toggle&field=buchbar', |
|
86 |
+ 'icon' => 'visible.svg', |
|
87 |
+ 'showInHeader' => true |
|
88 |
+ ), |
|
89 |
+ 'show' => array |
|
90 |
+ ( |
|
91 |
+ 'icon' => 'show.gif', |
|
92 |
+ ), |
|
93 |
+ ) |
|
94 |
+ ), |
|
95 |
+ |
|
96 |
+ // Palettes |
|
97 |
+ 'palettes' => array |
|
98 |
+ ( |
|
99 |
+ '__selector__' => array(), |
|
100 |
+ 'default' => 'pid,behaelter,upload,uid,sorten' |
|
101 |
+ ), |
|
102 |
+ |
|
103 |
+ // Subpalettes |
|
104 |
+ 'subpalettes' => array |
|
105 |
+ ( |
|
106 |
+ ), |
|
107 |
+ |
|
108 |
+ // Fields |
|
31 | 109 |
'fields' => array |
32 | 110 |
( |
33 | 111 |
'id' => array |
... | ... |
@@ -36,13 +114,9 @@ $GLOBALS['TL_DCA']['tl_vr_wa_reservation'] = array |
36 | 114 |
), |
37 | 115 |
'pid' => array |
38 | 116 |
( |
117 |
+ 'inputType' => 'select', |
|
39 | 118 |
'foreignKey' => 'tl_vr_wa_slot.time', |
40 |
- 'sql' => "int(10) unsigned NOT NULL default '0'", |
|
41 |
- 'relation' => array('type' => 'belongsTo', 'load' => 'lazy') |
|
42 |
- ), |
|
43 |
- 'rootid' => array |
|
44 |
- ( |
|
45 |
- 'foreignKey' => 'tl_page.title', |
|
119 |
+ 'eval' => array('mandatory'=>true,'chosen'=>true,'includeBlankOption'=>true), |
|
46 | 120 |
'sql' => "int(10) unsigned NOT NULL default '0'", |
47 | 121 |
'relation' => array('type' => 'belongsTo', 'load' => 'lazy') |
48 | 122 |
), |
... | ... |
@@ -52,20 +126,23 @@ $GLOBALS['TL_DCA']['tl_vr_wa_reservation'] = array |
52 | 126 |
), |
53 | 127 |
'uid' => array |
54 | 128 |
( |
129 |
+ 'inputType' => 'select', |
|
55 | 130 |
'foreignKey' => 'tl_member.username', |
131 |
+ 'eval' => array('mandatory'=>true,'chosen'=>true,'includeBlankOption'=>true), |
|
56 | 132 |
'sql' => "int(10) unsigned NOT NULL default '0'", |
57 | 133 |
'relation' => array('type' => 'belongsTo', 'load' => 'lazy') |
58 | 134 |
), |
59 | 135 |
'behaelter' => array |
60 | 136 |
( |
137 |
+ 'inputType' => 'text', |
|
138 |
+ 'eval' => array('rgxp'=>'natural'), |
|
61 | 139 |
'sql' => "smallint(3) unsigned NOT NULL default 0", |
62 | 140 |
), |
63 | 141 |
'sorten' => array |
64 | 142 |
( |
65 |
- 'foreignKey' => 'tl_vr_wa_rebsorte.title', |
|
143 |
+ 'inputType' => 'checkbox', |
|
66 | 144 |
'eval' => array('multiple'=>true, 'csv'=>';'), |
67 | 145 |
'sql' => "blob NULL", |
68 |
- 'relation' => array('type' => 'hasMany', 'load' => 'lazy') |
|
69 | 146 |
), |
70 | 147 |
'upload' => array |
71 | 148 |
( |
... | ... |
@@ -10,6 +10,7 @@ |
10 | 10 |
|
11 | 11 |
use Contao\DC_Table; |
12 | 12 |
use Contao\DataContainer; |
13 |
+use Contao\Config; |
|
13 | 14 |
|
14 | 15 |
$GLOBALS['TL_DCA']['tl_vr_wa_reservation'] = array |
15 | 16 |
( |
... | ... |
@@ -39,6 +40,12 @@ $GLOBALS['TL_DCA']['tl_vr_wa_reservation'] = array |
39 | 40 |
'sql' => "int(10) unsigned NOT NULL default '0'", |
40 | 41 |
'relation' => array('type' => 'belongsTo', 'load' => 'lazy') |
41 | 42 |
), |
43 |
+ 'rootid' => array |
|
44 |
+ ( |
|
45 |
+ 'foreignKey' => 'tl_page.title', |
|
46 |
+ 'sql' => "int(10) unsigned NOT NULL default '0'", |
|
47 |
+ 'relation' => array('type' => 'belongsTo', 'load' => 'lazy') |
|
48 |
+ ), |
|
42 | 49 |
'tstamp' => array |
43 | 50 |
( |
44 | 51 |
'sql' => "int(10) unsigned NOT NULL default '0'" |
... | ... |
@@ -60,5 +67,23 @@ $GLOBALS['TL_DCA']['tl_vr_wa_reservation'] = array |
60 | 67 |
'sql' => "blob NULL", |
61 | 68 |
'relation' => array('type' => 'hasMany', 'load' => 'lazy') |
62 | 69 |
), |
70 |
+ 'upload' => array |
|
71 |
+ ( |
|
72 |
+ 'exclude' => true, |
|
73 |
+ 'inputType' => 'fileTree', |
|
74 |
+ 'eval' => array('filesOnly'=>true, 'fieldType'=>'radio', 'tl_class'=>'clr', 'extensions'=>Config::get('allowedDownload')), |
|
75 |
+ 'sql' => "binary(16) NULL" |
|
76 |
+ ), |
|
77 |
+ 'filename' => array |
|
78 |
+ ( |
|
79 |
+ 'exclude' => true, |
|
80 |
+ 'inputType' => 'text', |
|
81 |
+ 'eval' => array |
|
82 |
+ ( |
|
83 |
+ 'maxlength' => 255, |
|
84 |
+ 'decodeEntities'=>true |
|
85 |
+ ), |
|
86 |
+ 'sql' => "varchar(255) BINARY NOT NULL default ''" |
|
87 |
+ ), |
|
63 | 88 |
) |
64 | 89 |
); |
... | ... |
@@ -56,7 +56,7 @@ $GLOBALS['TL_DCA']['tl_vr_wa_reservation'] = array |
56 | 56 |
'sorten' => array |
57 | 57 |
( |
58 | 58 |
'foreignKey' => 'tl_vr_wa_rebsorte.title', |
59 |
- 'eval' => array('multiple'=>true, 'csv'=>','), |
|
59 |
+ 'eval' => array('multiple'=>true, 'csv'=>';'), |
|
60 | 60 |
'sql' => "blob NULL", |
61 | 61 |
'relation' => array('type' => 'hasMany', 'load' => 'lazy') |
62 | 62 |
), |
... | ... |
@@ -56,6 +56,7 @@ $GLOBALS['TL_DCA']['tl_vr_wa_reservation'] = array |
56 | 56 |
'sorten' => array |
57 | 57 |
( |
58 | 58 |
'foreignKey' => 'tl_vr_wa_rebsorte.title', |
59 |
+ 'eval' => array('multiple'=>true, 'csv'=>','), |
|
59 | 60 |
'sql' => "blob NULL", |
60 | 61 |
'relation' => array('type' => 'hasMany', 'load' => 'lazy') |
61 | 62 |
), |
1 | 1 |
new file mode 100644 |
... | ... |
@@ -0,0 +1,63 @@ |
1 |
+<?php |
|
2 |
+ |
|
3 |
+/** |
|
4 |
+ * This file is part of contao-weinanlieferung-bundle. |
|
5 |
+ * |
|
6 |
+ * (c) vonRotenberg |
|
7 |
+ * |
|
8 |
+ * @license commercial |
|
9 |
+ */ |
|
10 |
+ |
|
11 |
+use Contao\DC_Table; |
|
12 |
+use Contao\DataContainer; |
|
13 |
+ |
|
14 |
+$GLOBALS['TL_DCA']['tl_vr_wa_reservation'] = array |
|
15 |
+( |
|
16 |
+ |
|
17 |
+ // Config |
|
18 |
+ 'config' => array |
|
19 |
+ ( |
|
20 |
+ 'sql' => array |
|
21 |
+ ( |
|
22 |
+ 'keys' => array |
|
23 |
+ ( |
|
24 |
+ 'id' => 'primary', |
|
25 |
+ 'pid' => 'index' |
|
26 |
+ ) |
|
27 |
+ ) |
|
28 |
+ ), |
|
29 |
+ |
|
30 |
+ 'fields' => array |
|
31 |
+ ( |
|
32 |
+ 'id' => array |
|
33 |
+ ( |
|
34 |
+ 'sql' => "int(10) unsigned NOT NULL auto_increment" |
|
35 |
+ ), |
|
36 |
+ 'pid' => array |
|
37 |
+ ( |
|
38 |
+ 'foreignKey' => 'tl_vr_wa_slot.time', |
|
39 |
+ 'sql' => "int(10) unsigned NOT NULL default '0'", |
|
40 |
+ 'relation' => array('type' => 'belongsTo', 'load' => 'lazy') |
|
41 |
+ ), |
|
42 |
+ 'tstamp' => array |
|
43 |
+ ( |
|
44 |
+ 'sql' => "int(10) unsigned NOT NULL default '0'" |
|
45 |
+ ), |
|
46 |
+ 'uid' => array |
|
47 |
+ ( |
|
48 |
+ 'foreignKey' => 'tl_member.username', |
|
49 |
+ 'sql' => "int(10) unsigned NOT NULL default '0'", |
|
50 |
+ 'relation' => array('type' => 'belongsTo', 'load' => 'lazy') |
|
51 |
+ ), |
|
52 |
+ 'behaelter' => array |
|
53 |
+ ( |
|
54 |
+ 'sql' => "smallint(3) unsigned NOT NULL default 0", |
|
55 |
+ ), |
|
56 |
+ 'sorten' => array |
|
57 |
+ ( |
|
58 |
+ 'foreignKey' => 'tl_vr_wa_rebsorte.title', |
|
59 |
+ 'sql' => "blob NULL", |
|
60 |
+ 'relation' => array('type' => 'hasMany', 'load' => 'lazy') |
|
61 |
+ ), |
|
62 |
+ ) |
|
63 |
+); |