1
0
mirror of https://github.com/ascribe/onion.git synced 2024-06-28 16:48:04 +02:00
onion/js/components/ascribe_forms/form_loan_request_answer.js

80 lines
2.1 KiB
JavaScript
Raw Normal View History

2015-08-26 09:50:38 +02:00
'use strict';
import React from 'react';
import Moment from 'moment';
2015-08-26 09:50:38 +02:00
import LoanForm from './form_loan';
import OwnershipActions from '../../actions/ownership_actions';
import OwnershipStore from '../../stores/ownership_store';
import AppConstants from '../../constants/application_constants';
import { getLangText } from '../../utils/lang_utils';
let LoanRequestAnswerForm = React.createClass({
propTypes: {
url: React.PropTypes.string,
id: React.PropTypes.object,
message: React.PropTypes.string,
2015-09-21 10:47:24 +02:00
handleSuccess: React.PropTypes.func.isRequired
2015-08-26 09:50:38 +02:00
},
getDefaultProps() {
return {
loanHeading: '',
showPersonalMessage: true,
showEndDate: false,
showStartDate: false,
showPassword: true
};
},
getInitialState() {
return OwnershipStore.getState();
},
componentDidMount() {
OwnershipStore.listen(this.onChange);
OwnershipActions.fetchLoanRequest(this.props.id.piece_id);
},
componentWillUnmount() {
OwnershipStore.unlisten(this.onChange);
},
onChange(state) {
this.setState(state);
},
render() {
2015-08-26 16:34:41 +02:00
let startDate = null;
let endDate = null;
2015-08-26 09:50:38 +02:00
if (this.state.loanRequest) {
2015-08-26 16:34:41 +02:00
startDate = new Moment(this.state.loanRequest.datetime_from, Moment.ISO_8601);
endDate = new Moment(this.state.loanRequest.datetime_to, Moment.ISO_8601);
2015-08-26 09:50:38 +02:00
return (
<LoanForm
loanHeading={null}
message={''}
id={this.props.id}
url={this.props.url}
2015-08-26 16:34:41 +02:00
email={this.state.loanRequest ? this.state.loanRequest.new_owner : null}
gallery={this.state.loanRequest ? this.state.loanRequest.gallery : null}
startDate={startDate}
endDate={endDate}
2015-08-26 09:50:38 +02:00
showPassword={true}
showPersonalMessage={false}
2015-08-27 11:38:21 +02:00
handleSuccess={this.props.handleSuccess}/>
2015-08-26 09:50:38 +02:00
);
}
2015-08-26 16:34:41 +02:00
return <span/>;
2015-08-26 09:50:38 +02:00
}
});
export default LoanRequestAnswerForm;