Contractjournal finished & Started Contractconfig Hooks for Provisioning Workflow
This commit is contained in:
86
application/Contractjournal/ContractjournalController.php
Normal file
86
application/Contractjournal/ContractjournalController.php
Normal file
@@ -0,0 +1,86 @@
|
||||
<?php
|
||||
|
||||
class ContractjournalController extends mfBaseController {
|
||||
|
||||
protected function init() {
|
||||
$this->needlogin=true;
|
||||
$me = new User();
|
||||
$me->loadMe();
|
||||
$this->me = $me;
|
||||
$this->layout()->set("me",$me);
|
||||
|
||||
if(!$me->is(["Admin"])) {
|
||||
$this->redirect("Dashboard");
|
||||
}
|
||||
}
|
||||
|
||||
protected function saveAction() {
|
||||
$r = $this->request;
|
||||
//var_dump($r->get());exit;
|
||||
|
||||
$contract_id = $r->contract_id;
|
||||
|
||||
if(!is_numeric($contract_id) || $contract_id < 1) {
|
||||
$this->layout()->setFlash("Contract nicht gefunden", "error");
|
||||
$this->redirect("Contract");
|
||||
}
|
||||
|
||||
$contract = new Contract($contract_id);
|
||||
if(!$contract->id) {
|
||||
$this->layout()->setFlash("Contract nicht gefunden", "error");
|
||||
$this->redirect("Contract");
|
||||
}
|
||||
|
||||
$journal_data = [];
|
||||
$journal_data["contract_id"] = $contract_id;
|
||||
$journal_data["text"] = ($r->text) ? $r->text : null;
|
||||
|
||||
$journal_data["type"] = "text";
|
||||
if($r->type == "phone") $journal_data["type"] = "phone";
|
||||
if($r->type == "file") $journal_data["type"] = "file";
|
||||
|
||||
|
||||
if(in_array($r->type, ["text", "phone"])) {
|
||||
if(!$journal_data['text']) {
|
||||
$this->layout()->setFlash("Journaleintrag darf nicht leer sein", "error");
|
||||
$this->redirect("Contract", "view", ['contract_id' => $contract_id]);
|
||||
}
|
||||
}
|
||||
|
||||
if($r->type == "file") {
|
||||
try {
|
||||
// returns File object or throws Exception on error
|
||||
$file = mfUpload::handleFormUpload("journal_file");
|
||||
} catch (Exception $ex) {
|
||||
$this->layout()->setFlash("Fehler beim Dateiupload: ".$ex->getMessage(), "error");
|
||||
$this->redirect("Contract", "view", ['contract_id' => $contract_id]);
|
||||
}
|
||||
|
||||
$cf = ContractFileModel::create([
|
||||
'contract_id' => $contract_id,
|
||||
'file_id' => $file->id,
|
||||
'name' => $file->name,
|
||||
]);
|
||||
$contractfile_id = $cf->save();
|
||||
if(!$contractfile_id) {
|
||||
$this->layout()->setFlash("Fehler beim Speichern der hochgeladenen Datei", "error");
|
||||
$this->redirect("Contract", "view", ['contract_id' => $contract_id]);
|
||||
}
|
||||
|
||||
$journal_data['type'] = "file";
|
||||
$journal_data['value'] = $contractfile_id;
|
||||
|
||||
}
|
||||
|
||||
$journal = ContractjournalModel::create($journal_data);
|
||||
$journal_id = $journal->save();
|
||||
if(!$journal_id) {
|
||||
$this->layout()->setFlash("Fehler beim Speichern des Journaleintrags", "error");
|
||||
$this->redirect("Contract", "view", ['contract_id' => $contract_id]);
|
||||
}
|
||||
|
||||
$this->layout()->setFlash("Journaleintrag erfolgreich gespeichert", "success");
|
||||
$this->redirect("Contract", "view", ['contract_id' => $contract_id]);
|
||||
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user