Skip to content

Commit 4f7d12e

Browse files
committed
Merge branch 'develop'
2 parents b1f4d0b + 63e4b1e commit 4f7d12e

File tree

16 files changed

+5494
-3723
lines changed

16 files changed

+5494
-3723
lines changed

package-lock.json

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

package.json

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -5,60 +5,60 @@
55
"main": "server/server.js",
66
"dependencies": {
77
"axios": "^0.15.3",
8-
"body-parser": "^1.17.1",
9-
"classnames": "^2.2.5",
8+
"body-parser": "^1.18.3",
9+
"classnames": "^2.2.6",
1010
"co": "^4.6.0",
11-
"compression": "^1.6.2",
11+
"compression": "^1.7.3",
1212
"cookie-parser": "^1.4.3",
1313
"csv-express": "^1.2.2",
1414
"dotenv": "^4.0.0",
15-
"express": "^4.15.2",
15+
"express": "^4.16.4",
1616
"http": "0.0.0",
1717
"immutability-helper": "^2.6.4",
18-
"js-cache": "^1.0.2",
18+
"js-cache": "^1.0.3",
1919
"jsonwebtoken": "^7.4.0",
20-
"lodash": "^4.17.4",
21-
"mobx": "^3.1.7",
22-
"mobx-react": "^4.1.3",
20+
"lodash": "^4.17.11",
21+
"mobx": "^3.6.2",
22+
"mobx-react": "^4.4.3",
2323
"moment": "^2.20.1",
2424
"moment-duration-format": "^1.3.0",
2525
"mongoose": "^4.13.10",
26-
"multer": "^1.3.0",
27-
"node-cache": "^4.1.1",
26+
"multer": "^1.4.1",
27+
"node-cache": "^4.2.0",
2828
"node-schedule": "^1.3.0",
29-
"prop-types": "^15.5.10",
29+
"prop-types": "^15.6.2",
3030
"react": "^15.4.2",
3131
"react-big-calendar": "^0.13.0",
3232
"react-bootstrap": "^0.30.8",
3333
"react-bootstrap-date-picker": "^5.0.1",
3434
"react-checkbox": "^0.1.3",
35-
"react-csv": "^1.0.12",
35+
"react-csv": "^1.0.19",
3636
"react-dom": "^15.4.2",
3737
"react-input-autosize": "^1.1.3",
3838
"react-linkify": "^0.2.2",
3939
"react-numeric-input": "^2.2.3",
40-
"react-router": "^4.0.0",
41-
"react-router-dom": "^4.0.0",
40+
"react-router": "^4.3.1",
41+
"react-router-dom": "^4.3.1",
4242
"react-select": "^1.2.1",
4343
"url-loader": "^0.5.8",
4444
"uuid": "^3.2.1"
4545
},
4646
"devDependencies": {
47-
"babel-core": "^6.24.0",
47+
"babel-core": "^6.26.3",
4848
"babel-loader": "^6.4.1",
4949
"babel-polyfill": "^6.23.0",
5050
"babel-preset-es2015": "^6.24.0",
5151
"babel-preset-react": "^6.11.1",
5252
"babel-preset-stage-0": "^6.22.0",
5353
"babel-preset-stage-2": "^6.13.0",
5454
"babili-webpack-plugin": "0.0.11",
55-
"cross-env": "^5.1.3",
55+
"cross-env": "^5.2.0",
5656
"css-loader": "^0.23.1",
57-
"mocha": "^3.2.0",
58-
"node-sass": "^4.5.2",
57+
"mocha": "^5.2.0",
58+
"node-sass": "^4.11.0",
5959
"react-bootstrap-typeahead": "^1.3.0",
6060
"react-hot-loader": "^3.0.0-beta.6",
61-
"sass-loader": "^6.0.3",
61+
"sass-loader": "^6.0.7",
6262
"style-loader": "^0.13.1",
6363
"webpack": "^2.3.2",
6464
"webpack-bundle-analyzer": "^2.9.2",

public/css/style.css

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,13 @@ h3 {
1212
text-align: center;
1313
}
1414

15+
#version {
16+
color: #f1f1f5;
17+
text-align: center;
18+
margin: 10px;
19+
font-family: monospace;
20+
}
21+
1522
.loader {
1623
border: 8px solid #f3f3f3; /* Light grey */
1724
border-top: 8px solid #3498db; /* Blue */

public/index.html

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,11 @@
1212
<div id="root">
1313
<div class="loader"></div>
1414
</div>
15+
<div id="version">
16+
Version 2.0.0 <br>
17+
<span class="glyphicon glyphicon-chevron-left"></span>
18+
<span class="glyphicon glyphicon-chevron-right"></span>
19+
with <span class="glyphicon glyphicon-heart"></span> by Midburn Tech</div>
1520
</div>
1621
<script src="https://cdnjs.cloudflare.com/ajax/libs/core-js/2.4.1/core.min.js"></script>
1722
<script src="https://cdnjs.cloudflare.com/ajax/libs/babel-polyfill/6.23.0/polyfill.min.js"></script>

server/routes/permissions.js

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,10 @@ const addLocalAdmin = co.wrap(function* (userDetails) {
2626

2727
router.get('/public/permissions/me', co.wrap(function* (req, res) {
2828
yield addLocalAdmin(req.userDetails);
29-
const permissions = yield permissionsUtils.getPermissions(req.userDetails);
30-
return res.json(permissions);
29+
if (req.userDetails.anonymousAccess) {
30+
return res.json({anonymousAccess: true, roles: []})
31+
}
32+
return res.json({anonymousAccess: false, roles: req.userDetails.permissions, profile: req.userDetails.email})
3133
}));
3234

3335
router.get('/permissions/admins', co.wrap(function* (req, res) {

server/server.js

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,6 @@ app.use(co.wrap(function* (req, res, next) {
5454
res.clearCookie(JWT_KEY);
5555
return res.redirect(SPARK_HOST);
5656
} else {
57-
// TODO: (may) maybe read the default value from spark
5857
req.userDetails = { eventId: consts.DEFAULT_EVENT_ID, anonymousAccess: true }
5958
next();
6059
}

server/utils/permissions.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ function getUserIdRegex(userId) {
88

99
module.exports = {
1010
getPermissions: co.wrap(function* (userDetails) {
11-
if (!userDetails) {
11+
if (!userDetails || !userDetails.email) {
1212
return [];
1313
}
1414
const userId = userDetails.email;

src/components/Header/Header.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ class Header extends React.Component {
1616
<div className="header">
1717
<a className="logo" href="https://spark.midburn.org">
1818
<img className="logo-img" src="http://tickets-registration.midburn.org/midburn.png"/>
19+
<div id="profile">{ document.permissions.anonymousAccess ? "Log In" : document.permissions.profile }</div>
1920
</a>
2021
<div className="header-nav">
2122
<ul className="nav" style={{display: 'flex', justifyContent: 'center'}}>

src/components/Header/Header.scss

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,20 @@
55

66
.logo {
77
float: left;
8-
margin: 6px;
8+
display: flex;
9+
align-items: center;
910

1011
.logo-img {
1112
height: 38px;
13+
margin: 6px;
14+
}
15+
16+
#profile {
17+
margin-left: 10px;
18+
color: white;
1219
}
1320
}
21+
1422
.header-nav {
1523
flex: 1;
1624
padding-right: 50px;

src/components/VolunteerRequest/FillUserDataView.js

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ export default class FillUserDataView extends Component {
2525
this.state = {
2626
contactEmail: '',
2727
contactPhoneNumber: '',
28-
profileEmail: '',
28+
profileEmail: document.permissions.anonymousAccess ? '' : document.permissions.profile,
2929

3030
showValidation: false
3131
}
@@ -73,7 +73,8 @@ export default class FillUserDataView extends Component {
7373
</FormGroup>
7474
<FormGroup controlId="profileEmail">
7575
<ControlLabel>{profileTitle[language]}</ControlLabel>
76-
<FormControl className="en-input" onChange={this.handleTextChange} placeholder="email@gmail.com"/>
76+
<FormControl defaultValue={document.permissions.anonymousAccess ? '' : document.permissions.profile}
77+
className="en-input" onChange={this.handleTextChange} placeholder="email@gmail.com"/>
7778
</FormGroup>
7879
</div>
7980
<div className='button-container'>

src/components/VolunteerShifts/VolunteerShifts.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ export default class VolunteerShifts extends React.Component {
3333
};
3434

3535
fetchShifts() {
36-
const departments = document.roles.map(role => role.department_id);
36+
const departments = document.permissions.roles.map(role => role.department_id);
3737

3838
for (let index = 0; index < departments.length; index++) {
3939
axios.get(`/api/v1/departments/${departments[index]}/shifts/me`, {credentials: 'include'}).then(response => {

src/index.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,9 @@ import axios from 'axios';
99

1010
async function fetchUserRoles() {
1111
try {
12-
const response = await axios.get('api/v1/public/permissions/me', {credentials: 'include'});
12+
const permissions = await axios.get('api/v1/public/permissions/me', {credentials: 'include'});
1313
const events = await axios.get('api/v1/public/events', {credentials: 'include'});
14-
document.roles = response.data;
14+
document.permissions = permissions.data;
1515
document.events = events.data;
1616
// document.roles = [{departmentId: '42ea4150-e739-11e7-822d-e92efb1d493b',
1717
// permission: 'manager'}];

src/model/ShiftManagerModel.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ function ShiftManagerModel() {
3737

3838
this.initDepartments = async() => {
3939
const resp = await axios('/api/v1/public/departments', {credentials: 'include'})
40-
if (!document.roles) {
40+
if (!document.permissions) {
4141
setTimeout(this.initDepartments, 1000);
4242
} else {
4343
this.departments = resp.data

src/model/permissionsUtils.js

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
export const isAdmin = _ =>
2-
!!document.roles.find(role => role.permission === 'admin')
2+
!!document.permissions.roles.find(role => role.permission === 'admin')
33

44
export const isManager = _ =>
5-
!!document.roles.find(role => role.permission === 'manager')
5+
!!document.permissions.roles.find(role => role.permission === 'manager')
66

77
export const isManagerOfDepartment = departmentId =>
8-
!!document.roles.find(role => role.departmentId === departmentId && role.permission === 'manager')
8+
!!document.permissions.roles.find(role => role.departmentId === departmentId && role.permission === 'manager')
99

1010
export const isVolunteer = _ =>
11-
!!document.roles.find(role => role.permission === 'volunteer')
11+
!!document.permissions.roles.find(role => role.permission === 'volunteer')
1212

1313
export const isVolunteerOfDepartment = departmentId =>
14-
!!document.roles.find(role => role.departmentId === departmentId && role.permission === 'volunteer')
14+
!!document.permissions.roles.find(role => role.departmentId === departmentId && role.permission === 'volunteer')

src/routes/App.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ class App extends React.Component {
4444
}
4545

4646
render() {
47-
const routes = this.routes(document.roles)
47+
const routes = this.routes(document.permissions.roles)
4848
if (!routes) {
4949
return <ComingSoon/>;
5050
}

0 commit comments

Comments
 (0)