Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit b87c731

Browse files
authored
Merge pull request #20 from shah-dhaval/master
role edit form, date format change
2 parents 2f3d1b9 + 7f19076 commit b87c731

File tree

10 files changed

+101
-105
lines changed

10 files changed

+101
-105
lines changed

‎package-lock.json

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

‎package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@
3434
"react-scripts": "1.1.4",
3535
"react-select": "^1.2.1",
3636
"react-table": "^6.8.6",
37-
"react-test-renderer": "^16.4.0",
37+
"react-test-renderer": "^16.4.0",
3838
"reactstrap": "^6.1.0",
3939
"redux": "^4.0.0",
4040
"redux-devtools-extension": "^2.13.2",

‎src/containers/App/Backend/Access/Roles/Form.js

Lines changed: 21 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,6 @@ import React, { Component } from 'react';
33
import { connect } from 'react-redux';
44
import { compose } from 'redux';
55

6-
import {
7-
ROLE_CREATE,
8-
ROLE_FORM_PAGE_LOADED,
9-
ROLE_FORM_PAGE_UNLOADED,
10-
ROLE_UPDATE,
11-
} from './constants';
12-
136
import {
147
Button,
158
Card,
@@ -38,26 +31,17 @@ let data = {
3831
name: '',
3932
sort: null,
4033
permissions: null,
41-
};
42-
43-
const roleMap = {
44-
Administrator: '1',
45-
Executive: '2',
46-
User: '3',
34+
status: 0,
4735
};
4836

4937
class Form extends Component {
50-
state = {
51-
permissions: [],
52-
};
53-
5438
componentWillReceiveProps(nextProps) {
5539
if (this.props.match.params.id !== nextProps.match.params.id) {
5640
if (nextProps.match.params.id) {
57-
this.props.onUnload();
41+
this.props.onFormUnLoad();
5842
return this.props.onFormLoad(this.props.match.params.id);
5943
}
60-
this.props.onLoad(null);
44+
this.props.onFormLoad(null);
6145
}
6246
}
6347

@@ -84,12 +68,26 @@ class Form extends Component {
8468
data.name = role.name;
8569
data.sort = role.sort;
8670
data.status = role.status;
87-
data.permissions = role.permissions;
71+
} else {
72+
data.name = '';
73+
data.sort = '';
74+
data.status = '';
75+
data.permissions = '';
8876
}
8977

90-
// if(permissions.length) {
91-
// this.setState({permissions: permissions});
92-
// }
78+
if (permissions && permissions.length && role) {
79+
let permissionTemp = [],
80+
selectAll = role.permissions === 'All';
81+
permissions.forEach(permission => {
82+
if (
83+
role.permissions.indexOf(permission.display_name) !== -1 ||
84+
selectAll
85+
) {
86+
permissionTemp.push(permission.id);
87+
}
88+
});
89+
data.permissions = permissionTemp.join(',');
90+
}
9391

9492
if (this.props.match.params.id && errors) {
9593
this.props.history.push('/access/role');

‎src/containers/App/Backend/Access/Roles/List.js

Lines changed: 23 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,11 @@ import {
3131

3232
import reducer from './reducer';
3333
import injectReducer from 'utils/injectReducer';
34-
import roleAgent from './agent';
34+
35+
const MySwal = withReactContent(Swal);
36+
37+
const title = 'Want To Delete ?';
38+
const content = 'This Role will be deleted permanently and cannot be undone';
3539

3640
class List extends Component {
3741
constructor(props) {
@@ -55,23 +59,23 @@ class List extends Component {
5559
});
5660
}
5761

58-
// onClickDelete(userId) {
59-
// MySwal.fire({
60-
// type: "question",
61-
// title: title,
62-
// text: content,
63-
// // confirmButtonText: 'Yes',
64-
// cancelButtonText: "Cancel",
65-
// showCancelButton: true,
66-
// confirmButtonColor: "#4dbd74",
67-
// cancelButtonColor: "#f64846",
68-
// focusConfirm: true
69-
// }).then(result => {
70-
// if (result.value) {
71-
// this.props.onClickDeleteAction(userId);
72-
// }
73-
// });
74-
// }
62+
onClickDelete(userId) {
63+
MySwal.fire({
64+
type: 'question',
65+
title: title,
66+
text: content,
67+
// confirmButtonText: 'Yes',
68+
cancelButtonText: 'Cancel',
69+
showCancelButton: true,
70+
confirmButtonColor: '#4dbd74',
71+
cancelButtonColor: '#f64846',
72+
focusConfirm: true,
73+
}).then(result => {
74+
if (result.value) {
75+
this.props.onClickDeleteAction(userId);
76+
}
77+
});
78+
}
7579

7680
fetchData(state) {
7781
this.setState({ page: state }, this.loadRoleData);
@@ -210,9 +214,7 @@ class List extends Component {
210214
Header: 'Created On',
211215
accessor: 'created_at',
212216
Cell: row => (
213-
<span>
214-
{new Date(row.value).toLocaleString('en-US')}
215-
</span>
217+
<span>{new Date(row.value).toMediumDate()}</span>
216218
),
217219
},
218220
{

‎src/containers/App/Backend/Access/Roles/View.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,7 @@ class View extends Component {
113113
<strong>Created On: </strong>
114114
</Label>
115115
<Col xs="6" md="6" className="centered-checkbox">
116-
{new Date(role.created_at).toLocaleString('en-US')}
116+
{new Date(role.created_at).toMediumDate()}
117117
</Col>
118118
</FormGroup>
119119
</Col>
@@ -128,7 +128,7 @@ class View extends Component {
128128
<strong>Updated On: </strong>
129129
</Label>
130130
<Col xs="6" md="6" className="centered-checkbox">
131-
{new Date(role.updated_at).toLocaleString('en-US')}
131+
{new Date(role.updated_at).toMediumDate()}
132132
</Col>
133133
</FormGroup>
134134
</Col>

‎src/containers/App/Backend/Access/Roles/agent.js

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,12 @@ const Role = {
1010
get: id => requests.get(`/roles/${id}`),
1111
del: id => requests.del(`/roles/${id}`),
1212
create: ({ ...values }) => {
13-
values.permissions = values.permissions.split(',');
14-
values.permissions.forEach((value, index) => {
15-
values[`permissions[${value}]`] = value;
16-
});
13+
if (values.permissions !== '') {
14+
values.permissions = values.permissions.split(',');
15+
values.permissions.forEach((value, index) => {
16+
values[`permissions[${value}]`] = value;
17+
});
18+
}
1719
values.permissions = 1;
1820
values.associated_permissions = 'custom';
1921
return requests.post('/roles', values);

‎src/containers/App/Backend/Access/Users/List.js

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -206,9 +206,7 @@ class List extends Component {
206206
Header: 'Created On',
207207
accessor: 'created_at',
208208
Cell: row => (
209-
<span>
210-
{new Date(row.value).toLocaleString('en-US')}
211-
</span>
209+
<span>{new Date(row.value).toMediumDate()}</span>
212210
),
213211
},
214212
{

‎src/containers/App/Backend/Access/Users/View.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -156,7 +156,7 @@ class View extends Component {
156156
<strong>Created On: </strong>
157157
</Label>
158158
<Col xs="6" md="6" className="centered-checkbox">
159-
{new Date(user.created_at).toLocaleString('en-US')}
159+
{new Date(user.created_at).toMediumDate()}
160160
</Col>
161161
</FormGroup>
162162
</Col>
@@ -171,7 +171,7 @@ class View extends Component {
171171
<strong>Updated On: </strong>
172172
</Label>
173173
<Col xs="6" md="6" className="centered-checkbox">
174-
{new Date(user.updated_at).toLocaleString('en-US')}
174+
{new Date(user.updated_at).toMediumDate()}
175175
</Col>
176176
</FormGroup>
177177
</Col>

‎src/containers/App/Backend/backendCommonReducer.js

Lines changed: 17 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,11 @@ import {
1515
PERMISSION_UPDATE,
1616
} from 'containers/App/Backend/Access/Permissions/constants';
1717

18+
import {
19+
ROLE_CREATE,
20+
ROLE_UPDATE,
21+
} from 'containers/App/Backend/Access/Roles/constants';
22+
1823
export default (state = {}, action) => {
1924
switch (action.type) {
2025
case BACKEND_APP_LOAD:
@@ -27,12 +32,18 @@ export default (state = {}, action) => {
2732
...state,
2833
redirectTo: action.error ? null : '/access/user',
2934
};
30-
// case PERMISSION_CREATE:
31-
// case PERMISSION_UPDATE:
32-
// return {
33-
// ...state,
34-
// redirectTo: action.error ? null : '/access/permission',
35-
// };
35+
case ROLE_CREATE:
36+
case ROLE_UPDATE:
37+
return {
38+
...state,
39+
redirectTo: action.error ? null : '/access/role',
40+
};
41+
case PERMISSION_CREATE:
42+
case PERMISSION_UPDATE:
43+
return {
44+
...state,
45+
redirectTo: action.error ? null : '/access/permission',
46+
};
3647
case BACKEND_LOGIN_PAGE_UNLOADED:
3748
case BACKEND_REGISTER_PAGE_UNLOADED:
3849
return { ...state, viewChangeCounter: state.viewChangeCounter + 1 };

‎src/utils/index.js

Lines changed: 28 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -1,35 +1,31 @@
1-
export const parseJwt = (token) => {
2-
if (token) {
3-
let base64Url = token.split('.')[1];
4-
let base64 = base64Url.replace('-', '+').replace('_', '/');
5-
return JSON.parse(window.atob(base64));
6-
}
7-
return;
8-
}
9-
Date.prototype.mediumDate = function() {
10-
11-
if(Object.prototype.toString.call(this) === "[object Date]")
12-
{
13-
if (isNaN(this.getTime()))
14-
{
15-
return ''
16-
}
17-
else
18-
{
19-
let dateString = this.toDateString().split(' ').splice(1).join(' '),
20-
timeString = this.toTimeString().split(' ')[0];
21-
return `${dateString}, ${timeString}`;
22-
}
23-
}
24-
else
25-
{
26-
return '';
1+
export const parseJwt = token => {
2+
if (token) {
3+
let base64Url = token.split('.')[1];
4+
let base64 = base64Url.replace('-', '+').replace('_', '/');
5+
return JSON.parse(window.atob(base64));
6+
}
7+
return;
8+
};
9+
Date.prototype.toMediumDate = function() {
10+
if (Object.prototype.toString.call(this) === '[object Date]') {
11+
if (isNaN(this.getTime())) {
12+
return '';
13+
} else {
14+
let dateString = this.toDateString()
15+
.split(' ')
16+
.splice(1)
17+
.join(' '),
18+
timeString = this.toTimeString().split(' ')[0];
19+
return `${dateString}, ${timeString}`;
2720
}
28-
}
21+
} else {
22+
return '';
23+
}
24+
};
2925

3026
export const serverDownError = {
31-
"error": {
32-
"message": "Something went wrong",
33-
"status_code": 422
34-
}
35-
}
27+
error: {
28+
message: 'Something went wrong',
29+
status_code: 422,
30+
},
31+
};

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /