Merged in feature/PMCORE-3913 (pull request #8527)

PMCORE-3913

Approved-by: Rodrigo Quelca
Approved-by: Julio Cesar Laura Avendaño
This commit is contained in:
Paula Quispe
2022-08-26 13:12:51 +00:00
committed by Julio Cesar Laura Avendaño
24 changed files with 1392 additions and 349 deletions

View File

@@ -1,6 +1,11 @@
<template>
<div class="pm-vue-card">
<div class="card pm-vue-card-inside" style="width: 20rem" @dblclick="dblClick">
<div
:class="item.INIT_DATE ? 'pm-case-unread' : 'pm-case-read'"
class="card pm-vue-card-inside"
style="width: 20rem"
@dblclick="dblClick"
>
<div class="card-view-body">
<slot> </slot>
</div>
@@ -49,4 +54,24 @@ export default {
min-height: 1px;
padding: 1.25rem;
}
.pm-case-read {
border-left: 15px solid transparent;
border-radius: 0.25rem;
border-width: 1px 1px 1px 15px;
background-image:
linear-gradient(white, white),
linear-gradient(to bottom, #70C6F3, #0099DC);
background-origin: border-box;
background-clip: content-box, border-box;
}
.pm-case-unread {
border-left: 15px solid transparent;
border-radius: 0.25rem;
border-width: 1px 1px 1px 15px;
background-image:
linear-gradient(white, white),
linear-gradient(to bottom, rgba(204,204,204,1),rgba(135,135,135,1));
background-origin: border-box;
background-clip: content-box, border-box;
}
</style>

View File

@@ -1,6 +1,10 @@
<template>
<div class="pm-vue-list">
<div class="card pm-vue-list-inside" @dblclick.prevent="dblClick">
<div
:class="item.INIT_DATE ? 'pm-case-unread' : 'pm-case-read'"
class="card pm-vue-list-inside"
@dblclick.prevent="dblClick"
>
<div class="list-body">
<slot> </slot>
</div>
@@ -48,4 +52,24 @@ export default {
min-height: 1px;
padding: 1.25rem;
}
.pm-case-read {
border-left: 15px solid transparent;
border-radius: 0.25rem;
border-width: 1px 1px 1px 15px;
background-image:
linear-gradient(white, white),
linear-gradient(to bottom, #70C6F3, #0099DC);
background-origin: border-box;
background-clip: content-box, border-box;
}
.pm-case-unread {
border-left: 15px solid transparent;
border-radius: 0.25rem;
border-width: 1px 1px 1px 15px;
background-image:
linear-gradient(white, white),
linear-gradient(to bottom, rgba(204,204,204,1),rgba(135,135,135,1));
background-origin: border-box;
background-clip: content-box, border-box;
}
</style>

View File

@@ -32,6 +32,14 @@
>
{{ $t("ID_BY_PROCESS_NAME") }}
</b-form-checkbox>
<b-form-checkbox
id="checkbox-3"
v-model="byReviewStatus"
name="checkbox-3"
value="reviewStatus"
>
{{ $t("ID_BY_REVIEW_STATUS") }}
</b-form-checkbox>
</b-form-group>
</template>
</SearchPopover>
@@ -97,6 +105,7 @@ import CaseNumber from "./popovers/CaseNumber.vue";
import CaseTitle from "./popovers/CaseTitle.vue";
import ProcessName from "./popovers/ProcessName.vue";
import ProcessCategory from "./popovers/ProcessCategory.vue";
import ReviewStatus from "./popovers/ReviewStatus.vue";
import DateFilter from "./popovers/DateFilter.vue";
import TaskTitle from "./popovers/TaskTitle.vue";
import CurrentUser from "./popovers/CurrentUser.vue";
@@ -111,6 +120,7 @@ export default {
CaseTitle,
ProcessName,
ProcessCategory,
ReviewStatus,
DateFilter,
TaskTitle,
CurrentUser,
@@ -292,10 +302,50 @@ export default {
return `${params.tagPrefix}: ${data[0].label || ""}`;
},
},
reviewStatus: {
type: "ReviewStatus",
id: "reviewStatus",
title: `${this.$i18n.t("ID_FILTER")}: ${this.$i18n.t(
"ID_BY_REVIEW_STATUS"
)}`,
optionLabel: this.$i18n.t("ID_BY_REVIEW_STATUS"),
detail: "",
tagText: "",
tagPrefix: this.$i18n.t("ID_SEARCH_BY_REVIEW_STATUS"),
autoShow: false,
items: [
{
id: "reviewStatus",
value: "",
options: [
this.$i18n.t("ID_READ_FILTER_OPTION"),
this.$i18n.t("ID_UNREAD_FILTER_OPTION")
],
}
],
makeTagText: function(params, data) {
let label = "";
switch (data[0].value) {
case "READ":
label = this.items[0].options[0];
break;
case "UNREAD":
label = this.items[0].options[1];
break;
default:
label = "";
break;
}
return `${this.tagPrefix} ${label}`;
},
},
selected: "",
itemModel: {},
byProcessName: "",
byProcessCategory: "",
byReviewStatus: "",
};
},
computed: {
@@ -386,6 +436,23 @@ export default {
]),
];
}
if (self.byReviewStatus !== "") {
if (element !== undefined) {
this.reviewStatus.autoShow = false;
} else {
this.reviewStatus.autoShow = true;
}
initialFilters = [
...new Set([
...initialFilters,
...this.prepareFilterItems(
this.reviewStatus.items,
self.byReviewStatus,
true
),
]),
];
}
this.$emit("onUpdateFilters", {
params: initialFilters,
refresh: false,
@@ -460,6 +527,16 @@ export default {
? self.processCategory.autoShow
: true;
}
if (item.fieldId === "reviewStatus") {
self.searchTags.push(self.reviewStatus.id);
self.byReviewStatus = self.reviewStatus.id;
self.itemModel[self.reviewStatus.id] =
self.reviewStatus;
self.itemModel[self.reviewStatus.id].autoShow =
typeof self.reviewStatus.autoShow !== "undefined"
? self.reviewStatus.autoShow
: true;
}
});
},
dataToFilter(id) {
@@ -517,6 +594,9 @@ export default {
if (tag === "processCategory") {
this.byProcessCategory = "";
}
if (tag === "reviewStatus") {
this.byReviewStatus = "";
}
this.$emit("onUpdateFilters", { params: temp, refresh: true });
},
/**

View File

@@ -25,6 +25,14 @@
name="checkbox-1"
>
</b-form-checkbox-group>
<b-form-checkbox
id="checkbox-review-status"
v-model="byReviewStatus"
name="checkbox-review"
value="reviewStatus"
>
{{ $t("ID_BY_REVIEW_STATUS") }}
</b-form-checkbox>
</b-form-group>
</template>
</SearchPopover>
@@ -89,6 +97,7 @@ import CaseNumber from "./popovers/CaseNumber.vue";
import CaseTitle from "./popovers/CaseTitle.vue";
import ProcessName from "./popovers/ProcessName.vue";
import ProcessCategory from "./popovers/ProcessCategory.vue";
import ReviewStatus from "./popovers/ReviewStatus.vue";
import DateFilter from "./popovers/DateFilter.vue";
import TaskTitle from "./popovers/TaskTitle.vue";
import CurrentUser from "./popovers/CurrentUser.vue";
@@ -105,6 +114,7 @@ export default {
CaseTitle,
ProcessName,
ProcessCategory,
ReviewStatus,
DateFilter,
TaskTitle,
CurrentUser,
@@ -122,9 +132,47 @@ export default {
itemModel: {},
byProcessName: "",
byProcessCategory: "",
byReviewStatus: "",
criteriaItemsRadio: [],
criteriaItemsCheckbox: [],
showProcessName: true,
reviewStatus: {
type: "ReviewStatus",
id: "reviewStatus",
title: `${this.$i18n.t("ID_FILTER")}: ${this.$i18n.t("ID_BY_REVIEW_STATUS")}`,
optionLabel: this.$i18n.t("ID_BY_REVIEW_STATUS"),
detail: "",
tagText: "",
tagPrefix: this.$i18n.t("ID_SEARCH_BY_REVIEW_STATUS"),
autoShow: false,
items: [
{
id: "reviewStatus",
value: "",
options: [
this.$i18n.t("ID_READ_FILTER_OPTION"),
this.$i18n.t("ID_UNREAD_FILTER_OPTION")
],
}
],
makeTagText: function(params, data) {
let label = "";
switch (data[0].value) {
case "READ":
label = this.items[0].options[0];
break;
case "UNREAD":
label = this.items[0].options[1];
break;
default:
label = "";
break;
}
return `${this.tagPrefix} ${label}`;
},
},
};
},
mounted(){},
@@ -198,6 +246,23 @@ export default {
initialFilters =[...new Set([...initialFilters,...this.prepareFilterItems(element, item, true)])];
}
});
if (self.byReviewStatus !== "") {
if (element !== undefined) {
this.reviewStatus.autoShow = false;
} else {
this.reviewStatus.autoShow = true;
}
initialFilters = [
...new Set([
...initialFilters,
...this.prepareFilterItems(
this.reviewStatus.items,
self.byReviewStatus,
true
),
]),
];
}
this.$emit("onUpdateFilters", {
params: initialFilters,
refresh: false,
@@ -214,7 +279,7 @@ export default {
self = this,
filter,
item;
_.forEach(element.items, function(value, key) {
_.forEach(element.items || element, function(value, key) {
filter = _.find(self.filters, function(o) {
return o.filterVar === value.id;
});
@@ -256,6 +321,16 @@ export default {
? item.autoShow
: true;
}
if (item.fieldId === "reviewStatus") {
self.searchTags.push(self.reviewStatus.id);
self.byReviewStatus = self.reviewStatus.id;
self.itemModel[self.reviewStatus.id] =
self.reviewStatus;
self.itemModel[self.reviewStatus.id].autoShow =
typeof self.reviewStatus.autoShow !== "undefined"
? self.reviewStatus.autoShow
: true;
}
});
},
/**
@@ -327,6 +402,9 @@ export default {
this.byProcessName = "";
this.selectedCheckbox = [];
}
if (tag === "reviewStatus") {
this.byReviewStatus = "";
}
this.$emit("onUpdateFilters", { params: temp, refresh: true });
},
/**

View File

@@ -0,0 +1,67 @@
<template>
<div>
<SearchPopover
:target="tag"
@savePopover="onOk"
:title="info.title"
:autoShow="info.autoShow || false"
>
<template v-slot:body>
<p>{{ info.detail }}</p>
<form ref="form" @submit.stop.prevent="handleSubmit">
<b-form-group
label-for="name"
:invalid-feedback="$t('ID_PROCESS_IS_REQUIRED')"
>
<b-form-radio-group
v-model="selected"
:options="readUnread"
name="review-status-options"
stacked
></b-form-radio-group>
</b-form-group>
</form>
</template>
</SearchPopover>
</div>
</template>
<script>
import SearchPopover from "./SearchPopover.vue";
import Multiselect from "vue-multiselect";
export default {
components: {
SearchPopover,
Multiselect,
},
props: ["tag", "info", "filter"],
data() {
return {
selected: "",
readUnread: [
{ text: this.$i18n.t("ID_READ_FILTER_OPTION"), value: 'READ' },
{ text: this.$i18n.t("ID_UNREAD_FILTER_OPTION"), value: 'UNREAD' }
]
};
},
methods: {
/**
* On Ok event handler
*/
onOk() {
this.handleSubmit();
},
/**
* Form submit handler
*/
handleSubmit() {
this.filter[0].value = this.selected;
this.$emit("updateSearchTag", this.filter);
this.$root.$emit("bv::hide::popover");
},
},
};
</script>
<style src="vue-multiselect/dist/vue-multiselect.min.css"></style>
<style scoped></style>

View File

@@ -44,42 +44,90 @@
name="todo"
>
<div slot="detail" slot-scope="props">
<div class="btn-default" @click="openCaseDetail(props.row)">
<div
class="btn-default"
:class="props.row.INIT_DATE ? '' : 'pm-main-text-color '"
@click="openCaseDetail(props.row)"
>
<i class="fas fa-info-circle"></i>
</div>
</div>
<div slot="case_number" slot-scope="props">
<div
:class="props.row.INIT_DATE ? '' : 'font-weight-bold'"
slot="case_number"
slot-scope="props"
>
{{ props.row.CASE_NUMBER }}
</div>
<div slot="case_title" slot-scope="props">
<div
:class="props.row.INIT_DATE ? '' : 'font-weight-bold'"
slot="case_title"
slot-scope="props"
>
{{ props.row.THREAD_TITLE }}
</div>
<div slot="process_category" slot-scope="props">
<div
:class="props.row.INIT_DATE ? '' : 'font-weight-bold'"
slot="process_category"
slot-scope="props"
>
{{ props.row.PROCESS_CATEGORY }}
</div>
<div slot="process_name" slot-scope="props">
<div
:class="props.row.INIT_DATE ? '' : 'font-weight-bold'"
slot="process_name"
slot-scope="props"
>
{{ props.row.PROCESS_NAME }}
</div>
<div slot="task" slot-scope="props">
<div
:class="props.row.INIT_DATE ? '' : 'font-weight-bold'"
slot="task"
slot-scope="props"
>
<TaskCell :data="props.row.TASK" />
</div>
<div slot="send_by" slot-scope="props">
<div
:class="props.row.INIT_DATE ? '' : 'font-weight-bold'"
slot="send_by"
slot-scope="props"
>
<CurrentUserCell :data="props.row.USER_DATA" />
</div>
<div slot="current_user" slot-scope="props">
<div
:class="props.row.INIT_DATE ? '' : 'font-weight-bold'"
slot="current_user"
slot-scope="props"
>
{{ props.row.USERNAME_DISPLAY_FORMAT }}
</div>
<div slot="due_date" slot-scope="props">
<div
:class="props.row.INIT_DATE ? '' : 'font-weight-bold'"
slot="due_date"
slot-scope="props"
>
{{ props.row.DUE_DATE }}
</div>
<div slot="delegation_date" slot-scope="props">
<div
:class="props.row.INIT_DATE ? '' : 'font-weight-bold'"
slot="delegation_date"
slot-scope="props"
>
{{ props.row.DELEGATION_DATE }}
</div>
<div slot="priority" slot-scope="props">
<div
:class="props.row.INIT_DATE ? '' : 'font-weight-bold'"
slot="priority"
slot-scope="props"
>
{{ props.row.PRIORITY }}
</div>
<div slot="actions" slot-scope="props">
<div
:class="props.row.INIT_DATE ? '' : 'font-weight-bold'"
slot="actions"
slot-scope="props"
>
<div @mouseover="updateDataEllipsis(props.row)">
<ellipsis
v-if="dataEllipsis"
@@ -104,6 +152,7 @@
<b-col sm="12">
<div
class="v-pm-card-info"
:class="props.item.INIT_DATE ? '' : 'pm-main-text-color '"
@click="openCaseDetail(props.item)"
>
<i class="fas fa-info-circle"></i>
@@ -120,7 +169,7 @@
</b-row>
</b-col>
<template v-for="column in cardColumns" :slot="column" slot-scope="props" class="v-card-text">
<div :key="column">
<div :class="props.item.INIT_DATE ? '' : 'font-weight-bold'" :key="column">
<span class="v-card-text-dark">
{{ getCustomHeading(column, props) }} :
</span>
@@ -165,7 +214,10 @@
<div slot="actions" slot-scope="props">
<b-row>
<b-col sm="12">
<div class="v-pm-card-info" @click="openCaseDetail(props.item)">
<div
class="v-pm-card-info"
:class="props.item.INIT_DATE ? '' : 'pm-main-text-color'"
@click="openCaseDetail(props.item)">
<i class="fas fa-info-circle"></i>
</div>
</b-col>
@@ -177,7 +229,7 @@
</b-row>
</div>
<template v-for="column in cardColumns" :slot="column" slot-scope="props" class="v-card-text">
<div :key="column">
<div :class="props.item.INIT_DATE ? '' : 'font-weight-bold'" :key="column">
<span class="v-card-text-dark">
{{ getCustomHeading(column, props) }} :
</span>
@@ -911,6 +963,7 @@ export default {
}),
DUE_DATE: v.DEL_TASK_DUE_DATE_LABEL,
DELEGATION_DATE: v.DEL_DELEGATE_DATE_LABEL,
INIT_DATE: v.DEL_INIT_DATE,
PRIORITY: v.DEL_PRIORITY_LABEL,
DEL_INDEX: v.DEL_INDEX,
APP_UID: v.APP_UID,
@@ -968,6 +1021,7 @@ export default {
DEL_INDEX: item.DEL_INDEX,
PRO_UID: item.PRO_UID,
TAS_UID: item.TAS_UID,
INIT_DATE: item.INIT_DATE,
ACTION: "todo",
});
this.$emit("onUpdatePage", "XCase");
@@ -989,6 +1043,7 @@ export default {
PRO_UID: item.PRO_UID,
TAS_UID: item.TAS_UID,
APP_NUMBER: item.CASE_NUMBER,
INIT_DATE: item.INIT_DATE,
ACTION: "todo",
});
that.$emit("onUpdatePage", "case-detail");

