Commit 269b8536 authored by Birte Kristina Friesel's avatar Birte Kristina Friesel
Browse files

Add webhook to account page

parent 3f4cf9ee
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -1045,7 +1045,7 @@ sub startup {
			$self->pg->db->update(
				'webhooks',
				{
					errored    => !$success,
					errored    => $success ? 0 : 1,
					latest_run => DateTime->now( time_zone => 'Europe/Berlin' ),
					output     => $text,
				},
+4 −1
Original line number Diff line number Diff line
@@ -222,6 +222,8 @@ sub privacy {
			$public_level &= ~0x02;
		}
		$self->set_privacy( $user->{id}, $public_level );

		$self->flash( success => 'privacy' );
		$self->redirect_to('account');
	}
	else {
@@ -244,8 +246,9 @@ sub webhook {
			token   => $hook->{token},
			enabled => $hook->{enabled}
		);
		$self->flash( success => 'webhook' );
		$self->redirect_to('account');
		$self->run_hook( $self->current_user->{id}, 'ping' );
		$hook = $self->get_webhook;
	}
	else {
		$self->param( url     => $hook->{url} );
+28 −3
Original line number Diff line number Diff line
@@ -8,10 +8,16 @@
			<div class="card green darken-4">
				<div class="card-content white-text">
					% if ($success eq 'mail') {
						<span class="card-title">Mail-Adresse erfolgreich geändert</span>
						<span class="card-title">Mail-Adresse geändert</span>
					% }
					% elsif ($success eq 'password') {
						<span class="card-title">Passwort erfolgreich geändert</span>
						<span class="card-title">Passwort geändert</span>
					% }
					% elsif ($success eq 'privacy') {
						<span class="card-title">Einstellungen zu öffentliche Account-Daten geändert</span>
					% }
					% elsif ($success eq 'webhook') {
						<span class="card-title">Web Hook aktualisiert</span>
					% }
				</div>
			</div>
@@ -21,6 +27,7 @@

<h1>Account</h1>
% my $acc = current_user();
% my $hook = get_webhook();
<div class="row">
	<div class="col s12">
		<table class="striped">
@@ -41,13 +48,31 @@
				<td>
					<a href="/account/privacy"><i class="material-icons">edit</i></a>
					% if ($acc->{is_public} == 0) {
						Keine
						<span style="color: #999999;">Keine</span>
					% }
					% if ($acc->{is_public} & 0x02) {
						Aktueller Status
					% }
				</td>
			</tr>
			<tr>
				<th scope="row">Web Hook</th>
				<td>
					<a href="/account/hooks"><i class="material-icons">edit</i></a>
					% if ($hook->{enabled} == 0) {
						<span style="color: #999999;">Nicht eingerichtet</span>
					% }
					% elsif ($hook->{latest_run}->epoch == 0) {
						Aktiv, noch nicht ausgeführt
					% }
					% elsif ($hook->{errored}) {
						Aktiv, fehlerhaft <i class="material-icons">error</i>
					% }
					% else {
						Aktiv
					% }
				</td>
			</tr>
			<tr>
				<th scope="row">Registriert am</th>
				<td><%= $acc->{registered_at}->strftime('%d.%m.%Y %H:%M') %></td>