mirror of
https://github.com/invoiceninja/invoiceninja.git
synced 2024-09-20 00:11:35 +02:00
Working on subscriptions UI
This commit is contained in:
parent
a44bcdad21
commit
f5a5881454
@ -24,15 +24,8 @@ class IntegrationController extends Controller
|
|||||||
return Response::json('Event is invalid', 500);
|
return Response::json('Event is invalid', 500);
|
||||||
}
|
}
|
||||||
|
|
||||||
$subscription = Subscription::where('account_id', '=', Auth::user()->account_id)
|
$subscription = Subscription::createNew();
|
||||||
->where('event_id', '=', $eventId)->first();
|
$subscription->event_id = $eventId;
|
||||||
|
|
||||||
if (! $subscription) {
|
|
||||||
$subscription = new Subscription();
|
|
||||||
$subscription->account_id = Auth::user()->account_id;
|
|
||||||
$subscription->event_id = $eventId;
|
|
||||||
}
|
|
||||||
|
|
||||||
$subscription->target_url = trim(Input::get('target_url'));
|
$subscription->target_url = trim(Input::get('target_url'));
|
||||||
$subscription->save();
|
$subscription->save();
|
||||||
|
|
||||||
|
@ -132,21 +132,25 @@ class SubscriptionListener
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
$subscription = $entity->account->getSubscription($eventId);
|
$subscriptions = $entity->account->getSubscriptions($eventId);
|
||||||
|
|
||||||
if ($subscription) {
|
if (! $subscriptions->count()) {
|
||||||
$manager = new Manager();
|
return;
|
||||||
$manager->setSerializer(new ArraySerializer());
|
}
|
||||||
$manager->parseIncludes($include);
|
|
||||||
|
|
||||||
$resource = new Item($entity, $transformer, $entity->getEntityType());
|
$manager = new Manager();
|
||||||
$data = $manager->createData($resource)->toArray();
|
$manager->setSerializer(new ArraySerializer());
|
||||||
|
$manager->parseIncludes($include);
|
||||||
|
|
||||||
// For legacy Zapier support
|
$resource = new Item($entity, $transformer, $entity->getEntityType());
|
||||||
if (isset($data['client_id'])) {
|
$data = $manager->createData($resource)->toArray();
|
||||||
$data['client_name'] = $entity->client->getDisplayName();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
// For legacy Zapier support
|
||||||
|
if (isset($data['client_id'])) {
|
||||||
|
$data['client_name'] = $entity->client->getDisplayName();
|
||||||
|
}
|
||||||
|
|
||||||
|
foreach ($subscriptions as $subscription) {
|
||||||
Utils::notifyZapier($subscription, $data);
|
Utils::notifyZapier($subscription, $data);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1285,9 +1285,9 @@ class Account extends Eloquent
|
|||||||
*
|
*
|
||||||
* @return \Illuminate\Database\Eloquent\Model|null|static
|
* @return \Illuminate\Database\Eloquent\Model|null|static
|
||||||
*/
|
*/
|
||||||
public function getSubscription($eventId)
|
public function getSubscriptions($eventId)
|
||||||
{
|
{
|
||||||
return Subscription::where('account_id', '=', $this->id)->where('event_id', '=', $eventId)->first();
|
return Subscription::where('account_id', '=', $this->id)->where('event_id', '=', $eventId)->get();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -38,5 +38,12 @@ class Subscription extends EntityModel
|
|||||||
return ENTITY_SUBSCRIPTION;
|
return ENTITY_SUBSCRIPTION;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return \Illuminate\Database\Eloquent\Relations\BelongsTo
|
||||||
|
*/
|
||||||
|
public function account()
|
||||||
|
{
|
||||||
|
return $this->belongsTo('App\Models\Account');
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -71,7 +71,10 @@ class AddSubdomainToLookups extends Migration
|
|||||||
});
|
});
|
||||||
|
|
||||||
$accountPublicIds = [];
|
$accountPublicIds = [];
|
||||||
foreach (Subscription::withTrashed()->orderBy('id')->get() as $subscription) {
|
foreach (Subscription::withTrashed()
|
||||||
|
->with('account.users')
|
||||||
|
->orderBy('id')
|
||||||
|
->get() as $subscription) {
|
||||||
$accountId = $subscription->account_id;
|
$accountId = $subscription->account_id;
|
||||||
if (isset($accountPublicIds[$accountId])) {
|
if (isset($accountPublicIds[$accountId])) {
|
||||||
$publicId = $accountPublicIds[$accountId];
|
$publicId = $accountPublicIds[$accountId];
|
||||||
@ -81,6 +84,7 @@ class AddSubdomainToLookups extends Migration
|
|||||||
$accountPublicIds[$accountId] = 2;
|
$accountPublicIds[$accountId] = 2;
|
||||||
}
|
}
|
||||||
$subscription->public_id = $publicId;
|
$subscription->public_id = $publicId;
|
||||||
|
$subscription->user_id = $subscription->account->users[0]->id;
|
||||||
$subscription->save();
|
$subscription->save();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -126,8 +126,3 @@ To email an invoice use the email_invoice command passing the id of the invoice.
|
|||||||
|
|
||||||
curl -X POST ninja.dev/api/v1/email_invoice -d '{"id":1}' \
|
curl -X POST ninja.dev/api/v1/email_invoice -d '{"id":1}' \
|
||||||
-H "Content-Type:application/json" -H "X-Ninja-Token: TOKEN"
|
-H "Content-Type:application/json" -H "X-Ninja-Token: TOKEN"
|
||||||
|
|
||||||
Subscriptions
|
|
||||||
"""""""""""""
|
|
||||||
|
|
||||||
You can use subscriptions to have Invoice Ninja POST newly created records to a third-party application. To enable this feature you need to manually add a record to the subscriptions table. To determine the event_id find the associated EVENT_CREATE_ value from app/Constants.php.
|
|
||||||
|
@ -29,8 +29,7 @@
|
|||||||
->setOptions('aoColumnDefs', [['bSortable'=>false, 'aTargets'=>[2]]])
|
->setOptions('aoColumnDefs', [['bSortable'=>false, 'aTargets'=>[2]]])
|
||||||
->render('datatable') !!}
|
->render('datatable') !!}
|
||||||
|
|
||||||
<p> </p>
|
<p> <br/> </p>
|
||||||
<p> </p>
|
|
||||||
|
|
||||||
<div class="pull-right">
|
<div class="pull-right">
|
||||||
@if (Utils::hasFeature(FEATURE_API))
|
@if (Utils::hasFeature(FEATURE_API))
|
||||||
|
Loading…
Reference in New Issue
Block a user