View File

@@ -41,27 +41,61 @@
name="draft"
>
<div slot="detail" slot-scope="props">
<div class="btn-default" @click="openCaseDetail(props.row)">
<div
class="btn-default"
:class="props.row.INIT_DATE ? '' : 'pm-main-text-color '"
@click="openCaseDetail(props.row)"
>
<i class="fas fa-info-circle"></i>
</div>
</div>
<div slot="case_number" slot-scope="props">
<div
:class="props.row.INIT_DATE ? '' : 'font-weight-bold'"
slot="case_number"
slot-scope="props"
>
{{ props.row.CASE_NUMBER }}
</div>
<div slot="thread_title" slot-scope="props">
<div
:class="props.row.INIT_DATE ? '' : 'font-weight-bold'"
slot="thread_title"
slot-scope="props"
>
{{ props.row.THREAD_TITLE }}
</div>
<div slot="process_category" slot-scope="props">
<div
:class="props.row.INIT_DATE ? '' : 'font-weight-bold'"
slot="process_category"
slot-scope="props"
>
{{ props.row.PROCESS_CATEGORY }}
</div>
<div slot="process_name" slot-scope="props">
<div
:class="props.row.INIT_DATE ? '' : 'font-weight-bold'"
slot="process_name"
slot-scope="props"
>
{{ props.row.PROCESS_NAME }}
</div>
<div slot="task" slot-scope="props">
<div
:class="props.row.INIT_DATE ? '' : 'font-weight-bold'"
slot="task"
slot-scope="props"
>
<TaskCell :data="props.row.TASK" />
</div>
<div slot="priority" slot-scope="props">{{ props.row.PRIORITY }}</div>
<div slot="actions" slot-scope="props">
<div
:class="props.row.INIT_DATE ? '' : 'font-weight-bold'"
slot="priority"
slot-scope="props"
>
{{ props.row.PRIORITY }}
</div>
<div
:class="props.row.INIT_DATE ? '' : 'font-weight-bold'"
slot="actions"
slot-scope="props"
>
<div @mouseover="updateDataEllipsis(props.row)">
<ellipsis v-if="dataEllipsis" :data="dataEllipsis"> </ellipsis>
</div>
@@ -75,7 +109,11 @@
<div slot="actions" slot-scope="props">
<b-row>
<b-col sm="12">
<div class="v-pm-card-info" @click="openCaseDetail(props.item)">
<div
class="v-pm-card-info"
:class="props.item.INIT_DATE ? '' : 'pm-main-text-color'"
@click="openCaseDetail(props.item)"
>
<i class="fas fa-info-circle"></i>
</div>
</b-col>
@@ -87,63 +125,108 @@
</b-row>
</div>
<div slot="case_number" slot-scope="props" class="v-card-text">
<span class="v-card-text-highlight"
>{{ props["headings"][props.column] }} : {{ props["item"]["CASE_NUMBER"] }}</span
<span
:class="props.item.INIT_DATE ? '' : 'font-weight-bold'"
class="v-card-text-highlight"
>
{{ props["headings"][props.column] }} : {{ props["item"]["CASE_NUMBER"] }}</span
>
</div>
<div slot="thread_title" slot-scope="props" class="v-card-text">
<span class="v-card-text-dark"
>{{ props["headings"][props.column] }} :</span
<span
:class="props.item.INIT_DATE ? '' : 'font-weight-bold'"
class="v-card-text-dark"
>
{{ props["headings"][props.column] }} :</span
>
<span
:class="props.item.INIT_DATE ? '' : 'font-weight-bold'"
class="v-card-text-light"
>
<span class="v-card-text-light">
{{ props["item"]["THREAD_TITLE"] }}
</span>
</div>
<div slot="process_category" slot-scope="props" class="v-card-text">
<span class="v-card-text-dark"
>{{ props["headings"][props.column] }} :</span
<span
:class="props.item.INIT_DATE ? '' : 'font-weight-bold'"
class="v-card-text-dark"
>
<span class="v-card-text-light"
>{{ props["item"]["PROCESS_CATEGORY"] }}
{{ props["headings"][props.column] }} :</span
>
<span
:class="props.item.INIT_DATE ? '' : 'font-weight-bold'"
class="v-card-text-light"
>
{{ props["item"]["PROCESS_CATEGORY"] }}
</span>
</div>
<div slot="process_name" slot-scope="props" class="v-card-text">
<span class="v-card-text-dark"
>{{ props["headings"][props.column] }} :</span
<span
:class="props.item.INIT_DATE ? '' : 'font-weight-bold'"
class="v-card-text-dark"
>
<span class="v-card-text-light"
>{{ props["item"]["PROCESS_NAME"] }}
{{ props["headings"][props.column] }} :</span
>
<span
:class="props.item.INIT_DATE ? '' : 'font-weight-bold'"
class="v-card-text-light"
>
{{ props["item"]["PROCESS_NAME"] }}
</span>
</div>
<div slot="due_date" slot-scope="props" class="v-card-text">
<span class="v-card-text-dark"
>{{ props["headings"][props.column] }} :</span
<span
:class="props.item.INIT_DATE ? '' : 'font-weight-bold'"
class="v-card-text-dark"
>
<span class="v-card-text-light"
>{{ props["item"]["DUE_DATE"] }}
{{ props["headings"][props.column] }} :</span
>
<span
:class="props.item.INIT_DATE ? '' : 'font-weight-bold'"
class="v-card-text-light"
>
{{ props["item"]["DUE_DATE"] }}
</span>
</div>
<div slot="delegation_date" slot-scope="props" class="v-card-text">
<span class="v-card-text-dark"
>{{ props["headings"][props.column] }} :</span
<span
:class="props.item.INIT_DATE ? '' : 'font-weight-bold'"
class="v-card-text-dark"
>
<span class="v-card-text-light"
>{{ props["item"]["DELEGATION_DATE"] }}
{{ props["headings"][props.column] }} :</span
>
<span
:class="props.item.INIT_DATE ? '' : 'font-weight-bold'"
class="v-card-text-light"
>
{{ props["item"]["DELEGATION_DATE"] }}
</span>
</div>
<div slot="priority" slot-scope="props" class="v-card-text">
<span class="v-card-text-dark"
>{{ props["headings"][props.column] }} :</span
<span
:class="props.item.INIT_DATE ? '' : 'font-weight-bold'"
class="v-card-text-dark"
>
<span class="v-card-text-light"
>{{ props["item"]["PRIORITY"] }}
{{ props["headings"][props.column] }} :</span
>
<span
:class="props.item.INIT_DATE ? '' : 'font-weight-bold'"
class="v-card-text-light"
>
{{ props["item"]["PRIORITY"] }}
</span>
</div>
<div slot="task" slot-scope="props" class="v-card-text">
<span class="v-card-text-dark"
>{{ props["headings"][props.column] }} :</span
<span
:class="props.item.INIT_DATE ? '' : 'font-weight-bold'"
class="v-card-text-dark"
>
{{ props["headings"][props.column] }} :</span
>
<span
:class="props.item.INIT_DATE ? '' : 'font-weight-bold'"
class="v-card-text-light"
>
<span class="v-card-text-light">
<TaskCell :data="props.item.TASK" />
</span>
</div>
@@ -157,7 +240,11 @@
<div slot="actions" slot-scope="props">
<b-row>
<b-col sm="12">
<div class="v-pm-card-info" @click="openCaseDetail(props.item)">
<div
class="v-pm-card-info"
:class="props.item.INIT_DATE ? '' : 'pm-main-text-color'"
@click="openCaseDetail(props.item)"
>
<i class="fas fa-info-circle"></i>
</div>
</b-col>
@@ -169,63 +256,108 @@
</b-row>
</div>
<div slot="case_number" slot-scope="props" class="v-card-text">
<span class="v-card-text-highlight"
>{{ props["headings"][props.column] }} : {{ props["item"]["CASE_NUMBER"] }}</span
<span
:class="props.item.INIT_DATE ? '' : 'font-weight-bold'"
class="v-card-text-highlight"
>
{{ props["headings"][props.column] }} : {{ props["item"]["CASE_NUMBER"] }}</span
>
</div>
<div slot="thread_title" slot-scope="props" class="v-card-text">
<span class="v-card-text-dark"
>{{ props["headings"][props.column] }} :</span
<span
:class="props.item.INIT_DATE ? '' : 'font-weight-bold'"
class="v-card-text-dark"
>
{{ props["headings"][props.column] }} :</span
>
<span
:class="props.item.INIT_DATE ? '' : 'font-weight-bold'"
class="v-card-text-light"
>
<span class="v-card-text-light">
{{ props["item"]["THREAD_TITLE"] }}
</span>
</div>
<div slot="process_category" slot-scope="props" class="v-card-text">
<span class="v-card-text-dark"
>{{ props["headings"][props.column] }} :</span
<span
:class="props.item.INIT_DATE ? '' : 'font-weight-bold'"
class="v-card-text-dark"
>
<span class="v-card-text-light"
>{{ props["item"]["PROCESS_CATEGORY"] }}
{{ props["headings"][props.column] }} :</span
>
<span
:class="props.item.INIT_DATE ? '' : 'font-weight-bold'"
class="v-card-text-light"
>
{{ props["item"]["PROCESS_CATEGORY"] }}
</span>
</div>
<div slot="process_name" slot-scope="props" class="v-card-text">
<span class="v-card-text-dark"
>{{ props["headings"][props.column] }} :</span
<span
:class="props.item.INIT_DATE ? '' : 'font-weight-bold'"
class="v-card-text-dark"
>
<span class="v-card-text-light"
>{{ props["item"]["PROCESS_NAME"] }}
{{ props["headings"][props.column] }} :</span
>
<span
:class="props.item.INIT_DATE ? '' : 'font-weight-bold'"
class="v-card-text-light"
>
{{ props["item"]["PROCESS_NAME"] }}
</span>
</div>
<div slot="due_date" slot-scope="props" class="v-card-text">
<span class="v-card-text-dark"
>{{ props["headings"][props.column] }} :</span
<span
:class="props.item.INIT_DATE ? '' : 'font-weight-bold'"
class="v-card-text-dark"
>
<span class="v-card-text-light"
>{{ props["item"]["DUE_DATE"] }}
{{ props["headings"][props.column] }} :</span
>
<span
:class="props.item.INIT_DATE ? '' : 'font-weight-bold'"
class="v-card-text-light"
>
{{ props["item"]["DUE_DATE"] }}
</span>
</div>
<div slot="delegation_date" slot-scope="props" class="v-card-text">
<span class="v-card-text-dark"
>{{ props["headings"][props.column] }} :</span
<span
:class="props.item.INIT_DATE ? '' : 'font-weight-bold'"
class="v-card-text-dark"
>
<span class="v-card-text-light"
>{{ props["item"]["DELEGATION_DATE"] }}
{{ props["headings"][props.column] }} :</span
>
<span
:class="props.item.INIT_DATE ? '' : 'font-weight-bold'"
class="v-card-text-light"
>
{{ props["item"]["DELEGATION_DATE"] }}
</span>
</div>
<div slot="priority" slot-scope="props" class="v-card-text">
<span class="v-card-text-dark"
>{{ props["headings"][props.column] }} :</span
<span
:class="props.item.INIT_DATE ? '' : 'font-weight-bold'"
class="v-card-text-dark"
>
<span class="v-card-text-light"
>{{ props["item"]["PRIORITY"] }}
{{ props["headings"][props.column] }} :</span
>
<span
:class="props.item.INIT_DATE ? '' : 'font-weight-bold'"
class="v-card-text-light"
>
{{ props["item"]["PRIORITY"] }}
</span>
</div>
<div slot="task" slot-scope="props" class="v-card-text">
<span class="v-card-text-dark"
>{{ props["headings"][props.column] }} :</span
<span
:class="props.item.INIT_DATE ? '' : 'font-weight-bold'"
class="v-card-text-dark"
>
{{ props["headings"][props.column] }} :</span
>
<span
:class="props.item.INIT_DATE ? '' : 'font-weight-bold'"
class="v-card-text-light"
>
<span class="v-card-text-light">
<TaskCell :data="props.item.TASK" />
</span>
</div>
@@ -413,7 +545,7 @@ export default {
*/
ProcessMaker() {
return window.ProcessMaker;
},
}
},
updated() {},
beforeCreate() {},
@@ -562,7 +694,8 @@ export default {
PRO_UID: v.PRO_UID,
TAS_UID: v.TAS_UID,
DEL_INDEX: v.DEL_INDEX,
APP_UID: v.APP_UID
APP_UID: v.APP_UID,
INIT_DATE: v.DEL_INIT_DATE
});
});
return data;
@@ -578,6 +711,7 @@ export default {
DEL_INDEX: item.DEL_INDEX,
PRO_UID: item.PRO_UID,
TAS_UID: item.TAS_UID,
INIT_DATE: item.INIT_DATE,
ACTION: "draft"
});
this.$emit("onUpdatePage", "XCase");
@@ -597,6 +731,7 @@ export default {
PRO_UID: item.PRO_UID,
TAS_UID: item.TAS_UID,
APP_NUMBER: item.CASE_NUMBER,
INIT_DATE: item.INIT_DATE,
ACTION: "draft"
});
that.$emit("onUpdatePage", "case-detail");

