'use strict'; import React from 'react'; import Alert from 'react-bootstrap/lib/Alert'; import apiUrls from '../../constants/api_urls'; import FormMixin from '../../mixins/form_mixin'; import AclButton from './../ascribe_buttons/acl_button'; import AppConstants from '../../constants/application_constants'; import { getLangText } from '../../utils/lang_utils.js'; let RequestActionForm = React.createClass({ mixins: [FormMixin], url(e){ let edition = this.props.editions[0]; if (e.target.id === 'request_accept'){ if (edition.request_action === 'consign'){ return apiUrls.ownership_consigns_confirm; } else if (edition.request_action === 'unconsign'){ return apiUrls.ownership_unconsigns; } else if (edition.request_action === 'loan'){ return apiUrls.ownership_loans_confirm; } } else if(e.target.id === 'request_deny'){ if (edition.request_action === 'consign') { return apiUrls.ownership_consigns_deny; } else if (edition.request_action === 'unconsign') { return apiUrls.ownership_unconsigns_deny; } else if (edition.request_action === 'loan') { return apiUrls.ownership_loans_deny; } } }, handleRequest: function(e){ e.preventDefault(); this.submit(e); }, getFormData() { return { bitcoin_id: this.getBitcoinIds().join() }; }, renderForm() { let edition = this.props.editions[0]; let buttonAccept = ( <div id="request_accept" onClick={this.handleRequest} className='btn btn-default btn-sm ascribe-margin-1px'>{getLangText('ACCEPT')} </div>); if (edition.request_action === 'unconsign'){ console.log(this.props) buttonAccept = ( <AclButton availableAcls={{'acl_unconsign': true}} action="acl_unconsign" pieceOrEditions={this.props.editions} currentUser={this.props.currentUser} handleSuccess={this.props.handleSuccess} /> ); } let buttons = ( <span> <span> {buttonAccept} </span> <span> <div id="request_deny" onClick={this.handleRequest} className='btn btn-danger btn-delete btn-sm ascribe-margin-1px'>{getLangText('REJECT')}</div> </span> </span> ); if (this.state.submitted){ buttons = ( <span> <img src={AppConstants.baseUrl + 'static/img/ascribe_animated_medium.gif'} /> </span> ); } return ( <Alert bsStyle='warning'> <div style={{textAlign: 'center'}}> <div>{ edition.owner } {getLangText('requests you')} { edition.request_action } {getLangText('this edition%s', '.')} </div> {buttons} </div> </Alert> ); } }); export default RequestActionForm;