Skip to content

Commit

Permalink
[SDESK-3673] Add-Coverage-To-Workflow was disabling editor header but…
Browse files Browse the repository at this point in the history
…tons
  • Loading branch information
nrvikas committed Nov 27, 2018
1 parent c2461b4 commit 0b4adf7
Show file tree
Hide file tree
Showing 3 changed files with 22 additions and 6 deletions.
8 changes: 5 additions & 3 deletions client/actions/planning/tests/ui_test.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ import {main, locks} from '../../';
import sinon from 'sinon';
import {MAIN, WORKSPACE} from '../../../constants';
import {getTestActionStore, restoreSinonStub} from '../../../utils/testUtils';
import {planningUtils} from '../../../utils';

describe('actions.planning.ui', () => {
let store;
Expand Down Expand Up @@ -566,7 +567,8 @@ describe('actions.planning.ui', () => {
});

it('addCoverageToWorkflow', (done) => {
const coverage = data.plannings[0].coverages[0];
const modifiedPlanning = planningUtils.modifyForClient(data.plannings[0]);
const coverage = modifiedPlanning.coverages[0];

store.test(done, planningUi.addCoverageToWorkflow(
data.plannings[0],
Expand Down Expand Up @@ -598,8 +600,8 @@ describe('actions.planning.ui', () => {
state: 'assigned',
},
},
data.plannings[0].coverages[1],
data.plannings[0].coverages[2],
modifiedPlanning.coverages[1],
modifiedPlanning.coverages[2],
],
},
data.plannings[0],
Expand Down
17 changes: 15 additions & 2 deletions client/actions/planning/ui.js
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ import {
gettext,
getItemId,
isExistingItem,
planningUtils,
} from '../../utils';

import * as selectors from '../../selectors';
Expand Down Expand Up @@ -506,7 +507,8 @@ const addCoverageToWorkflow = (original, updatedCoverage, index) => (
set(coverage, 'assigned_to.state', ASSIGNMENTS.WORKFLOW_STATE.ASSIGNED);
updates.coverages[index] = coverage;

return dispatch(planningApi.save(updates, original));
return dispatch(planningApi.save(updates, original))
.then((savedItem) => (dispatch(self.updateItemOnSave(savedItem))));
}
);

Expand All @@ -523,7 +525,17 @@ const removeAssignment = (original, updatedCoverage, index) => (

updates.coverages[index] = coverage;

return dispatch(planningApi.save(updates, original));
return dispatch(planningApi.save(updates, original))
.then((savedItem) => (dispatch(self.updateItemOnSave(savedItem))));
}
);

const updateItemOnSave = (savedItem) => (
(dispatch) => {
const modifiedItem = planningUtils.modifyForClient(savedItem);

dispatch(planningApi.receivePlannings([modifiedItem]));
return Promise.resolve(modifiedItem);
}
);

Expand Down Expand Up @@ -556,6 +568,7 @@ const self = {
_modifyPlanningFeatured,
modifyPlanningFeatured,
openFeaturedPlanningModal,
updateItemOnSave,
};

export default self;
3 changes: 2 additions & 1 deletion client/components/Planning/PlanningEditor/index.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -274,7 +274,8 @@ export class PlanningEditorComponent extends React.Component {
if (index >= 0) {
const diffCoverage = diffCoverages[index];

if (diffCoverage && !isEqual(diffCoverage.assigned_to, coverage.assigned_to)) {
if (diffCoverage && get(diffCoverage, 'assigned_to.state') !== WORKFLOW_STATE.DRAFT &&
!isEqual(diffCoverage.assigned_to, coverage.assigned_to)) {
this.onChange(`coverages[${index}].assigned_to`, coverage.assigned_to);
}
}
Expand Down

0 comments on commit 0b4adf7

Please sign in to comment.