Переглянути джерело

IC pay and portal link generation logic update

Vijayakrishnan 3 роки тому
батько
коміт
899226e8c6

+ 2 - 2
resources/views/app/invoice-center/customers.blade.php

@@ -81,8 +81,8 @@
                     <td>${{ is_null($record->customer_balance) ? 0 : $record->customer_balance }}</td>
                     <td>${{ is_null($record->pending_invoices_balance_total) ? 0 : $record->pending_invoices_balance_total }}</td>
                     <td>
-                        <a href="{{route('icCustomerPortal', ['customerSlug' => $record->slug])}}" native target="_blank">Visit</a>
-                        <a href="#" data-target="{{route('icCustomerPortal', ['customerSlug' => $record->slug])}}" native target="_blank" class="copy-target ml-1">Copy</a>
+                        <a href="#" data-uid="{{$record->uid}}" class="generate-and-visit-ic-portal" native target="_blank">Visit</a>
+                        <a href="#" data-uid="{{$record->uid}}" class="generate-and-copy-ic-portal-url ml-1" native target="_blank">Copy</a>
                     </td>
                     <td>{{ friendly_date($record->created_at) }}</td>
                     <td class="{{ !$record->is_active ? 'text-warning-dark' : ''}}">{{ $record->is_active ? 'Yes' : 'No' }}</td>

+ 2 - 2
resources/views/app/invoice-center/invoices.blade.php

@@ -119,8 +119,8 @@
                         </div>
                     </td>
                     <td>
-                        <a href="{{route('icPayInvoice', ['invoiceSlug' => $record->payment_link_slug])}}" native target="_blank">Visit</a>
-                        <a href="#" data-target="{{route('icPayInvoice', ['invoiceSlug' => $record->payment_link_slug])}}" native target="_blank" class="copy-target ml-1">Copy</a>
+                        <a href="#" data-invoice-uid="{{$record->uid}}" data-uid="{{$record->customer->uid}}" class="generate-and-visit-ic-pay" native target="_blank">Visit</a>
+                        <a href="#" data-invoice-uid="{{$record->uid}}" data-uid="{{$record->customer->uid}}" class="generate-and-copy-ic-pay-url ml-1" native target="_blank">Copy</a>
                     </td>
                     <td>${{ is_null($record->paid) ? 0 : $record->paid }}</td>
                     <td>${{ is_null($record->balance) ? 0 : $record->balance }}</td>

+ 56 - 0
resources/views/layouts/invoice-center.blade.php

@@ -54,6 +54,62 @@ $routeName = request()->route()->getName();
 						copyTextToClipboard($(this).attr('data-target'));
 						return false;
 					});
+
+			parentSegment.find('.generate-and-visit-ic-portal')
+					.off('click.generate-and-visit-ic-portal')
+					.on('click.generate-and-visit-ic-portal', function() {
+						$.post('/api/session/proLogInAsCustomer', {
+							customerUid: $(this).attr('data-uid')
+						}, _data => {
+							if(!hasResponseError(_data)) {
+								window.location.href = '/ic/home/' + _data.data;
+								return false;
+							}
+						});
+						return false;
+					});
+
+			parentSegment.find('.generate-and-copy-ic-portal-url')
+					.off('click.generate-and-copy-ic-portal-url')
+					.on('click.generate-and-visit-ic-portal', function() {
+						$.post('/api/session/proLogInAsCustomer', {
+							customerUid: $(this).attr('data-uid')
+						}, _data => {
+							if(!hasResponseError(_data)) {
+								copyTextToClipboard('{{config('app.url')}}/ic/home/' + _data.data);
+								return false;
+							}
+						});
+						return false;
+					});
+
+			parentSegment.find('.generate-and-visit-ic-pay')
+					.off('click.generate-and-visit-ic-pay')
+					.on('click.generate-and-visit-ic-pay', function() {
+						$.post('/api/session/proLogInAsCustomer', {
+							customerUid: $(this).attr('data-uid')
+						}, _data => {
+							if(!hasResponseError(_data)) {
+								window.location.href = '/ic/pay/' + $(this).attr('data-invoice-uid') + '/' + _data.data;
+								return false;
+							}
+						});
+						return false;
+					});
+
+			parentSegment.find('.generate-and-copy-ic-pay-url')
+					.off('click.generate-and-copy-ic-pay-url')
+					.on('click.generate-and-visit-ic-pay', function() {
+						$.post('/api/session/proLogInAsCustomer', {
+							customerUid: $(this).attr('data-uid')
+						}, _data => {
+							if(!hasResponseError(_data)) {
+								copyTextToClipboard('{{config('app.url')}}/ic/pay/' + $(this).attr('data-invoice-uid') + '/' + _data.data);
+								return false;
+							}
+						});
+						return false;
+					});
 		}
 		addMCInitializer('invoice-center', init)
 	}).call(window);