Author SHA1 Message Date
OpenXE bdb05c747a Wareneingang bugfix abschliessen, removed edit from minidetail 2023-10-01 19:48:21 +02:00
OpenXE b613a99791 Wareneingang added link to artikel 2023-10-01 19:33:05 +02:00
OpenXE 1dba7e9d7e Wareneingang save preliminary 2023-10-01 19:19:09 +02:00
OpenXE 60e21956ad class YUI removed <br> from tablesearch 2023-10-01 19:18:28 +02:00
OpenXE 545a39bbdc Wareneingang changed to booking all at once -> TBD: save preliminary, fill, empty 2023-09-30 11:40:59 +02:00
OpenXE 5ed516f9da ticket system betreff strip tags 2023-09-21 08:30:05 +02:00
OpenXE 76c770aba3 Bugfix managementboard removed invalid reference RechnungslaufRechnungslauf 2023-09-11 20:42:14 +02:00
OpenXE c9aee26df7 removed .woff2 fonts 2023-08-31 10:31:54 +02:00
OpenXE 91c2dc88ba document send preselect default mail address from firmendaten 2023-08-15 12:37:16 +02:00
OpenXE be222cc581 bugfix wareneingang bemerkung 2023-08-14 20:57:21 +02:00
35 changed files with 2397 additions and 2557 deletions
-3
View File
@@ -12108,9 +12108,6 @@ url:strUrl, success:function(html){strReturn = html;}, async:false
</tr> </tr>
</tfoot> </tfoot>
</table></div> </table></div>
<br>
<br>
<br>
'); ');
if((empty($disableautosavefilter)) && $this->anzusersaves < 2) { if((empty($disableautosavefilter)) && $this->anzusersaves < 2) {
+11
View File
@@ -64785,6 +64785,17 @@
"Extra": "", "Extra": "",
"Privileges": "select,insert,update,references", "Privileges": "select,insert,update,references",
"Comment": "" "Comment": ""
},
{
"Field": "vorlaeufig",
"Type": "int(1)",
"Collation": null,
"Null": "YES",
"Key": "",
"Default": "",
"Extra": "",
"Privileges": "select,insert,update,references",
"Comment": ""
} }
], ],
"keys": [ "keys": [
+1 -1
View File
@@ -26040,7 +26040,7 @@ function ChargenMHDAuslagern($artikel, $menge, $lagerplatztyp, $lpid,$typ,$wert,
$this->app->Tpl->Set('DRUCKER', $this->GetSelectDrucker($selected)); $this->app->Tpl->Set('DRUCKER', $this->GetSelectDrucker($selected));
} }
$this->app->Tpl->Set('FAX',$this->GetSelectFax()); $this->app->Tpl->Set('FAX',$this->GetSelectFax());
$this->app->Tpl->Set('EMAILEMPFAENGER',$this->GetSelectEmail()); $this->app->Tpl->Set('EMAILEMPFAENGER',$this->GetSelectEmail($this->Firmendaten("email")));
$projektabkuerzung = $this->app->DB->Select("SELECT abkuerzung FROM projekt WHERE id='$projekt'"); $projektabkuerzung = $this->app->DB->Select("SELECT abkuerzung FROM projekt WHERE id='$projekt'");
$this->app->Tpl->Set('PROJEKT',$projektabkuerzung); $this->app->Tpl->Set('PROJEKT',$projektabkuerzung);
//$this->app->Tpl->Set(PROJEKT,$this->GetProjektSelect($projekt)); //$this->app->Tpl->Set(PROJEKT,$this->GetProjektSelect($projekt));
+1 -1
View File
@@ -19,7 +19,7 @@
<fieldset> <fieldset>
<table width="100%" border="0" class="mkTableFormular"> <table width="100%" border="0" class="mkTableFormular">
<legend>{|[STATUSICON]<b>Ticket <font color="blue">#[SCHLUESSEL]</font></b>|}</legend> <legend>{|[STATUSICON]<b>Ticket <font color="blue">#[SCHLUESSEL]</font></b>|}</legend>
<tr><td>{|Betreff|}:</td><td><input type="text" name="betreff" id="betreff" value="[BETREFF]" size="20"></td></tr> <tr><td>{|Betreff|}:</td><td><input type="text" name="betreff" id="betreff" value="[BETREFF]" size="100%"></td></tr>
<tr><td>{|Von|}:</td><td>[KUNDE]&nbsp;[MAILADRESSE]</td></tr> <tr><td>{|Von|}:</td><td>[KUNDE]&nbsp;[MAILADRESSE]</td></tr>
<tr><td>{|Projekt|}:</td><td><input type="text" name="projekt" id="projekt" value="[PROJEKT]" size="20"></td></tr> <tr><td>{|Projekt|}:</td><td><input type="text" name="projekt" id="projekt" value="[PROJEKT]" size="20"></td></tr>
<tr><td>{|Adresse|}:</td><td><input type="text" name="adresse" id="adresse" value="[ADRESSE]" size="20"><a href="index.php?module=adresse&action=edit&id=[ADRESSE_ID]"><img src="./themes/new/images/forward.svg" border="0" style="top:6px; position:relative"></a></td></tr> <tr><td>{|Adresse|}:</td><td><input type="text" name="adresse" id="adresse" value="[ADRESSE]" size="20"><a href="index.php?module=adresse&action=edit&id=[ADRESSE_ID]"><img src="./themes/new/images/forward.svg" border="0" style="top:6px; position:relative"></a></td></tr>
@@ -1,7 +1,11 @@
<!--
<table id="table[MD5]"> <table id="table[MD5]">
<tr><td>{|Lieferschein|}:</td><td><input type="checkbox" onchange="lsclick[MD5]();" id="beiback_lieferschein[MD5]" disabled value="1" [BEIPACK_LIEFERSCHEIN] /></td><td><span id="lsnr[MD5]">[LSNR]</span></td><td><input type="button" value="{|Belege &auml;ndern|}" style="cursor:hand;" onclick="editclick[MD5]();" /></td></tr> <tr><td>{|Lieferschein|}:</td><td><input type="checkbox" onchange="lsclick[MD5]();" id="beiback_lieferschein[MD5]" disabled value="1" [BEIPACK_LIEFERSCHEIN] /></td><td><span id="lsnr[MD5]">[LSNR]</span></td>
<td><input type="button" value="{|Belege &auml;ndern|}" style="cursor:hand;" onclick="editclick[MD5]();" /></td>
</tr>
<tr><td>{|Rechnung|}:</td><td><input type="checkbox" onchange="reclick[MD5]();" id="beiback_rechnung[MD5]" disabled value="1" [BEIPACK_RECHNUNG] /></td><td><span id="renr[MD5]">[RENR]</span></td><td></td></tr> <tr><td>{|Rechnung|}:</td><td><input type="checkbox" onchange="reclick[MD5]();" id="beiback_rechnung[MD5]" disabled value="1" [BEIPACK_RECHNUNG] /></td><td><span id="renr[MD5]">[RENR]</span></td><td></td></tr>
</table> </table>
-->
<table width="100%"> <table width="100%">
<tr><td width="100%">[ARTIKEL]</td></tr> <tr><td width="100%">[ARTIKEL]</td></tr>
+40 -16
View File
@@ -11,9 +11,7 @@
<input type="hidden" id="paketannahme_id" value="[ID]" /> <input type="hidden" id="paketannahme_id" value="[ID]" />
[BEFORETAB1] [BEFORETAB1]
<div id="tabs-1"> <div id="tabs-1">
[TAB1START] [TAB1START]
[MESSAGE1] [MESSAGE1]
<form action="" method="post"> <form action="" method="post">
<div class="row"> <div class="row">
@@ -26,25 +24,51 @@
<tr><td>{|Lieferschein-Nr.|}:</td><td><input type=text size="40" name="lsnr" value=[LSNR]></td></tr> <tr><td>{|Lieferschein-Nr.|}:</td><td><input type=text size="40" name="lsnr" value=[LSNR]></td></tr>
<tr><td>{|Rechnung-Nr.|}:</td><td><input type=text size="40" name="renr" value=[RENR]></td></tr> <tr><td>{|Rechnung-Nr.|}:</td><td><input type=text size="40" name="renr" value=[RENR]></td></tr>
<tr><td>{|Bemerkung|}:</td><td><textarea rows="5" cols="40" name="bemerkung">[BEMERKUNG]</textarea></td></tr> <tr><td>{|Bemerkung|}:</td><td><textarea rows="5" cols="40" name="bemerkung">[BEMERKUNG]</textarea></td></tr>
<tr><td><input type="submit" name="speichern" class="btnGreenNew" value="Speichern"></td> [ISLIEFERANTSTART]
<tr><td>{|Ziellager|}:</td><td><input type=text size="40" name="ziellager" id="ziellager" value=[LAGER]></td></tr>
[ISLIEFERANTENDE]
</table> </table>
</fieldset> </fieldset>
</div> </div>
</div> </div>
<div class="col-xs-12 col-md-2 col-md-height"> <div class="col-xs-12 col-md-2 col-md-height">
<div class="inside inside-full-height"> <div class="inside inside-full-height">
<fieldset> <fieldset>
<legend>{|Aktionen|}</legend> [BUTTONS]
[BUTTONS] [BEFOREFRM]
[BEFOREFRM] [AFTERFRM]
[AFTERFRM] [DISTRIINHALTBUTTONS]
[DISTRIINHALTBUTTONS] [BEFOREFRM]
<input type="submit" name="abschliessen" id="btnabschliessen" class="btnGreenNew" value="Paketinhalt ist erfasst"> [AFTERFRM]
[BEFOREMANUELLERFASSEN] <table width="100%" border="0" class="mkTableFormular">
<input type="submit" name="manuellerfassen" class="btnBlueNew" value="Artikel manuell erfassen"> <legend>{|Aktionen|}</legend>
[AFTERMANUELLERFASSEN] [BEFOREMANUELLERFASSEN]
[BEFOREFRM] <tr><td>
[AFTERFRM] <button name="submit" class="ui-button-icon" style="width:100%;" value="manuellerfassen">{|Artikel manuell erfassen|}</button>
</td></tr>
[AFTERMANUELLERFASSEN]
[ISLIEFERANTSTART]
<!--
<tr><td>
<button name="submit" class="ui-button-icon" style="width:100%;" value="fuellen">{|Aus Bestellungen f&uuml;llen|}</button>
</td></tr>
<tr><td>
<button name="submit" class="ui-button-icon" style="width:100%;" value="leeren">{|Leeren|}</button>
</td></tr>
-->
[ISLIEFERANTENDE]
<tr><td>
<button name="submit" class="ui-button-icon" style="width:100%;" value="speichern">{|Speichern|}</button>
</td></tr>
[ISLIEFERANTSTART]
<tr><td>
<button name="submit" class="ui-button-icon" style="width:100%;" value="buchen">{|Buchen|}</button>
</td></tr>
[ISLIEFERANTENDE]
<tr><td>
<button name="submit" class="ui-button-icon" style="width:100%;" value="abschliessen">{|Abschlie&szlig;en|}</button>
</td></tr>
</table>
</fieldset> </fieldset>
</div> </div>
</div> </div>
@@ -54,7 +78,7 @@
<div class="row-height"> <div class="row-height">
<div class="col-xs-12 col-md-10 col-md-height"> <div class="col-xs-12 col-md-10 col-md-height">
<div class="inside-white inside-full-height"> <div class="inside-white inside-full-height">
[TAB1] [TAB1]
</div> </div>
</div> </div>
</div> </div>
+2 -1
View File
@@ -401,7 +401,8 @@ class Managementboard
/** @var Rechnungslauf $obj */ /** @var Rechnungslauf $obj */
$obj = $this->app->erp->LoadModul('rechnungslauf'); $obj = $this->app->erp->LoadModul('rechnungslauf');
if($obj){ if($obj){
$w[24] = $obj->RechnungslaufRechnungslauf(true); // $w[24] = $obj->RechnungslaufRechnungslauf(true); // This does not exist, presumably old xentral function
$w[24] = 0;
} }
else { else {
$w[24] = 0; $w[24] = 0;
+7 -3
View File
@@ -68,7 +68,7 @@ class Ticket {
$dropnbox = "'<img src=./themes/new/images/details_open.png class=details>' AS `open`, $dropnbox = "'<img src=./themes/new/images/details_open.png class=details>' AS `open`,
CONCAT('<input type=\"checkbox\" name=\"auswahl[]\" value=\"',t.id,'\" />') AS `auswahl`"; CONCAT('<input type=\"checkbox\" name=\"auswahl[]\" value=\"',t.id,'\" />') AS `auswahl`";
$priobetreff = "if(t.prio!=1,t.betreff,CONCAT('<b><font color=red>',t.betreff,'</font></b>'))"; $priobetreff = "if(t.prio!=1,REGEXP_REPLACE(t.betreff, '<[^>]*>+', ''),CONCAT('<b><font color=red>',REGEXP_REPLACE(t.betreff, '<[^>]*>+', ''),'</font></b>'))"; //+ #20230916 XSS
$anzahlnachrichten = "(SELECT COUNT(n.id) FROM ticket_nachricht n WHERE n.ticket = t.schluessel)"; $anzahlnachrichten = "(SELECT COUNT(n.id) FROM ticket_nachricht n WHERE n.ticket = t.schluessel)";
@@ -310,6 +310,8 @@ class Ticket {
// Add Messages now // Add Messages now
foreach ($messages as $message) { foreach ($messages as $message) {
$message['betreff'] = strip_tags($message['betreff']); //+ #20230916 XSS
// Clear this first // Clear this first
$this->app->Tpl->Set('NACHRICHT_ANHANG',""); $this->app->Tpl->Set('NACHRICHT_ANHANG',"");
@@ -622,6 +624,8 @@ class Ticket {
$ticket_from_db = $this->app->DB->SelectArr($sql)[0]; $ticket_from_db = $this->app->DB->SelectArr($sql)[0];
$ticket_from_db['betreff'] = htmlentities(strip_tags($ticket_from_db['betreff'])); //+ #20230916 XSS
foreach ($ticket_from_db as $key => $value) { foreach ($ticket_from_db as $key => $value) {
$this->app->Tpl->Set(strtoupper($key), $value); $this->app->Tpl->Set(strtoupper($key), $value);
} }
@@ -733,10 +737,10 @@ class Ticket {
if (!empty($recv_messages)) { if (!empty($recv_messages)) {
if (!str_starts_with(strtoupper($recv_messages[0]['betreff']),"RE:")) { if (!str_starts_with(strtoupper($recv_messages[0]['betreff']),"RE:")) {
$betreff = "RE: ".$recv_messages[0]['betreff']; $betreff = "RE: ".strip_tags($recv_messages[0]['betreff']); //+ #20230916 XSS
} }
else { else {
$betreff = $recv_messages[0]['betreff']; $betreff = strip_tags($recv_messages[0]['betreff']); //+ #20230916 XSS
} }
$sql = "SELECT GROUP_CONCAT(DISTINCT `value` ORDER BY `value` SEPARATOR ', ') FROM ticket_header th WHERE th.ticket_nachricht = ".$recv_messages[0]['id']." AND `value` <> '".$senderAddress."' AND type='to'"; $sql = "SELECT GROUP_CONCAT(DISTINCT `value` ORDER BY `value` SEPARATOR ', ') FROM ticket_header th WHERE th.ticket_nachricht = ".$recv_messages[0]['id']." AND `value` <> '".$senderAddress."' AND type='to'";
+2287 -2315
View File
File diff suppressed because it is too large Load Diff
-34
View File
@@ -1,37 +1,3 @@
@font-face {
font-family: 'Inter';
font-style: normal;
font-weight: 400;
font-display: swap;
src: url('../themes/new/fonts/Inter-Regular.woff2?v=3.13') format("woff2"),
url('../themes/new/fonts/Inter-Regular.woff?v=3.13') format("woff");
}
@font-face {
font-family: 'Inter';
font-style: italic;
font-weight: 400;
font-display: swap;
src: url('../themes/new/fonts/Inter-Italic.woff2?v=3.13') format("woff2"),
url('../themes/new/fonts/Inter-Italic.woff?v=3.13') format("woff");
}
@font-face {
font-family: 'Inter';
font-style: normal;
font-weight: 700;
font-display: swap;
src: url('../themes/new/fonts/Inter-Bold.woff2?v=3.13') format("woff2"),
url('../themes/new/fonts/Inter-Bold.woff?v=3.13') format("woff");
}
@font-face {
font-family: 'Inter';
font-style: italic;
font-weight: 700;
font-display: swap;
src: url('../themes/new/fonts/Inter-BoldItalic.woff2?v=3.13') format("woff2"),
url('../themes/new/fonts/Inter-BoldItalic.woff?v=3.13') format("woff");
}
body { body {
font-size: 16px; font-size: 16px;
font-family: 'Inter', Arial, Helvetica, sans-serif; font-family: 'Inter', Arial, Helvetica, sans-serif;
-35
View File
@@ -1,38 +1,3 @@
@font-face {
font-family: 'Inter';
font-style: normal;
font-weight: 400;
font-display: swap;
src: url('../themes/new/fonts/Inter-Regular.woff2?v=3.13') format("woff2"),
url('../fonts/Inter-Regular.woff?v=3.13') format("woff");
}
@font-face {
font-family: 'Inter';
font-style: italic;
font-weight: 400;
font-display: swap;
src: url('../themes/new/fonts/Inter-Italic.woff2?v=3.13') format("woff2"),
url('../fonts/Inter-Italic.woff?v=3.13') format("woff");
}
@font-face {
font-family: 'Inter';
font-style: normal;
font-weight: 700;
font-display: swap;
src: url('../fonts/Inter-Bold.woff2?v=3.13') format("woff2"),
url('../fonts/Inter-Bold.woff?v=3.13') format("woff");
}
@font-face {
font-family: 'Inter';
font-style: italic;
font-weight: 700;
font-display: swap;
src: url('../fonts/Inter-BoldItalic.woff2?v=3.13') format("woff2"),
url('../fonts/Inter-BoldItalic.woff?v=3.13') format("woff");
}
html { html {
box-sizing: border-box; box-sizing: border-box;
} }
-36
View File
@@ -1,39 +1,3 @@
@font-face {
font-family: 'Inter';
font-style: normal;
font-weight: 400;
font-display: swap;
src: url('../fonts/Inter-Regular.woff2?v=3.13') format("woff2"),
url('../fonts/Inter-Regular.woff?v=3.13') format("woff");
}
@font-face {
font-family: 'Inter';
font-style: italic;
font-weight: 400;
font-display: swap;
src: url('../fonts/Inter-Italic.woff2?v=3.13') format("woff2"),
url('../fonts/Inter-Italic.woff?v=3.13') format("woff");
}
@font-face {
font-family: 'Inter';
font-style: normal;
font-weight: 700;
font-display: swap;
src: url('../fonts/Inter-Bold.woff2?v=3.13') format("woff2"),
url('../fonts/Inter-Bold.woff?v=3.13') format("woff");
}
@font-face {
font-family: 'Inter';
font-style: italic;
font-weight: 700;
font-display: swap;
src: url('../themes/new/fonts/Inter-BoldItalic.woff2?v=3.13') format("woff2"),
url('../themes/new/fonts/Inter-BoldItalic.woff?v=3.13') format("woff");
}
html { html {
box-sizing: border-box; box-sizing: border-box;
} }
-68
View File
@@ -1,71 +1,3 @@
@font-face {
font-family: 'Inter';
font-style: normal;
font-weight: 400;
font-display: swap;
src: url('../fonts/Inter-Regular.woff2?v=3.13') format("woff2"),
url('../fonts/Inter-Regular.woff?v=3.13') format("woff");
}
@font-face {
font-family: 'Inter';
font-style: italic;
font-weight: 400;
font-display: swap;
src: url('../fonts/Inter-Italic.woff2?v=3.13') format("woff2"),
url('../fonts/Inter-Italic.woff?v=3.13') format("woff");
}
@font-face {
font-family: 'Inter';
font-style: normal;
font-weight: 500;
font-display: swap;
src: url("../fonts/Inter-Medium.woff2?v=3.13") format("woff2"),
url("../fonts/Inter-Medium.woff?v=3.13") format("woff");
}
@font-face {
font-family: 'Inter';
font-style: italic;
font-weight: 500;
font-display: swap;
src: url("../fonts/Inter-MediumItalic.woff2?v=3.13") format("woff2"),
url("../fonts/Inter-MediumItalic.woff?v=3.13") format("woff");
}
@font-face {
font-family: 'Inter';
font-style: normal;
font-weight: 600;
font-display: swap;
src: url("../fonts/Inter-SemiBold.woff2?v=3.13") format("woff2"),
url("../fonts/Inter-SemiBold.woff?v=3.13") format("woff");
}
@font-face {
font-family: 'Inter';
font-style: italic;
font-weight: 600;
font-display: swap;
src: url("../fonts/Inter-SemiBoldItalic.woff2?v=3.13") format("woff2"),
url("../fonts/Inter-SemiBoldItalic.woff?v=3.13") format("woff");
}
@font-face {
font-family: 'Inter';
font-style: normal;
font-weight: 700;
font-display: swap;
src: url('../fonts/Inter-Bold.woff2?v=3.13') format("woff2"),
url('../fonts/Inter-Bold.woff?v=3.13') format("woff");
}
@font-face {
font-family: 'Inter';
font-style: italic;
font-weight: 700;
font-display: swap;
src: url('../fonts/Inter-BoldItalic.woff2?v=3.13') format("woff2"),
url('../fonts/Inter-BoldItalic.woff?v=3.13') format("woff");
}
body { body {
font-size: 12px; font-size: 12px;
font-family: 'Inter', Arial, Helvetica, sans-serif; font-family: 'Inter', Arial, Helvetica, sans-serif;
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.