PlatformOrder create: add jump to subscriptions link when require_subscription
This commit is contained in:
@@ -135,6 +135,29 @@
|
|||||||
</select>
|
</select>
|
||||||
@if(! $canRenew)
|
@if(! $canRenew)
|
||||||
<small class="muted">提示:续费单必须绑定订阅。请从「订阅管理」列表/详情进入“续费下单”,系统会自动带入订阅ID。</small>
|
<small class="muted">提示:续费单必须绑定订阅。请从「订阅管理」列表/详情进入“续费下单”,系统会自动带入订阅ID。</small>
|
||||||
|
|
||||||
|
@php
|
||||||
|
$jumpQuery = [];
|
||||||
|
if ((int) ($defaults['merchant_id'] ?? 0) > 0) {
|
||||||
|
$jumpQuery['merchant_id'] = (int) ($defaults['merchant_id'] ?? 0);
|
||||||
|
}
|
||||||
|
if ((int) ($defaults['plan_id'] ?? 0) > 0) {
|
||||||
|
$jumpQuery['plan_id'] = (int) ($defaults['plan_id'] ?? 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
$jumpBase = '/admin/site-subscriptions';
|
||||||
|
if (count($jumpQuery) > 0) {
|
||||||
|
$jumpBase .= '?' . \Illuminate\Support\Arr::query($jumpQuery);
|
||||||
|
}
|
||||||
|
|
||||||
|
$jumpUrl = \App\Support\BackUrl::withBack($jumpBase, \App\Support\BackUrl::selfWithoutBack());
|
||||||
|
@endphp
|
||||||
|
|
||||||
|
@if(($requireSubscription ?? false) && $jumpUrl)
|
||||||
|
<div class="mt-6 actions">
|
||||||
|
<a class="btn btn-secondary btn-sm" href="{!! $jumpUrl !!}">去订阅管理选择订阅</a>
|
||||||
|
</div>
|
||||||
|
@endif
|
||||||
@endif
|
@endif
|
||||||
</label>
|
</label>
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,42 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace Tests\Feature;
|
||||||
|
|
||||||
|
use Illuminate\Foundation\Testing\RefreshDatabase;
|
||||||
|
use Illuminate\Support\Arr;
|
||||||
|
use Tests\TestCase;
|
||||||
|
|
||||||
|
class AdminPlatformOrderCreateRequireSubscriptionFlagShouldRenderJumpToSubscriptionsLinkTest extends TestCase
|
||||||
|
{
|
||||||
|
use RefreshDatabase;
|
||||||
|
|
||||||
|
protected function loginAsPlatformAdmin(): void
|
||||||
|
{
|
||||||
|
$this->seed();
|
||||||
|
|
||||||
|
$this->post('/admin/login', [
|
||||||
|
'email' => 'platform.admin@demo.local',
|
||||||
|
'password' => 'Platform@123456',
|
||||||
|
])->assertRedirect('/admin');
|
||||||
|
}
|
||||||
|
|
||||||
|
public function test_create_should_render_jump_to_subscriptions_link_when_require_subscription_flag_and_no_subscription_context(): void
|
||||||
|
{
|
||||||
|
$this->loginAsPlatformAdmin();
|
||||||
|
|
||||||
|
$url = '/admin/platform-orders/create?' . Arr::query([
|
||||||
|
'require_subscription' => 1,
|
||||||
|
'merchant_id' => 2,
|
||||||
|
'plan_id' => 3,
|
||||||
|
]);
|
||||||
|
|
||||||
|
$res = $this->get($url);
|
||||||
|
$res->assertOk();
|
||||||
|
|
||||||
|
$res->assertSee('去订阅管理选择订阅', false);
|
||||||
|
$res->assertSee('/admin/site-subscriptions?merchant_id=2&plan_id=3', false);
|
||||||
|
|
||||||
|
// 链接应携带 back
|
||||||
|
$res->assertSee('back=', false);
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user