View File

@@ -36,39 +36,89 @@
name="todo"
>
<div slot="detail" slot-scope="props">
<div class="btn-default" @click="openCaseDetail(props.row)">
<div
class="btn-default"
:class="props.row.INIT_DATE ? '' : 'pm-main-text-color '"
@click="openCaseDetail(props.row)"
>
<i class="fas fa-info-circle"></i>
</div>
</div>
<div slot="case_number" slot-scope="props">
<div
:class="props.row.INIT_DATE ? '' : 'font-weight-bold'"
slot="case_number"
slot-scope="props"
>
{{ props.row.CASE_NUMBER }}
</div>
<div slot="thread_title" slot-scope="props">
<div
:class="props.row.INIT_DATE ? '' : 'font-weight-bold'"
slot="thread_title"
slot-scope="props"
>
{{ props.row.THREAD_TITLE }}
</div>
<div slot="process_category" slot-scope="props">
<div
:class="props.row.INIT_DATE ? '' : 'font-weight-bold'"
slot="process_category"
slot-scope="props"
>
{{ props.row.PROCESS_CATEGORY }}
</div>
<div slot="process_name" slot-scope="props">
<div
:class="props.row.INIT_DATE ? '' : 'font-weight-bold'"
slot="process_name"
slot-scope="props"
>
{{ props.row.PROCESS_NAME }}
</div>
<div slot="task" slot-scope="props">
<div
:class="props.row.INIT_DATE ? '' : 'font-weight-bold'"
slot="task"
slot-scope="props"
>
<TaskCell :data="props.row.TASK" />
</div>
<div slot="send_by" slot-scope="props">
<div
:class="props.row.INIT_DATE ? '' : 'font-weight-bold'"
slot="send_by"
slot-scope="props"
>
<CurrentUserCell :data="props.row.USER_DATA" />
</div>
<div slot="current_user" slot-scope="props">
<div
:class="props.row.INIT_DATE ? '' : 'font-weight-bold'"
slot="current_user"
slot-scope="props"
>
{{ props.row.USERNAME_DISPLAY_FORMAT }}
</div>
<div slot="due_date" slot-scope="props">
<div
:class="props.row.INIT_DATE ? '' : 'font-weight-bold'"
slot="due_date"
slot-scope="props"
>
{{ props.row.DUE_DATE }}
</div>
<div slot="delegation_date" slot-scope="props">
<div
:class="props.row.INIT_DATE ? '' : 'font-weight-bold'"
slot="delegation_date"
slot-scope="props"
>
{{ props.row.DELEGATION_DATE }}
</div>
<div slot="priority" slot-scope="props">{{ props.row.PRIORITY }}</div>
<div slot="actions" slot-scope="props">
<div
:class="props.row.INIT_DATE ? '' : 'font-weight-bold'"
slot="priority"
slot-scope="props"
>
{{ props.row.PRIORITY }}
</div>
<div
:class="props.row.INIT_DATE ? '' : 'font-weight-bold'"
slot="actions"
slot-scope="props"
>
<div @mouseover="updateDataEllipsis(props.row)">
<ellipsis v-if="dataEllipsis" :data="dataEllipsis"> </ellipsis>
</div>
@@ -82,7 +132,11 @@
<div slot="actions" slot-scope="props">
<b-row>
<b-col sm="12">
<div class="v-pm-card-info" @click="openCaseDetail(props.item)">
<div
class="v-pm-card-info"
:class="props.item.INIT_DATE ? '' : 'pm-main-text-color'"
@click="openCaseDetail(props.item)"
>
<i class="fas fa-info-circle"></i>
</div>
</b-col>
@@ -94,71 +148,122 @@
</b-row>
</div>
<div slot="case_number" slot-scope="props" class="v-card-text">
<span class="v-card-text-highlight"
>{{ props["headings"][props.column] }} : {{ props["item"]["CASE_NUMBER"] }}</span
<span
:class="props.item.INIT_DATE ? '' : 'font-weight-bold'"
class="v-card-text-highlight"
>
{{ props["headings"][props.column] }} : {{ props["item"]["CASE_NUMBER"] }}</span
>
</div>
<div slot="thread_title" slot-scope="props" class="v-card-text">
<span class="v-card-text-dark"
>{{ props["headings"][props.column] }} :</span
<span
:class="props.item.INIT_DATE ? '' : 'font-weight-bold'"
class="v-card-text-dark"
>
{{ props["headings"][props.column] }} :</span
>
<span
:class="props.item.INIT_DATE ? '' : 'font-weight-bold'"
class="v-card-text-light"
>
<span class="v-card-text-light">
{{ props["item"]["THREAD_TITLE"] }}
</span>
</div>
<div slot="process_category" slot-scope="props" class="v-card-text">
<span class="v-card-text-dark"
>{{ props["headings"][props.column] }} :</span
<span
:class="props.item.INIT_DATE ? '' : 'font-weight-bold'"
class="v-card-text-dark"
>
<span class="v-card-text-light"
>{{ props["item"]["PROCESS_CATEGORY"] }}
{{ props["headings"][props.column] }} :</span
>
<span
:class="props.item.INIT_DATE ? '' : 'font-weight-bold'"
class="v-card-text-light"
>
{{ props["item"]["PROCESS_CATEGORY"] }}
</span>
</div>
<div slot="process_name" slot-scope="props" class="v-card-text">
<span class="v-card-text-dark"
>{{ props["headings"][props.column] }} :</span
<span
:class="props.item.INIT_DATE ? '' : 'font-weight-bold'"
class="v-card-text-dark"
>
<span class="v-card-text-light"
>{{ props["item"]["PROCESS_NAME"] }}
{{ props["headings"][props.column] }} :</span
>
<span
:class="props.item.INIT_DATE ? '' : 'font-weight-bold'"
class="v-card-text-light"
>
{{ props["item"]["PROCESS_NAME"] }}
</span>
</div>
<div slot="due_date" slot-scope="props" class="v-card-text">
<span class="v-card-text-dark"
>{{ props["headings"][props.column] }} :</span
<span
:class="props.item.INIT_DATE ? '' : 'font-weight-bold'"
class="v-card-text-dark"
>
<span class="v-card-text-light"
>{{ props["item"]["DUE_DATE"] }}
{{ props["headings"][props.column] }} :</span
>
<span
:class="props.item.INIT_DATE ? '' : 'font-weight-bold'"
class="v-card-text-light"
>
{{ props["item"]["DUE_DATE"] }}
</span>
</div>
<div slot="delegation_date" slot-scope="props" class="v-card-text">
<span class="v-card-text-dark"
>{{ props["headings"][props.column] }} :</span
<span
:class="props.item.INIT_DATE ? '' : 'font-weight-bold'"
class="v-card-text-dark"
>
<span class="v-card-text-light"
>{{ props["item"]["DELEGATION_DATE"] }}
{{ props["headings"][props.column] }} :</span
>
<span
:class="props.item.INIT_DATE ? '' : 'font-weight-bold'"
class="v-card-text-light"
>
{{ props["item"]["DELEGATION_DATE"] }}
</span>
</div>
<div slot="task" slot-scope="props" class="v-card-text">
<span class="v-card-text-dark"
>{{ props["headings"][props.column] }} :</span
<span
:class="props.item.INIT_DATE ? '' : 'font-weight-bold'"
class="v-card-text-dark"
>
{{ props["headings"][props.column] }} :</span
>
<span
:class="props.item.INIT_DATE ? '' : 'font-weight-bold'"
class="v-card-text-light"
>
<span class="v-card-text-light">
<TaskCell :data="props.item.TASK" />
</span>
</div>
<div slot="priority" slot-scope="props" class="v-card-text">
<span class="v-card-text-dark"
>{{ props["headings"][props.column] }} :</span
<span
:class="props.item.INIT_DATE ? '' : 'font-weight-bold'"
class="v-card-text-dark"
>
<span class="v-card-text-light"
>{{ props["item"]["PRIORITY"] }}
{{ props["headings"][props.column] }} :</span
>
<span
:class="props.item.INIT_DATE ? '' : 'font-weight-bold'"
class="v-card-text-light"
>
{{ props["item"]["PRIORITY"] }}
</span>
</div>
<div slot="send_by" slot-scope="props" class="v-card-text">
<span class="v-card-text-dark"
>{{ props["headings"][props.column] }} :</span
<span
:class="props.item.INIT_DATE ? '' : 'font-weight-bold'"
class="v-card-text-dark"
>
{{ props["headings"][props.column] }} :</span
>
<span
:class="props.item.INIT_DATE ? '' : 'font-weight-bold'"
class="v-card-text-light"
>
<span class="v-card-text-light">
<CurrentUserCell :data="props.item.USER_DATA" />
</span>
</div>
@@ -171,7 +276,11 @@
<div slot="actions" slot-scope="props">
<b-row>
<b-col sm="12">
<div class="v-pm-card-info" @click="openCaseDetail(props.item)">
<div
class="v-pm-card-info"
:class="props.item.INIT_DATE ? '' : 'pm-main-text-color'"
@click="openCaseDetail(props.item)"
>
<i class="fas fa-info-circle"></i>
</div>
</b-col>
@@ -183,71 +292,122 @@
</b-row>
</div>
<div ref="text" slot="case_number" slot-scope="props" class="v-card-text">
<span class="v-card-text-highlight"
>{{ props["headings"][props.column] }} : {{ props["item"]["CASE_NUMBER"] }}</span
<span
:class="props.item.INIT_DATE ? '' : 'font-weight-bold'"
class="v-card-text-highlight"
>
{{ props["headings"][props.column] }} : {{ props["item"]["CASE_NUMBER"] }}</span
>
</div>
<div slot="thread_title" slot-scope="props" class="v-card-text">
<span class="v-card-text-dark"
>{{ props["headings"][props.column] }} :</span
<span
:class="props.item.INIT_DATE ? '' : 'font-weight-bold'"
class="v-card-text-dark"
>
{{ props["headings"][props.column] }} :</span
>
<span
:class="props.item.INIT_DATE ? '' : 'font-weight-bold'"
class="v-card-text-light"
>
<span class="v-card-text-light">
{{ props["item"]["THREAD_TITLE"] }}
</span>
</div>
<div slot="process_category" slot-scope="props" class="v-card-text">
<span class="v-card-text-dark"
>{{ props["headings"][props.column] }} :</span
<span
:class="props.item.INIT_DATE ? '' : 'font-weight-bold'"
class="v-card-text-dark"
>
<span class="v-card-text-light"
>{{ props["item"]["PROCESS_CATEGORY"] }}
{{ props["headings"][props.column] }} :</span
>
<span
:class="props.item.INIT_DATE ? '' : 'font-weight-bold'"
class="v-card-text-light"
>
{{ props["item"]["PROCESS_CATEGORY"] }}
</span>
</div>
<div slot="process_name" slot-scope="props" class="v-card-text">
<span class="v-card-text-dark"
>{{ props["headings"][props.column] }} :</span
<span
:class="props.item.INIT_DATE ? '' : 'font-weight-bold'"
class="v-card-text-dark"
>
<span class="v-card-text-light"
>{{ props["item"]["PROCESS_NAME"] }}
{{ props["headings"][props.column] }} :</span
>
<span
:class="props.item.INIT_DATE ? '' : 'font-weight-bold'"
class="v-card-text-light"
>
{{ props["item"]["PROCESS_NAME"] }}
</span>
</div>
<div slot="due_date" slot-scope="props" class="v-card-text">
<span class="v-card-text-dark"
>{{ props["headings"][props.column] }} :</span
<span
:class="props.item.INIT_DATE ? '' : 'font-weight-bold'"
class="v-card-text-dark"
>
<span class="v-card-text-light"
>{{ props["item"]["DUE_DATE"] }}
{{ props["headings"][props.column] }} :</span
>
<span
:class="props.item.INIT_DATE ? '' : 'font-weight-bold'"
class="v-card-text-light"
>
{{ props["item"]["DUE_DATE"] }}
</span>
</div>
<div slot="delegation_date" slot-scope="props" class="v-card-text">
<span class="v-card-text-dark"
>{{ props["headings"][props.column] }} :</span
<span
:class="props.item.INIT_DATE ? '' : 'font-weight-bold'"
class="v-card-text-dark"
>
<span class="v-card-text-light"
>{{ props["item"]["DELEGATION_DATE"] }}
{{ props["headings"][props.column] }} :</span
>
<span
:class="props.item.INIT_DATE ? '' : 'font-weight-bold'"
class="v-card-text-light"
>
{{ props["item"]["DELEGATION_DATE"] }}
</span>
</div>
<div slot="priority" slot-scope="props" class="v-card-text">
<span class="v-card-text-dark"
>{{ props["headings"][props.column] }} :</span
<span
:class="props.item.INIT_DATE ? '' : 'font-weight-bold'"
class="v-card-text-dark"
>
<span class="v-card-text-light"
>{{ props["item"]["PRIORITY"] }}
{{ props["headings"][props.column] }} :</span
>
<span
:class="props.item.INIT_DATE ? '' : 'font-weight-bold'"
class="v-card-text-light"
>
{{ props["item"]["PRIORITY"] }}
</span>
</div>
<div slot="task" slot-scope="props" class="v-card-text">
<span class="v-card-text-dark"
>{{ props["headings"][props.column] }} :</span
<span
:class="props.item.INIT_DATE ? '' : 'font-weight-bold'"
class="v-card-text-dark"
>
{{ props["headings"][props.column] }} :</span
>
<span
:class="props.item.INIT_DATE ? '' : 'font-weight-bold'"
class="v-card-text-light"
>
<span class="v-card-text-light">
<TaskCell :data="props.item.TASK" />
</span>
</div>
<div slot="send_by" slot-scope="props" class="v-card-text">
<span class="v-card-text-dark"
>{{ props["headings"][props.column] }} :</span
<span
:class="props.item.INIT_DATE ? '' : 'font-weight-bold'"
class="v-card-text-dark"
>
{{ props["headings"][props.column] }} :</span
>
<span
:class="props.item.INIT_DATE ? '' : 'font-weight-bold'"
class="v-card-text-light"
>
<span class="v-card-text-light">
<CurrentUserCell :data="props.item.USER_DATA" />
</span>
</div>
@@ -447,7 +607,7 @@ export default {
*/
ProcessMaker() {
return window.ProcessMaker;
},
}
},
updated() {},
beforeCreate() {},
@@ -605,6 +765,7 @@ export default {
}),
DUE_DATE: v.DEL_TASK_DUE_DATE_LABEL,
DELEGATION_DATE: v.DEL_DELEGATE_DATE_LABEL,
INIT_DATE: v.DEL_INIT_DATE,
PRIORITY: v.DEL_PRIORITY_LABEL,
DEL_INDEX: v.DEL_INDEX,
APP_UID: v.APP_UID,
@@ -660,6 +821,7 @@ export default {
DEL_INDEX: item.DEL_INDEX,
PRO_UID: item.PRO_UID,
TAS_UID: item.TAS_UID,
INIT_DATE: item.INIT_DATE,
ACTION: "todo",
});
this.$emit("onUpdatePage", "XCase");
@@ -679,6 +841,7 @@ export default {
PRO_UID: item.PRO_UID,
TAS_UID: item.TAS_UID,
APP_NUMBER: item.CASE_NUMBER,
INIT_DATE: item.INIT_DATE,
ACTION: "todo",
});
that.$emit("onUpdatePage", "case-detail");

