class PostForm(djangoforms.ModelForm): # log = logging.getLogger() title = forms.CharField(widget=forms.TextInput(attrs={'id':'name'})) body = forms.CharField(widget=forms.Textarea(attrs={ 'id':'message', 'rows': 10, 'cols': 20})) body_markup = forms.ChoiceField( choices=[(k, v[0]) for k, v in markup.MARKUP_MAP.iteritems()]) tags = forms.CharField(widget=forms.Textarea(attrs={'rows': 5, 'cols': 20})) draft = forms.BooleanField(required=False) image_url = forms.CharField(required=False, widget=forms.TextInput(attrs={'id':'image_url'})) if common.PROD: url = '%s/api/authors' % (config.main_site_origin) else: url = '%s/api/authors' % (config.main_site_test_origin) sorted_profiles = [] try: response = urlfetch.fetch(url) if response.status_code == 200: sorted_profiles = simplejson.loads(response.content).keys() except urlfetch.DownloadError: pass author_id = forms.ChoiceField( choices=[(id,id) for id in sorted_profiles]) IMAGE_STYLES = (('top','top'), ('left','left'), ('right','right')) image_style = forms.ChoiceField(required=False, choices=IMAGE_STYLES) class Meta: model = models.BlogPost fields = [ 'title', 'body', 'tags', 'author_id', 'image_url', 'image_style' ]
class PageForm(djangoforms.ModelForm): title = forms.CharField(widget=forms.Textarea(attrs={ 'id': 'name', 'rows': 5, 'cols': 50 })) body = forms.CharField(widget=forms.Textarea(attrs={ 'id': 'message', 'rows': 20, 'cols': 50 })) class Meta: model = models.PagePost fields = ['title', 'body']
class CertForm(forms.Form): text = forms.CharField(widget = forms.Textarea(attrs = dict(rows=14, cols=72)), required = False) file = forms.CharField(widget = forms.FileInput(), required = False) def clean_text(self): text = self.clean_data.get('text') file = self.data.get('file') if not text and not file: raise forms.ValidationError('One of "text" or "file" must be filled out') if text and not is_valid_cert(text): raise forms.ValidationError('A valid certificate is required') return text def clean_file(self): text = self.data.get('text') file = self.data.get('file') if text and file: raise forms.ValidationError('Only one of "text" or "file" must be filled out') if file and not is_valid_cert(file['content']): raise forms.ValidationError('A valid certificate is required') return file
class RedirectionForm(forms.Form): experiment_name = forms.CharField(label="Experiment name") targets = forms.CharField(label="Target URLs", widget=forms.Textarea(attrs={ 'rows': '10', 'cols': '70' })) stratify = forms.BooleanField(label="Stratify", required=False)
class CommentForm(forms.Form): id = forms.CharField(widget=forms.HiddenInput) name = forms.CharField(max_length=64) url = forms.URLField(max_length=128, required=False) comment = forms.CharField(widget=forms.Textarea(attrs={ 'rows': 8, 'cols': 60 })) remember = forms.BooleanField(initial=True, required=False)
def claim(request, slug): event = get_object_or_404(Event, slug=slug) attendants = Attendant.objects.filter(event=event.id) user_id_list = [a.user_id for a in attendants] AttendantForm = forms.form_for_model(Attendant) if not event.is_claimable(): return HttpResponseRedirect(event.get_absolute_url()) if not request.user.id in user_id_list: if request.method == "POST": new_data = request.POST.copy() new_data.update({ 'user': request.user.id, 'event': event.id, 'cancel': False }) form = AttendantForm(new_data) if form.is_valid(): #attendant = Attendant() #attendant.user = requeset.user #attendant.event = event #attendant.cancel = False #attendant.pos_paper = #attendant.cache_html = "" #attendant.save() form.save() request.user.message_set.create(message=_( u'You made a reservation to %(event_name)s . Check your status.' ) % {'event_name': event.name}) if event.max_people <= len(attendants): request.user.message_set.create(message=_( u'You are put on a waiting list for cancellation')) return HttpResponseRedirect(event.get_absolute_url()) else: del AttendantForm.base_fields['user'] del AttendantForm.base_fields['event'] del AttendantForm.base_fields['canceled'] AttendantForm.base_fields['pos_paper'].widget = forms.Textarea( attrs={'cols': '80'}) AttendantForm.base_fields['pos_paper'].label = '' form = AttendantForm(initial={'pos_paper': event.pos_paper}) if event.max_people <= len(attendants): request.user.message_set.create(message=_( u'Capacity is full already. You are going to putting on a waiting list for cancellation' ) % {'event_name': event.name}) request.user.message_set.create( message=_(u'Will you attend %(event_name)s ?') % {'event_name': event.name}) else: request.user.message_set.create( message=_('You already joined event "%(event_name)s".') % {'event_name': event.name}) return HttpResponseRedirect(event.get_absolute_url()) return render_to_response('event/claim.html', context_instance=RequestContext( request, { 'object': event, 'form': form }))
class PostForm(djangoforms.ModelForm): title = forms.CharField(widget=forms.TextInput(attrs={'id': 'name'})) body = forms.CharField(widget=forms.Textarea(attrs={ 'id': 'message', 'rows': 10, 'cols': 20 })) body_markup = forms.ChoiceField( choices=[(k, v[0]) for k, v in markup.MARKUP_MAP.iteritems()]) tags = forms.CharField(widget=forms.Textarea(attrs={ 'rows': 5, 'cols': 20 })) draft = forms.BooleanField(required=False) class Meta: model = models.BlogPost fields = ['title', 'body', 'tags']
class PostForm(djangoforms.ModelForm): title = forms.CharField(widget=forms.Textarea(attrs={ 'id': 'name', 'rows': 5, 'cols': 50 })) body = forms.CharField(widget=forms.Textarea(attrs={ 'id': 'message', 'rows': 20, 'cols': 50 })) tags = forms.CharField(widget=forms.Textarea(attrs={ 'rows': 5, 'cols': 20 })) draft = forms.BooleanField(required=False) class Meta: model = models.BlogPost fields = ['title', 'body', 'tags']
class CommentForm(forms.Form): """ A form representing a comment on an entry. """ person_name = forms.CharField( label = _("Name (required)"), widget = forms.TextInput(attrs=dict(size="22"))) comment = forms.CharField( label = "", widget = forms.Textarea(attrs=dict(cols="60")))
class MoveMoneyForm(forms.Form): def __init__(self, data=None, from_account=None, *arg, **kwarg): self.base_fields['account'].queryset = Account.objects\ .filter(balance_currency=from_account.balance_currency)\ .exclude(number__exact=from_account.number) super(MoveMoneyForm, self).__init__(data, *arg, **kwarg) account = forms.ModelChoiceField(None) amount = forms.DecimalField(max_digits=12, decimal_places=2, min_value=0) tag = forms.IntegerField(widget=forms.Select(choices=add_empty_label(TX_TAG_CHOICES)), required=False) description = forms.CharField(widget=forms.Textarea())
def __init__(self, listChoices, sortChoices, *args, **kwargs): debugOutput("Creating") super(FieldConfigForm, self).__init__(*args, **kwargs) self.fields["field_type"] = newforms.ChoiceField( required=True, choices=listChoices) #, widget=newforms.RadioSelect) self.fields["list_sort"] = newforms.ChoiceField( required=True, choices=sortChoices) #, widget=newforms.RadioSelect) self.fields["list_values"] = newforms.CharField( required=False, widget=newforms.Textarea(attrs={ "cols": 35, "rows": 15 }))
class LocationForm(forms.Form): Locality = forms.CharField(help_text="Locality, City, or County Name") State = forms.CharField(help_text="State or Province") Country = forms.RegexField('^[a-zA-Z][a-zA-Z]$', max_length=2, help_text="2 Letter Country Code") GoogleMapKey = forms.CharField( required=False, help_text= "<a target='_new' href='http://www.google.com/apis/maps/signup.html'>Sign up for a Google Map API Key</a>" ) Latitude = forms.CharField( required=False, help_text= r"""Examples: 22N55'23" and 22 N 55.38' and 22.923 are the same latitude""" ) Longitude = forms.CharField( required=False, help_text= r"""Examples: 120W13'51" and -120 13.85' and -120.2308 are the same longitude""" ) Owner = forms.CharField(max_length=255, widget=forms.Textarea(attrs=dict(rows=5, cols=50)), label='Address', help_text="Full Postal Address") def clean_Latitude(self): x = self.data['Latitude'] if not x: return x try: return str(parse_latitude(x)) except ValueError: raise forms.ValidationError('Invalid latitude') def clean_Longitude(self): x = self.data['Longitude'] if not x: return x try: return str(parse_longitude(x)) except ValueError: raise forms.ValidationError('Invalid longitude')
class PageForm(djangoforms.ModelForm): path = forms.RegexField( widget=forms.TextInput(attrs={'id':'path'}), regex='(/[a-zA-Z0-9/]+)') title = forms.CharField(widget=forms.TextInput(attrs={'id':'title'})) template = forms.ChoiceField(choices=config.page_templates.items()) body = forms.CharField(widget=forms.Textarea(attrs={ 'id':'body', 'rows': 10, 'cols': 20})) class Meta: model = models.Page fields = [ 'path', 'title', 'template', 'body' ] def clean_path(self): data = self._cleaned_data()['path'] existing_page = models.Page.get_by_key_name(data) if not data and existing_page: raise forms.ValidationError("The given path already exists.") return data
class TransactionForm(forms.Form): amount = forms.DecimalField(max_digits=12, decimal_places=2, min_value=0) tag = forms.IntegerField(widget=forms.Select(choices=add_empty_label(TX_TAG_CHOICES)), required=False) description = forms.CharField(widget=forms.Textarea())
class FeedbackForm(forms.Form): message = forms.CharField(max_length=500, widget=forms.Textarea()) email = forms.EmailField(required=False, max_length=100, label='Your email (optional)')
class NewCommentForm(forms.Form): article_url = forms.URLField(required=True, widget=forms.HiddenInput) article_title = forms.CharField(required=False, widget=forms.HiddenInput) author_name = forms.CharField(required=True, label="Name") author_email = forms.EmailField(required=True, label="Email") author_url = forms.URLField(required=False, label="URL") author_ip = forms.CharField(required=False) comment = forms.CharField(required=True, widget=forms.Textarea(attrs={ 'cols': 30, 'rows': 3 })) def save(self): data = self.clean_data article_url = data.get('article_url') article_title = data.get('article_title') or data.get('article_url') article = models.Article.get_or_insert(article_url, url=article_url, title=article_title) if article.title != article_title: article.title = article_title article.put() author_email = data.get('author_email') author_name = data.get('author_name') author_url = data.get('author_url') author_ip = data.get('author_ip') author_key = (author_email or '') + author_name author = models.Author.get_or_insert(author_key, name=author_name) has_changes = False if author.url != author_url and author_url: author.url = author_url has_changes = True if author_email and author_email != author.email: author.email = author_email has_changes = True if has_changes: author.put() comment = models.Comment(parent=article, comment=data.get('comment'), author=author, article=article, author_ip=author_ip) comment.put() params = urllib.urlencode({ 'article_url': article_url, 'comment_id': comment.key().id() }) taskqueue.add(url="/api/notify/?" + params, method="GET") self._author = author self._article = article self._comment = comment return comment @property def output(self): return { 'article': { 'url': self._article.url, 'title': self._article.title, }, 'author': { 'email': self._author.email, 'name': self._author.name, 'url': self._author.url, }, 'comment': self._comment.comment, }
class EntityLinksForm(forms.Form): main_url = forms.CharField(label='main_url', widget=forms.Textarea())
class GuestbookForm(forms.Form): message = forms.CharField(label='Sign the Guestbook', widget=forms.Textarea())
class AgentMessageForm(forms.Form): types_payload = forms.CharField(label='types_payload', widget=forms.Textarea())