jaywink /
kakaravaara3
| 1 | from django.forms import ModelForm |
||
| 2 | from shoop.admin.form_part import FormPart, TemplatedFormDef |
||
| 3 | |||
| 4 | from reservations.models import ReservableProduct |
||
| 5 | |||
| 6 | |||
| 7 | class ReservableProductForm(ModelForm): |
||
| 8 | |||
| 9 | class Meta: |
||
| 10 | model = ReservableProduct |
||
| 11 | fields = ( |
||
| 12 | "pricing_per_person", |
||
| 13 | "pricing_per_person_included", |
||
| 14 | "pricing_per_person_price", |
||
| 15 | "sort_order", |
||
| 16 | "check_out_time", |
||
| 17 | "check_in_time", |
||
| 18 | # "available_count", # not implemented yet |
||
| 19 | ) |
||
| 20 | |||
| 21 | |||
| 22 | class ReservableProductFormPart(FormPart): |
||
| 23 | priority = -980 |
||
| 24 | |||
| 25 | def _get_reservable_instance(self): |
||
| 26 | if hasattr(self.object, "reservable"): |
||
|
0 ignored issues
–
show
|
|||
| 27 | return self.object.reservable |
||
|
0 ignored issues
–
show
|
|||
| 28 | else: |
||
| 29 | reservable, created = ReservableProduct.objects.get_or_create(product=self.object) |
||
|
0 ignored issues
–
show
|
|||
| 30 | return reservable |
||
| 31 | |||
| 32 | def get_form_defs(self): |
||
| 33 | yield TemplatedFormDef( |
||
| 34 | "reservableproduct", |
||
| 35 | ReservableProductForm, |
||
| 36 | template_name="reservations/_reservable_product_form.jinja", |
||
| 37 | required=True, |
||
| 38 | kwargs={ |
||
| 39 | "instance": self._get_reservable_instance(), |
||
| 40 | } |
||
| 41 | ) |
||
| 42 | |||
| 43 | def form_valid(self, form): |
||
| 44 | try: |
||
| 45 | form["reservableproduct"].save() |
||
| 46 | except KeyError: |
||
| 47 | pass |
||
| 48 |
This check looks for calls to members that are non-existent. These calls will fail.
The member could have been renamed or removed.