View File

@@ -35,39 +35,89 @@
name="paused"
>
<div slot="detail" slot-scope="props">
<div class="btn-default" @click="openCaseDetail(props.row)">
<div
class="btn-default"
:class="props.row.INIT_DATE ? '' : 'pm-main-text-color '"
@click="openCaseDetail(props.row)"
>
<i class="fas fa-info-circle"></i>
</div>
</div>
<div slot="case_number" slot-scope="props">
<div
:class="props.row.INIT_DATE ? '' : 'font-weight-bold'"
slot="case_number"
slot-scope="props"
>
{{ props.row.CASE_NUMBER }}
</div>
<div slot="thread_title" slot-scope="props">
<div
:class="props.row.INIT_DATE ? '' : 'font-weight-bold'"
slot="thread_title"
slot-scope="props"
>
{{ props.row.THREAD_TITLE }}
</div>
<div slot="process_category" slot-scope="props">
<div
:class="props.row.INIT_DATE ? '' : 'font-weight-bold'"
slot="process_category"
slot-scope="props"
>
{{ props.row.PROCESS_CATEGORY }}
</div>
<div slot="process_name" slot-scope="props">
<div
:class="props.row.INIT_DATE ? '' : 'font-weight-bold'"
slot="process_name"
slot-scope="props"
>
{{ props.row.PROCESS_NAME }}
</div>
<div slot="task" slot-scope="props">
<div
:class="props.row.INIT_DATE ? '' : 'font-weight-bold'"
slot="task"
slot-scope="props"
>
<TaskCell :data="props.row.TASK" />
</div>
<div slot="send_by" slot-scope="props">
<div
:class="props.row.INIT_DATE ? '' : 'font-weight-bold'"
slot="send_by"
slot-scope="props"
>
<CurrentUserCell :data="props.row.USER_DATA" />
</div>
<div slot="current_user" slot-scope="props">
<div
:class="props.row.INIT_DATE ? '' : 'font-weight-bold'"
slot="current_user"
slot-scope="props"
>
{{ props.row.USERNAME_DISPLAY_FORMAT }}
</div>
<div slot="due_date" slot-scope="props">
<div
:class="props.row.INIT_DATE ? '' : 'font-weight-bold'"
slot="due_date"
slot-scope="props"
>
{{ props.row.DUE_DATE }}
</div>
<div slot="delegation_date" slot-scope="props">
<div
:class="props.row.INIT_DATE ? '' : 'font-weight-bold'"
slot="delegation_date"
slot-scope="props"
>
{{ props.row.DELEGATION_DATE }}
</div>
<div slot="priority" slot-scope="props">{{ props.row.PRIORITY }}</div>
<div slot="actions" slot-scope="props">
<div
:class="props.row.INIT_DATE ? '' : 'font-weight-bold'"
slot="priority"
slot-scope="props"
>
{{ props.row.PRIORITY }}
</div>
<div
:class="props.row.INIT_DATE ? '' : 'font-weight-bold'"
slot="actions"
slot-scope="props"
>
<div @mouseover="updateDataEllipsis(props.row)">
<ellipsis v-if="dataEllipsis" :data="dataEllipsis"> </ellipsis>
</div>
@@ -81,7 +131,11 @@
<div slot="actions" slot-scope="props">
<b-row>
<b-col sm="12">
<div class="v-pm-card-info" @click="openCaseDetail(props.item)">
<div
class="v-pm-card-info"
:class="props.item.INIT_DATE ? '' : 'pm-main-text-color'"
@click="openCaseDetail(props.item)"
>
<i class="fas fa-info-circle"></i>
</div>
</b-col>
@@ -93,71 +147,106 @@
</b-row>
</div>
<div slot="case_number" slot-scope="props" class="v-card-text">
<span class="v-card-text-highlight"
<span
class="v-card-text-highlight"
:class="props.item.INIT_DATE ? '' : 'font-weight-bold'"
>{{ props["headings"][props.column] }} : {{ props["item"]["CASE_NUMBER"] }}</span
>
</div>
<div slot="thread_title" slot-scope="props" class="v-card-text">
<span class="v-card-text-dark"
<span
:class="props.item.INIT_DATE ? '' : 'font-weight-bold'"
class="v-card-text-dark"
>{{ props["headings"][props.column] }} :</span
>
<span class="v-card-text-light">
<span
:class="props.item.INIT_DATE ? '' : 'font-weight-bold'"
class="v-card-text-light">
{{ props["item"]["THREAD_TITLE"] }}
</span>
</div>
<div slot="process_category" slot-scope="props" class="v-card-text">
<span class="v-card-text-dark"
<span
:class="props.item.INIT_DATE ? '' : 'font-weight-bold'"
class="v-card-text-dark"
>{{ props["headings"][props.column] }} :</span
>
<span class="v-card-text-light"
>{{ props["item"]["PROCESS_CATEGORY"] }}
<span
:class="props.item.INIT_DATE ? '' : 'font-weight-bold'"
class="v-card-text-light"
>
{{ props["item"]["PROCESS_CATEGORY"] }}
</span>
</div>
<div slot="process_name" slot-scope="props" class="v-card-text">
<span class="v-card-text-dark"
<span
:class="props.item.INIT_DATE ? '' : 'font-weight-bold'"
class="v-card-text-dark"
>{{ props["headings"][props.column] }} :</span
>
<span class="v-card-text-light"
<span
:class="props.item.INIT_DATE ? '' : 'font-weight-bold'"
class="v-card-text-light"
>{{ props["item"]["PROCESS_NAME"] }}
</span>
</div>
<div slot="due_date" slot-scope="props" class="v-card-text">
<span class="v-card-text-dark"
<span
:class="props.item.INIT_DATE ? '' : 'font-weight-bold'"
class="v-card-text-dark"
>{{ props["headings"][props.column] }} :</span
>
<span class="v-card-text-light"
<span
:class="props.item.INIT_DATE ? '' : 'font-weight-bold'"
class="v-card-text-light"
>{{ props["item"]["DUE_DATE"] }}
</span>
</div>
<div slot="delegation_date" slot-scope="props" class="v-card-text">
<span class="v-card-text-dark"
<span
:class="props.item.INIT_DATE ? '' : 'font-weight-bold'"
class="v-card-text-dark"
>{{ props["headings"][props.column] }} :</span
>
<span class="v-card-text-light"
<span
:class="props.item.INIT_DATE ? '' : 'font-weight-bold'"
class="v-card-text-light"
>{{ props["item"]["DELEGATION_DATE"] }}
</span>
</div>
<div slot="priority" slot-scope="props" class="v-card-text">
<span class="v-card-text-dark"
<span
:class="props.item.INIT_DATE ? '' : 'font-weight-bold'"
class="v-card-text-dark"
>{{ props["headings"][props.column] }} :</span
>
<span class="v-card-text-light"
<span
:class="props.item.INIT_DATE ? '' : 'font-weight-bold'"
class="v-card-text-light"
>{{ props["item"]["PRIORITY"] }}
</span>
</div>
<div slot="task" slot-scope="props" class="v-card-text">
<span class="v-card-text-dark"
<span
:class="props.item.INIT_DATE ? '' : 'font-weight-bold'"
class="v-card-text-dark"
>{{ props["headings"][props.column] }} :</span
>
<span class="v-card-text-light">
<span
:class="props.item.INIT_DATE ? '' : 'font-weight-bold'"
class="v-card-text-light">
<TaskCell :data="props.item.TASK" />
</span>
</div>
<div slot="send_by" slot-scope="props" class="v-card-text">
<span class="v-card-text-dark"
<span
:class="props.item.INIT_DATE ? '' : 'font-weight-bold'"
class="v-card-text-dark"
>{{ props["headings"][props.column] }} :</span
>
<span class="v-card-text-light">
<span
:class="props.item.INIT_DATE ? '' : 'font-weight-bold'"
class="v-card-text-light">
<CurrentUserCell :data="props.item.USER_DATA" />
</span>
</div>
@@ -170,7 +259,10 @@
<div slot="actions" slot-scope="props">
<b-row>
<b-col sm="12">
<div class="v-pm-card-info" @click="openCaseDetail(props.item)">
<div
class="v-pm-card-info"
:class="props.item.INIT_DATE ? '' : 'pm-main-text-color'"
@click="openCaseDetail(props.item)">
<i class="fas fa-info-circle"></i>
</div>
</b-col>
@@ -182,71 +274,105 @@
</b-row>
</div>
<div slot="case_number" slot-scope="props" class="v-card-text">
<span class="v-card-text-highlight"
<span
:class="props.item.INIT_DATE ? '' : 'font-weight-bold'"
class="v-card-text-highlight"
>{{ props["headings"][props.column] }} : {{ props["item"]["CASE_NUMBER"] }}</span
>
</div>
<div slot="thread_title" slot-scope="props" class="v-card-text">
<span class="v-card-text-dark"
<span
:class="props.item.INIT_DATE ? '' : 'font-weight-bold'"
class="v-card-text-dark"
>{{ props["headings"][props.column] }} :</span
>
<span class="v-card-text-light">
<span
:class="props.item.INIT_DATE ? '' : 'font-weight-bold'"
class="v-card-text-light">
{{ props["item"]["THREAD_TITLE"] }}
</span>
</div>
<div slot="process_category" slot-scope="props" class="v-card-text">
<span class="v-card-text-dark"
<span
:class="props.item.INIT_DATE ? '' : 'font-weight-bold'"
class="v-card-text-dark"
>{{ props["headings"][props.column] }} :</span
>
<span class="v-card-text-light"
<span
:class="props.item.INIT_DATE ? '' : 'font-weight-bold'"
class="v-card-text-light"
>{{ props["item"]["PROCESS_CATEGORY"] }}
</span>
</div>
<div slot="process_name" slot-scope="props" class="v-card-text">
<span class="v-card-text-dark"
<span
:class="props.item.INIT_DATE ? '' : 'font-weight-bold'"
class="v-card-text-dark"
>{{ props["headings"][props.column] }} :</span
>
<span class="v-card-text-light"
<span
:class="props.item.INIT_DATE ? '' : 'font-weight-bold'"
class="v-card-text-light"
>{{ props["item"]["PROCESS_NAME"] }}
</span>
</div>
<div slot="due_date" slot-scope="props" class="v-card-text">
<span class="v-card-text-dark"
<span
:class="props.item.INIT_DATE ? '' : 'font-weight-bold'"
class="v-card-text-dark"
>{{ props["headings"][props.column] }} :</span
>
<span class="v-card-text-light"
<span
:class="props.item.INIT_DATE ? '' : 'font-weight-bold'"
class="v-card-text-light"
>{{ props["item"]["DUE_DATE"] }}
</span>
</div>
<div slot="delegation_date" slot-scope="props" class="v-card-text">
<span class="v-card-text-dark"
<span
:class="props.item.INIT_DATE ? '' : 'font-weight-bold'"
class="v-card-text-dark"
>{{ props["headings"][props.column] }} :</span
>
<span class="v-card-text-light"
<span
:class="props.item.INIT_DATE ? '' : 'font-weight-bold'"
class="v-card-text-light"
>{{ props["item"]["DELEGATION_DATE"] }}
</span>
</div>
<div slot="priority" slot-scope="props" class="v-card-text">
<span class="v-card-text-dark"
<span
:class="props.item.INIT_DATE ? '' : 'font-weight-bold'"
class="v-card-text-dark"
>{{ props["headings"][props.column] }} :</span
>
<span class="v-card-text-light"
<span
:class="props.item.INIT_DATE ? '' : 'font-weight-bold'"
class="v-card-text-light"
>{{ props["item"]["PRIORITY"] }}
</span>
</div>
<div slot="task" slot-scope="props" class="v-card-text">
<span class="v-card-text-dark"
<span
:class="props.item.INIT_DATE ? '' : 'font-weight-bold'"
class="v-card-text-dark"
>{{ props["headings"][props.column] }} :</span
>
<span class="v-card-text-light">
<span
:class="props.item.INIT_DATE ? '' : 'font-weight-bold'"
class="v-card-text-light">
<TaskCell :data="props.item.TASK" />
</span>
</div>
<div slot="send_by" slot-scope="props" class="v-card-text">
<span class="v-card-text-dark"
<span
:class="props.item.INIT_DATE ? '' : 'font-weight-bold'"
class="v-card-text-dark"
>{{ props["headings"][props.column] }} :</span
>
<span class="v-card-text-light">
<span
:class="props.item.INIT_DATE ? '' : 'font-weight-bold'"
class="v-card-text-light">
<CurrentUserCell :data="props.item.USER_DATA" />
</span>
</div>
@@ -446,7 +572,7 @@ export default {
*/
ProcessMaker() {
return window.ProcessMaker;
},
}
},
updated() {},
beforeCreate() {},
@@ -600,6 +726,7 @@ export default {
}),
DUE_DATE: v.DEL_TASK_DUE_DATE_LABEL,
DELEGATION_DATE: v.DEL_DELEGATE_DATE_LABEL,
INIT_DATE: v.DEL_INIT_DATE,
PRIORITY: v.DEL_PRIORITY_LABEL,
DEL_INDEX: v.DEL_INDEX,
APP_UID: v.APP_UID,
@@ -655,6 +782,7 @@ export default {
DEL_INDEX: item.DEL_INDEX,
PRO_UID: item.PRO_UID,
TAS_UID: item.TAS_UID,
INIT_DATE: item.INIT_DATE,
ACTION: "todo"
});
this.$emit("onUpdatePage", "XCase");
@@ -673,6 +801,7 @@ export default {
DEL_INDEX: item.DEL_INDEX,
PRO_UID: item.PRO_UID,
TAS_UID: item.TAS_UID,
INIT_DATE: item.INIT_DATE,
APP_NUMBER: item.CASE_NUMBER,
});
that.$emit("onUpdatePage", "case-detail");

