PMCORE-2516 COMMENTS AND ATTACHED DOCUMENTS
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
@@ -23,5 +24,5 @@ return [
|
||||
| directory. However, as usual, you are free to change this value.
|
||||
|
|
||||
*/
|
||||
'compiled' => realpath(PATH_TRUNK . 'bootstrap/cache/views')
|
||||
];
|
||||
'compiled' => base_path('bootstrap/cache/views')
|
||||
];
|
||||
|
||||
@@ -45,6 +45,48 @@ export let cases = {
|
||||
keys: {}
|
||||
});
|
||||
},
|
||||
inputdocuments(data) {
|
||||
var params = new FormData();
|
||||
params.append('appUid', data.APP_UID);
|
||||
params.append('delIndex', data.DEL_INDEX);
|
||||
params.append('action', "getCasesInputDocuments");
|
||||
|
||||
return axios.post(window.config.SYS_SERVER +
|
||||
window.config.SYS_URI +
|
||||
`cases/cases_Ajax.php?action=getCasesInputDocuments`, params);
|
||||
},
|
||||
outputdocuments(data) {
|
||||
var params = new FormData();
|
||||
params.append('appUid', data.APP_UID);
|
||||
params.append('delIndex', data.DEL_INDEX);
|
||||
params.append('action', "getCasesOutputDocuments");
|
||||
|
||||
return axios.post(window.config.SYS_SERVER +
|
||||
window.config.SYS_URI +
|
||||
`cases/cases_Ajax.php?action=getCasesOutputDocuments`, params);
|
||||
},
|
||||
casesummary(data) {
|
||||
var params = new FormData();
|
||||
params.append('appUid', data.APP_UID);
|
||||
params.append('delIndex', data.DEL_INDEX);
|
||||
params.append('action', "todo");
|
||||
|
||||
return axios.post(window.config.SYS_SERVER +
|
||||
window.config.SYS_URI +
|
||||
`appProxy/getSummary`, params);
|
||||
},
|
||||
casenotes(data) {
|
||||
var params = new FormData();
|
||||
params.append('appUid', data.APP_UID);
|
||||
params.append('delIndex', data.DEL_INDEX);
|
||||
params.append('pro', "6161281705fc91129328391060454559");
|
||||
params.append('tas', "2076843175fc911573db050062710755");
|
||||
params.append('start', "0");
|
||||
params.append('limit', "30");
|
||||
return axios.post(window.config.SYS_SERVER +
|
||||
window.config.SYS_URI +
|
||||
`appProxy/getNotesList`, params);
|
||||
},
|
||||
start(dt) {
|
||||
var params = new URLSearchParams();
|
||||
params.append('action', 'startCase');
|
||||
|
||||
@@ -12,29 +12,27 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { Tabs, Tab } from 'vue-slim-tabs'
|
||||
import { Tabs, Tab } from "vue-slim-tabs";
|
||||
|
||||
export default {
|
||||
props: {
|
||||
data: Object
|
||||
data: Object,
|
||||
},
|
||||
components: {
|
||||
Tabs, Tab
|
||||
Tabs,
|
||||
Tab,
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
0: function() {
|
||||
console.log(this.data.items[0].appUid);
|
||||
}
|
||||
0: function () {},
|
||||
};
|
||||
},
|
||||
methods: {
|
||||
selectedTab(e, index) {
|
||||
if (index === 0) {
|
||||
console.log("fabio")
|
||||
}
|
||||
}
|
||||
},
|
||||
},
|
||||
}
|
||||
};
|
||||
</script>
|
||||
<style src="vue-slim-tabs/themes/default.css"></style>
|
||||
@@ -37,6 +37,7 @@ export default {
|
||||
icon: {
|
||||
pdf: "fas fa-file-pdf",
|
||||
doc: "fas fa-file-word",
|
||||
png: "fas fa-image",
|
||||
},
|
||||
};
|
||||
},
|
||||
|
||||
@@ -0,0 +1,48 @@
|
||||
<template>
|
||||
<div class="comment mb-2 row" @click="onClick(data)">
|
||||
<div class="comment-avatar col-md-1 col-sm-2 text-center pr-1">
|
||||
<a href=""
|
||||
><img
|
||||
class="mx-auto rounded-circle v-img-fluid"
|
||||
src="http://demos.themes.guide/bodeo/assets/images/users/m103.jpg"
|
||||
alt="avatar"
|
||||
/></a>
|
||||
</div>
|
||||
<div class="comment-content col-md-11 col-sm-10 v-comment">
|
||||
<div class="comment-meta">
|
||||
<a href="#">{{ data.user }}</a> {{ data.date }}
|
||||
</div>
|
||||
<div class="comment-body">
|
||||
<p>{{ data.comment }}</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: "CaseComment",
|
||||
props: {
|
||||
data: Object,
|
||||
onClick: Function,
|
||||
},
|
||||
data() {
|
||||
return {};
|
||||
},
|
||||
methods: {
|
||||
classBtn(cls) {
|
||||
return "btn v-btn-request " + cls;
|
||||
},
|
||||
classIcon(icon) {
|
||||
return this.icon[icon];
|
||||
},
|
||||
},
|
||||
};
|
||||
</script>
|
||||
|
||||
<style>
|
||||
.v-img-fluid {
|
||||
max-width: 30px;
|
||||
height: auto;
|
||||
}
|
||||
</style>
|
||||
@@ -0,0 +1,85 @@
|
||||
<template>
|
||||
<div class="container py-2">
|
||||
<div class="row"></div>
|
||||
<div class="comments col-md-12" id="comments">
|
||||
<p>
|
||||
<b>{{ data.title }}</b>
|
||||
</p>
|
||||
<div v-for="item in data.items" :key="item.date">
|
||||
<case-comment :data="item" :onClick="onClick" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="comments col-md-12">
|
||||
<div class="comment mb-2 row">
|
||||
<div class="comment-avatar col-md-1 col-sm-2 text-center pr-1">
|
||||
<a href=""
|
||||
><img
|
||||
class="mx-auto rounded-circle v-img-fluid"
|
||||
src="http://demos.themes.guide/bodeo/assets/images/users/m103.jpg"
|
||||
alt="avatar"
|
||||
/></a>
|
||||
</div>
|
||||
<div class="comment-content col-md-11 col-sm-10 v-comment">
|
||||
<div class="comment-meta">
|
||||
<a href="#">{{ data.user }}</a> {{ data.date }}
|
||||
</div>
|
||||
<div class="comment-body">
|
||||
<div class="form-group">
|
||||
<textarea
|
||||
class="form-control"
|
||||
name="comments"
|
||||
id="comments"
|
||||
cols="80"
|
||||
rows="5"
|
||||
></textarea>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="comment mb-2 row float-right">
|
||||
<div class="form-check v-check-comment">
|
||||
<input type="checkbox" class="form-check-input" id="sendEmail" />
|
||||
<label class="form-check-label" for="sendEmail">
|
||||
{{ $t("ID_SEND_EMAIL") }}</label
|
||||
>
|
||||
</div>
|
||||
|
||||
<button class="btn btn-secondary btn-sm">
|
||||
{{ $t("ID_COMMENT") }}
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import CaseComment from "./CaseComment.vue";
|
||||
|
||||
export default {
|
||||
name: "CaseComments",
|
||||
props: {
|
||||
data: Object,
|
||||
onClick: Function,
|
||||
},
|
||||
components: {
|
||||
CaseComment,
|
||||
},
|
||||
data() {
|
||||
return {};
|
||||
},
|
||||
methods: {
|
||||
classBtn(cls) {
|
||||
return "btn v-btn-request " + cls;
|
||||
},
|
||||
classIcon(icon) {
|
||||
return this.icon[icon];
|
||||
},
|
||||
},
|
||||
};
|
||||
</script>
|
||||
|
||||
<style>
|
||||
.v-check-comment {
|
||||
padding-right: 20px;
|
||||
}
|
||||
</style>
|
||||
@@ -25,14 +25,13 @@ export default {
|
||||
data() {
|
||||
return {
|
||||
0: function () {
|
||||
console.log(this.data.items[0].appUid);
|
||||
},
|
||||
};
|
||||
},
|
||||
methods: {
|
||||
selectedTab(e, index) {
|
||||
if (index === 0) {
|
||||
console.log("fabio");
|
||||
|
||||
}
|
||||
},
|
||||
},
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -10,7 +10,7 @@
|
||||
ref="vueTable"
|
||||
>
|
||||
<div slot="detail" slot-scope="props">
|
||||
<div class="btn-default" @click="openCaseDetail(props)">
|
||||
<div class="btn-default" @click="openCaseDetail(props.row)">
|
||||
<i class="fas fa-info-circle"></i>
|
||||
</div>
|
||||
</div>
|
||||
@@ -173,6 +173,8 @@ export default {
|
||||
DUE_DATE: v.DEL_TASK_DUE_DATE,
|
||||
DELEGATION_DATE: v.DEL_DELEGATE_DATE,
|
||||
PRIORITY: v.DEL_PRIORITY_LABEL,
|
||||
DEL_INDEX: v.DEL_INDEX,
|
||||
APP_UID: v.APP_UID,
|
||||
});
|
||||
});
|
||||
return data;
|
||||
@@ -231,7 +233,6 @@ export default {
|
||||
this.$parent.dataCase = {
|
||||
APP_UID: item.APP_UID,
|
||||
DEL_INDEX: item.DEL_INDEX,
|
||||
ACTION: "todo",
|
||||
};
|
||||
this.$parent.page = "case-detail";
|
||||
},
|
||||
|
||||
@@ -252,7 +252,7 @@ switch (($_POST['action']) ? $_POST['action'] : $_REQUEST['action']) {
|
||||
case 'showUsers':
|
||||
$_POST['TAS_ASSIGN_TYPE'] = $filter->xssFilterHard($_POST['TAS_ASSIGN_TYPE']);
|
||||
switch ($_POST['TAS_ASSIGN_TYPE']) {
|
||||
// switch verify $_POST['TAS_ASSIGN_TYPE']
|
||||
// switch verify $_POST['TAS_ASSIGN_TYPE']
|
||||
case 'BALANCED':
|
||||
$USR_UID = $filter->xssFilterHard($_POST['USR_UID']);
|
||||
$oUser = new User(new DBConnection());
|
||||
@@ -513,7 +513,7 @@ switch (($_POST['action']) ? $_POST['action'] : $_REQUEST['action']) {
|
||||
$Fields['CREATOR'] = '***';
|
||||
}
|
||||
switch ($Fields['INP_DOC_FORM_NEEDED']) {
|
||||
// switch verify $Fields['INP_DOC_FORM_NEEDED']
|
||||
// switch verify $Fields['INP_DOC_FORM_NEEDED']
|
||||
case 'REAL':
|
||||
$sXmlForm = 'cases/cases_ViewAnyInputDocument2';
|
||||
break;
|
||||
@@ -550,6 +550,7 @@ switch (($_POST['action']) ? $_POST['action'] : $_REQUEST['action']) {
|
||||
$oCase = new Cases();
|
||||
$fields = $oCase->loadCase($_POST['appUid']);
|
||||
$sProcessUID = $fields['PRO_UID'];
|
||||
$aProcesses = [];
|
||||
$criteria = $oCase->getAllUploadedDocumentsCriteria(
|
||||
$sProcessUID,
|
||||
$_POST['appUid'],
|
||||
@@ -612,7 +613,7 @@ switch (($_POST['action']) ? $_POST['action'] : $_REQUEST['action']) {
|
||||
//!dateFormat
|
||||
$conf = new Configurations();
|
||||
try {
|
||||
$globaleneralConfCasesList = $conf->getConfiguration('ENVIRONMENT_SETTINGS', '');
|
||||
$globaleneralConfCasesList = $conf->getConfiguration('ENVIRONMENT_SETTINGS', '');
|
||||
} catch (Exception $e) {
|
||||
$generalConfCasesList = array();
|
||||
}
|
||||
@@ -834,8 +835,7 @@ switch (($_POST['action']) ? $_POST['action'] : $_REQUEST['action']) {
|
||||
|
||||
global $G_PUBLISH;
|
||||
$G_PUBLISH = new Publisher();
|
||||
$G_PUBLISH->AddContent('propeltable', 'paged-table', 'processes/processes_viewreassignCase', $oCriteria, array('THETYPE' => 'ADHOC'
|
||||
));
|
||||
$G_PUBLISH->AddContent('propeltable', 'paged-table', 'processes/processes_viewreassignCase', $oCriteria, array('THETYPE' => 'ADHOC'));
|
||||
G::RenderPage('publish', 'raw');
|
||||
break;
|
||||
case 'showHistoryMessages':
|
||||
@@ -866,7 +866,7 @@ switch (($_POST['action']) ? $_POST['action'] : $_REQUEST['action']) {
|
||||
$oCase = new Cases();
|
||||
$oCase->getAllGeneratedDocumentsCriteria($_SESSION['PROCESS'], $_SESSION['APPLICATION'], $_SESSION['TASK'], $_SESSION['USER_LOGGED']);
|
||||
break;
|
||||
/* @Author Erik Amaru Ortiz <erik@colosa.com> */
|
||||
/* @Author Erik Amaru Ortiz <erik@colosa.com> */
|
||||
case 'resendMessage':
|
||||
//require_once 'classes/model/Configuration.php';
|
||||
|
||||
@@ -909,17 +909,16 @@ switch (($_POST['action']) ? $_POST['action'] : $_REQUEST['action']) {
|
||||
'OAUTH_REFRESH_TOKEN' => $aSetup['OAUTH_REFRESH_TOKEN']
|
||||
)
|
||||
);
|
||||
$oSpool->create(array('msg_uid' => $data['MSG_UID'], 'app_uid' => $data['APP_UID'], 'del_index' => $data['DEL_INDEX'], 'app_msg_type' => $data['APP_MSG_TYPE'], 'app_msg_subject' => $data['APP_MSG_SUBJECT'], 'app_msg_from' => $data['APP_MSG_FROM'], 'app_msg_to' => $data['APP_MSG_TO'], 'app_msg_body' => $data['APP_MSG_BODY'], 'app_msg_cc' => $data['APP_MSG_CC'], 'app_msg_bcc' => $data['APP_MSG_BCC'], 'app_msg_attach' => $data['APP_MSG_ATTACH'], 'app_msg_template' => $data['APP_MSG_TEMPLATE'], 'app_msg_status' => 'pending'
|
||||
));
|
||||
$oSpool->create(array('msg_uid' => $data['MSG_UID'], 'app_uid' => $data['APP_UID'], 'del_index' => $data['DEL_INDEX'], 'app_msg_type' => $data['APP_MSG_TYPE'], 'app_msg_subject' => $data['APP_MSG_SUBJECT'], 'app_msg_from' => $data['APP_MSG_FROM'], 'app_msg_to' => $data['APP_MSG_TO'], 'app_msg_body' => $data['APP_MSG_BODY'], 'app_msg_cc' => $data['APP_MSG_CC'], 'app_msg_bcc' => $data['APP_MSG_BCC'], 'app_msg_attach' => $data['APP_MSG_ATTACH'], 'app_msg_template' => $data['APP_MSG_TEMPLATE'], 'app_msg_status' => 'pending'));
|
||||
$oSpool->sendMail();
|
||||
break;
|
||||
/* @Author Erik Amaru Ortiz <erik@colosa.com> */
|
||||
/* @Author Erik Amaru Ortiz <erik@colosa.com> */
|
||||
case 'showdebug':
|
||||
$G_PUBLISH = new Publisher();
|
||||
$G_PUBLISH->AddContent('view', 'cases/showDebugFrame');
|
||||
G::RenderPage('publish', 'raw');
|
||||
break;
|
||||
/* @Author Erik Amaru Ortiz <erik@colosa.com> */
|
||||
/* @Author Erik Amaru Ortiz <erik@colosa.com> */
|
||||
case 'reassignByUserList':
|
||||
$APP_UIDS = explode(',', $_POST['APP_UIDS']);
|
||||
$sReassignFromUser = $_POST['FROM_USR_ID'];
|
||||
@@ -963,11 +962,9 @@ switch (($_POST['action']) ? $_POST['action'] : $_REQUEST['action']) {
|
||||
array_push($aCasesList, $aCase);
|
||||
}
|
||||
|
||||
$filedNames = array("APP_UID", "APP_NUMBER", "APP_UPDATE_DATE", "DEL_PRIORITY", "DEL_INDEX", "TAS_UID", "DEL_INIT_DATE", "DEL_FINISH_DATE", "USR_UID", "APP_STATUS", "DEL_TASK_DUE_DATE", "APP_CURRENT_USER", "APP_TITLE", "APP_PRO_TITLE", "APP_TAS_TITLE", "APP_DEL_PREVIOUS_USER", "USERS"
|
||||
);
|
||||
$filedNames = array("APP_UID", "APP_NUMBER", "APP_UPDATE_DATE", "DEL_PRIORITY", "DEL_INDEX", "TAS_UID", "DEL_INIT_DATE", "DEL_FINISH_DATE", "USR_UID", "APP_STATUS", "DEL_TASK_DUE_DATE", "APP_CURRENT_USER", "APP_TITLE", "APP_PRO_TITLE", "APP_TAS_TITLE", "APP_DEL_PREVIOUS_USER", "USERS");
|
||||
|
||||
$aCasesList = array_merge(array($filedNames
|
||||
), $aCasesList);
|
||||
$aCasesList = array_merge(array($filedNames), $aCasesList);
|
||||
|
||||
global $_DBArray;
|
||||
$_DBArray['reassign_byuser'] = $aCasesList;
|
||||
@@ -1079,7 +1076,7 @@ switch (($_POST['action']) ? $_POST['action'] : $_REQUEST['action']) {
|
||||
$response['exists'] = false;
|
||||
$response['message'] = G::LoadTranslation('ID_NO_PERMISSION_NO_PARTICIPATED');
|
||||
}
|
||||
} else {//Check if the user participated in this case
|
||||
} else { //Check if the user participated in this case
|
||||
if (!$aUserCanAccess['participated'] && !$aUserCanAccess['rolesPermissions']['PM_ALLCASES'] && !$aUserCanAccess['objectPermissions']['SUMMARY_FORM']) {
|
||||
$response['exists'] = false;
|
||||
$response['message'] = G::LoadTranslation('ID_NO_PERMISSION_NO_PARTICIPATED');
|
||||
|
||||
Reference in New Issue
Block a user