single fileupload

This commit is contained in:
ma0068
2024-01-03 09:50:06 +01:00
parent c2fb582db0
commit b07d9a9a63
5 changed files with 110 additions and 38 deletions
@@ -64,24 +64,33 @@ class Notiz extends FHC_Controller
{
/* var_dump($this->input->post('titel'));
var_dump($this->input->post('anhang'));*/
var_dump($_FILES);
var_dump($_FILES["anhang"]["name"]);
$this->load->library('form_validation');
$this->load->library('DmsLib');
$dms_id = null;
$name = $this->input->post('anhang')['name'];
$uid = getAuthUID();
$dms = array(
'kategorie_kurzbz' => 'notiz',
'version' => 0,
'name' => $_FILES["anhang"]["name"],
'mimetype' => $_FILES["anhang"]["type"],
'insertamum' => date('c'),
'insertvon' => $uid
);
var_dump($dms);
$result = $this->dmslib->upload($dms, 'anhang', array('pdf'));
//$this->DmsLib->add($name, $mimetype, $fileHandle);
/* $this->form_validation->set_rules('titel', 'titel', 'required');
$this->form_validation->set_rules('text', 'Text', 'required');
if ($this->form_validation->run() == false)
if (isSuccess($result))
{
return $this->outputJsonError($this->form_validation->error_array());
}*/
$dms_id = $result->retval['dms_id'];
//var_dump($dms_id);
}
$this->load->model('person/Notiz_model', 'NotizModel');
@@ -89,11 +98,45 @@ class Notiz extends FHC_Controller
$titel = isset($_POST['titel']) ? $_POST['titel'] : null;
$text = isset($_POST['text']) ? $_POST['text'] : null;
$verfasser_uid = $uid;
$start = isset($_POST['von']) ? $_POST['von'] : null;
$ende = isset($_POST['bis']) ? $_POST['bis'] : null;
/* $start = isset($_POST['bis']) ? ($_POST['bis'] : null;
$ende = isset($_POST['bis']) ? $_POST['bis'] : null;*/
if(isset($_POST['von']))
{
/* $date = $_POST['von'];
$date = DateTime::createFromFormat('F-d-Y h:i A',$date);
var_dump($date);
$timestamp = strtotime($_POST['von']);
$start = date('Y-m-d', $timestamp);*/
/* $dateString = $_POST['von'];
$myDateTime = DateTime::createFromFormat('Y-m-d', $dateString);
$start= $myDateTime->format('Y-m-d');*/
//Todo(manu) check input format datepicker.. auch ohne null!!!
$start = '2023-01-01';
}
else
$start = null;
if(isset($_POST['bis']))
{
//Todo(manu) check input format datepicker
$ende = strtotime($_POST['bis']);
$ende = new DateTime($ende);
$ende = $ende->format('Y-m-d');
}
else
$ende = null;
$erledigt = $_POST['erledigt'];
$result = $this->NotizModel->addNotizForPersonWithDoc($person_id, $titel, $text, $erledigt, $verfasser_uid, $start, $ende);
$result = $this->NotizModel->addNotizForPersonWithDoc($person_id, $titel, $text, $erledigt, $verfasser_uid, $start, $ende, $dms_id);
// var_dump($result);
@@ -146,8 +189,8 @@ class Notiz extends FHC_Controller
$text = isset($_POST['text']) ? $_POST['text'] : null;
$verfasser_uid = isset($_POST['verfasser_uid']) ? $_POST['verfasser_uid'] : null;
$bearbeiter_uid = $uid;
$start = isset($_POST['von']) ? $_POST['von'] : null;
$ende = isset($_POST['bis']) ? $_POST['bis'] : null;
$start = isset($_POST['von']) ? new DateTime($_POST['von']) : null;
$ende = isset($_POST['bis']) ? new DateTime($_POST['bis']) : null;
$erledigt = $_POST['erledigt'];
$result = $this->NotizModel->update(
@@ -177,6 +220,7 @@ class Notiz extends FHC_Controller
public function deleteNotiz ($notiz_id)
{
//Todo(manu) Notizzuordnung und NotizDokument ebenfalls berücksichtigen
$this->load->model('person/Notiz_model', 'NotizModel');
$result = $this->NotizModel->delete(
+8 -1
View File
@@ -137,7 +137,7 @@ class Notiz_model extends DB_Model
* Add a Notiz for a given person
*/
//TODO(manu) add type for Notizzuordnung
public function addNotizForPersonWithDoc($person_id, $titel, $text, $erledigt, $verfasser_uid, $von, $bis)
public function addNotizForPersonWithDoc($person_id, $titel, $text, $erledigt, $verfasser_uid, $von, $bis, $dms_id=null)
{
// Loads model Notizzuordnung_model
$this->load->model('person/Notizzuordnung_model', 'NotizzuordnungModel');
@@ -152,6 +152,13 @@ class Notiz_model extends DB_Model
{
$notiz_id = $result->retval;
$result = $this->NotizzuordnungModel->insert(array('notiz_id' => $notiz_id, 'person_id' => $person_id));
if($dms_id)
{
// Loads model Notizdokument_model
$this->load->model('person/Notizdokument_model', 'NotizdokumentModel');
$result = $this->NotizdokumentModel->insert(array('notiz_id' => $notiz_id, 'dms_id' => $dms_id));
}
}
// Transaction complete!
@@ -0,0 +1,14 @@
<?php
class Notizdokument_model extends DB_Model
{
/**
* Constructor
*/
public function __construct()
{
parent::__construct();
$this->dbTable = 'public.tbl_notiz_dokument';
$this->pk= array('notiz_id' , 'dms_id');
}
}
+24 -17
View File
@@ -98,7 +98,11 @@ export default {
},
methods: {
handleFileChange(event) {
//single
this.intAnhang = event.target.files[0];
//multiple
//this.intAnhang = event.target.files;
},
},
template: `
@@ -134,23 +138,26 @@ component: {{intTitel}} {{intVon}} || {{intAnhang.name}} {{intAnhang}}
<!--<single-file id="file" v-model="intDocument"></single-file>-->
<div class="col-sm-7">
<span>
<input type="file" ref="fileInput" @change="handleFileChange" v-model="intAnhang"/>
<!-- <button type="submit">Upload</button>-->
<div v-if="intAnhang.name">
<p>Selected File: {{ intAnhang.name }}</p>
<button class="text-danger">X</button>
</div>
</span>
<span >
<ul>
<li v-for="anh in anhang">
<button>{{anh.name}}</button><button class="text-danger">X</button>
</li>
</ul>
</span>
<span>
<input type="file" multiple ref="fileInput" @change="handleFileChange" v-model="intAnhang"/>
<!-- <button type="submit">Upload</button>-->
<div v-if="intAnhang.name">
<p>Selected File: {{ intAnhang.name }}</p>
<button class="text-danger">X</button>
</div>
</span>
<!-- Anzeige outputs-->
<span >
<ul>
<li v-for="anh in anhang">
<button>{{anh.name}}</button><button class="text-danger">X</button>
</li>
</ul>
</span>
</div>
</div>
</slot>
</div>
@@ -174,12 +181,12 @@ component: {{intTitel}} {{intVon}} || {{intAnhang.name}} {{intAnhang}}
<div class="row mb-3">
<label for="von" class="form-label col-sm-2">von</label>
<div class="col-sm-2">
<vue-date-picker id="von" v-model="intVon" clearable="false" no-today auto-apply enable-time-picker="true" format="dd.MM.yyyy" preview-format="dd.MM.yyyy"></vue-date-picker>
<vue-date-picker id="von" v-model="intVon" clearable="false" auto-apply enable-time-picker="true" format="Y-m-d" preview-format="dd.MM.yyyy"></vue-date-picker>
</div>
<label for="bis" class="form-label col-sm-1">bis</label>
<div class="col-sm-2">
<vue-date-picker id="bis" v-model="intBis" clearable="false" no-today auto-apply enable-time-picker="true" format="dd.MM.yyyy" preview-format="dd.MM.yyyy"></vue-date-picker>
<vue-date-picker id="bis" v-model="intBis" clearable="false" auto-apply enable-time-picker="true" format="dd.MM.yyyy" preview-format="dd.MM.yyyy"></vue-date-picker>
</div>
<label for="bis" class="form-label col-sm-1">erledigt</label>
@@ -103,7 +103,7 @@ export default {
},
actionNewNotiz(){
this.formData.titel = '';
this.formData.action = 'Neue Notiz';
this.formData.action = 'Neue Notiz2';
this.formData.text = null;
this.formData.von = null;
this.formData.bis = null;
@@ -114,10 +114,10 @@ export default {
this.formData.anhang = [];
},
addNewNotiz(notizData) {
console.log(this.formData);
//console.log(this.formData);
const formData = new FormData();
Object.entries(this.formData).forEach(([k, v]) => formData.append(k, v));
console.log(formData);
//console.log(formData);
CoreRESTClient.post('components/stv/Notiz/addNewNotiz/' + this.modelValue.person_id,
formData,
{ Headers: { "Content-Type": "multipart/form-data" } }
@@ -204,6 +204,7 @@ export default {
this.formData.verfasser = null;
this.formData.bearbeiter = null;
this.formData.anhang = [];
//this.formData.anhang = {};
},
updateNotiz(notiz_id){
CoreRESTClient.post('components/stv/Notiz/updateNotiz/' + notiz_id,
@@ -231,7 +232,6 @@ export default {
},
template: `
<div class="stv-details-details h-100 pb-3">
{{modelValue}}
<!--Modal: deleteNotizModal-->
<BsModal ref="deleteNotizModal">
@@ -281,7 +281,7 @@ export default {
<div>
parent: {{anhang}} | {{formData.anhang.name}}
parent: {{formData.anhang}} | {{formData.anhang.name}}
</div>
</div>
`