View File

@@ -33,36 +33,80 @@
name="unassigned"
>
<div slot="detail" slot-scope="props">
<div class="btn-default" @click="openCaseDetail(props.row)">
<div
class="btn-default"
:class="props.row.INIT_DATE ? '' : 'pm-main-text-color '"
@click="openCaseDetail(props.row)">
<i class="fas fa-info-circle"></i>
</div>
</div>
<div slot="case_number" slot-scope="props">
<div
:class="props.row.INIT_DATE ? '' : 'font-weight-bold'"
slot="case_number"
slot-scope="props"
>
{{ props.row.CASE_NUMBER }}
</div>
<div slot="thread_title" slot-scope="props">
<div
:class="props.row.INIT_DATE ? '' : 'font-weight-bold'"
slot="thread_title"
slot-scope="props"
>
{{ props.row.THREAD_TITLE }}
</div>
<div slot="process_category" slot-scope="props">
<div
:class="props.row.INIT_DATE ? '' : 'font-weight-bold'"
slot="process_category"
slot-scope="props"
>
{{ props.row.PROCESS_CATEGORY }}
</div>
<div slot="process_name" slot-scope="props">
<div
:class="props.row.INIT_DATE ? '' : 'font-weight-bold'"
slot="process_name"
slot-scope="props"
>
{{ props.row.PROCESS_NAME }}
</div>
<div slot="task" slot-scope="props">
<div
:class="props.row.INIT_DATE ? '' : 'font-weight-bold'"
slot="task"
slot-scope="props"
>
<TaskCell :data="props.row.TASK" />
</div>
<div slot="send_by" slot-scope="props">
<div
:class="props.row.INIT_DATE ? '' : 'font-weight-bold'"
slot="send_by"
slot-scope="props"
>
<CurrentUserCell :data="props.row.USER_DATA" />
</div>
<div slot="due_date" slot-scope="props">
<div
:class="props.row.INIT_DATE ? '' : 'font-weight-bold'"
slot="due_date"
slot-scope="props"
>
{{ props.row.DUE_DATE }}
</div>
<div slot="delegation_date" slot-scope="props">
<div
:class="props.row.INIT_DATE ? '' : 'font-weight-bold'"
slot="delegation_date"
slot-scope="props"
>
{{ props.row.DELEGATION_DATE }}
</div>
<div slot="priority" slot-scope="props">{{ props.row.PRIORITY }}</div>
<div slot="actions" slot-scope="props">
<div
:class="props.row.INIT_DATE ? '' : 'font-weight-bold'"
slot="priority"
slot-scope="props"
>
{{ props.row.PRIORITY }}</div>
<div
:class="props.row.INIT_DATE ? '' : 'font-weight-bold'"
slot="actions"
slot-scope="props"
>
<div @mouseover="updateDataEllipsis(props.row)">
<ellipsis v-if="dataEllipsis" :data="dataEllipsis"> </ellipsis>
</div>
@@ -76,7 +120,11 @@
<div slot="actions" slot-scope="props">
<b-row>
<b-col sm="12">
<div class="v-pm-card-info" @click="openCaseDetail(props.item)">
<div
class="v-pm-card-info"
:class="props.item.INIT_DATE ? '' : 'pm-main-text-color'"
@click="openCaseDetail(props.item)"
>
<i class="fas fa-info-circle"></i>
</div>
</b-col>
@@ -88,71 +136,122 @@
</b-row>
</div>
<div slot="case_number" slot-scope="props" class="v-card-text">
<span class="v-card-text-highlight"
>{{ props["headings"][props.column] }} : {{ props["item"]["CASE_NUMBER"] }}</span
<span
:class="props.item.INIT_DATE ? '' : 'font-weight-bold'"
class="v-card-text-highlight"
>
{{ props["headings"][props.column] }} : {{ props["item"]["CASE_NUMBER"] }}</span
>
</div>
<div slot="thread_title" slot-scope="props" class="v-card-text">
<span class="v-card-text-dark"
>{{ props["headings"][props.column] }} :</span
<span
:class="props.item.INIT_DATE ? '' : 'font-weight-bold'"
class="v-card-text-dark"
>
{{ props["headings"][props.column] }} :</span
>
<span
:class="props.item.INIT_DATE ? '' : 'font-weight-bold'"
class="v-card-text-light"
>
<span class="v-card-text-light">
{{ props["item"]["THREAD_TITLE"] }}
</span>
</div>
<div slot="process_category" slot-scope="props" class="v-card-text">
<span class="v-card-text-dark"
>{{ props["headings"][props.column] }} :</span
<span
:class="props.item.INIT_DATE ? '' : 'font-weight-bold'"
class="v-card-text-dark"
>
<span class="v-card-text-light"
>{{ props["item"]["PROCESS_CATEGORY"] }}
{{ props["headings"][props.column] }} :</span
>
<span
:class="props.item.INIT_DATE ? '' : 'font-weight-bold'"
class="v-card-text-light"
>
{{ props["item"]["PROCESS_CATEGORY"] }}
</span>
</div>
<div slot="process_name" slot-scope="props" class="v-card-text">
<span class="v-card-text-dark"
>{{ props["headings"][props.column] }} :</span
<span
:class="props.item.INIT_DATE ? '' : 'font-weight-bold'"
class="v-card-text-dark"
>
<span class="v-card-text-light"
>{{ props["item"]["PROCESS_NAME"] }}
{{ props["headings"][props.column] }} :</span
>
<span
:class="props.item.INIT_DATE ? '' : 'font-weight-bold'"
class="v-card-text-light"
>
{{ props["item"]["PROCESS_NAME"] }}
</span>
</div>
<div slot="due_date" slot-scope="props" class="v-card-text">
<span class="v-card-text-dark"
>{{ props["headings"][props.column] }} :</span
<span
:class="props.item.INIT_DATE ? '' : 'font-weight-bold'"
class="v-card-text-dark"
>
<span class="v-card-text-light"
>{{ props["item"]["DUE_DATE"] }}
{{ props["headings"][props.column] }} :</span
>
<span
:class="props.item.INIT_DATE ? '' : 'font-weight-bold'"
class="v-card-text-light"
>
{{ props["item"]["DUE_DATE"] }}
</span>
</div>
<div slot="delegation_date" slot-scope="props" class="v-card-text">
<span class="v-card-text-dark"
>{{ props["headings"][props.column] }} :</span
<span
:class="props.item.INIT_DATE ? '' : 'font-weight-bold'"
class="v-card-text-dark"
>
<span class="v-card-text-light"
>{{ props["item"]["DELEGATION_DATE"] }}
{{ props["headings"][props.column] }} :</span
>
<span
:class="props.item.INIT_DATE ? '' : 'font-weight-bold'"
class="v-card-text-light"
>
{{ props["item"]["DELEGATION_DATE"] }}
</span>
</div>
<div slot="priority" slot-scope="props" class="v-card-text">
<span class="v-card-text-dark"
>{{ props["headings"][props.column] }} :</span
<span
:class="props.item.INIT_DATE ? '' : 'font-weight-bold'"
class="v-card-text-dark"
>
<span class="v-card-text-light"
>{{ props["item"]["PRIORITY"] }}
{{ props["headings"][props.column] }} :</span
>
<span
:class="props.item.INIT_DATE ? '' : 'font-weight-bold'"
class="v-card-text-light"
>
{{ props["item"]["PRIORITY"] }}
</span>
</div>
<div slot="task" slot-scope="props" class="v-card-text">
<span class="v-card-text-dark"
>{{ props["headings"][props.column] }} :</span
<span
:class="props.item.INIT_DATE ? '' : 'font-weight-bold'"
class="v-card-text-dark"
>
{{ props["headings"][props.column] }} :</span
>
<span
:class="props.item.INIT_DATE ? '' : 'font-weight-bold'"
class="v-card-text-light"
>
<span class="v-card-text-light">
<TaskCell :data="props.item.TASK" />
</span>
</div>
<div slot="send_by" slot-scope="props" class="v-card-text">
<span class="v-card-text-dark"
>{{ props["headings"][props.column] }} :</span
<span
:class="props.item.INIT_DATE ? '' : 'font-weight-bold'"
class="v-card-text-dark"
>
{{ props["headings"][props.column] }} :</span
>
<span
:class="props.item.INIT_DATE ? '' : 'font-weight-bold'"
class="v-card-text-light"
>
<span class="v-card-text-light">
<CurrentUserCell :data="props.item.USER_DATA" />
</span>
</div>
@@ -165,7 +264,11 @@
<div slot="actions" slot-scope="props">
<b-row>
<b-col sm="12">
<div class="v-pm-card-info" @click="openCaseDetail(props.item)">
<div
class="v-pm-card-info"
:class="props.item.INIT_DATE ? '' : 'pm-main-text-color'"
@click="openCaseDetail(props.item)"
>
<i class="fas fa-info-circle"></i>
</div>
</b-col>
@@ -177,71 +280,121 @@
</b-row>
</div>
<div slot="case_number" slot-scope="props" class="v-card-text">
<span class="v-card-text-highlight"
>{{ props["headings"][props.column] }} : {{ props["item"]["CASE_NUMBER"] }}</span
<span
:class="props.item.INIT_DATE ? '' : 'font-weight-bold'"
class="v-card-text-highlight"
>
{{ props["headings"][props.column] }} : {{ props["item"]["CASE_NUMBER"] }}</span
>
</div>
<div slot="thread_title" slot-scope="props" class="v-card-text">
<span class="v-card-text-dark"
>{{ props["headings"][props.column] }} :</span
<span
:class="props.item.INIT_DATE ? '' : 'font-weight-bold'"
class="v-card-text-dark"
>
{{ props["headings"][props.column] }} :</span
>
<span
:class="props.item.INIT_DATE ? '' : 'font-weight-bold'"
class="v-card-text-light"
>
<span class="v-card-text-light">
{{ props["item"]["THREAD_TITLE"] }}
</span>
</div>
<div slot="process_category" slot-scope="props" class="v-card-text">
<span class="v-card-text-dark"
>{{ props["headings"][props.column] }} :</span
<span
:class="props.item.INIT_DATE ? '' : 'font-weight-bold'"
class="v-card-text-dark"
>
<span class="v-card-text-light"
>{{ props["item"]["PROCESS_CATEGORY"] }}
{{ props["headings"][props.column] }} :</span
>
<span
:class="props.item.INIT_DATE ? '' : 'font-weight-bold'"
class="v-card-text-light"
>
{{ props["item"]["PROCESS_CATEGORY"] }}
</span>
</div>
<div slot="process_name" slot-scope="props" class="v-card-text">
<span class="v-card-text-dark"
>{{ props["headings"][props.column] }} :</span
<span
:class="props.item.INIT_DATE ? '' : 'font-weight-bold'"
class="v-card-text-dark"
>
<span class="v-card-text-light"
>{{ props["item"]["PROCESS_NAME"] }}
{{ props["headings"][props.column] }} :</span
>
<span
:class="props.item.INIT_DATE ? '' : 'font-weight-bold'"
class="v-card-text-light"
>
{{ props["item"]["PROCESS_NAME"] }}
</span>
</div>
<div slot="due_date" slot-scope="props" class="v-card-text">
<span class="v-card-text-dark"
>{{ props["headings"][props.column] }} :</span
<span
:class="props.item.INIT_DATE ? '' : 'font-weight-bold'"
class="v-card-text-dark"
>
<span class="v-card-text-light"
>{{ props["item"]["DUE_DATE"] }}
{{ props["headings"][props.column] }} :</span
>
<span
:class="props.item.INIT_DATE ? '' : 'font-weight-bold'"
class="v-card-text-light"
>
{{ props["item"]["DUE_DATE"] }}
</span>
</div>
<div slot="delegation_date" slot-scope="props" class="v-card-text">
<span class="v-card-text-dark"
>{{ props["headings"][props.column] }} :</span
<span
:class="props.item.INIT_DATE ? '' : 'font-weight-bold'"
class="v-card-text-dark"
>
<span class="v-card-text-light"
>{{ props["item"]["DELEGATION_DATE"] }}
{{ props["headings"][props.column] }} :</span
>
<span
:class="props.item.INIT_DATE ? '' : 'font-weight-bold'"
class="v-card-text-light"
>
{{ props["item"]["DELEGATION_DATE"] }}
</span>
</div>
<div slot="priority" slot-scope="props" class="v-card-text">
<span class="v-card-text-dark"
>{{ props["headings"][props.column] }} :</span
<span
:class="props.item.INIT_DATE ? '' : 'font-weight-bold'"
class="v-card-text-dark"
>
<span class="v-card-text-light"
>{{ props["item"]["PRIORITY"] }}
{{ props["headings"][props.column] }} :</span
>
<span
:class="props.item.INIT_DATE ? '' : 'font-weight-bold'"
class="v-card-text-light"
>
{{ props["item"]["PRIORITY"] }}
</span>
</div>
<div slot="task" slot-scope="props" class="v-card-text">
<span class="v-card-text-dark"
>{{ props["headings"][props.column] }} :</span
<span
:class="props.item.INIT_DATE ? '' : 'font-weight-bold'"
class="v-card-text-dark"
>
{{ props["headings"][props.column] }} :</span
>
<span
:class="props.item.INIT_DATE ? '' : 'font-weight-bold'"
class="v-card-text-light"
>
<span class="v-card-text-light">
<TaskCell :data="props.item.TASK" />
</span>
</div>
<div slot="send_by" slot-scope="props" class="v-card-text">
<span class="v-card-text-dark"
>{{ props["headings"][props.column] }} :</span
<span
:class="props.item.INIT_DATE ? '' : 'font-weight-bold'"
class="v-card-text-dark"
>
<span class="v-card-text-light">
{{ props["headings"][props.column] }} :</span
>
<span
:class="props.item.INIT_DATE ? '' : 'font-weight-bold'"
class="v-card-text-light">
<CurrentUserCell :data="props.item.USER_DATA" />
</span>
</div>
@@ -434,7 +587,7 @@ export default {
*/
ProcessMaker() {
return window.ProcessMaker;
},
}
},
updated() {},
beforeCreate() {},
@@ -562,6 +715,7 @@ export default {
USER_DATA: this.formatUser(v.SEND_BY_INFO),
DUE_DATE: v.DEL_TASK_DUE_DATE_LABEL,
DELEGATION_DATE: v.DEL_DELEGATE_DATE_LABEL,
INIT_DATE: v.DEL_INIT_DATE,
PRIORITY: v.DEL_PRIORITY_LABEL,
PRO_UID: v.PRO_UID,
TAS_UID: v.TAS_UID,
@@ -631,6 +785,7 @@ export default {
DEL_INDEX: item.DEL_INDEX,
PRO_UID: item.PRO_UID,
TAS_UID: item.TAS_UID,
INIT_DATE: item.INIT_DATE,
ACTION: "todo"
});
this.$emit("onUpdatePage", "XCase");
@@ -649,6 +804,7 @@ export default {
DEL_INDEX: item.DEL_INDEX,
PRO_UID: item.PRO_UID,
TAS_UID: item.TAS_UID,
INIT_DATE: item.INIT_DATE,
APP_NUMBER: item.CASE_NUMBER,
});
that.$emit("onUpdatePage", "case-detail");

