mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-07-22 09:22:22 +00:00
single fileupload
This commit is contained in:
@@ -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(
|
||||
|
||||
@@ -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');
|
||||
}
|
||||
}
|
||||
@@ -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>
|
||||
`
|
||||
|
||||
Reference in New Issue
Block a user