Add code to create webhook.

This commit is contained in:
James Cole 2022-09-17 16:54:13 +02:00
parent 23e5cf1b34
commit 625ad14d7d
No known key found for this signature in database
GPG Key ID: B49A324B7EAD6D80
51 changed files with 1139 additions and 187 deletions

View File

@ -57,9 +57,9 @@ class CreateRequest extends FormRequest
// this is the way.
$return = $this->getAllData($fields);
$return['trigger'] = $triggers[$return['trigger']] ?? 0;
$return['response'] = $responses[$return['response']] ?? 0;
$return['delivery'] = $deliveries[$return['delivery']] ?? 0;
$return['trigger'] = $triggers[$return['trigger']] ?? intval($return['trigger']);
$return['response'] = $responses[$return['response']] ?? intval($return['response']);
$return['delivery'] = $deliveries[$return['delivery']] ?? intval($return['delivery']);
return $return;
}
@ -71,9 +71,9 @@ class CreateRequest extends FormRequest
*/
public function rules(): array
{
$triggers = implode(',', Webhook::getTriggers());
$responses = implode(',', Webhook::getResponses());
$deliveries = implode(',', Webhook::getDeliveries());
$triggers = implode(',', Webhook::getTriggers() + array_keys(Webhook::getTriggers()));
$responses = implode(',', Webhook::getResponses() + array_keys(Webhook::getResponses()));
$deliveries = implode(',', Webhook::getDeliveries() + array_keys(Webhook::getDeliveries()));
return [
'title' => 'required|between:1,512|uniqueObjectForUser:webhooks,title',

View File

@ -24,6 +24,8 @@ declare(strict_types=1);
namespace FireflyIII\Generator\Webhook;
use FireflyIII\Enums\WebhookResponse;
use FireflyIII\Enums\WebhookTrigger;
use FireflyIII\Exceptions\FireflyException;
use FireflyIII\Models\Transaction;
use FireflyIII\Models\TransactionGroup;
@ -114,8 +116,8 @@ class StandardMessageGenerator implements MessageGeneratorInterface
$basicMessage = [
'uuid' => $uuid->toString(),
'user_id' => 0,
'trigger' => config('firefly.webhooks.triggers')[$webhook->trigger],
'response' => config('firefly.webhooks.responses')[$webhook->response],
'trigger' => WebhookTrigger::from($webhook->trigger)->name,
'response' => WebhookResponse::from($webhook->response)->name,
'url' => $webhook->url,
'version' => sprintf('v%d', $this->getVersion()),
'content' => [],
@ -141,10 +143,10 @@ class StandardMessageGenerator implements MessageGeneratorInterface
);
return;
case Webhook::RESPONSE_NONE:
case WebhookResponse::NONE->value:
$basicMessage['content'] = [];
break;
case Webhook::RESPONSE_TRANSACTIONS:
case WebhookResponse::TRANSACTIONS->value:
$transformer = new TransactionGroupTransformer;
try {
$basicMessage['content'] = $transformer->transformObject($model);
@ -156,7 +158,7 @@ class StandardMessageGenerator implements MessageGeneratorInterface
return;
}
break;
case Webhook::RESPONSE_ACCOUNTS:
case WebhookResponse::ACCOUNTS->value:
$accounts = $this->collectAccounts($model);
foreach ($accounts as $account) {
$transformer = new AccountTransformer;

View File

@ -23,6 +23,7 @@ declare(strict_types=1);
namespace FireflyIII\Handlers\Events;
use FireflyIII\Enums\WebhookTrigger;
use FireflyIII\Events\DestroyedTransactionGroup;
use FireflyIII\Events\RequestedSendWebhookMessages;
use FireflyIII\Generator\Webhook\MessageGeneratorInterface;
@ -47,7 +48,7 @@ class DestroyedGroupEventHandler
$engine = app(MessageGeneratorInterface::class);
$engine->setUser($user);
$engine->setObjects(new Collection([$group]));
$engine->setTrigger(Webhook::TRIGGER_DESTROY_TRANSACTION);
$engine->setTrigger(WebhookTrigger::DESTROY_TRANSACTION->value);
$engine->generateMessages();
event(new RequestedSendWebhookMessages);

View File

@ -22,6 +22,7 @@ declare(strict_types=1);
namespace FireflyIII\Handlers\Events;
use FireflyIII\Enums\WebhookTrigger;
use FireflyIII\Events\RequestedSendWebhookMessages;
use FireflyIII\Events\StoredTransactionGroup;
use FireflyIII\Generator\Webhook\MessageGeneratorInterface;
@ -110,7 +111,7 @@ class StoredGroupEventHandler
$engine->setUser($user);
// tell the generator which trigger it should look for
$engine->setTrigger(Webhook::TRIGGER_STORE_TRANSACTION);
$engine->setTrigger(WebhookTrigger::STORE_TRANSACTION->value);
// tell the generator which objects to process
$engine->setObjects(new Collection([$group]));
// tell the generator to generate the messages

View File

@ -22,6 +22,7 @@ declare(strict_types=1);
namespace FireflyIII\Handlers\Events;
use FireflyIII\Enums\WebhookTrigger;
use FireflyIII\Events\RequestedSendWebhookMessages;
use FireflyIII\Events\UpdatedTransactionGroup;
use FireflyIII\Generator\Webhook\MessageGeneratorInterface;
@ -106,7 +107,7 @@ class UpdatedGroupEventHandler
$engine = app(MessageGeneratorInterface::class);
$engine->setUser($user);
$engine->setObjects(new Collection([$group]));
$engine->setTrigger(Webhook::TRIGGER_UPDATE_TRANSACTION);
$engine->setTrigger(WebhookTrigger::UPDATE_TRANSACTION->value);
$engine->generateMessages();
event(new RequestedSendWebhookMessages);

View File

@ -22,10 +22,8 @@ declare(strict_types=1);
namespace FireflyIII\Http\Controllers\Webhooks;
use FireflyIII\Exceptions\FireflyException;
use FireflyIII\Http\Controllers\Controller;
use Illuminate\Contracts\View\Factory;
use Illuminate\Http\Request;
use Illuminate\View\View;
/**
@ -53,18 +51,16 @@ class CreateController extends Controller
}
);
}
/**
* Show debug info.
*
* @param Request $request
*
* @return Factory|View
* @throws FireflyException
*/
public function index(Request $request)
public function index()
{
return view('webhooks.create');
$previousUrl = $this->rememberPreviousUrl('webhooks.create.url');
return view('webhooks.create', compact('previousUrl'));
}
}

View File

@ -28,6 +28,7 @@ use FireflyIII\Models\Account;
use FireflyIII\Models\Bill;
use FireflyIII\Models\TransactionGroup;
use FireflyIII\Models\TransactionJournal;
use FireflyIII\Models\Webhook;
use Illuminate\Http\Request;
use Preferences;
@ -63,6 +64,10 @@ class InterestingMessage
Preferences::mark();
$this->handleBillMessage($request);
}
if ($this->webhookMessage($request)) {
Preferences::mark();
$this->handleWebhookMessage($request);
}
return $next($request);
}
@ -186,6 +191,19 @@ class InterestingMessage
return null !== $billId && null !== $message;
}
/**
* @param Request $request
*
* @return bool
*/
private function webhookMessage(Request $request): bool
{
// get parameters from request.
$billId = $request->get('webhook_id');
$message = $request->get('message');
return null !== $billId && null !== $message;
}
/**
* @param Request $request
@ -210,4 +228,28 @@ class InterestingMessage
session()->flash('success', (string) trans('firefly.stored_new_bill', ['name' => $bill->name]));
}
}
/**
* @param Request $request
*/
private function handleWebhookMessage(Request $request): void
{
// get parameters from request.
$webhookId = $request->get('webhook_id');
$message = $request->get('message');
/** @var Webhook $webhook */
$webhook = auth()->user()->webhooks()->withTrashed()->find($webhookId);
if (null === $webhook) {
return;
}
if ('deleted' === $message) {
session()->flash('success', (string) trans('firefly.deleted_webhook', ['title' => $webhook->title]));
}
if ('created' === $message) {
session()->flash('success', (string) trans('firefly.stored_new_webhook', ['title' => $webhook->title]));
}
}
}

204
frontend/src/i18n/tr_TR/index.js vendored Normal file
View File

