mirror of
https://github.com/invoiceninja/invoiceninja.git
synced 2025-07-09 03:14:30 -04:00
Improve resolution of invitations
This commit is contained in:
parent
2630f62dfb
commit
e964ff8137
@ -264,15 +264,18 @@ class InvitationController extends Controller
|
||||
abort(404, "Invoice not found");
|
||||
}
|
||||
|
||||
public function unsubscribe(Request $request, string $invitation_key)
|
||||
public function unsubscribe(Request $request, string $entity_type, string $invitation_key)
|
||||
{
|
||||
if($invite = InvoiceInvitation::withTrashed()->where('key', $invitation_key)->first()){
|
||||
if($entity_type == 'invoice'){
|
||||
$invite = InvoiceInvitation::withTrashed()->where('key', $invitation_key)->first();
|
||||
$invite->contact->send_email = false;
|
||||
$invite->contact->save();
|
||||
}elseif($invite = QuoteInvitation::withTrashed()->where('key', $invitation_key)->first()){
|
||||
}elseif($entity_type == 'quote'){
|
||||
$invite = QuoteInvitation::withTrashed()->where('key', $invitation_key)->first();
|
||||
$invite->contact->send_email = false;
|
||||
$invite->contact->save();
|
||||
}elseif($invite = CreditInvitation::withTrashed()->where('key', $invitation_key)->first()){
|
||||
}elseif($entity_type == 'credit'){
|
||||
$invite = CreditInvitation::withTrashed()->where('key', $invitation_key)->first();
|
||||
$invite->contact->send_email = false;
|
||||
$invite->contact->save();
|
||||
}
|
||||
|
@ -62,7 +62,9 @@ trait Inviteable
|
||||
else
|
||||
$domain = config('ninja.app_url');
|
||||
|
||||
return $domain.'/client/unsubscribe/'.$this->key;
|
||||
$entity_type = Str::snake(class_basename($this->entityType()));
|
||||
|
||||
return $domain.'/client/unsubscribe/'.$entity_type.'/'.$this->key;
|
||||
|
||||
}
|
||||
|
||||
|
@ -114,7 +114,7 @@ Route::group(['middleware' => ['invite_db'], 'prefix' => 'client', 'as' => 'clie
|
||||
Route::get('{entity}/{invitation_key}/download', 'ClientPortal\InvitationController@routerForDownload');
|
||||
Route::get('pay/{invitation_key}', 'ClientPortal\InvitationController@payInvoice')->name('pay.invoice');
|
||||
|
||||
Route::get('unsubscribe/{invitation_key}', 'ClientPortal\InvitationController@unsubscribe')->name('unsubscribe');
|
||||
Route::get('unsubscribe/{entity_type}/{invitation_key}', 'ClientPortal\InvitationController@unsubscribe')->name('unsubscribe');
|
||||
|
||||
// Route::get('{entity}/{client_hash}/{invitation_key}', 'ClientPortal\InvitationController@routerForIframe')->name('invoice.client_hash_and_invitation_key'); //should never need this
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user