diff --git a/e2e/helpers/selectors.js b/e2e/helpers/selectors.js
index e8435eadf..5cd24cda5 100644
--- a/e2e/helpers/selectors.js
+++ b/e2e/helpers/selectors.js
@@ -585,6 +585,7 @@ export default {
claimState: 'vn-claim-basic-data vn-autocomplete[ng-model="$ctrl.claim.claimStateFk"]',
responsabilityInputRange: 'vn-range',
observation: 'vn-textarea[ng-model="$ctrl.claim.observation"]',
+ hasToPickUpCheckbox: 'vn-claim-basic-data vn-check[ng-model="$ctrl.claim.hasToPickUp"]',
saveButton: `button[type=submit]`
},
claimDetail: {
@@ -619,8 +620,7 @@ export default {
firstLineDestination: 'vn-claim-action vn-tr:nth-child(1) vn-autocomplete[ng-model="saleClaimed.claimDestinationFk"]',
secondLineDestination: 'vn-claim-action vn-tr:nth-child(2) vn-autocomplete[ng-model="saleClaimed.claimDestinationFk"]',
firstDeleteLine: 'vn-claim-action vn-tr:nth-child(1) vn-icon-button[icon="delete"]',
- isPaidWithManaCheckbox: 'vn-claim-action vn-check[ng-model="$ctrl.claim.isChargedToMana"]',
- hasToPickUpCheckbox: 'vn-claim-action vn-check[ng-model="$ctrl.claim.hasToPickUp"]'
+ isPaidWithManaCheckbox: 'vn-claim-action vn-check[ng-model="$ctrl.claim.isChargedToMana"]'
},
ordersIndex: {
searchResult: 'vn-order-index vn-card > vn-table > div > vn-tbody > a.vn-tr',
diff --git a/e2e/paths/06-claim/01_basic_data.spec.js b/e2e/paths/06-claim/01_basic_data.spec.js
index a255188e2..ecf79ccf0 100644
--- a/e2e/paths/06-claim/01_basic_data.spec.js
+++ b/e2e/paths/06-claim/01_basic_data.spec.js
@@ -1,7 +1,7 @@
import selectors from '../../helpers/selectors.js';
import getBrowser from '../../helpers/puppeteer';
-describe('Claim edit basic data path', () => {
+fdescribe('Claim edit basic data path', () => {
let browser;
let page;
@@ -34,6 +34,15 @@ describe('Claim edit basic data path', () => {
await page.waitForState('claim.card.detail');
});
+ 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();
+
+ expect(message.type).toBe('success');
+ });
+
it('should confirm the claim state was edited', async() => {
await page.reloadSection('claim.card.basicData');
await page.wait(selectors.claimBasicData.claimState);
@@ -42,6 +51,12 @@ describe('Claim edit basic data path', () => {
expect(result).toEqual('Gestionado');
});
+ 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 observation was edited', async() => {
const result = await page
.waitToGetProperty(selectors.claimBasicData.observation, 'value');
diff --git a/e2e/paths/06-claim/04_claim_action.spec.js b/e2e/paths/06-claim/04_claim_action.spec.js
index 67c936898..34a9c6102 100644
--- a/e2e/paths/06-claim/04_claim_action.spec.js
+++ b/e2e/paths/06-claim/04_claim_action.spec.js
@@ -72,19 +72,26 @@ describe('Claim action path', () => {
expect(message.type).toBe('success');
});
- it('should check the "Pick up" checkbox', async() => {
+ /* it('should check the "Pick up" checkbox', async() => {
await page.waitToClick(selectors.claimAction.hasToPickUpCheckbox);
const message = await page.waitForSnackbar();
expect(message.type).toBe('success');
+ }); */
+
+ it('should confirm the "is paid with mana" is checked', async() => {
+ await page.reloadSection('claim.card.action');
+ const isPaidWithManaCheckbox = await page.checkboxState(selectors.claimAction.isPaidWithManaCheckbox);
+
+ expect(isPaidWithManaCheckbox).toBe('checked');
});
- it('should confirm the "is paid with mana" and "Pick up" checkbox are checked', async() => {
+ /* it('should confirm the "is paid with mana" and "Pick up" checkbox are checked', async() => {
await page.reloadSection('claim.card.action');
const isPaidWithManaCheckbox = await page.checkboxState(selectors.claimAction.isPaidWithManaCheckbox);
const hasToPickUpCheckbox = await page.checkboxState(selectors.claimAction.hasToPickUpCheckbox);
expect(isPaidWithManaCheckbox).toBe('checked');
expect(hasToPickUpCheckbox).toBe('checked');
- });
+ }); */
});
diff --git a/modules/claim/back/methods/claim/regularizeClaim.js b/modules/claim/back/methods/claim/regularizeClaim.js
index 77e5f6504..7c5c2a3d4 100644
--- a/modules/claim/back/methods/claim/regularizeClaim.js
+++ b/modules/claim/back/methods/claim/regularizeClaim.js
@@ -88,32 +88,11 @@ module.exports = Self => {
}, options);
}
- let claim = await Self.findById(claimFk, {
- include: {
- relation: 'client',
- scope: {
- include: {
- relation: 'salesPerson'
- }
- }
- }
- }, options);
+ let claim = await Self.findById(claimFk, null, options);
claim = await claim.updateAttributes({
claimStateFk: resolvedState
}, options);
- // Get sales person from claim client
- const salesPerson = claim.client().salesPerson();
- if (salesPerson && claim.hasToPickUp) {
- const origin = ctx.req.headers.origin;
- const message = $t('Claim will be picked', {
- claimId: claim.id,
- clientName: claim.client().name,
- claimUrl: `${origin}/#!/claim/${claim.id}/summary`
- });
- await models.Chat.sendCheckingPresence(ctx, salesPerson.id, message);
- }
-
await tx.commit();
return claim;
diff --git a/modules/claim/back/methods/claim/updateClaim.js b/modules/claim/back/methods/claim/updateClaim.js
index 51623a7a8..1df745cd2 100644
--- a/modules/claim/back/methods/claim/updateClaim.js
+++ b/modules/claim/back/methods/claim/updateClaim.js
@@ -27,8 +27,18 @@ module.exports = Self => {
});
Self.updateClaim = async(ctx, id, data) => {
- let models = Self.app.models;
- let claim = await models.Claim.findById(id);
+ const models = Self.app.models;
+ const $t = ctx.req.__; // $translate
+ const claim = await models.Claim.findById(id, {
+ include: {
+ relation: 'client',
+ scope: {
+ include: {
+ relation: 'salesPerson'
+ }
+ }
+ }
+ });
let canUpdate = await canChangeState(ctx, claim.claimStateFk);
let hasRights = await canChangeState(ctx, data.claimStateFk);
@@ -36,6 +46,18 @@ module.exports = Self => {
if (!canUpdate || !hasRights)
throw new UserError(`You don't have enough privileges to change that field`);
+ // Get sales person from claim client
+ const salesPerson = claim.client().salesPerson();
+ if (salesPerson && claim.hasToPickUp) {
+ const origin = ctx.req.headers.origin;
+ const message = $t('Claim will be picked', {
+ claimId: claim.id,
+ clientName: claim.client().name,
+ claimUrl: `${origin}/#!/claim/${claim.id}/summary`
+ });
+ await models.Chat.sendCheckingPresence(ctx, salesPerson.id, message);
+ }
+
return await claim.updateAttributes(data);
};
diff --git a/modules/claim/back/methods/claim/updateClaimAction.js b/modules/claim/back/methods/claim/updateClaimAction.js
index 69691897c..d11e2ed08 100644
--- a/modules/claim/back/methods/claim/updateClaimAction.js
+++ b/modules/claim/back/methods/claim/updateClaimAction.js
@@ -17,10 +17,6 @@ module.exports = Self => {
arg: 'isChargedToMana',
type: 'boolean',
required: false
- }, {
- arg: 'hasToPickUp',
- type: 'boolean',
- required: false
}],
returns: {
type: 'object',
diff --git a/modules/claim/front/action/index.html b/modules/claim/front/action/index.html
index 69dfd255b..f7a43bd2e 100644
--- a/modules/claim/front/action/index.html
+++ b/modules/claim/front/action/index.html
@@ -43,11 +43,6 @@
on-change="$ctrl.save({responsibility: value})">
-
-
+
+
+
+
diff --git a/modules/claim/front/basic-data/locale/es.yml b/modules/claim/front/basic-data/locale/es.yml
index 221b17cdc..d6bae25f6 100644
--- a/modules/claim/front/basic-data/locale/es.yml
+++ b/modules/claim/front/basic-data/locale/es.yml
@@ -3,4 +3,5 @@ Claim state: Estado de la reclamación
Is paid with mana: Cargado al maná
Responsability: Responsabilidad
Company: Empresa
-Sales/Client: Comercial/Cliente
\ No newline at end of file
+Sales/Client: Comercial/Cliente
+Pick up: Recoger
\ No newline at end of file