@ -0,0 +1,204 @@
export default {
"config": {
"html_language": "tr",
"month_and_day_fns": "MMMM d, y"
},
"form": {
"name": "\u0130sim",
"amount_min": "Minimum tutar",
"amount_max": "Minimum tutar",
"url": "URL",
"title": "Ba\u015fl\u0131k",
"first_date": "First date",
"repetitions": "Repetitions",
"description": "Tan\u0131mlama",
"iban": "IBAN numaras\u0131",
"skip": "Atla",
"date": "Tarih"
},
"list": {
"name": "\u0130sim",
"account_number": "Account number",
"currentBalance": "Cari bakiye",
"lastActivity": "Son Etkinlik",
"active": "Aktif mi?"
},
"breadcrumbs": {
"placeholder": "[Tutucu]",
"budgets": "B\u00fct\u00e7eler",
"subscriptions": "Abonelik",
"transactions": "\u0130\u015flemler",
"title_expenses": "Masraflar",
"title_withdrawal": "Masraflar",
"title_revenue": "Gelir \/ kazan\u00e7",
"title_deposit": "Gelir \/kazan\u00e7",
"title_transfer": "Aktarmalar",
"title_transfers": "Aktarmalar",
"asset_accounts": "Varl\u0131k hesaplar\u0131",
"expense_accounts": "Gider hesab\u0131",
"revenue_accounts": "Kazan\u00e7 hesab\u0131",
"liabilities_accounts": "Sorumluluk"
},
"firefly": {
"actions": "Eylemler",
"edit": "D\u00fczenle",
"delete": "Sil",
"reconcile": "Reconcile",
"create_new_asset": "Yeni varl\u0131k hesab\u0131 olu\u015ftur",
"confirm_action": "Confirm action",
"new_budget": "Yeni b\u00fct\u00e7e",
"new_asset_account": "Yeni varl\u0131k hesab\u0131",
"newTransfer": "Yeni Transfer",
"newDeposit": "Yeni mevduat",
"newWithdrawal": "Yeni gider",
"bills_paid": "\u00d6denen Faturalar",
"left_to_spend": "Harcama i\u00e7in b\u0131rak\u0131ld\u0131",
"no_budget": "(b\u00fct\u00e7e yok)",
"budgeted": "B\u00fct\u00e7elenen",
"spent": "Harcanan",
"no_bill": "(hay\u0131r bill)",
"rule_trigger_source_account_starts_choice": "Kaynak hesap ad\u0131 ile ba\u015flar..",
"rule_trigger_source_account_ends_choice": "Source account name ends with..",
"rule_trigger_source_account_is_choice": "Kaynak hesap ad\u0131d\u0131r..",
"rule_trigger_source_account_contains_choice": "Kaynak hesap ad\u0131 i\u00e7erir..",
"rule_trigger_account_id_choice": "Either account ID is exactly..",
"rule_trigger_source_account_id_choice": "Kaynak hesap kimli\u011fi tam olarak..",
"rule_trigger_destination_account_id_choice": "Hedef hesap kimli\u011fi tam olarak..",
"rule_trigger_account_is_cash_choice": "Either account is cash",
"rule_trigger_source_is_cash_choice": "Kaynak hesap (nakit) hesapt\u0131r",
"rule_trigger_destination_is_cash_choice": "Hedef hesap (nakit) hesapt\u0131r",
"rule_trigger_source_account_nr_starts_choice": "Kaynak hesap numaras\u0131 \/ IBAN ile ba\u015flar..",
"rule_trigger_source_account_nr_ends_choice": "Kaynak hesap numaras\u0131 \/ IBAN ile biter..",
"rule_trigger_source_account_nr_is_choice": "Kaynak hesap numaras\u0131 \/ IBAN..",
"rule_trigger_source_account_nr_contains_choice": "Kaynak hesap numaras\u0131 \/ IBAN i\u00e7erir..",
"rule_trigger_destination_account_starts_choice": "Hedef hesap ad\u0131 ile ba\u015flar..",
"rule_trigger_destination_account_ends_choice": "Hedef hesap ad\u0131 ile biter..",
"rule_trigger_destination_account_is_choice": "Hedef hesap ad\u0131d\u0131r..",
"rule_trigger_destination_account_contains_choice": "Hedef hesap ad\u0131 i\u00e7erir..",
"rule_trigger_destination_account_nr_starts_choice": "Hedef hesap numaras\u0131 \/ IBAN ile ba\u015flar..",
"rule_trigger_destination_account_nr_ends_choice": "Hedef hesap numaras\u0131 \/ IBAN ile biter..",
"rule_trigger_destination_account_nr_is_choice": "Hedef hesap numaras\u0131 \/ IBAN'd\u0131r..",
"rule_trigger_destination_account_nr_contains_choice": "Hedef hesap numaras\u0131 \/ IBAN i\u00e7erir..",
"rule_trigger_transaction_type_choice": "\u0130\u015flem t\u00fcr\u00fc..",
"rule_trigger_category_is_choice": "Kategori..",
"rule_trigger_amount_less_choice": "Miktar \u015fundan az..",
"rule_trigger_amount_is_choice": "Amount is..",
"rule_trigger_amount_more_choice": "Miktar fazla..",
"rule_trigger_description_starts_choice": "A\u00e7\u0131klama ba\u015fl\u0131yor..",
"rule_trigger_description_ends_choice": "A\u00e7\u0131klama bitiyor..",
"rule_trigger_description_contains_choice": "A\u00e7\u0131klama i\u00e7erir..",
"rule_trigger_description_is_choice": "A\u00e7\u0131klama..",
"rule_trigger_date_on_choice": "Transaction date is..",
"rule_trigger_date_before_choice": "\u0130\u015flem tarihi \u00f6ncedir..",
"rule_trigger_date_after_choice": "\u0130\u015flem tarihi sonrad\u0131r..",
"rule_trigger_created_at_on_choice": "Transaction was made on..",
"rule_trigger_updated_at_on_choice": "Transaction was last edited on..",
"rule_trigger_budget_is_choice": "B\u00fct\u00e7e..",
"rule_trigger_tag_is_choice": "Any tag is..",
"rule_trigger_currency_is_choice": "\u0130\u015flem d\u00f6vizi..",
"rule_trigger_foreign_currency_is_choice": "\u0130\u015flem d\u00f6vizdir..",
"rule_trigger_has_attachments_choice": "En son bir \u00e7ok eklentileri var",
"rule_trigger_has_no_category_choice": "Kategorisi yok",
"rule_trigger_has_any_category_choice": "Bir kategorisi var",
"rule_trigger_has_no_budget_choice": "B\u00fct\u00e7e yok",
"rule_trigger_has_any_budget_choice": "Bir b\u00fct\u00e7esi var",
"rule_trigger_has_no_bill_choice": "Faturas\u0131 yok",
"rule_trigger_has_any_bill_choice": "(Herhangi) bir faturas\u0131 var m\u0131",
"rule_trigger_has_no_tag_choice": "Etiket yok",
"rule_trigger_has_any_tag_choice": "Bir veya bir\u00e7ok etiketleri var",
"rule_trigger_any_notes_choice": "Notlar\u0131 var",
"rule_trigger_no_notes_choice": "Notu yok",
"rule_trigger_notes_is_choice": "Notes are..",
"rule_trigger_notes_contains_choice": "Notes contain..",
"rule_trigger_notes_starts_choice": "Notes start with..",
"rule_trigger_notes_ends_choice": "Notes end with..",
"rule_trigger_bill_is_choice": "Bill \u00f6yle..",
"rule_trigger_external_id_is_choice": "External ID is..",
"rule_trigger_internal_reference_is_choice": "Internal reference is..",
"rule_trigger_journal_id_choice": "\u0130\u015flem g\u00fcnl\u00fc\u011f\u00fc kimli\u011fidir..",
"rule_trigger_any_external_url_choice": "\u0130\u015flemin harici bir URL'si var",
"rule_trigger_no_external_url_choice": "\u0130\u015flemin harici URL'si yok",
"rule_trigger_id_choice": "\u0130\u015flem kimli\u011fidir..",
"rule_action_delete_transaction_choice": "Transferi Sil (!)",
"rule_action_set_category_choice": "Kategori ayarla..",
"rule_action_clear_category_choice": "T\u00fcm kategoriyi temizle",
"rule_action_set_budget_choice": "B\u00fct\u00e7e ayarla..",
"rule_action_clear_budget_choice": "Herhangi bir b\u00fct\u00e7eyi temizle",
"rule_action_add_tag_choice": "Etiket ekle..",
"rule_action_remove_tag_choice": "Etiketi kald\u0131r..",
"rule_action_remove_all_tags_choice": "T\u00fcm etiketleri kald\u0131r",
"rule_action_set_description_choice": "A\u00e7\u0131klama belirtiniz..",
"rule_action_update_piggy_choice": "Kumbara i\u00e7inde i\u015flem tutar\u0131 ekle \/ kald\u0131r..",
"rule_action_append_description_choice": "\u0130le a\u00e7\u0131klamay\u0131 ekle..",
"rule_action_prepend_description_choice": "A\u00e7\u0131klaman\u0131n ba\u015fl\u0131\u011f\u0131n\u0131 ekleyin..",
"rule_action_set_source_account_choice": "Kaynak hesab\u0131 olarak ayarlay\u0131n..",
"rule_action_set_destination_account_choice": "Hedef hesab\u0131 olarak ayarlay\u0131n..",
"rule_action_append_notes_choice": "\u0130le not ekle..",
"rule_action_prepend_notes_choice": "\u0130le notlar\u0131 ba\u015flat\u0131n..",
"rule_action_clear_notes_choice": "Herhangi bir notu kald\u0131r",
"rule_action_set_notes_choice": "Notlar\u0131 \u015funa ayarla..",
"rule_action_link_to_bill_choice": "Bir fatura ba\u011flant\u0131...",
"rule_action_convert_deposit_choice": "\u0130\u015flemi mevduata d\u00f6n\u00fc\u015ft\u00fcr",
"rule_action_convert_withdrawal_choice": "\u0130\u015flemi para \u00e7ekmeye d\u00f6n\u00fc\u015ft\u00fcr",
"rule_action_convert_transfer_choice": "\u0130\u015flemi transfere d\u00f6n\u00fc\u015ft\u00fcr",
"placeholder": "[Placeholder]",
"recurrences": "Tekrar Eden \u0130\u015flemler",
"title_expenses": "Giderler",
"title_withdrawal": "Giderler",
"title_revenue": "Gelir \/ Gelir",
"pref_1D": "Bir g\u00fcn",
"pref_1W": "Bir hafta",
"pref_1M": "Bir ay",
"pref_3M": "\u00dc\u00e7 ay (\u00e7eyrek)",
"pref_6M": "Alt\u0131 ay",
"pref_1Y": "Bir y\u0131l",
"repeat_freq_yearly": "y\u0131ll\u0131k",
"repeat_freq_half-year": "her yar\u0131 y\u0131l",
"repeat_freq_quarterly": "\u00fc\u00e7 ayl\u0131k",
"repeat_freq_monthly": "ayl\u0131k",
"repeat_freq_weekly": "haftal\u0131k",
"single_split": "B\u00f6l",
"asset_accounts": "Varl\u0131k hesaplar\u0131",
"expense_accounts": "Gider hesaplar\u0131",
"liabilities_accounts": "Liabilities",
"undefined_accounts": "Accounts",
"name": "\u0130sim",
"revenue_accounts": "Gelir hesaplar\u0131",
"description": "A\u00e7\u0131klama",
"category": "Kategori",
"title_deposit": "Gelir \/ Gelir",
"title_transfer": "Transferler",
"title_transfers": "Transferler",
"piggyBanks": "Kumbara",
"rules": "Kurallar",
"accounts": "Hesaplar",
"categories": "Kategoriler",
"tags": "Etiketler",
"object_groups_page_title": "Groups",
"reports": "Raporlar",
"webhooks": "Web kancalar\u0131",
"currencies": "Kurlar",
"administration": "Y\u00f6netim",
"profile": "Profil",
"source_account": "Kaynak hesap",
"destination_account": "Hedef hesap",
"amount": "Miktar",
"date": "Tarih",
"time": "Time",
"preferences": "Tercihler",
"transactions": "\u0130\u015flemler",
"balance": "Denge",
"budgets": "B\u00fct\u00e7eler",
"subscriptions": "Abonelik",
"welcome_back": "Neler oluyor?",
"bills_to_pay": "\u00d6denecek fatura",
"net_worth": "Net de\u011fer",
"pref_last365": "Ge\u00e7en y\u0131l",
"pref_last90": "Son 90 g\u00fcn",
"pref_last30": "Son 30 g\u00fcn",
"pref_last7": "Son 7 g\u00fcn",
"pref_YTD": "Y\u0131ldan bug\u00fcne",
"pref_QTD": "Bug\u00fcne kadar tarih",
"pref_MTD": "Bug\u00fcne kadar ay"
}
}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

