diff --git a/db/dump/fixtures.before.sql b/db/dump/fixtures.before.sql
index 1dad68b2c..a0f78baaa 100644
--- a/db/dump/fixtures.before.sql
+++ b/db/dump/fixtures.before.sql
@@ -1880,7 +1880,7 @@ INSERT INTO `vn`.`claimRatio`(`clientFk`, `yearSale`, `claimAmount`, `claimingRa
INSERT INTO `vn`.`claimLog` (`originFk`, userFk, `action`, changedModel, oldInstance, newInstance, changedModelId, `description`)
VALUES
- (1, 18, 'update', 'Claim', '{"hasToPickUp":false}', '{"hasToPickUp":true}', 1, NULL),
+ (1, 18, 'update', 'Claim', '{"pickup":null}', '{"pickup":"agency"}', 1, NULL),
(1, 18, 'update', 'ClaimObservation', '{}', '{"claimFk":1,"text":"Waiting for customer"}', 1, NULL),
(1, 18, 'insert', 'ClaimBeginning', '{}', '{"claimFk":1,"saleFk":1,"quantity":10}', 1, NULL),
(1, 18, 'insert', 'ClaimDms', '{}', '{"claimFk":1,"dmsFk":1}', 1, NULL);
diff --git a/db/versions/10976-greenCamellia/00-firstScript.sql b/db/versions/10976-greenCamellia/00-firstScript.sql
new file mode 100644
index 000000000..2c1742482
--- /dev/null
+++ b/db/versions/10976-greenCamellia/00-firstScript.sql
@@ -0,0 +1 @@
+ALTER TABLE vn.claim CHANGE hasToPickUp pickup ENUM('agency', 'delivery') DEFAULT NULL;
diff --git a/e2e/helpers/selectors.js b/e2e/helpers/selectors.js
index dba430e66..daaa17c71 100644
--- a/e2e/helpers/selectors.js
+++ b/e2e/helpers/selectors.js
@@ -762,7 +762,6 @@ export default {
claimBasicData: {
claimState: 'vn-claim-basic-data vn-autocomplete[ng-model="$ctrl.claim.claimStateFk"]',
packages: 'vn-input-number[ng-model="$ctrl.claim.packages"]',
- hasToPickUpCheckbox: 'vn-claim-basic-data vn-check[ng-model="$ctrl.claim.hasToPickUp"]',
saveButton: `button[type=submit]`
},
claimDetail: {
diff --git a/e2e/paths/06-claim/01_basic_data.spec.js b/e2e/paths/06-claim/01_basic_data.spec.js
index 2df95bd4a..8133ee9f2 100644
--- a/e2e/paths/06-claim/01_basic_data.spec.js
+++ b/e2e/paths/06-claim/01_basic_data.spec.js
@@ -36,7 +36,6 @@ describe('Claim edit basic data path', () => {
it('should check the "Pick up" checkbox', async() => {
await page.reloadSection('claim.card.basicData');
- await page.waitToClick(selectors.claimBasicData.hasToPickUpCheckbox);
await page.waitToClick(selectors.claimBasicData.saveButton);
const message = await page.waitForSnackbar();
@@ -51,12 +50,6 @@ describe('Claim edit basic data path', () => {
expect(result).toEqual('Resuelto');
});
- it('should confirm the "is paid with mana" and "Pick up" checkbox are checked', async() => {
- const hasToPickUpCheckbox = await page.checkboxState(selectors.claimBasicData.hasToPickUpCheckbox);
-
- expect(hasToPickUpCheckbox).toBe('checked');
- });
-
it('should confirm the claim packages was edited', async() => {
const result = await page
.waitToGetProperty(selectors.claimBasicData.packages, 'value');
diff --git a/loopback/locale/en.json b/loopback/locale/en.json
index 31b954a32..a0e60550f 100644
--- a/loopback/locale/en.json
+++ b/loopback/locale/en.json
@@ -68,7 +68,7 @@
"Changed client paymethod": "I have changed the pay method for client [{{clientName}} ({{clientId}})]({{{url}}})",
"Sent units from ticket": "I sent *{{quantity}}* units of [{{concept}} ({{itemId}})]({{{itemUrl}}}) to *\"{{nickname}}\"* coming from ticket id [{{ticketId}}]({{{ticketUrl}}})",
"Change quantity": "{{concept}} change of {{oldQuantity}} to {{newQuantity}}",
- "Claim will be picked": "The product from the claim [({{claimId}})]({{{claimUrl}}}) from the client *{{clientName}}* will be picked",
+ "Claim will be picked": "The product from the claim [({{claimId}})]({{{claimUrl}}}) from the client *{{clientName}}* will be picked, with the pickup type *{{claimPickup}}*",
"Claim state has changed to": "The state of the claim [({{claimId}})]({{{claimUrl}}}) from client *{{clientName}}* has changed to *{{newState}}*",
"Customs agent is required for a non UEE member": "Customs agent is required for a non UEE member",
"Incoterms is required for a non UEE member": "Incoterms is required for a non UEE member",
@@ -89,6 +89,8 @@
"landed": "Landed",
"addressFk": "Address",
"companyFk": "Company",
+ "agency": "Agency",
+ "delivery": "Delivery",
"You need to fill sage information before you check verified data": "You need to fill sage information before you check verified data",
"The social name cannot be empty": "The social name cannot be empty",
"The nif cannot be empty": "The nif cannot be empty",
diff --git a/loopback/locale/es.json b/loopback/locale/es.json
index 6e20bdd08..00e3ae50f 100644
--- a/loopback/locale/es.json
+++ b/loopback/locale/es.json
@@ -135,7 +135,7 @@
"Changed client paymethod": "He cambiado la forma de pago del cliente [{{clientName}} ({{clientId}})]({{{url}}})",
"Sent units from ticket": "Envio *{{quantity}}* unidades de [{{concept}} ({{itemId}})]({{{itemUrl}}}) a *\"{{nickname}}\"* provenientes del ticket id [{{ticketId}}]({{{ticketUrl}}})",
"Change quantity": "{{concept}} cambia de {{oldQuantity}} a {{newQuantity}}",
- "Claim will be picked": "Se recogerá el género de la reclamación [({{claimId}})]({{{claimUrl}}}) del cliente *{{clientName}}*",
+ "Claim will be picked": "Se recogerá el género de la reclamación [({{claimId}})]({{{claimUrl}}}) del cliente *{{clientName}}*, con el tipo de recogida *{{claimPickup}}*",
"Claim state has changed to": "Se ha cambiado el estado de la reclamación [({{claimId}})]({{{claimUrl}}}) del cliente *{{clientName}}* a *{{newState}}*",
"Client checked as validated despite of duplication": "Cliente comprobado a pesar de que existe el cliente id {{clientId}}",
"ORDER_ROW_UNAVAILABLE": "No hay disponibilidad de este producto",
@@ -168,6 +168,8 @@
"landed": "F. entrega",
"addressFk": "Consignatario",
"companyFk": "Empresa",
+ "agency": "Agencia",
+ "delivery": "Reparto",
"The social name cannot be empty": "La razón social no puede quedar en blanco",
"The nif cannot be empty": "El NIF no puede quedar en blanco",
"You need to fill sage information before you check verified data": "Debes rellenar la información de sage antes de marcar datos comprobados",
diff --git a/modules/claim/back/locale/claim/en.yml b/modules/claim/back/locale/claim/en.yml
index 7c3ee7555..75416938a 100644
--- a/modules/claim/back/locale/claim/en.yml
+++ b/modules/claim/back/locale/claim/en.yml
@@ -6,7 +6,6 @@ columns:
isChargedToMana: charged to mana
created: created
responsibility: responsibility
- hasToPickUp: has to pickUp
ticketFk: ticket
claimStateFk: claim state
workerFk: worker
diff --git a/modules/claim/back/locale/claim/es.yml b/modules/claim/back/locale/claim/es.yml
index 27fd76ceb..e61c6a396 100644
--- a/modules/claim/back/locale/claim/es.yml
+++ b/modules/claim/back/locale/claim/es.yml
@@ -6,7 +6,6 @@ columns:
isChargedToMana: cargado al maná
created: creado
responsibility: responsabilidad
- hasToPickUp: es recogida
ticketFk: ticket
claimStateFk: estado reclamación
workerFk: trabajador
diff --git a/modules/claim/back/methods/claim/specs/log.spec.js b/modules/claim/back/methods/claim/specs/log.spec.js
index 0ae534f1e..cef91b873 100644
--- a/modules/claim/back/methods/claim/specs/log.spec.js
+++ b/modules/claim/back/methods/claim/specs/log.spec.js
@@ -11,7 +11,7 @@ describe('claim log()', () => {
model: 'Claim',
action: 'update',
changes: [
- {property: 'hasToPickUp', before: false, after: true}
+ {property: 'pickup', before: null, after: 'agency'}
]
};
diff --git a/modules/claim/back/methods/claim/specs/updateClaim.spec.js b/modules/claim/back/methods/claim/specs/updateClaim.spec.js
index bd77ae406..b7725e7f8 100644
--- a/modules/claim/back/methods/claim/specs/updateClaim.spec.js
+++ b/modules/claim/back/methods/claim/specs/updateClaim.spec.js
@@ -86,7 +86,7 @@ describe('Update Claim', () => {
args: {
observation: 'valid observation',
claimStateFk: pendingState,
- hasToPickUp: false
+ pickup: null
}
};
ctx.req.__ = i18n.__;
@@ -124,7 +124,7 @@ describe('Update Claim', () => {
args: {
observation: 'valid observation',
claimStateFk: canceledState,
- hasToPickUp: false
+ pickup: null
}
};
ctx.req.__ = i18n.__;
@@ -163,7 +163,7 @@ describe('Update Claim', () => {
claimStateFk: 3,
workerFk: 5,
observation: 'another valid observation',
- hasToPickUp: true
+ pickup: 'agency'
}
};
ctx.req.__ = i18n.__;
diff --git a/modules/claim/back/methods/claim/updateClaim.js b/modules/claim/back/methods/claim/updateClaim.js
index 68fff7846..cb4de0ab5 100644
--- a/modules/claim/back/methods/claim/updateClaim.js
+++ b/modules/claim/back/methods/claim/updateClaim.js
@@ -27,8 +27,8 @@ module.exports = Self => {
type: 'string'
},
{
- arg: 'hasToPickUp',
- type: 'boolean'
+ arg: 'pickup',
+ type: 'any'
},
{
arg: 'packages',
@@ -72,9 +72,9 @@ module.exports = Self => {
// Get sales person from claim client
const salesPerson = claim.client().salesPersonUser();
- let changedHasToPickUp = false;
- if (args.hasToPickUp)
- changedHasToPickUp = true;
+ let changedPickup;
+ if (args.pickup != claim.pickup)
+ changedPickup = true;
// Validate when claimState has been changed
if (args.claimStateFk) {
@@ -82,15 +82,15 @@ module.exports = Self => {
const canEditNewState = await models.ClaimState.isEditable(ctx, args.claimStateFk, myOptions);
const canEditState = await models.ACL.checkAccessAcl(ctx, 'Claim', 'editState', 'WRITE');
- if (!canEditOldState || !canEditNewState || changedHasToPickUp && !canEditState)
+ if (!canEditOldState || !canEditNewState || changedPickup && !canEditState)
throw new UserError(`You don't have enough privileges to change that field`);
}
delete args.ctx;
const updatedClaim = await claim.updateAttributes(args, myOptions);
- // When hasToPickUp has been changed
- if (salesPerson && changedHasToPickUp && updatedClaim.hasToPickUp)
+ // When pickup has been changed
+ if (salesPerson && changedPickup && updatedClaim.pickup)
await notifyPickUp(ctx, salesPerson.id, claim);
// When claimState has been changed
@@ -132,7 +132,8 @@ module.exports = Self => {
const message = $t('Claim will be picked', {
claimId: claim.id,
clientName: claim.client().name,
- claimUrl: `${url}claim/${claim.id}/summary`
+ claimUrl: `${url}claim/${claim.id}/summary`,
+ claimPickup: $t(claim.pickup)
});
await models.Chat.sendCheckingPresence(ctx, workerId, message);
}
diff --git a/modules/claim/back/models/claim.json b/modules/claim/back/models/claim.json
index 1fbbb00b1..3bc0a2bf9 100644
--- a/modules/claim/back/models/claim.json
+++ b/modules/claim/back/models/claim.json
@@ -31,8 +31,13 @@
"responsibility": {
"type": "number"
},
- "hasToPickUp": {
- "type": "boolean"
+ "pickup": {
+ "type": "string",
+ "mysql": {
+ "columnName": "pickup",
+ "dataType": "ENUM('agency', 'delivery')",
+ "default": "null"
+ }
},
"ticketFk": {
"type": "number"
diff --git a/modules/claim/front/action/index.spec.js b/modules/claim/front/action/index.spec.js
index 458d5e831..e773511bf 100644
--- a/modules/claim/front/action/index.spec.js
+++ b/modules/claim/front/action/index.spec.js
@@ -85,7 +85,7 @@ describe('claim', () => {
it('should perform a patch query and show a success message', () => {
jest.spyOn(controller.vnApp, 'showSuccess');
- const data = {hasToPickUp: true};
+ const data = {pickup: 'agency'};
$httpBackend.expect('PATCH', `Claims/1/updateClaimAction`, data).respond({});
controller.save(data);
$httpBackend.flush();
diff --git a/modules/claim/front/basic-data/index.html b/modules/claim/front/basic-data/index.html
index 10aa7623a..45bc1823d 100644
--- a/modules/claim/front/basic-data/index.html
+++ b/modules/claim/front/basic-data/index.html
@@ -49,13 +49,6 @@
label="Packages received"
ng-model="$ctrl.claim.packages">
-
-
diff --git a/modules/claim/front/summary/index.html b/modules/claim/front/summary/index.html
index 3115cb451..b5225e6f4 100644
--- a/modules/claim/front/summary/index.html
+++ b/modules/claim/front/summary/index.html
@@ -49,13 +49,6 @@
label="Attended by"
value="{{$ctrl.summary.claim.worker.user.nickname}}">
-
-