Merge branch 'develop' of bitbucket.org:colosa/processmaker into develop
This commit is contained in:
@@ -13,7 +13,7 @@
|
|||||||
:key="item.title"
|
:key="item.title"
|
||||||
class="v-attached-block"
|
class="v-attached-block"
|
||||||
>
|
>
|
||||||
<span> {{ item.label }} </span>:<span class="font-weight-bold">
|
<span> {{ item.label }} </span><span class="font-weight-bold">
|
||||||
{{ item.value }}</span
|
{{ item.value }}</span
|
||||||
>
|
>
|
||||||
</div>
|
</div>
|
||||||
@@ -26,7 +26,7 @@
|
|||||||
|
|
||||||
<script>
|
<script>
|
||||||
export default {
|
export default {
|
||||||
name: "CaseSummary",
|
name: "CaseStatus",
|
||||||
props: {
|
props: {
|
||||||
data: Array,
|
data: Array,
|
||||||
},
|
},
|
||||||
@@ -3,13 +3,6 @@
|
|||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
<h6 class="card-subtitle mb-2 text-muted">{{ data.title }}</h6>
|
<h6 class="card-subtitle mb-2 text-muted">{{ data.title }}</h6>
|
||||||
<div class="card-text v-case-summary-card-body">
|
<div class="card-text v-case-summary-card-body">
|
||||||
<div>
|
|
||||||
<span> {{ data.label.numberCase }} </span>:<span
|
|
||||||
class="font-weight-bold"
|
|
||||||
>
|
|
||||||
{{ data.text.numberCase }}</span
|
|
||||||
>
|
|
||||||
</div>
|
|
||||||
<div>
|
<div>
|
||||||
<span> {{ data.label.process }} </span>:<span
|
<span> {{ data.label.process }} </span>:<span
|
||||||
class="font-weight-bold"
|
class="font-weight-bold"
|
||||||
@@ -18,8 +11,15 @@
|
|||||||
>
|
>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<span> {{ data.label.status }} </span>:<span class="font-weight-bold">
|
<span> {{ data.label.processDescription }} </span>:<span
|
||||||
{{ data.text.status }}</span
|
class="font-weight-bold"
|
||||||
|
>
|
||||||
|
{{ data.text.processDescription }}</span
|
||||||
|
>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<span> {{ data.label.caseNumber }} </span>:<span class="font-weight-bold">
|
||||||
|
{{ data.text.caseNumber }}</span
|
||||||
>
|
>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
@@ -30,10 +30,17 @@
|
|||||||
>
|
>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<span> {{ data.label.created }} </span>:<span
|
<span> {{ data.label.status }} </span>:<span
|
||||||
class="font-weight-bold"
|
class="font-weight-bold"
|
||||||
>
|
>
|
||||||
{{ data.text.created }}</span
|
{{ data.text.status }}</span
|
||||||
|
>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<span> {{ data.label.create }} </span>:<span
|
||||||
|
class="font-weight-bold"
|
||||||
|
>
|
||||||
|
{{ data.text.create }}</span
|
||||||
>
|
>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
|
|||||||
@@ -45,12 +45,17 @@
|
|||||||
{{ props.row.DUE_DATE }}
|
{{ props.row.DUE_DATE }}
|
||||||
</div>
|
</div>
|
||||||
<div slot="actions" slot-scope="props">
|
<div slot="actions" slot-scope="props">
|
||||||
<b-button v-if="props.row.STATUS === 'OPEN'" @click="onClick(props)" variant="outline-primary">{{$t("ID_CONTINUE")}}</b-button>
|
<b-button
|
||||||
|
v-if="props.row.STATUS === 'OPEN'"
|
||||||
|
@click="onClick(props)"
|
||||||
|
variant="outline-primary"
|
||||||
|
>{{ $t("ID_CONTINUE") }}</b-button
|
||||||
|
>
|
||||||
</div>
|
</div>
|
||||||
</v-server-table>
|
</v-server-table>
|
||||||
</div>
|
</div>
|
||||||
<TabsCaseDetail
|
<TabsCaseDetail
|
||||||
:dataCaseSummary="dataCaseSummaryTab"
|
:dataCaseStatus="dataCaseStatusTab"
|
||||||
:dataCase="dataCase"
|
:dataCase="dataCase"
|
||||||
></TabsCaseDetail>
|
></TabsCaseDetail>
|
||||||
<ModalCancelCase ref="modal-cancel-case"></ModalCancelCase>
|
<ModalCancelCase ref="modal-cancel-case"></ModalCancelCase>
|
||||||
@@ -126,7 +131,7 @@ export default {
|
|||||||
ButtonFleft,
|
ButtonFleft,
|
||||||
ModalNewRequest,
|
ModalNewRequest,
|
||||||
ModalClaimCase,
|
ModalClaimCase,
|
||||||
TaskCell,
|
TaskCell
|
||||||
},
|
},
|
||||||
props: {},
|
props: {},
|
||||||
data() {
|
data() {
|
||||||
@@ -135,7 +140,7 @@ export default {
|
|||||||
dismissSecs: 5,
|
dismissSecs: 5,
|
||||||
dismissCountDown: 0,
|
dismissCountDown: 0,
|
||||||
message: "",
|
message: "",
|
||||||
variant: "info",
|
variant: "info"
|
||||||
},
|
},
|
||||||
dataCase: null,
|
dataCase: null,
|
||||||
newCase: {
|
newCase: {
|
||||||
@@ -151,7 +156,7 @@ export default {
|
|||||||
"assignee",
|
"assignee",
|
||||||
"status",
|
"status",
|
||||||
"due_date",
|
"due_date",
|
||||||
"actions",
|
"actions"
|
||||||
],
|
],
|
||||||
showTable: true,
|
showTable: true,
|
||||||
tableData: [],
|
tableData: [],
|
||||||
@@ -162,7 +167,7 @@ export default {
|
|||||||
assignee: this.$i18n.t("ID_CURRENT_USER"),
|
assignee: this.$i18n.t("ID_CURRENT_USER"),
|
||||||
status: this.$i18n.t("ID_STATUS"),
|
status: this.$i18n.t("ID_STATUS"),
|
||||||
due_date: this.$i18n.t("ID_DUE_DATE"),
|
due_date: this.$i18n.t("ID_DUE_DATE"),
|
||||||
actions: this.$i18n.t("ID_ACTIONS"),
|
actions: this.$i18n.t("ID_ACTIONS")
|
||||||
},
|
},
|
||||||
selectable: {
|
selectable: {
|
||||||
mode: "single", // or 'multiple'
|
mode: "single", // or 'multiple'
|
||||||
@@ -178,22 +183,22 @@ export default {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
dataCaseSummary: null,
|
dataCaseSummary: null,
|
||||||
dataCaseSummaryTab: null,
|
dataCaseStatusTab: null,
|
||||||
dataIoDocuments: {
|
dataIoDocuments: {
|
||||||
titleInput: this.$i18n.t("ID_REQUEST_DOCUMENTS"),
|
titleInput: this.$i18n.t("ID_REQUEST_DOCUMENTS"),
|
||||||
titleOutput: this.$i18n.t("ID_OUTPUT_DOCUMENTS"),
|
titleOutput: this.$i18n.t("ID_OUTPUT_DOCUMENTS"),
|
||||||
inputDocuments: [],
|
inputDocuments: [],
|
||||||
outputDocuments: [],
|
outputDocuments: []
|
||||||
},
|
},
|
||||||
dataAttachedDocuments: {
|
dataAttachedDocuments: {
|
||||||
title: "Attached Documents",
|
title: "Attached Documents",
|
||||||
items: [],
|
items: []
|
||||||
},
|
},
|
||||||
attachDocuments: false,
|
attachDocuments: false,
|
||||||
dataComments: {
|
dataComments: {
|
||||||
title: "Comments",
|
title: "Comments",
|
||||||
items: [],
|
items: []
|
||||||
},
|
}
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
|
|
||||||
@@ -215,7 +220,7 @@ export default {
|
|||||||
_.extend({}, this.dataCase, {
|
_.extend({}, this.dataCase, {
|
||||||
COMMENT: comment,
|
COMMENT: comment,
|
||||||
SEND_MAIL: send,
|
SEND_MAIL: send,
|
||||||
FILES: files,
|
FILES: files
|
||||||
})
|
})
|
||||||
)
|
)
|
||||||
.then((response) => {
|
.then((response) => {
|
||||||
@@ -247,13 +252,25 @@ export default {
|
|||||||
},
|
},
|
||||||
getDataCaseSummary() {
|
getDataCaseSummary() {
|
||||||
let action,
|
let action,
|
||||||
option,
|
option,
|
||||||
that = this;
|
that = this;
|
||||||
Api.cases
|
Api.cases
|
||||||
.casesummary(this.dataCase)
|
.casesummary(this.dataCase)
|
||||||
.then((response) => {
|
.then((response) => {
|
||||||
var data = response.data;
|
var data = response.data.summary;
|
||||||
this.formatCaseSummary(response.data);
|
this.dataCaseStatusTab = [];
|
||||||
|
this.dataCaseStatusTab.push({
|
||||||
|
title: null,
|
||||||
|
items: response.data.caseProperties
|
||||||
|
});
|
||||||
|
|
||||||
|
_.each(response.data.taskProperties, (o) => {
|
||||||
|
this.dataCaseStatusTab.push({
|
||||||
|
title: null,
|
||||||
|
items: _.isArray(o) ? o : [o]
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
this.dataCaseSummary = {
|
this.dataCaseSummary = {
|
||||||
title: this.$i18n.t("ID_SUMMARY"),
|
title: this.$i18n.t("ID_SUMMARY"),
|
||||||
titleActions: this.$i18n.t("ID_ACTIONS"),
|
titleActions: this.$i18n.t("ID_ACTIONS"),
|
||||||
@@ -261,37 +278,42 @@ export default {
|
|||||||
btnType: false,
|
btnType: false,
|
||||||
onClick: null,
|
onClick: null,
|
||||||
label: {
|
label: {
|
||||||
numberCase: data[2].label,
|
process: data[1].label,
|
||||||
process: data[0].label,
|
processDescription: data[2].label,
|
||||||
status: data[3].label,
|
caseNumber: data[3].label,
|
||||||
caseTitle: data[1].label,
|
caseTitle: data[4].label,
|
||||||
created: data[6].label,
|
status: data[5].label,
|
||||||
delegationDate: response.data[11].label,
|
create: data[6].label,
|
||||||
duration: this.$i18n.t("ID_DURATION"),
|
delegationDate: this.$i18n.t("ID_TASK_DELEGATE_DATE"),
|
||||||
|
duration: this.$i18n.t("ID_DURATION")
|
||||||
},
|
},
|
||||||
text: {
|
text: {
|
||||||
numberCase: data[2].value,
|
process: data[1].value,
|
||||||
process: data[0].value,
|
processDescription: data[2].value,
|
||||||
status: data[3].value,
|
caseNumber: data[3].value,
|
||||||
caseTitle: data[1].value,
|
caseTitle: data[4].value,
|
||||||
created: data[6].value,
|
status: data[5].value,
|
||||||
delegationDate: response.data[11].value.split(" ")[0],
|
create: data[6].value,
|
||||||
duration: response.data[11].value.split(" ")[1],
|
delegationDate: data[7] ? data[7].value : "",
|
||||||
},
|
duration: data[8] ? data[8].value : ""
|
||||||
|
}
|
||||||
};
|
};
|
||||||
// Hack for identify the cancel case button
|
// Hack for identify the cancel case button
|
||||||
Api.cases
|
Api.cases.actions(this.dataCase).then((response) => {
|
||||||
.actions(this.dataCase).then((response)=>{
|
action = _.find(response.data, function (o) {
|
||||||
action = _.find(response.data, function(o) { return o.id == "ACTIONS"; });
|
return o.id === "ACTIONS";
|
||||||
if(action){
|
|
||||||
option = _.find(action.options, function(o) { return o.fn == "cancelCase"; });
|
|
||||||
if(option && !option.hide){
|
|
||||||
that.dataCaseSummary.onClick = () => {
|
|
||||||
that.$refs["modal-cancel-case"].show();
|
|
||||||
};
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
});
|
||||||
|
if (action) {
|
||||||
|
option = _.find(action.options, function (o) {
|
||||||
|
return o.fn === "cancelCase";
|
||||||
|
});
|
||||||
|
if (option && !option.hide) {
|
||||||
|
that.dataCaseSummary.onClick = () => {
|
||||||
|
that.$refs["modal-cancel-case"].show();
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
})
|
})
|
||||||
.catch((err) => {
|
.catch((err) => {
|
||||||
throw new Error(err);
|
throw new Error(err);
|
||||||
@@ -313,7 +335,7 @@ export default {
|
|||||||
title: document[i].TITLE,
|
title: document[i].TITLE,
|
||||||
extension: document[i].TITLE.split(".")[1],
|
extension: document[i].TITLE.split(".")[1],
|
||||||
onClick: () => {},
|
onClick: () => {},
|
||||||
data: document[i],
|
data: document[i]
|
||||||
};
|
};
|
||||||
this.dataIoDocuments.inputDocuments.push(info);
|
this.dataIoDocuments.inputDocuments.push(info);
|
||||||
}
|
}
|
||||||
@@ -339,7 +361,7 @@ export default {
|
|||||||
title: document[i].TITLE,
|
title: document[i].TITLE,
|
||||||
extension: document[i].TITLE.split(".")[1],
|
extension: document[i].TITLE.split(".")[1],
|
||||||
onClick: () => {},
|
onClick: () => {},
|
||||||
data: document[i],
|
data: document[i]
|
||||||
};
|
};
|
||||||
this.dataIoDocuments.outputDocuments.push(info);
|
this.dataIoDocuments.outputDocuments.push(info);
|
||||||
}
|
}
|
||||||
@@ -414,16 +436,16 @@ export default {
|
|||||||
),
|
),
|
||||||
date: n.NOTE_DATE,
|
date: n.NOTE_DATE,
|
||||||
comment: n.NOTE_CONTENT,
|
comment: n.NOTE_CONTENT,
|
||||||
data: n,
|
data: n
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
this.dataComments.items = notesArray;
|
this.dataComments.items = notesArray;
|
||||||
},
|
},
|
||||||
formatCaseSummary(data) {
|
formatCaseProperties(data) {
|
||||||
let index,
|
let index,
|
||||||
sections = [];
|
sections = [];
|
||||||
this.dataCaseSummaryTab = [];
|
this.dataCaseStatusTab = [];
|
||||||
_.each(data, (o) => {
|
_.each(data, (o) => {
|
||||||
if (
|
if (
|
||||||
(index = _.findIndex(sections, (s) => {
|
(index = _.findIndex(sections, (s) => {
|
||||||
@@ -432,14 +454,14 @@ export default {
|
|||||||
) {
|
) {
|
||||||
sections.push({
|
sections.push({
|
||||||
title: o.section,
|
title: o.section,
|
||||||
items: [],
|
items: []
|
||||||
});
|
});
|
||||||
index = 0;
|
index = 0;
|
||||||
}
|
}
|
||||||
sections[index].items.push(o);
|
sections[index].items.push(o);
|
||||||
});
|
});
|
||||||
|
|
||||||
this.dataCaseSummaryTab = sections;
|
this.dataCaseStatusTab = sections;
|
||||||
},
|
},
|
||||||
getCasesForVueTable() {
|
getCasesForVueTable() {
|
||||||
let that = this,
|
let that = this,
|
||||||
@@ -464,26 +486,30 @@ export default {
|
|||||||
let data = [];
|
let data = [];
|
||||||
_.forEach(response, (v) => {
|
_.forEach(response, (v) => {
|
||||||
data.push({
|
data.push({
|
||||||
TASK: [{
|
TASK: [
|
||||||
TITLE: v.TAS_TITLE,
|
{
|
||||||
CODE_COLOR: v.TAS_COLOR,
|
TITLE: v.TAS_TITLE,
|
||||||
COLOR: v.TAS_COLOR_LABEL,
|
CODE_COLOR: v.TAS_COLOR,
|
||||||
}],
|
COLOR: v.TAS_COLOR_LABEL
|
||||||
|
},
|
||||||
|
],
|
||||||
CASE_TITLE: v.DEL_TITLE,
|
CASE_TITLE: v.DEL_TITLE,
|
||||||
ASSIGNEE: v.USR_ID !== 0 ?
|
ASSIGNEE:
|
||||||
utils.userNameDisplayFormat({
|
v.USR_ID !== 0
|
||||||
userName: v.USR_USERNAME,
|
? utils.userNameDisplayFormat({
|
||||||
firstName: v.USR_LASTNAME,
|
userName: v.USR_USERNAME,
|
||||||
lastName: v.USR_LASTNAME,
|
firstName: v.USR_LASTNAME,
|
||||||
format: window.config.FORMATS.format || null
|
lastName: v.USR_LASTNAME,
|
||||||
}) : this.$i18n.t("ID_UNASSIGNED"),
|
format: window.config.FORMATS.format || null
|
||||||
|
})
|
||||||
|
: this.$i18n.t("ID_UNASSIGNED"),
|
||||||
STATUS: v.DEL_THREAD_STATUS,
|
STATUS: v.DEL_THREAD_STATUS,
|
||||||
DUE_DATE: v.DEL_TASK_DUE_DATE,
|
DUE_DATE: v.DEL_TASK_DUE_DATE,
|
||||||
TASK_COLOR: v.TAS_COLOR_LABEL,
|
TASK_COLOR: v.TAS_COLOR_LABEL,
|
||||||
APP_UID: v.APP_UID,
|
APP_UID: v.APP_UID,
|
||||||
DEL_INDEX: v.DEL_INDEX,
|
DEL_INDEX: v.DEL_INDEX,
|
||||||
PRO_UID:v.PRO_UID,
|
PRO_UID: v.PRO_UID,
|
||||||
TAS_UID:v.TAS_UID
|
TAS_UID: v.TAS_UID
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
return data;
|
return data;
|
||||||
@@ -513,16 +539,16 @@ export default {
|
|||||||
*/
|
*/
|
||||||
onClick(data) {
|
onClick(data) {
|
||||||
if (data.row.ASSIGNEE === "Unassigned") {
|
if (data.row.ASSIGNEE === "Unassigned") {
|
||||||
this.claimCase(data.row);
|
this.claimCase(data.row);
|
||||||
} else {
|
} else {
|
||||||
this.$emit("onUpdateDataCase", {
|
this.$emit("onUpdateDataCase", {
|
||||||
APP_UID: data.row.APP_UID,
|
APP_UID: data.row.APP_UID,
|
||||||
DEL_INDEX: data.row.DEL_INDEX,
|
DEL_INDEX: data.row.DEL_INDEX,
|
||||||
PRO_UID: data.row.PRO_UID,
|
PRO_UID: data.row.PRO_UID,
|
||||||
TAS_UID: data.row.TAS_UID,
|
TAS_UID: data.row.TAS_UID,
|
||||||
ACTION: this.dataCase.ACTION || "todo"
|
ACTION: this.dataCase.ACTION || "todo"
|
||||||
});
|
});
|
||||||
this.$emit("onUpdatePage", "XCase");
|
this.$emit("onUpdatePage", "XCase");
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -1,11 +1,11 @@
|
|||||||
<template>
|
<template>
|
||||||
<div>
|
<div>
|
||||||
<tabs @changed="changed">
|
<tabs @changed="changed">
|
||||||
<tab :name="$t('ID_SUMMARY')">
|
<tab :name="$t('ID_STATUS')">
|
||||||
<PmCaseSummary :data="dataCaseSummary"> </PmCaseSummary>
|
<CaseStatus :data="dataCaseStatus"> </CaseStatus>
|
||||||
</tab>
|
</tab>
|
||||||
<tab :name="$t('ID_MORE_INFORMATION')">
|
<tab :name="$t('ID_CUSTOM_INFORMATION')">
|
||||||
<MoreInformation :data="dataCase" v-if="currentTab == $t('ID_MORE_INFORMATION')">
|
<MoreInformation :data="dataCase" v-if="currentTab == $t('ID_CUSTOM_INFORMATION')">
|
||||||
</MoreInformation>
|
</MoreInformation>
|
||||||
</tab>
|
</tab>
|
||||||
<tab :name="$t('ID_PROCESS_MAP')">
|
<tab :name="$t('ID_PROCESS_MAP')">
|
||||||
@@ -25,7 +25,7 @@
|
|||||||
<script>
|
<script>
|
||||||
import Tabs from "./../components/tabs/Tabs.vue";
|
import Tabs from "./../components/tabs/Tabs.vue";
|
||||||
import Tab from "./../components/tabs/Tab.vue";
|
import Tab from "./../components/tabs/Tab.vue";
|
||||||
import PmCaseSummary from "./../components/home/caseDetail/PmCaseSummary.vue";
|
import CaseStatus from "./../components/home/caseDetail/CaseStatus.vue";
|
||||||
import ProcessMap from "./../components/home/caseDetail/ProcessMap.vue";
|
import ProcessMap from "./../components/home/caseDetail/ProcessMap.vue";
|
||||||
import CaseHistory from "./../components/home/caseDetail/CaseHistory.vue";
|
import CaseHistory from "./../components/home/caseDetail/CaseHistory.vue";
|
||||||
import ChangeLog from "./../components/home/caseDetail/ChangeLog.vue";
|
import ChangeLog from "./../components/home/caseDetail/ChangeLog.vue";
|
||||||
@@ -38,14 +38,14 @@ export default {
|
|||||||
Tabs,
|
Tabs,
|
||||||
Tab,
|
Tab,
|
||||||
ProcessMap,
|
ProcessMap,
|
||||||
PmCaseSummary,
|
CaseStatus,
|
||||||
CaseHistory,
|
CaseHistory,
|
||||||
ChangeLog,
|
ChangeLog,
|
||||||
MoreInformation
|
MoreInformation
|
||||||
},
|
},
|
||||||
props: {
|
props: {
|
||||||
dataCase: Object,
|
dataCase: Object,
|
||||||
dataCaseSummary: Array,
|
dataCaseStatus: Array
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
|
|||||||
@@ -643,20 +643,23 @@ class Cases
|
|||||||
* @param int $delIndex
|
* @param int $delIndex
|
||||||
* @param array $caseData
|
* @param array $caseData
|
||||||
*
|
*
|
||||||
* @return void
|
* @return array
|
||||||
*
|
*
|
||||||
* @see Cases::updateCase()
|
* @see Cases::updateCase()
|
||||||
*/
|
*/
|
||||||
public function updateThreadTitle(string $appUid, int $appNumber, int $delIndex, $caseData = [])
|
public function updateThreadTitle(string $appUid, int $appNumber, int $delIndex, $caseData = [])
|
||||||
{
|
{
|
||||||
$threadTitle = $this->getCaseTitle();
|
$threadTitle = '';
|
||||||
if (empty($threadTitle) && !empty($appNumber) && !empty($delIndex)) {
|
$threadDescription = '';
|
||||||
|
if (!empty($appNumber) && !empty($delIndex)) {
|
||||||
$thread = Delegation::getThreadInfo($appNumber, $delIndex);
|
$thread = Delegation::getThreadInfo($appNumber, $delIndex);
|
||||||
$previous = $thread['DEL_PREVIOUS'];
|
$previous = $thread['DEL_PREVIOUS'];
|
||||||
$appNumber = $thread['APP_NUMBER'];
|
$appNumber = $thread['APP_NUMBER'];
|
||||||
$tasUid = $thread['TAS_UID'];
|
$tasUid = $thread['TAS_UID'];
|
||||||
if (!empty($tasUid)) {
|
if (!empty($tasUid)) {
|
||||||
$threadTitle = Delegation::getThreadTitle($tasUid, $appNumber, $previous, $caseData);
|
$response = Delegation::getThreadTitle($tasUid, $appNumber, $previous, $caseData);
|
||||||
|
$threadTitle = $response['title'];
|
||||||
|
$threadDescription = $response['description'];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// Update thread title
|
// Update thread title
|
||||||
@@ -666,6 +669,11 @@ class Cases
|
|||||||
$rows['DEL_TITLE'] = $threadTitle;
|
$rows['DEL_TITLE'] = $threadTitle;
|
||||||
$delegation = new AppDelegation();
|
$delegation = new AppDelegation();
|
||||||
$delegation->update($rows);
|
$delegation->update($rows);
|
||||||
|
|
||||||
|
return [
|
||||||
|
'title' => $threadTitle,
|
||||||
|
'description' => $threadDescription
|
||||||
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -803,10 +811,12 @@ class Cases
|
|||||||
|
|
||||||
// Update case title
|
// Update case title
|
||||||
if (!empty($appUid) && !empty($appFields['APP_NUMBER']) && $appFields['APP_NUMBER'] > 0 && !empty($appFields['DEL_INDEX'])) {
|
if (!empty($appUid) && !empty($appFields['APP_NUMBER']) && $appFields['APP_NUMBER'] > 0 && !empty($appFields['DEL_INDEX'])) {
|
||||||
$this->updateThreadTitle($appUid, $appFields['APP_NUMBER'], $appFields['DEL_INDEX'], $appFields['APP_DATA']);
|
$threadInfo = $this->updateThreadTitle($appUid, $appFields['APP_NUMBER'], $appFields['DEL_INDEX'], $appFields['APP_DATA']);
|
||||||
|
$Fields['APP_TITLE'] = $threadInfo['title'];
|
||||||
|
$Fields['APP_DESCRIPTION'] = $threadInfo['description'];
|
||||||
}
|
}
|
||||||
|
|
||||||
//Start: Save History --By JHL
|
// Start: Save History --By JHL
|
||||||
if (isset($Fields['CURRENT_DYNAFORM'])) {
|
if (isset($Fields['CURRENT_DYNAFORM'])) {
|
||||||
//only when that variable is set.. from Save
|
//only when that variable is set.. from Save
|
||||||
$FieldsBefore = $this->loadCase($appUid);
|
$FieldsBefore = $this->loadCase($appUid);
|
||||||
@@ -833,7 +843,7 @@ class Cases
|
|||||||
} catch (Exception $e) {
|
} catch (Exception $e) {
|
||||||
$currentDynaform["DYN_CONTENT"] = "";
|
$currentDynaform["DYN_CONTENT"] = "";
|
||||||
}
|
}
|
||||||
//There are changes
|
// There are changes
|
||||||
$Fields['APP_STATUS'] = (isset($Fields['APP_STATUS'])) ? $Fields['APP_STATUS'] : $FieldsBefore['APP_STATUS'];
|
$Fields['APP_STATUS'] = (isset($Fields['APP_STATUS'])) ? $Fields['APP_STATUS'] : $FieldsBefore['APP_STATUS'];
|
||||||
$appHistory = new AppHistory();
|
$appHistory = new AppHistory();
|
||||||
$aFieldsHistory = $Fields;
|
$aFieldsHistory = $Fields;
|
||||||
@@ -856,28 +866,20 @@ class Cases
|
|||||||
/*----------------------------------********---------------------------------*/
|
/*----------------------------------********---------------------------------*/
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//End Save History
|
// End Save History
|
||||||
|
|
||||||
//We are removing the app_title and app_description because they already be updated in newRefreshCaseTitleAndDescription function
|
|
||||||
if (isset($Fields['APP_TITLE'])) {
|
|
||||||
unset($Fields['APP_TITLE']);
|
|
||||||
}
|
|
||||||
if (isset($Fields['APP_DESCRIPTION'])) {
|
|
||||||
unset($Fields['APP_DESCRIPTION']);
|
|
||||||
}
|
|
||||||
if (isset($Fields["APP_STATUS"]) && $Fields["APP_STATUS"] == "COMPLETED") {
|
if (isset($Fields["APP_STATUS"]) && $Fields["APP_STATUS"] == "COMPLETED") {
|
||||||
if (isset($Fields['CURRENT_USER_UID'])) {
|
if (isset($Fields['CURRENT_USER_UID'])) {
|
||||||
$Fields['USR_UID'] = $Fields['CURRENT_USER_UID'];
|
$Fields['USR_UID'] = $Fields['CURRENT_USER_UID'];
|
||||||
}
|
}
|
||||||
//Will be update the status in the list Participated
|
// Will be update the status in the list Participated
|
||||||
$listParticipatedLast = new ListParticipatedLast();
|
$listParticipatedLast = new ListParticipatedLast();
|
||||||
$listParticipatedLast->refreshStatus($Fields['APP_UID'], 'COMPLETED');
|
$listParticipatedLast->refreshStatus($Fields['APP_UID'], 'COMPLETED');
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Update case*/
|
/** Update case */
|
||||||
$app->update($Fields);
|
$app->update($Fields);
|
||||||
|
|
||||||
//Update the reportTables and tables related to the case, only for applications with positive application number
|
// Update the reportTables and tables related to the case, only for applications with positive application number
|
||||||
if ($appFields['APP_NUMBER'] > 0) {
|
if ($appFields['APP_NUMBER'] > 0) {
|
||||||
require_once 'classes/model/AdditionalTables.php';
|
require_once 'classes/model/AdditionalTables.php';
|
||||||
$reportTables = new ReportTables();
|
$reportTables = new ReportTables();
|
||||||
@@ -896,19 +898,19 @@ class Cases
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
//Update the priority related to the task
|
// Update the priority related to the task
|
||||||
$delIndex = isset($Fields['DEL_INDEX']) ? trim($Fields['DEL_INDEX']) : '';
|
$delIndex = isset($Fields['DEL_INDEX']) ? trim($Fields['DEL_INDEX']) : '';
|
||||||
$tasUid = isset($Fields['TAS_UID']) ? trim($Fields['TAS_UID']) : '';
|
$tasUid = isset($Fields['TAS_UID']) ? trim($Fields['TAS_UID']) : '';
|
||||||
$appDel = new AppDelegation;
|
$appDel = new AppDelegation;
|
||||||
$appDel->updatePriority($delIndex, $tasUid, $appUid, $appData);
|
$appDel->updatePriority($delIndex, $tasUid, $appUid, $appData);
|
||||||
|
|
||||||
//Update Solr Index
|
// Update Solr Index
|
||||||
if ($this->appSolr != null) {
|
if ($this->appSolr != null) {
|
||||||
$this->appSolr->updateApplicationSearchIndex($appUid);
|
$this->appSolr->updateApplicationSearchIndex($appUid);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (isset($Fields["APP_STATUS"]) && $Fields["APP_STATUS"] == "COMPLETED") {
|
if (isset($Fields["APP_STATUS"]) && $Fields["APP_STATUS"] == "COMPLETED") {
|
||||||
//Delete records of the table APP_ASSIGN_SELF_SERVICE_VALUE
|
// Delete records of the table APP_ASSIGN_SELF_SERVICE_VALUE
|
||||||
$appAssignSelfServiceValue = new AppAssignSelfServiceValue();
|
$appAssignSelfServiceValue = new AppAssignSelfServiceValue();
|
||||||
$appAssignSelfServiceValue->remove($appUid);
|
$appAssignSelfServiceValue->remove($appUid);
|
||||||
}
|
}
|
||||||
@@ -923,7 +925,6 @@ class Cases
|
|||||||
$inbox->update($Fields);
|
$inbox->update($Fields);
|
||||||
/*----------------------------------********---------------------------------*/
|
/*----------------------------------********---------------------------------*/
|
||||||
|
|
||||||
//Return
|
|
||||||
return $Fields;
|
return $Fields;
|
||||||
} catch (Exception $e) {
|
} catch (Exception $e) {
|
||||||
throw ($e);
|
throw ($e);
|
||||||
@@ -1648,7 +1649,8 @@ class Cases
|
|||||||
// Get case title
|
// Get case title
|
||||||
$threadTitle = $this->getCaseTitle();
|
$threadTitle = $this->getCaseTitle();
|
||||||
if (empty($threadTitle)) {
|
if (empty($threadTitle)) {
|
||||||
$threadTitle = Delegation::getThreadTitle($tasUid, $appNumber, $previous, $caseData);
|
$response = Delegation::getThreadTitle($tasUid, $appNumber, $previous, $caseData);
|
||||||
|
$threadTitle = $response['title'];
|
||||||
}
|
}
|
||||||
|
|
||||||
$user = UsersPeer::retrieveByPK($usrUid);
|
$user = UsersPeer::retrieveByPK($usrUid);
|
||||||
|
|||||||
@@ -4127,6 +4127,12 @@ msgstr "The case was paused due to:"
|
|||||||
msgid "Reason to pause the case"
|
msgid "Reason to pause the case"
|
||||||
msgstr "Reason to pause the case"
|
msgstr "Reason to pause the case"
|
||||||
|
|
||||||
|
# TRANSLATION
|
||||||
|
# LABEL/ID_CASE_PROPERTIES
|
||||||
|
#: LABEL/ID_CASE_PROPERTIES
|
||||||
|
msgid "Case Properties"
|
||||||
|
msgstr "Case Properties"
|
||||||
|
|
||||||
# TRANSLATION
|
# TRANSLATION
|
||||||
# LABEL/ID_CASE_PROPERTIES_SAVE
|
# LABEL/ID_CASE_PROPERTIES_SAVE
|
||||||
#: LABEL/ID_CASE_PROPERTIES_SAVE
|
#: LABEL/ID_CASE_PROPERTIES_SAVE
|
||||||
@@ -5243,6 +5249,12 @@ msgstr "Creating table, please wait..."
|
|||||||
msgid "Creating workspace {0}"
|
msgid "Creating workspace {0}"
|
||||||
msgstr "Creating workspace {0}"
|
msgstr "Creating workspace {0}"
|
||||||
|
|
||||||
|
# TRANSLATION
|
||||||
|
# LABEL/ID_CREATOR
|
||||||
|
#: LABEL/ID_CREATOR
|
||||||
|
msgid "Creator"
|
||||||
|
msgstr "Creator"
|
||||||
|
|
||||||
# TRANSLATION
|
# TRANSLATION
|
||||||
# LABEL/ID_CREDENTIAL_ERROR
|
# LABEL/ID_CREDENTIAL_ERROR
|
||||||
#: LABEL/ID_CREDENTIAL_ERROR
|
#: LABEL/ID_CREDENTIAL_ERROR
|
||||||
@@ -5327,10 +5339,16 @@ msgstr "Your browser is not supported. See the list of supported browsers. List
|
|||||||
msgid "Current license"
|
msgid "Current license"
|
||||||
msgstr "Current license"
|
msgstr "Current license"
|
||||||
|
|
||||||
|
# TRANSLATION
|
||||||
|
# LABEL/ID_CURRENT_TASKS
|
||||||
|
#: LABEL/ID_CURRENT_TASKS
|
||||||
|
msgid "Current Task(s) Properties"
|
||||||
|
msgstr "Current Task(s) Properties"
|
||||||
|
|
||||||
# TRANSLATION
|
# TRANSLATION
|
||||||
# LABEL/ID_CURRENT_USER
|
# LABEL/ID_CURRENT_USER
|
||||||
#: LABEL/ID_CURRENT_USER
|
#: LABEL/ID_CURRENT_USER
|
||||||
msgid "[LABEL/ID_CURRENT_USER] Current User"
|
msgid "Current User"
|
||||||
msgstr "Current User"
|
msgstr "Current User"
|
||||||
|
|
||||||
# TRANSLATION
|
# TRANSLATION
|
||||||
@@ -5363,6 +5381,12 @@ msgstr "Current Workspace"
|
|||||||
msgid "Custom Case List"
|
msgid "Custom Case List"
|
||||||
msgstr "Custom Case List"
|
msgstr "Custom Case List"
|
||||||
|
|
||||||
|
# TRANSLATION
|
||||||
|
# LABEL/ID_CUSTOM_INFORMATION
|
||||||
|
#: LABEL/ID_CUSTOM_INFORMATION
|
||||||
|
msgid "Custom Information"
|
||||||
|
msgstr "Custom Information"
|
||||||
|
|
||||||
# TRANSLATION
|
# TRANSLATION
|
||||||
# LABEL/ID_CUSTOM_TRIGGER
|
# LABEL/ID_CUSTOM_TRIGGER
|
||||||
#: LABEL/ID_CUSTOM_TRIGGER
|
#: LABEL/ID_CUSTOM_TRIGGER
|
||||||
@@ -25298,7 +25322,7 @@ msgstr "Static Partial Join for Multiple Instance"
|
|||||||
# TRANSLATION
|
# TRANSLATION
|
||||||
# LABEL/ID_STATUS
|
# LABEL/ID_STATUS
|
||||||
#: LABEL/ID_STATUS
|
#: LABEL/ID_STATUS
|
||||||
msgid "[LABEL/ID_STATUS] Status"
|
msgid "Status"
|
||||||
msgstr "Status"
|
msgstr "Status"
|
||||||
|
|
||||||
# TRANSLATION
|
# TRANSLATION
|
||||||
@@ -25751,6 +25775,12 @@ msgstr "Tasks"
|
|||||||
msgid "You can't delete the task \"{0}\" because it has {1} cases."
|
msgid "You can't delete the task \"{0}\" because it has {1} cases."
|
||||||
msgstr "You can't delete the task \"{0}\" because it has {1} cases."
|
msgstr "You can't delete the task \"{0}\" because it has {1} cases."
|
||||||
|
|
||||||
|
# TRANSLATION
|
||||||
|
# LABEL/ID_TASK_DELEGATE_DATE
|
||||||
|
#: LABEL/ID_TASK_DELEGATE_DATE
|
||||||
|
msgid "Task Delegate Date"
|
||||||
|
msgstr "Task Delegate Date"
|
||||||
|
|
||||||
# TRANSLATION
|
# TRANSLATION
|
||||||
# LABEL/ID_TASK_DEFINED_MANUAL_ASSIGNMENT
|
# LABEL/ID_TASK_DEFINED_MANUAL_ASSIGNMENT
|
||||||
#: LABEL/ID_TASK_DEFINED_MANUAL_ASSIGNMENT
|
#: LABEL/ID_TASK_DEFINED_MANUAL_ASSIGNMENT
|
||||||
@@ -25769,6 +25799,12 @@ msgstr "Task does not have a routing rule. Please, check the process definition.
|
|||||||
msgid "Task Duration"
|
msgid "Task Duration"
|
||||||
msgstr "Task Duration"
|
msgstr "Task Duration"
|
||||||
|
|
||||||
|
# TRANSLATION
|
||||||
|
# LABEL/ID_TASK_DUE_DATE
|
||||||
|
#: LABEL/ID_TASK_DUE_DATE
|
||||||
|
msgid "Task Due Date"
|
||||||
|
msgstr "Task Due Date"
|
||||||
|
|
||||||
# TRANSLATION
|
# TRANSLATION
|
||||||
# LABEL/ID_TASK_ID
|
# LABEL/ID_TASK_ID
|
||||||
#: LABEL/ID_TASK_ID
|
#: LABEL/ID_TASK_ID
|
||||||
@@ -25781,6 +25817,12 @@ msgstr "Task ID"
|
|||||||
msgid "[LABEL/ID_TASK_INFORMATION] Task Information"
|
msgid "[LABEL/ID_TASK_INFORMATION] Task Information"
|
||||||
msgstr "Task Information"
|
msgstr "Task Information"
|
||||||
|
|
||||||
|
# TRANSLATION
|
||||||
|
# LABEL/ID_TASK_INIT_DATE
|
||||||
|
#: LABEL/ID_TASK_INIT_DATE
|
||||||
|
msgid "Task Init Date"
|
||||||
|
msgstr "Task Init Date"
|
||||||
|
|
||||||
# TRANSLATION
|
# TRANSLATION
|
||||||
# LABEL/ID_TASK_INVALID_USER_NOT_ASSIGNED_TASK
|
# LABEL/ID_TASK_INVALID_USER_NOT_ASSIGNED_TASK
|
||||||
#: LABEL/ID_TASK_INVALID_USER_NOT_ASSIGNED_TASK
|
#: LABEL/ID_TASK_INVALID_USER_NOT_ASSIGNED_TASK
|
||||||
|
|||||||
@@ -12,7 +12,9 @@
|
|||||||
use ProcessMaker\BusinessModel\Cases as BmCases;
|
use ProcessMaker\BusinessModel\Cases as BmCases;
|
||||||
use ProcessMaker\Exception\CaseNoteUploadFile;
|
use ProcessMaker\Exception\CaseNoteUploadFile;
|
||||||
use ProcessMaker\Model\AppNotes as Notes;
|
use ProcessMaker\Model\AppNotes as Notes;
|
||||||
|
use ProcessMaker\Model\Delegation;
|
||||||
use ProcessMaker\Model\Documents;
|
use ProcessMaker\Model\Documents;
|
||||||
|
use ProcessMaker\Model\User;
|
||||||
use ProcessMaker\Util\DateTime;
|
use ProcessMaker\Util\DateTime;
|
||||||
|
|
||||||
if (!isset($_SESSION['USER_LOGGED'])) {
|
if (!isset($_SESSION['USER_LOGGED'])) {
|
||||||
@@ -256,90 +258,165 @@ class AppProxy extends HttpProxyController
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* get the case summary data
|
* Get the case summary data
|
||||||
*
|
*
|
||||||
* @param string $httpData->appUid
|
* @param object $httpData
|
||||||
* @param string $httpData->delIndex
|
*
|
||||||
* @return array containg the case summary data
|
* @return array contain the case summary data
|
||||||
*/
|
*/
|
||||||
function getSummary ($httpData)
|
function getSummary ($httpData)
|
||||||
{
|
{
|
||||||
$labelsCaseProperties = array ();
|
|
||||||
$labelsCurrentTaskProperties = array ();
|
|
||||||
$labelTitleCurrentTasks = array ();
|
|
||||||
|
|
||||||
$formCaseProperties = new Form( 'cases/cases_Resume', PATH_XMLFORM, SYS_LANG );
|
|
||||||
$formCaseTitle = new Form( 'cases/cases_Resume_Current_Task_Title', PATH_XMLFORM, SYS_LANG );
|
|
||||||
$formCurrentTaskProperties = new Form( 'cases/cases_Resume_Current_Task', PATH_XMLFORM, SYS_LANG );
|
|
||||||
|
|
||||||
$case = new Cases();
|
$case = new Cases();
|
||||||
|
$appFields = $case->loadCase($httpData->appUid, $httpData->delIndex);
|
||||||
foreach ($formCaseProperties->fields as $fieldName => $field) {
|
// Get the process
|
||||||
$labelsCaseProperties[$fieldName] = $field->label;
|
$process = new Process();
|
||||||
}
|
$processInfo = $process->load($appFields['PRO_UID']);
|
||||||
|
// Apply mask
|
||||||
foreach ($formCaseTitle->fields as $fieldName => $field) {
|
$createDateLabel = applyMaskDateEnvironment($appFields['CREATE_DATE'],'', false);
|
||||||
$labelTitleCurrentTasks[$fieldName] = $field->label;
|
$updateDateLabel = applyMaskDateEnvironment($appFields['UPDATE_DATE'],'', false);
|
||||||
}
|
// Get summary
|
||||||
|
$i = 0;
|
||||||
foreach ($formCurrentTaskProperties->fields as $fieldName => $field) {
|
$summary = [
|
||||||
$labelsCurrentTaskProperties[$fieldName] = $field->label;
|
$i++ => [
|
||||||
}
|
'id' => 'TITLE',
|
||||||
|
'label' => G::LoadTranslation('ID_SUMMARY'),
|
||||||
if (isset( $_SESSION['_applicationFields'] ) && $_SESSION['_processData']) {
|
'value' => '',
|
||||||
$applicationFields = $_SESSION['_applicationFields'];
|
],
|
||||||
unset( $_SESSION['_applicationFields'] );
|
$i++ => [ // Process
|
||||||
$processData = $_SESSION['_processData'];
|
'id' => 'PRO_TITLE',
|
||||||
unset( $_SESSION['_processData'] );
|
'label' => G::LoadTranslation('ID_PROCESS_NAME') . ': ',
|
||||||
} else {
|
'value' => $processInfo['PRO_TITLE'],
|
||||||
if ($httpData->action == 'sent') { // Get the last valid delegation for participated list
|
],
|
||||||
$criteria = new Criteria();
|
$i++ => [ // Process description
|
||||||
$criteria->addSelectColumn(AppDelegationPeer::DEL_INDEX);
|
'id' => 'PRO_DESCRIPTION',
|
||||||
$criteria->add(AppDelegationPeer::APP_UID, $httpData->appUid);
|
'label' => G::LoadTranslation('ID_PRO_DESCRIPTION') . ': ',
|
||||||
$criteria->add(AppDelegationPeer::DEL_FINISH_DATE, null, Criteria::ISNULL);
|
'value' => $processInfo['PRO_DESCRIPTION'],
|
||||||
$criteria->addDescendingOrderByColumn(AppDelegationPeer::DEL_INDEX);
|
],
|
||||||
if (AppDelegationPeer::doCount($criteria) > 0) {
|
$i++ => [ // Case Number
|
||||||
$dataset = AppDelegationPeer::doSelectRS($criteria, Propel::getDbConnection('workflow_ro') );
|
'id' => 'APP_NUMBER',
|
||||||
$dataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
|
'label' => G::LoadTranslation('ID_CASE_NUMBER') . ': ',
|
||||||
$dataset->next();
|
'value' => $appFields['APP_NUMBER'],
|
||||||
$row = $dataset->getRow();
|
],
|
||||||
$httpData->delIndex = $row['DEL_INDEX'];
|
$i++ => [ // Case Title
|
||||||
}
|
'id' => 'CASE_TITLE',
|
||||||
|
'label' => G::LoadTranslation('ID_CASE_TITLE') . ': ',
|
||||||
|
'value' => $appFields['TITLE'],
|
||||||
|
],
|
||||||
|
$i++ => [ // Case Status
|
||||||
|
'id' => 'CASE_STATUS',
|
||||||
|
'label' => G::LoadTranslation('ID_CASE_STATUS') . ': ',
|
||||||
|
'value' => $appFields['STATUS'],
|
||||||
|
],
|
||||||
|
$i++ => [ // Create Date
|
||||||
|
'id' => 'CREATE_DATE',
|
||||||
|
'label' => G::LoadTranslation('ID_CREATE_DATE') . ': ',
|
||||||
|
'value' => DateTime::convertUtcToTimeZone($createDateLabel),
|
||||||
|
],
|
||||||
|
];
|
||||||
|
// Get case properties
|
||||||
|
$i = 0;
|
||||||
|
$caseProperties = [
|
||||||
|
$i++ => [
|
||||||
|
'id' => 'TITLE',
|
||||||
|
'label' => G::LoadTranslation('ID_CASE_PROPERTIES'),
|
||||||
|
'value' => '',
|
||||||
|
],
|
||||||
|
$i++ => [ // Case Number
|
||||||
|
'id' => 'APP_NUMBER',
|
||||||
|
'label' => G::LoadTranslation('ID_CASE_NUMBER') . ': ',
|
||||||
|
'value' => $appFields['APP_NUMBER'],
|
||||||
|
],
|
||||||
|
$i++ => [ // Case Title
|
||||||
|
'id' => 'CASE_TITLE',
|
||||||
|
'label' => G::LoadTranslation('ID_CASE_TITLE') . ': ',
|
||||||
|
'value' => $appFields['TITLE'],
|
||||||
|
],
|
||||||
|
$i++ => [ // Case Description
|
||||||
|
'id' => 'CASE_DESCRIPTION',
|
||||||
|
'label' => G::LoadTranslation('ID_CASE_DESCRIPTION') . ': ',
|
||||||
|
'value' => $appFields["DESCRIPTION"],
|
||||||
|
],
|
||||||
|
$i++ => [ // Case Status
|
||||||
|
'id' => 'CASE_STATUS',
|
||||||
|
'label' => G::LoadTranslation('ID_CASE_STATUS') . ': ',
|
||||||
|
'value' => $appFields['STATUS'],
|
||||||
|
],
|
||||||
|
$i++ => [ // Case Uid
|
||||||
|
'id' => 'APP_UID',
|
||||||
|
'label' => G::LoadTranslation('ID_CASE_UID') . ': ',
|
||||||
|
'value' => $appFields['APP_UID'],
|
||||||
|
],
|
||||||
|
$i++ => [ // Creator
|
||||||
|
'id' => 'CREATOR',
|
||||||
|
'label' => G::LoadTranslation('ID_CREATOR') . ': ',
|
||||||
|
'value' => $appFields['CREATOR'],
|
||||||
|
],
|
||||||
|
$i++ => [ // Create Date
|
||||||
|
'id' => 'CREATE_DATE',
|
||||||
|
'label' => G::LoadTranslation('ID_CREATE_DATE') . ': ',
|
||||||
|
'value' => DateTime::convertUtcToTimeZone($createDateLabel),
|
||||||
|
],
|
||||||
|
$i++ => [ // Last Update
|
||||||
|
'id' => 'UPDATE_DATE',
|
||||||
|
'label' => G::LoadTranslation('ID_LAST_DATE') . ': ',
|
||||||
|
'value' => DateTime::convertUtcToTimeZone($updateDateLabel),
|
||||||
|
],
|
||||||
|
];
|
||||||
|
// Get the pending threads
|
||||||
|
$delegation = new Delegation();
|
||||||
|
$threads = $delegation::getPendingThreads($appFields['APP_NUMBER']);
|
||||||
|
$i = 0;
|
||||||
|
$taskProperties[$i] = [
|
||||||
|
'id' => 'TITLE',
|
||||||
|
'label' => G::LoadTranslation('ID_CURRENT_TASKS'),
|
||||||
|
'value' => '',
|
||||||
|
];
|
||||||
|
foreach ($threads as $row) {
|
||||||
|
$j = 0;
|
||||||
|
$delegateDateLabel = applyMaskDateEnvironment($appFields['DEL_DELEGATE_DATE'],'', false);
|
||||||
|
$initDateLabel = applyMaskDateEnvironment($appFields['DEL_INIT_DATE'],'', false);
|
||||||
|
$dueDateLabel = applyMaskDateEnvironment($appFields['DEL_TASK_DUE_DATE'],'', false);
|
||||||
|
if (!empty($row['USR_ID'])) {
|
||||||
|
$userInfo = User::getInformation($row['USR_ID']);
|
||||||
|
$currentUser = $userInfo['usr_lastname'] .' '. $userInfo['usr_firstname'];
|
||||||
|
} else {
|
||||||
|
$currentUser = G::LoadTranslation('ID_UNASSIGNED');
|
||||||
}
|
}
|
||||||
$applicationFields = $case->loadCase( $httpData->appUid, $httpData->delIndex );
|
$threadProperties = [
|
||||||
$process = new Process();
|
$j++ => [ // Task
|
||||||
$processData = $process->load( $applicationFields['PRO_UID'] );
|
'id' => 'TASK_TITLE',
|
||||||
|
'label' => G::LoadTranslation('ID_TASK') . ': ',
|
||||||
|
'value' => $row['TAS_TITLE'],
|
||||||
|
],
|
||||||
|
$j++ => [ // Current User
|
||||||
|
'id' => 'CURRENT_USER',
|
||||||
|
'label' => G::LoadTranslation('ID_CURRENT_USER') . ': ',
|
||||||
|
'value' => $currentUser,
|
||||||
|
],
|
||||||
|
$j++ => [ // Task Delegate Date
|
||||||
|
'id' => 'DEL_DELEGATE_DATE',
|
||||||
|
'label' => G::LoadTranslation('ID_TASK_DELEGATE_DATE') . ': ',
|
||||||
|
'value' => DateTime::convertUtcToTimeZone($delegateDateLabel),
|
||||||
|
],
|
||||||
|
$j++ => [ // Task Init Date
|
||||||
|
'id' => 'DEL_INIT_DATE',
|
||||||
|
'label' => G::LoadTranslation('ID_TASK_INIT_DATE') . ': ',
|
||||||
|
'value' => DateTime::convertUtcToTimeZone($initDateLabel),
|
||||||
|
],
|
||||||
|
$j++ => [ // Task Due Date
|
||||||
|
'id' => 'DEL_TASK_DUE_DATE',
|
||||||
|
'label' => G::LoadTranslation('ID_TASK_DUE_DATE') . ': ',
|
||||||
|
'value' => DateTime::convertUtcToTimeZone($dueDateLabel),
|
||||||
|
],
|
||||||
|
];
|
||||||
|
$taskProperties[++$i] = $threadProperties;
|
||||||
}
|
}
|
||||||
|
// Prepare the result
|
||||||
|
$data = [];
|
||||||
|
$data['summary'] = $summary;
|
||||||
|
$data['caseProperties'] = $caseProperties;
|
||||||
|
$data['taskProperties'] = $taskProperties;
|
||||||
|
|
||||||
$data = array ();
|
|
||||||
$task = new Task();
|
|
||||||
$taskData = $task->load( $applicationFields['TAS_UID'] );
|
|
||||||
$currentUser = $applicationFields['CURRENT_USER'] != '' ? $applicationFields['CURRENT_USER'] : '[' . G::LoadTranslation( 'ID_UNASSIGNED' ) . ']';
|
|
||||||
|
|
||||||
$data[] = array ('label' => $labelsCaseProperties['PRO_TITLE'],'value' => $processData['PRO_TITLE'],'section' => $labelsCaseProperties['TITLE1']);
|
|
||||||
$data[] = array ("label" => $labelsCaseProperties["TITLE"], "value" => htmlentities($applicationFields["TITLE"], ENT_QUOTES, "UTF-8"), "section" => $labelsCaseProperties["TITLE1"]);
|
|
||||||
$data[] = array ('label' => $labelsCaseProperties['APP_NUMBER'],'value' => $applicationFields['APP_NUMBER'],'section' => $labelsCaseProperties['TITLE1']);
|
|
||||||
$data[] = array ('label' => $labelsCaseProperties['STATUS'],'value' => $applicationFields['STATUS'],'section' => $labelsCaseProperties['TITLE1']);
|
|
||||||
$data[] = array ('label' => $labelsCaseProperties['APP_UID'],'value' => $applicationFields['APP_UID'],'section' => $labelsCaseProperties['TITLE1']);
|
|
||||||
$data[] = array ('label' => $labelsCaseProperties['CREATOR'],'value' => $applicationFields['CREATOR'],'section' => $labelsCaseProperties['TITLE1']);
|
|
||||||
$data[] = array ('label' => $labelsCaseProperties['CREATE_DATE'],'value' => $applicationFields['CREATE_DATE'],'section' => $labelsCaseProperties['TITLE1']);
|
|
||||||
$data[] = array ('label' => $labelsCaseProperties['UPDATE_DATE'],'value' => $applicationFields['UPDATE_DATE'],'section' => $labelsCaseProperties['TITLE1']);
|
|
||||||
$data[] = array ("label" => $labelsCaseProperties["DESCRIPTION"], "value" => htmlentities($applicationFields["DESCRIPTION"], ENT_QUOTES, "UTF-8"), "section" => $labelsCaseProperties["TITLE1"]);
|
|
||||||
|
|
||||||
// note added by krlos pacha carlos[at]colosa[dot]com
|
|
||||||
//getting this field if it doesn't exist. Related 7994 bug
|
|
||||||
$oTask = new \Task();
|
|
||||||
$aTasks = $oTask->load($applicationFields['TAS_UID']);
|
|
||||||
$taskData['TAS_TITLE'] = (array_key_exists( 'TAS_TITLE', $taskData )) ? $taskData['TAS_TITLE'] : $aTasks["TAS_TITLE"];
|
|
||||||
$data[] = array ("label" => $labelsCurrentTaskProperties["TAS_TITLE"], "value" => htmlentities($taskData["TAS_TITLE"], ENT_QUOTES, "UTF-8"), "section" => $labelTitleCurrentTasks["TITLE2"]);
|
|
||||||
$data[] = array ('label' => $labelsCurrentTaskProperties['CURRENT_USER'],'value' => $currentUser,'section' => $labelTitleCurrentTasks['TITLE2']);
|
|
||||||
$data[] = array ('label' => $labelsCurrentTaskProperties['DEL_DELEGATE_DATE'],'value' => $applicationFields['DEL_DELEGATE_DATE'],'section' => $labelTitleCurrentTasks['TITLE2']);
|
|
||||||
$data[] = array ('label' => $labelsCurrentTaskProperties['DEL_INIT_DATE'],'value' => $applicationFields['DEL_INIT_DATE'],'section' => $labelTitleCurrentTasks['TITLE2']);
|
|
||||||
$data[] = array ('label' => $labelsCurrentTaskProperties['DEL_TASK_DUE_DATE'],'value' => $applicationFields['DEL_TASK_DUE_DATE'],'section' => $labelTitleCurrentTasks['TITLE2']);
|
|
||||||
$data[] = array ('label' => $labelsCurrentTaskProperties['DEL_FINISH_DATE'],'value' => $applicationFields['DEL_FINISH_DATE'],'section' => $labelTitleCurrentTasks['TITLE2']);
|
|
||||||
//$data[] = array('label'=>$labelsCurrentTaskProperties['DYN_UID'] , 'value' => $processData['PRO_DYNAFORMS']['PROCESS'];, 'section'=>$labelsCurrentTaskProperties['DYN_UID']);
|
|
||||||
|
|
||||||
$data = \ProcessMaker\Util\DateTime::convertUtcToTimeZone($data);
|
|
||||||
return $data;
|
return $data;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -57499,6 +57499,7 @@ INSERT INTO TRANSLATION (TRN_CATEGORY,TRN_ID,TRN_LANG,TRN_VALUE,TRN_UPDATE_DATE
|
|||||||
( 'LABEL','ID_CASE_PAUSED_SUCCESSFULLY','en','The Case {APP_NUMBER} was paused successfully and it will be unpaused on date {UNPAUSE_DATE}','2014-01-15') ,
|
( 'LABEL','ID_CASE_PAUSED_SUCCESSFULLY','en','The Case {APP_NUMBER} was paused successfully and it will be unpaused on date {UNPAUSE_DATE}','2014-01-15') ,
|
||||||
( 'LABEL','ID_CASE_PAUSE_LABEL_NOTE','en','The case was paused due to:','2014-10-21') ,
|
( 'LABEL','ID_CASE_PAUSE_LABEL_NOTE','en','The case was paused due to:','2014-10-21') ,
|
||||||
( 'LABEL','ID_CASE_PAUSE_REASON','en','Reason to pause the case','2014-10-21') ,
|
( 'LABEL','ID_CASE_PAUSE_REASON','en','Reason to pause the case','2014-10-21') ,
|
||||||
|
( 'LABEL','ID_CASE_PROPERTIES','en','Case Properties','2021-03-20') ,
|
||||||
( 'LABEL','ID_CASE_PROPERTIES_SAVE','en','Case Tracker Properties Saved Successfully','2014-01-15') ,
|
( 'LABEL','ID_CASE_PROPERTIES_SAVE','en','Case Tracker Properties Saved Successfully','2014-01-15') ,
|
||||||
( 'LABEL','ID_CASE_REACTIVATED_SUCCESSFULLY','en','The case {APP_NUMBER} was reactivated successfully!','2014-01-15') ,
|
( 'LABEL','ID_CASE_REACTIVATED_SUCCESSFULLY','en','The case {APP_NUMBER} was reactivated successfully!','2014-01-15') ,
|
||||||
( 'LABEL','ID_CASE_RESPONSE_NOT_AVAILABLE','en','No response available, please review the case information','2018-03-02') ,
|
( 'LABEL','ID_CASE_RESPONSE_NOT_AVAILABLE','en','No response available, please review the case information','2018-03-02') ,
|
||||||
@@ -57694,6 +57695,7 @@ INSERT INTO TRANSLATION (TRN_CATEGORY,TRN_ID,TRN_LANG,TRN_VALUE,TRN_UPDATE_DATE
|
|||||||
( 'LABEL','ID_CREATING','en','Creating : {0}','2014-01-15') ,
|
( 'LABEL','ID_CREATING','en','Creating : {0}','2014-01-15') ,
|
||||||
( 'LABEL','ID_CREATING_TABLE','en','Creating table, please wait...','2014-01-15') ,
|
( 'LABEL','ID_CREATING_TABLE','en','Creating table, please wait...','2014-01-15') ,
|
||||||
( 'LABEL','ID_CREATING_WORKSPACE','en','Creating workspace {0}','2014-01-15') ,
|
( 'LABEL','ID_CREATING_WORKSPACE','en','Creating workspace {0}','2014-01-15') ,
|
||||||
|
( 'LABEL','ID_CREATOR','en','Creator','2021-03-20') ,
|
||||||
( 'LABEL','ID_CREDENTIAL_ERROR','en','Credentials Error','2014-01-15') ,
|
( 'LABEL','ID_CREDENTIAL_ERROR','en','Credentials Error','2014-01-15') ,
|
||||||
( 'LABEL','ID_CRON_ACTIONS','en','Cron','2014-01-15') ,
|
( 'LABEL','ID_CRON_ACTIONS','en','Cron','2014-01-15') ,
|
||||||
( 'LABEL','ID_CRON_ACTIONS_LOG','en','Cron Actions Log','2014-01-15') ,
|
( 'LABEL','ID_CRON_ACTIONS_LOG','en','Cron Actions Log','2014-01-15') ,
|
||||||
@@ -57708,12 +57710,14 @@ INSERT INTO TRANSLATION (TRN_CATEGORY,TRN_ID,TRN_LANG,TRN_VALUE,TRN_UPDATE_DATE
|
|||||||
( 'LABEL','ID_CURRENT_ASSING_TYPE_WITH_CASES','en','The current activity has cases and cannot be deleted','2015-12-10') ,
|
( 'LABEL','ID_CURRENT_ASSING_TYPE_WITH_CASES','en','The current activity has cases and cannot be deleted','2015-12-10') ,
|
||||||
( 'LABEL','ID_CURRENT_BROWSER_NOT_SUPPORTED','en','Your browser is not supported. See the list of supported browsers. List of supported browsers is a link to the wiki page: http://wiki.processmaker.com/3.0/Supported_Browsers','2014-10-22') ,
|
( 'LABEL','ID_CURRENT_BROWSER_NOT_SUPPORTED','en','Your browser is not supported. See the list of supported browsers. List of supported browsers is a link to the wiki page: http://wiki.processmaker.com/3.0/Supported_Browsers','2014-10-22') ,
|
||||||
( 'LABEL','ID_CURRENT_LICENSE','en','Current license','2014-09-18') ,
|
( 'LABEL','ID_CURRENT_LICENSE','en','Current license','2014-09-18') ,
|
||||||
|
( 'LABEL','ID_CURRENT_TASKS','en','Current Task(s) Properties','2021-03-20') ,
|
||||||
( 'LABEL','ID_CURRENT_USER','en','Current User','2014-01-15') ,
|
( 'LABEL','ID_CURRENT_USER','en','Current User','2014-01-15') ,
|
||||||
( 'LABEL','ID_CURRENT_USERS','en','Current Users','2014-01-15') ,
|
( 'LABEL','ID_CURRENT_USERS','en','Current Users','2014-01-15') ,
|
||||||
( 'LABEL','ID_CURRENT_VALUES','en','Current Values','2014-01-15') ,
|
( 'LABEL','ID_CURRENT_VALUES','en','Current Values','2014-01-15') ,
|
||||||
( 'LABEL','ID_CURRENT_VERSION','en','Current version','2014-09-18') ,
|
( 'LABEL','ID_CURRENT_VERSION','en','Current version','2014-09-18') ,
|
||||||
( 'LABEL','ID_CURRENT_WORKSPACE','en','Current Workspace','2014-01-15') ,
|
( 'LABEL','ID_CURRENT_WORKSPACE','en','Current Workspace','2014-01-15') ,
|
||||||
( 'LABEL','ID_CUSTOM_CASES_LISTS','en','Custom Case List','2017-02-21') ,
|
( 'LABEL','ID_CUSTOM_CASES_LISTS','en','Custom Case List','2017-02-21') ,
|
||||||
|
( 'LABEL','ID_CUSTOM_INFORMATION','en','Custom Case List','2021-03-20') ,
|
||||||
( 'LABEL','ID_CUSTOM_TRIGGER','en','Custom Trigger','2014-01-15') ,
|
( 'LABEL','ID_CUSTOM_TRIGGER','en','Custom Trigger','2014-01-15') ,
|
||||||
( 'LABEL','ID_CUSTOM_TRIGGER_DESCRIPTION','en','Custom Trigger','2014-01-15') ,
|
( 'LABEL','ID_CUSTOM_TRIGGER_DESCRIPTION','en','Custom Trigger','2014-01-15') ,
|
||||||
( 'LABEL','ID_CUSTOM_SCHEDULE_SETTINGS','en','Custom schedule settings','2014-01-15') ,
|
( 'LABEL','ID_CUSTOM_SCHEDULE_SETTINGS','en','Custom schedule settings','2014-01-15') ,
|
||||||
@@ -61211,11 +61215,14 @@ INSERT INTO TRANSLATION (TRN_CATEGORY,TRN_ID,TRN_LANG,TRN_VALUE,TRN_UPDATE_DATE
|
|||||||
( 'LABEL','ID_TASK','en','Task','2014-01-15') ,
|
( 'LABEL','ID_TASK','en','Task','2014-01-15') ,
|
||||||
( 'LABEL','ID_TASKS','en','Tasks','2014-01-15') ,
|
( 'LABEL','ID_TASKS','en','Tasks','2014-01-15') ,
|
||||||
( 'LABEL','ID_TASK_CANT_DELETE','en','You can''t delete the task "{0}" because it has {1} cases.','2014-01-15') ,
|
( 'LABEL','ID_TASK_CANT_DELETE','en','You can''t delete the task "{0}" because it has {1} cases.','2014-01-15') ,
|
||||||
|
( 'LABEL','ID_TASK_DELEGATE_DATE','en','Task Delegate Date','2021-03-20') ,
|
||||||
( 'LABEL','ID_TASK_DEFINED_MANUAL_ASSIGNMENT','en','The task is defined for Manual assignment','2014-01-15') ,
|
( 'LABEL','ID_TASK_DEFINED_MANUAL_ASSIGNMENT','en','The task is defined for Manual assignment','2014-01-15') ,
|
||||||
( 'LABEL','ID_TASK_DOES_NOT_HAVE_ROUTING_RULE','en','Task does not have a routing rule. Please, check the process definition.','2015-01-16') ,
|
( 'LABEL','ID_TASK_DOES_NOT_HAVE_ROUTING_RULE','en','Task does not have a routing rule. Please, check the process definition.','2015-01-16') ,
|
||||||
( 'LABEL','ID_TASK_DURATION','en','Task Duration','2014-01-15') ,
|
( 'LABEL','ID_TASK_DURATION','en','Task Duration','2014-01-15') ,
|
||||||
|
( 'LABEL','ID_TASK_DUE_DATE','en','Task Due Date','2021-03-20') ,
|
||||||
( 'LABEL','ID_TASK_ID','en','Task ID','2014-01-15') ,
|
( 'LABEL','ID_TASK_ID','en','Task ID','2014-01-15') ,
|
||||||
( 'LABEL','ID_TASK_INFORMATION','en','Task Information','2014-01-15') ,
|
( 'LABEL','ID_TASK_INFORMATION','en','Task Information','2014-01-15') ,
|
||||||
|
( 'LABEL','ID_TASK_INIT_DATE','en','Task Init Date','2021-03-20') ,
|
||||||
( 'LABEL','ID_TASK_INVALID_USER_NOT_ASSIGNED_TASK','en','Task invalid or the user is not assigned to the task','2014-01-15') ;
|
( 'LABEL','ID_TASK_INVALID_USER_NOT_ASSIGNED_TASK','en','Task invalid or the user is not assigned to the task','2014-01-15') ;
|
||||||
INSERT INTO TRANSLATION (TRN_CATEGORY,TRN_ID,TRN_LANG,TRN_VALUE,TRN_UPDATE_DATE ) VALUES
|
INSERT INTO TRANSLATION (TRN_CATEGORY,TRN_ID,TRN_LANG,TRN_VALUE,TRN_UPDATE_DATE ) VALUES
|
||||||
|
|
||||||
|
|||||||
@@ -1807,6 +1807,9 @@ class Delegation extends Model
|
|||||||
'TASK.TAS_TITLE',
|
'TASK.TAS_TITLE',
|
||||||
'TASK.TAS_ASSIGN_TYPE',
|
'TASK.TAS_ASSIGN_TYPE',
|
||||||
'APP_DELEGATION.USR_ID',
|
'APP_DELEGATION.USR_ID',
|
||||||
|
'APP_DELEGATION.DEL_DELEGATE_DATE',
|
||||||
|
'APP_DELEGATION.DEL_FINISH_DATE',
|
||||||
|
'APP_DELEGATION.DEL_INIT_DATE',
|
||||||
'APP_DELEGATION.DEL_TASK_DUE_DATE'
|
'APP_DELEGATION.DEL_TASK_DUE_DATE'
|
||||||
]);
|
]);
|
||||||
// Join with task
|
// Join with task
|
||||||
@@ -1867,9 +1870,12 @@ class Delegation extends Model
|
|||||||
$caseData = $r;
|
$caseData = $r;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// Get task title defined
|
//
|
||||||
$task = new Task();
|
$task = new Task();
|
||||||
|
// Get case title defined
|
||||||
$taskTitle = $task->taskCaseTitle($tasUid);
|
$taskTitle = $task->taskCaseTitle($tasUid);
|
||||||
|
// Get case description defined
|
||||||
|
$taskDescription = $task->taskCaseDescription($tasUid);
|
||||||
// If exist we will to replace the variables data
|
// If exist we will to replace the variables data
|
||||||
if (!empty($taskTitle)) {
|
if (!empty($taskTitle)) {
|
||||||
$threadTitle = G::replaceDataField($taskTitle, $caseData, 'mysql', false);
|
$threadTitle = G::replaceDataField($taskTitle, $caseData, 'mysql', false);
|
||||||
@@ -1886,8 +1892,16 @@ class Delegation extends Model
|
|||||||
$threadTitle = '# ' . $appNumber;
|
$threadTitle = '# ' . $appNumber;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
// If exist we will to replace the variables data
|
||||||
|
$threadDescription = '';
|
||||||
|
if (!empty($taskDescription)) {
|
||||||
|
$threadDescription = G::replaceDataField($taskDescription, $caseData, 'mysql', false);
|
||||||
|
}
|
||||||
|
|
||||||
return $threadTitle;
|
return [
|
||||||
|
'title' => $threadTitle,
|
||||||
|
'description' => $threadDescription
|
||||||
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -158,6 +158,27 @@ class Task extends Model
|
|||||||
return $title;
|
return $title;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the description of the task
|
||||||
|
*
|
||||||
|
* @param string $tasUid
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function taskCaseDescription(string $tasUid)
|
||||||
|
{
|
||||||
|
$query = Task::query()->select(['TAS_DEF_DESCRIPTION']);
|
||||||
|
$query->where('TAS_UID', $tasUid);
|
||||||
|
$query->limit(1);
|
||||||
|
$results = $query->get();
|
||||||
|
$title = '';
|
||||||
|
$results->each(function ($item) use (&$title) {
|
||||||
|
$title = $item->TAS_DEF_DESCRIPTION;
|
||||||
|
});
|
||||||
|
|
||||||
|
return $title;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get task data
|
* Get task data
|
||||||
*
|
*
|
||||||
|
|||||||
Reference in New Issue
Block a user