2
public/v1/js/webhooks/create.js vendored Normal file

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,8 @@
/*!
* The buffer module from node.js, for the browser.
*
* @author Feross Aboukhadijeh <http://feross.org>
* @license MIT
*/
/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */

2
public/v1/js/webhooks/index.js vendored Normal file

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,8 @@
/*!
* The buffer module from node.js, for the browser.
*
* @author Feross Aboukhadijeh <http://feross.org>
* @license MIT
*/
/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */

View File

@ -0,0 +1,55 @@
<!--
- Active.vue
- Copyright (c) 2022 james@firefly-iii.org
-
- This file is part of Firefly III (https://github.com/firefly-iii).
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU Affero General Public License as
- published by the Free Software Foundation, either version 3 of the
- License, or (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU Affero General Public License for more details.
-
- You should have received a copy of the GNU Affero General Public License
- along with this program. If not, see <https://www.gnu.org/licenses/>.
-->
<template>
<div class="form-group">
<label class="col-sm-4 control-label">
{{ title }}
</label>
<div class="col-sm-8">
<div class="checkbox">
<label>
<input :checked="this.active" :name="this.name" type="checkbox" value="1">
</label>
</div>
<p class="help-block" v-html="$t('firefly.webhook_active_form_help')"></p>
</div>
</div>
</template>
<script>
export default {
name: "Checkbox",
props: {
name: {
type: String,
},
title: {
type: String,
}
},
data() {
return {
active: true,
};
},
}
</script>

View File

@ -20,22 +20,21 @@
<template>
<div class="form-group" v-bind:class="{ 'has-error': hasError()}">
<div class="col-sm-12 text-sm">
<label class="col-sm-4 control-label">
{{ $t('form.title') }}
</div>
<div class="col-sm-12">
</label>
<div class="col-sm-8">
<div class="input-group">
<input
ref="title"
:title="$t('form.title')"
:value="value"
v-model=title
autocomplete="off"
class="form-control"
name="title"
type="text"
v-bind:placeholder="$t('form.title')"
@input="handleInput"
v-on:keypress="handleEnter" v-on:submit.prevent
v-bind:placeholder="$t('form.title')"
>
<span class="input-group-btn">
<button
@ -45,23 +44,6 @@
v-on:click="clearTitle"><i class="fa fa-trash-o"></i></button>
</span>
</div>
<typeahead
v-model="name"
:async-function="aSyncFunction"
:open-on-empty=true
:open-on-focus=true
:target="target"
item-key="description"
v-on:input="selectedItem"
>
<template slot="item" slot-scope="props">
<li v-for="(item, index) in props.items" :class="{active:props.activeIndex===index}">
<a role="button" @click="props.select(item)">
<span v-html="betterHighlight(item)"></span>
</a>
</li>
</template>
</typeahead>
<ul v-for="error in this.error" class="list-unstyled">
<li class="text-danger">{{ error }}</li>
</ul>
@ -71,86 +53,38 @@
<script>
export default {
props: ['error', 'value', 'url'],
props: {
error: {
type: Array,
required: true,
default() {
return []
}
},
value: {
type: String,
required: true,
}
},
name: "Title",
mounted() {
this.target = this.$refs.descr;
this.$refs.title.focus();
this.title = this.value;
},
components: {},
data() {
return {
name: null,
title: null,
target: null,
title: ''
}
},
methods: {
aSyncFunction: function (query, done) {
axios.get(this.url + query)
.then(res => {
done(res.data);
})
.catch(err => {
// any error handler
})
},
betterHighlight: function (item) {
var inputValue = this.$refs.descr.value.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, '\\$&');
var escapedName = this.escapeHtml(item.description);
return escapedName.replace(new RegExp(("" + inputValue), 'i'), '<b>$&</b>');
},
escapeHtml: function (string) {
let entityMap = {
'&': '&amp;',
'<': '&lt;',
'>': '&gt;',
'"': '&quot;',
"'": '&#39;',
'/': '&#x2F;',
'`': '&#x60;',
'=': '&#x3D;'
};
return String(string).replace(/[&<>"'`=\/]/g, function fromEntityMap(s) {
return entityMap[s];
});
},
search: function (input) {
return ['ab', 'cd'];
},
hasError: function () {
return this.error.length > 0;
},
clearTitle: function () {
//props.value = '';
this.title = '';
this.$refs.title.value = '';
this.$emit('input', this.$refs.title.value);
// some event?
this.$emit('clear:title')
},
handleInput(e) {
this.$emit('input', this.$refs.title.value);
},
handleEnter: function (e) {
// See reference nr. 7
if (e.keyCode === 13) {
//e.preventDefault();
}
},
selectedItem: function (e) {
if (typeof this.name === 'undefined') {
return;
}
if (typeof this.name === 'string') {
return;
}
this.$refs.title.value = this.name.description;
this.$emit('input', this.$refs.title.value);
handleInput() {
this.$emit('input', this.title);
},
}
}

View File

@ -0,0 +1,92 @@
<!--
- TransactionDescription.vue
- Copyright (c) 2019 james@firefly-iii.org
-
- This file is part of Firefly III (https://github.com/firefly-iii).
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU Affero General Public License as
- published by the Free Software Foundation, either version 3 of the
- License, or (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU Affero General Public License for more details.
-
- You should have received a copy of the GNU Affero General Public License
- along with this program. If not, see <https://www.gnu.org/licenses/>.
-->
<template>
<div class="form-group" v-bind:class="{ 'has-error': hasError()}">
<label class="col-sm-4 control-label">
{{ $t('form.url') }}
</label>
<div class="col-sm-8">
<div class="input-group">
<input
ref="title"
:title="$t('form.url')"
v-model="url"
autocomplete="off"
class="form-control"
@input="handleInput"
name="url"
type="text"
placeholder="https://"
v-on:submit.prevent
>
<span class="input-group-btn">
<button
class="btn btn-default"
tabIndex="-1"
type="button"
v-on:click="clearUrl"><i class="fa fa-trash-o"></i></button>
</span>
</div>
<ul v-for="error in this.error" class="list-unstyled">
<li class="text-danger">{{ error }}</li>
</ul>
</div>
</div>
</template>
<script>
export default {
props: {
error: {
type: Array,
required: true,
default() {
return []
}
},
value: {
type: String,
required: true,
}
},
name: "URL",
mounted() {
this.url = this.value;
},
components: {},
data() {
return {
url: null,
}
},
methods: {
hasError: function () {
return this.error?.length > 0;
},
clearUrl: function () {
this.url = '';
},
handleInput() {
this.$emit('input', this.url);
},
}
}
</script>

View File

@ -0,0 +1,87 @@
<!--
- WebhookDelivery.vue
- Copyright (c) 2022 james@firefly-iii.org
-
- This file is part of Firefly III (https://github.com/firefly-iii).
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU Affero General Public License as
- published by the Free Software Foundation, either version 3 of the
- License, or (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU Affero General Public License for more details.
-
- You should have received a copy of the GNU Affero General Public License
- along with this program. If not, see <https://www.gnu.org/licenses/>.
-->
<template>
<div class="form-group" v-bind:class="{ 'has-error': hasError()}">
<label class="col-sm-4 control-label">
{{ $t('form.webhook_delivery') }}
</label>
<div class="col-sm-8">
<select
ref="bill"
v-model="delivery"
:title="$t('form.webhook_delivery')"
class="form-control"
@input="handleInput"
name="webhook_delivery"
>
<option v-for="delivery in this.deliveries"
:label="delivery.name"
:value="delivery.id">{{ delivery.name }}
</option>
</select>
<p class="help-block" v-html="$t('firefly.webhook_delivery_form_help')"></p>
<ul v-for="error in this.error" class="list-unstyled">
<li class="text-danger">{{ error }}</li>
</ul>
</div>
</div>
</template>
<script>
export default {
name: "WebhookDelivery",
data() {
return {
delivery : 0,
deliveries: [
],
};
},
props: {
error: {
type: Array,
required: true,
default() {
return []
}
},
value: {
type: Number,
required: true,
}
},
mounted() {
this.delivery = this.value;
this.deliveries = [
{id: 300, name: this.$t('firefly.webhook_delivery_JSON')},
];
},
methods: {
hasError() {
return this.error?.length > 0;
},
handleInput() {
this.$emit('input', this.delivery);
},
},
}
</script>

View File

@ -0,0 +1,87 @@
<!--
- WebhookResponse.vue
- Copyright (c) 2022 james@firefly-iii.org
-
- This file is part of Firefly III (https://github.com/firefly-iii).
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU Affero General Public License as
- published by the Free Software Foundation, either version 3 of the
- License, or (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU Affero General Public License for more details.
-
- You should have received a copy of the GNU Affero General Public License
- along with this program. If not, see <https://www.gnu.org/licenses/>.
-->
<template>
<div class="form-group" v-bind:class="{ 'has-error': hasError()}">
<label class="col-sm-4 control-label">
{{ $t('form.webhook_response') }}
</label>
<div class="col-sm-8">
<select
ref="bill"
v-model="response"
:title="$t('form.webhook_response')"
class="form-control"
@input="handleInput"
name="webhook_response"
>
<option v-for="response in this.responses"
:label="response.name"
:value="response.id">{{ response.name }}
</option>
</select>
<p class="help-block" v-html="$t('firefly.webhook_response_form_help')"></p>
<ul v-for="error in this.error" class="list-unstyled">
<li class="text-danger">{{ error }}</li>
</ul>
</div>
</div>
</template>
<script>
export default {
name: "WebhookResponse",
data() {
return {
response: 0,
responses: [],
};
},
props: {
error: {
type: Array,
required: true,
default() {
return []
}
},
value: {
type: Number,
required: true,
}
},
mounted() {
this.response = this.value;
this.responses = [
{id: 200, name: this.$t('firefly.webhook_response_TRANSACTIONS')},
{id: 210, name: this.$t('firefly.webhook_response_ACCOUNTS')},
{id: 220, name: this.$t('firefly.webhook_response_none_NONE')},
];
},
methods: {
hasError() {
return this.error?.length > 0;
},
handleInput() {
this.$emit('input', this.response);
},
},
}
</script>

View File

@ -0,0 +1,87 @@
<!--
- WebhookTrigger.vue
- Copyright (c) 2022 james@firefly-iii.org
-
- This file is part of Firefly III (https://github.com/firefly-iii).
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU Affero General Public License as
- published by the Free Software Foundation, either version 3 of the
- License, or (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU Affero General Public License for more details.
-
- You should have received a copy of the GNU Affero General Public License
- along with this program. If not, see <https://www.gnu.org/licenses/>.
-->
<template>
<div class="form-group" v-bind:class="{ 'has-error': hasError()}">
<label class="col-sm-4 control-label">
{{ $t('form.webhook_trigger') }}
</label>
<div class="col-sm-8">
<select
ref="bill"
v-model="trigger"
:title="$t('form.webhook_trigger')"
class="form-control"
@input="handleInput"
name="webhook_trigger"
>
<option v-for="trigger in this.triggers"
:label="trigger.name"
:value="trigger.id">{{ trigger.name }}
</option>
</select>
<p class="help-block" v-html="$t('firefly.webhook_trigger_form_help')"></p>
<ul v-for="error in this.error" class="list-unstyled">
<li class="text-danger">{{ error }}</li>
</ul>
</div>
</div>
</template>
<script>
export default {
name: "WebhookTrigger",
data() {
return {
trigger: 0,
triggers: [],
};
},
props: {
error: {
type: Array,
required: true,
default() {
return []
}
},
value: {
type: Number,
required: true,
}
},
mounted() {
this.trigger = this.value;
this.triggers = [
{id: 100, name: this.$t('firefly.webhook_trigger_STORE_TRANSACTION')},
{id: 110, name: this.$t('firefly.webhook_trigger_UPDATE_TRANSACTION')},
{id: 120, name: this.$t('firefly.webhook_trigger_DESTROY_TRANSACTION')},
];
},
methods: {
hasError() {
return this.error?.length > 0;
},
handleInput() {
this.$emit('input', this.trigger);
},
},
}
</script>

View File

@ -21,37 +21,145 @@
<template>
<form accept-charset="UTF-8" class="form-horizontal" enctype="multipart/form-data">
<input name="_token" type="hidden" value="xxx">
<div class="row">
<div class="col-lg-12 col-md-12 col-sm-12">
<div class="box">
<div class="box-header with-border">
<h3 class="box-title">
{{ $t('firefly.create_new_webhook') }}
</h3>
<div v-if="error_message !== ''" class="row">
<div class="col-lg-12">
<div class="alert alert-danger alert-dismissible" role="alert">
<button class="close" data-dismiss="alert" type="button" v-bind:aria-label="$t('firefly.close')"><span
aria-hidden="true">&times;</span></button>
<strong>{{ $t("firefly.flash_error") }}</strong> {{ error_message }}
</div>
<div class="box-body">
<div class="row">
<div class="col-lg-6">
<Title value="Hello" url="something" :error="[]"></Title>
</div>
</div>
<div v-if="success_message !== ''" class="row">
<div class="col-lg-12">
<div class="alert alert-success alert-dismissible" role="alert">
<button class="close" data-dismiss="alert" type="button" v-bind:aria-label="$t('firefly.close')"><span
aria-hidden="true">&times;</span></button>
<strong>{{ $t("firefly.flash_success") }}</strong> <span v-html="success_message"></span>
</div>
</div>
</div>
<div class="row">
<div class="col-lg-6 col-md-12 col-sm-12">
<div class="box box-primary">
<div class="box-header with-border">
<h3 class="box-title">
{{ $t('firefly.create_new_webhook') }}
</h3>
</div>
<div class="box-body">
<div class="row">
<div class="col-lg-12">
<Title :value=this.title :error="errors.title" v-on:input="title = $event"></Title>
<WebhookTrigger :value=this.trigger :error="errors.trigger"
v-on:input="trigger = $event"></WebhookTrigger>
<WebhookResponse :value=this.response :error="errors.response"
v-on:input="response = $event"></WebhookResponse>
<WebhookDelivery :value=this.delivery :error="errors.delivery"
v-on:input="delivery = $event"></WebhookDelivery>
<URL :value=this.url :error="errors.url" v-on:input="url = $event"></URL>
<Checkbox :value=this.active :error="errors.active" help="ACTIVE HELP TODO" :title="$t('form.active')" v-on:input="active = $event"></Checkbox>
</div>
</div>
<div class="col-lg-6">
B
</div>
<div class="box-footer">
<div class="btn-group">
<button id="submitButton" ref="submitButton" class="btn btn-success" @click="submit">
{{ $t('firefly.submit') }}
</button>
</div>
<p class="text-success" v-html="success_message"></p>
<p class="text-danger" v-html="error_message"></p>
</div>
</div>
</div>
</div>
</div>
</form>
</template>
<script>
import Title from "../form/Title";
import WebhookTrigger from "../form/WebhookTrigger";
import WebhookResponse from "../form/WebhookResponse";
import WebhookDelivery from "../form/WebhookDelivery";
import URL from "../form/URL";
import Checkbox from "../form/Checkbox";
export default {
name: "Create",
components: {Title},
// this.descriptionAutoCompleteURI = document.getElementsByTagName('base')[0].href + "api/v1/autocomplete/transactions?query=";
components: {URL, Title, WebhookTrigger, WebhookResponse, WebhookDelivery, Checkbox},
data() {
return {
error_message: '',
success_message: '',
title: '',
trigger: 100,
response: 200,
delivery: 300,
active: true,
url: '',
errors: {
title: [],
trigger: [],
response: [],
delivery: [],
url: [],
active: []
}
};
},
methods: {
submit: function (e) {
// reset messages
this.error_message = '';
this.success_message = '';
this.errors = {
title: [],
trigger: [],
response: [],
delivery: [],
url: [],
active: [],
};
// disable button
$('#submitButton').prop("disabled", true);
// collect data
let data = {
title: this.title,
trigger: this.trigger,
response: this.response,
delivery: this.delivery,
url: this.url,
};
// post!
axios.post('./api/v1/webhooks', data).then((response) => {
this.success_message = response.data.message;
// console.log('Will now go to redirectUser()');
let webhookId = response.data.data.id;
window.location.href = window.previousUrl + '?webhook_id=' + webhookId + '&message=created';
}).catch((error) => {
this.error_message = error.response.data.message;
this.errors.title = error.response.data.errors.title;
this.errors.trigger = error.response.data.errors.trigger;
this.errors.response = error.response.data.errors.response;
this.errors.delivery = error.response.data.errors.delivery;
this.errors.url = error.response.data.errors.url;
// enable button again
$('#submitButton').prop("disabled", false);
});
if (e) {
e.preventDefault();
}
}
},
}
</script>

View File

@ -96,9 +96,15 @@
"actions": "\u0414\u0435\u0439\u0441\u0442\u0432\u0438\u044f",
"inspect": "Inspect",
"create_new_webhook": "Create new webhook",
"webhooks": "Webhooks"
"webhooks": "Webhooks",
"webhook_trigger_form_help": "Indicate on what event the webhook wil trigger",
"webhook_response_form_help": "Indicate what the webhook must submit to the URL.",
"webhook_delivery_form_help": "Which format the webhook must deliver data in.",
"webhook_active_form_help": "The webhook must be active or it won't be called."
},
"form": {
"url": "URL",
"active": "\u0410\u043a\u0442\u0438\u0432\u0435\u043d",
"interest_date": "\u041f\u0430\u0434\u0435\u0436 \u043d\u0430 \u043b\u0438\u0445\u0432\u0430",
"title": "\u0417\u0430\u0433\u043b\u0430\u0432\u0438\u0435",
"book_date": "\u0414\u0430\u0442\u0430 \u043d\u0430 \u043e\u0441\u0447\u0435\u0442\u043e\u0432\u043e\u0434\u044f\u0432\u0430\u043d\u0435",
@ -107,7 +113,10 @@
"foreign_amount": "\u0421\u0443\u043c\u0430 \u0432\u044a\u0432 \u0432\u0430\u043b\u0443\u0442\u0430",
"payment_date": "\u0414\u0430\u0442\u0430 \u043d\u0430 \u043f\u043b\u0430\u0449\u0430\u043d\u0435",
"invoice_date": "\u0414\u0430\u0442\u0430 \u043d\u0430 \u0444\u0430\u043a\u0442\u0443\u0440\u0430",
"internal_reference": "\u0412\u044a\u0442\u0440\u0435\u0448\u043d\u0430 \u0440\u0435\u0444\u0435\u0440\u0435\u043d\u0446\u0438\u044f"
"internal_reference": "\u0412\u044a\u0442\u0440\u0435\u0448\u043d\u0430 \u0440\u0435\u0444\u0435\u0440\u0435\u043d\u0446\u0438\u044f",
"webhook_response": "Response",
"webhook_trigger": "Trigger",
"webhook_delivery": "Delivery"
},
"config": {
"html_language": "bg"

View File

@ -96,9 +96,15 @@
"actions": "Akce",
"inspect": "Inspect",
"create_new_webhook": "Create new webhook",
"webhooks": "Webhooky"
"webhooks": "Webhooky",
"webhook_trigger_form_help": "Indicate on what event the webhook wil trigger",
"webhook_response_form_help": "Indicate what the webhook must submit to the URL.",
"webhook_delivery_form_help": "Which format the webhook must deliver data in.",
"webhook_active_form_help": "The webhook must be active or it won't be called."
},
"form": {
"url": "URL",
"active": "Aktivn\u00ed",
"interest_date": "\u00darokov\u00e9 datum",
"title": "N\u00e1zev",
"book_date": "Datum rezervace",
@ -107,7 +113,10 @@
"foreign_amount": "\u010c\u00e1stka v ciz\u00ed m\u011bn\u011b",
"payment_date": "Datum zaplacen\u00ed",
"invoice_date": "Datum vystaven\u00ed",
"internal_reference": "Intern\u00ed reference"
"internal_reference": "Intern\u00ed reference",
"webhook_response": "Response",
"webhook_trigger": "Trigger",
"webhook_delivery": "Delivery"
},
"config": {
"html_language": "cs"

View File

@ -96,9 +96,15 @@
"actions": "Aktionen",
"inspect": "Inspect",
"create_new_webhook": "Create new webhook",
"webhooks": "Webhooks"
"webhooks": "Webhooks",
"webhook_trigger_form_help": "Indicate on what event the webhook wil trigger",
"webhook_response_form_help": "Indicate what the webhook must submit to the URL.",
"webhook_delivery_form_help": "Which format the webhook must deliver data in.",
"webhook_active_form_help": "The webhook must be active or it won't be called."
},
"form": {
"url": "URL",
"active": "Aktiv",
"interest_date": "Zinstermin",
"title": "Titel",
"book_date": "Buchungsdatum",
@ -107,7 +113,10 @@
"foreign_amount": "Ausl\u00e4ndischer Betrag",
"payment_date": "Zahlungsdatum",
"invoice_date": "Rechnungsdatum",
"internal_reference": "Interner Verweis"
"internal_reference": "Interner Verweis",
"webhook_response": "Response",
"webhook_trigger": "Trigger",
"webhook_delivery": "Delivery"
},
"config": {
"html_language": "de"

View File

@ -96,9 +96,15 @@
"actions": "\u0395\u03bd\u03ad\u03c1\u03b3\u03b5\u03b9\u03b5\u03c2",
"inspect": "Inspect",
"create_new_webhook": "Create new webhook",
"webhooks": "Webhooks"
"webhooks": "Webhooks",
"webhook_trigger_form_help": "Indicate on what event the webhook wil trigger",
"webhook_response_form_help": "Indicate what the webhook must submit to the URL.",
"webhook_delivery_form_help": "Which format the webhook must deliver data in.",
"webhook_active_form_help": "The webhook must be active or it won't be called."
},
"form": {
"url": "\u0394\u03b9\u03b5\u03cd\u03b8\u03c5\u03bd\u03c3\u03b7 URL",
"active": "\u0395\u03bd\u03b5\u03c1\u03b3\u03cc",
"interest_date": "\u0397\u03bc\u03b5\u03c1\u03bf\u03bc\u03b7\u03bd\u03af\u03b1 \u03c4\u03bf\u03ba\u03b9\u03c3\u03bc\u03bf\u03cd",
"title": "\u03a4\u03af\u03c4\u03bb\u03bf\u03c2",
"book_date": "\u0397\u03bc\u03b5\u03c1\u03bf\u03bc\u03b7\u03bd\u03af\u03b1 \u03b5\u03b3\u03b3\u03c1\u03b1\u03c6\u03ae\u03c2",
@ -107,7 +113,10 @@
"foreign_amount": "\u03a0\u03bf\u03c3\u03cc \u03c3\u03b5 \u03be\u03ad\u03bd\u03bf \u03bd\u03cc\u03bc\u03b9\u03c3\u03bc\u03b1",
"payment_date": "\u0397\u03bc\u03b5\u03c1\u03bf\u03bc\u03b7\u03bd\u03af\u03b1 \u03c0\u03bb\u03b7\u03c1\u03c9\u03bc\u03ae\u03c2",
"invoice_date": "\u0397\u03bc\u03b5\u03c1\u03bf\u03bc\u03b7\u03bd\u03af\u03b1 \u03c4\u03b9\u03bc\u03bf\u03bb\u03cc\u03b3\u03b7\u03c3\u03b7\u03c2",
"internal_reference": "\u0395\u03c3\u03c9\u03c4\u03b5\u03c1\u03b9\u03ba\u03ae \u03b1\u03bd\u03b1\u03c6\u03bf\u03c1\u03ac"
"internal_reference": "\u0395\u03c3\u03c9\u03c4\u03b5\u03c1\u03b9\u03ba\u03ae \u03b1\u03bd\u03b1\u03c6\u03bf\u03c1\u03ac",
"webhook_response": "Response",
"webhook_trigger": "Trigger",
"webhook_delivery": "Delivery"
},
"config": {
"html_language": "el"

View File

@ -96,9 +96,15 @@
"actions": "Actions",
"inspect": "Inspect",
"create_new_webhook": "Create new webhook",
"webhooks": "Webhooks"
"webhooks": "Webhooks",
"webhook_trigger_form_help": "Indicate on what event the webhook wil trigger",
"webhook_response_form_help": "Indicate what the webhook must submit to the URL.",
"webhook_delivery_form_help": "Which format the webhook must deliver data in.",
"webhook_active_form_help": "The webhook must be active or it won't be called."
},
"form": {
"url": "URL",
"active": "Active",
"interest_date": "Interest date",
"title": "Title",
"book_date": "Book date",
@ -107,7 +113,10 @@
"foreign_amount": "Foreign amount",
"payment_date": "Payment date",
"invoice_date": "Invoice date",
"internal_reference": "Internal reference"
"internal_reference": "Internal reference",
"webhook_response": "Response",
"webhook_trigger": "Trigger",
"webhook_delivery": "Delivery"
},
"config": {
"html_language": "en-gb"

View File

@ -86,9 +86,9 @@
"multi_account_warning_withdrawal": "Keep in mind that the source account of subsequent splits will be overruled by whatever is defined in the first split of the withdrawal.",
"multi_account_warning_deposit": "Keep in mind that the destination account of subsequent splits will be overruled by whatever is defined in the first split of the deposit.",
"multi_account_warning_transfer": "Keep in mind that the source + destination account of subsequent splits will be overruled by whatever is defined in the first split of the transfer.",
"webhook_trigger_STORE_TRANSACTION": "On transaction creation",
"webhook_trigger_UPDATE_TRANSACTION": "On transaction update",
"webhook_trigger_DESTROY_TRANSACTION": "On transaction delete",
"webhook_trigger_STORE_TRANSACTION": "After transaction creation",
"webhook_trigger_UPDATE_TRANSACTION": "After transaction update",
"webhook_trigger_DESTROY_TRANSACTION": "After transaction delete",
"webhook_response_TRANSACTIONS": "Account details",
"webhook_response_ACCOUNTS": "Transaction details",
"webhook_response_none_NONE": "No details",
@ -96,9 +96,15 @@
"actions": "Actions",
"inspect": "Inspect",
"create_new_webhook": "Create new webhook",
"webhooks": "Webhooks"
"webhooks": "Webhooks",
"webhook_trigger_form_help": "Indicate on what event the webhook wil trigger",
"webhook_response_form_help": "Indicate what the webhook must submit to the URL.",
"webhook_delivery_form_help": "Which format the webhook must deliver data in.",
"webhook_active_form_help": "The webhook must be active or it won't be called."
},
"form": {
"url": "URL",
"active": "Active",
"interest_date": "Interest date",
"title": "Title",
"book_date": "Book date",
@ -107,7 +113,10 @@
"foreign_amount": "Foreign amount",
"payment_date": "Payment date",
"invoice_date": "Invoice date",
"internal_reference": "Internal reference"
"internal_reference": "Internal reference",
"webhook_response": "Response",
"webhook_trigger": "Trigger",
"webhook_delivery": "Delivery"
},
"config": {
"html_language": "en"

View File

@ -96,9 +96,15 @@
"actions": "Acciones",
"inspect": "Inspect",
"create_new_webhook": "Create new webhook",
"webhooks": "Webhooks"
"webhooks": "Webhooks",
"webhook_trigger_form_help": "Indicate on what event the webhook wil trigger",
"webhook_response_form_help": "Indicate what the webhook must submit to the URL.",
"webhook_delivery_form_help": "Which format the webhook must deliver data in.",
"webhook_active_form_help": "The webhook must be active or it won't be called."
},
"form": {
"url": "URL",
"active": "Activo",
"interest_date": "Fecha de inter\u00e9s",
"title": "T\u00edtulo",
"book_date": "Fecha de registro",
@ -107,7 +113,10 @@
"foreign_amount": "Cantidad extranjera",
"payment_date": "Fecha de pago",
"invoice_date": "Fecha de la factura",
"internal_reference": "Referencia interna"
"internal_reference": "Referencia interna",
"webhook_response": "Response",
"webhook_trigger": "Trigger",
"webhook_delivery": "Delivery"
},
"config": {
"html_language": "es"

View File

@ -96,9 +96,15 @@
"actions": "Toiminnot",
"inspect": "Inspect",
"create_new_webhook": "Create new webhook",
"webhooks": "Webhookit"
"webhooks": "Webhookit",
"webhook_trigger_form_help": "Indicate on what event the webhook wil trigger",
"webhook_response_form_help": "Indicate what the webhook must submit to the URL.",
"webhook_delivery_form_help": "Which format the webhook must deliver data in.",
"webhook_active_form_help": "The webhook must be active or it won't be called."
},
"form": {
"url": "URL-osoite",
"active": "Aktiivinen",
"interest_date": "Korkop\u00e4iv\u00e4",
"title": "Otsikko",
"book_date": "Kirjausp\u00e4iv\u00e4",
@ -107,7 +113,10 @@
"foreign_amount": "Ulkomaan summa",
"payment_date": "Maksup\u00e4iv\u00e4",
"invoice_date": "Laskun p\u00e4iv\u00e4m\u00e4\u00e4r\u00e4",
"internal_reference": "Sis\u00e4inen viite"
"internal_reference": "Sis\u00e4inen viite",
"webhook_response": "Response",
"webhook_trigger": "Trigger",
"webhook_delivery": "Delivery"
},
"config": {
"html_language": "fi"

View File

@ -96,9 +96,15 @@
"actions": "Actions",
"inspect": "Inspect",
"create_new_webhook": "Create new webhook",
"webhooks": "Webhooks"
"webhooks": "Webhooks",
"webhook_trigger_form_help": "Indicate on what event the webhook wil trigger",
"webhook_response_form_help": "Indicate what the webhook must submit to the URL.",
"webhook_delivery_form_help": "Which format the webhook must deliver data in.",
"webhook_active_form_help": "The webhook must be active or it won't be called."
},
"form": {
"url": "Liens",
"active": "Actif",
"interest_date": "Date de valeur (int\u00e9r\u00eats)",
"title": "Titre",
"book_date": "Date de r\u00e9servation",
@ -107,7 +113,10 @@
"foreign_amount": "Montant en devise \u00e9trang\u00e8re",
"payment_date": "Date de paiement",
"invoice_date": "Date de facturation",
"internal_reference": "R\u00e9f\u00e9rence interne"
"internal_reference": "R\u00e9f\u00e9rence interne",
"webhook_response": "Response",
"webhook_trigger": "Trigger",
"webhook_delivery": "Delivery"
},
"config": {
"html_language": "fr"

View File

@ -96,9 +96,15 @@
"actions": "M\u0171veletek",
"inspect": "Inspect",
"create_new_webhook": "Create new webhook",
"webhooks": "Webhooks"
"webhooks": "Webhooks",
"webhook_trigger_form_help": "Indicate on what event the webhook wil trigger",
"webhook_response_form_help": "Indicate what the webhook must submit to the URL.",
"webhook_delivery_form_help": "Which format the webhook must deliver data in.",
"webhook_active_form_help": "The webhook must be active or it won't be called."
},
"form": {
"url": "URL",
"active": "Akt\u00edv",
"interest_date": "Kamatfizet\u00e9si id\u0151pont",
"title": "C\u00edm",
"book_date": "K\u00f6nyvel\u00e9s d\u00e1tuma",
@ -107,7 +113,10 @@
"foreign_amount": "K\u00fclf\u00f6ldi \u00f6sszeg",
"payment_date": "Fizet\u00e9s d\u00e1tuma",
"invoice_date": "Sz\u00e1mla d\u00e1tuma",
"internal_reference": "Bels\u0151 hivatkoz\u00e1s"
"internal_reference": "Bels\u0151 hivatkoz\u00e1s",
"webhook_response": "Response",
"webhook_trigger": "Trigger",
"webhook_delivery": "Delivery"
},
"config": {
"html_language": "hu"

View File

@ -96,9 +96,15 @@
"actions": "Azioni",
"inspect": "Inspect",
"create_new_webhook": "Create new webhook",
"webhooks": "Webhook"
"webhooks": "Webhook",
"webhook_trigger_form_help": "Indicate on what event the webhook wil trigger",
"webhook_response_form_help": "Indicate what the webhook must submit to the URL.",
"webhook_delivery_form_help": "Which format the webhook must deliver data in.",
"webhook_active_form_help": "The webhook must be active or it won't be called."
},
"form": {
"url": "URL",
"active": "Attivo",
"interest_date": "Data di valuta",
"title": "Titolo",
"book_date": "Data contabile",
@ -107,7 +113,10 @@
"foreign_amount": "Importo estero",
"payment_date": "Data pagamento",
"invoice_date": "Data fatturazione",
"internal_reference": "Riferimento interno"
"internal_reference": "Riferimento interno",
"webhook_response": "Response",
"webhook_trigger": "Trigger",
"webhook_delivery": "Delivery"
},
"config": {
"html_language": "it"

View File

@ -96,9 +96,15 @@
"actions": "\u64cd\u4f5c",
"inspect": "Inspect",
"create_new_webhook": "Create new webhook",
"webhooks": "Webhooks"
"webhooks": "Webhooks",
"webhook_trigger_form_help": "Indicate on what event the webhook wil trigger",
"webhook_response_form_help": "Indicate what the webhook must submit to the URL.",
"webhook_delivery_form_help": "Which format the webhook must deliver data in.",
"webhook_active_form_help": "The webhook must be active or it won't be called."
},
"form": {
"url": "URL",
"active": "\u6709\u52b9",
"interest_date": "\u5229\u606f\u65e5",
"title": "\u30bf\u30a4\u30c8\u30eb",
"book_date": "\u8a18\u5e33\u65e5",
@ -107,7 +113,10 @@
"foreign_amount": "\u5916\u8ca8\u91d1\u984d",
"payment_date": "\u5f15\u304d\u843d\u3068\u3057\u65e5",
"invoice_date": "\u9818\u53ce\u66f8\u767a\u884c\u65e5",
"internal_reference": "\u5185\u90e8\u53c2\u7167"
"internal_reference": "\u5185\u90e8\u53c2\u7167",
"webhook_response": "Response",
"webhook_trigger": "Trigger",
"webhook_delivery": "Delivery"
},
"config": {
"html_language": "ja"

View File

@ -96,9 +96,15 @@
"actions": "Handlinger",
"inspect": "Inspect",
"create_new_webhook": "Create new webhook",
"webhooks": "Webhooks"
"webhooks": "Webhooks",
"webhook_trigger_form_help": "Indicate on what event the webhook wil trigger",
"webhook_response_form_help": "Indicate what the webhook must submit to the URL.",
"webhook_delivery_form_help": "Which format the webhook must deliver data in.",
"webhook_active_form_help": "The webhook must be active or it won't be called."
},
"form": {
"url": "URL",
"active": "Aktiv",
"interest_date": "Rentedato",
"title": "Tittel",
"book_date": "Bokf\u00f8ringsdato",
@ -107,7 +113,10 @@
"foreign_amount": "Utenlandske bel\u00f8p",
"payment_date": "Betalingsdato",
"invoice_date": "Fakturadato",
"internal_reference": "Intern referanse"
"internal_reference": "Intern referanse",
"webhook_response": "Response",
"webhook_trigger": "Trigger",
"webhook_delivery": "Delivery"
},
"config": {
"html_language": "nb"

View File

@ -96,9 +96,15 @@
"actions": "Acties",
"inspect": "Inspect",
"create_new_webhook": "Create new webhook",
"webhooks": "Webhooks"
"webhooks": "Webhooks",
"webhook_trigger_form_help": "Indicate on what event the webhook wil trigger",
"webhook_response_form_help": "Indicate what the webhook must submit to the URL.",
"webhook_delivery_form_help": "Which format the webhook must deliver data in.",
"webhook_active_form_help": "The webhook must be active or it won't be called."
},
"form": {
"url": "URL",
"active": "Actief",
"interest_date": "Rentedatum",
"title": "Titel",
"book_date": "Boekdatum",
@ -107,7 +113,10 @@
"foreign_amount": "Bedrag in vreemde valuta",
"payment_date": "Betalingsdatum",
"invoice_date": "Factuurdatum",
"internal_reference": "Interne verwijzing"
"internal_reference": "Interne verwijzing",
"webhook_response": "Response",
"webhook_trigger": "Trigger",
"webhook_delivery": "Delivery"
},
"config": {
"html_language": "nl"

View File

@ -96,9 +96,15 @@
"actions": "Akcje",
"inspect": "Inspect",
"create_new_webhook": "Create new webhook",
"webhooks": "Webhooki"
"webhooks": "Webhooki",
"webhook_trigger_form_help": "Indicate on what event the webhook wil trigger",
"webhook_response_form_help": "Indicate what the webhook must submit to the URL.",
"webhook_delivery_form_help": "Which format the webhook must deliver data in.",
"webhook_active_form_help": "The webhook must be active or it won't be called."
},
"form": {
"url": "URL",
"active": "Aktywny",
"interest_date": "Data odsetek",
"title": "Tytu\u0142",
"book_date": "Data ksi\u0119gowania",
@ -107,7 +113,10 @@
"foreign_amount": "Kwota zagraniczna",
"payment_date": "Data p\u0142atno\u015bci",
"invoice_date": "Data faktury",
"internal_reference": "Wewn\u0119trzny numer"
"internal_reference": "Wewn\u0119trzny numer",
"webhook_response": "Response",
"webhook_trigger": "Trigger",
"webhook_delivery": "Delivery"
},
"config": {
"html_language": "pl"

View File

@ -96,9 +96,15 @@
"actions": "A\u00e7\u00f5es",
"inspect": "Inspect",
"create_new_webhook": "Create new webhook",
"webhooks": "Webhooks"
"webhooks": "Webhooks",
"webhook_trigger_form_help": "Indicate on what event the webhook wil trigger",
"webhook_response_form_help": "Indicate what the webhook must submit to the URL.",
"webhook_delivery_form_help": "Which format the webhook must deliver data in.",
"webhook_active_form_help": "The webhook must be active or it won't be called."
},
"form": {
"url": "link",
"active": "Ativar",
"interest_date": "Data de interesse",
"title": "T\u00edtulo",
"book_date": "Data reserva",
@ -107,7 +113,10 @@
"foreign_amount": "Montante em moeda estrangeira",
"payment_date": "Data de pagamento",
"invoice_date": "Data da Fatura",
"internal_reference": "Refer\u00eancia interna"
"internal_reference": "Refer\u00eancia interna",
"webhook_response": "Response",
"webhook_trigger": "Trigger",
"webhook_delivery": "Delivery"
},
"config": {
"html_language": "pt-br"

View File

@ -96,9 +96,15 @@
"actions": "A\u00e7\u00f5es",
"inspect": "Inspect",
"create_new_webhook": "Create new webhook",
"webhooks": "Webhooks"
"webhooks": "Webhooks",
"webhook_trigger_form_help": "Indicate on what event the webhook wil trigger",
"webhook_response_form_help": "Indicate what the webhook must submit to the URL.",
"webhook_delivery_form_help": "Which format the webhook must deliver data in.",
"webhook_active_form_help": "The webhook must be active or it won't be called."
},
"form": {
"url": "URL",
"active": "Activo",
"interest_date": "Data de juros",
"title": "Titulo",
"book_date": "Data de registo",
@ -107,7 +113,10 @@
"foreign_amount": "Montante estrangeiro",
"payment_date": "Data de pagamento",
"invoice_date": "Data da factura",
"internal_reference": "Referencia interna"
"internal_reference": "Referencia interna",
"webhook_response": "Response",
"webhook_trigger": "Trigger",
"webhook_delivery": "Delivery"
},
"config": {
"html_language": "pt"

View File

@ -96,9 +96,15 @@
"actions": "Ac\u021biuni",
"inspect": "Inspect",
"create_new_webhook": "Create new webhook",
"webhooks": "Webhook-uri"
"webhooks": "Webhook-uri",
"webhook_trigger_form_help": "Indicate on what event the webhook wil trigger",
"webhook_response_form_help": "Indicate what the webhook must submit to the URL.",
"webhook_delivery_form_help": "Which format the webhook must deliver data in.",
"webhook_active_form_help": "The webhook must be active or it won't be called."
},
"form": {
"url": "URL",
"active": "Activ",
"interest_date": "Data de interes",
"title": "Titlu",
"book_date": "Rezerv\u0103 dat\u0103",
@ -107,7 +113,10 @@
"foreign_amount": "Sum\u0103 str\u0103in\u0103",
"payment_date": "Data de plat\u0103",
"invoice_date": "Data facturii",
"internal_reference": "Referin\u021b\u0103 intern\u0103"
"internal_reference": "Referin\u021b\u0103 intern\u0103",
"webhook_response": "Response",
"webhook_trigger": "Trigger",
"webhook_delivery": "Delivery"
},
"config": {
"html_language": "ro"

View File

@ -96,9 +96,15 @@
"actions": "\u0414\u0435\u0439\u0441\u0442\u0432\u0438\u044f",
"inspect": "Inspect",
"create_new_webhook": "Create new webhook",
"webhooks": "\u0412\u0435\u0431-\u0445\u0443\u043a\u0438"
"webhooks": "\u0412\u0435\u0431-\u0445\u0443\u043a\u0438",
"webhook_trigger_form_help": "Indicate on what event the webhook wil trigger",
"webhook_response_form_help": "Indicate what the webhook must submit to the URL.",
"webhook_delivery_form_help": "Which format the webhook must deliver data in.",
"webhook_active_form_help": "The webhook must be active or it won't be called."
},
"form": {
"url": "\u0421\u0441\u044b\u043b\u043a\u0430",
"active": "\u0410\u043a\u0442\u0438\u0432\u043d\u044b\u0439",
"interest_date": "\u0414\u0430\u0442\u0430 \u043d\u0430\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f \u043f\u0440\u043e\u0446\u0435\u043d\u0442\u043e\u0432",
"title": "\u0417\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u043a",
"book_date": "\u0414\u0430\u0442\u0430 \u0431\u0440\u043e\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f",
@ -107,7 +113,10 @@
"foreign_amount": "\u0421\u0443\u043c\u043c\u0430 \u0432 \u0438\u043d\u043e\u0441\u0442\u0440\u0430\u043d\u043d\u043e\u0439 \u0432\u0430\u043b\u044e\u0442\u0435",
"payment_date": "\u0414\u0430\u0442\u0430 \u043f\u043b\u0430\u0442\u0435\u0436\u0430",
"invoice_date": "\u0414\u0430\u0442\u0430 \u0432\u044b\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0441\u0447\u0451\u0442\u0430",
"internal_reference": "\u0412\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u044f\u044f \u0441\u0441\u044b\u043b\u043a\u0430"
"internal_reference": "\u0412\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u044f\u044f \u0441\u0441\u044b\u043b\u043a\u0430",
"webhook_response": "Response",
"webhook_trigger": "Trigger",
"webhook_delivery": "Delivery"
},
"config": {
"html_language": "ru"

View File

@ -96,9 +96,15 @@
"actions": "Akcie",
"inspect": "Inspect",
"create_new_webhook": "Create new webhook",
"webhooks": "Webhooky"
"webhooks": "Webhooky",
"webhook_trigger_form_help": "Indicate on what event the webhook wil trigger",
"webhook_response_form_help": "Indicate what the webhook must submit to the URL.",
"webhook_delivery_form_help": "Which format the webhook must deliver data in.",
"webhook_active_form_help": "The webhook must be active or it won't be called."
},
"form": {
"url": "URL",
"active": "Akt\u00edvne",
"interest_date": "\u00darokov\u00fd d\u00e1tum",
"title": "N\u00e1zov",
"book_date": "D\u00e1tum rezerv\u00e1cie",
@ -107,7 +113,10 @@
"foreign_amount": "Suma v cudzej mene",
"payment_date": "D\u00e1tum \u00fahrady",
"invoice_date": "D\u00e1tum vystavenia",
"internal_reference": "Intern\u00e1 referencia"
"internal_reference": "Intern\u00e1 referencia",
"webhook_response": "Response",
"webhook_trigger": "Trigger",
"webhook_delivery": "Delivery"
},
"config": {
"html_language": "sk"

View File

@ -96,9 +96,15 @@
"actions": "\u00c5tg\u00e4rder",
"inspect": "Inspect",
"create_new_webhook": "Create new webhook",
"webhooks": "Webhookar"
"webhooks": "Webhookar",
"webhook_trigger_form_help": "Indicate on what event the webhook wil trigger",
"webhook_response_form_help": "Indicate what the webhook must submit to the URL.",
"webhook_delivery_form_help": "Which format the webhook must deliver data in.",
"webhook_active_form_help": "The webhook must be active or it won't be called."
},
"form": {
"url": "L\u00e4nk",
"active": "Aktiv",
"interest_date": "R\u00e4ntedatum",
"title": "Titel",
"book_date": "Bokf\u00f6ringsdatum",
@ -107,7 +113,10 @@
"foreign_amount": "Utl\u00e4ndskt belopp",
"payment_date": "Betalningsdatum",
"invoice_date": "Fakturadatum",
"internal_reference": "Intern referens"
"internal_reference": "Intern referens",
"webhook_response": "Response",
"webhook_trigger": "Trigger",
"webhook_delivery": "Delivery"
},
"config": {
"html_language": "sv"

View File

@ -96,9 +96,15 @@
"actions": "Eylemler",
"inspect": "Inspect",
"create_new_webhook": "Create new webhook",
"webhooks": "Web kancalar\u0131"
"webhooks": "Web kancalar\u0131",
"webhook_trigger_form_help": "Indicate on what event the webhook wil trigger",
"webhook_response_form_help": "Indicate what the webhook must submit to the URL.",
"webhook_delivery_form_help": "Which format the webhook must deliver data in.",
"webhook_active_form_help": "The webhook must be active or it won't be called."
},
"form": {
"url": "URL",
"active": "Aktif",
"interest_date": "Faiz tarihi",
"title": "Ba\u015fl\u0131k",
"book_date": "Kitap Tarihi",
@ -107,7 +113,10 @@
"foreign_amount": "Foreign amount",
"payment_date": "\u00d6deme Tarihi",
"invoice_date": "Fatura Tarihi",
"internal_reference": "Dahili referans"
"internal_reference": "Dahili referans",
"webhook_response": "Response",
"webhook_trigger": "Trigger",
"webhook_delivery": "Delivery"
},
"config": {
"html_language": "tr"

View File

@ -96,9 +96,15 @@
"actions": "H\u00e0nh \u0111\u1ed9ng",
"inspect": "Inspect",
"create_new_webhook": "Create new webhook",
"webhooks": "Webhooks"
"webhooks": "Webhooks",
"webhook_trigger_form_help": "Indicate on what event the webhook wil trigger",
"webhook_response_form_help": "Indicate what the webhook must submit to the URL.",
"webhook_delivery_form_help": "Which format the webhook must deliver data in.",
"webhook_active_form_help": "The webhook must be active or it won't be called."
},
"form": {
"url": "URL",
"active": "H\u00e0nh \u0111\u1ed9ng",
"interest_date": "Ng\u00e0y l\u00e3i",
"title": "Ti\u00eau \u0111\u1ec1",
"book_date": "Ng\u00e0y \u0111\u1eb7t s\u00e1ch",
@ -107,7 +113,10 @@
"foreign_amount": "Ngo\u1ea1i t\u1ec7",
"payment_date": "Ng\u00e0y thanh to\u00e1n",
"invoice_date": "Ng\u00e0y h\u00f3a \u0111\u01a1n",
"internal_reference": "T\u00e0i li\u1ec7u tham kh\u1ea3o n\u1ed9i b\u1ed9"
"internal_reference": "T\u00e0i li\u1ec7u tham kh\u1ea3o n\u1ed9i b\u1ed9",
"webhook_response": "Response",
"webhook_trigger": "Trigger",
"webhook_delivery": "Delivery"
},
"config": {
"html_language": "vi"

View File

@ -96,9 +96,15 @@
"actions": "\u64cd\u4f5c",
"inspect": "Inspect",
"create_new_webhook": "Create new webhook",
"webhooks": "Webhooks"
"webhooks": "Webhooks",
"webhook_trigger_form_help": "Indicate on what event the webhook wil trigger",
"webhook_response_form_help": "Indicate what the webhook must submit to the URL.",
"webhook_delivery_form_help": "Which format the webhook must deliver data in.",
"webhook_active_form_help": "The webhook must be active or it won't be called."
},
"form": {
"url": "\u7f51\u5740",
"active": "\u542f\u7528",
"interest_date": "\u5229\u606f\u65e5\u671f",
"title": "\u6807\u9898",
"book_date": "\u767b\u8bb0\u65e5\u671f",
@ -107,7 +113,10 @@
"foreign_amount": "\u5916\u5e01\u91d1\u989d",
"payment_date": "\u4ed8\u6b3e\u65e5\u671f",
"invoice_date": "\u53d1\u7968\u65e5\u671f",
"internal_reference": "\u5185\u90e8\u5f15\u7528"
"internal_reference": "\u5185\u90e8\u5f15\u7528",
"webhook_response": "Response",
"webhook_trigger": "Trigger",
"webhook_delivery": "Delivery"
},
"config": {
"html_language": "zh-cn"

View File

@ -96,9 +96,15 @@
"actions": "\u64cd\u4f5c",
"inspect": "Inspect",
"create_new_webhook": "Create new webhook",
"webhooks": "Webhooks"
"webhooks": "Webhooks",
"webhook_trigger_form_help": "Indicate on what event the webhook wil trigger",
"webhook_response_form_help": "Indicate what the webhook must submit to the URL.",
"webhook_delivery_form_help": "Which format the webhook must deliver data in.",
"webhook_active_form_help": "The webhook must be active or it won't be called."
},
"form": {
"url": "URL",
"active": "\u555f\u7528",
"interest_date": "\u5229\u7387\u65e5\u671f",
"title": "\u6a19\u984c",
"book_date": "\u767b\u8a18\u65e5\u671f",
@ -107,7 +113,10 @@
"foreign_amount": "\u5916\u5e63\u91d1\u984d",
"payment_date": "\u4ed8\u6b3e\u65e5\u671f",
"invoice_date": "\u767c\u7968\u65e5\u671f",
"internal_reference": "\u5167\u90e8\u53c3\u8003"
"internal_reference": "\u5167\u90e8\u53c3\u8003",
"webhook_response": "Response",
"webhook_trigger": "Trigger",
"webhook_delivery": "Delivery"
},
"config": {
"html_language": "zh-tw"

View File

@ -229,9 +229,9 @@ return [
// Webhooks
'webhooks' => 'Webhooks',
'webhooks_breadcrumb' => 'Webhooks',
'webhook_trigger_STORE_TRANSACTION' => 'On transaction creation',
'webhook_trigger_UPDATE_TRANSACTION' => 'On transaction update',
'webhook_trigger_DESTROY_TRANSACTION' => 'On transaction delete',
'webhook_trigger_STORE_TRANSACTION' => 'After transaction creation',
'webhook_trigger_UPDATE_TRANSACTION' => 'After transaction update',
'webhook_trigger_DESTROY_TRANSACTION' => 'After transaction delete',
'webhook_response_TRANSACTIONS' => 'Account details',
'webhook_response_ACCOUNTS' => 'Transaction details',
'webhook_response_none_NONE' => 'No details',
@ -239,6 +239,11 @@ return [
'inspect' => 'Inspect',
'create_new_webhook' => 'Create new webhook',
'webhooks_create_breadcrumb' => 'Create new webhook',
'webhook_trigger_form_help' => 'Indicate on what event the webhook wil trigger',
'webhook_response_form_help' => 'Indicate what the webhook must submit to the URL.',
'webhook_delivery_form_help' => 'Which format the webhook must deliver data in.',
'webhook_active_form_help' => 'The webhook must be active or it won\'t be called.',
'stored_new_webhook' => 'Stored new webhook ":title"',
// API access
'authorization_request' => 'Firefly III v:version Authorization Request',

View File

@ -246,4 +246,7 @@ return [
'submitted' => 'Submitted',
'key' => 'Key',
'value' => 'Content of record',
'webhook_delivery' => 'Delivery',
'webhook_response' => 'Response',
'webhook_trigger' => 'Trigger',
];

View File

@ -8,5 +8,7 @@
<div id="webhooks_create"></div>
{% endblock %}
{% block scripts %}
<script type="text/javascript" nonce="{{ JS_NONCE }}">
var previousUrl = '{{ previousUrl }}';
</script>
{% endblock %}

View File

@ -1239,7 +1239,7 @@ try {
Breadcrumbs::for(
'webhooks.create',
static function (Generator $breadcrumbs): void {
$breadcrumbs->parent('index');
$breadcrumbs->parent('webhooks.index');
$breadcrumbs->push(trans('firefly.webhooks_create_breadcrumb'), route('webhooks.create'));
}
);