mirror of
https://github.com/invoiceninja/invoiceninja.git
synced 2025-06-02 18:24:35 -04:00
Merge pull request #4378 from beganovich/v5-edit-client-in-cp
(v5) Support for editing client's phone in the client portal
This commit is contained in:
commit
50f3f59d3b
@ -29,6 +29,5 @@ class TempRouteController extends Controller
|
|||||||
$data['html'] = Cache::get($hash);
|
$data['html'] = Cache::get($hash);
|
||||||
|
|
||||||
return view('pdf.html', $data);
|
return view('pdf.html', $data);
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -10,12 +10,14 @@ class NameWebsiteLogo extends Component
|
|||||||
|
|
||||||
public $name;
|
public $name;
|
||||||
public $website;
|
public $website;
|
||||||
|
public $phone;
|
||||||
|
|
||||||
public $saved;
|
public $saved;
|
||||||
|
|
||||||
public $rules = [
|
public $rules = [
|
||||||
'name' => ['required', 'min:3'],
|
'name' => ['required', 'min:3'],
|
||||||
'website' => ['required', 'url'],
|
'website' => ['required', 'url'],
|
||||||
|
'phone' => ['required', 'string', 'max:255'],
|
||||||
];
|
];
|
||||||
|
|
||||||
public function mount()
|
public function mount()
|
||||||
@ -24,6 +26,7 @@ class NameWebsiteLogo extends Component
|
|||||||
'profile' => auth()->user('contact')->client,
|
'profile' => auth()->user('contact')->client,
|
||||||
'name' => auth()->user('contact')->client->present()->name,
|
'name' => auth()->user('contact')->client->present()->name,
|
||||||
'website' => auth()->user('contact')->client->present()->website,
|
'website' => auth()->user('contact')->client->present()->website,
|
||||||
|
'phone' => auth()->user('contact')->client->present()->phone,
|
||||||
'saved' => ctrans('texts.save'),
|
'saved' => ctrans('texts.save'),
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
@ -37,9 +40,11 @@ class NameWebsiteLogo extends Component
|
|||||||
{
|
{
|
||||||
$data = $this->validate($this->rules);
|
$data = $this->validate($this->rules);
|
||||||
|
|
||||||
$this->profile
|
$this->profile->name = $data['name'];
|
||||||
->fill($data)
|
$this->profile->website = $data['website'];
|
||||||
->save();
|
$this->profile->phone = $data['phone'];
|
||||||
|
|
||||||
|
$this->profile->save();
|
||||||
|
|
||||||
$this->saved = ctrans('texts.saved_at', ['time' => now()->toTimeString()]);
|
$this->saved = ctrans('texts.saved_at', ['time' => now()->toTimeString()]);
|
||||||
}
|
}
|
||||||
|
@ -11,7 +11,6 @@
|
|||||||
|
|
||||||
namespace App\Models;
|
namespace App\Models;
|
||||||
|
|
||||||
use App\Models\TaxRate;
|
|
||||||
use Illuminate\Database\Eloquent\Relations\Pivot;
|
use Illuminate\Database\Eloquent\Relations\Pivot;
|
||||||
use Illuminate\Database\Eloquent\SoftDeletes;
|
use Illuminate\Database\Eloquent\SoftDeletes;
|
||||||
|
|
||||||
|
@ -166,7 +166,8 @@ class AuthorizeCreditCard
|
|||||||
|
|
||||||
$payment_record = [];
|
$payment_record = [];
|
||||||
$payment_record['amount'] = $amount;
|
$payment_record['amount'] = $amount;
|
||||||
$payment_record['payment_type'] = PaymentType::CREDIT_CARD_OTHER;;
|
$payment_record['payment_type'] = PaymentType::CREDIT_CARD_OTHER;
|
||||||
|
;
|
||||||
$payment_record['transaction_reference'] = $response->getTransactionResponse()->getTransId();
|
$payment_record['transaction_reference'] = $response->getTransactionResponse()->getTransId();
|
||||||
|
|
||||||
$payment = $this->authorize->createPayment($payment_record);
|
$payment = $this->authorize->createPayment($payment_record);
|
||||||
|
@ -13,11 +13,8 @@
|
|||||||
namespace App\PaymentDrivers\Authorize;
|
namespace App\PaymentDrivers\Authorize;
|
||||||
|
|
||||||
use App\Exceptions\GenericPaymentDriverFailure;
|
use App\Exceptions\GenericPaymentDriverFailure;
|
||||||
use App\Models\ClientGatewayToken;
|
|
||||||
use App\Models\GatewayType;
|
use App\Models\GatewayType;
|
||||||
use App\PaymentDrivers\AuthorizePaymentDriver;
|
use App\PaymentDrivers\AuthorizePaymentDriver;
|
||||||
use App\PaymentDrivers\Authorize\AuthorizeCreateCustomer;
|
|
||||||
use App\PaymentDrivers\Authorize\AuthorizeCreditCard;
|
|
||||||
use net\authorize\api\contract\v1\CreateCustomerPaymentProfileRequest;
|
use net\authorize\api\contract\v1\CreateCustomerPaymentProfileRequest;
|
||||||
use net\authorize\api\contract\v1\CustomerAddressType;
|
use net\authorize\api\contract\v1\CustomerAddressType;
|
||||||
use net\authorize\api\contract\v1\CustomerPaymentProfileType;
|
use net\authorize\api\contract\v1\CustomerPaymentProfileType;
|
||||||
@ -47,18 +44,15 @@ class AuthorizePaymentMethod
|
|||||||
public function authorizeView()
|
public function authorizeView()
|
||||||
{
|
{
|
||||||
if ($this->authorize->payment_method instanceof AuthorizeCreditCard) {
|
if ($this->authorize->payment_method instanceof AuthorizeCreditCard) {
|
||||||
|
|
||||||
$this->payment_method_id = GatewayType::CREDIT_CARD;
|
$this->payment_method_id = GatewayType::CREDIT_CARD;
|
||||||
|
|
||||||
return $this->authorizeCreditCard();
|
return $this->authorizeCreditCard();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// case GatewayType::BANK_TRANSFER:
|
// case GatewayType::BANK_TRANSFER:
|
||||||
// return $this->authorizeBankTransfer();
|
// return $this->authorizeBankTransfer();
|
||||||
// break;
|
// break;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public function authorizeResponseView($request)
|
public function authorizeResponseView($request)
|
||||||
@ -116,7 +110,6 @@ class AuthorizePaymentMethod
|
|||||||
|
|
||||||
public function createClientGatewayToken($payment_profile, $gateway_customer_reference)
|
public function createClientGatewayToken($payment_profile, $gateway_customer_reference)
|
||||||
{
|
{
|
||||||
|
|
||||||
$data = [];
|
$data = [];
|
||||||
$additonal = [];
|
$additonal = [];
|
||||||
|
|
||||||
|
@ -31,8 +31,8 @@ use App\Utils\Traits\MakesHash;
|
|||||||
use App\Utils\Traits\SystemLogTrait;
|
use App\Utils\Traits\SystemLogTrait;
|
||||||
use Checkout\Library\Exceptions\CheckoutHttpException;
|
use Checkout\Library\Exceptions\CheckoutHttpException;
|
||||||
use Exception;
|
use Exception;
|
||||||
use Illuminate\Support\Carbon;
|
|
||||||
use Illuminate\Http\Request;
|
use Illuminate\Http\Request;
|
||||||
|
use Illuminate\Support\Carbon;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Class BaseDriver.
|
* Class BaseDriver.
|
||||||
@ -87,7 +87,9 @@ class BaseDriver extends AbstractPaymentDriver
|
|||||||
* @param array $data
|
* @param array $data
|
||||||
* @return mixed Return a view for collecting payment method information
|
* @return mixed Return a view for collecting payment method information
|
||||||
*/
|
*/
|
||||||
public function authorizeView(array $data) {}
|
public function authorizeView(array $data)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The payment authorization response
|
* The payment authorization response
|
||||||
@ -95,7 +97,9 @@ class BaseDriver extends AbstractPaymentDriver
|
|||||||
* @param Request $request
|
* @param Request $request
|
||||||
* @return mixed Return a response for collecting payment method information
|
* @return mixed Return a response for collecting payment method information
|
||||||
*/
|
*/
|
||||||
public function authorizeResponse(Request $request) {}
|
public function authorizeResponse(Request $request)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Process a payment
|
* Process a payment
|
||||||
@ -103,7 +107,9 @@ class BaseDriver extends AbstractPaymentDriver
|
|||||||
* @param array $data
|
* @param array $data
|
||||||
* @return mixed Return a view for the payment
|
* @return mixed Return a view for the payment
|
||||||
*/
|
*/
|
||||||
public function processPaymentView(array $data) {}
|
public function processPaymentView(array $data)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Process payment response
|
* Process payment response
|
||||||
@ -111,7 +117,9 @@ class BaseDriver extends AbstractPaymentDriver
|
|||||||
* @param Request $request
|
* @param Request $request
|
||||||
* @return mixed Return a response for the payment
|
* @return mixed Return a response for the payment
|
||||||
*/
|
*/
|
||||||
public function processPaymentResponse(Request $request) {}
|
public function processPaymentResponse(Request $request)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Executes a refund attempt for a given amount with a transaction_reference.
|
* Executes a refund attempt for a given amount with a transaction_reference.
|
||||||
@ -121,7 +129,9 @@ class BaseDriver extends AbstractPaymentDriver
|
|||||||
* @param bool $return_client_response Whether the method needs to return a response (otherwise we assume an unattended payment)
|
* @param bool $return_client_response Whether the method needs to return a response (otherwise we assume an unattended payment)
|
||||||
* @return mixed
|
* @return mixed
|
||||||
*/
|
*/
|
||||||
public function refund(Payment $payment, $amount, $return_client_response = false) {}
|
public function refund(Payment $payment, $amount, $return_client_response = false)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Process an unattended payment.
|
* Process an unattended payment.
|
||||||
@ -130,14 +140,18 @@ class BaseDriver extends AbstractPaymentDriver
|
|||||||
* @param PaymentHash $payment_hash The Payment hash containing the payment meta data
|
* @param PaymentHash $payment_hash The Payment hash containing the payment meta data
|
||||||
* @return void The payment response
|
* @return void The payment response
|
||||||
*/
|
*/
|
||||||
public function tokenBilling(ClientGatewayToken $cgt, PaymentHash $payment_hash){}
|
public function tokenBilling(ClientGatewayToken $cgt, PaymentHash $payment_hash)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Set the inbound request payment method type for access.
|
* Set the inbound request payment method type for access.
|
||||||
*
|
*
|
||||||
* @param int $payment_method_id The Payment Method ID
|
* @param int $payment_method_id The Payment Method ID
|
||||||
*/
|
*/
|
||||||
public function setPaymentMethod($payment_method_id){}
|
public function setPaymentMethod($payment_method_id)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/************************** Helper methods *************************************/
|
/************************** Helper methods *************************************/
|
||||||
|
@ -69,5 +69,4 @@ class YourGatewayPaymentDriver extends BaseDriver
|
|||||||
{
|
{
|
||||||
return $this->payment_method->yourTokenBillingImplmentation(); //this is your custom implementation from here
|
return $this->payment_method->yourTokenBillingImplmentation(); //this is your custom implementation from here
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -26,6 +26,7 @@ use App\Utils\Traits\MakesHash;
|
|||||||
use Exception;
|
use Exception;
|
||||||
use Omnipay\Common\Item;
|
use Omnipay\Common\Item;
|
||||||
use stdClass;
|
use stdClass;
|
||||||
|
|
||||||
class PayPalExpressPaymentDriver extends BasePaymentDriver
|
class PayPalExpressPaymentDriver extends BasePaymentDriver
|
||||||
{
|
{
|
||||||
use MakesHash;
|
use MakesHash;
|
||||||
|
@ -22,10 +22,10 @@ use App\Utils\CurlUtils;
|
|||||||
use App\Utils\HtmlEngine;
|
use App\Utils\HtmlEngine;
|
||||||
use App\Utils\Traits\MakesHash;
|
use App\Utils\Traits\MakesHash;
|
||||||
use Illuminate\Support\Facades\App;
|
use Illuminate\Support\Facades\App;
|
||||||
|
use Illuminate\Support\Facades\Cache;
|
||||||
|
use Illuminate\Support\Facades\Response;
|
||||||
use Illuminate\Support\Facades\Storage;
|
use Illuminate\Support\Facades\Storage;
|
||||||
use Illuminate\Support\Str;
|
use Illuminate\Support\Str;
|
||||||
use Illuminate\Support\Facades\Response;
|
|
||||||
use Illuminate\Support\Facades\Cache;
|
|
||||||
|
|
||||||
class Phantom
|
class Phantom
|
||||||
{
|
{
|
||||||
|
@ -85,8 +85,9 @@ class SystemHealth
|
|||||||
|
|
||||||
public static function checkConfigCache()
|
public static function checkConfigCache()
|
||||||
{
|
{
|
||||||
if(env('APP_URL'))
|
if (env('APP_URL')) {
|
||||||
return false;
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
@ -24,6 +24,15 @@
|
|||||||
</div>
|
</div>
|
||||||
@enderror
|
@enderror
|
||||||
</div>
|
</div>
|
||||||
|
<div class="col-span-6 sm:col-span-3">
|
||||||
|
<label for="street" class="input-label">{{ ctrans('texts.phone') }}</label>
|
||||||
|
<input id="phone" class="input w-full {{ in_array('phone', (array) session('missing_required_fields')) ? 'border border-red-400' : '' }}" name="phone" wire:model.defer="phone" />
|
||||||
|
@error('phone')
|
||||||
|
<div class="validation validation-fail">
|
||||||
|
{{ $message }}
|
||||||
|
</div>
|
||||||
|
@enderror
|
||||||
|
</div>
|
||||||
<div class="col-span-6 sm:col-span-3">
|
<div class="col-span-6 sm:col-span-3">
|
||||||
<label for="website" class="input-label">{{ ctrans('texts.website') }}</label>
|
<label for="website" class="input-label">{{ ctrans('texts.website') }}</label>
|
||||||
<input id="website" class="input w-full" name="website" wire:model.defer="website" />
|
<input id="website" class="input w-full" name="website" wire:model.defer="website" />
|
||||||
|
Loading…
x
Reference in New Issue
Block a user