work in progress, Saisonstart 2020
Bernd Wurst

Bernd Wurst commited on 2020-09-01 15:20:34
Zeige 7 geänderte Dateien mit 278 Einfügungen und 65 Löschungen.

... ...
@@ -46,6 +46,22 @@ switch ($_GET['action']) {
46 46
         $kennz = (isset($_GET['kennz']) ? $_GET['kennz'] : null);
47 47
         $vorgang['bestellung'][0]['anhaenger'][] = array("kennz" => $kennz);
48 48
         break;
49
+    case 'neue_aendern':
50
+        foreach (array("3er", "5er", "10er") as $groesse) {
51
+            if (isset($_GET[$groesse]) && $_GET[$groesse] != '') {
52
+                $vorgang['bestellung'][0]['neue'][$groesse] = htmlspecialchars($_GET[$groesse]);
53
+            } else {
54
+                unset($vorgang['bestellung'][0]['neue'][$groesse]);
55
+            }
56
+        }
57
+        break;
58
+    case 'frischsaft':
59
+        if  (isset($_GET["frischsaft"]) && $_GET['frischsaft'] != '') {
60
+            $vorgang['bestellung'][0]['frischsaft'] = (int) $_GET['frischsaft'];
61
+        } else {
62
+            $vorgang['bestellung'][0]['frischsaft'] = null;
63
+        }
64
+        break;
49 65
 }
50 66
 
51 67
 
... ...
@@ -1,9 +1,10 @@
1 1
 var auftragsname_automatisch = false;
2 2
 
3 3
 
