You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

forms.py 1.2KB

123456789101112131415161718192021222324252627282930313233343536
  1. from django import forms
  2. from django.db.models import get_model
  3. from django.utils.translation import ugettext_lazy as _
  4. ProductReview = get_model('reviews', 'productreview')
  5. class DashboardProductReviewForm(forms.ModelForm):
  6. choices= (
  7. (ProductReview.APPROVED, _('Approved')),
  8. (ProductReview.REJECTED, _('Rejected')),
  9. )
  10. status = forms.ChoiceField(choices=choices, label=_("Status"))
  11. class Meta:
  12. model = ProductReview
  13. fields = ('title', 'body', 'score', 'status')
  14. class ProductReviewSearchForm(forms.Form):
  15. STATUS_CHOICES = (
  16. ('', '------------'),
  17. ) + ProductReview.STATUS_CHOICES
  18. keyword = forms.CharField(required=False, label=_("Keyword"))
  19. status = forms.ChoiceField(required=False, choices=STATUS_CHOICES,
  20. label=_("Status"))
  21. date_from = forms.DateTimeField(required=False, label=_("Date from"))
  22. date_to = forms.DateTimeField(required=False, label=_('to'))
  23. name = forms.CharField(required=False, label=_('Customer name'))
  24. def get_friendly_status(self):
  25. raw = int(self.cleaned_data['status'])
  26. for key, value in self.STATUS_CHOICES:
  27. if key == raw:
  28. return value
  29. return ''