Skip to content

Commit

Permalink
Max Red - Add send email on new ticket button in my account view
Browse files Browse the repository at this point in the history
  • Loading branch information
mredigonda committed Jun 24, 2017
1 parent 33bfc9b commit 07fcaa1
Show file tree
Hide file tree
Showing 7 changed files with 37 additions and 5 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -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))
};
}
Expand Down
22 changes: 20 additions & 2 deletions client/src/app/admin/panel/staff/staff-editor.js
Original file line number Diff line number Diff line change
Expand Up @@ -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
};
Expand All @@ -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() {
Expand Down Expand Up @@ -95,7 +97,7 @@ class StaffEditor extends React.Component {
<FormField name="rpassword" validation="REPEAT_PASSWORD" required label={i18n('REPEAT_PASSWORD')} fieldProps={{size: 'large', password: true}}/>
<SubmitButton size="medium" className="staff-editor__submit-button">{i18n('UPDATE_PASSWORD')}</SubmitButton>
</Form>
{(!this.props.myAccount) ? this.renderLevelForm() : null}
{(this.props.myAccount) ? this.renderSendEmailOnNewTicketForm() : this.renderLevelForm()}
<span className="separator staff-editor__separator" />
</div>
</div>
Expand Down Expand Up @@ -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;
Expand All @@ -145,6 +150,18 @@ class StaffEditor extends React.Component {
return <Message className="staff-editor__message" type={messageType}>{i18n(message)}</Message>;
}

renderSendEmailOnNewTicketForm() {
return (
<div>
<span className="separator staff-editor__separator"/>
<Form className="staff-editor__update-email-setting" label={i18n('EMAIL_SETTING')} values={{sendEmailOnNewTicket: this.state.sendEmailOnNewTicket}} onChange={form => this.setState({sendEmailOnNewTicket: form.sendEmailOnNewTicket})} onSubmit={this.onSubmit.bind(this, 'EMAIL_SETTING')}>
<FormField name="sendEmailOnNewTicket" label={i18n('SEND_EMAIL_ON_NEW_TICKET')} field="checkbox" fieldProps={{size: 'large'}} />
<SubmitButton size="medium" className="staff-editor__submit-button">{i18n('UPDATE')}</SubmitButton>
</Form>
</div>
);
}

renderLevelForm() {
return (
<div>
Expand Down Expand Up @@ -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,
Expand Down
9 changes: 8 additions & 1 deletion client/src/app/admin/panel/staff/staff-editor.scss
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down
1 change: 1 addition & 0 deletions client/src/data/fixtures/staff-fixtures.js
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ module.exports = [
name: 'Emilia Clarke',
email: 'staff@opensupports.com',
profilePic: '',
sendEmailOnNewTicket: true,
level: 3,
staff: true,
departments: [
Expand Down
2 changes: 2 additions & 0 deletions client/src/data/fixtures/user-fixtures.js
Original file line number Diff line number Diff line change
Expand Up @@ -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',
Expand Down Expand Up @@ -375,6 +376,7 @@ module.exports = [
data: {
name: 'Haskell Curry',
email: 'haskell@lambda.com',
sendEmailOnNewTicket: true,
tickets: [
{
ticketNumber: '445441',
Expand Down
1 change: 1 addition & 0 deletions client/src/data/languages/en.js
Original file line number Diff line number Diff line change
Expand Up @@ -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',
Expand Down
6 changes: 4 additions & 2 deletions client/src/reducers/session-reducer.js
Original file line number Diff line number Diff line change
Expand Up @@ -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
});
}

Expand All @@ -131,7 +132,8 @@ class SessionReducer extends Reducer {
userLevel: userData.level,
userDepartments: userData.departments,
userTickets: userData.tickets,
userId: userId
userId: userId,
userSendEmailOnNewTicket: userData.sendEmailOnNewTicket
});
}

Expand Down

0 comments on commit 07fcaa1

Please sign in to comment.