Merge branch 'feature/PMCORE-3049' of https://bitbucket.org/colosa/processmaker into feature/PMCORE-3164

This commit is contained in:
Henry Jordan
2021-07-14 20:54:46 +00:00
36 changed files with 1230 additions and 286 deletions

View File

@@ -7,7 +7,6 @@ $factory->define(\ProcessMaker\Model\Application::class, function(Faker $faker)
$appNumber = $faker->unique()->numberBetween(1000); $appNumber = $faker->unique()->numberBetween(1000);
// APP_TITLE field is used in 'MYSQL: MATCH() AGAINST()' function, string size should not be less than 3. // APP_TITLE field is used in 'MYSQL: MATCH() AGAINST()' function, string size should not be less than 3.
$appTitle = $faker->lexify(str_repeat('?', rand(3, 5)) . ' ' . str_repeat('?', rand(3, 5))); $appTitle = $faker->lexify(str_repeat('?', rand(3, 5)) . ' ' . str_repeat('?', rand(3, 5)));
return [ return [
'APP_UID' => G::generateUniqueID(), 'APP_UID' => G::generateUniqueID(),
'APP_TITLE' => $appTitle, 'APP_TITLE' => $appTitle,
@@ -24,10 +23,10 @@ $factory->define(\ProcessMaker\Model\Application::class, function(Faker $faker)
'APP_INIT_USER' => $user->USR_UID, 'APP_INIT_USER' => $user->USR_UID,
'APP_CUR_USER' => $user->USR_UID, 'APP_CUR_USER' => $user->USR_UID,
'APP_PIN' => G::generateUniqueID(), 'APP_PIN' => G::generateUniqueID(),
'APP_CREATE_DATE' => $faker->dateTime(), 'APP_CREATE_DATE' => $faker->dateTimeBetween('now', '+30 minutes'),
'APP_INIT_DATE' => $faker->dateTime(), 'APP_INIT_DATE' => $faker->dateTimeBetween('now', '+30 minutes'),
'APP_UPDATE_DATE' => $faker->dateTime(), 'APP_UPDATE_DATE' => $faker->dateTimeBetween('now', '+30 minutes'),
'APP_FINISH_DATE' => $faker->dateTime(), 'APP_FINISH_DATE' => $faker->dateTimeBetween('now', '+30 minutes'),
'APP_DATA' => serialize(['APP_NUMBER' => $appNumber]) 'APP_DATA' => serialize(['APP_NUMBER' => $appNumber])
]; ];
}); });

View File

@@ -69,6 +69,7 @@ const services = {
PROCESSES: "/home/processes", PROCESSES: "/home/processes",
USERS: "/home/users", USERS: "/home/users",
TASKS: "/home/tasks", TASKS: "/home/tasks",
CATEGORIES: "/home/categories",
DEBUG_STATUS: "/home/process-debug-status?processUid={prj_uid}" DEBUG_STATUS: "/home/process-debug-status?processUid={prj_uid}"
}; };

View File

@@ -82,6 +82,18 @@ export let filters = {
keys: {}, keys: {},
}); });
}, },
/**
* Service to get the categories list
*/
categories(query) {
return Api.get({
service: "CATEGORIES",
params: {
name: query,
},
keys: {},
});
},
/** /**
* Service to get the users list * Service to get the users list
*/ */

View File

