Compare commits

..

5 Commits

Author SHA1 Message Date
5e98841eea Update app/Models/Ecommerce/Product/Category/Category.php 2026-03-04 23:28:31 +05:00
2b8f9aa314 wip 2026-03-02 07:30:59 +05:00
cb63c54c39 wip 2026-03-02 07:08:57 +05:00
b7bc192e6f wip 2026-03-02 07:01:14 +05:00
06617a0005 wip 2026-02-25 19:24:49 +05:00
9 changed files with 31 additions and 8 deletions

View File

@@ -6,6 +6,7 @@ use App\Http\Controllers\Controller;
use App\Http\Requests\CheckoutOrderRequest;
use App\Http\Resources\Api\V1\Order\OrderIndexResource;
use App\Models\Ecommerce\Product\Order\Order;
use App\Models\Ecommerce\Product\Order\Shipping\OrderShipping;
use App\Repositories\Ecommerce\Order\OrderRepository;
use App\Services\Order\CreateOrderService;
use Illuminate\Http\JsonResponse;
@@ -33,6 +34,27 @@ class OrderController extends Controller
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
*/

View File

@@ -40,6 +40,7 @@ class CheckoutOrderRequest extends FormRequest
'customer_address' => ['required', 'string', 'max:255'],
'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()))],
'notes' => ['nullable', 'string', 'max:255'],
@@ -65,7 +66,7 @@ class CheckoutOrderRequest extends FormRequest
'user_id' => auth()->id(),
'notes' => $this->notes ?: 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_at' => $this->delivery_at ?: date('Y-m-d'),
'source' => $this->source ?: OS::MOBILE_APP,

View File

@@ -82,7 +82,6 @@ class Category extends Model implements HasMedia, Sortable
{
$this->addMediaCollection('uploads')
->singleFile()
->acceptsMimeTypes(['image/jpg', 'image/jpeg', 'image/png'])
->useFallbackUrl(
sprintf('%s/logo-space.png', config('app.url'))
);

View File

@@ -27,7 +27,7 @@ class OrderFieldsForCreate
return [
Hidden::make('number')->default(Str::random(30)),
Hidden::make('user_id')->default($request->user()->id),
Hidden::make('source_app')->default(OS::ADMIN),
Hidden::make('source')->default(OS::ADMIN),
ID::make(),

View File

@@ -67,7 +67,7 @@ class OrderFieldsForDetail
)
->asHtml(),
Select::make(__('App'), 'source_app')
Select::make(__('App'), 'source')
->displayUsingLabels()
->options(OS::apps())
->sortable(),

View File

@@ -55,7 +55,7 @@ class OrderFieldsForIndex
->default(OrderShipping::default())
->sortable(),
Select::make(__('Source'), 'source_app')
Select::make(__('Source'), 'source')
->displayUsingLabels()
->options(OS::apps())
->sortable(),

View File

@@ -64,8 +64,8 @@ class ChannelPolicy
*/
public function update(User $user, Channel $channel): Response
{
if ($user->hasRole(['admin'])) {
return $this->allow();
if (tmpostChannel()->slug === $channel->slug) {
return $this->deny();
}
return $this->deny();

View File

@@ -33,7 +33,7 @@ class DatabaseSeeder extends Seeder
public function run(): void
{
$this->call([
ProvincesTableSeeder::class,
// ProvincesTableSeeder::class,
// PaymentTypeSeeder::class,
// UsersTableSeeder::class,
// BrandsSeeder::class,

View File

@@ -92,6 +92,7 @@ Route::middleware('auth:sanctum')
// Order settings...
Route::get('order-time', [OrderController::class, 'time']);
Route::get('order-payments', [OrderPaymentController::class, 'index']);
Route::get('order-deliveries', [OrderController::class, 'deliveries']);
// Provinces...
Route::get('provinces', [ProvinceController::class, 'index']);