Browse code

abgespeckte Version zum Bestätigen der Aufträge (erste Live-Version)

Bernd Wurst authored on01/09/2020 16:24:17
Showing1 changed files
... ...
@@ -1,19 +1,14 @@
1 1
 <?php
2 2
 require_once 'lib/api.php';
3
-require_once 'lib/modal.php';
4
-require_once 'lib/tools.php';
5 3
 session_start();
4
+setlocale(LC_TIME, 'de_DE');
6 5
 
7
-$handle = null;
8
-$handle_length = 8;
9
-if (isset($_GET['handle'])) {
10
-    $handle = $_GET['handle'];
11
-} else {
12
-    $random = base64_encode(md5(microtime()));
13
-    $handle = substr(str_replace(array('+', '=', '/'), '', $random), 0, $handle_length);
6
+$handle = htmlspecialchars($_GET['handle']);
7
+if ($handle != $_GET['handle']) {
8
+    echo "Ungültige ID";
9
+    die();
14 10
 }
15
-
16
-$data = array("handle" => $handle);
11
+$data = array("handle" => $_GET['handle']);
17 12
 
18 13
 $ret = api_call('vorgang/lesen', $data);
19 14
 $a = $ret['vorgang'];
... ...
@@ -23,163 +18,108 @@ if (isset($_GET['handle']) && $a['revision'] == 0) {
23 18
     die();
24 19
 }
25 20
 
26
-
27
-
28 21
 $previous = 'unbestaetigte.php';
29
-$headline = 'Auftrag bestätigen';
30
-$content = '<form action="#">
31
-<input type="hidden" id="handle" name="handle" value="'.$handle.'">';
32
-
33
-$content .= '<h3>Kundendaten</h3>';
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>';
39
-
40
-$content .= '<div class="auftrag-kopf row">
41
-<div class="kundendaten_auftrag col-12 col-sm-6">
42
-<p><em>Angaben des Kunden:</em></p>
43
-<p id="auftrag_kundenadresse">';
44
-$content .= adresse($a['kundendaten'], 'auftragsdaten');
45
-
46
-$content .= '</p>';
47
-$content .= '</div>
48
-<div class="kundendaten_kunde col-12 col-sm-6">
49
-<p><em>Kundendaten:</em></p>
50
-<p id="kundendaten_kundenadresse">---</p>';
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> ';
52
-$content .= '</div>';
22
+$headline = 'Neuen Auftrag annehmen';
23
+$content = '';
53 24
 
54
-$content .= '</div>';
25
+if (! $a['status']['bestellt']) {
26
+    $content .= '<h4 class="incomplete">Dieser Auftrag ist nicht abgeschlossen worden!</h4>';
27
+}
28
+$name = $a['name'];
29
+if (!$name) {
30
+    $name = '<em>kein Name angegeben</em>';
31
+}
55 32
 
33
+$kdname = '';
34
+if (isset($a['kundennr'])) {
35
+    $data = array("kundennr" => $a['kundennr']);
36
+    $ret = api_call('kunde/laden', $data);
37
+    if (isset($ret['kunde'])) {
38
+        $kdname .= '#'.$ret['kunde']['kundennr'].': ';
39
+        if (isset($ret['kunde']['firma'])) {
40
+            $kdname .= $ret['kunde']['firma'];
41
+        } else {
42
+            $kdname .= $ret['kunde']['nachname'];
43
+            if (isset($ret['kunde']['vorname'])) {
44
+                $kdname .= ', '.$ret['kunde']['vorname'];
45
+            }
46
+        }
47
+        if (isset($ret['kunde']['ort'])) {
48
+            $kdname .= ' ('.$ret['kunde']['ort'].')';
49
+        }
50
+    }
51
+}
52
+if (! $kdname) {
53
+    $kd = $a['kundendaten'];
54
+    $kdname = $kd['vorname'].' '.$kd['nachname']."<br>\n".$kd['adresse']."<br>\n".$kd['plz'].' '.$kd['ort'];
55
+}
56 56
 
57
-$content .= '<div class="unterauftrag-container row">';
57
+$content .= '<div class="auftrag">
58
+<h4>'.$name.'</h4>
59
+<h4>'.$a['telefon'].'</h4>';
60
+if ($kdname) {
61
+    $content .= '<p class="kundenname">'.$kdname.'</p>';
62
+}
63
+$content .= '<p class="datum">'.strftime('%a, %d.%m.%Y %H:%M', $a['erstellt']).'</p>';
58 64
 foreach ($a['bestellung'] as $best) {
59 65
     // Evtl. Mehrere Posten in dieser Bestellung
60
-    $content .= '<div class="unterauftrag col-12">';
61
-    
62
-    $obst = array();
63
-    foreach ($best['gitterbox'] as $gb) {
64
-        $img = '<img class="gitterbox" src="/assets/images/gitterbox.png"><br>';
65
-        if ($gb['id']) {
66
-            $img .= 'GB #'.$gb['id'];
67
-        } else {
68
-            $img .= 'Gitterbox';
69
-        }
70
-        $obst[] = '<a href="#" class="gitterbox">'.$img.'</a>';
66
+    $content .= '<div class="unterauftrag">';
67
+    $obst = '';
68
+    if (count($best['gitterbox']) == 1) {
69
+        $obst .= "1 Gitterbox";
70
+    } elseif (count($best['gitterbox']) > 1) {
71
+        $obst .= count($best['gitterbox'])." Gitterboxen";
71 72
     }
73
+    /* Wenn wir die Gitterbox-IDs nutzen, dann sowas:
74
+    foreach ($best['gitterbox'] as $g) {
75
+        $obst .= '[ GB #'.$g['id'].' ] ';
76
+    } */
72 77
     foreach ($best['anhaenger'] as $anh) {
73
-        $img = '<img class="anhaenger" src="/assets/images/anhaenger.png"><br>';
74 78
         if (isset($anh['kennz'])) {
75
-            $img .= ' <strong>'.$anh['kennz'].'</strong> ';
79
+            $obst .= ' Anhänger <strong>'.$anh['kennz'].'</strong> ';
76 80
         } else {
77
-            $img .= ' <em>Anhänger</em>';
81
+            $obst .= ' Anhänger';
78 82
         }
79
-        $obst[] = '<a href="#" class="anhaenger">'.$img.'</a>';
80
-    }
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">';
86
-    $val = 0;
87
-    if (isset($best['obstmenge'])) {
88
-        $val = $best['obstmenge'];
89 83
     }
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">'; 
92
-    foreach (array(50, 100, 150, 200, 250, 300, 350, 400) as $v) {
93
-        $v = max((count($best['gitterbox'])-1),0) * 400 + $v;
94
-        $content .= '<div class="col"><button type="button" class="obstmenge_vorschlag btn btn-outline-secondary">'.$v.'</button></div> ';
95
-    }
96
-    $content .= '</div></div></div>';
84
+    $content .= '<p class="lieferart">'.$obst.'</p>';
97 85
     // Gebrauchte
98
-    $sel = 'gebrauchte_nein';
99 86
     if ($best['gebrauchte']) {
100
-        $sel = 'gebrauchte_ja';
87
+        $content .= '<p class="gebrauchte">Gebrauchte Kartons: <strong>JA</strong></p>';
88
+    } else {
89
+        $content .= '<p class="gebrauchte">Gebrauchte Kartons: <strong>NEIN</strong></p>';
101 90
     }
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">
104
-    <input type="radio" name="gebrauchte" id="gebrauchte_ja" value="gebrauchte_ja" '.($best['gebrauchte'] ? 'checked="checked"' : '').'> <label for="gebrauchte_ja">JA</label> 
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>';
107 91
     // 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">
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>
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>
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> 
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> 
116
-    </span>
117
-    </div></div>';
118
-    $neue = array("3er" => '', "5er" => '', "10er" => '');
119
-    foreach ($neue as $key => $val) {
120
-        $val = '';
121
-        if (isset($best['neue'][$key])) {
122
-            $val = $best['neue'][$key];
92
+    $neue = array();
93
+    if (count($best['neue']) == 1) {
94
+            $key = array_keys($best['neue']);
95
+            if ($key[0] != 'sonstiges') {
96
+                $neue[] = 'Nur/Zuerst <strong>'.$key[0].'</strong>';
97
+            }
98
+    } else {
99
+        foreach ($best['neue'] as $key => $val) {
100
+            $neue[] = '<strong>'.$key.'</strong>: '.$val;
123 101
         }
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>';
125 102
     }
126 103
     if (isset($best['neue']['sonstiges'])) {
127 104
         $neue[] = '<em>'.$best['neue']['sonstiges'].'</em>';
128 105
     }
129
-    $content .= '<div class="neue_detail">'.implode('', $neue).'</div>';
130
-    $content .= '</div>';
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">
133
-    <input type="radio" name="frischsaft_choose" id="frischsaft_nein" '.(isset($best['frischsaft']) && $best['frischsaft'] > 0 ? '' : 'checked="checked"').'> <label for="frischsaft_nein">Nein</label>
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>';
143
-    if (count($a['bestellung']) > 1) {
144
-        $content .= '<div class="unterauftrag_bestaetigen"><button type="button" class="btn btn-secondary">Diesen Unterauftrag separat annehmen</button></div>';
106
+    $content .= '<div class="neue"><p>'.implode('</p><p>', $neue).'</p></div>';
107
+    if (isset($best['anmerkungen'])) {
108
+        $content .= '<div class="anmerkungen">'.htmlspecialchars($best['anmerkungen']).'</div>';
109
+    }
110
+    if (isset($best['frischsaft'])) {
111
+        $content .= '<div class="frischsaft">'.htmlspecialchars($best['frischsaft']).' Liter frisch</div>';
145 112
     }
113
+
146 114
     $content .= '</div>'; // Unterauftrag
147 115
 }
116
+$content .= '</div>'; // auftrag
148 117
 
149
-$content .= '</div>'; // unterauftrag-container
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>';
152
-$content .= '</form>';
153
-
154
-$content .= '
155
-    <div class="modal fade" id="gitterbox-neu-dialog" tabindex="-1" role="dialog" aria-labelledby="Gitterbox" aria-hidden="true">
156
-        <div class="modal-dialog">
157
-            <div class="modal-content">
158
-                <div class="modal-header">
159
-                    <h4 class="modal-title">Neue Gitterbox erfassen</h4>
160
-                </div>
161
-
162
-                <div class="modal-body">
163
-                <p>ID-Nummer: <input type="text" name="gb" id="gitterbox-neu-id" value=""></p>
164
-                <p><button type="button" class="btn btn-primary" id="gitterbox-neu-gb">Gitterbox hinzufügen</button></p>
165
-                </div>
166
-
167
-                <div class="modal-body">
168
-                <p>Kennzeichen: <input type="text" name="kennz" id="gitterbox-neu-kennz" value=""></p>
169
-                <p><button type="button" class="btn btn-primary" id="gitterbox-neu-anh">Anhänger hinzufügen</button></p>
170
-                </div>
171 118
 
172
-                <div class="modal-footer">
173
-                    <button type="button" class="btn btn-outline-secondary" data-dismiss="modal">Abbrechen</button>
174
-                </div>
175
-            </div>
176
-        </div>
177
-    </div>
178
-';
119
+$content .= '<div class="auftrag_bestaetigen">
120
+<p><a href="save.php?handle='.$handle.'&amp;action=bestaetigen" class="btn btn-primary">Auftrag bestätigen</a></p>
121
+<p><a href="save.php?handle='.$handle.'&amp;action=loeschen" class="btn btn-secondary">Auftrag löschen</a></p>';
179 122
 
180
-$content .= modal_kundensuche($a['kundendaten']);
181
-$content .= modal_kunde_aendern();
182
-$content .= modal_confirmation();
183 123
 
184 124
 
185 125
 include "template.php";
Browse code

work in progress, Saisonstart 2020

Bernd Wurst authored on01/09/2020 15:20:34
Showing1 changed files
... ...
@@ -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">
Browse code

Kundendaten ändern, Gitterbox hinzufügen / entfernen

Bernd Wurst authored on15/06/2020 20:45:48
Showing1 changed files
... ...
@@ -42,9 +42,9 @@ $content .= adresse($a['kundendaten'], 'auftragsdaten');
42 42
 $content .= '</p>';
43 43
 $content .= '</div>
44 44
 <div class="kundendaten_kunde">
45
-<p><em>Aus der Datenbank</em></p>
45
+<p><em>Kundendaten:</em></p>
46 46
 <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>';
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> ';
48 48
 $content .= '</div>';
49 49
 
50 50
 $content .= '</td></tr></table>';
... ...
@@ -132,8 +132,35 @@ $content .= '<div class="auftrag_bestaetigen"><button class="btn btn-primary">Au
132 132
 <button class="btn btn-secondary">Auftrag annehmen und sofort verarbeiten</button></div>';
133 133
 $content .= '</form>';
134 134
 
135
+$content .= '
136
+    <div class="modal fade" id="gitterbox-neu-dialog" tabindex="-1" role="dialog" aria-labelledby="Gitterbox" aria-hidden="true">
137
+        <div class="modal-dialog">
138
+            <div class="modal-content">
139
+                <div class="modal-header">
140
+                    <h4 class="modal-title">Neue Gitterbox erfassen</h4>
141
+                </div>
142
+
143
+                <div class="modal-body">
144
+                <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>
146
+                </div>
147
+
148
+                <div class="modal-body">
149
+                <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>
151
+                </div>
152
+
153
+                <div class="modal-footer">
154
+                    <button type="button" class="btn btn-outline-secondary" data-dismiss="modal">Abbrechen</button>
155
+                </div>
156
+            </div>
157
+        </div>
158
+    </div>
159
+';
135 160
 
136 161
 $content .= modal_kundensuche($a['kundendaten']);
162
+$content .= modal_kunde_aendern();
163
+$content .= modal_confirmation();
137 164
 
138 165
 
139 166
 include "template.php";
Browse code

Diverse Änderungen im internen Bereich

Bernd Wurst authored on14/06/2020 18:17:06
Showing1 changed files
... ...
@@ -1,8 +1,11 @@
1 1
 <?php
2 2
 require_once 'lib/api.php';
3
+require_once 'lib/modal.php';
4
+require_once 'lib/tools.php';
3 5
 session_start();
4 6
 
5 7
 $handle = null;
8
+$handle_length = 8;
6 9
 if (isset($_GET['handle'])) {
7 10
     $handle = $_GET['handle'];
8 11
 } else {
... ...
@@ -12,8 +15,8 @@ if (isset($_GET['handle'])) {
12 15
 
13 16
 $data = array("handle" => $handle);
14 17
 
15
-$ret = api_call('auftrag/lesen', $data);
16
-$a = $ret['auftrag'];
18
+$ret = api_call('vorgang/lesen', $data);
19
+$a = $ret['vorgang'];
17 20
 
18 21
 if (isset($_GET['handle']) && $a['revision'] == 0) {
19 22
     echo "Fehler im System";
... ...
@@ -24,77 +27,30 @@ if (isset($_GET['handle']) && $a['revision'] == 0) {
24 27
 
25 28
 $previous = 'unbestaetigte.php';
26 29
 $headline = 'Auftrag bestätigen';
27
-$content = '';
30
+$content = '<input type="hidden" id="handle" name="handle" value="'.$handle.'">';
28 31
 
29 32
 $content .= '<h3>Kundendaten</h3>';
30
-$content .= '<div class="auftrag-kopf">';
31
-$addr = array();
32
-if (isset($a['kundendaten']['firma'])) {
33
-    $addr[] = $a['kundendaten']['firma'];
34
-}
35
-if (isset($a['kundendaten']['vorname'])) {
36
-    $addr[] = $a['kundendaten']['vorname'].' '.$a['kundendaten']['nachname'];
37
-} else {
38
-    $addr[] = $a['kundendaten']['nachname'];
39
-}
40
-if (isset($a['kundendaten']['adresse'])) {
41
-    $addr[] = $a['kundendaten']['adresse'];
42
-}
43
-if (isset($a['kundendaten']['ort'])) {
44
-    $addr[] = $a['kundendaten']['plz'].' '.$a['kundendaten']['ort'];
45
-}
46
-$addr[] = $a['kundendaten']['telefon'];
47
-
48
-$name = $a['name'];
49
-if (!$name) {
50
-    $name .= $a['telefon'];
51
-}
52
-
53
-$content .= '<div class="kundendaten_auftrag">'.implode('<br>', $addr).'
54
-<div class="auftragname_input">
55
-<label for="name"><em>Name für den Auftrag</em></label><br><input type="text" placeholder="Name" value="'.$name.'"><br>
56
-<button class="btn btn-secondary" id="name_save" label="Name speichern">Speichern</button>
57
-</div>
58
-</div>';
59
-
60
-$addr = array();
61
-if (isset($a['kundennr'])) {
62
-    $addr[] = 'Kundennummer: '.$a['kundennr'];
63
-    $data = array("kundennr" => $a['kundennr']);
64
-    $ret = api_call('kunde/laden', $data);
65
-    if (isset($ret['kunde'])) {
66
-        if (isset($ret['kunde']['firma'])) {
67
-            $addr[] = $ret['kunde']['firma'];
68
-        }
69
-        if (isset($ret['kunde']['vorname'])) {
70
-            $addr[] = $ret['kunde']['vorname'].' '.$ret['kunde']['nachname'];
71
-        } else {
72
-            $addr[] = $ret['kunde']['nachname'];
73
-        }
74
-        if (isset($ret['kunde']['adresse'])) {
75
-            $addr[] = $ret['kunde']['adresse'];
76
-        }
77
-        if (isset($ret['kunde']['ort'])) {
78
-            $addr[] = $ret['kunde']['plz'].' '.$ret['kunde']['ort'];
79
-        }
80
-        foreach ($ret['kunde']['kontakt'] as $kk) {
81
-            $addr[] = ucwords($kk['typ']).': '.$kk['wert'].($kk['notizen'] ? ' ('.$kk['notizen'].')' : '');
82
-        }
83
-    } else {
84
-        $addr[] = '<em>Fehler beim Abrufen der Kundendaten</em>';
85
-    }
86
-} else {
87
-    $addr[] = '<em>Keinem Kundenkonto zugeordnet</em>';
88
-}
89
-
90
-$content .= '<div class="kundendaten_aktionen">
91
-    <button id="kunde_zum_auftrag" title="Fehlende Daten von Kundendaten übernehmen" class="btn btn-secondary">&lt;----</button><br>
92
-    <button id="auftrag_zum_kunde" title="abweichende Daten in den Kundendaten aktualisieren" class="btn btn-secondary">----&gt;</button>
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>';
35
+
36
+$content .= '<div class="auftrag-kopf">
37
+<div class="kundendaten_auftrag">
38
+<p><em>Angaben des Kunden:</em></p>
39
+<p id="auftrag_kundenadresse">';
40
+$content .= adresse($a['kundendaten'], 'auftragsdaten');
41
+
42
+$content .= '</p>';
43
+$content .= '</div>
44
+<div class="kundendaten_kunde">
45
+<p><em>Aus der Datenbank</em></p>
46
+<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>';
48
+$content .= '</div>';
93 49
 
94
-</div>';
95
-$content .= '<div class="kundendaten_kunde">'.implode('<br>', $addr).'<br><button class="btn btn-secondary"  id="kunde_suchen">Kunde suchen</button></div>';
50
+$content .= '</td></tr></table>';
96 51
 $content .= '</div>';
97 52
 
53
+
98 54
 $content .= '<div class="unterauftrag-container">';
99 55
 foreach ($a['bestellung'] as $best) {
100 56
     // Evtl. Mehrere Posten in dieser Bestellung
... ...
@@ -108,7 +64,7 @@ foreach ($a['bestellung'] as $best) {
108 64
         } else {
109 65
             $img .= 'Gitterbox';
110 66
         }
111
-        $obst[] = '<p class="gitterbox">'.$img.'</p>';
67
+        $obst[] = '<a href="#" class="gitterbox">'.$img.'</a>';
112 68
     }
113 69
     foreach ($best['anhaenger'] as $anh) {
114 70
         $img = '<img class="anhaenger" src="/assets/images/anhaenger.png"><br>';
... ...
@@ -117,39 +73,68 @@ foreach ($a['bestellung'] as $best) {
117 73
         } else {
118 74
             $img .= ' <em>Anhänger</em>';
119 75
         }
120
-        $obst[] = '<p class="anhaenger">'.$img.'</p>';
76
+        $obst[] = '<a href="#" class="anhaenger">'.$img.'</a>';
77
+    }
78
+    $content .= '<div class="lieferart">'.implode('', $obst).'<a href="#" class="gitterbox_neu">+<br>Weitere Lieferung</a></div>';
79
+    $content .= '<div class="obstmenge">';
80
+    $val = 0;
81
+    if (isset($best['obstmenge'])) {
82
+        $val = $best['obstmenge'];
83
+    }
84
+    $content .= '<label for="obstmenge">Obstmenge:</label> <input type="number" id="obstmenge" name="obstmenge" value="'.$val.'" step="10" min="0" maxlength="4"> '; 
85
+    foreach (array(50, 100, 150, 200, 250, 300, 350, 400) as $v) {
86
+        $v = max((count($best['gitterbox'])-1),0) * 400 + $v;
87
+        $content .= '<button class="obstmenge_vorschlag btn btn-outline-secondary">'.$v.'</button> ';
121 88
     }
122
-    $content .= '<div class="lieferart">'.implode('', $obst).'</div>';
89
+    $content .= '</div>';
123 90
     // Gebrauchte
91
+    $sel = 'gebrauchte_nein';
124 92
     if ($best['gebrauchte']) {
125
-        $content .= '<p class="gebrauchte">Gebrauchte Kartons: <strong>JA</strong></p>';
126
-    } else {
127
-        $content .= '<p class="gebrauchte">Gebrauchte Kartons: <strong>NEIN</strong></p>';
93
+        $sel = 'gebrauchte_ja';
128 94
     }
95
+    $content .= '<p class="gebrauchte">Gebrauchte Kartons: 
96
+    <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>';
129 99
     // Neue
130
-    $neue = array();
131
-    if (count($best['neue']) == 1) {
132
-            $key = array_keys($best['neue']);
133
-            if ($key[0] != 'sonstiges') {
134
-                $neue[] = 'Nur/Zuerst <strong>'.$key[0].'</strong>';
135
-            }
136
-    } else {
137
-        foreach ($best['neue'] as $key => $val) {
138
-            $neue[] = '<strong>'.$key.'</strong>: '.$val;
100
+    $content .= '<div class="neue">
101
+    <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
+    <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
+    <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
+    <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
+    ';
106
+    $neue = array("3er" => '', "5er" => '', "10er" => '');
107
+    foreach ($neue as $key => $val) {
108
+        $val = '';
109
+        if (isset($best['neue'][$key])) {
110
+            $val = $best['neue'][$key];
139 111
         }
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>';
140 113
     }
141 114
     if (isset($best['neue']['sonstiges'])) {
142 115
         $neue[] = '<em>'.$best['neue']['sonstiges'].'</em>';
143 116
     }
144
-    $content .= '<div class="neue"><p>'.implode('</p><p>', $neue).'</p></div>';
145
-    if (isset($best['anmerkungen'])) {
146
-        $content .= '<div class="anmerkungen">'.htmlspecialchars($best['anmerkungen']).'</div>';
117
+    $content .= '<div class="neue_detail"><p>'.implode('</p><p>', $neue).'</p></div>';
118
+    $content .= '</div>';
119
+    $content .= '<div class="anmerkungen"><textarea name="anmerkungen" id="anmerkungen">'.htmlspecialchars($best['anmerkungen']).'</textarea></div>';
120
+    $content .= '<div class="frischsaft">
121
+    <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>';
124
+    if (count($a['bestellung']) > 1) {
125
+        $content .= '<div class="unterauftrag_bestaetigen"><button class="btn btn-secondary">Diesen Unterauftrag separat annehmen</button></div>';
147 126
     }
148 127
     $content .= '</div>'; // Unterauftrag
149 128
 }
150 129
 
151 130
 $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>';
152 133
 $content .= '</form>';
153 134
 
135
+
136
+$content .= modal_kundensuche($a['kundendaten']);
137
+
138
+
154 139
 include "template.php";
155 140
 
Browse code

erster stub für internes Webinterface

Bernd Wurst authored on10/06/2020 18:22:57
Showing1 changed files
1 1
new file mode 100644
... ...
@@ -0,0 +1,155 @@
1
+<?php
2
+require_once 'lib/api.php';
3
+session_start();
4
+
5
+$handle = null;
6
+if (isset($_GET['handle'])) {
7
+    $handle = $_GET['handle'];
8
+} else {
9
+    $random = base64_encode(md5(microtime()));
10
+    $handle = substr(str_replace(array('+', '=', '/'), '', $random), 0, $handle_length);
11
+}
12
+
13
+$data = array("handle" => $handle);
14
+
15
+$ret = api_call('auftrag/lesen', $data);
16
+$a = $ret['auftrag'];
17
+
18
+if (isset($_GET['handle']) && $a['revision'] == 0) {
19
+    echo "Fehler im System";
20
+    die();
21
+}
22
+
23
+
24
+
25
+$previous = 'unbestaetigte.php';
26
+$headline = 'Auftrag bestätigen';
27
+$content = '';
28
+
29
+$content .= '<h3>Kundendaten</h3>';
30
+$content .= '<div class="auftrag-kopf">';
31
+$addr = array();
32
+if (isset($a['kundendaten']['firma'])) {
33
+    $addr[] = $a['kundendaten']['firma'];
34
+}
35
+if (isset($a['kundendaten']['vorname'])) {
36
+    $addr[] = $a['kundendaten']['vorname'].' '.$a['kundendaten']['nachname'];
37
+} else {
38
+    $addr[] = $a['kundendaten']['nachname'];
39
+}
40
+if (isset($a['kundendaten']['adresse'])) {
41
+    $addr[] = $a['kundendaten']['adresse'];
42
+}
43
+if (isset($a['kundendaten']['ort'])) {
44
+    $addr[] = $a['kundendaten']['plz'].' '.$a['kundendaten']['ort'];
45
+}
46
+$addr[] = $a['kundendaten']['telefon'];
47
+
48
+$name = $a['name'];
49
+if (!$name) {
50
+    $name .= $a['telefon'];
51
+}
52
+
53
+$content .= '<div class="kundendaten_auftrag">'.implode('<br>', $addr).'
54
+<div class="auftragname_input">
55
+<label for="name"><em>Name für den Auftrag</em></label><br><input type="text" placeholder="Name" value="'.$name.'"><br>
56
+<button class="btn btn-secondary" id="name_save" label="Name speichern">Speichern</button>
57
+</div>
58
+</div>';
59
+
60
+$addr = array();
61
+if (isset($a['kundennr'])) {
62
+    $addr[] = 'Kundennummer: '.$a['kundennr'];
63
+    $data = array("kundennr" => $a['kundennr']);
64
+    $ret = api_call('kunde/laden', $data);
65
+    if (isset($ret['kunde'])) {
66
+        if (isset($ret['kunde']['firma'])) {
67
+            $addr[] = $ret['kunde']['firma'];
68
+        }
69
+        if (isset($ret['kunde']['vorname'])) {
70
+            $addr[] = $ret['kunde']['vorname'].' '.$ret['kunde']['nachname'];
71
+        } else {
72
+            $addr[] = $ret['kunde']['nachname'];
73
+        }
74
+        if (isset($ret['kunde']['adresse'])) {
75
+            $addr[] = $ret['kunde']['adresse'];
76
+        }
77
+        if (isset($ret['kunde']['ort'])) {
78
+            $addr[] = $ret['kunde']['plz'].' '.$ret['kunde']['ort'];
79
+        }
80
+        foreach ($ret['kunde']['kontakt'] as $kk) {
81
+            $addr[] = ucwords($kk['typ']).': '.$kk['wert'].($kk['notizen'] ? ' ('.$kk['notizen'].')' : '');
82
+        }
83
+    } else {
84
+        $addr[] = '<em>Fehler beim Abrufen der Kundendaten</em>';
85
+    }
86
+} else {
87
+    $addr[] = '<em>Keinem Kundenkonto zugeordnet</em>';
88
+}
89
+
90
+$content .= '<div class="kundendaten_aktionen">
91
+    <button id="kunde_zum_auftrag" title="Fehlende Daten von Kundendaten übernehmen" class="btn btn-secondary">&lt;----</button><br>
92
+    <button id="auftrag_zum_kunde" title="abweichende Daten in den Kundendaten aktualisieren" class="btn btn-secondary">----&gt;</button>
93
+
94
+</div>';
95
+$content .= '<div class="kundendaten_kunde">'.implode('<br>', $addr).'<br><button class="btn btn-secondary"  id="kunde_suchen">Kunde suchen</button></div>';
96
+$content .= '</div>';
97
+
98
+$content .= '<div class="unterauftrag-container">';
99
+foreach ($a['bestellung'] as $best) {
100
+    // Evtl. Mehrere Posten in dieser Bestellung
101
+    $content .= '<div class="unterauftrag">';
102
+    
103
+    $obst = array();
104
+    foreach ($best['gitterbox'] as $gb) {
105
+        $img = '<img class="gitterbox" src="/assets/images/gitterbox.png"><br>';
106
+        if ($gb['id']) {
107
+            $img .= 'GB #'.$gb['id'];
108
+        } else {
109
+            $img .= 'Gitterbox';
110
+        }
111
+        $obst[] = '<p class="gitterbox">'.$img.'</p>';
112
+    }
113
+    foreach ($best['anhaenger'] as $anh) {
114
+        $img = '<img class="anhaenger" src="/assets/images/anhaenger.png"><br>';
115
+        if (isset($anh['kennz'])) {
116
+            $img .= ' <strong>'.$anh['kennz'].'</strong> ';
117
+        } else {
118
+            $img .= ' <em>Anhänger</em>';
119
+        }
120
+        $obst[] = '<p class="anhaenger">'.$img.'</p>';
121
+    }
122
+    $content .= '<div class="lieferart">'.implode('', $obst).'</div>';
123
+    // Gebrauchte
124
+    if ($best['gebrauchte']) {
125
+        $content .= '<p class="gebrauchte">Gebrauchte Kartons: <strong>JA</strong></p>';
126
+    } else {
127
+        $content .= '<p class="gebrauchte">Gebrauchte Kartons: <strong>NEIN</strong></p>';
128
+    }
129
+    // Neue
130
+    $neue = array();
131
+    if (count($best['neue']) == 1) {
132
+            $key = array_keys($best['neue']);
133
+            if ($key[0] != 'sonstiges') {
134
+                $neue[] = 'Nur/Zuerst <strong>'.$key[0].'</strong>';
135
+            }
136
+    } else {
137
+        foreach ($best['neue'] as $key => $val) {
138
+            $neue[] = '<strong>'.$key.'</strong>: '.$val;
139
+        }
140
+    }
141
+    if (isset($best['neue']['sonstiges'])) {
142
+        $neue[] = '<em>'.$best['neue']['sonstiges'].'</em>';
143
+    }
144
+    $content .= '<div class="neue"><p>'.implode('</p><p>', $neue).'</p></div>';
145
+    if (isset($best['anmerkungen'])) {
146
+        $content .= '<div class="anmerkungen">'.htmlspecialchars($best['anmerkungen']).'</div>';
147
+    }
148
+    $content .= '</div>'; // Unterauftrag
149
+}
150
+
151
+$content .= '</div>'; // unterauftrag-container
152
+$content .= '</form>';
153
+
154
+include "template.php";
155
+