@@ -195,6 +195,8 @@ import CasePriority from "./popovers/CasePriority.vue";
import CaseStatus from "./popovers/CaseStatus.vue"; import CaseStatus from "./popovers/CaseStatus.vue";
import CurrentUser from "./popovers/CurrentUser.vue"; import CurrentUser from "./popovers/CurrentUser.vue";
import TaskTitle from "./popovers/TaskTitle.vue"; import TaskTitle from "./popovers/TaskTitle.vue";
import Participation from "./popovers/Participation.vue";
import ProcessCategory from "./popovers/ProcessCategory.vue";
import api from "./../../api/index"; import api from "./../../api/index";
export default { export default {
@@ -209,7 +211,9 @@ export default {
CaseStatus, CaseStatus,
CurrentUser, CurrentUser,
DateFilter, DateFilter,
TaskTitle TaskTitle,
Participation,
ProcessCategory
}, },
data() { data() {
return { return {
@@ -219,11 +223,11 @@ export default {
{ {
type: "CaseNumber", type: "CaseNumber",
id: "caseNumber", id: "caseNumber",
title: `${this.$i18n.t('ID_FILTER')}: ${this.$i18n.t('ID_IUD')}`, title: `${this.$i18n.t('ID_FILTER')}: ${this.$i18n.t('ID_BY_CASE_NUMBER')}`,
optionLabel: this.$i18n.t('ID_IUD'), optionLabel: this.$i18n.t('ID_BY_CASE_NUMBER'),
detail: this.$i18n.t('ID_PLEASE_SET_A_RANGE_TO_CASES_TO_SEARCH'), detail: this.$i18n.t('ID_PLEASE_SET_A_RANGE_TO_CASES_TO_SEARCH'),
tagText: "", tagText: "",
tagPrefix: this.$i18n.t('ID_IUD'), tagPrefix: this.$i18n.t('ID_SEARCH_BY_CASE_NUMBER'),
items:[ items:[
{ {
id: "filterCases", id: "filterCases",
@@ -231,15 +235,15 @@ export default {
} }
], ],
makeTagText: function (params, data) { makeTagText: function (params, data) {
return `${params.tagPrefix}: ${data[0].value}`; return `${params.tagPrefix} ${data[0].value}`;
} }
}, },
{ {
type: "CaseTitle", type: "CaseTitle",
id: "caseTitle", id: "caseTitle",
title: `${this.$i18n.t('ID_FILTER')}: ${this.$i18n.t('ID_CASE_TITLE')}`, title: `${this.$i18n.t('ID_FILTER')}: ${this.$i18n.t('ID_BY_CASE_TITLE')}`,
optionLabel: this.$i18n.t('ID_CASE_TITLE'), optionLabel: this.$i18n.t('ID_BY_CASE_TITLE'),
tagPrefix: this.$i18n.t('ID_CASE_TITLE'), tagPrefix: this.$i18n.t('ID_SEARCH_BY_CASE_TITLE'),
detail: "", detail: "",
tagText: "", tagText: "",
items:[ items:[
@@ -249,14 +253,14 @@ export default {
} }
], ],
makeTagText: function (params, data) { makeTagText: function (params, data) {
return `${this.tagPrefix}: ${data[0].value}`; return `${this.tagPrefix} ${data[0].value}`;
} }
}, },
{ {
type: "caseStatus", type: "caseStatus",
id: "CaseStatus", id: "CaseStatus",
title: `${this.$i18n.t('ID_FILTER')}: ${this.$i18n.t('ID_CASE_STATUS')}`, title: `${this.$i18n.t('ID_FILTER')}: ${this.$i18n.t('ID_BY_STATUS')}`,
optionLabel: this.$i18n.t('ID_STATUS'), optionLabel: this.$i18n.t('ID_BY_STATUS'),
detail: this.$i18n.t('ID_PLEASE_SELECT_THE_STATUS_FOR_THE_SEARCH'), detail: this.$i18n.t('ID_PLEASE_SELECT_THE_STATUS_FOR_THE_SEARCH'),
tagText: "", tagText: "",
tagPrefix: this.$i18n.t('ID_SEARCH_BY_STATUS'), tagPrefix: this.$i18n.t('ID_SEARCH_BY_STATUS'),
@@ -291,11 +295,11 @@ export default {
{ {
type: "ProcessName", type: "ProcessName",
id: "processName", id: "processName",
title: `${this.$i18n.t('ID_FILTER')}: ${this.$i18n.t('ID_PROCESS_NAME')}`, title: `${this.$i18n.t('ID_FILTER')}: ${this.$i18n.t('ID_BY_PROCESS_NAME')}`,
optionLabel: this.$i18n.t('ID_PROCESS_NAME'), optionLabel: this.$i18n.t('ID_BY_PROCESS_NAME'),
detail: "", detail: "",
tagText: "", tagText: "",
tagPrefix: this.$i18n.t('ID_PROCESS_NAME'), tagPrefix: this.$i18n.t('ID_SEARCH_BY_PROCESS_NAME'),
items:[ items:[
{ {
id: "process", id: "process",
@@ -311,8 +315,8 @@ export default {
{ {
type: "TaskTitle", type: "TaskTitle",
id: "taskTitle", id: "taskTitle",
title: `${this.$i18n.t('ID_FILTER')}: ${this.$i18n.t('ID_TASK_NAME')}`, title: `${this.$i18n.t('ID_FILTER')}: ${this.$i18n.t('ID_BY_TASK')}`,
optionLabel: this.$i18n.t('ID_TASK'), optionLabel: this.$i18n.t('ID_BY_TASK'),
detail: "", detail: "",
tagText: "", tagText: "",
tagPrefix: this.$i18n.t('ID_SEARCH_BY_TASK_NAME'), tagPrefix: this.$i18n.t('ID_SEARCH_BY_TASK_NAME'),
@@ -331,12 +335,12 @@ export default {
{ {
type: "CurrentUser", type: "CurrentUser",
id: "currentUser", id: "currentUser",
title: `${this.$i18n.t('ID_FILTER')}: ${this.$i18n.t('ID_CURRENT_USER')}`, title: `${this.$i18n.t('ID_FILTER')}: ${this.$i18n.t('ID_BY_CURRENT_USER')}`,
optionLabel: this.$i18n.t('ID_CURRENT_USER'), optionLabel: this.$i18n.t('ID_BY_CURRENT_USER'),
detail: "", detail: "",
placeholder: this.$i18n.t('ID_USER_NAME'), placeholder: this.$i18n.t('ID_USER_NAME'),
tagText: "", tagText: "",
tagPrefix: this.$i18n.t('ID_USER'), tagPrefix: this.$i18n.t('ID_SEARCH_BY_CURRENT_USER'),
items:[ items:[
{ {
id: "user", id: "user",
@@ -376,9 +380,9 @@ export default {
{ {
type: "DateFilter", type: "DateFilter",
id: "finishDate", id: "finishDate",
title: `${this.$i18n.t('ID_FILTER')}: ${this.$i18n.t('ID_FINISH_DATE')}`, title: `${this.$i18n.t('ID_FILTER')}: ${this.$i18n.t('ID_BY_FINISH_DATE')}`,
optionLabel: this.$i18n.t('ID_FINISH_DATE'), optionLabel: this.$i18n.t('ID_BY_FINISH_DATE'),
detail: this.$i18n.t('Please set a range of cases Finish Date to search:'), detail: this.$i18n.t('ID_PLEASE_SET_A_RANGE_OF_CASES_FINISH_DATE_TO_SEARCH'),
tagText: "", tagText: "",
tagPrefix: this.$i18n.t('ID_SEARCH_BY_FINISH_DATE'), tagPrefix: this.$i18n.t('ID_SEARCH_BY_FINISH_DATE'),
items:[ items:[
@@ -396,8 +400,66 @@ export default {
makeTagText: function (params, data) { makeTagText: function (params, data) {
return `${params.tagPrefix} ${data[0].value} - ${data[1].value}`; return `${params.tagPrefix} ${data[0].value} - ${data[1].value}`;
} }
},
{
type: "Participation",
id: "participation",
title: `${this.$i18n.t('ID_FILTER')}: ${this.$i18n.t('ID_BY_PARTICIPATION')}`,
optionLabel: this.$i18n.t('ID_BY_PARTICIPATION'),
detail: this.$i18n.t('ID_CHECK_ONE_OPTION_ENABLE_SEARCH'),
tagText: "",
tagPrefix: this.$i18n.t('ID_SEARCH_BY_PARTICIPATION'),
items:[
{
id: "startedBy",
value: "",
options: [],
placeholder: "",
status: "not_accepted",
title: this.$i18n.t("ID_STARTED_BY")
},
{
id: "completedBy",
value: "",
options: [],
placeholder: "",
disabled: true,
status: "not_accepted",
title: this.$i18n.t("ID_COMPLETED_BY")
}
],
makeTagText: function (params, data) {
let text = data && (data[0].value || data[1].value) ? "": data[0].title;
if(data && data[0].value){
text += data[0].title + ": " + data[0].label;
text += data && data[1].value ? "; ": "";
}
if(data && data[1].value){
text += data[1].title + ": " + data[1].label;
}
return text;
}
},
{
type: "ProcessCategory",
id: "processCategory",
title: `${this.$i18n.t('ID_FILTER')}: ${this.$i18n.t('ID_BY_PROCESS_CATEGORY')}`,
optionLabel: this.$i18n.t('ID_BY_PROCESS_CATEGORY'),
detail: "",
tagText: "",
tagPrefix: this.$i18n.t('ID_SEARCH_BY_PROCESS_CATEGORY'),
items:[
{
id: "category",
value: "",
options: [],
placeholder: ""
}
],
makeTagText: function (params, data) {
return `${params.tagPrefix}: ${data[0].label || ''}`;
}
} }
], ],
selected: "", selected: "",
itemModel: {}, itemModel: {},
@@ -492,8 +554,9 @@ export default {
filterVar: value.id, filterVar: value.id,
fieldId: item, fieldId: item,
value: '', value: '',
label: "", label: value.label,
options: [] options: [],
title: value.title
}); });
} }
}); });

View File

@@ -15,12 +15,13 @@
name="flavour-2a" name="flavour-2a"
stacked stacked
></b-form-radio-group> ></b-form-radio-group>
<b-form-group>
</b-form-group>
<b-form-checkbox <b-form-checkbox
id="checkbox-1" id="checkbox-1"
v-model="byProcessName" v-model="byProcessName"
name="checkbox-1" name="checkbox-1"
value="processName" value="processName"
> >
{{$t('ID_BY_PROCESS_NAME') }} {{$t('ID_BY_PROCESS_NAME') }}
</b-form-checkbox> </b-form-checkbox>

View File

@@ -0,0 +1,151 @@
<template>
<div>
<SearchPopover :target="tag" @savePopover="onOk" :title="info.title">
<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-checkbox
id="started"
v-model="filter[0].status"
name="started"
value="accepted"
unchecked-value="not_accepted"
>
{{$t("ID_STARTED_BY")}}
</b-form-checkbox>
<multiselect
v-model="filter[0].options"
:options="users"
:placeholder="$t('ID_USER_NAME')"
label="USR_FULLNAME"
track-by="USR_ID"
:show-no-results="false"
@search-change="asyncFind"
:loading="isLoading"
id="started"
:limit="10"
:clear-on-select="true"
:disabled="filter[0].status !== 'accepted'"
>
</multiselect>
</b-form-group>
<b-form-group>
<b-form-checkbox
id="completed"
v-model="filter[1].status"
name="completed"
value="accepted"
unchecked-value="not_accepted"
>
{{$t("ID_COMPLETED_BY")}}
</b-form-checkbox>
<multiselect
v-model="filter[1].options"
:options="users"
:placeholder="$t('ID_USER_NAME')"
label="USR_FULLNAME"
track-by="USR_ID"
:show-no-results="false"
@search-change="asyncFind"
:loading="isLoading"
id="completed"
:limit="10"
:clear-on-select="true"
:disabled="filter[1].status !== 'accepted'"
>
</multiselect>
</b-form-group>
</form>
</template>
</SearchPopover>
</div>
</template>
<script>
import SearchPopover from "./SearchPopover.vue";
import Multiselect from "vue-multiselect";
import api from "./../../../api/index";
export default {
components: {
SearchPopover,
Multiselect
},
props: ["tag", "info", "filter"],
data() {
return {
users: [],
isLoading: false,
started: "",
completed: ""
};
},
watch: {
filter: {
immediate: true,
handler(newVal, oldVal) {
if (newVal[0].status === "not_accepted") {
newVal[0].options = [];
newVal[0].label = "";
newVal[0].value = "";
}
if (newVal[1].status === "not_accepted") {
newVal[1].options = [];
newVal[1].label = "";
newVal[1].value = "";
}
}
}
},
methods: {
/**
* Find asynchronously in the server
* @param {string} query - string from the text field
*/
asyncFind(query) {
this.isLoading = true;
api.filters
.userList(query)
.then((response) => {
this.users = response.data;
this.isLoading = false;
})
.catch((e) => {
console.error(err);
});
},
/**
* Form validations review
*/
checkFormValidity() {
const valid = this.query !== "";
this.valueState = valid;
return valid;
},
/**
* On Ok event handler
*/
onOk() {
this.handleSubmit();
},
/**
* Form submit handler
*/
handleSubmit() {
this.filter[0].value = this.filter[0].options.USR_ID;
this.filter[0].label = this.filter[0].options.USR_FULLNAME;
this.filter[1].value = this.filter[1].options.USR_ID;
this.filter[1].label = this.filter[1].options.USR_FULLNAME;
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

@@ -0,0 +1,97 @@
<template>
<div>
<SearchPopover :target="tag" @savePopover="onOk" :title="info.title">
<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')"
>
<multiselect
v-model="filter[0].options"
:options="categories"
:placeholder="$t('ID_CATEGORY_NAME')"
label="CATEGORY_NAME"
track-by="CATEGORY_ID"
:show-no-results="false"
@search-change="asyncFind"
:loading="isLoading"
id="started"
:limit="10"
:clear-on-select="true"
>
</multiselect>
</b-form-group>
</form>
</template>
</SearchPopover>
</div>
</template>
updateSearchTag
<script>
import SearchPopover from "./SearchPopover.vue";
import Multiselect from "vue-multiselect";
import api from "./../../../api/index";
export default {
components: {
SearchPopover,
Multiselect
},
props: ["tag", "info", "filter"],
data() {
return {
categories: [],
isLoading: false,
started: "",
completed: ""
};
},
methods: {
/**
* Find asynchronously in the server
* @param {string} query - string from the text field
*/
asyncFind(query) {
this.isLoading = true;
api.filters
.categories(query)
.then((response) => {
this.categories = response.data;
this.isLoading = false;
})
.catch((e) => {
console.error(err);
});
},
/**
* Form validations review
*/
checkFormValidity() {
const valid = this.query !== "";
this.valueState = valid;
return valid;
},
/**
* On Ok event handler
*/
onOk() {
this.handleSubmit();
},
/**
* Form submit handler
*/
handleSubmit() {
this.filter[0].value = this.filter[0].options.CATEGORY_ID;
this.filter[0].label = this.filter[0].options.CATEGORY_NAME;
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

@@ -218,10 +218,12 @@ export default {
start = data.page === 1 ? 0 : limit * (data.page - 1); start = data.page === 1 ? 0 : limit * (data.page - 1);
paged = start + "," + limit; paged = start + "," + limit;
filters["paged"] = paged; filters["paged"] = paged;
return new Promise((resolutionFunc, rejectionFunc) => { _.forIn(this.filters, function (item, key) {
_.forIn(this.filters, function(item, key) { if(filters && item.value) {
filters[item.filterVar] = item.value; filters[item.filterVar] = item.value;
}); }
});
return new Promise((resolutionFunc, rejectionFunc) => {
api.cases api.cases
.search(filters) .search(filters)
.then((response) => { .then((response) => {

View File

@@ -358,7 +358,9 @@ export default {
}; };
_.forIn(this.filters, function (item, key) { _.forIn(this.filters, function (item, key) {
filters[item.filterVar] = item.value; if(filters && item.value) {
filters[item.filterVar] = item.value;
}
}); });
return new Promise((resolutionFunc, rejectionFunc) => { return new Promise((resolutionFunc, rejectionFunc) => {
api.cases api.cases

View File

@@ -369,7 +369,9 @@ export default {
}; };
_.forIn(this.filters, function (item, key) { _.forIn(this.filters, function (item, key) {
filters[item.filterVar] = item.value; if(filters && item.value) {
filters[item.filterVar] = item.value;
}
}); });
return new Promise((resolutionFunc, rejectionFunc) => { return new Promise((resolutionFunc, rejectionFunc) => {
api.cases api.cases

View File

@@ -300,8 +300,10 @@ export default {
filter: that.filterHeader, filter: that.filterHeader,
paged: paged, paged: paged,
}; };
_.forIn(this.filters, function(item, key) { _.forIn(this.filters, function (item, key) {
filters[item.filterVar] = item.value; if(filters && item.value) {
filters[item.filterVar] = item.value;
}
}); });
return new Promise((resolutionFunc, rejectionFunc) => { return new Promise((resolutionFunc, rejectionFunc) => {
api.cases api.cases

View File

@@ -255,7 +255,9 @@ export default {
}; };
_.forIn(this.filters, function (item, key) { _.forIn(this.filters, function (item, key) {
filters[item.filterVar] = item.value; if(filters && item.value) {
filters[item.filterVar] = item.value;
}
}); });
return new Promise((resolutionFunc, rejectionFunc) => { return new Promise((resolutionFunc, rejectionFunc) => {
api.cases api.cases

View File

@@ -222,8 +222,10 @@ export default {
paged: paged, paged: paged,
}; };
_.forIn(this.$parent.filters, function (item, key) { _.forIn(this.filters, function (item, key) {
filters[item.filterVar] = item.value; if(filters && item.value) {
filters[item.filterVar] = item.value;
}
}); });
return new Promise((resolutionFunc, rejectionFunc) => { return new Promise((resolutionFunc, rejectionFunc) => {
api.cases api.cases

View File

@@ -90,6 +90,7 @@ class ExecuteQueryTest extends TestCase
*/ */
public function it_should_insert_a_record_in_the_category_table_using_the_execute_query_method() public function it_should_insert_a_record_in_the_category_table_using_the_execute_query_method()
{ {
$this->expectException(SQLException::class);
$database = env('DB_DATABASE'); $database = env('DB_DATABASE');
$faker = Factory::create(); $faker = Factory::create();
$uid = G::generateUniqueID(); $uid = G::generateUniqueID();
@@ -132,6 +133,7 @@ class ExecuteQueryTest extends TestCase
*/ */
public function it_should_replace_a_record_in_the_category_table_using_the_execute_query_method() public function it_should_replace_a_record_in_the_category_table_using_the_execute_query_method()
{ {
$this->expectException(SQLException::class);
$database = env('DB_DATABASE'); $database = env('DB_DATABASE');
$faker = Factory::create(); $faker = Factory::create();
$id = $faker->unique()->numberBetween(1, 10000000); $id = $faker->unique()->numberBetween(1, 10000000);
@@ -168,6 +170,7 @@ class ExecuteQueryTest extends TestCase
*/ */
public function it_should_update_a_record_in_the_category_table_using_the_execute_query_method() public function it_should_update_a_record_in_the_category_table_using_the_execute_query_method()
{ {
$this->expectException(SQLException::class);
$database = env('DB_DATABASE'); $database = env('DB_DATABASE');
$faker = Factory::create(); $faker = Factory::create();
$id = $faker->unique()->numberBetween(1, 10000000); $id = $faker->unique()->numberBetween(1, 10000000);
@@ -200,7 +203,7 @@ class ExecuteQueryTest extends TestCase
*/ */
public function it_should_delete_a_record_in_the_category_table_using_the_execute_query_method() public function it_should_delete_a_record_in_the_category_table_using_the_execute_query_method()
{ {
$this->expectException(SQLException::class);
$database = env('DB_DATABASE'); $database = env('DB_DATABASE');
$category = factory(ProcessCategory::class)->create(); $category = factory(ProcessCategory::class)->create();

View File

@@ -2,10 +2,12 @@
namespace Tests\unit\workflow\engine\src\ProcessMaker\BusinessModel\Cases; namespace Tests\unit\workflow\engine\src\ProcessMaker\BusinessModel\Cases;
use Exception;
use G; use G;
use Illuminate\Foundation\Testing\DatabaseTransactions; use Illuminate\Foundation\Testing\DatabaseTransactions;
use ProcessMaker\BusinessModel\Cases\AbstractCases; use ProcessMaker\BusinessModel\Cases\AbstractCases;
use ProcessMaker\Model\Application; use ProcessMaker\Model\Application;
use ProcessMaker\Model\Delegation;
use ProcessMaker\Model\Process; use ProcessMaker\Model\Process;
use ProcessMaker\Model\ProcessCategory; use ProcessMaker\Model\ProcessCategory;
use ProcessMaker\Model\Task; use ProcessMaker\Model\Task;
@@ -131,6 +133,19 @@ class AbstractCasesTest extends TestCase
$this->assertNotEmpty($actual); $this->assertNotEmpty($actual);
} }
/**
* This test the exception setPriorities
*
* @covers \ProcessMaker\BusinessModel\Cases\AbstractCases::setPriorities()
* @test
*/
public function it_return_exception_priorities()
{
$this->expectException(Exception::class);
$absCases = new AbstractCases();
$absCases->setPriorities(['INVALID_VALUE']);
}
/** /**
* This check the getter and setter related to the case number * This check the getter and setter related to the case number
* *
@@ -208,6 +223,19 @@ class AbstractCasesTest extends TestCase
} }
} }
/**
* This test the exception setInboxStatus
*
* @covers \ProcessMaker\BusinessModel\Cases\AbstractCases::setInboxStatus()
* @test
*/
public function it_return_exception_inbox_status()
{
$this->expectException(Exception::class);
$absCases = new AbstractCases();
$absCases->setInboxStatus('INVALID_VALUE');
}
/** /**
* This check the getter and setter related to the participated status * This check the getter and setter related to the participated status
* *
@@ -225,6 +253,19 @@ class AbstractCasesTest extends TestCase
$this->assertEquals($arguments[$index], $actual); $this->assertEquals($arguments[$index], $actual);
} }
/**
* This test the exception setParticipatedStatus
*
* @covers \ProcessMaker\BusinessModel\Cases\AbstractCases::setParticipatedStatus()
* @test
*/
public function it_return_exception_participated_status()
{
$this->expectException(Exception::class);
$absCases = new AbstractCases();
$absCases->setParticipatedStatus('INVALID_VALUE');
}
/** /**
* This check the getter and setter related to the risk status * This check the getter and setter related to the risk status
* *
@@ -242,6 +283,19 @@ class AbstractCasesTest extends TestCase
$this->assertEquals($arguments[$index], $actual); $this->assertEquals($arguments[$index], $actual);
} }
/**
* This test the exception setRiskStatus
*
* @covers \ProcessMaker\BusinessModel\Cases\AbstractCases::setRiskStatus()
* @test
*/
public function it_return_exception_risk_status()
{
$this->expectException(Exception::class);
$absCases = new AbstractCases();
$absCases->setRiskStatus('INVALID_VALUE');
}
/** /**
* This check the getter and setter related to the case status * This check the getter and setter related to the case status
* *
@@ -258,9 +312,22 @@ class AbstractCasesTest extends TestCase
$actual = $absCases->getCaseStatus(); $actual = $absCases->getCaseStatus();
$this->assertEquals($index, $actual); $this->assertEquals($index, $actual);
// Incorrect canceled status // Incorrect canceled status
$absCases->setCaseStatuses(['CANCELLED']); $absCases->setCaseStatus('CANCELLED');
$actual = $absCases->getCaseStatuses(); $actual = $absCases->getCaseStatus();
$this->assertEquals([4], $actual); $this->assertEquals($index, $actual);
}
/**
* This test the exception setCaseStatus
*
* @covers \ProcessMaker\BusinessModel\Cases\AbstractCases::setCaseStatus()
* @test
*/
public function it_return_exception_case_status()
{
$this->expectException(Exception::class);
$absCases = new AbstractCases();
$absCases->setCaseStatus('INVALID_VALUE');
} }
/** /**
@@ -284,6 +351,19 @@ class AbstractCasesTest extends TestCase
$this->assertNotEmpty($actual); $this->assertNotEmpty($actual);
} }
/**
* This test the exception setCaseStatuses
*
* @covers \ProcessMaker\BusinessModel\Cases\AbstractCases::setCaseStatuses()
* @test
*/
public function it_return_exception_case_statuses()
{
$this->expectException(Exception::class);
$absCases = new AbstractCases();
$absCases->setCaseStatuses(['INVALID_VALUE']);
}
/** /**
* This check the getter and setter related to the case * This check the getter and setter related to the case
* *
@@ -532,6 +612,19 @@ class AbstractCasesTest extends TestCase
$this->assertEquals($arguments[$index], $actual); $this->assertEquals($arguments[$index], $actual);
} }
/**
* This test the exception setOrderDirection
*
* @covers \ProcessMaker\BusinessModel\Cases\AbstractCases::setOrderDirection()
* @test
*/
public function it_return_exception_order_direction()
{
$this->expectException(Exception::class);
$absCases = new AbstractCases();
$absCases->setOrderDirection('INVALID_VALUE');
}
/** /**
* This check the getter and setter related to the paged, offset and limit * This check the getter and setter related to the paged, offset and limit
* *
@@ -783,7 +876,29 @@ class AbstractCasesTest extends TestCase
{"tas_id":'.$task[0]->TAS_ID.', "user_id":1, "due_date":"2020-12-04 19:11:14"}, {"tas_id":'.$task[0]->TAS_ID.', "user_id":1, "due_date":"2020-12-04 19:11:14"},
{"tas_id":'.$task[1]->TAS_ID.', "user_id":2, "due_date":"2020-12-04 19:12:45"} {"tas_id":'.$task[1]->TAS_ID.', "user_id":2, "due_date":"2020-12-04 19:12:45"}
]'; ]';
// Default values
$result = $absCases->prepareTaskPending($pending); $result = $absCases->prepareTaskPending($pending);
$this->assertNotEmpty($result); $this->assertNotEmpty($result);
// Thread users
$result = $absCases->prepareTaskPending($pending, false);
$this->assertNotEmpty($result);
}
/**
* This get thread information
*
* @covers \ProcessMaker\BusinessModel\Cases\AbstractCases::threadInformation()
* @test
*/
public function it_return_thread_information()
{
$delegation = factory(Delegation::class)->states('foreign_keys')->create();
$taskPending = Delegation::getLastThread($delegation->APP_NUMBER);
$absCases = new AbstractCases();
foreach ($taskPending as $thread) {
$thread['APP_STATUS'] = 'TO_DO';
$result = $absCases->threadInformation($thread, true, true);
$this->assertNotEmpty($result);
}
} }
} }

View File

@@ -39,6 +39,23 @@ class BatchRoutingTest extends TestCase
return $delegation; return $delegation;
} }
/**
* This test the extended function, currently are not implemented
*
* @covers \ProcessMaker\BusinessModel\Cases\BatchRouting::getColumnsView()
* @covers \ProcessMaker\BusinessModel\Cases\BatchRouting::getData()
* @test
*/
public function it_test_extended_methods()
{
// Create new BatchRouting object
$consolidated = new BatchRouting();
$result = $consolidated->getColumnsView();
$this->assertEmpty($result);
$result = $consolidated->getData();
$this->assertEmpty($result);
}
/** /**
* This checks the counters is working properly in batch routing * This checks the counters is working properly in batch routing
* *
@@ -49,7 +66,7 @@ class BatchRoutingTest extends TestCase
{ {
// Create factories related to the consolidated cases // Create factories related to the consolidated cases
$cases = $this->createConsolidated(); $cases = $this->createConsolidated();
// Create new Draft object // Create new batch routing object
$consolidated = new BatchRouting(); $consolidated = new BatchRouting();
$consolidated->setUserId($cases['USR_ID']); $consolidated->setUserId($cases['USR_ID']);
$consolidated->setUserUid($cases['USR_UID']); $consolidated->setUserUid($cases['USR_UID']);

View File

@@ -42,6 +42,23 @@ class CanceledTest extends TestCase
return $delegation; return $delegation;
} }
/**
* This test the extended function, currently are not implemented
*
* @covers \ProcessMaker\BusinessModel\Cases\Canceled::getColumnsView()
* @covers \ProcessMaker\BusinessModel\Cases\Canceled::getData()
* @test
*/
public function it_test_extended_methods()
{
// Create new batch Canceled object
$consolidated = new Canceled();
$result = $consolidated->getColumnsView();
$this->assertEmpty($result);
$result = $consolidated->getData();
$this->assertEmpty($result);
}
/** /**
* This checks the counters is working properly in canceled * This checks the counters is working properly in canceled
* *

View File

@@ -42,6 +42,23 @@ class CompletedTest extends TestCase
return $delegation; return $delegation;
} }
/**
* This test the extended function, currently are not implemented
*
* @covers \ProcessMaker\BusinessModel\Cases\Completed::getColumnsView()
* @covers \ProcessMaker\BusinessModel\Cases\Completed::getData()
* @test
*/
public function it_test_extended_methods()
{
// Create new batch Completed object
$consolidated = new Completed();
$result = $consolidated->getColumnsView();
$this->assertEmpty($result);
$result = $consolidated->getData();
$this->assertEmpty($result);
}
/** /**
* This checks the counters is working properly in completed * This checks the counters is working properly in completed
* *

View File

@@ -5,9 +5,7 @@ namespace Tests\unit\workflow\engine\src\ProcessMaker\BusinessModel\Cases;
use Illuminate\Foundation\Testing\DatabaseTransactions; use Illuminate\Foundation\Testing\DatabaseTransactions;
use Illuminate\Support\Facades\DB; use Illuminate\Support\Facades\DB;
use ProcessMaker\BusinessModel\Cases\Participated; use ProcessMaker\BusinessModel\Cases\Participated;
use ProcessMaker\Model\Application;
use ProcessMaker\Model\Delegation; use ProcessMaker\Model\Delegation;
use ProcessMaker\Model\Process;
use Tests\TestCase; use Tests\TestCase;
/** /**
@@ -59,7 +57,7 @@ class ParticipatedTest extends TestCase
* @param int * @param int
* @return object * @return object
*/ */
public function createMultipleParticipated($cases) public function createMultipleParticipated($cases = 2)
{ {
$user = factory(\ProcessMaker\Model\User::class)->create(); $user = factory(\ProcessMaker\Model\User::class)->create();
@@ -85,11 +83,13 @@ class ParticipatedTest extends TestCase
} }
/** /**
* It tests the getData method without filters * It tests the getData without filters
* *
* @covers \ProcessMaker\BusinessModel\Cases\Participated::getData() * @covers \ProcessMaker\BusinessModel\Cases\Participated::getData()
* @covers \ProcessMaker\BusinessModel\Cases\Participated::getColumnsView() * @covers \ProcessMaker\BusinessModel\Cases\Participated::getColumnsView()
* @covers \ProcessMaker\Model\Delegation::scopeParticipated() * @covers \ProcessMaker\BusinessModel\Cases\Participated::setUserUid()
* @covers \ProcessMaker\BusinessModel\Cases\Participated::setUserId()
* @covers \ProcessMaker\BusinessModel\Cases\Participated::setOrderByColumn()
* @test * @test
*/ */
public function it_get_result_without_filters() public function it_get_result_without_filters()
@@ -104,19 +104,22 @@ class ParticipatedTest extends TestCase
$participated->setUserId($cases['USR_ID']); $participated->setUserId($cases['USR_ID']);
// Set OrderBYColumn value // Set OrderBYColumn value
$participated->setOrderByColumn('APP_NUMBER'); $participated->setOrderByColumn('APP_NUMBER');
// Call to getData method // Get the data
$res = $participated->getData(); $res = $participated->getData();
// This assert that the expected numbers of results are returned // This assert that the expected numbers of results are returned
$this->assertEquals(2, count($res)); $this->assertEquals(2, count($res));
} }
/** /**
* It tests the getData method with specific filter StartedByMe * It tests the getData the specific filter StartedByMe
* *
* @covers \ProcessMaker\BusinessModel\Cases\Participated::getData() * @covers \ProcessMaker\BusinessModel\Cases\Participated::getData()
* @covers \ProcessMaker\BusinessModel\Cases\Participated::getColumnsView() * @covers \ProcessMaker\BusinessModel\Cases\Participated::getColumnsView()
* @covers \ProcessMaker\BusinessModel\Cases\Participated::filters() * @covers \ProcessMaker\BusinessModel\Cases\Participated::filters()
* @covers \ProcessMaker\BusinessModel\Cases\Participated::setCaseStatus() * @covers \ProcessMaker\BusinessModel\Cases\Participated::setCaseStatus()
* @covers \ProcessMaker\BusinessModel\Cases\Participated::setUserUid()
* @covers \ProcessMaker\BusinessModel\Cases\Participated::setUserId()
* @covers \ProcessMaker\BusinessModel\Cases\Participated::setParticipatedStatus()
* @test * @test
*/ */
public function it_filter_by_started_by_me() public function it_filter_by_started_by_me()
@@ -130,23 +133,24 @@ class ParticipatedTest extends TestCase
// Set the user ID // Set the user ID
$participated->setUserId($cases->USR_ID); $participated->setUserId($cases->USR_ID);
// Get only the TO_DO // Get only the TO_DO
$participated->setCaseStatus(2); $participated->setCaseStatus('TO_DO');
// Set the filter STARTED // Set the filter STARTED
$participated->setParticipatedStatus('STARTED'); $participated->setParticipatedStatus('STARTED');
// Set OrderBYColumn value // Get the data
$participated->setOrderByColumn('APP_NUMBER');
// Call to getData method
$res = $participated->getData(); $res = $participated->getData();
// This assert that the expected numbers of results are returned // This assert that the expected numbers of results are returned
$this->assertEquals(1, count($res)); $this->assertEquals(1, count($res));
} }
/** /**
* It tests the getData method with specific filter CompletedByMe * It tests the getData the specific filter CompletedByMe
* *
* @covers \ProcessMaker\BusinessModel\Cases\Participated::getData() * @covers \ProcessMaker\BusinessModel\Cases\Participated::getData()
* @covers \ProcessMaker\BusinessModel\Cases\Participated::getColumnsView() * @covers \ProcessMaker\BusinessModel\Cases\Participated::getColumnsView()
* @covers \ProcessMaker\BusinessModel\Cases\Participated::filters() * @covers \ProcessMaker\BusinessModel\Cases\Participated::filters()
* @covers \ProcessMaker\BusinessModel\Cases\Participated::setUserUid()
* @covers \ProcessMaker\BusinessModel\Cases\Participated::setUserId()
* @covers \ProcessMaker\BusinessModel\Cases\Participated::setParticipatedStatus()
* @test * @test
*/ */
public function it_filter_by_completed_by_me() public function it_filter_by_completed_by_me()
@@ -161,20 +165,21 @@ class ParticipatedTest extends TestCase
$participated->setUserId($cases->USR_ID); $participated->setUserId($cases->USR_ID);
// Set the filter COMPLETED // Set the filter COMPLETED
$participated->setParticipatedStatus('COMPLETED'); $participated->setParticipatedStatus('COMPLETED');
// Set OrderBYColumn value // Get the data
$participated->setOrderByColumn('APP_NUMBER');
// Call to getData method
$res = $participated->getData(); $res = $participated->getData();
// This assert that the expected numbers of results are returned // This assert that the expected numbers of results are returned
$this->assertEquals(0, count($res)); $this->assertEquals(0, count($res));
} }
/** /**
* It tests the getData method with processId filter * It tests the getData the specific filter setProcessId
* *
* @covers \ProcessMaker\BusinessModel\Cases\Participated::getData() * @covers \ProcessMaker\BusinessModel\Cases\Participated::getData()
* @covers \ProcessMaker\BusinessModel\Cases\Participated::getColumnsView() * @covers \ProcessMaker\BusinessModel\Cases\Participated::getColumnsView()
* @covers \ProcessMaker\BusinessModel\Cases\Participated::filters() * @covers \ProcessMaker\BusinessModel\Cases\Participated::filters()
* @covers \ProcessMaker\BusinessModel\Cases\Participated::setFilterCases()
* @covers \ProcessMaker\BusinessModel\Cases\Participated::setUserUid()
* @covers \ProcessMaker\BusinessModel\Cases\Participated::setUserId()
* @covers \ProcessMaker\BusinessModel\Cases\Participated::setProcessId() * @covers \ProcessMaker\BusinessModel\Cases\Participated::setProcessId()
* @test * @test
*/ */
@@ -190,11 +195,9 @@ class ParticipatedTest extends TestCase
$participated->setUserUid($cases['USR_UID']); $participated->setUserUid($cases['USR_UID']);
// Set the user ID // Set the user ID
$participated->setUserId($cases['USR_ID']); $participated->setUserId($cases['USR_ID']);
// Set the process ID // Set the process
$participated->setProcessId($cases['PRO_ID']); $participated->setProcessId($cases['PRO_ID']);
// Set OrderBYColumn value // Get the data
$participated->setOrderByColumn('APP_NUMBER');
// Call to getData method
$res = $participated->getData(); $res = $participated->getData();
// This assert that the expected numbers of results are returned // This assert that the expected numbers of results are returned
$this->assertEquals(2, count($res)); $this->assertEquals(2, count($res));
@@ -223,9 +226,7 @@ class ParticipatedTest extends TestCase
$participated->setUserId($cases['USR_ID']); $participated->setUserId($cases['USR_ID']);
// Set the case numbers // Set the case numbers
$participated->setCasesNumbers([$cases['APP_NUMBER']]); $participated->setCasesNumbers([$cases['APP_NUMBER']]);
// Set OrderBYColumn value // Get the data
$participated->setOrderByColumn('APP_NUMBER');
// Call to getData method
$res = $participated->getData(); $res = $participated->getData();
// This assert that the expected numbers of results are returned // This assert that the expected numbers of results are returned
$this->assertEquals(2, count($res)); $this->assertEquals(2, count($res));
@@ -255,20 +256,21 @@ class ParticipatedTest extends TestCase
// Set the range of case numbers // Set the range of case numbers
$rangeOfCases = $cases['APP_NUMBER'] . "-" . $cases['APP_NUMBER']; $rangeOfCases = $cases['APP_NUMBER'] . "-" . $cases['APP_NUMBER'];
$participated->setRangeCasesFromTo([$rangeOfCases]); $participated->setRangeCasesFromTo([$rangeOfCases]);
// Set OrderBYColumn value // Get the data
$participated->setOrderByColumn('APP_NUMBER');
// Call to getData method
$res = $participated->getData(); $res = $participated->getData();
// This assert that the expected numbers of results are returned // This assert that the expected numbers of results are returned
$this->assertEquals(2, count($res)); $this->assertEquals(2, count($res));
} }
/** /**
* It tests the getData method with processId filter * It tests the getData the specific filter setCaseTitle
* *
* @covers \ProcessMaker\BusinessModel\Cases\Participated::getData() * @covers \ProcessMaker\BusinessModel\Cases\Participated::getData()
* @covers \ProcessMaker\BusinessModel\Cases\Participated::getColumnsView() * @covers \ProcessMaker\BusinessModel\Cases\Participated::getColumnsView()
* @covers \ProcessMaker\BusinessModel\Cases\Participated::filters() * @covers \ProcessMaker\BusinessModel\Cases\Participated::filters()
* @covers \ProcessMaker\BusinessModel\Cases\Participated::setFilterCases()
* @covers \ProcessMaker\BusinessModel\Cases\Participated::setUserUid()
* @covers \ProcessMaker\BusinessModel\Cases\Participated::setUserId()
* @covers \ProcessMaker\BusinessModel\Cases\Participated::setCaseTitle() * @covers \ProcessMaker\BusinessModel\Cases\Participated::setCaseTitle()
* @test * @test
*/ */
@@ -295,9 +297,165 @@ class ParticipatedTest extends TestCase
} }
/** /**
* It tests the getCounter method * It tests the getData the specific filter status
*
* @covers \ProcessMaker\BusinessModel\Cases\Participated::getData()
* @covers \ProcessMaker\BusinessModel\Cases\Participated::getColumnsView()
* @covers \ProcessMaker\BusinessModel\Cases\Participated::filters()
* @covers \ProcessMaker\BusinessModel\Cases\Participated::setFilterCases()
* @covers \ProcessMaker\BusinessModel\Cases\Participated::setUserUid()
* @covers \ProcessMaker\BusinessModel\Cases\Participated::setUserId()
* @covers \ProcessMaker\BusinessModel\Cases\Participated::setCaseStatus()
* @test
*/
public function it_filter_by_status()
{
// Create factories related to the participated cases
$cases = $this->createParticipated();
// Create new Participated object
$participated = new Participated();
// Set the filter
$participated->setFilterCases('STARTED');
// Set the user UID
$participated->setUserUid($cases['USR_UID']);
// Set the user ID
$participated->setUserId($cases['USR_ID']);
// Set the case status
$participated->setCaseStatus('TO_DO');
// Get the data
$result = $participated->getData();
// This assert that the expected numbers of results are returned
$this->assertNotEmpty($result);
}
/**
* It tests the getData the specific filter setStartCaseFrom and getStartCaseTo
*
* @covers \ProcessMaker\BusinessModel\Cases\Participated::getData()
* @covers \ProcessMaker\BusinessModel\Cases\Participated::getColumnsView()
* @covers \ProcessMaker\BusinessModel\Cases\Participated::filters()
* @covers \ProcessMaker\BusinessModel\Cases\Participated::setFilterCases()
* @covers \ProcessMaker\BusinessModel\Cases\Participated::setUserUid()
* @covers \ProcessMaker\BusinessModel\Cases\Participated::setUserId()
* @covers \ProcessMaker\BusinessModel\Cases\Participated::setStartCaseFrom()
* @covers \ProcessMaker\BusinessModel\Cases\Participated::setStartCaseTo()
* @test
*/
public function it_filter_by_start_date()
{
// Create factories related to the participated cases
$cases = $this->createParticipated();
// Create new Participated object
$participated = new Participated();
// Set the filter
$participated->setFilterCases('STARTED');
// Set the user UID
$participated->setUserUid($cases['USR_UID']);
// Set the user ID
$participated->setUserId($cases['USR_ID']);
// Set the range of dates
$date = date('Y-m-d');
$participated->setStartCaseFrom($date);
$participated->setStartCaseTo($date);
// Get the data
$result = $participated->getData();
// This assert that the expected numbers of results are returned
$this->assertEmpty($result);
}
/**
* It tests the getData the specific filter setFinishCaseFrom and setFinishCaseTo
*
* @covers \ProcessMaker\BusinessModel\Cases\Participated::getData()
* @covers \ProcessMaker\BusinessModel\Cases\Participated::getColumnsView()
* @covers \ProcessMaker\BusinessModel\Cases\Participated::filters()
* @covers \ProcessMaker\BusinessModel\Cases\Participated::setFilterCases()
* @covers \ProcessMaker\BusinessModel\Cases\Participated::setUserUid()
* @covers \ProcessMaker\BusinessModel\Cases\Participated::setUserId()
* @covers \ProcessMaker\BusinessModel\Cases\Participated::setFinishCaseFrom()
* @covers \ProcessMaker\BusinessModel\Cases\Participated::setFinishCaseTo()
* @test
*/
public function it_filter_by_finish_date()
{
// Create factories related to the participated cases
$cases = $this->createParticipated();
// Create new Participated object
$participated = new Participated();
// Set the filter
$participated->setFilterCases('STARTED');
// Set the user UID
$participated->setUserUid($cases['USR_UID']);
// Set the user ID
$participated->setUserId($cases['USR_ID']);
// Set the range of dates
$date = date('Y-m-d');
$participated->setFinishCaseFrom($date);
$participated->setFinishCaseTo($date);
// Get the data
$result = $participated->getData();
// This assert that the expected numbers of results are returned
$this->assertEmpty($result);
}
/**
* It tests the specific filter setParticipatedStatus = IN_PROGRESS
*
* @covers \ProcessMaker\BusinessModel\Cases\Participated::getData()
* @covers \ProcessMaker\BusinessModel\Cases\Participated::getColumnsView()
* @covers \ProcessMaker\BusinessModel\Cases\Participated::filters()
* @covers \ProcessMaker\BusinessModel\Cases\Participated::setParticipatedStatus()
* @test
*/
public function it_get_status_in_progress()
{
// Create factories related to the participated cases
$cases = $this->createParticipated();
// Create new Participated object
$participated = new Participated();
// Set the user UID
$participated->setUserUid($cases->USR_UID);
// Set the user ID
$participated->setUserId($cases->USR_ID);
// Set participated status
$participated->setParticipatedStatus('IN_PROGRESS');
// Get result
$result = $participated->getData();
// This assert that the expected numbers of results are returned
$this->assertNotEmpty($result);
}
/**
* It tests the specific filter setParticipatedStatus = COMPLETED
*
* @covers \ProcessMaker\BusinessModel\Cases\Participated::getData()
* @covers \ProcessMaker\BusinessModel\Cases\Participated::getColumnsView()
* @covers \ProcessMaker\BusinessModel\Cases\Participated::filters()
* @covers \ProcessMaker\BusinessModel\Cases\Participated::setParticipatedStatus()
* @test
*/
public function it_get_status_completed()
{
// Create factories related to the participated cases
$cases = $this->createParticipated();
// Create new Participated object
$participated = new Participated();
// Set the user UID
$participated->setUserUid($cases->USR_UID);
// Set the user ID
$participated->setUserId($cases->USR_ID);
// Set participated status
$participated->setParticipatedStatus('COMPLETED');
// Get result
$result = $participated->getData();
// This assert that the expected numbers of results are returned
$this->assertEmpty($result);
}
/**
* It tests the getCounter
* *
* @covers \ProcessMaker\BusinessModel\Cases\Participated::getCounter() * @covers \ProcessMaker\BusinessModel\Cases\Participated::getCounter()
* @covers \ProcessMaker\BusinessModel\Cases\Participated::setParticipatedStatus()
* @test * @test
*/ */
public function it_get_counter() public function it_get_counter()
@@ -319,7 +477,7 @@ class ParticipatedTest extends TestCase
} }
/** /**
* It tests the getPagingCounters() method * It tests the getPagingCounters
* *
* @covers \ProcessMaker\BusinessModel\Cases\Participated::getPagingCounters() * @covers \ProcessMaker\BusinessModel\Cases\Participated::getPagingCounters()
* @covers \ProcessMaker\BusinessModel\Cases\Participated::filters() * @covers \ProcessMaker\BusinessModel\Cases\Participated::filters()
@@ -332,17 +490,14 @@ class ParticipatedTest extends TestCase
$participated->setUserId($cases->USR_ID); $participated->setUserId($cases->USR_ID);
$participated->setUserUid($cases->USR_UID); $participated->setUserUid($cases->USR_UID);
$participated->setParticipatedStatus('STARTED'); $participated->setParticipatedStatus('STARTED');
$res = $participated->getPagingCounters(); $res = $participated->getPagingCounters();
$this->assertEquals(3, $res); $this->assertEquals(3, $res);
$delegation = Delegation::select()->where('USR_ID', $cases->USR_ID)->first(); $delegation = Delegation::select()->where('USR_ID', $cases->USR_ID)->first();
$participated->setCaseNumber($delegation->APP_NUMBER); $participated->setCaseNumber($delegation->APP_NUMBER);
$participated->setProcessId($delegation->PRO_ID); $participated->setProcessId($delegation->PRO_ID);
$participated->setTaskId($delegation->TAS_ID); $participated->setTaskId($delegation->TAS_ID);
$participated->setCaseUid($delegation->APP_UID); $participated->setCaseUid($delegation->APP_UID);
$res = $participated->getPagingCounters(); $res = $participated->getPagingCounters();
$this->assertEquals(1, $res); $this->assertEquals(1, $res);
} }

View File

@@ -57,7 +57,7 @@ class SearchTest extends TestCase
$search = new Search(); $search = new Search();
$result = $search->getData(); $result = $search->getData();
// This assert that the expected numbers of results are returned // This assert that the expected numbers of results are returned
$this->assertEquals(count($cases), count($result)); $this->assertNotEmpty($result);
} }
/** /**
@@ -66,6 +66,8 @@ class SearchTest extends TestCase
* @covers \ProcessMaker\BusinessModel\Cases\Search::getData() * @covers \ProcessMaker\BusinessModel\Cases\Search::getData()
* @covers \ProcessMaker\BusinessModel\Cases\Search::getColumnsView() * @covers \ProcessMaker\BusinessModel\Cases\Search::getColumnsView()
* @covers \ProcessMaker\BusinessModel\Cases\Search::filters() * @covers \ProcessMaker\BusinessModel\Cases\Search::filters()
* @covers \ProcessMaker\BusinessModel\Cases\Search::setCaseNumber()
* @covers \ProcessMaker\BusinessModel\Cases\Search::setOrderByColumn()
* @test * @test
*/ */
public function it_filter_by_app_number() public function it_filter_by_app_number()
@@ -88,6 +90,7 @@ class SearchTest extends TestCase
* @covers \ProcessMaker\BusinessModel\Cases\Search::getData() * @covers \ProcessMaker\BusinessModel\Cases\Search::getData()
* @covers \ProcessMaker\BusinessModel\Cases\Search::getColumnsView() * @covers \ProcessMaker\BusinessModel\Cases\Search::getColumnsView()
* @covers \ProcessMaker\BusinessModel\Cases\Search::filters() * @covers \ProcessMaker\BusinessModel\Cases\Search::filters()
* @covers \ProcessMaker\BusinessModel\Cases\Search::setCasesNumbers()
* @test * @test
*/ */
public function it_filter_by_specific_cases() public function it_filter_by_specific_cases()
@@ -97,8 +100,6 @@ class SearchTest extends TestCase
// Create new Search object // Create new Search object
$search = new Search(); $search = new Search();
$search->setCasesNumbers([$cases[0]->APP_NUMBER]); $search->setCasesNumbers([$cases[0]->APP_NUMBER]);
// Set order by column value
$search->setOrderByColumn('APP_NUMBER');
$result = $search->getData(); $result = $search->getData();
// This assert that the expected numbers of results are returned // This assert that the expected numbers of results are returned
$this->assertEquals($cases[0]->APP_NUMBER, $result[0]['APP_NUMBER']); $this->assertEquals($cases[0]->APP_NUMBER, $result[0]['APP_NUMBER']);
@@ -110,6 +111,7 @@ class SearchTest extends TestCase
* @covers \ProcessMaker\BusinessModel\Cases\Search::getData() * @covers \ProcessMaker\BusinessModel\Cases\Search::getData()
* @covers \ProcessMaker\BusinessModel\Cases\Search::getColumnsView() * @covers \ProcessMaker\BusinessModel\Cases\Search::getColumnsView()
* @covers \ProcessMaker\BusinessModel\Cases\Search::filters() * @covers \ProcessMaker\BusinessModel\Cases\Search::filters()
* @covers \ProcessMaker\BusinessModel\Cases\Search::setRangeCasesFromTo()
* @test * @test
*/ */
public function it_filter_by_range_cases() public function it_filter_by_range_cases()
@@ -120,8 +122,6 @@ class SearchTest extends TestCase
$search = new Search(); $search = new Search();
$rangeOfCases = $cases[0]->APP_NUMBER . "-" . $cases[0]->APP_NUMBER; $rangeOfCases = $cases[0]->APP_NUMBER . "-" . $cases[0]->APP_NUMBER;
$search->setRangeCasesFromTo([$rangeOfCases]); $search->setRangeCasesFromTo([$rangeOfCases]);
// Set order by column value
$search->setOrderByColumn('APP_NUMBER');
$result = $search->getData(); $result = $search->getData();
// This assert that the expected numbers of results are returned // This assert that the expected numbers of results are returned
$this->assertNotEmpty($result); $this->assertNotEmpty($result);
@@ -133,6 +133,7 @@ class SearchTest extends TestCase
* @covers \ProcessMaker\BusinessModel\Cases\Search::getData() * @covers \ProcessMaker\BusinessModel\Cases\Search::getData()
* @covers \ProcessMaker\BusinessModel\Cases\Search::getColumnsView() * @covers \ProcessMaker\BusinessModel\Cases\Search::getColumnsView()
* @covers \ProcessMaker\BusinessModel\Cases\Search::filters() * @covers \ProcessMaker\BusinessModel\Cases\Search::filters()
* @covers \ProcessMaker\BusinessModel\Cases\Search::setProcessId()
* @test * @test
*/ */
public function it_filter_by_process() public function it_filter_by_process()
@@ -142,8 +143,6 @@ class SearchTest extends TestCase
// Create new Search object // Create new Search object
$search = new Search(); $search = new Search();
$search->setProcessId($cases[0]->PRO_ID); $search->setProcessId($cases[0]->PRO_ID);
// Set order by column value
$search->setOrderByColumn('APP_NUMBER');
$result = $search->getData(); $result = $search->getData();
// This assert that the expected numbers of results are returned // This assert that the expected numbers of results are returned
$this->assertNotEmpty($result); $this->assertNotEmpty($result);
@@ -155,6 +154,7 @@ class SearchTest extends TestCase
* @covers \ProcessMaker\BusinessModel\Cases\Search::getData() * @covers \ProcessMaker\BusinessModel\Cases\Search::getData()
* @covers \ProcessMaker\BusinessModel\Cases\Search::getColumnsView() * @covers \ProcessMaker\BusinessModel\Cases\Search::getColumnsView()
* @covers \ProcessMaker\BusinessModel\Cases\Search::filters() * @covers \ProcessMaker\BusinessModel\Cases\Search::filters()
* @covers \ProcessMaker\BusinessModel\Cases\Search::setTaskId()
* @test * @test
*/ */
public function it_filter_by_task() public function it_filter_by_task()
@@ -164,8 +164,6 @@ class SearchTest extends TestCase
// Create new Search object // Create new Search object
$search = new Search(); $search = new Search();
$search->setTaskId($cases[0]->TAS_ID); $search->setTaskId($cases[0]->TAS_ID);
// Set order by column value
$search->setOrderByColumn('APP_NUMBER');
$result = $search->getData(); $result = $search->getData();
// This assert that the expected numbers of results are returned // This assert that the expected numbers of results are returned
$this->assertNotEmpty($result); $this->assertNotEmpty($result);
@@ -177,6 +175,7 @@ class SearchTest extends TestCase
* @covers \ProcessMaker\BusinessModel\Cases\Search::getData() * @covers \ProcessMaker\BusinessModel\Cases\Search::getData()
* @covers \ProcessMaker\BusinessModel\Cases\Search::getColumnsView() * @covers \ProcessMaker\BusinessModel\Cases\Search::getColumnsView()
* @covers \ProcessMaker\BusinessModel\Cases\Search::filters() * @covers \ProcessMaker\BusinessModel\Cases\Search::filters()
* @covers \ProcessMaker\BusinessModel\Cases\Search::setCaseTitle()
* @test * @test
*/ */
public function it_filter_by_thread_title() public function it_filter_by_thread_title()
@@ -202,6 +201,7 @@ class SearchTest extends TestCase
* @covers \ProcessMaker\BusinessModel\Cases\Search::getData() * @covers \ProcessMaker\BusinessModel\Cases\Search::getData()
* @covers \ProcessMaker\BusinessModel\Cases\Search::getColumnsView() * @covers \ProcessMaker\BusinessModel\Cases\Search::getColumnsView()
* @covers \ProcessMaker\BusinessModel\Cases\Search::filters() * @covers \ProcessMaker\BusinessModel\Cases\Search::filters()
* @covers \ProcessMaker\BusinessModel\Cases\Search::setUserId()
* @test * @test
*/ */
public function it_filter_by_user() public function it_filter_by_user()
@@ -211,19 +211,42 @@ class SearchTest extends TestCase
// Create new Search object // Create new Search object
$search = new Search(); $search = new Search();
$search->setUserId($cases[0]->USR_ID); $search->setUserId($cases[0]->USR_ID);
// Set order by column value
$search->setOrderByColumn('APP_NUMBER');
$result = $search->getData(); $result = $search->getData();
// This assert that the expected numbers of results are returned // This assert that the expected numbers of results are returned
$this->assertNotEmpty($result); $this->assertNotEmpty($result);
} }
/** /**
* It tests the getData with priority * It tests the getData with user
* *
* @covers \ProcessMaker\BusinessModel\Cases\Search::getData() * @covers \ProcessMaker\BusinessModel\Cases\Search::getData()
* @covers \ProcessMaker\BusinessModel\Cases\Search::getColumnsView() * @covers \ProcessMaker\BusinessModel\Cases\Search::getColumnsView()
* @covers \ProcessMaker\BusinessModel\Cases\Search::filters() * @covers \ProcessMaker\BusinessModel\Cases\Search::filters()
* @covers \ProcessMaker\BusinessModel\Cases\Search::setStartCaseFrom()
* @covers \ProcessMaker\BusinessModel\Cases\Search::setStartCaseTo()
* @test
*/
public function it_filter_by_start_date()
{
// Create factories related to the delegation cases
$cases = $this->createSearch();
// Create new Search object
$search = new Search();
$date = date('Y-m-d');
$search->setStartCaseFrom($date);
$search->setStartCaseTo($date);
$result = $search->getData();
// This assert that the expected numbers of results are returned
$this->assertEmpty($result);
}
/**
* It tests the getData with status
*
* @covers \ProcessMaker\BusinessModel\Cases\Search::getData()
* @covers \ProcessMaker\BusinessModel\Cases\Search::getColumnsView()
* @covers \ProcessMaker\BusinessModel\Cases\Search::filters()
* @covers \ProcessMaker\BusinessModel\Cases\Search::setCaseStatuses()
* @test * @test
*/ */
public function it_filter_by_status() public function it_filter_by_status()
@@ -233,8 +256,6 @@ class SearchTest extends TestCase
// Create new Search object // Create new Search object
$search = new Search(); $search = new Search();
$search->setCaseStatuses(['TO_DO']); $search->setCaseStatuses(['TO_DO']);
// Set order by column value
$search->setOrderByColumn('APP_NUMBER');
$result = $search->getData(); $result = $search->getData();
// This assert that the expected numbers of results are returned // This assert that the expected numbers of results are returned
$this->assertNotEmpty($result); $this->assertNotEmpty($result);
@@ -253,12 +274,9 @@ class SearchTest extends TestCase
$casesNotSubmitted = factory(Delegation::class, 5)->states('web_entry')->create(); $casesNotSubmitted = factory(Delegation::class, 5)->states('web_entry')->create();
// Create new Search object // Create new Search object
$search = new Search(); $search = new Search();
// Set order by column value
$search->setOrderByColumn('APP_NUMBER');
$result = $search->getData(); $result = $search->getData();
// Review if the cases not submitted are not considered // Review if the cases not submitted are not considered
$this->assertNotEmpty($result); $this->assertNotEmpty($result);
$this->assertEquals(count($result) , count($cases));
} }
/** /**
@@ -273,8 +291,6 @@ class SearchTest extends TestCase
$cases = $this->createSearch(); $cases = $this->createSearch();
// Create new Search object // Create new Search object
$search = new Search(); $search = new Search();
// Set order by column value
$search->setOrderByColumn('APP_NUMBER');
$total = $search->getCounter(); $total = $search->getCounter();
// The count for search was disabled for performance issues // The count for search was disabled for performance issues
$this->assertEquals($total, 0); $this->assertEquals($total, 0);
@@ -293,8 +309,6 @@ class SearchTest extends TestCase
$cases = $this->createSearch(); $cases = $this->createSearch();
// Create new Search object // Create new Search object
$search = new Search(); $search = new Search();
// Set order by column value
$search->setOrderByColumn('APP_NUMBER');
$total = $search->getPagingCounters(); $total = $search->getPagingCounters();
// The count for search was disabled for performance issues // The count for search was disabled for performance issues
$this->assertEquals($total, 0); $this->assertEquals($total, 0);

View File

@@ -7,7 +7,6 @@ use Illuminate\Support\Facades\DB;
use ProcessMaker\BusinessModel\Cases\Supervising; use ProcessMaker\BusinessModel\Cases\Supervising;
use ProcessMaker\Model\Application; use ProcessMaker\Model\Application;
use ProcessMaker\Model\Delegation; use ProcessMaker\Model\Delegation;
use ProcessMaker\Model\GroupUser;
use ProcessMaker\Model\Process; use ProcessMaker\Model\Process;
use ProcessMaker\Model\ProcessUser; use ProcessMaker\Model\ProcessUser;
use ProcessMaker\Model\Task; use ProcessMaker\Model\Task;
@@ -323,48 +322,54 @@ class SupervisingTest extends TestCase
* Tests the getData() method when the user is a supervisor of the process(es) * Tests the getData() method when the user is a supervisor of the process(es)
* *
* @covers \ProcessMaker\BusinessModel\Cases\Supervising::getData() * @covers \ProcessMaker\BusinessModel\Cases\Supervising::getData()
* @covers \ProcessMaker\BusinessModel\Cases\Supervising::setUserUid()
* @covers \ProcessMaker\BusinessModel\Cases\Supervising::setUserId()
* @test * @test
*/ */
public function it_should_test_the_get_data_method_when_the_user_is_supervisor() public function it_should_test_the_get_data_method_when_the_user_is_supervisor()
{ {
$cases = $this->createSupervising(); $cases = $this->createSupervising();
// Instance the Supervising class // Instance the Supervising class
$Supervising = new Supervising(); $supervising = new Supervising();
// Set the user UID // Set the user UID
$Supervising->setUserUid($cases->USR_UID); $supervising->setUserUid($cases->USR_UID);
// Set the user ID // Set the user
$Supervising->setUserId($cases->USR_ID); $supervising->setUserId($cases->USR_ID);
// Call the getData method // Get the data
$res = $Supervising->getData(); $result = $supervising->getData();
// Asserts the result contains 3 registers // Asserts the result contains 3 registers
$this->assertCount(3, $res); $this->assertCount(3, $result);
} }
/** /**
* Tests the getData() method when the user belongs to a group supervisor * Tests the getData() method when the user belongs to a group supervisor
* *
* @covers \ProcessMaker\BusinessModel\Cases\Supervising::getData() * @covers \ProcessMaker\BusinessModel\Cases\Supervising::getData()
* @covers \ProcessMaker\BusinessModel\Cases\Supervising::setUserUid()
* @covers \ProcessMaker\BusinessModel\Cases\Supervising::setUserId()
* @test * @test
*/ */
public function it_should_test_the_get_data_method_when_the_user_belong_to_a_group_supervisor() public function it_should_test_the_get_data_method_when_the_user_belong_to_a_group_supervisor()
{ {
$cases = $this->createSupervising(); $cases = $this->createSupervising();
// Instance the Supervising object // Instance the Supervising object
$Supervising = new Supervising(); $supervising = new Supervising();
// Set the user UID // Set the user UID
$Supervising->setUserUid($cases->USR_UID); $supervising->setUserUid($cases->USR_UID);
// Set the user ID // Set the user ID
$Supervising->setUserId($cases->USR_ID); $supervising->setUserId($cases->USR_ID);
// Call the getData method // Get the data
$res = $Supervising->getData(); $result = $supervising->getData();
// Asserts the result contains 3 registers // Asserts the result contains 3 registers
$this->assertCount(3, $res); $this->assertCount(3, $result);
} }
/** /**
* Tests the getData() method when the user is not a supervisor neither belongs to a group supervisor * Tests the getData() method when the user is not a supervisor neither belongs to a group supervisor
* *
* @covers \ProcessMaker\BusinessModel\Cases\Supervising::getData() * @covers \ProcessMaker\BusinessModel\Cases\Supervising::getData()
* @covers \ProcessMaker\BusinessModel\Cases\Supervising::setUserUid()
* @covers \ProcessMaker\BusinessModel\Cases\Supervising::setUserId()
* @test * @test
*/ */
public function it_should_test_the_get_data_method_when_the_user_is_not_supervisor() public function it_should_test_the_get_data_method_when_the_user_is_not_supervisor()
@@ -372,44 +377,25 @@ class SupervisingTest extends TestCase
$user = factory(User::class)->create(); $user = factory(User::class)->create();
$cases = $this->createSupervising(); $cases = $this->createSupervising();
// Instance the Supervising object // Instance the Supervising object
$Supervising = new Supervising(); $supervising = new Supervising();
// Set the user UID // Set the user UID
$Supervising->setUserUid($user->USR_UID); $supervising->setUserUid($user->USR_UID);
// Set the user ID // Set the user
$Supervising->setUserId($user->USR_ID); $supervising->setUserId($user->USR_ID);
// Call the getData method // Get the data
$res = $Supervising->getData(); $result = $supervising->getData();
// Asserts the result // Asserts the result
$this->assertEmpty($res); $this->assertEmpty($result);
} }
/** /**
* Tests the getCounter() method * Tests the specific filter setCaseNumber
*
* @covers \ProcessMaker\BusinessModel\Cases\Supervising::getCounter()
* @test
*/
public function it_should_count_the_data()
{
$cases = $this->createSupervising();
// Instance the Supervising object
$Supervising = new Supervising();
// Set the user UID
$Supervising->setUserUid($cases->USR_UID);
// Set the user ID
$Supervising->setUserId($cases->USR_ID);
// Call the getCounter method
$res = $Supervising->getCounter();
// Assert the counter
$this->assertEquals(3, $res);
}
/**
* Tests the filter by APP_NUMBER
* *
* @covers \ProcessMaker\BusinessModel\Cases\Supervising::getData() * @covers \ProcessMaker\BusinessModel\Cases\Supervising::getData()
* @covers \ProcessMaker\BusinessModel\Cases\Supervising::getColumnsView() * @covers \ProcessMaker\BusinessModel\Cases\Supervising::getColumnsView()
* @covers \ProcessMaker\BusinessModel\Cases\Supervising::filters() * @covers \ProcessMaker\BusinessModel\Cases\Supervising::filters()
* @covers \ProcessMaker\BusinessModel\Cases\Supervising::setUserUid()
* @covers \ProcessMaker\BusinessModel\Cases\Supervising::setUserId()
* @covers \ProcessMaker\BusinessModel\Cases\Supervising::setCaseNumber() * @covers \ProcessMaker\BusinessModel\Cases\Supervising::setCaseNumber()
* @test * @test
*/ */
@@ -417,55 +403,59 @@ class SupervisingTest extends TestCase
{ {
$cases = $this->createSupervising(); $cases = $this->createSupervising();
// Instance the Supervising object // Instance the Supervising object
$Supervising = new Supervising(); $supervising = new Supervising();
// Set the user UID // Set the user UID
$Supervising->setUserUid($cases->USR_UID); $supervising->setUserUid($cases->USR_UID);
// Set the user ID // Set the user
$Supervising->setUserId($cases->USR_ID); $supervising->setUserId($cases->USR_ID);
// Set the case number // Set the case number
$Supervising->setCaseNumber($cases->APP_NUMBER); $supervising->setCaseNumber($cases->APP_NUMBER);
// Call the getData method // Get the data
$res = $Supervising->getData(); $result = $supervising->getData();
// Asserts the result contains 3 registers // Asserts the result contains 3 registers
$this->assertCount(1, $res); $this->assertCount(1, $result);
// Asserts that the result contains the app number searched // Asserts that the result contains the app number searched
$this->assertContains($cases->APP_NUMBER, $res[0]); $this->assertContains($cases->APP_NUMBER, $result[0]);
} }
/** /**
* Tests the filter by APP_NUMBER * Tests the specific filter setCasesNumbers
* *
* @covers \ProcessMaker\BusinessModel\Cases\Supervising::getData() * @covers \ProcessMaker\BusinessModel\Cases\Supervising::getData()
* @covers \ProcessMaker\BusinessModel\Cases\Supervising::getColumnsView() * @covers \ProcessMaker\BusinessModel\Cases\Supervising::getColumnsView()
* @covers \ProcessMaker\BusinessModel\Cases\Supervising::filters() * @covers \ProcessMaker\BusinessModel\Cases\Supervising::filters()
* @covers \ProcessMaker\BusinessModel\Cases\Supervising::setCaseNumber() * @covers \ProcessMaker\BusinessModel\Cases\Supervising::setUserUid()
* @covers \ProcessMaker\BusinessModel\Cases\Supervising::setUserId()
* @covers \ProcessMaker\BusinessModel\Cases\Supervising::setCasesNumbers()
* @test * @test
*/ */
public function it_filter_by_specific_cases() public function it_filter_by_specific_cases()
{ {
$cases = $this->createSupervising(); $cases = $this->createSupervising();
// Instance the Supervising object // Instance the Supervising object
$Supervising = new Supervising(); $supervising = new Supervising();
// Set the user UID // Set the user UID
$Supervising->setUserUid($cases->USR_UID); $supervising->setUserUid($cases->USR_UID);
// Set the user ID // Set the user
$Supervising->setUserId($cases->USR_ID); $supervising->setUserId($cases->USR_ID);
// Set the case numbers // Set the case numbers
$Supervising->setCasesNumbers([$cases->APP_NUMBER]); $supervising->setCasesNumbers([$cases->APP_NUMBER]);
// Call the getData method // Get the data
$res = $Supervising->getData(); $result = $supervising->getData();
// Asserts the result contains 3 registers // Asserts the result contains 3 registers
$this->assertCount(1, $res); $this->assertCount(1, $result);
// Asserts that the result contains the app number searched // Asserts that the result contains the app number searched
$this->assertContains($cases->APP_NUMBER, $res[0]); $this->assertContains($cases->APP_NUMBER, $result[0]);
} }
/** /**
* Tests the filter by APP_NUMBER * Tests the specific filter setRangeCasesFromTo
* *
* @covers \ProcessMaker\BusinessModel\Cases\Supervising::getData() * @covers \ProcessMaker\BusinessModel\Cases\Supervising::getData()
* @covers \ProcessMaker\BusinessModel\Cases\Supervising::getColumnsView() * @covers \ProcessMaker\BusinessModel\Cases\Supervising::getColumnsView()
* @covers \ProcessMaker\BusinessModel\Cases\Supervising::filters() * @covers \ProcessMaker\BusinessModel\Cases\Supervising::filters()
* @covers \ProcessMaker\BusinessModel\Cases\Supervising::setUserUid()
* @covers \ProcessMaker\BusinessModel\Cases\Supervising::setUserId()
* @covers \ProcessMaker\BusinessModel\Cases\Supervising::setRangeCasesFromTo() * @covers \ProcessMaker\BusinessModel\Cases\Supervising::setRangeCasesFromTo()
* @test * @test
*/ */
@@ -473,78 +463,30 @@ class SupervisingTest extends TestCase
{ {
$cases = $this->createSupervising(); $cases = $this->createSupervising();
// Instance the Supervising object // Instance the Supervising object
$Supervising = new Supervising(); $supervising = new Supervising();
// Set the user UID // Set the user UID
$Supervising->setUserUid($cases->USR_UID); $supervising->setUserUid($cases->USR_UID);
// Set the user ID // Set the user ID
$Supervising->setUserId($cases->USR_ID); $supervising->setUserId($cases->USR_ID);
// Set the range of case numbers // Set the range of case numbers
$rangeOfCases = $cases->APP_NUMBER . "-" . $cases->APP_NUMBER; $rangeOfCases = $cases->APP_NUMBER . "-" . $cases->APP_NUMBER;
$Supervising->setRangeCasesFromTo([$rangeOfCases]); $supervising->setRangeCasesFromTo([$rangeOfCases]);
// Call the getData method // Get the data
$res = $Supervising->getData(); $result = $supervising->getData();
// Asserts the result contains 3 registers // Asserts the result contains 3 registers
$this->assertCount(1, $res); $this->assertCount(1, $result);
// Asserts that the result contains the app number searched // Asserts that the result contains the app number searched
$this->assertContains($cases->APP_NUMBER, $res[0]); $this->assertContains($cases->APP_NUMBER, $result[0]);
} }
/** /**
* Tests the filter by process * Tests the specific filter caseTitle
*
* @covers \ProcessMaker\BusinessModel\Cases\Supervising::getData()
* @covers \ProcessMaker\BusinessModel\Cases\Supervising::getColumnsView()
* @covers \ProcessMaker\BusinessModel\Cases\Supervising::filters()
* @covers \ProcessMaker\BusinessModel\Cases\Supervising::setProcessId()
* @test
*/
public function it_filter_by_process()
{
$cases = $this->createSupervising();
// Instance the Supervising object
$Supervising = new Supervising();
// Set the user UID
$Supervising->setUserUid($cases['USR_UID']);
// Set the user ID
$Supervising->setUserId($cases['USR_ID']);
// Set the process Id filter
$Supervising->setProcessId($cases['PRO_ID']);
// Call the getData method
$res = $Supervising->getData();
$this->assertCount(3, $res);
}
/**
* Tests the filter by process
*
* @covers \ProcessMaker\BusinessModel\Cases\Supervising::getData()
* @covers \ProcessMaker\BusinessModel\Cases\Supervising::getColumnsView()
* @covers \ProcessMaker\BusinessModel\Cases\Supervising::filters()
* @covers \ProcessMaker\BusinessModel\Cases\Supervising::setTaskId()
* @test
*/
public function it_filter_by_task()
{
$cases = $this->createSupervising();
// Instance the Supervising object
$Supervising = new Supervising();
// Set the user UID
$Supervising->setUserUid($cases['USR_UID']);
// Set the user ID
$Supervising->setUserId($cases['USR_ID']);
// Set the process Id filter
$Supervising->setTaskId($cases['TAS_ID']);
// Call the getData method
$res = $Supervising->getData();
$this->assertCount(3, $res);
}
/**
* It tests the getData method with case title filter
* *
* @covers \ProcessMaker\BusinessModel\Cases\Supervising::getData() * @covers \ProcessMaker\BusinessModel\Cases\Supervising::getData()
* @covers \ProcessMaker\BusinessModel\Cases\Supervising::getColumnsView() * @covers \ProcessMaker\BusinessModel\Cases\Supervising::getColumnsView()
* @covers \ProcessMaker\BusinessModel\Cases\Supervising::filters() * @covers \ProcessMaker\BusinessModel\Cases\Supervising::filters()
* @covers \ProcessMaker\BusinessModel\Cases\Supervising::setUserUid()
* @covers \ProcessMaker\BusinessModel\Cases\Supervising::setUserId()
* @covers \ProcessMaker\BusinessModel\Cases\Supervising::setCaseTitle() * @covers \ProcessMaker\BusinessModel\Cases\Supervising::setCaseTitle()
* @test * @test
*/ */
@@ -566,9 +508,152 @@ class SupervisingTest extends TestCase
// Set the title // Set the title
$supervising->setCaseTitle($title); $supervising->setCaseTitle($title);
// Get the data // Get the data
$res = $supervising->getData(); $result = $supervising->getData();
// Asserts // Asserts
$this->assertCount(1, $res); $this->assertCount(1, $result);
}
/**
* Tests the specific filter process
*
* @covers \ProcessMaker\BusinessModel\Cases\Supervising::getData()
* @covers \ProcessMaker\BusinessModel\Cases\Supervising::getColumnsView()
* @covers \ProcessMaker\BusinessModel\Cases\Supervising::filters()
* @covers \ProcessMaker\BusinessModel\Cases\Supervising::setUserUid()
* @covers \ProcessMaker\BusinessModel\Cases\Supervising::setUserId()
* @covers \ProcessMaker\BusinessModel\Cases\Supervising::setProcessId()
* @test
*/
public function it_filter_by_process()
{
$cases = $this->createSupervising();
// Instance the Supervising object
$supervising = new Supervising();
// Set the user UID
$supervising->setUserUid($cases['USR_UID']);
// Set the user ID
$supervising->setUserId($cases['USR_ID']);
// Set the process
$supervising->setProcessId($cases['PRO_ID']);
// Get the data
$result = $supervising->getData();
$this->assertCount(3, $result);
}
/**
* Tests the specific filter task
*
* @covers \ProcessMaker\BusinessModel\Cases\Supervising::getData()
* @covers \ProcessMaker\BusinessModel\Cases\Supervising::getColumnsView()
* @covers \ProcessMaker\BusinessModel\Cases\Supervising::filters()
* @covers \ProcessMaker\BusinessModel\Cases\Supervising::setUserUid()
* @covers \ProcessMaker\BusinessModel\Cases\Supervising::setUserId()
* @covers \ProcessMaker\BusinessModel\Cases\Supervising::setTaskId()
* @test
*/
public function it_filter_by_task()
{
$cases = $this->createSupervising();
// Instance the Supervising object
$supervising = new Supervising();
// Set the user UID
$supervising->setUserUid($cases['USR_UID']);
// Set the user ID
$supervising->setUserId($cases['USR_ID']);
// Set the task
$supervising->setTaskId($cases['TAS_ID']);
// Get the data
$result = $supervising->getData();
$this->assertCount(3, $result);
}
/**
* Tests the specific filter status
*
* @covers \ProcessMaker\BusinessModel\Cases\Supervising::getData()
* @covers \ProcessMaker\BusinessModel\Cases\Supervising::getColumnsView()
* @covers \ProcessMaker\BusinessModel\Cases\Supervising::filters()
* @covers \ProcessMaker\BusinessModel\Cases\Supervising::setUserUid()
* @covers \ProcessMaker\BusinessModel\Cases\Supervising::setUserId()
* @covers \ProcessMaker\BusinessModel\Cases\Supervising::setCaseStatus()
* @test
*/
public function it_filter_by_status()
{
$cases = $this->createSupervising();
// Instance the Supervising object
$supervising = new Supervising();
// Set the user UID
$supervising->setUserUid($cases['USR_UID']);
// Set the user ID
$supervising->setUserId($cases['USR_ID']);
// Set the task
$supervising->setCaseStatus('TO_DO');
// Get the data
$result = $supervising->getData();
$this->assertNotEmpty($result);
}
/**
* It tests the getData the specific filter setStartCaseFrom and getStartCaseTo
*
* @covers \ProcessMaker\BusinessModel\Cases\Supervising::getData()
* @covers \ProcessMaker\BusinessModel\Cases\Supervising::getColumnsView()
* @covers \ProcessMaker\BusinessModel\Cases\Supervising::filters()
* @covers \ProcessMaker\BusinessModel\Cases\Supervising::setUserUid()
* @covers \ProcessMaker\BusinessModel\Cases\Supervising::setUserId()
* @covers \ProcessMaker\BusinessModel\Cases\Supervising::setStartCaseFrom()
* @covers \ProcessMaker\BusinessModel\Cases\Supervising::setStartCaseTo()
* @test
*/
public function it_filter_by_start_date()
{
$cases = $this->createSupervising();
// Instance the Supervising object
$supervising = new Supervising();
// Set the user UID
$supervising->setUserUid($cases['USR_UID']);
// Set the user ID
$supervising->setUserId($cases['USR_ID']);
// Set the range of dates
$date = date('Y-m-d');
$supervising->setStartCaseFrom($date);
$supervising->setStartCaseTo($date);
// Get the data
$result = $supervising->getData();
// This assert that the expected numbers of results are returned
$this->assertEmpty($result);
}
/**
* It tests the getData the specific filter setFinishCaseFrom and setFinishCaseTo
*
* @covers \ProcessMaker\BusinessModel\Cases\Supervising::getData()
* @covers \ProcessMaker\BusinessModel\Cases\Supervising::getColumnsView()
* @covers \ProcessMaker\BusinessModel\Cases\Supervising::filters()
* @covers \ProcessMaker\BusinessModel\Cases\Supervising::setUserUid()
* @covers \ProcessMaker\BusinessModel\Cases\Supervising::setUserId()
* @covers \ProcessMaker\BusinessModel\Cases\Supervising::setFinishCaseFrom()
* @covers \ProcessMaker\BusinessModel\Cases\Supervising::setFinishCaseTo()
* @test
*/
public function it_filter_by_finish_date()
{
$cases = $this->createSupervising();
// Instance the Supervising object
$supervising = new Supervising();
// Set the user UID
$supervising->setUserUid($cases['USR_UID']);
// Set the user ID
$supervising->setUserId($cases['USR_ID']);
// Set the range of dates
$date = date('Y-m-d');
$supervising->setFinishCaseFrom($date);
$supervising->setFinishCaseTo($date);
// Get the data
$result = $supervising->getData();
// This assert that the expected numbers of results are returned
$this->assertEmpty($result);
} }
/** /**
@@ -578,6 +663,8 @@ class SupervisingTest extends TestCase
* @covers \ProcessMaker\BusinessModel\Cases\Supervising::getColumnsView() * @covers \ProcessMaker\BusinessModel\Cases\Supervising::getColumnsView()
* @covers \ProcessMaker\BusinessModel\Cases\Supervising::filters() * @covers \ProcessMaker\BusinessModel\Cases\Supervising::filters()
* @covers \ProcessMaker\BusinessModel\Cases\Supervising::setOrderByColumn() * @covers \ProcessMaker\BusinessModel\Cases\Supervising::setOrderByColumn()
* @covers \ProcessMaker\BusinessModel\Cases\Supervising::setUserUid()
* @covers \ProcessMaker\BusinessModel\Cases\Supervising::setUserId()
* @test * @test
*/ */
public function it_order_by_column() public function it_order_by_column()
@@ -594,18 +681,41 @@ class SupervisingTest extends TestCase
]; ];
$index = array_rand($columnsView); $index = array_rand($columnsView);
// Instance the Supervising object // Instance the Supervising object
$Supervising = new Supervising(); $supervising = new Supervising();
//Set the user UID // Set the user UID
$Supervising->setUserUid($cases['USR_UID']); $supervising->setUserUid($cases['USR_UID']);
//Set the user ID // Set the user ID
$Supervising->setUserId($cases['USR_ID']); $supervising->setUserId($cases['USR_ID']);
//Set the order by value // Set the order by value
$Supervising->setOrderByColumn($columnsView[$index]); $supervising->setOrderByColumn($columnsView[$index]);
//Call the getData method // Get the data
$result = $Supervising->getData(); $result = $supervising->getData();
$this->assertNotEmpty($result); $this->assertNotEmpty($result);
} }
/**
* Tests the getCounter() method
*
* @covers \ProcessMaker\BusinessModel\Cases\Supervising::getCounter()
* @covers \ProcessMaker\BusinessModel\Cases\Supervising::setUserUid()
* @covers \ProcessMaker\BusinessModel\Cases\Supervising::setUserId()
* @test
*/
public function it_should_count_the_data()
{
$cases = $this->createSupervising();
// Instance the Supervising object
$supervising = new Supervising();
// Set the user UID
$supervising->setUserUid($cases->USR_UID);
// Set the user
$supervising->setUserId($cases->USR_ID);
// Get the data
$result = $supervising->getCounter();
// Assert the counter
$this->assertEquals(3, $result);
}
/** /**
* It tests the getPagingCounters() method * It tests the getPagingCounters() method
* *
@@ -618,8 +728,8 @@ class SupervisingTest extends TestCase
$supervising = new Supervising(); $supervising = new Supervising();
$supervising->setUserId($cases->USR_ID); $supervising->setUserId($cases->USR_ID);
$supervising->setUserUid($cases->USR_UID); $supervising->setUserUid($cases->USR_UID);
// Get the count
$res = $supervising->getPagingCounters(); $result = $supervising->getPagingCounters();
$this->assertEquals(3, $res); $this->assertEquals(3, $result);
} }
} }

View File

@@ -364,8 +364,8 @@ class TaskTest extends TestCase
public function it_should_test_fillReportByUser_method($asynchronous) public function it_should_test_fillReportByUser_method($asynchronous)
{ {
$task = new Task($asynchronous, ''); $task = new Task($asynchronous, '');
$dateInit = $this->faker->dateTime; $dateInit = $this->faker->dateTime->format("Y-m-d H:i:s");
$dateFinish = $this->faker->dateTime; $dateFinish = $this->faker->dateTime->format("Y-m-d H:i:s");
//assert synchronous for cron file //assert synchronous for cron file
if ($asynchronous === false) { if ($asynchronous === false) {
@@ -394,8 +394,8 @@ class TaskTest extends TestCase
public function it_should_test_fillReportByProcess_method($asynchronous) public function it_should_test_fillReportByProcess_method($asynchronous)
{ {
$task = new Task($asynchronous, ''); $task = new Task($asynchronous, '');
$dateInit = $this->faker->dateTime; $dateInit = $this->faker->dateTime->format("Y-m-d H:i:s");
$dateFinish = $this->faker->dateTime; $dateFinish = $this->faker->dateTime->format("Y-m-d H:i:s");
//assert synchronous for cron file //assert synchronous for cron file
if ($asynchronous === false) { if ($asynchronous === false) {

View File

@@ -3065,12 +3065,30 @@ msgstr "By Case #"
msgid "By Case Title" msgid "By Case Title"
msgstr "By Case Title" msgstr "By Case Title"
# TRANSLATION
# LABEL/ID_BY_CURRENT_USER
#: LABEL/ID_BY_CURRENT_USER
msgid "By Current User"
msgstr "By Current User"
# TRANSLATION # TRANSLATION
# LABEL/ID_BY_FINISH_DATE # LABEL/ID_BY_FINISH_DATE
#: LABEL/ID_BY_FINISH_DATE #: LABEL/ID_BY_FINISH_DATE
msgid "By Finish Date" msgid "By Finish Date"
msgstr "By Finish Date" msgstr "By Finish Date"
# TRANSLATION
# LABEL/ID_BY_PARTICIPATION
#: LABEL/ID_BY_PARTICIPATION
msgid "By Participation"
msgstr "By Participation"
# TRANSLATION
# LABEL/ID_BY_PROCESS_CATEGORY
#: LABEL/ID_BY_PROCESS_CATEGORY
msgid "By Process Category"
msgstr "By Process Category"
# TRANSLATION # TRANSLATION
# LABEL/ID_BY_PROCESS_NAME # LABEL/ID_BY_PROCESS_NAME
#: LABEL/ID_BY_PROCESS_NAME #: LABEL/ID_BY_PROCESS_NAME
@@ -4415,6 +4433,12 @@ msgstr "Check All"
msgid "Please check the fields marked in red." msgid "Please check the fields marked in red."
msgstr "Please check the fields marked in red." msgstr "Please check the fields marked in red."
# TRANSLATION
# LABEL/ID_CHECK_ONE_OPTION_ENABLE_SEARCH
#: LABEL/ID_CHECK_ONE_OPTION_ENABLE_SEARCH
msgid "Please check one option to be enabled for search."
msgstr "Please check one option to be enabled for search."
# TRANSLATION # TRANSLATION
# LABEL/ID_CHECK_PORT # LABEL/ID_CHECK_PORT
#: LABEL/ID_CHECK_PORT #: LABEL/ID_CHECK_PORT
@@ -4619,6 +4643,12 @@ msgstr "Comments"
msgid "[LABEL/ID_COMPLETED] Completed" msgid "[LABEL/ID_COMPLETED] Completed"
msgstr "Completed" msgstr "Completed"
# TRANSLATION
# LABEL/ID_COMPLETED_BY
#: LABEL/ID_COMPLETED_BY
msgid "Completed By:"
msgstr "Completed By:"
# TRANSLATION # TRANSLATION
# LABEL/ID_COMPLETED_BY_USER # LABEL/ID_COMPLETED_BY_USER
#: LABEL/ID_COMPLETED_BY_USER #: LABEL/ID_COMPLETED_BY_USER
@@ -24197,12 +24227,30 @@ msgstr "Search by Case #:"
msgid "Search by Case Title:" msgid "Search by Case Title:"
msgstr "Search by Case Title:" msgstr "Search by Case Title:"
# TRANSLATION
# LABEL/ID_SEARCH_BY_CURRENT_USER
#: LABEL/ID_SEARCH_BY_CURRENT_USER
msgid "Search by Current User:"
msgstr "Search by Current User:"
# TRANSLATION # TRANSLATION
# LABEL/ID_SEARCH_BY_FINISH_DATE # LABEL/ID_SEARCH_BY_FINISH_DATE
#: LABEL/ID_SEARCH_BY_FINISH_DATE #: LABEL/ID_SEARCH_BY_FINISH_DATE
msgid "Search by Finish Date:" msgid "Search by Finish Date:"
msgstr "Search by Finish Date:" msgstr "Search by Finish Date:"
# TRANSLATION
# LABEL/ID_SEARCH_BY_PARTICIPATION
#: LABEL/ID_SEARCH_BY_PARTICIPATION
msgid "Search by Participation:"
msgstr "Search by Participation:"
# TRANSLATION
# LABEL/ID_SEARCH_BY_PROCESS_CATEGORY
#: LABEL/ID_SEARCH_BY_PROCESS_CATEGORY
msgid "Search by Process Category:"
msgstr "Search by Process Category:"
# TRANSLATION # TRANSLATION
# LABEL/ID_SEARCH_BY_PROCESS_NAME # LABEL/ID_SEARCH_BY_PROCESS_NAME
#: LABEL/ID_SEARCH_BY_PROCESS_NAME #: LABEL/ID_SEARCH_BY_PROCESS_NAME
@@ -25247,6 +25295,12 @@ msgstr "Stages"
msgid "Log Files" msgid "Log Files"
msgstr "Log Files" msgstr "Log Files"
# TRANSLATION
# LABEL/ID_STARTED_BY
#: LABEL/ID_STARTED_BY
msgid "Started By:"
msgstr "Started By:"
# TRANSLATION # TRANSLATION
# LABEL/ID_STARTED_CASES # LABEL/ID_STARTED_CASES
#: LABEL/ID_STARTED_CASES #: LABEL/ID_STARTED_CASES

View File

@@ -57318,8 +57318,11 @@ INSERT INTO TRANSLATION (TRN_CATEGORY,TRN_ID,TRN_LANG,TRN_VALUE,TRN_UPDATE_DATE
( 'LABEL','ID_BUY_NOW','en','Buy now','2014-09-18') , ( 'LABEL','ID_BUY_NOW','en','Buy now','2014-09-18') ,
( 'LABEL','ID_BY_CASE_NUMBER','en','By Case #','2020-12-16') , ( 'LABEL','ID_BY_CASE_NUMBER','en','By Case #','2020-12-16') ,
( 'LABEL','ID_BY_CASE_TITLE','en','By Case Title','2020-12-16') , ( 'LABEL','ID_BY_CASE_TITLE','en','By Case Title','2020-12-16') ,
( 'LABEL','ID_BY_CURRENT_USER','en','By Current User','2021-07-13') ,
( 'LABEL','ID_BY_FINISH_DATE','en','By Finish Date','2020-12-16') , ( 'LABEL','ID_BY_FINISH_DATE','en','By Finish Date','2020-12-16') ,
( 'LABEL','ID_BY_PROCESS_NAME','en','Process Name','2020-12-16') , ( '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_TASK','en','By Task','2020-12-16') ,
( 'LABEL','ID_BY_ROLE','en','By Role','2020-12-15') , ( 'LABEL','ID_BY_ROLE','en','By Role','2020-12-15') ,
( 'LABEL','ID_BY_STATUS','en','By Status','2020-12-16') , ( 'LABEL','ID_BY_STATUS','en','By Status','2020-12-16') ,
@@ -57547,6 +57550,7 @@ INSERT INTO TRANSLATION (TRN_CATEGORY,TRN_ID,TRN_LANG,TRN_VALUE,TRN_UPDATE_DATE
( 'LABEL','ID_CHECK_AGAIN','en','Check again','2014-01-15') , ( 'LABEL','ID_CHECK_AGAIN','en','Check again','2014-01-15') ,
( 'LABEL','ID_CHECK_ALL','en','Check All','2014-01-15') , ( 'LABEL','ID_CHECK_ALL','en','Check All','2014-01-15') ,
( 'LABEL','ID_CHECK_FIELDS_MARK_RED','en','Please check the fields marked in red.','2014-10-06') , ( 'LABEL','ID_CHECK_FIELDS_MARK_RED','en','Please check the fields marked in red.','2014-10-06') ,
( 'LABEL','ID_CHECK_ONE_OPTION_ENABLE_SEARCH','en','Please check one option to be enabled for search.','2021-07-13') ,
( 'LABEL','ID_CHECK_PORT','en','Checking port','2014-01-15') , ( 'LABEL','ID_CHECK_PORT','en','Checking port','2014-01-15') ,
( 'LABEL','ID_CHECK_PORT_FAILED','en','Error Testing Connection: Checking port failed','2015-09-18') , ( 'LABEL','ID_CHECK_PORT_FAILED','en','Error Testing Connection: Checking port failed','2015-09-18') ,
( 'LABEL','ID_CHECK_UPDATES','en','Check for updates (you need to be connected to the Internet)','2017-02-21') , ( 'LABEL','ID_CHECK_UPDATES','en','Check for updates (you need to be connected to the Internet)','2017-02-21') ,
@@ -57588,6 +57592,7 @@ INSERT INTO TRANSLATION (TRN_CATEGORY,TRN_ID,TRN_LANG,TRN_VALUE,TRN_UPDATE_DATE
( 'LABEL','ID_COMMAND_EXECUTED_SUCCESSFULY','en','command executed successfully','2014-10-21') , ( 'LABEL','ID_COMMAND_EXECUTED_SUCCESSFULY','en','command executed successfully','2014-10-21') ,
( 'LABEL','ID_COMMENTS','en','Comments','2014-01-15') , ( 'LABEL','ID_COMMENTS','en','Comments','2014-01-15') ,
( 'LABEL','ID_COMPLETED','en','Completed','2014-01-15') , ( 'LABEL','ID_COMPLETED','en','Completed','2014-01-15') ,
( 'LABEL','ID_COMPLETED_BY','en','Completed By:','2021-07-13') ,
( 'LABEL','ID_COMPLETED_BY_USER','en','Completed By User','2014-01-15') , ( 'LABEL','ID_COMPLETED_BY_USER','en','Completed By User','2014-01-15') ,
( 'LABEL','ID_COMPLETED_CASES','en','Completed Cases','2015-03-09') , ( 'LABEL','ID_COMPLETED_CASES','en','Completed Cases','2015-03-09') ,
( 'LABEL','ID_COMPLETED_TASK','en','Completed Task','2014-01-15') , ( 'LABEL','ID_COMPLETED_TASK','en','Completed Task','2014-01-15') ,
@@ -60945,7 +60950,10 @@ INSERT INTO TRANSLATION (TRN_CATEGORY,TRN_ID,TRN_LANG,TRN_VALUE,TRN_UPDATE_DATE
( 'LABEL','ID_SEARCH_ALSO_APP_UID','en','Search also in the APP_UID field','2014-10-30') , ( 'LABEL','ID_SEARCH_ALSO_APP_UID','en','Search also in the APP_UID field','2014-10-30') ,
( 'LABEL','ID_SEARCH_BY_CASE_NUMBER','en','Search by Case #:','2020-12-16') , ( 'LABEL','ID_SEARCH_BY_CASE_NUMBER','en','Search by Case #:','2020-12-16') ,
( 'LABEL','ID_SEARCH_BY_CASE_TITLE','en','Search by Case Title:','2020-12-16') , ( 'LABEL','ID_SEARCH_BY_CASE_TITLE','en','Search by Case Title:','2020-12-16') ,
( 'LABEL','ID_SEARCH_BY_CURRENT_USER','en','Search by Current User:','2021-07-13')
( 'LABEL','ID_SEARCH_BY_FINISH_DATE','en','Search by Finish Date:','2020-12-16') , ( 'LABEL','ID_SEARCH_BY_FINISH_DATE','en','Search by Finish Date:','2020-12-16') ,
( '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_PROCESS_NAME','en','Search by Process Name:','2020-12-16') ,
( 'LABEL','ID_SEARCH_BY_START_DATE','en','Search by Start Date:','2020-12-16') , ( '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') , ( 'LABEL','ID_SEARCH_BY_STATUS','en','Search by Status:','2020-12-22') ,
@@ -61125,6 +61133,7 @@ INSERT INTO TRANSLATION (TRN_CATEGORY,TRN_ID,TRN_LANG,TRN_VALUE,TRN_UPDATE_DATE
( 'LABEL','ID_STAGE','en','Stage','2014-01-15') , ( 'LABEL','ID_STAGE','en','Stage','2014-01-15') ,
( 'LABEL','ID_STAGES','en','Stages','2014-01-15') , ( 'LABEL','ID_STAGES','en','Stages','2014-01-15') ,
( 'LABEL','ID_STANDARD_LOGGING','en','Log Files','2018-02-19') , ( 'LABEL','ID_STANDARD_LOGGING','en','Log Files','2018-02-19') ,
( 'LABEL','ID_STARTED_BY','en','Started By:','2021-07-13') ,
( 'LABEL','ID_STARTED_CASES','en','My Started Cases','2014-01-15') , ( 'LABEL','ID_STARTED_CASES','en','My Started Cases','2014-01-15') ,
( 'LABEL','ID_STARTED_SUCCESSFULLY','en','Started successfully','2014-01-15') , ( 'LABEL','ID_STARTED_SUCCESSFULLY','en','Started successfully','2014-01-15') ,
( 'LABEL','ID_STARTING_LOG_FILE','en','Starting log file','2014-01-15') , ( 'LABEL','ID_STARTING_LOG_FILE','en','Starting log file','2014-01-15') ,

View File

@@ -37,6 +37,9 @@ class AbstractCases implements CasesInterface
// Order by column allowed // Order by column allowed
const ORDER_BY_COLUMN_ALLOWED = ['APP_NUMBER', 'DEL_TITLE', 'PRO_TITLE']; const ORDER_BY_COLUMN_ALLOWED = ['APP_NUMBER', 'DEL_TITLE', 'PRO_TITLE'];
// Filter by category using the Id field
private $categoryId = 0;
// Filter by category from a process, know as "$category" in the old lists classes // Filter by category from a process, know as "$category" in the old lists classes
private $categoryUid = ''; private $categoryUid = '';
@@ -139,6 +142,26 @@ class AbstractCases implements CasesInterface
// Number of rows to return // Number of rows to return
private $limit = 15; private $limit = 15;
/**
* Set Category Uid value
*
* @param int $category
*/
public function setCategoryId(int $category)
{
$this->categoryId = $category;
}
/**
* Get Category Id value
*
* @return string
*/
public function getCategoryId()
{
return $this->categoryId;
}
/** /**
* Set Category Uid value * Set Category Uid value
* *
@@ -1247,10 +1270,6 @@ class AbstractCases implements CasesInterface
*/ */
public function setProperties(array $properties) public function setProperties(array $properties)
{ {
// Filter by category
if (!empty($properties['category'])) {
$this->setCategoryUid($properties['category']);
}
// Filter by process // Filter by process
if (!empty($properties['process'])) { if (!empty($properties['process'])) {
$this->setProcessId($properties['process']); $this->setProcessId($properties['process']);
@@ -1329,6 +1348,10 @@ class AbstractCases implements CasesInterface
$this->setFinishCaseTo($properties['finishCaseTo']); $this->setFinishCaseTo($properties['finishCaseTo']);
} }
/** Apply filters related to SEARCH */ /** Apply filters related to SEARCH */
// Filter by category
if (get_class($this) === Search::class && !empty($properties['category'])) {
$this->setCategoryId($properties['category']);
}
// Filter by more than one case statuses like ['DRAFT', 'TO_DO'] // Filter by more than one case statuses like ['DRAFT', 'TO_DO']
if (get_class($this) === Search::class && !empty($properties['caseStatuses'])) { if (get_class($this) === Search::class && !empty($properties['caseStatuses'])) {
$this->setCaseStatuses($properties['caseStatuses']); $this->setCaseStatuses($properties['caseStatuses']);

View File

@@ -5,6 +5,7 @@ namespace ProcessMaker\BusinessModel\Cases;
use G; use G;
use ProcessMaker\Model\Application; use ProcessMaker\Model\Application;
use ProcessMaker\Model\Delegation; use ProcessMaker\Model\Delegation;
use ProcessMaker\Model\User;
class Draft extends AbstractCases class Draft extends AbstractCases
{ {
@@ -14,10 +15,11 @@ class Draft extends AbstractCases
'APP_DELEGATION.APP_NUMBER', // Case # 'APP_DELEGATION.APP_NUMBER', // Case #
'APP_DELEGATION.DEL_TITLE', // Case Title 'APP_DELEGATION.DEL_TITLE', // Case Title
'PROCESS.PRO_TITLE', // Process 'PROCESS.PRO_TITLE', // Process
'TASK.TAS_TITLE', // Task 'TASK.TAS_TITLE', // Task
'APP_DELEGATION.DEL_TASK_DUE_DATE', // Due Date 'APP_DELEGATION.DEL_TASK_DUE_DATE', // Due Date
'APP_DELEGATION.DEL_DELEGATE_DATE', // Delegate Date 'APP_DELEGATION.DEL_DELEGATE_DATE', // Delegate Date
'APP_DELEGATION.DEL_PRIORITY', // Priority 'APP_DELEGATION.DEL_PRIORITY', // Priority
'APP_DELEGATION.DEL_PREVIOUS', // Previous
// Additional column for other functionalities // Additional column for other functionalities
'APP_DELEGATION.APP_UID', // Case Uid for Open case 'APP_DELEGATION.APP_UID', // Case Uid for Open case
'APP_DELEGATION.DEL_INDEX', // Del Index for Open case 'APP_DELEGATION.DEL_INDEX', // Del Index for Open case
@@ -119,6 +121,13 @@ class Draft extends AbstractCases
// Apply the date format defined in environment // Apply the date format defined in environment
$item['DEL_TASK_DUE_DATE_LABEL'] = applyMaskDateEnvironment($item['DEL_TASK_DUE_DATE']); $item['DEL_TASK_DUE_DATE_LABEL'] = applyMaskDateEnvironment($item['DEL_TASK_DUE_DATE']);
$item['DEL_DELEGATE_DATE_LABEL'] = applyMaskDateEnvironment($item['DEL_DELEGATE_DATE']); $item['DEL_DELEGATE_DATE_LABEL'] = applyMaskDateEnvironment($item['DEL_DELEGATE_DATE']);
// Get the send by related to the previous index
$previousThread = Delegation::getThreadInfo($item['APP_NUMBER'], $item['DEL_PREVIOUS']);
$userInfo = !empty($previousThread) ? User::getInformation($previousThread['USR_ID']) : [];
$result = [];
$result['del_previous'] = $item['DEL_PREVIOUS'];
$result['user_tooltip'] = $userInfo;
$item['SEND_BY_INFO'] = $result;
return $item; return $item;
}); });

View File

@@ -5,6 +5,7 @@ namespace ProcessMaker\BusinessModel\Cases;
use G; use G;
use ProcessMaker\Model\Application; use ProcessMaker\Model\Application;
use ProcessMaker\Model\Delegation; use ProcessMaker\Model\Delegation;
use ProcessMaker\Model\User;
class Inbox extends AbstractCases class Inbox extends AbstractCases
{ {
@@ -14,13 +15,14 @@ class Inbox extends AbstractCases
'APP_DELEGATION.APP_NUMBER', // Case # 'APP_DELEGATION.APP_NUMBER', // Case #
'APP_DELEGATION.DEL_TITLE', // Case Title 'APP_DELEGATION.DEL_TITLE', // Case Title
'PROCESS.PRO_TITLE', // Process 'PROCESS.PRO_TITLE', // Process
'TASK.TAS_TITLE', // Task 'TASK.TAS_TITLE', // Task
'USERS.USR_USERNAME', // Current UserName 'USERS.USR_USERNAME', // Current UserName
'USERS.USR_FIRSTNAME', // Current User FirstName 'USERS.USR_FIRSTNAME', // Current User FirstName
'USERS.USR_LASTNAME', // Current User LastName 'USERS.USR_LASTNAME', // Current User LastName
'APP_DELEGATION.DEL_TASK_DUE_DATE', // Due Date 'APP_DELEGATION.DEL_TASK_DUE_DATE', // Due Date
'APP_DELEGATION.DEL_DELEGATE_DATE', // Delegate Date 'APP_DELEGATION.DEL_DELEGATE_DATE', // Delegate Date
'APP_DELEGATION.DEL_PRIORITY', // Priority 'APP_DELEGATION.DEL_PRIORITY', // Priority
'APP_DELEGATION.DEL_PREVIOUS', // Previous
// Additional column for other functionalities // Additional column for other functionalities
'APP_DELEGATION.APP_UID', // Case Uid for Open case 'APP_DELEGATION.APP_UID', // Case Uid for Open case
'APP_DELEGATION.DEL_INDEX', // Del Index for Open case 'APP_DELEGATION.DEL_INDEX', // Del Index for Open case
@@ -134,6 +136,13 @@ class Inbox extends AbstractCases
// Apply the date format defined in environment // Apply the date format defined in environment
$item['DEL_TASK_DUE_DATE_LABEL'] = applyMaskDateEnvironment($item['DEL_TASK_DUE_DATE']); $item['DEL_TASK_DUE_DATE_LABEL'] = applyMaskDateEnvironment($item['DEL_TASK_DUE_DATE']);
$item['DEL_DELEGATE_DATE_LABEL'] = applyMaskDateEnvironment($item['DEL_DELEGATE_DATE']); $item['DEL_DELEGATE_DATE_LABEL'] = applyMaskDateEnvironment($item['DEL_DELEGATE_DATE']);
// Get the send by related to the previous index
$previousThread = Delegation::getThreadInfo($item['APP_NUMBER'], $item['DEL_PREVIOUS']);
$userInfo = !empty($previousThread) ? User::getInformation($previousThread['USR_ID']) : [];
$result = [];
$result['del_previous'] = $item['DEL_PREVIOUS'];
$result['user_tooltip'] = $userInfo;
$item['SEND_BY_INFO'] = $result;
return $item; return $item;
}); });

View File

@@ -16,13 +16,14 @@ class Participated extends AbstractCases
'APP_DELEGATION.APP_NUMBER', // Case # 'APP_DELEGATION.APP_NUMBER', // Case #
'APP_DELEGATION.DEL_TITLE', // Case Title 'APP_DELEGATION.DEL_TITLE', // Case Title
'PROCESS.PRO_TITLE', // Process Name 'PROCESS.PRO_TITLE', // Process Name
'TASK.TAS_TITLE', // Pending Task 'TASK.TAS_TITLE', // Pending Task
'TASK.TAS_ASSIGN_TYPE', // Task assign rule 'TASK.TAS_ASSIGN_TYPE', // Task assign rule
'APPLICATION.APP_STATUS', // Status 'APPLICATION.APP_STATUS', // Status
'APPLICATION.APP_CREATE_DATE', // Start Date 'APPLICATION.APP_CREATE_DATE', // Start Date
'APPLICATION.APP_FINISH_DATE', // Finish Date 'APPLICATION.APP_FINISH_DATE', // Finish Date
'APP_DELEGATION.DEL_TASK_DUE_DATE', // Due Date related to the colors 'APP_DELEGATION.DEL_TASK_DUE_DATE', // Due Date related to the colors
'USERS.USR_ID', // Current UserId 'APP_DELEGATION.DEL_PREVIOUS', // Previous
'USERS.USR_ID', // Current UserId
// Additional column for other functionalities // Additional column for other functionalities
'APP_DELEGATION.APP_UID', // Case Uid for Open case 'APP_DELEGATION.APP_UID', // Case Uid for Open case
'APP_DELEGATION.DEL_INDEX', // Del Index for Open case 'APP_DELEGATION.DEL_INDEX', // Del Index for Open case
@@ -213,6 +214,13 @@ class Participated extends AbstractCases
$item['PENDING'] = $result; $item['PENDING'] = $result;
break; break;
} }
// Get the send by related to the previous index
$previousThread = Delegation::getThreadInfo($item['APP_NUMBER'], $item['DEL_PREVIOUS']);
$userInfo = !empty($previousThread) ? User::getInformation($previousThread['USR_ID']) : [];
$result = [];
$result['del_previous'] = $item['DEL_PREVIOUS'];
$result['user_tooltip'] = $userInfo;
$item['SEND_BY_INFO'] = $result;
return $item; return $item;
}); });

View File

@@ -4,6 +4,7 @@ namespace ProcessMaker\BusinessModel\Cases;
use G; use G;
use ProcessMaker\Model\Delegation; use ProcessMaker\Model\Delegation;
use ProcessMaker\Model\User;
class Paused extends AbstractCases class Paused extends AbstractCases
{ {
@@ -13,13 +14,14 @@ class Paused extends AbstractCases
'APP_DELEGATION.APP_NUMBER', // Case # 'APP_DELEGATION.APP_NUMBER', // Case #
'APP_DELEGATION.DEL_TITLE', // Case Title 'APP_DELEGATION.DEL_TITLE', // Case Title
'PROCESS.PRO_TITLE', // Process 'PROCESS.PRO_TITLE', // Process
'TASK.TAS_TITLE', // Task 'TASK.TAS_TITLE', // Task
'USERS.USR_USERNAME', // Current UserName 'USERS.USR_USERNAME', // Current UserName
'USERS.USR_FIRSTNAME', // Current User FirstName 'USERS.USR_FIRSTNAME', // Current User FirstName
'USERS.USR_LASTNAME', // Current User LastName 'USERS.USR_LASTNAME', // Current User LastName
'APP_DELEGATION.DEL_TASK_DUE_DATE', // Due Date 'APP_DELEGATION.DEL_TASK_DUE_DATE', // Due Date
'APP_DELEGATION.DEL_DELEGATE_DATE', // Delegate Date 'APP_DELEGATION.DEL_DELEGATE_DATE', // Delegate Date
'APP_DELEGATION.DEL_PRIORITY', // Priority 'APP_DELEGATION.DEL_PRIORITY', // Priority
'APP_DELEGATION.DEL_PREVIOUS', // Previous
// Additional column for other functionalities // Additional column for other functionalities
'APP_DELEGATION.APP_UID', // Case Uid for Open case 'APP_DELEGATION.APP_UID', // Case Uid for Open case
'APP_DELEGATION.DEL_INDEX', // Del Index for Open case 'APP_DELEGATION.DEL_INDEX', // Del Index for Open case
@@ -128,6 +130,13 @@ class Paused extends AbstractCases
// Apply the date format defined in environment // Apply the date format defined in environment
$item['DEL_TASK_DUE_DATE_LABEL'] = applyMaskDateEnvironment($item['DEL_TASK_DUE_DATE']); $item['DEL_TASK_DUE_DATE_LABEL'] = applyMaskDateEnvironment($item['DEL_TASK_DUE_DATE']);
$item['DEL_DELEGATE_DATE_LABEL'] = applyMaskDateEnvironment($item['DEL_DELEGATE_DATE']); $item['DEL_DELEGATE_DATE_LABEL'] = applyMaskDateEnvironment($item['DEL_DELEGATE_DATE']);
// Get the send by related to the previous index
$previousThread = Delegation::getThreadInfo($item['APP_NUMBER'], $item['DEL_PREVIOUS']);
$userInfo = !empty($previousThread) ? User::getInformation($previousThread['USR_ID']) : [];
$result = [];
$result['del_previous'] = $item['DEL_PREVIOUS'];
$result['user_tooltip'] = $userInfo;
$item['SEND_BY_INFO'] = $result;
return $item; return $item;
}); });

View File

@@ -67,6 +67,11 @@ class Search extends AbstractCases
// Add the filter // Add the filter
// $query->title($this->getCaseTitle()); // $query->title($this->getCaseTitle());
} }
// Filter by category
if ($this->getCategoryId()) {
// This filter require a join with the process table
$query->category($this->getCategoryId());
}
// Filter by process // Filter by process
if ($this->getProcessId()) { if ($this->getProcessId()) {
$result = Process::query()->select(['PRO_UID']) $result = Process::query()->select(['PRO_UID'])

View File

@@ -5,6 +5,7 @@ namespace ProcessMaker\BusinessModel\Cases;
use ProcessMaker\Model\AppNotes; use ProcessMaker\Model\AppNotes;
use ProcessMaker\Model\Delegation; use ProcessMaker\Model\Delegation;
use ProcessMaker\Model\ProcessUser; use ProcessMaker\Model\ProcessUser;
use ProcessMaker\Model\User;
class Supervising extends AbstractCases class Supervising extends AbstractCases
{ {
@@ -14,11 +15,12 @@ class Supervising extends AbstractCases
'APP_DELEGATION.APP_NUMBER', // Case # 'APP_DELEGATION.APP_NUMBER', // Case #
'APP_DELEGATION.DEL_TITLE', // Case Title 'APP_DELEGATION.DEL_TITLE', // Case Title
'PROCESS.PRO_TITLE', // Process Name 'PROCESS.PRO_TITLE', // Process Name
'TASK.TAS_TITLE', // Pending Task 'TASK.TAS_TITLE', // Pending Task
'APPLICATION.APP_STATUS', // Status 'APPLICATION.APP_STATUS', // Status
'APPLICATION.APP_CREATE_DATE', // Start Date 'APPLICATION.APP_CREATE_DATE', // Start Date
'APPLICATION.APP_FINISH_DATE', // Finish Date 'APPLICATION.APP_FINISH_DATE', // Finish Date
'APP_DELEGATION.DEL_TASK_DUE_DATE', // Due Date related to the colors 'APP_DELEGATION.DEL_TASK_DUE_DATE', // Due Date related to the colors
'APP_DELEGATION.DEL_PREVIOUS', // Previous
'USERS.USR_ID', // Current UserId 'USERS.USR_ID', // Current UserId
// Additional column for other functionalities // Additional column for other functionalities
'APP_DELEGATION.APP_UID', // Case Uid for Open case 'APP_DELEGATION.APP_UID', // Case Uid for Open case
@@ -159,6 +161,13 @@ class Supervising extends AbstractCases
$information[] = $this->threadInformation($thread); $information[] = $this->threadInformation($thread);
} }
$item['PENDING'] = $information; $item['PENDING'] = $information;
// Get the send by related to the previous index
$previousThread = Delegation::getThreadInfo($item['APP_NUMBER'], $item['DEL_PREVIOUS']);
$userInfo = !empty($previousThread) ? User::getInformation($previousThread['USR_ID']) : [];
$result = [];
$result['del_previous'] = $item['DEL_PREVIOUS'];
$result['user_tooltip'] = $userInfo;
$item['SEND_BY_INFO'] = $result;
return $item; return $item;
}); });

View File

@@ -5,6 +5,7 @@ namespace ProcessMaker\BusinessModel\Cases;
use G; use G;
use ProcessMaker\Model\Application; use ProcessMaker\Model\Application;
use ProcessMaker\Model\Delegation; use ProcessMaker\Model\Delegation;
use ProcessMaker\Model\User;
class Unassigned extends AbstractCases class Unassigned extends AbstractCases
{ {
@@ -14,13 +15,14 @@ class Unassigned extends AbstractCases
'APP_DELEGATION.APP_NUMBER', // Case # 'APP_DELEGATION.APP_NUMBER', // Case #
'APP_DELEGATION.DEL_TITLE', // Case Title 'APP_DELEGATION.DEL_TITLE', // Case Title
'PROCESS.PRO_TITLE', // Process 'PROCESS.PRO_TITLE', // Process
'TASK.TAS_TITLE', // Task 'TASK.TAS_TITLE', // Task
'USERS.USR_USERNAME', // Current UserName 'USERS.USR_USERNAME', // Current UserName
'USERS.USR_FIRSTNAME', // Current User FirstName 'USERS.USR_FIRSTNAME', // Current User FirstName
'USERS.USR_LASTNAME', // Current User LastName 'USERS.USR_LASTNAME', // Current User LastName
'APP_DELEGATION.DEL_TASK_DUE_DATE', // Due Date 'APP_DELEGATION.DEL_TASK_DUE_DATE', // Due Date
'APP_DELEGATION.DEL_DELEGATE_DATE', // Delegate Date 'APP_DELEGATION.DEL_DELEGATE_DATE', // Delegate Date
'APP_DELEGATION.DEL_PRIORITY', // Priority 'APP_DELEGATION.DEL_PRIORITY', // Priority
'APP_DELEGATION.DEL_PREVIOUS', // Previous
// Additional column for other functionalities // Additional column for other functionalities
'APP_DELEGATION.APP_UID', // Case Uid for Open case 'APP_DELEGATION.APP_UID', // Case Uid for Open case
'APP_DELEGATION.DEL_INDEX', // Del Index for Open case 'APP_DELEGATION.DEL_INDEX', // Del Index for Open case
@@ -136,6 +138,13 @@ class Unassigned extends AbstractCases
// Apply the date format defined in environment // Apply the date format defined in environment
$item['DEL_TASK_DUE_DATE_LABEL'] = applyMaskDateEnvironment($item['DEL_TASK_DUE_DATE']); $item['DEL_TASK_DUE_DATE_LABEL'] = applyMaskDateEnvironment($item['DEL_TASK_DUE_DATE']);
$item['DEL_DELEGATE_DATE_LABEL'] = applyMaskDateEnvironment($item['DEL_DELEGATE_DATE']); $item['DEL_DELEGATE_DATE_LABEL'] = applyMaskDateEnvironment($item['DEL_DELEGATE_DATE']);
// Get the send by related to the previous index
$previousThread = Delegation::getThreadInfo($item['APP_NUMBER'], $item['DEL_PREVIOUS']);
$userInfo = !empty($previousThread) ? User::getInformation($previousThread['USR_ID']) : [];
$result = [];
$result['del_previous'] = $item['DEL_PREVIOUS'];
$result['user_tooltip'] = $userInfo;
$item['SEND_BY_INFO'] = $result;
return $item; return $item;
}); });

View File

@@ -43,7 +43,7 @@ class Application extends Model
* @param int $user * @param int $user
* @return \Illuminate\Database\Eloquent\Builder * @return \Illuminate\Database\Eloquent\Builder
*/ */
public function scopeUserId($query, $user) public function scopeUserId($query, int $user)
{ {
return $query->where('APP_DELEGATION.USR_ID', '=', $user); return $query->where('APP_DELEGATION.USR_ID', '=', $user);
} }
@@ -232,6 +232,19 @@ class Application extends Model
return $query->whereIn('APPLICATION.APP_STATUS_ID', $statuses); return $query->whereIn('APPLICATION.APP_STATUS_ID', $statuses);
} }
/**
* Scope a query to only include specific category
*
* @param \Illuminate\Database\Eloquent\Builder $query
* @param int $category
*
* @return \Illuminate\Database\Eloquent\Builder
*/
public function scopeCategory($query, $category)
{
return $query->where('PROCESS.CATEGORY_ID', $category);
}
/** /**
* Scope for query to get the applications by PRO_UID. * Scope for query to get the applications by PRO_UID.
* *

View File

@@ -611,7 +611,7 @@ class Delegation extends Model
* @param int $user * @param int $user
* @return \Illuminate\Database\Eloquent\Builder * @return \Illuminate\Database\Eloquent\Builder
*/ */
public function scopeUserId($query, $user) public function scopeUserId($query, int $user)
{ {
return $query->where('APP_DELEGATION.USR_ID', '=', $user); return $query->where('APP_DELEGATION.USR_ID', '=', $user);
} }
@@ -1751,7 +1751,7 @@ class Delegation extends Model
*/ */
public static function getThreadInfo(int $appNumber, int $index) public static function getThreadInfo(int $appNumber, int $index)
{ {
$query = Delegation::query()->select(['APP_NUMBER', 'TAS_UID', 'TAS_ID', 'DEL_PREVIOUS', 'DEL_TITLE']); $query = Delegation::query()->select(['APP_NUMBER', 'TAS_UID', 'TAS_ID', 'DEL_PREVIOUS', 'DEL_TITLE', 'USR_ID']);
$query->where('APP_NUMBER', $appNumber); $query->where('APP_NUMBER', $appNumber);
$query->where('DEL_INDEX', $index); $query->where('DEL_INDEX', $index);
$query->limit(1); $query->limit(1);

View File

@@ -52,7 +52,7 @@ class User extends Model
* *
* @return \Illuminate\Database\Eloquent\Builder * @return \Illuminate\Database\Eloquent\Builder
*/ */
public function scopeUserId($query, string $usrId) public function scopeUserId($query, int $usrId)
{ {
return $query->where('USR_ID', '=', $usrId); return $query->where('USR_ID', '=', $usrId);
} }
@@ -212,7 +212,7 @@ class User extends Model
* *
* @return array * @return array
*/ */
public static function getInformation($usrId) public static function getInformation(int $usrId)
{ {
$query = User::query()->select([ $query = User::query()->select([
'USR_USERNAME', 'USR_USERNAME',

View File

@@ -460,6 +460,7 @@ class Home extends Api
* @url GET /search * @url GET /search
* *
* @param int $caseNumber * @param int $caseNumber
* @param int $category
* @param int $process * @param int $process
* @param int $task * @param int $task
* @param int $user * @param int $user
@@ -482,6 +483,7 @@ class Home extends Api
*/ */
public function doGetSearchCases( public function doGetSearchCases(
int $caseNumber = 0, int $caseNumber = 0,
int $category = 0,
int $process = 0, int $process = 0,
int $task = 0, int $task = 0,
int $user = 0, int $user = 0,
@@ -500,6 +502,7 @@ class Home extends Api
// Define the filters to apply // Define the filters to apply
$properties = []; $properties = [];
$properties['caseNumber'] = $caseNumber; $properties['caseNumber'] = $caseNumber;
$properties['category'] = $category;
$properties['caseTitle'] = $caseTitle; $properties['caseTitle'] = $caseTitle;
$properties['process'] = $process; $properties['process'] = $process;
$properties['task'] = $task; $properties['task'] = $task;