View File

@@ -419,3 +419,7 @@ a.router-link-exact-active.router-link-active.vsm--link.vsm--link_level-2.vsm--l
.vsm--mobile-item {
max-width: 210px !important;
}
.pm-main-text-color {
color: #3097e4;
}

View File

@@ -272,10 +272,10 @@ class AbstractCasesTest extends TestCase
}
/**
* This check the getter and setter related to the inbox status
* This check the getter and setter related to the review status
*
* @covers \ProcessMaker\BusinessModel\Cases\AbstractCases::setInboxStatus()
* @covers \ProcessMaker\BusinessModel\Cases\AbstractCases::getInboxStatus()
* @covers \ProcessMaker\BusinessModel\Cases\AbstractCases::setReviewStatus()
* @covers \ProcessMaker\BusinessModel\Cases\AbstractCases::getReviewStatus()
* @test
*/
public function it_return_set_get_inbox_status()
@@ -283,8 +283,8 @@ class AbstractCasesTest extends TestCase
$absCases = new AbstractCases();
$arguments = ['READ', 'UNREAD'];
$index = array_rand($arguments);
$absCases->setInboxStatus($arguments[$index]);
$actual = $absCases->getInboxStatus();
$absCases->setReviewStatus($arguments[$index]);
$actual = $absCases->getReviewStatus();
if ($arguments[$index] === '') {
$this->assertEmpty($actual);
} else {
@@ -293,16 +293,16 @@ class AbstractCasesTest extends TestCase
}
/**
* This test the exception setInboxStatus
* This test the exception setReviewStatus
*
* @covers \ProcessMaker\BusinessModel\Cases\AbstractCases::setInboxStatus()
* @covers \ProcessMaker\BusinessModel\Cases\AbstractCases::setReviewStatus()
* @test
*/
public function it_return_exception_inbox_status()
{
$this->expectException(Exception::class);
$absCases = new AbstractCases();
$absCases->setInboxStatus('INVALID_VALUE');
$absCases->setReviewStatus('INVALID_VALUE');
}
/**

View File

@@ -296,7 +296,7 @@ class HomeTest extends TestCase
'CAL_COLUMNS' => '[{"field":"case_number","enableFilter":false,"set":true},{"field":"case_title","enableFilter":false,"set":true},{"field":"process_name","enableFilter":false,"set":true},{"field":"task","enableFilter":false,"set":true},{"field":"send_by","enableFilter":false,"set":true},{"field":"due_date","enableFilter":false,"set":true},{"field":"delegation_date","enableFilter":false,"set":true},{"field":"priority","enableFilter":false,"set":true},{"field":"VAR1","enableFilter":false,"set":true},{"field":"VAR2","enableFilter":false,"set":true},{"field":"VAR3","enableFilter":false,"set":false}]',
'ADD_TAB_UID' => $additionalTables->ADD_TAB_UID
]);
$arguments = [$caseList->CAL_ID, 0, 0, 0, 0, 15, 0, '', '', 'APP_NUMBER,DESC'];
$arguments = [$caseList->CAL_ID, 0, 0, 0, 0, 15, 0, '', '', '', 'APP_NUMBER,DESC'];
$home = new Home($application->APP_INIT_USER);
$result = $home->getCustomDraft(...$arguments);
@@ -350,7 +350,7 @@ class HomeTest extends TestCase
'CAL_COLUMNS' => '[{"field":"case_number","enableFilter":false,"set":true},{"field":"case_title","enableFilter":false,"set":true},{"field":"process_name","enableFilter":false,"set":true},{"field":"task","enableFilter":false,"set":true},{"field":"send_by","enableFilter":false,"set":true},{"field":"due_date","enableFilter":false,"set":true},{"field":"delegation_date","enableFilter":false,"set":true},{"field":"priority","enableFilter":false,"set":true},{"field":"VAR1","enableFilter":false,"set":true},{"field":"VAR2","enableFilter":false,"set":true},{"field":"VAR3","enableFilter":false,"set":false}]',
'ADD_TAB_UID' => $additionalTables->ADD_TAB_UID
]);
$arguments = [$caseList->CAL_ID, 0, 0, 0, 0, 15, 0, '', '', '', '', 'APP_NUMBER,DESC'];
$arguments = [$caseList->CAL_ID, 0, 0, 0, 0, 15, 0, '', '', '', '', '', 'APP_NUMBER,DESC'];
$home = new Home($application->APP_INIT_USER);
$result = $home->getCustomInbox(...$arguments);
@@ -365,7 +365,7 @@ class HomeTest extends TestCase
* @test
* @covers \ProcessMaker\BusinessModel\Cases\Home::getCustomUnassigned()
*/
public function it_should_test_getCustomUnassignedt()
public function it_should_test_getCustomUnassigned()
{
$this->markTestIncomplete('Illegal mix of collations');
$additionalTables = factory(AdditionalTables::class)->create();
@@ -430,7 +430,7 @@ class HomeTest extends TestCase
'CAL_COLUMNS' => '[{"field":"case_number","enableFilter":false,"set":true},{"field":"case_title","enableFilter":false,"set":true},{"field":"process_name","enableFilter":false,"set":true},{"field":"task","enableFilter":false,"set":true},{"field":"send_by","enableFilter":false,"set":true},{"field":"due_date","enableFilter":false,"set":true},{"field":"delegation_date","enableFilter":false,"set":true},{"field":"priority","enableFilter":false,"set":true},{"field":"VAR1","enableFilter":false,"set":true},{"field":"VAR2","enableFilter":false,"set":true},{"field":"VAR3","enableFilter":false,"set":false}]',
'ADD_TAB_UID' => $additionalTables->ADD_TAB_UID
]);
$arguments = [$caseList->CAL_ID, 0, 0, 0, 0, 15, 0, '', '', '', '', 'APP_NUMBER,DESC'];
$arguments = [$caseList->CAL_ID, 0, 0, 0, 0, 15, 0, '', '', '', '', '', 'APP_NUMBER,DESC'];
$home = new Home($application->APP_INIT_USER);
$result = $home->getCustomUnassigned(...$arguments);
@@ -530,7 +530,7 @@ class HomeTest extends TestCase
'CAL_COLUMNS' => '[{"field":"case_number","enableFilter":false,"set":true},{"field":"case_title","enableFilter":false,"set":true},{"field":"process_name","enableFilter":false,"set":true},{"field":"task","enableFilter":false,"set":true},{"field":"send_by","enableFilter":false,"set":true},{"field":"due_date","enableFilter":false,"set":true},{"field":"delegation_date","enableFilter":false,"set":true},{"field":"priority","enableFilter":false,"set":true},{"field":"VAR1","enableFilter":false,"set":true},{"field":"VAR2","enableFilter":false,"set":true},{"field":"VAR3","enableFilter":false,"set":false}]',
'ADD_TAB_UID' => $additionalTables->ADD_TAB_UID
]);
$arguments = [$caseList->CAL_ID, 0, 0, 0, 0, 15, 0, '', '', '', '', 'APP_NUMBER,DESC'];
$arguments = [$caseList->CAL_ID, 0, 0, 0, 0, 15, 0, '', '', '', '', '', 'APP_NUMBER,DESC'];
$home = new Home($application1->APP_INIT_USER);
$result = $home->getCustomPaused(...$arguments);

View File

@@ -3131,6 +3131,12 @@ msgstr "By Process Category"
msgid "By Process Name"
msgstr "By Process Name"
# TRANSLATION
# LABEL/ID_BY_REVIEW_STATUS
#: LABEL/ID_BY_REVIEW_STATUS
msgid "By Review Status"
msgstr "By Review Status"
# TRANSLATION
# LABEL/ID_BY_TASK
#: LABEL/ID_BY_TASK
@@ -23303,6 +23309,12 @@ msgstr "Reactivate"
msgid "Reactivating case..."
msgstr "Reactivating case..."
# TRANSLATION
# LABEL/ID_READ_FILTER_OPTION
#: LABEL/ID_READ_FILTER_OPTION
msgid "Read"
msgstr "Read"
# TRANSLATION
# LABEL/ID_READ_ONLINE_DOCUMENTATION
#: LABEL/ID_READ_ONLINE_DOCUMENTATION
@@ -24575,6 +24587,12 @@ msgstr "Search by Process Category:"
msgid "Search by Process Name:"
msgstr "Search by Process Name:"
# TRANSLATION
# LABEL/ID_SEARCH_BY_REVIEW_STATUS
#: LABEL/ID_SEARCH_BY_REVIEW_STATUS
msgid "Search by Review Status:"
msgstr "Search by Review Status:"
# TRANSLATION
# LABEL/ID_SEARCH_BY_SEND_BY
#: LABEL/ID_SEARCH_BY_SEND_BY
@@ -27413,6 +27431,12 @@ msgstr "Unpause Time"
msgid "Unpausing case..."
msgstr "Unpausing case..."
# TRANSLATION
# LABEL/ID_UNREAD_FILTER_OPTION
#: LABEL/ID_UNREAD_FILTER_OPTION
msgid "Unread"
msgstr "Unread"
# TRANSLATION
# LABEL/ID_UNSAVED_CHANGES_QUESTION
#: LABEL/ID_UNSAVED_CHANGES_QUESTION

View File

