diff --git a/client/src/app/admin/panel/dashboard/admin-panel-my-account.js b/client/src/app/admin/panel/dashboard/admin-panel-my-account.js
index 2f53b03d..336bd442 100644
--- a/client/src/app/admin/panel/dashboard/admin-panel-my-account.js
+++ b/client/src/app/admin/panel/dashboard/admin-panel-my-account.js
@@ -29,6 +29,7 @@ class AdminPanelMyAccount extends React.Component {
profilePic: this.props.userProfilePic,
level: this.props.userLevel * 1,
departments: this.props.userDepartments,
+ sendEmailOnNewTicket: this.props.userSendEmailOnNewTicket,
onChange: () => this.props.dispatch(SessionActions.getUserData(null, null, true))
};
}
diff --git a/client/src/app/admin/panel/staff/staff-editor.js b/client/src/app/admin/panel/staff/staff-editor.js
index a9c0f93c..9b55cff6 100644
--- a/client/src/app/admin/panel/staff/staff-editor.js
+++ b/client/src/app/admin/panel/staff/staff-editor.js
@@ -27,6 +27,7 @@ class StaffEditor extends React.Component {
level: React.PropTypes.number.isRequired,
tickets: React.PropTypes.array.isRequired,
departments: React.PropTypes.array.isRequired,
+ sendEmailOnNewTicket: React.PropTypes.bool,
onChange: React.PropTypes.func,
onDelete: React.PropTypes.func
};
@@ -40,7 +41,8 @@ class StaffEditor extends React.Component {
level: this.props.level - 1,
message: null,
loadingPicture: false,
- departments: this.getUserDepartments()
+ departments: this.getUserDepartments(),
+ sendEmailOnNewTicket: this.props.sendEmailOnNewTicket
};
render() {
@@ -95,7 +97,7 @@ class StaffEditor extends React.Component {
{i18n('UPDATE_PASSWORD')}
- {(!this.props.myAccount) ? this.renderLevelForm() : null}
+ {(this.props.myAccount) ? this.renderSendEmailOnNewTicketForm() : this.renderLevelForm()}
@@ -137,6 +139,9 @@ class StaffEditor extends React.Component {
case 'DEPARTMENTS':
message = 'DEPARTMENTS_UPDATED';
break;
+ case 'EMAIL_SETTING':
+ message = 'EMAIL_SETTING_UPDATED';
+ break;
case 'FAIL':
message = 'FAILED_EDIT_STAFF';
break;
@@ -145,6 +150,18 @@ class StaffEditor extends React.Component {
return {i18n(message)};
}
+ renderSendEmailOnNewTicketForm() {
+ return (
+
+
+
+
+ );
+ }
+
renderLevelForm() {
return (
@@ -273,6 +290,7 @@ class StaffEditor extends React.Component {
path: '/staff/edit',
data: {
staffId: this.props.staffId,
+ sendEmailOnNewTicket: form.sendEmailOnNewTicket,
email: form.email,
password: form.password,
level: (form.level !== undefined) ? form.level + 1 : null,
diff --git a/client/src/app/admin/panel/staff/staff-editor.scss b/client/src/app/admin/panel/staff/staff-editor.scss
index f3bbd162..6ddfa0ff 100644
--- a/client/src/app/admin/panel/staff/staff-editor.scss
+++ b/client/src/app/admin/panel/staff/staff-editor.scss
@@ -141,10 +141,17 @@
&__update-email,
&__update-password,
- &__update-level {
+ &__update-level,
+ &__update-email-setting {
position: relative;
}
+ &__update-email-setting {
+ margin-top: 28px;
+ margin-bottom: 20px;
+ text-align: left;
+ }
+
&__departments {
border: 1px solid $grey;
padding: 20px 50px;
diff --git a/client/src/data/fixtures/staff-fixtures.js b/client/src/data/fixtures/staff-fixtures.js
index 77e47603..f86ea68a 100644
--- a/client/src/data/fixtures/staff-fixtures.js
+++ b/client/src/data/fixtures/staff-fixtures.js
@@ -11,6 +11,7 @@ module.exports = [
name: 'Emilia Clarke',
email: 'staff@opensupports.com',
profilePic: '',
+ sendEmailOnNewTicket: true,
level: 3,
staff: true,
departments: [
diff --git a/client/src/data/fixtures/user-fixtures.js b/client/src/data/fixtures/user-fixtures.js
index 2ff9801b..65bb8fa2 100644
--- a/client/src/data/fixtures/user-fixtures.js
+++ b/client/src/data/fixtures/user-fixtures.js
@@ -156,6 +156,7 @@ module.exports = [
name: 'Kurt Gödel',
email: 'kurt@currycurrylady.hs',
verified: false,
+ sendEmailOnNewTicket: true,
tickets: _.times(13).map(() => {
return {
ticketNumber: '118551',
@@ -375,6 +376,7 @@ module.exports = [
data: {
name: 'Haskell Curry',
email: 'haskell@lambda.com',
+ sendEmailOnNewTicket: true,
tickets: [
{
ticketNumber: '445441',
diff --git a/client/src/data/languages/en.js b/client/src/data/languages/en.js
index 1fbf0306..26c8c451 100644
--- a/client/src/data/languages/en.js
+++ b/client/src/data/languages/en.js
@@ -176,6 +176,7 @@ export default {
'HOME': 'Home',
'TICKET_NUMBER': 'Ticket number',
'NEXT': 'Next',
+ 'SEND_EMAIL_ON_NEW_TICKET': 'Send email on new ticket',
'CHART_CREATE_TICKET': 'Tickets created',
'CHART_CLOSE': 'Tickets closed',
diff --git a/client/src/reducers/session-reducer.js b/client/src/reducers/session-reducer.js
index a51d7e67..436516dc 100644
--- a/client/src/reducers/session-reducer.js
+++ b/client/src/reducers/session-reducer.js
@@ -113,7 +113,8 @@ class SessionReducer extends Reducer {
userProfilePic: userData.profilePic,
userLevel: userData.level,
userDepartments: userData.departments,
- userTickets: userData.tickets
+ userTickets: userData.tickets,
+ userSendEmailOnNewTicket: userData.sendEmailOnNewTicket
});
}
@@ -131,7 +132,8 @@ class SessionReducer extends Reducer {
userLevel: userData.level,
userDepartments: userData.departments,
userTickets: userData.tickets,
- userId: userId
+ userId: userId,
+ userSendEmailOnNewTicket: userData.sendEmailOnNewTicket
});
}