HEX
Server: LiteSpeed
System: Linux sv4.hami.host 5.14.0-611.54.3.el9_7.x86_64 #1 SMP PREEMPT_DYNAMIC Thu May 7 16:31:24 EDT 2026 x86_64
User: armgroup (1008)
PHP: 8.2.32
Disabled: show_source, system, shell_exec, passthru, exec, popen, proc_open, mail, socket_create, socket_create_listen, socket_create_pair, link, dl, openlog, syslog, stream_socket_server, curl_multi_init
Upload Files
File: //home/armgroup/libs/resources/views/livewire/admin/discount/create.blade.php
<div>
    <form role="form" wire:submit.prevent="store">
        <div class="card-body">
            <div class="row">
                <div class="col-6">
                    <div class="form-group">
                        <label for="title">عنوان *</label>
                        <input class="form-control @error('title') is-invalid @enderror" id="title"
                               wire:model.defer="title" type="text" required>
                        @error('title')
                            <span class="text-danger" role="alert">
                                <strong>{{ $message }}</strong>
                            </span>
                        @enderror
                    </div>
                </div>
                <div class="col-6">
                    <div class="form-group">
                        <label for="code">کد (حداقل ۵ و حداکثر ۲۰ کاراکتر) *</label>
                        <input class="form-control @error('code') is-invalid @enderror" id="code"
                               wire:model.defer="code" type="text" required dir="ltr">
                        @error('code')
                            <span class="text-danger" role="alert">
                                <strong>{{ $message }}</strong>
                            </span>
                        @enderror
                    </div>
                </div>
            </div>
            <div class="row">
                <div class="col-6">
                    <div class="form-group">
                        <label for="type">نوع *</label>
                        <select class="form-control @error('type') is-invalid @enderror" id="type" required wire:model.defer="type">
                            @foreach(\App\Enums\DiscountType::getInstances() as $enum)
                                <option value="{{ $enum->value }}">{{ $enum->description }}</option>
                            @endforeach
                        </select>
                        @error('type')
                            <span class="text-danger" role="alert">
                                <strong>{{ $message }}</strong>
                            </span>
                        @enderror
                    </div>
                </div>
                <div class="col-6">
                    <div class="form-group">
                        <label for="amount">مقدار *</label>
                        <input class="form-control @error('amount') is-invalid @enderror" id="amount"
                               wire:model.defer="amount" type="number" required dir="ltr" min="1">
                        @error('amount')
                            <span class="text-danger" role="alert">
                                <strong>{{ $message }}</strong>
                            </span>
                        @enderror
                    </div>
                </div>
            </div>
            <div class="row">
                <div class="col-6">
                    <div class="form-group">
                        <label for="usage">دفعات استفاده (برای عدم محدودیت خالی باشد)</label>
                        <input class="form-control @error('usage') is-invalid @enderror" id="usage"
                               wire:model.defer="usage" type="number" dir="ltr" min="1" max="100">
                        @error('usage')
                            <span class="text-danger" role="alert">
                                <strong>{{ $message }}</strong>
                            </span>
                        @enderror
                    </div>
                </div>
                <div class="col-6">
                    <div class="form-group">
                        <label for="minimum_order_price">حداقل خرید</label>
                        <input class="form-control @error('minimum_order_price') is-invalid @enderror" id="minimum_order_price"
                               wire:model.defer="minimum_order_price" type="number" dir="ltr" min="1">
                        @error('minimum_order_price')
                            <span class="text-danger" role="alert">
                                <strong>{{ $message }}</strong>
                            </span>
                        @enderror
                    </div>
                </div>
            </div>
            <div class="row">
                <div class="col-6">
                    <div class="form-group mb-0" wire:ignore>
                        <label for="start_date">تاریخ شروع *</label>
                        <input class="form-control" id="start_date" type="text" autocomplete="off">
                        <input id="start_date_alt" type="hidden">
                    </div>
                    @error('start_date')
                        <span class="text-danger" role="alert">
                            <strong>{{ $message }}</strong>
                        </span>
                    @enderror
                </div>
                <div class="col-6">
                    <div class="form-group mb-0" wire:ignore>
                        <label for="end_date">تاریخ پایان *</label>
                        <input class="form-control" id="end_date" type="text" autocomplete="off">
                        <input id="end_date_alt" type="hidden">
                    </div>
                    @error('end_date')
                        <span class="text-danger" role="alert">
                            <strong>{{ $message }}</strong>
                        </span>
                    @enderror
                </div>
            </div>
            <div class="row mt-3">
                <div class="col-12">
                    <div class="form-group">
                        <label for="discountable_type">نوع تخفیف *</label>
                        <select class="form-control @error('discountable_type') is-invalid @enderror" id="discountable_type" required wire:model="discountable_type">
                            @foreach(\App\Enums\DiscountableType::getInstances() as $enum)
                                <option value="{{ $enum->value }}">{{ $enum->description }}</option>
                            @endforeach
                        </select>
                        @error('discountable_type')
                            <span class="text-danger" role="alert">
                                <strong>{{ $message }}</strong>
                            </span>
                        @enderror
                    </div>
                </div>
            </div>
            <div class="row">
                <div class="col-12">
                    <div class="form-group">
                        <label for="item_id">آیتم‌ها (برای انتخاب تمام آیتم‌ها هیچ موردی را انتخاب نکنید)</label>
                        <select class="form-control @error('item_id') is-invalid @enderror" id="item_id" multiple>
                            @foreach($items as $item)
                                <option value="{{ $item->id }}">{{ $item->name }}</option>
                            @endforeach
                        </select>
                        @error('item_id')
                            <span class="text-danger" role="alert">
                                <strong>{{ $message }}</strong>
                            </span>
                        @enderror
                    </div>
                </div>
            </div>
            <hr>
            <h5 class="text-center text-info" style="text-decoration: underline">
                <span class="fa fa-users"></span> انتخاب کاربران
            </h5>
            <div class="row">
                <div class="col-12">
                    <div class="form-group">
                        <label for="role_id">نقش کاربری</label>
                        <select class="form-control @error('role_id') is-invalid @enderror" id="role_id" multiple>
                            <option value="customer">بدون نقش (مشتری)</option>
                            @foreach($roles as $role)
                                <option value="{{ $role->id }}">{{ $role->name }}</option>
                            @endforeach
                        </select>
                        @error('role_id.*')
                            <span class="text-danger" role="alert">
                                <strong>{{ $message }}</strong>
                            </span>
                        @enderror
                    </div>
                </div>
            </div>
            <div class="row">
                <div class="col-6">
                    <div class="form-group">
                        <label for="min_wallet">حداقل موجودی کیف‌پول</label>
                        <input type="number" min="0" dir="ltr" class="form-control @error('min_wallet') is-invalid @enderror" id="min_wallet" wire:model.defer="min_wallet">
                        @error('min_wallet')
                            <span class="text-danger" role="alert">
                                <strong>{{ $message }}</strong>
                            </span>
                        @enderror
                    </div>
                </div>
                <div class="col-6">
                    <div class="form-group">
                        <label for="max_wallet">حداکثر موجودی کیف‌پول</label>
                        <input type="number" min="0" dir="ltr" class="form-control @error('max_wallet') is-invalid @enderror" id="max_wallet" wire:model.defer="max_wallet">
                        @error('max_wallet')
                            <span class="text-danger" role="alert">
                                <strong>{{ $message }}</strong>
                            </span>
                        @enderror
                    </div>
            </div>
            </div>
            <div class="row">
                <div class="col-6">
                    <div class="form-group">
                        <label for="min_point">حداقل امتیاز</label>
                        <input type="number" min="0" dir="ltr" class="form-control @error('min_point') is-invalid @enderror" id="min_point" wire:model.defer="min_point">
                        @error('min_point')
                            <span class="text-danger" role="alert">
                                <strong>{{ $message }}</strong>
                            </span>
                        @enderror
                    </div>
                </div>
                <div class="col-6">
                    <div class="form-group">
                        <label for="max_point">حداکثر امتیاز</label>
                        <input type="number" min="0" dir="ltr" class="form-control @error('max_point') is-invalid @enderror" id="max_point" wire:model.defer="max_point">
                        @error('max_point')
                            <span class="text-danger" role="alert">
                                <strong>{{ $message }}</strong>
                            </span>
                        @enderror
                    </div>
                </div>
            </div>
            <div class="row">
                <div class="col-12">
                    <button class="btn btn-info btn-block"
                            type="button"
                            wire:click.prevent="filterUsers">
                        <span class="fa fa-filter"></span> فیلتر کاربران
                    </button>
                </div>
            </div>
            <div class="row mt-3">
                <div class="col-12">
                    <div class="form-group">
                        <label for="user_id">لیست کاربران (برای انتخاب تمام کاربران هیچ کاربری را انتخاب نکنید)</label>
                        <select class="form-control @error('user_id') is-invalid @enderror" id="user_id" multiple>
                            @foreach($users as $user)
                                <option value="{{ $user->id }}">
                                    {{ $user->name }}
                                    ({{ optional($user->roles->first())->name ?: 'بدون نقش' }})
                                    (کیف‌پول: {{ to_persian_numbers(number_format($user->credit)) }})
                                    (امتیاز: {{ to_persian_numbers($user->point) }})
                                </option>
                            @endforeach
                        </select>
                        @error('user_id')
                            <span class="text-danger" role="alert">
                                <strong>{{ $message }}</strong>
                            </span>
                        @enderror
                    </div>
                </div>
            </div>
            <hr>
            <div class="row">
                <div class="col-12">
                    <div class="form-group">
                        <label for="notification_type">نوع اطلاع‌رسانی *</label>
                        <select class="form-control @error('notification_type') is-invalid @enderror" id="notification_type" required wire:model.defer="notification_type">
                            @foreach(\App\Enums\NotificationType::getInstances() as $enum)
                                <option value="{{ $enum->value }}">{{ $enum->description }}</option>
                            @endforeach
                        </select>
                        @error('notification_type')
                            <span class="text-danger" role="alert">
                                <strong>{{ $message }}</strong>
                            </span>
                        @enderror
                    </div>
                </div>
            </div>
        </div>
        <div class="card-footer">
            <button type="submit" class="btn btn-primary">ذخیره</button>
            <a href="{{ route('admin.discounts.index') }}" class="btn btn-danger float-left">لغو</a>
        </div>
    </form>