@@ -57330,11 +57330,12 @@ INSERT INTO TRANSLATION (TRN_CATEGORY,TRN_ID,TRN_LANG,TRN_VALUE,TRN_UPDATE_DATE
( 'LABEL','ID_BY_PARTICIPATION','en','By Participation','2021-07-13') ,
( 'LABEL','ID_BY_PROCESS_CATEGORY','en','By Process Category','2021-07-13') ,
( 'LABEL','ID_BY_PROCESS_NAME','en','By Process Name','2020-12-16') ,
( 'LABEL','ID_BY_TASK','en','By Task','2020-12-16') ,
( 'LABEL','ID_BY_REVIEW_STATUS','en','By Review Status','2022-08-17') ,
( 'LABEL','ID_BY_ROLE','en','By Role','2020-12-15') ,
( 'LABEL','ID_BY_SEND_BY','en','By Send By','2021-08-31') ,
( 'LABEL','ID_BY_STATUS','en','By Status','2020-12-16') ,
( 'LABEL','ID_BY_START_DATE','en','By Start Date','2020-12-16') ,
( 'LABEL','ID_BY_TASK','en','By Task','2020-12-16') ,
( 'LABEL','ID_CACHE_BTN_BUILD','en','Build Cache','2014-01-15') ,
( 'LABEL','ID_CACHE_BTN_SETUP_PASSWRD','en','Setup Password','2014-01-15') ,
( 'LABEL','ID_CACHE_BTN_SETUP_SESSION','en','Delete older session files','2014-01-15') ,
@@ -60801,6 +60802,7 @@ INSERT INTO TRANSLATION (TRN_CATEGORY,TRN_ID,TRN_LANG,TRN_VALUE,TRN_UPDATE_DATE
( 'LABEL','ID_RB_DATABASE_NAME','en','Rbac Database Name','2014-01-15') ,
( 'LABEL','ID_REACTIVATE','en','Reactivate','2014-01-15') ,
( 'LABEL','ID_REACTIVATING_CASE','en','Reactivating case...','2014-01-15') ,
( 'LABEL','ID_READ_FILTER_OPTION','en','Read','2022-08-17') ,
( 'LABEL','ID_READ_ONLINE_DOCUMENTATION','en','Read Online Documentation','2014-01-15') ,
( 'LABEL','ID_REALLY_SHOULD','en','You really should do it','2014-01-15') ,
( 'LABEL','ID_REASON','en','Reason','2016-10-20') ,
@@ -61020,6 +61022,7 @@ INSERT INTO TRANSLATION (TRN_CATEGORY,TRN_ID,TRN_LANG,TRN_VALUE,TRN_UPDATE_DATE
( 'LABEL','ID_SEARCH_BY_PARTICIPATION','en','Search by Participation:','2021-07-13') ,
( 'LABEL','ID_SEARCH_BY_PROCESS_CATEGORY','en','Search by Process Category:','2021-07-13') ,
( 'LABEL','ID_SEARCH_BY_PROCESS_NAME','en','Search by Process Name:','2020-12-16') ,
( 'LABEL','ID_SEARCH_BY_REVIEW_STATUS','en','Search by Review Status:','2022-08-17') ,
( 'LABEL','ID_SEARCH_BY_SEND_BY','en','Search By Send By:','2021-08-31') ,
( 'LABEL','ID_SEARCH_BY_START_DATE','en','Search by Start Date:','2020-12-16') ,
( 'LABEL','ID_SEARCH_BY_STATUS','en','Search by Status:','2020-12-22') ,
@@ -61549,6 +61552,7 @@ INSERT INTO TRANSLATION (TRN_CATEGORY,TRN_ID,TRN_LANG,TRN_VALUE,TRN_UPDATE_DATE
( 'LABEL','ID_UNPAUSE_DATE','en','Unpause Date','2014-01-15') ,
( 'LABEL','ID_UNPAUSE_TIME','en','Unpause Time','2014-01-15') ,
( 'LABEL','ID_UNPAUSING_CASE','en','Unpausing case...','2014-01-15') ,
( 'LABEL','ID_UNREAD_FILTER_OPTION','en','Unread','2022-08-17') ,
( 'LABEL','ID_UNSAVED_CHANGES_QUESTION','en','You are about to close a window and there may be some unsaved changes. Are you sure to continue?','2015-08-17') ;
INSERT INTO TRANSLATION (TRN_CATEGORY,TRN_ID,TRN_LANG,TRN_VALUE,TRN_UPDATE_DATE ) VALUES

View File

@@ -39,14 +39,14 @@ if ($RBAC->userCanAccess('PM_CASES') != 1) {
$caseInstance = new Cases();
//cleaning the case session data
// Cleaning the case session data
Cases::clearCaseSessionData();
try {
//Loading data for a Jump request
// Loading data for a Jump request
if (!isset($_GET['APP_UID']) && isset($_GET['APP_NUMBER'])) {
$_GET['APP_UID'] = $caseInstance->getApplicationUIDByNumber($_GET['APP_NUMBER']);
//Get the index related to the userLogged but this thread can be OPEN or CLOSED
// Get the index related to the userLogged but this thread can be OPEN or CLOSED
if (isset($_GET['actionFromList'])) {
if ($_GET['actionFromList'] == 'unassigned') {
$_SESSION['APPLICATION'] = $_GET['APP_UID'];
@@ -58,14 +58,14 @@ try {
$_GET['DEL_INDEX'] = $caseInstance->getCurrentDelegation($_GET['APP_UID'], $_SESSION['USER_LOGGED']);
}
//if the application doesn't exist
// If the application doesn't exist
if (is_null($_GET['APP_UID'])) {
G::SendMessageText(G::LoadTranslation('ID_CASE_DOES_NOT_EXISTS'), 'info');
G::header('location: casesListExtJs');
exit();
}
//if the application exists but the
// If the application exists but the
if (is_null($_GET['DEL_INDEX'])) {
G::SendMessageText(G::LoadTranslation('ID_CASE_IS_CURRENTLY_WITH_ANOTHER_USER'), 'info');
G::header('location: casesListExtJs');
@@ -77,7 +77,7 @@ try {
$delIndex = $_GET['DEL_INDEX'];
$action = isset($_GET['action']) ? $_GET['action'] : '';
//loading application data
// Loading application data
$fieldCase = $caseInstance->loadCase($appUid, $delIndex);
if (!Process::isActive($fieldCase['PRO_UID'], 'PRO_UID')) {
@@ -105,15 +105,19 @@ try {
switch ($fieldCase['APP_STATUS']) {
case 'DRAFT':
case 'TO_DO':
//Check if the case is in pause, check a valid record in table APP_DELAY
// Check if the case is in pause, check a valid record in table APP_DELAY
$isPaused = AppDelay::isPaused($appUid, $delIndex);
//Check if the case is a waiting for a SYNCHRONOUS subprocess
// Check if the case is a waiting for a SYNCHRONOUS subprocess
$subAppData = new SubApplication();
$caseSubprocessPending = $subAppData->isSubProcessWithCasePending($appUid, $delIndex);
if ($isPaused || $caseSubprocessPending) {
//the case is paused show only the resume
// Set as read when the pause thread or subprocess was open
if (is_null($fieldCase['DEL_INIT_DATE'])) {
$caseInstance->setDelInitDate($appUid, $delIndex);
}
// The case is paused show only the resume
$_SESSION['APPLICATION'] = $appUid;
$_SESSION['INDEX'] = $delIndex;
$_SESSION['PROCESS'] = $fieldCase['PRO_UID'];
@@ -129,11 +133,9 @@ try {
* these routine is to verify if the case was acceded from advanced search list
*/
if ($action == 'search') {
//verify if the case is with the current user
// Verify if the case is with the current user
$delegationUsers = AppDelegation::getCurrentUsers($appUid, $delIndex);
if ($delegationUsers['USR_UID'] !== $_SESSION['USER_LOGGED'] && !empty($delegationUsers['USR_UID'])) {
//distinct "" for selfservice
//so we show just the resume
$_SESSION['alreadyDerivated'] = true;
$_SESSION['APPLICATION'] = $appUid;
$_SESSION['INDEX'] = $delIndex;
@@ -146,11 +148,11 @@ try {
}
}
//Proceed and try to open the case
// Proceed and try to open the case
$appDelegation = new AppDelegation();
$delegationInfo = $appDelegation->load($appUid, $delIndex);
//If there are no user in the delegation row, this case is in selfservice
// If there are no user in the delegation row, this case is in selfservice
if (empty($delegationInfo['USR_UID'])) {
$_SESSION['APPLICATION'] = $appUid;
$_SESSION['INDEX'] = $delIndex;
@@ -159,7 +161,7 @@ try {
$_SESSION['STEP_POSITION'] = 0;
$_SESSION['CURRENT_TASK'] = $fieldCase['TAS_UID'];
//If the task is in the valid selfservice tasks for this user, then catch the case, else just view the resume
// If the task is in the valid selfservice tasks for this user, then catch the case, else just view the resume
if ($caseInstance->isSelfService($_SESSION['USER_LOGGED'], $fieldCase['TAS_UID'], $appUid)) {
require_once(PATH_METHODS . 'cases' . PATH_SEP . 'cases_CatchSelfService.php');
} else {
@@ -169,7 +171,7 @@ try {
exit();
}
//If the current users is in the AppDelegation row and the thread is open will be open the case
// If the current users is in the AppDelegation row and the thread is open will be open the case
if (($delegationInfo['USR_UID'] == $_SESSION['USER_LOGGED'] && $delegationInfo['DEL_THREAD_STATUS'] === 'OPEN')
&& $action != 'sent'
) {
@@ -207,13 +209,13 @@ try {
$_SESSION['bNoShowSteps'] = 1;
$_SESSION['STEP_POSITION'] = 0;
//When the case have another user or current user doesn't have rights to this self-service,
//Just view the case Resume
// When the case have another user or current user doesn't have rights to this self-service,
// Just view the case Resume
if ($action === 'search' || $action === 'to_reassign') {
//We need to use the index sent with the corresponding record
// We need to use the index sent with the corresponding record
$_SESSION['INDEX'] = $delIndex;
} else {
//Get DEL_INDEX
// Get last DEL_INDEX
$criteria = new Criteria('workflow');
$criteria->addSelectColumn(AppDelegationPeer::DEL_INDEX);
$criteria->add(AppDelegationPeer::APP_UID, $appUid);
@@ -231,7 +233,7 @@ try {
require_once(PATH_METHODS . 'cases' . PATH_SEP . 'cases_Resume.php');
}
break;
default: //APP_STATUS IS COMPLETED OR CANCELLED
default: // APP_STATUS in (COMPLETED, CANCELLED)
$_SESSION['APPLICATION'] = $appUid;
$_SESSION['INDEX'] = $caseInstance->getCurrentDelegationCase($_GET['APP_UID']);
$_SESSION['PROCESS'] = $fieldCase['PRO_UID'];

View File

@@ -3,7 +3,6 @@
namespace ProcessMaker\BusinessModel\Cases;
use Datetime;
use DB;
use Exception;
use ProcessMaker\BusinessModel\Interfaces\CasesInterface;
use ProcessMaker\BusinessModel\Validator;
@@ -14,7 +13,7 @@ use ProcessMaker\Model\User;
class AbstractCases implements CasesInterface
{
// Constants for validate values
const INBOX_STATUSES = ['READ', 'UNREAD'];
const REVIEW_STATUSES = ['READ', 'UNREAD']; //0 => READ, 1 => UNREAD
const PARTICIPATED_STATUSES = ['STARTED', 'IN_PROGRESS', 'COMPLETED', 'SUPERVISING'];
const RISK_STATUSES = ['ON_TIME', 'AT_RISK', 'OVERDUE'];
const CASE_STATUSES = [1 => 'DRAFT', 2 => 'TO_DO', 3 => 'COMPLETED', 4 => 'CANCELED'];
@@ -69,7 +68,7 @@ class AbstractCases implements CasesInterface
private $valueToSearch = '';
// Filter cases depending if were read or not, know as "$filter" in the old lists classes
private $inboxStatus = '';
private $reviewStatus = '';
// Filter cases depending if the case was started or completed by the current user, know as "$filter" in the old lists classes
private $participatedStatus = '';
@@ -373,23 +372,25 @@ class AbstractCases implements CasesInterface
}
/**
* Set inbox status
* Set review status
*
* @param string $inboxStatus
* @param string $status
*
* @throws Exception
*/
public function setInboxStatus(string $inboxStatus)
public function setReviewStatus(string $status)
{
// Convert the value to upper case
$inboxStatus = strtoupper($inboxStatus);
$status = strtoupper($status);
// Validate the inbox status
if (!in_array($inboxStatus, self::INBOX_STATUSES)) {
throw new Exception("Inbox status '{$inboxStatus}' is not valid.");
// Validate the status value
if (!empty($status)) {
if (!in_array($status, self::REVIEW_STATUSES)) {
throw new Exception("Inbox status '{$status}' is not valid.");
}
}
$this->inboxStatus = $inboxStatus;
$this->reviewStatus = $status;
}
/**
@@ -397,9 +398,9 @@ class AbstractCases implements CasesInterface
*
* @return string
*/
public function getInboxStatus()
public function getReviewStatus()
{
return $this->inboxStatus;
return $this->reviewStatus;
}
/**
@@ -1412,6 +1413,10 @@ class AbstractCases implements CasesInterface
if (get_class($this) === Inbox::class && !empty($properties['sendBy'])) {
$this->setSendBy($properties['sendBy']);
}
// Filter by Review Status
if (get_class($this) === Inbox::class && !empty($properties['reviewStatus'])) {
$this->setReviewStatus($properties['reviewStatus']);
}
/** Apply filters related to PAUSED */
// Filter date related to delegate from
if (get_class($this) === Paused::class && !empty($properties['delegateFrom'])) {
@@ -1425,6 +1430,10 @@ class AbstractCases implements CasesInterface
if (get_class($this) === Paused::class && !empty($properties['sendBy'])) {
$this->setSendBy($properties['sendBy']);
}
// Filter by Review Status
if (get_class($this) === Paused::class && !empty($properties['reviewStatus'])) {
$this->setReviewStatus($properties['reviewStatus']);
}
/** Apply filters related to UNASSIGNED */
// Filter date related to delegate from
if (get_class($this) === Unassigned::class && !empty($properties['delegateFrom'])) {
@@ -1438,6 +1447,10 @@ class AbstractCases implements CasesInterface
if (get_class($this) === Unassigned::class && !empty($properties['sendBy'])) {
$this->setSendBy($properties['sendBy']);
}
// Filter by Review Status
if (get_class($this) === Unassigned::class && !empty($properties['reviewStatus'])) {
$this->setReviewStatus($properties['reviewStatus']);
}
/** Apply filters related to MY CASES */
// My cases filter: started, in-progress, completed, supervising

View File

@@ -23,6 +23,7 @@ class Draft extends AbstractCases
'TASK.TAS_TITLE', // Task
'APP_DELEGATION.DEL_TASK_DUE_DATE', // Due Date
'APP_DELEGATION.DEL_DELEGATE_DATE', // Delegate Date
'APP_DELEGATION.DEL_INIT_DATE', // Init Date
'APP_DELEGATION.DEL_PRIORITY', // Priority
'APP_DELEGATION.DEL_PREVIOUS', // Previous
// Additional column for other functionalities
@@ -86,6 +87,10 @@ class Draft extends AbstractCases
if (!empty($this->getCaseUid())) {
$query->appUid($this->getCaseUid());
}
// Specific review status
if (!empty($this->getReviewStatus())) {
$query->readUnread($this->getReviewStatus());
}
return $query;
}

View File

@@ -47,6 +47,7 @@ class Home
* @param int $offset
* @param string $caseTitle
* @param string $filterCases
* @param string $reviewStatus
* @param string $sort
* @param callable $callback
*
@@ -61,6 +62,7 @@ class Home
int $offset = 0,
string $caseTitle = '',
string $filterCases = '',
string $reviewStatus = '',
string $sort = 'APP_NUMBER,DESC',
callable $callback = null
)
@@ -71,6 +73,7 @@ class Home
$properties['caseNumber'] = $caseNumber;
$properties['caseTitle'] = $caseTitle;
$properties['filterCases'] = $filterCases;
$properties['reviewStatus'] = $reviewStatus;
$properties['category'] = $category;
$properties['process'] = $process;
$properties['task'] = $task;
@@ -103,6 +106,7 @@ class Home
* @param string $delegateFrom
* @param string $delegateTo
* @param string $filterCases
* @param string $reviewStatus
* @param string $sort
* @param string $sendBy
* @param callable $callback
@@ -120,6 +124,7 @@ class Home
string $delegateFrom = '',
string $delegateTo = '',
string $filterCases = '',
string $reviewStatus = '',
string $sort = 'APP_NUMBER,DESC',
string $sendBy = '',
callable $callback = null
@@ -133,6 +138,7 @@ class Home
$properties['delegateFrom'] = $delegateFrom;
$properties['delegateTo'] = $delegateTo;
$properties['filterCases'] = $filterCases;
$properties['reviewStatus'] = $reviewStatus;
$properties['category'] = $category;
$properties['process'] = $process;
$properties['task'] = $task;
@@ -166,6 +172,7 @@ class Home
* @param string $delegateFrom
* @param string $delegateTo
* @param string $filterCases
* @param string $reviewStatus
* @param string $sort
* @param string $sendBy
* @param callable $callback
@@ -183,6 +190,7 @@ class Home
string $delegateFrom = '',
string $delegateTo = '',
string $filterCases = '',
string $reviewStatus = '',
string $sort = 'APP_NUMBER,DESC',
string $sendBy = '',
callable $callback = null
@@ -196,6 +204,7 @@ class Home
$properties['delegateFrom'] = $delegateFrom;
$properties['delegateTo'] = $delegateTo;
$properties['filterCases'] = $filterCases;
$properties['reviewStatus'] = $reviewStatus;
$properties['category'] = $category;
$properties['process'] = $process;
$properties['task'] = $task;
@@ -231,6 +240,7 @@ class Home
* @param string $delegateFrom
* @param string $delegateTo
* @param string $filterCases
* @param string $reviewStatus
* @param string $sort
* @param string $sendBy
* @param callable $callback
@@ -248,6 +258,7 @@ class Home
string $delegateFrom = '',
string $delegateTo = '',
string $filterCases = '',
string $reviewStatus = '',
string $sort = 'APP_NUMBER,DESC',
string $sendBy = '',
callable $callback = null
@@ -261,6 +272,7 @@ class Home
$properties['delegateFrom'] = $delegateFrom;
$properties['delegateTo'] = $delegateTo;
$properties['filterCases'] = $filterCases;
$properties['reviewStatus'] = $reviewStatus;
$properties['category'] = $category;
$properties['process'] = $process;
$properties['task'] = $task;
@@ -376,6 +388,7 @@ class Home
* @param int $offset
* @param string $caseTitle
* @param string $filterCases
* @param string $reviewStatus
* @param string $sort
* @param array $customFilters
*
@@ -391,6 +404,7 @@ class Home
int $offset = 0,
string $caseTitle = '',
string $filterCases = '',
string $reviewStatus = '',
string $sort = 'APP_NUMBER,DESC',
array $customFilters = []
)
@@ -404,11 +418,12 @@ class Home
$offset,
$caseTitle,
$filterCases,
$reviewStatus,
$sort
];
//clear duplicate indexes
$keys = ['caseNumber', 'category', 'process', 'task', 'limit', 'offset', 'caseTitle', 'filterCases', 'sort'];
$keys = ['caseNumber', 'category', 'process', 'task', 'limit', 'offset', 'caseTitle', 'filterCases', 'reviewStatus', 'sort'];
foreach ($keys as $value) {
unset($customFilters[$value]);
}
@@ -436,6 +451,7 @@ class Home
* @param string $delegateFrom
* @param string $delegateTo
* @param string $filterCases
* @param string $reviewStatus
* @param string $sort
* @param string $sendBy
* @param array $customFilters
@@ -454,6 +470,7 @@ class Home
string $delegateFrom = '',
string $delegateTo = '',
string $filterCases = '',
string $reviewStatus = '',
string $sort = 'APP_NUMBER,DESC',
string $sendBy = '',
array $customFilters = []
@@ -470,12 +487,13 @@ class Home
$delegateFrom,
$delegateTo,
$filterCases,
$reviewStatus,
$sort,
$sendBy
];
//clear duplicate indexes
$keys = ['caseNumber', 'category', 'process', 'task', 'limit', 'offset', 'caseTitle', 'delegateFrom', 'delegateTo', 'filterCases', 'sort', 'sendBy'];
$keys = ['caseNumber', 'category', 'process', 'task', 'limit', 'offset', 'caseTitle', 'delegateFrom', 'delegateTo', 'filterCases', 'reviewStatus', 'sort', 'sendBy'];
foreach ($keys as $value) {
unset($customFilters[$value]);
}
@@ -503,6 +521,7 @@ class Home
* @param string $delegateFrom
* @param string $delegateTo
* @param string $filterCases
* @param string $reviewStatus
* @param string $sort
* @param string $sendBy
* @param array $customFilters
@@ -521,6 +540,7 @@ class Home
string $delegateFrom = '',
string $delegateTo = '',
string $filterCases = '',
string $reviewStatus = '',
string $sort = 'APP_NUMBER,DESC',
string $sendBy = '',
array $customFilters = []
@@ -537,12 +557,13 @@ class Home
$delegateFrom,
$delegateTo,
$filterCases,
$reviewStatus,
$sort,
$sendBy
];
//clear duplicate indexes
$keys = ['caseNumber', 'category', 'process', 'task', 'limit', 'offset', 'caseTitle', 'delegateFrom', 'delegateTo', 'filterCases', 'sort', 'sendBy'];
$keys = ['caseNumber', 'category', 'process', 'task', 'limit', 'offset', 'caseTitle', 'delegateFrom', 'delegateTo', 'filterCases', 'reviewStatus', 'sort', 'sendBy'];
foreach ($keys as $value) {
unset($customFilters[$value]);
}
@@ -570,6 +591,7 @@ class Home
* @param string $delegateFrom
* @param string $delegateTo
* @param string $filterCases
* @param string $reviewStatus
* @param string $sort
* @param string $sendBy
* @param array $customFilters
@@ -588,6 +610,7 @@ class Home
string $delegateFrom = '',
string $delegateTo = '',
string $filterCases = '',
string $reviewStatus = '',
string $sort = 'APP_NUMBER,DESC',
string $sendBy = '',
array $customFilters = []
@@ -604,12 +627,13 @@ class Home
$delegateFrom,
$delegateTo,
$filterCases,
$reviewStatus,
$sort,
$sendBy
];
//clear duplicate indexes
$keys = ['caseNumber', 'category', 'process', 'task', 'limit', 'offset', 'caseTitle', 'delegateFrom', 'delegateTo', 'filterCases', 'sort', 'sendBy'];
$keys = ['caseNumber', 'category', 'process', 'task', 'limit', 'offset', 'caseTitle', 'delegateFrom', 'delegateTo', 'filterCases', 'reviewStatus', 'sort', 'sendBy'];
foreach ($keys as $value) {
unset($customFilters[$value]);
}

View File

@@ -3,7 +3,6 @@
namespace ProcessMaker\BusinessModel\Cases;
use G;
use ProcessMaker\Model\Application;
use ProcessMaker\Model\CaseList;
use ProcessMaker\Model\Delegation;
use ProcessMaker\Model\Task;
@@ -26,6 +25,7 @@ class Inbox extends AbstractCases
'USERS.USR_LASTNAME', // Current User LastName
'APP_DELEGATION.DEL_TASK_DUE_DATE', // Due Date
'APP_DELEGATION.DEL_DELEGATE_DATE', // Delegate Date
'APP_DELEGATION.DEL_INIT_DATE', // Init Date
'APP_DELEGATION.DEL_PRIORITY', // Priority
'APP_DELEGATION.DEL_PREVIOUS', // Previous
// Additional column for other functionalities
@@ -101,6 +101,10 @@ class Inbox extends AbstractCases
if (!empty($this->getSendBy())) {
$query->sendBy($this->getSendBy());
}
// Specific review status
if (!empty($this->getReviewStatus())) {
$query->readUnread($this->getReviewStatus());
}
return $query;
}

View File

@@ -25,6 +25,7 @@ class Paused extends AbstractCases
'USERS.USR_LASTNAME', // Current User LastName
'APP_DELEGATION.DEL_TASK_DUE_DATE', // Due Date
'APP_DELEGATION.DEL_DELEGATE_DATE', // Delegate Date
'APP_DELEGATION.DEL_INIT_DATE', // Init Date
'APP_DELEGATION.DEL_PRIORITY', // Priority
'APP_DELEGATION.DEL_PREVIOUS', // Previous
// Additional column for other functionalities
@@ -100,6 +101,10 @@ class Paused extends AbstractCases
if (!empty($this->getSendBy())) {
$query->sendBy($this->getSendBy());
}
// Specific review status
if (!empty($this->getReviewStatus())) {
$query->readUnread($this->getReviewStatus());
}
return $query;
}

View File

@@ -3,7 +3,6 @@
namespace ProcessMaker\BusinessModel\Cases;
use G;
use ProcessMaker\Model\Application;
use ProcessMaker\Model\CaseList;
use ProcessMaker\Model\Delegation;
use ProcessMaker\Model\Task;
@@ -26,6 +25,7 @@ class Unassigned extends AbstractCases
'USERS.USR_LASTNAME', // Current User LastName
'APP_DELEGATION.DEL_TASK_DUE_DATE', // Due Date
'APP_DELEGATION.DEL_DELEGATE_DATE', // Delegate Date
'APP_DELEGATION.DEL_INIT_DATE', // Init Date
'APP_DELEGATION.DEL_PRIORITY', // Priority
'APP_DELEGATION.DEL_PREVIOUS', // Previous
// Additional column for other functionalities
@@ -89,7 +89,6 @@ class Unassigned extends AbstractCases
if (!empty($this->getCaseUid())) {
$query->appUid($this->getCaseUid());
}
// Specific delegate date from
if (!empty($this->getDelegateFrom())) {
$query->delegateDateFrom($this->getDelegateFrom());
@@ -102,6 +101,10 @@ class Unassigned extends AbstractCases
if (!empty($this->getSendBy())) {
$query->sendBy($this->getSendBy());
}
// Specific review status
if (!empty($this->getReviewStatus())) {
$query->readUnread($this->getReviewStatus());
}
return $query;
}

View File

@@ -298,6 +298,25 @@ class Delegation extends Model
return $query->where('APPLICATION.APP_FINISH_DATE', '<=', $to);
}
/**
* Scope a query to only include unread thread
*
* @param \Illuminate\Database\Eloquent\Builder $query
* @param string $status
*
* @return \Illuminate\Database\Eloquent\Builder
*/
public function scopeReadUnread($query, $status)
{
if ($status === 'READ') {
// READ
return $query->whereNotNull('DEL_INIT_DATE');
} else {
// UNREAD
return $query->whereNull('DEL_INIT_DATE');
}
}
/**
* Scope a query to only include a specific delegate date
*

View File

@@ -58,6 +58,7 @@ class Home extends Api
* @param int $offset
* @param string $caseTitle
* @param string $filterCases
* @param string $filterCases
* @param string $sort
*
* @return array
@@ -76,6 +77,7 @@ class Home extends Api
int $offset = 0,
string $caseTitle = '',
string $filterCases = '',
string $reviewStatus = '',
string $sort = 'APP_NUMBER,DESC'
)
{
@@ -90,6 +92,7 @@ class Home extends Api
$offset,
$caseTitle,
$filterCases,
$reviewStatus,
$sort
);
} catch (Exception $e) {
@@ -113,6 +116,7 @@ class Home extends Api
* @param string $delegateFrom
* @param string $delegateTo
* @param string $filterCases
* @param string $reviewStatus
* @param string $sort
* @param string $sendBy
*
@@ -134,6 +138,7 @@ class Home extends Api
string $delegateFrom = '',
string $delegateTo = '',
string $filterCases = '',
string $reviewStatus = '',
string $sort = 'APP_NUMBER,DESC',
string $sendBy = ''
)
@@ -151,6 +156,7 @@ class Home extends Api
$delegateFrom,
$delegateTo,
$filterCases,
$reviewStatus,
$sort,
$sendBy
);
@@ -174,6 +180,7 @@ class Home extends Api
* @param string $delegateFrom
* @param string $delegateTo
* @param string $filterCases
* @param string $reviewStatus
* @param string $sort
* @param string $sendBy
*
@@ -195,6 +202,7 @@ class Home extends Api
string $delegateFrom = '',
string $delegateTo = '',
string $filterCases = '',
string $reviewStatus = '',
string $sort = 'APP_NUMBER,DESC',
string $sendBy = ''
)
@@ -212,6 +220,7 @@ class Home extends Api
$delegateFrom,
$delegateTo,
$filterCases,
$reviewStatus,
$sort,
$sendBy
);
@@ -235,6 +244,7 @@ class Home extends Api
* @param string $delegateFrom
* @param string $delegateTo
* @param string $filterCases
* @param string $reviewStatus
* @param string $sort
* @param string $sendBy
*
@@ -256,6 +266,7 @@ class Home extends Api
string $delegateFrom = '',
string $delegateTo = '',
string $filterCases = '',
string $reviewStatus = '',
string $sort = 'APP_NUMBER,DESC',
string $sendBy = ''
)
@@ -273,6 +284,7 @@ class Home extends Api
$delegateFrom,
$delegateTo,
$filterCases,
$reviewStatus,
$sort,
$sendBy
);
@@ -293,6 +305,7 @@ class Home extends Api
* @param int $offset
* @param string $caseTitle
* @param string $filterCases
* @param string $reviewStatus
* @param string $sort
* @param array $request_data
* @return array
@@ -310,6 +323,7 @@ class Home extends Api
int $offset = 0,
string $caseTitle = '',
string $filterCases = '',
string $reviewStatus = '',
string $sort = 'APP_NUMBER,DESC',
array $request_data = []
)
@@ -326,6 +340,7 @@ class Home extends Api
$offset,
$caseTitle,
$filterCases,
$reviewStatus,
$sort,
$request_data
);
@@ -349,6 +364,7 @@ class Home extends Api
* @param string $delegateFrom
* @param string $delegateTo
* @param string $filterCases
* @param string $reviewStatus
* @param string $sort
* @param array $request_data
* @return array
@@ -369,6 +385,7 @@ class Home extends Api
string $delegateFrom = '',
string $delegateTo = '',
string $filterCases = '',
string $reviewStatus = '',
string $sort = 'APP_NUMBER,DESC',
array $request_data = []
)
@@ -387,6 +404,7 @@ class Home extends Api
$delegateFrom,
$delegateTo,
$filterCases,
$reviewStatus,
$sort,
$sendBy,
$request_data
@@ -411,6 +429,7 @@ class Home extends Api
* @param string $delegateFrom
* @param string $delegateTo
* @param string $filterCases
* @param string $reviewStatus
* @param string $sort
* @param array $request_data
* @return array
@@ -431,6 +450,7 @@ class Home extends Api
string $delegateFrom = '',
string $delegateTo = '',
string $filterCases = '',
string $reviewStatus = '',
string $sort = 'APP_NUMBER,DESC',
array $request_data = []
)
@@ -449,6 +469,7 @@ class Home extends Api
$delegateFrom,
$delegateTo,
$filterCases,
$reviewStatus,
$sort,
$sendBy,
$request_data
@@ -473,6 +494,7 @@ class Home extends Api
* @param string $delegateFrom
* @param string $delegateTo
* @param string $filterCases
* @param string $reviewStatus
* @param string $sort
* @param array $request_data
* @return array
@@ -493,6 +515,7 @@ class Home extends Api
string $delegateFrom = '',
string $delegateTo = '',
string $filterCases = '',
string $reviewStatus = '',
string $sort = 'APP_NUMBER,DESC',
array $request_data = []
)
@@ -511,6 +534,7 @@ class Home extends Api
$delegateFrom,
$delegateTo,
$filterCases,
$reviewStatus,
$sort,
$sendBy,
$request_data