Skip to content
Snippets Groups Projects
EditDegreeCourse.js 4.94 KiB
Newer Older
Orlando Piñero's avatar
Orlando Piñero committed
import React, { Component } from "react";
import Button from 'react-bootstrap/Button';
import Form from 'react-bootstrap/Form';
import { connect } from "react-redux";
import { bindActionCreators } from "redux";

import * as degreeCourseManagementActions from '../../actions/DegreeCourseManagementActions'

const mapStateToProps = state => {
    return {
        accessToken: state.AuthenticationReducer.accessToken
    };
}

class EditDegreeCourse extends Component {

    constructor(props) {
        super(props);
        this.state = {
            name: this.props.editDegreeCourse.name,
            shortName: this.props.editDegreeCourse.shortName,
            universityName: this.props.editDegreeCourse.universityName,
            universityShortName: this.props.editDegreeCourse.universityShortName,
            departmentName: this.props.editDegreeCourse.departmentName,
            departmentShortName: this.props.editDegreeCourse.departmentShortName
        }
        this.handleChange = this.handleChange.bind(this);
        this.handleSubmit = this.handleSubmit.bind(this);
    }

    handleChange(e) {
        const { name, value } = e.target;
        this.setState({ [name]: value })
        console.log(JSON.stringify(this.state))
    }

    handleSubmit(e) {
        e.preventDefault()
        const { editDegreeCourseWithIDAction } = this.props
        editDegreeCourseWithIDAction(this.state, this.props.editDegreeCourse.id, this.props.accessToken)
    }



    render() {
        return (
Orlando Piñero's avatar
Orlando Piñero committed
            <div id="DegreeCourseManagementPageEditComponent" style={{ display: 'flex', justifyContent: 'center', textAlign: 'left', padding: '2em', background: "#fff", borderRadius: '30px' }}>
Orlando Piñero's avatar
Orlando Piñero committed
                <Form style={{ width: '60rem' }}>
                    <Form.Group className="mb-3">
                        <Form.Label>Studiengang-Name</Form.Label>
Orlando Piñero's avatar
Orlando Piñero committed
                        <Form.Control id="EditDegreeCourseComponentEditName" name='name' type="text" placeholder="Bitte Namen des Studiengangs eingeben" onChange={this.handleChange} defaultValue={this.props.editDegreeCourse.name} />
Orlando Piñero's avatar
Orlando Piñero committed
                    </Form.Group>

                    <Form.Group className="mb-3">
                        <Form.Label>Studiengang-Kurzbezeichnung</Form.Label>
Orlando Piñero's avatar
Orlando Piñero committed
                        <Form.Control id="EditDegreeCourseComponentEditShortName" name="shortName" type="text" placeholder="Bitte Kurzbezeichnung des Studiengangs eingeben" onChange={this.handleChange} defaultValue={this.props.editDegreeCourse.shortName} />
Orlando Piñero's avatar
Orlando Piñero committed
                    </Form.Group>

                    <Form.Group className="mb-3">
                        <Form.Label>Universität-Name</Form.Label>
                        <Form.Control id="EditDegreeCourseComponentEditUniversityName" name="universityName" type="text" placeholder="Bitte Namen der Universität eingeben" onChange={this.handleChange} defaultValue={this.props.editDegreeCourse.universityName} />
                    </Form.Group>

                    <Form.Group className="mb-3">
                        <Form.Label>Universität-Kurzbezeichnung</Form.Label>
                        <Form.Control id="EditDegreeCourseComponentEditUniversityShortName" name="universityShortName" type="text" placeholder="Bitte Kurzbezeichnung der Universität eingeben" onChange={this.handleChange} defaultValue={this.props.editDegreeCourse.universityShortName} />
                    </Form.Group>

                    <Form.Group className="mb-3">
                        <Form.Label>Fachbereich-Name</Form.Label>
                        <Form.Control id="EditDegreeCourseComponentEditDepartmentName" name="departmentName" type="text" placeholder="Bitte Namen des Fachbereichs eingeben" onChange={this.handleChange} defaultValue={this.props.editDegreeCourse.departmentName} />
                    </Form.Group>

                    <Form.Group className="mb-3">
                        <Form.Label>Fachbereich-Kurzbezeichnung</Form.Label>
                        <Form.Control id="EditDegreeCourseComponentEditDepartmentShortName" name="departmentShortName" type="text" placeholder="Bitte Kurzbezeichnung des Fachbereichs eingeben" onChange={this.handleChange} defaultValue={this.props.editDegreeCourse.departmentShortName} />
                    </Form.Group>
Orlando Piñero's avatar
Orlando Piñero committed
                    <Button id="EditDegreeCourseComponentSaveDegreeCourseButton" variant="primary" type="submit" onClick={this.handleSubmit}>
Orlando Piñero's avatar
Orlando Piñero committed
                        Speichern
                    </Button>
Orlando Piñero's avatar
Orlando Piñero committed
                    <Button id="OpenDegreeCourseManagementPageListComponentButton" variant="primary" onClick={this.props.goBack}>
Orlando Piñero's avatar
Orlando Piñero committed
                        Studiengang-Liste
                    </Button>
                </Form>
            </div >
        )
    }
}

const mapDispatchToProps = dispatch => bindActionCreators({
    editDegreeCourseWithIDAction: degreeCourseManagementActions.editDegreeCourseWithID
}, dispatch)

const ConnectedEditDegreeCourse = connect(mapStateToProps, mapDispatchToProps)(EditDegreeCourse)
export default ConnectedEditDegreeCourse