Skip to content

Commit e110b8b

Browse files
Merge pull request #555 from Kitware/copyFile
added missing 'copyFile' network function
2 parents e35b821 + 07c47c8 commit e110b8b

3 files changed

Lines changed: 14 additions & 5 deletions

File tree

src/network/remote/file.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -137,6 +137,10 @@ export default function ({ client, filterQuery, mustContain, busy, encodeQueryAs
137137
return missingKeys ? promise : busy(client._.put(`/file/${file._id}${encodeQueryAsString(params)}`));
138138
},
139139

140+
copyFile(fileId, itemId) {
141+
return busy(client._.post(`/file/${fileId}/copy?itemId=${itemId}`));
142+
},
143+
140144
newFile(file) {
141145
const expected = ['parentType', 'parentId', 'name', 'size', 'mimeType', 'linkUrl'],
142146
params = filterQuery(file, ...expected),

src/workflows/pyfr/components/steps/Input/index.js

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,9 @@ const SimputPanel = React.createClass({
2727
project: React.PropTypes.object,
2828
simulation: React.PropTypes.object,
2929
step: React.PropTypes.string,
30-
updateSimulation: React.PropTypes.func,
3130
saveSimulation: React.PropTypes.func,
31+
updateSimulation: React.PropTypes.func,
32+
patchSimulation: React.PropTypes.func,
3233
},
3334

3435
getDefaultProps() {
@@ -97,7 +98,7 @@ const SimputPanel = React.createClass({
9798
newSim.metadata.inputFolder.files.ini = _id;
9899
newSim.steps[this.props.step].metadata.model = JSON.stringify(jsonData);
99100
this.setState({ iniFile: _id });
100-
dispatch(Actions.patchSimulation(newSim));
101+
this.props.patchSimulation(newSim);
101102
// Update step metadata
102103
return client.updateSimulationStep(this.props.simulation._id, this.props.step, {
103104
metadata: { model: JSON.stringify(jsonData) },
@@ -139,7 +140,7 @@ const SimputPanel = React.createClass({
139140
}).then((simResp) => {
140141
var newSim = deepClone(this.props.simulation);
141142
newSim.steps[this.props.step].metadata.model = JSON.stringify(jsonData);
142-
dispatch(Actions.patchSimulation(newSim));
143+
this.props.patchSimulation(newSim);
143144
});
144145
} catch (e) {
145146
NetActions.errorNetworkCall('simput_parse', { message: `Error parsing input file:\n${e}\nLoading default values.` });
@@ -256,5 +257,6 @@ export default connect(
256257
() => ({
257258
saveSimulation: (simulation) => dispatch(Actions.saveSimulation(simulation)),
258259
updateSimulation: (simulation) => dispatch(Actions.updateSimulation(simulation)),
260+
patchSimulation: (simulation) => dispatch(Actions.patchSimulation(simulation)),
259261
})
260262
)(SimputPanel);

src/workflows/pyfr/components/steps/Simulation/Start/index.js

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ import getNetworkError from '../../../../../../utils/getNetworkError';
1414
import { connect } from 'react-redux';
1515
import { dispatch } from '../../../../../../redux';
1616
import * as Actions from '../../../../../../redux/actions/taskflows';
17+
import { patchSimulation } from '../../../../../../redux/actions/projects';
1718
import * as NetActions from '../../../../../../redux/actions/network';
1819

1920
const SimulationStart = React.createClass({
@@ -32,6 +33,7 @@ const SimulationStart = React.createClass({
3233
clusters: React.PropTypes.object,
3334
onRun: React.PropTypes.func,
3435
onError: React.PropTypes.func,
36+
patchSimulation: React.PropTypes.func,
3537
},
3638

3739
getInitialState() {
@@ -50,13 +52,13 @@ const SimulationStart = React.createClass({
5052
if (!iniFile) {
5153
client.createItem(this.props.simulation.metadata.inputFolder._id, 'ini')
5254
.then(resp =>
53-
client.copyFile(this.props.simulation.metadata.inputFolder.files.ini, resp.data._id)
55+
client.copyFile(this.props.project.metadata.inputFolder.files.ini, resp.data._id)
5456
)
5557
.then(resp => {
5658
const newSim = deepClone(this.props.simulation);
5759
newSim.metadata.inputFolder.files.ini = resp.data._id;
5860
this.setState({ iniFile: resp.data._id });
59-
dispatch(Actions.patchSimulation(newSim));
61+
this.props.patchSimulation(newSim);
6062
})
6163
.catch(err => {
6264
console.log('Error copying ini file for simulation', err);
@@ -207,6 +209,7 @@ export default connect(
207209
onRun: (taskflowName, primaryJob, payload, simulationStep, location) =>
208210
dispatch(Actions.createTaskflow(taskflowName, primaryJob, payload, simulationStep, location)),
209211
onError: (message) => dispatch(NetActions.errorNetworkCall('create_taskflow', { data: { message } }, 'form')),
212+
patchSimulation: (newSim) => dispatch(patchSimulation(newSim)),
210213
};
211214
}
212215
)(SimulationStart);

0 commit comments

Comments
 (0)