Skip to content

Commit eda3750

Browse files
authored
Merge pull request #309 from qccoders/fix-daily-event
Prevent Users from creating Daily Events on the fly from the Scanner UI
2 parents 586923d + 668ce57 commit eda3750

File tree

8 files changed

+56
-6
lines changed

8 files changed

+56
-6
lines changed

web/package-lock.json

Lines changed: 22 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

web/src/events/EventDialog.js

Lines changed: 26 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ const styles = {
3131
marginTop: 50,
3232
height: 'fit-content',
3333
},
34-
deleteButton: {
34+
leftButton: {
3535
marginRight: 'auto',
3636
},
3737
spinner: {
@@ -117,6 +117,20 @@ class EventDialog extends Component {
117117
this.setState({ confirmDialog: { open: true }});
118118
}
119119

120+
handleDailyEventClick = () => {
121+
let start = moment().startOf('day').add(8, 'hours');
122+
let end = moment().startOf('day').add(8, 'hours').add(7, 'hours');
123+
124+
this.setState({
125+
event: {
126+
name: 'Daily Event for ' + start.format('M/DD/YY'),
127+
startDate: start.format(),
128+
endDate: end.format(),
129+
},
130+
validation: { ...initialState.validation },
131+
});
132+
}
133+
120134
handleDeleteConfirmClick = () => {
121135
return this.execute(
122136
() => this.props.context.api.delete('/v1/events/' + this.state.event.id),
@@ -264,13 +278,23 @@ class EventDialog extends Component {
264278
<Button
265279
onClick={this.handleDeleteClick}
266280
color="primary"
267-
className={classes.deleteButton}
281+
className={classes.leftButton}
268282
disabled={executing}
269283
>
270284
{deleting && <CircularProgress size={20} style={styles.spinner}/>}
271285
Delete
272286
</Button>
273287
}
288+
{intent === 'add' &&
289+
<Button
290+
onClick={this.handleDailyEventClick}
291+
color="primary"
292+
className={classes.leftButton}
293+
disabled={executing}
294+
>
295+
Daily Event
296+
</Button>
297+
}
274298
<Button
275299
onClick={this.handleCancelClick}
276300
color="primary"

web/src/events/EventList.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ const EventList = (props) => {
3333

3434
return (
3535
<List>
36-
{events.sort(sortByProp('startDate')).map((e, index) =>
36+
{events.sort(sortByProp('startDate', 'desc')).map((e, index) =>
3737
<ListItem
3838
key={index}
3939
button={onItemClick !== undefined}
@@ -48,6 +48,7 @@ const EventList = (props) => {
4848
/>
4949
</ListItem>
5050
)}
51+
{events.length === 0 && <ListItem><ListItemText primary='No Events have been scheduled.'/></ListItem>}
5152
</List>
5253
);
5354
};

web/src/events/Events.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,7 @@ class Events extends Component {
113113

114114
refresh = (apiType) => {
115115
this.setState({ [apiType]: { ...this.state[apiType], isExecuting: true }}, () => {
116-
this.props.context.api.get('/v1/events?offset=0&limit=100&orderBy=ASC')
116+
this.props.context.api.get('/v1/events?offset=0&limit=100&orderBy=DESC')
117117
.then(response => {
118118
this.setState({
119119
events: response.data,

web/src/scans/Scanner.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ import { CHECKIN_SERVICE_ID } from '../constants';
2222
import { isMobileAttached, initiateMobileScan } from '../mobile';
2323
import { withContext } from '../shared/ContextProvider';
2424
import { getScanResult } from './scannerUtil';
25+
import { userCanView } from '../util';
2526
import ServiceList from '../services/ServiceList';
2627
import ScannerMenu from './ScannerMenu';
2728
import ScanDisplay from './ScanDisplay';
@@ -294,7 +295,7 @@ class Scanner extends Component {
294295
let dailyEvent = this.getDailyEvent();
295296
let dailyEventExists = events.find(e => e.name === dailyEvent.name);
296297

297-
if (dailyEventExists === undefined) {
298+
if (dailyEventExists === undefined && userCanView()) {
298299
events = events.concat(dailyEvent);
299300
}
300301

web/src/services/ServiceList.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ const ServiceList = (props) => {
3030
/>
3131
</ListItem>
3232
)}
33+
{services.length === 0 && <ListItem><ListItemText primary='No Services have been added.'/></ListItem>}
3334
</List>
3435
);
3536
};

web/src/services/Services.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,7 @@ class Services extends Component {
105105

106106
refresh = (apiType) => {
107107
this.setState({ [apiType]: { ...this.state[apiType], isExecuting: true}}, () => {
108-
this.props.context.api.get('/v1/services?offset=0&limit=5000&orderBy=ASC')
108+
this.props.context.api.get('/v1/services?offset=0&limit=100&orderBy=ASC')
109109
.then(response => {
110110
this.setState({
111111
services: response.data,

web/src/veterans/VeteranList.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ const VeteranList = (props) => {
3030
/>
3131
</ListItem>
3232
)}
33+
{veterans.length === 0 && <ListItem><ListItemText primary='No Veterans have been added.'/></ListItem>}
3334
</List>
3435
);
3536
};

0 commit comments

Comments
 (0)