Benjamin Roth authored on17/07/2024 14:52:59
Showing4 changed files
... ...
@@ -20,7 +20,7 @@ use Contao\ArrayUtil;
20 20
 ArrayUtil::arrayInsert($GLOBALS['BE_MOD'],1,[
21 21
     'weinanlieferung' => [
22 22
         'weinanlieferung' => [
23
-            'tables'     => array('tl_vr_wa_standort', 'tl_vr_wa_slot', 'tl_vr_wa_rebsorte','tl_vr_wa_leseart','tl_vr_wa_lage','tl_vr_wa_reservation'),
23
+            'tables'     => array('tl_vr_wa_standort', 'tl_vr_wa_slot', 'tl_vr_wa_rebsorte','tl_vr_wa_leseart','tl_vr_wa_lage','tl_vr_wa_reservation','tl_vr_wa_slottypes'),
24 24
             'stylesheet' => array('bundles/vonrotenbergweinanlieferung/css/backend.css')
25 25
         ],
26 26
         'wa_units' => [
... ...
@@ -21,6 +21,7 @@ $GLOBALS['TL_DCA']['tl_vr_wa_slot'] = array
21 21
     (
22 22
         'dataContainer'    => DC_Table::class,
23 23
         'ptable'           => 'tl_vr_wa_standort',
24
+        'enableVersioning' => true,
24 25
         'sql'              => array
25 26
         (
26 27
             'keys' => array
27 28
new file mode 100644
... ...
@@ -0,0 +1,156 @@
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_slottypes'] = array
15
+(
16
+    // Config
17
+    'config' => array
18
+    (
19
+        'dataContainer'    => DC_Table::class,
20
+        'ptable'           => 'tl_vr_wa_standort',
21
+        'enableVersioning' => true,
22
+        'sql'              => array
23
+        (
24
+            'keys' => array
25
+            (
26
+                'id'  => 'primary',
27
+                'pid' => 'index'
28
+            )
29
+        )
30
+    ),
31
+
32
+    // List
33
+    'list' => array
34
+    (
35
+        'sorting' => array
36
+        (
37
+            'mode'                    => DataContainer::MODE_PARENT,
38
+            'fields'                  => array('title'),
39
+            'headerFields' => array('title'),
40
+            'flag'                    => DataContainer::SORT_ASC,
41
+            'panelLayout'             => 'limit'
42
+        ),
43
+        'label' => array(
44
+            'fields'                  => array('title'),
45
+            'format'                  => '%s',
46
+        ),
47
+        'global_operations' => array
48
+        (
49
+            'all' => array
50
+            (
51
+                'href'                => 'act=select',
52
+                'class'               => 'header_edit_all',
53
+                'attributes'          => 'onclick="Backend.getScrollOffset()" accesskey="e"'
54
+            )
55
+        ),
56
+        'operations' => array
57
+        (
58
+            'edit' => array
59
+            (
60
+                'href'                => 'act=edit',
61
+                'icon'                => 'edit.gif',
62
+            ),
63
+            'copy' => array
64
+            (
65
+                'href'                => 'act=cut&amp;mode=copy',
66
+                'icon'                => 'copy.svg'
67
+            ),
68
+            'cut' => array
69
+            (
70
+                'href'                => 'act=paste&amp;mode=cut',
71
+                'icon'                => 'cut.svg',
72
+                'attributes'          => 'onclick="Backend.getScrollOffset()"'
73
+            ),
74
+            'delete' => array
75
+            (
76
+                'href'                => 'act=delete',
77
+                'icon'                => 'delete.gif',
78
+            ),
79
+            'show' => array
80
+            (
81
+                'icon'                => 'show.gif',
82
+            ),
83
+        )
84
+    ),
85
+
86
+    // Palettes
87
+    'palettes' => array
88
+    (
89
+        'default' => '{title_legend},title;{config_legend},containers,units'
90
+    ),
91
+
92
+    // Subpalettes
93
+    'subpalettes' => array
94
+    (
95
+    ),
96
+
97
+    // Fields
98
+    'fields' => array
99
+    (
100
+        'id' => array
101
+        (
102
+            'sql'                     => "int(10) unsigned NOT NULL auto_increment"
103
+        ),
104
+        'pid' => array
105
+        (
106
+            'foreignKey'              => "tl_vr_wa_standort.title",
107
+            'sql'                     => "int(10) unsigned NOT NULL default 0"
108
+        ),
109
+        'tstamp' => array
110
+        (
111
+            'sql'                     => "int(10) unsigned NOT NULL default 0"
112
+        ),
113
+        'title' => array
114
+        (
115
+            'exclude'                 => true,
116
+            'sorting'                 => true,
117
+            'flag'                    => DataContainer::SORT_INITIAL_LETTER_ASC,
118
+            'inputType'               => 'text',
119
+            'eval'                    => array
120
+            (
121
+                'mandatory' => true,
122
+                'maxlength' => 64,
123
+                'tl_class' => 'w50'
124
+            ),
125
+            'sql'                     => "varchar(64) NOT NULL default ''"
126
+        ),
127
+        'containers' => array
128
+        (
129
+            'exclude'                 => true,
130
+            'inputType'               => 'text',
131
+            'eval'                    => array
132
+            (
133
+                'mandatory' => true,
134
+                'maxlength' => 4,
135
+                'maxval'    => 9999,
136
+                'minval'    => 1,
137
+                'rgxp'      => 'natural',
138
+                'tl_class' => 'w50'
139
+            ),
140
+            'sql'                     => "int(4) NOT NULL default 0"
141
+        ),
142
+        'units' => array
143
+        (
144
+            'exclude'                 => true,
145
+            'inputType'               => 'checkbox',
146
+            'foreignKey'              => "tl_vr_wa_units.title",
147
+            'eval'                    => array
148
+            (
149
+                'mandatory' => false,
150
+                'multiple'  => true,
151
+                'tl_class' => 'clr'
152
+            ),
153
+            'sql'                     => "blob NULL"
154
+        )
155
+    )
156
+);
... ...
@@ -17,7 +17,7 @@ $GLOBALS['TL_DCA']['tl_vr_wa_standort'] = array
17 17
     'config' => array
18 18
     (
19 19
         'dataContainer'    => DC_Table::class,
20
-        'ctable'           => array('tl_vr_wa_slot'),
20
+        'ctable'           => array('tl_vr_wa_slot','tl_vr_wa_slottypes'),
21 21
         'enableVersioning' => true,
22 22
         'sql'              => array
23 23
         (
... ...
@@ -73,6 +73,11 @@ $GLOBALS['TL_DCA']['tl_vr_wa_standort'] = array
73 73
                 'href'                => 'table=tl_vr_wa_slot',
74 74
                 'icon'                => 'edit.gif',
75 75
             ),
76
+            'slottypes' => array
77
+            (
78
+                'href'                => 'table=tl_vr_wa_slottypes',
79
+                'icon'                => 'edit.gif',
80
+            ),
76 81
             'editheader' => array
77 82
             (
78 83
                 'href'                => 'table=tl_vr_wa_standort&amp;act=edit',