From 149c72cf8c136781864863bf71ae3bf0d516728d Mon Sep 17 00:00:00 2001 From: Harrison Healey Date: Tue, 29 Mar 2016 10:04:53 -0400 Subject: Added ability to regenerate outgoing webhook tokens on InstalledIntegrations page --- .../backstage/installed_integrations.jsx | 11 +++++++- .../backstage/installed_outgoing_webhook.jsx | 30 ++++++++++++++++++---- 2 files changed, 35 insertions(+), 6 deletions(-) (limited to 'webapp/components/backstage') diff --git a/webapp/components/backstage/installed_integrations.jsx b/webapp/components/backstage/installed_integrations.jsx index 4f79509d9..0b6701b21 100644 --- a/webapp/components/backstage/installed_integrations.jsx +++ b/webapp/components/backstage/installed_integrations.jsx @@ -21,6 +21,10 @@ export default class InstalledIntegrations extends React.Component { this.updateFilter = this.updateFilter.bind(this); this.updateTypeFilter = this.updateTypeFilter.bind(this); + this.deleteIncomingWebhook = this.deleteIncomingWebhook.bind(this); + this.regenOutgoingWebhookToken = this.regenOutgoingWebhookToken.bind(this); + this.deleteOutgoingWebhook = this.deleteOutgoingWebhook.bind(this); + this.state = { incomingWebhooks: [], outgoingWebhooks: [], @@ -82,6 +86,10 @@ export default class InstalledIntegrations extends React.Component { AsyncClient.deleteIncomingHook(incomingWebhook.id); } + regenOutgoingWebhookToken(outgoingWebhook) { + AsyncClient.regenOutgoingHookToken(outgoingWebhook.id); + } + deleteOutgoingWebhook(outgoingWebhook) { AsyncClient.deleteOutgoingHook(outgoingWebhook.id); } @@ -227,7 +235,8 @@ export default class InstalledIntegrations extends React.Component { ); } diff --git a/webapp/components/backstage/installed_outgoing_webhook.jsx b/webapp/components/backstage/installed_outgoing_webhook.jsx index 3c0e20634..12e1a5c81 100644 --- a/webapp/components/backstage/installed_outgoing_webhook.jsx +++ b/webapp/components/backstage/installed_outgoing_webhook.jsx @@ -12,20 +12,28 @@ export default class InstalledOutgoingWebhook extends React.Component { static get propTypes() { return { outgoingWebhook: React.PropTypes.object.isRequired, - onDeleteClick: React.PropTypes.func.isRequired + onRegenToken: React.PropTypes.func.isRequired, + onDelete: React.PropTypes.func.isRequired }; } constructor(props) { super(props); - this.handleDeleteClick = this.handleDeleteClick.bind(this); + this.handleRegenToken = this.handleRegenToken.bind(this); + this.handleDelete = this.handleDelete.bind(this); } - handleDeleteClick(e) { + handleRegenToken(e) { e.preventDefault(); - this.props.onDeleteClick(this.props.outgoingWebhook); + this.props.onRegenToken(this.props.outgoingWebhook); + } + + handleDelete(e) { + e.preventDefault(); + + this.props.onDelete(this.props.outgoingWebhook); } render() { @@ -51,13 +59,25 @@ export default class InstalledOutgoingWebhook extends React.Component {
{Utils.getWindowLocationOrigin() + '/hooks/' + outgoingWebhook.id} + {' - '} + {outgoingWebhook.token}
+ + + {' - '} +