</div>

@push('scripts')
    <style>
        .select2-results__option {
            direction: rtl !important;
        }
    </style>
    <script>
        $('#start_date').MdPersianDateTimePicker({
            targetTextSelector: '#start_date',
            targetDateSelector: '#start_date_alt',
            enableTimePicker: true,
            dateFormat: 'yyyy/MM/dd HH:mm:ss'
        });
        $('#start_date').on('hidden.bs.popover', function () {
            @this.set('start_date', $('#start_date_alt').val());
        });

        $('#end_date').MdPersianDateTimePicker({
            targetTextSelector: '#end_date',
            targetDateSelector: '#end_date_alt',
            enableTimePicker: true,
            dateFormat: 'yyyy/MM/dd HH:mm:ss'
        });
        $('#end_date').on('hidden.bs.popover', function () {
            @this.set('end_date', $('#end_date_alt').val());
        });
    </script>
    <script>
        $(document).ready(function () {
            addSelect2('user_id');
            addSelect2('item_id');
            addSelect2('role_id');
        });
        window.addEventListener('add-select2-event', function () {
            addSelect2('user_id');
            addSelect2('item_id');
            addSelect2('role_id');
        });
    </script>
    <script>
        function addSelect2(id) {
            $(`#${id}`).select2();
            $(`#${id}`).on('change', function (e) {
                @this.set(`${id}`, $(`#${id}`).select2("val"));
            });
        }
    </script>
@endpush