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

Make inline templates django 2.2 compatible #22

Closed partizaans closed 4 years ago

partizaans commented 4 years ago

‍TabularInlineJalaliMixin and StackedInlineJalaliMixin templates were adding empty-form and last-related classes to forms on the last rendered form. If the inline admin instance has False return value for has_add_permission, Django will not pass the last form with hidden fields and the whole template gets rendered with hidden last form of inline formset.

a-roomana commented 4 years ago

خیلی ممنون از تغییراتی که اعمال کردید، من روی برنچ partizaans-master تغییرات شما رو اعمال کردم، بعلاوه یه سری بروزرسانی های که از سمت جنگو 2.2 آماده است.

نکته‌ی که وجود داره اینه که میشه برای جنگو ۱.۱۱ از این لایبرری استفاده کرد و مشکلی به وجود نمیاد.

حالا اگه نکته‌ی یا مورد دیگه هست میتونید بفرمایید، تا بعد از تست های نهایی مرج کنیم.

partizaans commented 4 years ago

تو کامیت fc12c6e87779559184a7fcb0754259403da02e4a و توی فایل setup.py "django>=2.2" رو برگردوندین به "django" در صورتی که برای جنگوهای قبلی همچنان باید همون تمپلیت قبلی رندر بشه. با این تغییرات و جنگوی قدیمی‌تر از ۲.۲ توی فرم‌ست اینلاین یه فرم اضافه رندر می‌شه که خب طبیعی نیست

a-roomana commented 4 years ago

بله با این تغییرات، فرم اینلاین در جنگو ۱.۱۱ با تمپلیت جنگو ۲.۲ نمایش داده میشود (بدون اشکال در نمایش) ولی فرم اضافه‌ی رندر نمیشود. مطمئن هستید که

```python extra = 1 ```

نیست؟ البته شاید ممکنه که من منظور شما رو درست متوجه نشده باشم

partizaans commented 4 years ago

تنها در حالت readonly مشکل کم یا زیاد بودن (بسته به نسخه جنگو و پکیج شما) اتفاق میفته. و با ست کردن صریح extra = 0

هم درست نمی‌شه.

class SomeInline(StackedInlineJalaliMixin, admin.StackedInline):
    ### Some fields set

    can_delete = False
    extra = 0

    def has_add_permission(self, request, obj=None):
        return False

امکان تست رو روی جنگوی ۱.۱ نداشتم با جنگوی 2.0.6 تست می‌کنم و در تمپلیت اصلاح شده یک فرم اینلاین اضافه رندر می‌شه.

اگه درست متوجه شده باشم توی جنگوی ۲.۲ در صورتی که ادمین اجازه‌ی اضافه کردن اینلاین جدید نداشته باشه، فرم مربوط به اطلاعات ForeignKey توی فرم‌ست قرار داده نمی‌شه که قبلا داده می‌شده.

a-roomana commented 4 years ago

@partizaans

خیلی ممنون از تغییرات شما، تغییرات اعمال و نسخه جدید همراه با دیگر تغییرات منتشر شد.

partizaans commented 4 years ago

@partizaans

خیلی ممنون از تغییرات شما، تغییرات اعمال و نسخه جدید همراه با دیگر تغییرات منتشر شد.

خیلی ممنون