4
-function kunde_suchen( ) {
4
+function kunde_suchen( event ) {
5 5
     $('#kundensuche-dialog').modal("show");
6 6
     $('#kundensuche_suchfeld').change();
7
+    event.preventDefault();
7 8
 }
8 9
 
9 10
 function lade_kundendaten_callback( data ) {
... ...
@@ -50,6 +51,12 @@ function lade_kundendaten_callback( data ) {
50 51
         } else {
51 52
             if ($('#kundendaten_firma').text() != '') {
52 53
                 name = $('#kundendaten_firma').text();
54
+            } else {
55
+                if ($('#auftragsdaten_nachname').text() == '') {
56
+                    name = $('#kundendaten_nachname').text();
57
+                    if ($('#kundendaten_vorname').text() != '') {
58
+                        name += ', '+$('#kundendaten_vorname').text();
59
+                    }
53 60
                 } else {
54 61
                     name = $('#auftragsdaten_nachname').text();
55 62
                     if ($('#auftragsdaten_vorname').text() != '') {
... ...
@@ -62,7 +69,11 @@ function lade_kundendaten_callback( data ) {
62 69
                     }
63 70
                 }
64 71
             }
72
+        }
65 73
         $('#name').val(name);
74
+        if ($('#telefon').val() == '' ) {
75
+            $('#telefon').val($('#kundendaten_telefon>.telefon_wert').first().text());
76
+        }
66 77
         auftrag_name_speichern();
67 78
         auftragsname_automatisch = name;
68 79
     }
... ...
@@ -117,6 +128,7 @@ function callback_obstlieferung( vorgang ) {
117 128
     $('a.gitterbox').off("click");
118 129
     $('a.anhaenger').click(anhaenger_loeschen);
119 130
     $('a.gitterbox').click(gitterbox_loeschen);
131
+    obstmenge_vorschlag_anpassen();
120 132
 }
121 133
 
122 134
 function anhaenger_loeschen_callback( kennz ) {
... ...
@@ -131,7 +143,7 @@ function gitterbox_loeschen( event ) {
131 143
     event.preventDefault();
132 144
 }
133 145
 
134
-function anhaenger_loeschen() {
146
+function anhaenger_loeschen( event ) {
135 147
     kennz = $(this).find("strong").text();
136 148
     modal_confirmation("Anhaenger löschen?", "Soll der Anhänger <strong>"+kennz+"</strong> gelöscht werden?", anhaenger_loeschen_callback(kennz));
137 149
     event.preventDefault();
... ...
@@ -144,7 +156,9 @@ function callback_gitterbox_neu( vorgang )
144 156
     callback_obstlieferung(vorgang);
145 157
 }
146 158
 
147
-function gitterbox_neu() {
159
+function gitterbox_neu( event ) 
160
+{
161
+    event.preventDefault();
148 162
     $('#gitterbox-neu-dialog').modal('show');
149 163
     $('#gitterbox-neu-gb').off();
150 164
     $('#gitterbox-neu-gb').click(function () {
... ...
@@ -162,9 +176,139 @@ function gitterbox_neu() {
162 176
         }
163 177
         $.getJSON('ajax_vorgang_aendern.php', {"handle": $('#handle').val(), "action": "add_anhaenger", "kennz": kennz }, callback_gitterbox_neu);
164 178
     });
179
+
180
+}
181
+
182
+
183
+function obstmenge_vorschlag() 
184
+{
185
+    zahl = $(this).text();
186
+    $('#obstmenge').val(zahl);
187
+}
188
+
189
+
190
+function obstmenge_vorschlag_anpassen() {
191
+    var vorschlaege = [50, 100, 150, 200, 250, 300, 350, 400]
192
+    anzahl = $('.lieferart a.gitterbox').length;
193
+    for (let x in vorschlaege) {
194
+        vorschlaege[x] = Math.max(0, anzahl-1) * 400 + vorschlaege[x]
195
+    }
196
+    $('.obstmenge_vorschlag').each(function ( index ) {
197
+        $(this).text(vorschlaege[index]);
198
+    });
165 199
 }
166 200
 
167 201
 
202
+function callback_neue( data ) 
203
+{
204
+    neue = data['bestellung'][0]['neue'];
205
+    $('#neue_3er').val(neue["3er"]);
206
+    $('#neue_5er').val(neue["5er"]);
207
+    $('#neue_10er').val(neue["10er"]);
208
+    neue_changed();
209
+}
210
+
211
+function speichere_neue() 
212
+{
213
+    $.getJSON('ajax_vorgang_aendern.php', {"handle": $('#handle').val(), "action": "neue_aendern", 
214
+            "3er": $('#neue_3er').val(), "5er": $('#neue_5er').val(), "10er": $('#neue_10er').val()}, callback_neue);
215
+}
216
+
217
+
218
+function neue_changed()
219
+{
220
+    if ($(this).attr('id') == 'btn_neue_sonstiges') {
221
+        $('.neue_detail').show();
222
+        $('#btn_neue_sonstiges').prop('checked', true);
223
+        return;
224
+    }
225
+    if ($(this).attr('id') == 'btn_neue_3er') {
226
+        // click auf button 3er
227
+        $('#neue_3er').val('100%');
228
+        $('#neue_5er').val('');
229
+        $('#neue_10er').val('');
230
+        speichere_neue();
231
+        return;
232
+    }
233
+    if ($(this).attr('id') == 'btn_neue_5er') {
234
+        // click auf button 5er
235
+        $('#neue_3er').val('');
236
+        $('#neue_5er').val('100%');
237
+        $('#neue_10er').val('');
238
+        speichere_neue();
239
+        return;
240
+    }
241
+    if ($(this).attr('id') == 'btn_neue_10er') {
242
+        // click auf button 10er
243
+        $('#neue_3er').val('');
244
+        $('#neue_5er').val('');
245
+        $('#neue_10er').val('100%');
246
+        speichere_neue();
247
+        return;
248
+    }
249
+    if ($(this).prop('tagName') == 'INPUT' && $(this).attr('type') == 'text') {
250
+        speichere_neue();
251
+        return;
252
+    }
253
+    if ($('#neue_3er').val() == '100%' && $('#neue_5er').val() == '' && $('#neue_10er').val() == '') {
254
+        $('#btn_neue_3er').prop('checked', true);
255
+        $('.neue_detail').hide();
256
+    } else if ($('#neue_3er').val() == '' && $('#neue_5er').val() == '100%' && $('#neue_10er').val() == '') {
257
+        $('#btn_neue_5er').prop('checked', true);
258
+        $('.neue_detail').hide();
259
+    } else if ($('#neue_3er').val() == '' && $('#neue_5er').val() == '' && $('#neue_10er').val() == '100%') {
260
+        $('#btn_neue_10er').prop('checked', true);
261
+        $('.neue_detail').hide();
262
+    } else {
263
+        $('#btn_neue_sonstiges').prop('checked', true);
264
+        $('.neue_detail').show();
265
+    }
266
+}
267
+
268
+function callback_frischsaft( data )
269
+{
270
+    if (data['bestellung'][0]['frischsaft'] == null) {
271
+        $('#frischsaft_liter').hide();
272
+        $('#frischsaft_nein').prop('checked', true);
273
+    } else {
274
+        $('#frischsaft_liter').show()
275
+        $('.frischsaft input[name=frischsaft]').val(data['bestellung'][0]['frischsaft']);
276
+        $('#frischsaft_ja').prop('checked', true);
277
+    }
278
+}
279
+
280
+
281
+function frischsaft_changed() 
282
+{
283
+    if ($(this).attr('id') == 'frischsaft_nein') {
284
+        $('#frischsaft_liter').hide();
285
+        $.getJSON('ajax_vorgang_aendern.php', {"handle": $('#handle').val(), "action": "frischsaft",
286
+            "frischsaft": null}, callback_frischsaft);
287
+        return;
288
+    }
289
+    if ($(this).attr('id') == 'frischsaft_ja') {
290
+        $('#frischsaft_liter').show();
291
+        $('#frischsaft_liter input').focus();
292
+        if ($('#frischsaft_liter input').val() != '') {
293
+            $.getJSON('ajax_vorgang_aendern.php', {"handle": $('#handle').val(), "action": "frischsaft",
294
+                "frischsaft": $('#frischsaft_liter input').val()}, callback_frischsaft);
295
+        }
296
+        return;
297
+    }
298
+    if ($(this).attr('name') == 'frischsaft') {
299
+        $.getJSON('ajax_vorgang_aendern.php', {"handle": $('#handle').val(), "action": "frischsaft",
300
+            "frischsaft": $(this).val()}, callback_frischsaft);
301
+        return;
302
+    }
303
+    if ($('#frischsaft_liter input').val() == '') {
304
+        $('#frischsaft_liter').hide();
305
+        $('#frischsaft_nein').prop('checked', true);
306
+    } else {
307
+        $('#frischsaft_liter').show();
308
+        $('#frischsaft_ja').prop('checked', true);
309
+    }
310
+}
311
+
168 312
 $(document).ready(function () {
169 313
     // Kundendaten
170 314
     $('#kundendaten_kundennr').change(function () {
... ...
@@ -188,4 +332,15 @@ $(document).ready(function () {
188 332
     $('a.anhaenger').click(anhaenger_loeschen)
189 333
     $('a.gitterbox').click(gitterbox_loeschen);
190 334
     $('a.gitterbox_neu').click(gitterbox_neu);
335
+
336
+    $('.obstmenge_vorschlag').click(obstmenge_vorschlag);
337
+
338
+    $('.buttonset').controlgroup();
339
+    $('.neue input[type=radio]').click(neue_changed);
340
+    $('.neue input[type=text]').change(neue_changed);
341
+    neue_changed();
342
+
343
+    $('.frischsaft input[type=radio]').click(frischsaft_changed);
344
+    $('.frischsaft input[name=frischsaft]').change(frischsaft_changed);
345
+    frischsaft_changed();
191 346
 });
... ...
@@ -125,7 +125,7 @@ function kunde_aendern_fillfields( data ) {
125 125
 }
126 126
 
127 127
 
128
-function modal_kunde_aendern() {
128
+function modal_kunde_aendern( event ) {
129 129
     // #kundendaten_kundennr ist immer ein Formularfeld
130 130
     $('#kundenaendern_kundennr').val($('#kundendaten_kundennr').val());
131 131
     $.getJSON('ajax_kundendaten.php', {"kundennr": $('#kundendaten_kundennr').val()}, kunde_aendern_fillfields);
... ...
@@ -144,7 +144,9 @@ function modal_kunde_aendern() {
144 144
             "telefon": $('#kundeaendern_telefon').val()
145 145
             }, kunde_aendern_callback);
146 146
     });
147
-
147
+    if (event) {
148
+        event.preventDefault();
149
+    }
148 150
 }
149 151
 
150 152
 function modal_confirmation_okcallback( cb ) 
... ...
@@ -8,18 +8,16 @@ body {
8 8
 }
9 9
 
10 10
 .auftrag-kopf {
11
-    display: flex;
12
-    width: 100%;
13
-    align-items: stretch;
14 11
     margin-bottom: 1em;
12
+    margin-top: 1em;
15 13
 }
16
-
17 14
 .auftrag-kopf > div {
18
-    border: 1px solid black;
19
-    border-radius: 5px;
20
-    padding: 0.5em;
15
+ /*   border: 1px solid black;
16
+    border-radius: 5px;*/
17
+    padding-bottom: 0.5em;
18
+    background-color: #8f8;
21 19
 }
22
-
20
+/*
23 21
 .auftrag-kopf div.kundendaten_aktionen {
24 22
     border: none;
25 23
 }
... ...
@@ -29,7 +27,7 @@ body {
29 27
     margin-bottom: 1em;
30 28
 }
31 29
 
32
-
30
+*/
33 31
 .navbutton {
34 32
     margin: 2em;
35 33
 }
... ...
@@ -38,11 +36,13 @@ div.lieferart {
38 36
     display: flex;
39 37
 
40 38
 }
41
-div.lieferart > a {
39
+div.lieferart > div {
42 40
     text-align: center;
43 41
     padding: 0.2em;
44 42
     margin: 0.2em;
45 43
     border: 1px solid #040;
44
+}
45
+div.lieferart a {
46 46
     color: #000;
47 47
 }
48 48
 
... ...
@@ -67,12 +67,13 @@ img.anhaenger {
67 67
     align-items: stretch;
68 68
 }
69 69
 a.auftrag, div.unterauftrag {
70
+    /*display: block;*/
70 71
     border: 1px solid #007900; 
71 72
     border-radius: 5px;
72
-    padding: 0.5em;
73
-    margin: 1em;
74 73
     color: #000;
75 74
     text-decoration: none;
75
+    margin: 0.5em;
76
+    padding: 0.2em;
76 77
 }
77 78
 a.auftrag:hover {
78 79
     background-color: #ccffcc;
... ...
@@ -84,6 +85,7 @@ a.auftrag.incomplete:hover {
84 85
 
85 86
 .auftrag.incomplete {
86 87
     border: 1px dotted #777;
88
+    background-color: #ffdddd;
87 89
 }
88 90
 
89 91
 .auftrag h4 {
... ...
@@ -103,7 +105,7 @@ a.auftrag.incomplete:hover {
103 105
     min-height: 1.5em;
104 106
 }
105 107
 
106
-.auftrag .kundenname {
108
+.auftrag .kundenname, .auftrag .datum {
107 109
     font-size: 60%;
108 110
 }
109 111
 
... ...
@@ -184,6 +186,7 @@ h1, h2, h3 {
184 186
 
185 187
 input, textarea, .form-control {
186 188
     font-size: 120%;
189
+    max-width: 100%;
187 190
 }
188 191
 
189 192
 input.btn[type=submit] {
... ...
@@ -195,8 +198,19 @@ input[type=submit] {
195 198
     width: 100%;
196 199
 }
197 200
 
201
+input#obstmenge {
202
+    max-width: 7em;
203
+}
204
+
205
+p.gebrauchte {
206
+    padding-top: 0.3em;
207
+}
208
+span.ui-checkboxradio-icon { display: none; }
209
+
198 210
 .btn {
199 211
     font-size: 120%;
212
+    overflow-wrap: break-word;
213
+    white-space: normal;
200 214
 }
201 215
 
202 216
 .btn-light, .btn-light:hover {
... ...
@@ -27,34 +27,37 @@ if (isset($_GET['handle']) && $a['revision'] == 0) {
27 27
 
28 28
 $previous = 'unbestaetigte.php';
29 29
 $headline = 'Auftrag bestätigen';
30
-$content = '<input type="hidden" id="handle" name="handle" value="'.$handle.'">';
30
+$content = '<form action="#">
31
+<input type="hidden" id="handle" name="handle" value="'.$handle.'">';
31 32
 
32 33
 $content .= '<h3>Kundendaten</h3>';
33
-$content .= '<p><label for="name">Name für den Auftrag</label> <input type="text" name="auftrag_name" id="name" value="'.$a['name'].'"></p>';
34
-$content .= '<p><label for="telefon">Telefonnummer für den Auftrag</label> <input type="text" name="auftrag_telefon" id="telefon" value="'.$a['telefon'].'"></p>';
34
+$content .= '
35
+<div class="row">
36
+<div class="col"><label for="name">Name für den Auftrag</label></div><div class="col"><input type="text" name="auftrag_name" id="name" value="'.$a['name'].'"></div><div class="w-100"></div>
37
+<div class="col"><label for="telefon">Telefonnummer für den Auftrag</label></div><div class="col"><input type="text" name="auftrag_telefon" id="telefon" value="'.$a['telefon'].'"></div>
38
+</div>';
35 39
 
36
-$content .= '<div class="auftrag-kopf">
37
-<div class="kundendaten_auftrag">
40
+$content .= '<div class="auftrag-kopf row">
41
+<div class="kundendaten_auftrag col-12 col-sm-6">
38 42
 <p><em>Angaben des Kunden:</em></p>
39 43
 <p id="auftrag_kundenadresse">';
40 44
 $content .= adresse($a['kundendaten'], 'auftragsdaten');
41 45
 
42 46
 $content .= '</p>';
43 47
 $content .= '</div>
44
-<div class="kundendaten_kunde">
48
+<div class="kundendaten_kunde col-12 col-sm-6">
45 49
 <p><em>Kundendaten:</em></p>
46 50
 <p id="kundendaten_kundenadresse">---</p>';
47
-$content .= '</td><td><input type="hidden" name="kundendaten_kundennr" id="kundendaten_kundennr" value="'.(isset($a['kundennr']) ? $a['kundennr'] : '').'"><button class="btn btn-secondary" id="btn_kunde_suchen">Kunde suchen</button> <button class="btn btn-outline-secondary" id="btn_kunde_aendern">Kunde ändern</button> ';
51
+$content .= '<input type="hidden" name="kundendaten_kundennr" id="kundendaten_kundennr" value="'.(isset($a['kundennr']) ? $a['kundennr'] : '').'"><button class="btn btn-secondary" id="btn_kunde_suchen">Kunde suchen</button> <button class="btn btn-outline-secondary" id="btn_kunde_aendern">Kunde ändern</button> ';
48 52
 $content .= '</div>';
49 53
 
50
-$content .= '</td></tr></table>';
51 54
 $content .= '</div>';
52 55
 
53 56
 
54
-$content .= '<div class="unterauftrag-container">';
57
+$content .= '<div class="unterauftrag-container row">';
55 58
 foreach ($a['bestellung'] as $best) {
56 59
     // Evtl. Mehrere Posten in dieser Bestellung
57
-    $content .= '<div class="unterauftrag">';
60
+    $content .= '<div class="unterauftrag col-12">';
58 61
     
59 62
     $obst = array();
60 63
     foreach ($best['gitterbox'] as $gb) {
... ...
@@ -75,61 +78,77 @@ foreach ($a['bestellung'] as $best) {
75 78
         }
76 79
         $obst[] = '<a href="#" class="anhaenger">'.$img.'</a>';
77 80
     }
78
-    $content .= '<div class="lieferart">'.implode('', $obst).'<a href="#" class="gitterbox_neu">+<br>Weitere Lieferung</a></div>';
79
-    $content .= '<div class="obstmenge">';
81
+    foreach ($obst as $key => $val) {
82
+        $obst[$key] = '<div class="col">'.$val.'</div>';
83
+    }
84
+    $content .= '<div class="lieferart row">'.implode('', $obst).'<div class="col"><a href="#" class="gitterbox_neu">+<br>Weitere Lieferung</a></div></div>';
85
+    $content .= '<div class="obstmenge row">';
80 86
     $val = 0;
81 87
     if (isset($best['obstmenge'])) {
82 88
         $val = $best['obstmenge'];
83 89
     }
84
-    $content .= '<label for="obstmenge">Obstmenge:</label> <input type="number" id="obstmenge" name="obstmenge" value="'.$val.'" step="10" min="0" maxlength="4"> '; 
90
+    $content .= '<div class="col"><div class="row"><div class="col"><label for="obstmenge">Obstmenge:</label></div><div class="col"><input type="number" id="obstmenge" name="obstmenge" value="'.$val.'" step="10" min="0" maxlength="5"></div></div>
91
+    <div class="row">'; 
85 92
     foreach (array(50, 100, 150, 200, 250, 300, 350, 400) as $v) {
86 93
         $v = max((count($best['gitterbox'])-1),0) * 400 + $v;
87
-        $content .= '<button class="obstmenge_vorschlag btn btn-outline-secondary">'.$v.'</button> ';
94
+        $content .= '<div class="col"><button type="button" class="obstmenge_vorschlag btn btn-outline-secondary">'.$v.'</button></div> ';
88 95
     }
89
-    $content .= '</div>';
96
+    $content .= '</div></div></div>';
90 97
     // Gebrauchte
91 98
     $sel = 'gebrauchte_nein';
92 99
     if ($best['gebrauchte']) {
93 100
         $sel = 'gebrauchte_ja';
94 101
     }
95
-    $content .= '<p class="gebrauchte">Gebrauchte Kartons: 
102
+    $content .= '<div class="row">
103
+    <div class="gebrauchte col-12 col-sm-6">Gebrauchte Kartons:</div><div class="col-sm-6 col-12"><span class="buttonset">
96 104
     <input type="radio" name="gebrauchte" id="gebrauchte_ja" value="gebrauchte_ja" '.($best['gebrauchte'] ? 'checked="checked"' : '').'> <label for="gebrauchte_ja">JA</label> 
97
-    <input type="radio" name="gebrauchte" id="gebrauchte_nein" value="gebrauchte_nein" '.($best['gebrauchte'] ? '' : 'checked="checked"').'> <label for="gebrauchte_nein">NEIN</label> 
98
-    </p>';
105
+    <input type="radio" name="gebrauchte" id="gebrauchte_nein" value="gebrauchte_nein" '.($best['gebrauchte'] ? '' : 'checked="checked"').'> <label for="gebrauchte_nein">NEIN</label> </span>
106
+    </div></div>';
99 107
     // Neue
100
-    $content .= '<div class="neue">
108
+    $content .= '
109
+    <div class="neue">
110
+    <div class="row"><div class="col-12">Neue:</div></div>
111
+    <div class="row"><div class="col-12"><span class="buttonset">
101 112
     <input type="radio" name="neue" value="3er" id="btn_neue_3er" '.(isset($best['neue']['3er']) && $best['neue']['3er'] == '100%' ? 'checked="checked"' : '').'> <label for="btn_neue_3er">3er</label>
102 113
     <input type="radio" name="neue" value="5er" id="btn_neue_5er" '.(isset($best['neue']['5er']) && $best['neue']['5er'] == '100%' ? 'checked="checked"' : '').'> <label for="btn_neue_5er">5er</label>
103 114
     <input type="radio" name="neue" value="10er" id="btn_neue_10er" '.(isset($best['neue']['10er']) && $best['neue']['10er'] == '100%' ? 'checked="checked"' : '').'> <label for="btn_neue_10er">10er</label> 
104 115
     <input type="radio" name="neue" value="sonstiges" id="btn_neue_sonstiges" '.((isset($best['neue']['10er']) && $best['neue']['10er'] == '100%') || (isset($best['neue']['5er']) && $best['neue']['5er'] == '100%') || (isset($best['neue']['3er']) && $best['neue']['3er'] == '100%') ? '' : 'checked="checked"').'> <label for="btn_neue_sonstiges">Sonstiges</label> 
105
-    ';
116
+    </span>
117
+    </div></div>';
106 118
     $neue = array("3er" => '', "5er" => '', "10er" => '');
107 119
     foreach ($neue as $key => $val) {
108 120
         $val = '';
109 121
         if (isset($best['neue'][$key])) {
110 122
             $val = $best['neue'][$key];
111 123
         }
112
-        $neue[] = 'Neue <strong>'.$key.'</strong>: <input type="text" id="neue_'.$key.'" value="'.$val.'"> <button class="btn btn-secondary" id="button_halb_'.$key.'">Halbe Liter in '.$key.'</button>';
124
+        $neue[] = '<div class="row"><div class="col-5 col-sm-3">Neue <strong>'.$key.'</strong>:</div><div class="col-7 col-sm-6"><input type="text" id="neue_'.$key.'" value="'.$val.'"></div><div class="col-12 col-sm-3"><button type="button" class="btn btn-secondary" id="button_halb_'.$key.'">Halbe Liter in '.$key.'</button></div></div>';
113 125
     }
114 126
     if (isset($best['neue']['sonstiges'])) {
115 127
         $neue[] = '<em>'.$best['neue']['sonstiges'].'</em>';
116 128
     }
117
-    $content .= '<div class="neue_detail"><p>'.implode('</p><p>', $neue).'</p></div>';
129
+    $content .= '<div class="neue_detail">'.implode('', $neue).'</div>';
118 130
     $content .= '</div>';
119
-    $content .= '<div class="anmerkungen"><textarea name="anmerkungen" id="anmerkungen">'.htmlspecialchars($best['anmerkungen']).'</textarea></div>';
120
-    $content .= '<div class="frischsaft">
131
+    $content .= '<div class="anmerkungen row"><div class="col"><textarea name="anmerkungen" id="anmerkungen">'.htmlspecialchars($best['anmerkungen']).'</textarea></div></div>';
132
+    $content .= '<div class="frischsaft row"><div class="col-5 col-sm-2">Frischsaft:</div><div class="col-7 col-sm-4"><span class="buttonset">
121 133
     <input type="radio" name="frischsaft_choose" id="frischsaft_nein" '.(isset($best['frischsaft']) && $best['frischsaft'] > 0 ? '' : 'checked="checked"').'> <label for="frischsaft_nein">Nein</label>
122
-    <input type="radio" name="frischsaft_choose" id="frischsaft_ja" '.(isset($best['frischsaft']) && $best['frischsaft'] > 0 ? 'checked="checked"' : '').'> <label for="frischsaft_ja">Ja</label>
123
-    <input type="number" name="frischsaft" value="'.htmlspecialchars($best['frischsaft']).'"> Liter frisch</div>';
134
+    <input type="radio" name="frischsaft_choose" id="frischsaft_ja" '.(isset($best['frischsaft']) && $best['frischsaft'] > 0 ? 'checked="checked"' : '').'> <label for="frischsaft_ja">Ja</label></span>
135
+    </div>
136
+    <div id="frischsaft_liter" class="col-12 col-sm-6">
137
+    <div class="row">
138
+    <div class="col-6"><input type="number" name="frischsaft" value="'.htmlspecialchars($best['frischsaft']).'"></div>
139
+    <div class="col-6">Liter frisch</div>
140
+    </div>
141
+    </div>
142
+    </div>';
124 143
     if (count($a['bestellung']) > 1) {
125
-        $content .= '<div class="unterauftrag_bestaetigen"><button class="btn btn-secondary">Diesen Unterauftrag separat annehmen</button></div>';
144
+        $content .= '<div class="unterauftrag_bestaetigen"><button type="button" class="btn btn-secondary">Diesen Unterauftrag separat annehmen</button></div>';
126 145
     }
127 146
     $content .= '</div>'; // Unterauftrag
128 147
 }
129 148
 
130 149
 $content .= '</div>'; // unterauftrag-container
131
-$content .= '<div class="auftrag_bestaetigen"><button class="btn btn-primary">Auftrag bestätigen</button>
132
-<button class="btn btn-secondary">Auftrag annehmen und sofort verarbeiten</button></div>';
150
+$content .= '<div class="auftrag_bestaetigen"><button type="button" class="btn btn-primary">Auftrag bestätigen</button>
151
+<button type="button" class="btn btn-secondary">Auftrag annehmen und sofort verarbeiten</button></div>';
133 152
 $content .= '</form>';
134 153
 
135 154
 $content .= '
... ...
@@ -142,12 +161,12 @@ $content .= '
142 161
 
143 162
                 <div class="modal-body">
144 163
                 <p>ID-Nummer: <input type="text" name="gb" id="gitterbox-neu-id" value=""></p>
145
-                <p><button class="btn btn-primary" id="gitterbox-neu-gb">Gitterbox hinzufügen</p>
164
+                <p><button type="button" class="btn btn-primary" id="gitterbox-neu-gb">Gitterbox hinzufügen</button></p>
146 165
                 </div>
147 166
 
148 167
                 <div class="modal-body">
149 168
                 <p>Kennzeichen: <input type="text" name="kennz" id="gitterbox-neu-kennz" value=""></p>
150
-                <p><button class="btn btn-primary" id="gitterbox-neu-anh">Anhänger hinzufügen</p>
169
+                <p><button type="button" class="btn btn-primary" id="gitterbox-neu-anh">Anhänger hinzufügen</button></p>
151 170
                 </div>
152 171
 
153 172
                 <div class="modal-footer">
... ...
@@ -14,6 +14,7 @@ function modal_kundensuche($k = null) {
14 14
     }
15 15
 
16 16
     $ret = '
17
+        <form action="#">
17 18
         <div class="modal fade" id="kundensuche-dialog" tabindex="-1" role="dialog" aria-labelledby="Kunde suchen" aria-hidden="true">
18 19
         <div class="modal-dialog">
19 20
             <div class="modal-content">
... ...
@@ -44,13 +45,13 @@ function modal_kundensuche($k = null) {
44 45
 
45 46
                 <div class="modal-body">
46 47
                     <table>
47
-                    <tr><td>Firmenname:</td><td><input type="text" name="kundeerstellen_firma" id="kundeerstellen_firma" value="'.$k['firma'].'"</td></tr>
48
-                    <tr><td>Vorname:</td><td><input type="text" name="kundeerstellen_vorname" id="kundeerstellen_vorname" value="'.$k['vorname'].'"</td></tr>
49
-                    <tr><td>Nachname:</td><td><input type="text" name="kundeerstellen_nachname" id="kundeerstellen_nachname" value="'.$k['nachname'].'"</td></tr>
50
-                    <tr><td>Adresse:</td><td><input type="text" name="kundeerstellen_adresse" id="kundeerstellen_adresse" value="'.$k['adresse'].'"</td></tr>
51
-                    <tr><td>PLZ:</td><td><input type="text" name="kundeerstellen_plz" id="kundeerstellen_plz" value="'.$k['plz'].'"</td></tr>
52
-                    <tr><td>Ort:</td><td><input type="text" name="kundeerstellen_ort" id="kundeerstellen_ort" value="'.$k['ort'].'"</td></tr>
53
-                    <tr><td>Telefon:</td><td><input type="text" name="kundeerstellen_telefon" id="kundeerstellen_telefon" value="'.$k['telefon'].'"</td></tr>
48
+                    <tr><td>Firmenname:</td><td><input type="text" name="kundeerstellen_firma" id="kundeerstellen_firma" value="'.$k['firma'].'"></td></tr>
49
+                    <tr><td>Vorname:</td><td><input type="text" name="kundeerstellen_vorname" id="kundeerstellen_vorname" value="'.$k['vorname'].'"></td></tr>
50
+                    <tr><td>Nachname:</td><td><input type="text" name="kundeerstellen_nachname" id="kundeerstellen_nachname" value="'.$k['nachname'].'"></td></tr>
51
+                    <tr><td>Adresse:</td><td><input type="text" name="kundeerstellen_adresse" id="kundeerstellen_adresse" value="'.$k['adresse'].'"></td></tr>
52
+                    <tr><td>PLZ:</td><td><input type="text" name="kundeerstellen_plz" id="kundeerstellen_plz" value="'.$k['plz'].'"></td></tr>
53
+                    <tr><td>Ort:</td><td><input type="text" name="kundeerstellen_ort" id="kundeerstellen_ort" value="'.$k['ort'].'"></td></tr>
54
+                    <tr><td>Telefon:</td><td><input type="text" name="kundeerstellen_telefon" id="kundeerstellen_telefon" value="'.$k['telefon'].'"></td></tr>
54 55
                     </table>
55 56
                 </div>
56 57
 
... ...
@@ -61,6 +62,7 @@ function modal_kundensuche($k = null) {
61 62
             </div>
62 63
         </div>
63 64
     </div>
65
+    </form>
64 66
 ';
65 67
     return $ret;
66 68
 }
... ...
@@ -68,6 +70,7 @@ function modal_kundensuche($k = null) {
68 70
 
69 71
 function modal_kunde_aendern() {
70 72
     $ret = '
73
+        <form action="#">
71 74
         <div class="modal fade" id="kundeaendern-dialog" tabindex="-1" role="dialog" aria-labelledby="Kundendaten ändern" aria-hidden="true">
72 75
         <div class="modal-dialog">
73 76
             <div class="modal-content">
... ...
@@ -78,13 +81,13 @@ function modal_kunde_aendern() {
78 81
                 <div class="modal-body">
79 82
                     <input type="hidden" name="kundennr" id="kundeaendern_kundennr" value="">
80 83
                     <table>
81
-                    <tr><td>Firmenname:</td><td><input type="text" name="kundeaendern_firma" id="kundeaendern_firma" value=""</td></tr>
82
-                    <tr><td>Vorname:</td><td><input type="text" name="kundeaendern_vorname" id="kundeaendern_vorname" value=""</td></tr>
83
-                    <tr><td>Nachname:</td><td><input type="text" name="kundeaendern_nachname" id="kundeaendern_nachname" value=""</td></tr>
84
-                    <tr><td>Adresse:</td><td><input type="text" name="kundeaendern_adresse" id="kundeaendern_adresse" value=""</td></tr>
85
-                    <tr><td>PLZ:</td><td><input type="text" name="kundeaendern_plz" id="kundeaendern_plz" value=""</td></tr>
86
-                    <tr><td>Ort:</td><td><input type="text" name="kundeaendern_ort" id="kundeaendern_ort" value=""</td></tr>
87
-                    <tr><td>Telefon:</td><td><input type="text" name="kundeaendern_telefon" id="kundeaendern_telefon" value=""</td></tr>
84
+                    <tr><td>Firmenname:</td><td><input type="text" name="kundeaendern_firma" id="kundeaendern_firma" value=""></td></tr>
85
+                    <tr><td>Vorname:</td><td><input type="text" name="kundeaendern_vorname" id="kundeaendern_vorname" value=""></td></tr>
86
+                    <tr><td>Nachname:</td><td><input type="text" name="kundeaendern_nachname" id="kundeaendern_nachname" value=""></td></tr>
87
+                    <tr><td>Adresse:</td><td><input type="text" name="kundeaendern_adresse" id="kundeaendern_adresse" value=""></td></tr>
88
+                    <tr><td>PLZ:</td><td><input type="text" name="kundeaendern_plz" id="kundeaendern_plz" value=""></td></tr>
89
+                    <tr><td>Ort:</td><td><input type="text" name="kundeaendern_ort" id="kundeaendern_ort" value=""></td></tr>
90
+                    <tr><td>Telefon:</td><td><input type="text" name="kundeaendern_telefon" id="kundeaendern_telefon" value=""></td></tr>
88 91
                     </table>
89 92
                 </div>
90 93
 
... ...
@@ -95,6 +98,7 @@ function modal_kunde_aendern() {
95 98
             </div>
96 99
         </div>
97 100
     </div>
101
+    </form>
98 102
 ';
99 103
     return $ret;
100 104
 }
... ...
@@ -1,6 +1,7 @@
1 1
 <?php
2 2
 require_once 'lib/api.php';
3 3
 session_start();
4
+setlocale(LC_TIME, 'de_DE');
4 5
 
5 6
 $data = array("filter" => array(
6 7
         "field" => "status",
... ...
@@ -19,7 +20,7 @@ $content .= '<div class="auftrag-container">';
19 20
 foreach ($auftraege["vorgaenge"] as $a) {
20 21
     $name = $a['name'];
21 22
     if (!$name) {
22
-        $name .= $a['telefon'];
23
+        $name = '<em>kein Name angegeben</em>';
23 24
     }
24 25
 
25 26
     $kdname = '';
... ...
@@ -47,10 +48,12 @@ foreach ($auftraege["vorgaenge"] as $a) {
47 48
         $incomplete = ' incomplete';
48 49
     }
49 50
     $content .= '<a class="auftrag'.$incomplete.'" href="auftrag_bestaetigen.php?handle='.$a['handle'].'">
50
-    <h4>'.$name.'</h4>';
51
+    <h4>'.$name.'</h4>
52
+    <h4>'.$a['telefon'].'</h4>';
51 53
     if ($kdname) {
52 54
         $content .= '<p class="kundenname">'.$kdname.'</p>';
53 55
     }
56
+    $content .= '<p class="datum">'.strftime('%a, %d.%m.%Y %H:%M', $a['erstellt']).'</p>';
54 57
     foreach ($a['bestellung'] as $best) {
55 58
         // Evtl. Mehrere Posten in dieser Bestellung
56 59
         $content .= '<div class="unterauftrag">';
57 60