Skip to content
Snippets Groups Projects
Commit f13c45ab authored by Allen Gilliland's avatar Allen Gilliland
Browse files

fix a couple lingering issues with database creation during setup.

parent 12eb3cff
No related branches found
No related tags found
No related merge requests found
......@@ -63,7 +63,9 @@ export default class DatabaseDetailsForm extends Component {
// collect data
let response = {
'name': React.findDOMNode(this.refs.name).value
'name': React.findDOMNode(this.refs.name).value,
'engine': engine,
'details': {}
};
for (var fieldIdx in MetabaseCore.ENGINES[engine].fields) {
......@@ -79,7 +81,7 @@ export default class DatabaseDetailsForm extends Component {
val = field.transform(val);
}
response[field.fieldName] = val;
response.details[field.fieldName] = val;
}
}
......
......@@ -27,7 +27,7 @@ export default class SetupCollapsedStep extends Component {
return (
<section className={classes}>
<div className="flex align-center py3">
<div className="flex align-center py2">
<span className="SetupStep-indicator flex layout-centered absolute bordered">
<span className="SetupStep-number">{stepNumber}</span>
<Icon name={'check'} className="SetupStep-check" width={16} height={16}></Icon>
......
......@@ -28,21 +28,18 @@ export default class DatabaseStep extends Component {
}
async detailsCaptured(details) {
let databaseDetails = _.clone(details);
databaseDetails.engine = this.state.engine;
this.setState({
'formError': null
});
try {
// validate them first
await this.props.dispatch(validateDatabase(databaseDetails));
await this.props.dispatch(validateDatabase(details));
// now that they are good, store them
this.props.dispatch(setDatabaseDetails({
'nextStep': ++this.props.stepNumber,
'details': databaseDetails
'details': details
}));
} catch (error) {
this.setState({
......@@ -63,12 +60,13 @@ export default class DatabaseStep extends Component {
}
renderEngineSelect() {
let { engine } = this.state;
let options = [(<option value="">Select the type of Database you use</option>)];
let { engine } = this.state,
engines = _.keys(MetabaseCore.ENGINES).sort();
for (var opt in MetabaseCore.ENGINES) {
let options = [(<option value="">Select the type of Database you use</option>)];
engines.forEach(function(opt) {
options.push((<option key={opt} value={opt}>{MetabaseCore.ENGINES[opt].name}</option>))
}
});
return (
<label className="Select Form-offset mt1">
......@@ -111,7 +109,7 @@ export default class DatabaseStep extends Component {
{ engine !== "" ?
<DatabaseDetailsForm
details={databaseDetails}
details={(databaseDetails && 'details' in databaseDetails) ? databaseDetails.details : null}
engine={engine}
formError={formError}
hiddenFields={['ssl']}
......
......@@ -64,7 +64,7 @@
(defendpoint POST "/validate"
"Validate that we can connect to a database given a set of details."
[:as {{{:keys [host port engine] :as details} :details token :token} :body}]
[:as {{{:keys [engine] {:keys [host port] :as details} :details} :details token :token} :body}]
{token [Required SetupToken]
engine [Required DBEngine]}
(let [engine (keyword engine)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment