Compare commits

...

3 Commits

Author SHA1 Message Date
OpenXE
09aacfbb7b Bugfix file upload dragndrop 2024-06-12 15:14:57 +02:00
OpenXE
2b43efca70 Bugfix add price when address is in several groups 2024-06-11 20:00:16 +02:00
OpenXE
0b5b7cbed1 Bugfixes adressstammdatenblatt 2024-06-11 19:45:39 +02:00
6 changed files with 342 additions and 307 deletions

View File

@ -14135,24 +14135,18 @@ source: "index.php?module=ajax&action=filter&filtername=' . $filter . $extendurl
$action = $this->app->Secure->GetGET("action");
$id = $this->app->Secure->GetGET("id");
if($id)$this->app->Tpl->Set('ID',$id);
if ($speichern != "") {
$titel = $this->app->Secure->GetPOST("titel");
$beschreibung = $this->app->Secure->GetPOST("beschreibung");
$stichwort = $this->app->Secure->GetPOST("stichwort");
$this->app->Tpl->Set('TITLE', $titel);
$this->app->Tpl->Set('BESCHREIBUNG', $beschreibung);
if ($_FILES['upload']['tmp_name'] == "") {
$this->app->Tpl->Set('ERROR', "<div class=\"info\">Bitte w&auml;hlen Sie eine Datei aus und laden Sie diese herauf!</div>");
// Get files here
if ($speichern != "") {
$retval = $this->FilesFromUploadtoDMS(null, null, $datei);
if ($retval !== true) {
$this->app->Tpl->Set('ERROR', implode(', ',$retval));
$this->app->erp->EnableTab("tabs-2");
} else {
//$fileid = $this->app->erp->CreateDatei($_FILES['upload']['name'],$titel,$beschreibung,"",$_FILES['upload']['tmp_name'],$this->app->User->GetName());
$this->app->erp->AddDateiVersion($datei, $this->app->User->GetName(), $_FILES['upload']['name'], "Neue Version", $_FILES['upload']['tmp_name']);
header("Location: index.php?module=$module&action=$action&id=$id");
exit;
}
}
$this->app->Tpl->Set('STARTDISABLE', "<!--");
$this->app->Tpl->Set('ENDEDISABLE', "-->");
$this->app->Tpl->Parse($parsetarget, "datei_neudirekt.tpl");
@ -14229,60 +14223,17 @@ source: "index.php?module=ajax&action=filter&filtername=' . $filter . $extendurl
$id = $this->app->Secure->GetGET("id");
$sid = $this->app->Secure->GetGET("sid");
if($id)$this->app->Tpl->Set('ID', $id);
// Get files here
if ($speichern != "") {
if($parameter == '')$parameter = $id;
if(isset($_POST['dateiv']))
{
foreach($_POST['dateiv'] as $k => $v)
{
$name = $this->app->DB->real_escape_string($_POST['dateiname'][$k]);
$titel = $this->app->DB->real_escape_string($_POST['dateititel'][$k]);
$beschreibung = $this->app->DB->real_escape_string($_POST['beschreibung'][$k]);
$stichwort = $this->app->DB->real_escape_string($_POST['dateistichwort'][$k]);
//$getMime = explode('.', $name);
//$mime = end($getMime);
$data = explode(',', $v);
$encodedData = str_replace(' ','+',$data[1]);
$decodedData = base64_decode($encodedData);
$this->app->Tpl->Set('TITLE', $titel);
$this->app->Tpl->Set('BESCHREIBUNG', $beschreibung);
if ($v == "" ) {
$this->app->Tpl->Set('ERROR', "<div class=\"error\">Keine Datei ausgew&auml;hlt!</div>");
if($parameter == '') {
$parameter = $id;
}
$retval = $this->FilesFromUploadtoDMS($objekt, $parameter);
if ($retval !== true) {
$this->app->Tpl->Set('ERROR', implode(', ',$retval));
$this->app->erp->EnableTab("tabs-2");
} else {
$fileid = $this->app->erp->CreateDatei($name, $titel, $beschreibung, "", $decodedData, $this->app->User->GetName());
// stichwoerter hinzufuegen
$this->app->erp->AddDateiStichwort($fileid, $stichwort, $objekt, $parameter);
}
}
if($_FILES['upload']['tmp_name'] == "")
{
header("Location: index.php?module=$_module&action=$_action&id=$id&sid=$sid".($typ!=''?"&typ=".$typ:''));
}
}
$titel = $this->app->Secure->GetPOST("titel");
$beschreibung = $this->app->Secure->GetPOST("beschreibung");
$stichwort = $this->app->Secure->GetPOST("stichwort");
$this->app->Tpl->Set('TITLE', $titel);
$this->app->Tpl->Set('BESCHREIBUNG', $beschreibung);
if ($_FILES['upload']['tmp_name'] == "" && empty($_POST['dateiv'])) {
$this->app->Tpl->Set('ERROR', "<div class=\"error\">Keine Datei ausgew&auml;hlt!</div>");
$this->app->erp->EnableTab("tabs-2");
} elseif($_FILES['upload']['tmp_name'] != '') {
$fileid = $this->app->erp->CreateDatei($_FILES['upload']['name'], $titel, $beschreibung, "", $_FILES['upload']['tmp_name'], $this->app->User->GetName());
// stichwoerter hinzufuegen
$this->app->erp->AddDateiStichwort($fileid, $stichwort, $objekt, $parameter);
header("Location: index.php?module=$_module&action=$_action&id=$id&sid=$sid".($typ!=''?"&typ=".$typ:''));
}
}
@ -14551,6 +14502,87 @@ source: "index.php?module=ajax&action=filter&filtername=' . $filter . $extendurl
}
}
/*
* Retrieve uploaded files and put them into DMS
* $datei: given file, just add a new version
* Return array of errors or true
*/
function FilesFromUploadtoDMS($objekt, $parameter, $datei = false) {
$retval = true;
// Files come from drag'n'drop
if(isset($_POST['dateiv']))
{
foreach($_POST['dateiv'] as $k => $v)
{
$name = $this->app->DB->real_escape_string($_POST['dateiname'][$k]);
$titel = $this->app->DB->real_escape_string($_POST['dateititel'][$k]);
$beschreibung = $this->app->DB->real_escape_string($_POST['dateibeschreibung'][$k]);
$stichwort = $this->app->DB->real_escape_string($_POST['dateistichwort'][$k]);
$data = explode(',', $v);
$encodedData = str_replace(' ','+',$data[1]);
$decodedData = base64_decode($encodedData);
$this->app->Tpl->Set('TITLE', $titel);
$this->app->Tpl->Set('BESCHREIBUNG', $beschreibung);
if ($v == "" ) {
$this->app->Tpl->Set('ERROR', "<div class=\"error\">Keine Datei ausgew&auml;hlt!</div>");
$this->app->erp->EnableTab("tabs-2");
} else {
// Save file to disk first
$tempfilename = rtrim($this->app->erp->GetTMP(), '/') . "/" . $name;
if($handle = fopen($tempfilename, "wb")){
fwrite($handle, $decodedData);
fclose($handle);
// Add file to DMS
if ($datei) {
$this->app->erp->AddDateiVersion($datei, $this->app->User->GetName(), $name, "Neue Version", $tempfilename);
} else {
$fileid = $this->app->erp->CreateDatei($name, $titel, $beschreibung, "", $tempfilename, $this->app->User->GetName());
// stichwoerter hinzufuegen
$this->app->erp->AddDateiStichwort($fileid, $stichwort, $objekt, $parameter);
}
} else {
if ($retval === true) {
$retval = array();
}
$retval[] = "<div class=\"error\">Datei konnte nicht gespeichert werden: ".$name."</div>";
}
}
}
} // drag'n'drop
// Single file comes from browse button
else {
$titel = $this->app->Secure->GetPOST("titel");
$beschreibung = $this->app->Secure->GetPOST("beschreibung");
$stichwort = $this->app->Secure->GetPOST("stichwort");
$this->app->Tpl->Set('TITLE', $titel);
$this->app->Tpl->Set('BESCHREIBUNG', $beschreibung);
if ($_FILES['upload']['tmp_name'] == "" && empty($_POST['dateiv'])) {
$this->app->erp->EnableTab("tabs-2");
if ($retval === true) {
$retval = array();
}
$retval[] = "<div class=\"error\">Keine Datei ausgew&auml;hlt!</div>";
} elseif ($_FILES['upload']['tmp_name'] != '') {
if ($datei) {
$this->app->erp->AddDateiVersion($datei, $this->app->User->GetName(), $_FILES['upload']['name'], "Neue Version", $_FILES['upload']['tmp_name']);
}
else {
$fileid = $this->app->erp->CreateDatei($_FILES['upload']['name'], $titel, $beschreibung, "", $_FILES['upload']['tmp_name'], $this->app->User->GetName());
// stichwoerter hinzufuegen
$this->app->erp->AddDateiStichwort($fileid, $stichwort, $objekt, $parameter);
}
}
}
return($retval);
}
function SortListAdd($parsetarget, &$ref, $menu, $sql, $sort = true) {
$module = $this->app->Secure->GetGET("module");

View File

@ -38222,7 +38222,7 @@ function Firmendaten($field,$projekt="")
$sql_erweiterung = '';
if(!empty($gruppenarr))
{
$sql_erweiterung .= ' OR v.gruppe IN ('.implode(' ', $gruppenarr).') ';
$sql_erweiterung .= ' OR v.gruppe IN ('.implode(', ', $gruppenarr).') ';
}
if(!$guenstigste_vk) {
$vkarr = $this->app->DB->SelectArr("SELECT * FROM verkaufspreise v WHERE v.ab_menge <= '$menge' AND

View File

@ -21,6 +21,7 @@ class AdressstammblattPDF extends Dokumentenvorlage {
$this->app=$app;
//parent::Dokumentenvorlage();
$this->doctype="adresse";
$this->table="adresse";
$this->doctypeOrig="Adressstammblatt";
parent::__construct($this->app,$projekt);
}
@ -105,7 +106,7 @@ class AdressstammblattPDF extends Dokumentenvorlage {
if($adresse['mitarbeiternummer']!="")
$numbers[] = array("Mitarbeiter Nr.",$adresse['mitarbeiternummer']);
if(count($numbers)>0)
if($numbers?count($numbers):0>0)
$this->renderInfoBox($numbers);
$this->Ln(5);
@ -120,8 +121,8 @@ class AdressstammblattPDF extends Dokumentenvorlage {
', E-Mail: ',email
) as 'value' FROM ansprechpartner WHERE adresse='".$adresse['id']."'");
for($i=0;$i<count($ansprechpartner_tmp);$i++) $ansprechpartner[] = $ansprechpartner_tmp[$i]['value'];
if(count($ansprechpartner) > 0)
for($i=0;$i<($ansprechpartner_tmp?count($ansprechpartner_tmp):0);$i++) $ansprechpartner[] = $ansprechpartner_tmp[$i]['value'];
if($ansprechpartner_tmp?count($ansprechpartner):0 > 0)
{
$this->Ln(5);
$this->renderHeading("Ansprechpartner",8);
@ -132,7 +133,7 @@ class AdressstammblattPDF extends Dokumentenvorlage {
telefon,email
FROM lieferadressen WHERE adresse='".$adresse['id']."' ORDER by standardlieferadresse DESC");
for($i=0;$i<count($lieferadressen_tmp);$i++) {
for($i=0;$i<($lieferadressen_tmp?count($lieferadressen_tmp):0);$i++) {
$lieferadressen_tmp[$i]['value']="";
foreach($lieferadressen_tmp[$i] as $key=>$value)
{
@ -161,7 +162,7 @@ class AdressstammblattPDF extends Dokumentenvorlage {
$lieferadressen[] = $lieferadressen_tmp[$i]['value'].$standard;
}
if(count($lieferadressen) > 0)
if($lieferadressen?count($lieferadressen):0 > 0)
{
$this->Ln(5);
$this->renderHeading("Lieferadressen",8);

View File

@ -474,9 +474,11 @@ class Dokumentenvorlage extends SuperFPDF {
$this->Output($dir."/".$this->table."/".$this->id."_".$this->filename,'F');
}
public function displayDocument() {
public function displayDocument($archive = true) {
$this->renderDocument();
if ($archive) {
$this->archiveDocument();
}
$this->Output($this->filename,'D');
exit;
}

View File

@ -780,7 +780,7 @@ class Adresse extends GenAdresse {
}
$Brief->GetAdressstammblatt($id);
$Brief->displayDocument();
$Brief->displayDocument(archive: false);
$this->app->ExitXentral();
}

View File

@ -11,7 +11,7 @@
<td colspan="4">[ERROR]</td>
</tr>
<tr id="trdropfiles">
<td colspan="4">
<td colspan="6">
<div id="drop-files" ondragover="return false">
{|Dateien hier einf&uuml;gen|}
</div>
@ -333,7 +333,7 @@ $(document).ready(function() {
}
}
$('#trdatei').before('<tr><td>Datei '+vorschau+'</td><td class="tddateiname"><input type="hidden" name="dateiv[]" value="'+image+'" /><input type="hidden" name="dateiname[]" value="'+filenameEncoded+'" />'+filenameEncoded+'</td><td>Titel: <input type="text" name="dateititel[]" /></td><td><select name="dateistichwort[]">'+$('#stichwort').html()+'</select></td></tr>');
$('#trdatei').before(' <tr> <td>Datei '+vorschau+'</td> <td class="tddateiname"><input type="hidden" name="dateiv[]" value="'+image+'" /><input type="hidden" name="dateiname[]" value="'+filenameEncoded+'" />'+filenameEncoded+'</td> <td>Titel: <input type="text" name="dateititel[]" /></td> <td>{|Beschreibung|}:</td> <td><textarea name="dateibeschreibung[]" cols="50"></textarea></td> <td><select name="dateistichwort[]">'+$('#stichwort').html()+'</select></td> </tr> ');
};
})(files[index]);