Disable sending fees for current and future months

This commit is contained in:
Senad Uka
2019-09-06 09:34:58 +02:00
parent cf0f96eb83
commit a8a7683f2d
2 changed files with 78 additions and 45 deletions

View File

@@ -1,8 +1,10 @@
import React, { Component } from 'react';
import { connect } from 'react-redux';
import { Button, Modal } from 'semantic-ui-react';
import moment from 'moment';
import { addFeesToOrd } from '../../store/actions';
import { defaultDateFormat } from '../../constants/constants';
class GenerateFeesInORDButton extends Component {
state = { open: false };
@@ -21,7 +23,25 @@ class GenerateFeesInORDButton extends Component {
render() {
const { open, size } = this.state;
const { singleMember, disabled } = this.props;
const { singleMember, disabled, dateRange } = this.props;
let submitIsDisabled = disabled;
if (dateRange && dateRange.startDate) {
const startDateMoment = moment(dateRange.startDate, defaultDateFormat);
const currentMoment = moment();
const startMomentMonth = startDateMoment.month();
const startMomentYear = startDateMoment.year();
const currentMonth = currentMoment.month();
const currentYear = currentMoment.year();
const monthSelectorIsInPast = (startMomentYear < currentYear) ||
(startMomentYear === currentYear && startMomentMonth < currentMonth);
submitIsDisabled = disabled || !monthSelectorIsInPast;
}
const modalContent = singleMember ?
'This will remove all existing fees in ORD for selected member in selected date range and generate new fees based on shown incident tables. Do you want to continue ?':
@@ -29,7 +49,7 @@ class GenerateFeesInORDButton extends Component {
return (
<div>
<Button disabled={disabled} onClick={this.show('tiny')}>Generate fees in ORD</Button>
<Button disabled={submitIsDisabled} onClick={this.show('tiny')}>Generate fees in ORD</Button>
<Modal size={size} open={open} onClose={this.close}>
<Modal.Header>Add fees to the ORD</Modal.Header>