a-roomana / django-jalali-date

Jalali Date support for user interface. Easy conversion of DateTimeFiled to JalaliDateTimeField within the admin site, views, forms and templates.
MIT License
295 stars 33 forks source link

عدم پشتیبانی از جنگو ۲.۲ #13

Closed Kianoosh76 closed 5 years ago

Kianoosh76 commented 5 years ago

سلام و خسته نباشید

ما در هنگام آپدیت کردن به جنگو ۲.۲ به مشکل خوردیم و وقتی روی فیلد تاریخ کلیک می‌کنیم تقویم میلادی رو نشون میده به جای شمسی. هم‌چنین یک تعداد دیگه‌ای از فایل‌های جاوااسکریپت صفحه رو هم براش مشکل ایجاد کرده.

ممنون میشم این موضوعو بررسی کنید

با تشکر

a-roomana commented 5 years ago

@Kianoosh76

سلام وقت بخیر در نسخه جنگو ۲.۲ اروری که من مشاهده کردم عدم نمایش تقویم شمسی هستش نه نمایش تاریخ میلادی. این باگ رو در حال رفع هستم.

لطفا برای شفاف شدن این مشکل، مقداری شفاف تر جمله «هم‌چنین یک تعداد دیگه‌ای از فایل‌های جاوااسکریپت صفحه رو هم براش مشکل ایجاد کرده» را بیان کنید. مثلا در صورت امکان لاگ اررور ها یا قسمتی از کد خود (در صورت امکان) نیز بگذارید تا اگر باگ دومی وجود دارد متوجه آن نیز بشویم.

ali-zahedi commented 5 years ago

@a-roomana سلام و قت بخیر یه مورد دیگه هم هست. زمانی که در پنل ادمین از raw_id_fields استفاده می کنیم دیگه حالت پاپ آپ کار نمی کنه، مگر اینکه ModelAdminJalaliMixin رو غیر فعال کنیم.

` TypeError: $(...).datepicker is not a functiondjango_jalali.min.js:1:138978

https://****/static/admin/js/django_jalali.min.js:1 d https://****/static/admin/js/django_jalali.min.js:1 fireWith https://****/static/admin/js/django_jalali.min.js:1 ready https://****/static/admin/js/django_jalali.min.js:1 ke https://****/static/admin/js/django_jalali.min.js:1 `
a-roomana commented 5 years ago

@Kianoosh76 @ali-zahedi در نسخه ۲.۲ جنگو ظاهرا در لود شدن فایل استاتیک تغییر ایجاد شده که باعث این باگ شده!

برای حل موقت مشکل «عدم نمایش تاریخ شمسی در جنگو ۲.۲ » میتونید با قرار دادن کد زیر (بر اساس داکیومنت) تنظیمات رو شخصی سازی کنید! تا بعد از پیدا شدن تمام مشکلات نسخه جدید رلیز شود.

JALALI_DATE_DEFAULTS = {
    'Static': {
        'js': [ # prefix is "admin/"
            'jquery.ui.datepicker.jalali/scripts/jquery-1.10.2.min.js',
            'js/django_jalali.min.js',
        ]
    },
}

علی جان فکر میکنم که با اعمال این override کردن تنظیمات به شکل بالا مشکل باز نشدن پاپ‌آپ نیز حل شود.

ali-zahedi commented 5 years ago

@a-roomana دقیقا دیشب من هم با اور راید کردن مشکلم حل شد.

مرسی و متشکرم

a-roomana commented 5 years ago

@Kianoosh76 ali-zahedi

سلام نسخه جدید بروز شد، لطفا نسخه جدید را نصب بفرمایید. (الان میتوانید اورراید کردن تنظیمات رو حذف بفرمایید در این نسخه برای پنل آدمین، قبل از از لود شدن تاریخ شمسی جیکوئری لود خواهد شد.

قبلا با اقتباس از تنظیمات جنگو یک پیشوند برای آدرس دهی فایل های جاوااکسریپت در نظر گرفته بودم، اما با توجه به کلی شدن این موضوع این پیشوند را در تنظیمات پیشفرض حذف کردم و تنظیمات دیفالت به شکل زیر تغییر کرده است.

JALALI_DATE_DEFAULTS = {
    'Strftime': {
        'date': '%y/%m/%d',
        'datetime': '%H:%M:%S _ %y/%m/%d',
    },
    'Static': {
        'js': [
            'admin/jquery.ui.datepicker.jalali/scripts/jquery-1.10.2.min.js',
            'admin/js/django_jalali.min.js',
            # or
            # 'admin/jquery.ui.datepicker.jalali/scripts/jquery-1.10.2.min.js',
            # 'admin/jquery.ui.datepicker.jalali/scripts/jquery.ui.core.js',
            # 'admin/jquery.ui.datepicker.jalali/scripts/calendar.js',
            # 'admin/jquery.ui.datepicker.jalali/scripts/jquery.ui.datepicker-cc.js',
            # 'admin/jquery.ui.datepicker.jalali/scripts/jquery.ui.datepicker-cc-fa.js',
            # 'admin/js/main.js',
        ],
        'css': {
            'all': [
                'admin/jquery.ui.datepicker.jalali/themes/base/jquery-ui.min.css',
            ]
        }
    },
}