Compare commits
5 Commits
da2645fae9
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| 5e98841eea | |||
| 2b8f9aa314 | |||
| cb63c54c39 | |||
| b7bc192e6f | |||
| 06617a0005 |
@@ -6,6 +6,7 @@ use App\Http\Controllers\Controller;
|
|||||||
use App\Http\Requests\CheckoutOrderRequest;
|
use App\Http\Requests\CheckoutOrderRequest;
|
||||||
use App\Http\Resources\Api\V1\Order\OrderIndexResource;
|
use App\Http\Resources\Api\V1\Order\OrderIndexResource;
|
||||||
use App\Models\Ecommerce\Product\Order\Order;
|
use App\Models\Ecommerce\Product\Order\Order;
|
||||||
|
use App\Models\Ecommerce\Product\Order\Shipping\OrderShipping;
|
||||||
use App\Repositories\Ecommerce\Order\OrderRepository;
|
use App\Repositories\Ecommerce\Order\OrderRepository;
|
||||||
use App\Services\Order\CreateOrderService;
|
use App\Services\Order\CreateOrderService;
|
||||||
use Illuminate\Http\JsonResponse;
|
use Illuminate\Http\JsonResponse;
|
||||||
@@ -33,6 +34,27 @@ class OrderController extends Controller
|
|||||||
return response()->rest(OrderRepository::availableTimes());
|
return response()->rest(OrderRepository::availableTimes());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Order deliveries
|
||||||
|
*/
|
||||||
|
public function deliveries(): JsonResponse
|
||||||
|
{
|
||||||
|
return response()->rest([
|
||||||
|
[
|
||||||
|
'name' => OrderShipping::STANDART,
|
||||||
|
'price' => 20,
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'name' => OrderShipping::SELF_PICKUP,
|
||||||
|
'price' => 0
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'name' => OrderShipping::REGION,
|
||||||
|
'price' => 40,
|
||||||
|
],
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* (*) Store order
|
* (*) Store order
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -40,6 +40,7 @@ class CheckoutOrderRequest extends FormRequest
|
|||||||
'customer_address' => ['required', 'string', 'max:255'],
|
'customer_address' => ['required', 'string', 'max:255'],
|
||||||
|
|
||||||
'shipping_method' => ['required', 'string', 'max:255', Rule::in(array_keys(OrderShipping::values()))],
|
'shipping_method' => ['required', 'string', 'max:255', Rule::in(array_keys(OrderShipping::values()))],
|
||||||
|
'shipping_price' => ['nullable', 'numeric'],
|
||||||
'payment_type_id' => ['required', Rule::in(array_keys(OrderPayment::values()))],
|
'payment_type_id' => ['required', Rule::in(array_keys(OrderPayment::values()))],
|
||||||
|
|
||||||
'notes' => ['nullable', 'string', 'max:255'],
|
'notes' => ['nullable', 'string', 'max:255'],
|
||||||
@@ -65,7 +66,7 @@ class CheckoutOrderRequest extends FormRequest
|
|||||||
'user_id' => auth()->id(),
|
'user_id' => auth()->id(),
|
||||||
'notes' => $this->notes ?: null,
|
'notes' => $this->notes ?: null,
|
||||||
'province_id' => $this->province_id ?: null,
|
'province_id' => $this->province_id ?: null,
|
||||||
'shipping_price' => OrderShipping::priceFor($this->shipping_method),
|
'shipping_price' => $this->shipping_price ?: OrderShipping::priceFor($this->shipping_method),
|
||||||
'delivery_time' => $this->delivery_time ?: OrderShipping::MORNING,
|
'delivery_time' => $this->delivery_time ?: OrderShipping::MORNING,
|
||||||
'delivery_at' => $this->delivery_at ?: date('Y-m-d'),
|
'delivery_at' => $this->delivery_at ?: date('Y-m-d'),
|
||||||
'source' => $this->source ?: OS::MOBILE_APP,
|
'source' => $this->source ?: OS::MOBILE_APP,
|
||||||
|
|||||||
@@ -82,7 +82,6 @@ class Category extends Model implements HasMedia, Sortable
|
|||||||
{
|
{
|
||||||
$this->addMediaCollection('uploads')
|
$this->addMediaCollection('uploads')
|
||||||
->singleFile()
|
->singleFile()
|
||||||
->acceptsMimeTypes(['image/jpg', 'image/jpeg', 'image/png'])
|
|
||||||
->useFallbackUrl(
|
->useFallbackUrl(
|
||||||
sprintf('%s/logo-space.png', config('app.url'))
|
sprintf('%s/logo-space.png', config('app.url'))
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -27,7 +27,7 @@ class OrderFieldsForCreate
|
|||||||
return [
|
return [
|
||||||
Hidden::make('number')->default(Str::random(30)),
|
Hidden::make('number')->default(Str::random(30)),
|
||||||
Hidden::make('user_id')->default($request->user()->id),
|
Hidden::make('user_id')->default($request->user()->id),
|
||||||
Hidden::make('source_app')->default(OS::ADMIN),
|
Hidden::make('source')->default(OS::ADMIN),
|
||||||
|
|
||||||
ID::make(),
|
ID::make(),
|
||||||
|
|
||||||
|
|||||||
@@ -67,7 +67,7 @@ class OrderFieldsForDetail
|
|||||||
)
|
)
|
||||||
->asHtml(),
|
->asHtml(),
|
||||||
|
|
||||||
Select::make(__('App'), 'source_app')
|
Select::make(__('App'), 'source')
|
||||||
->displayUsingLabels()
|
->displayUsingLabels()
|
||||||
->options(OS::apps())
|
->options(OS::apps())
|
||||||
->sortable(),
|
->sortable(),
|
||||||
|
|||||||
@@ -55,7 +55,7 @@ class OrderFieldsForIndex
|
|||||||
->default(OrderShipping::default())
|
->default(OrderShipping::default())
|
||||||
->sortable(),
|
->sortable(),
|
||||||
|
|
||||||
Select::make(__('Source'), 'source_app')
|
Select::make(__('Source'), 'source')
|
||||||
->displayUsingLabels()
|
->displayUsingLabels()
|
||||||
->options(OS::apps())
|
->options(OS::apps())
|
||||||
->sortable(),
|
->sortable(),
|
||||||
|
|||||||
@@ -64,8 +64,8 @@ class ChannelPolicy
|
|||||||
*/
|
*/
|
||||||
public function update(User $user, Channel $channel): Response
|
public function update(User $user, Channel $channel): Response
|
||||||
{
|
{
|
||||||
if ($user->hasRole(['admin'])) {
|
if (tmpostChannel()->slug === $channel->slug) {
|
||||||
return $this->allow();
|
return $this->deny();
|
||||||
}
|
}
|
||||||
|
|
||||||
return $this->deny();
|
return $this->deny();
|
||||||
|
|||||||
@@ -33,7 +33,7 @@ class DatabaseSeeder extends Seeder
|
|||||||
public function run(): void
|
public function run(): void
|
||||||
{
|
{
|
||||||
$this->call([
|
$this->call([
|
||||||
ProvincesTableSeeder::class,
|
// ProvincesTableSeeder::class,
|
||||||
// PaymentTypeSeeder::class,
|
// PaymentTypeSeeder::class,
|
||||||
// UsersTableSeeder::class,
|
// UsersTableSeeder::class,
|
||||||
// BrandsSeeder::class,
|
// BrandsSeeder::class,
|
||||||
|
|||||||
@@ -92,6 +92,7 @@ Route::middleware('auth:sanctum')
|
|||||||
// Order settings...
|
// Order settings...
|
||||||
Route::get('order-time', [OrderController::class, 'time']);
|
Route::get('order-time', [OrderController::class, 'time']);
|
||||||
Route::get('order-payments', [OrderPaymentController::class, 'index']);
|
Route::get('order-payments', [OrderPaymentController::class, 'index']);
|
||||||
|
Route::get('order-deliveries', [OrderController::class, 'deliveries']);
|
||||||
|
|
||||||
// Provinces...
|
// Provinces...
|
||||||
Route::get('provinces', [ProvinceController::class, 'index']);
|
Route::get('provinces', [ProvinceController::class, 'index']);
|
||||||
|
|||||||
Reference in New Issue
Block a user