Beispiel #1
0
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' ]
Beispiel #2
0
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']
Beispiel #3
0
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
Beispiel #4
0
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)
Beispiel #5
0
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)
Beispiel #6
0
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
                                  }))
Beispiel #7
0
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']
Beispiel #8
0
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']
Beispiel #9
0
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")))
Beispiel #10
0
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())
Beispiel #11
0
 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
         }))
Beispiel #12
0
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')
Beispiel #13
0
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
Beispiel #14
0
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())
Beispiel #15
0
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)')
Beispiel #16
0
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,
        }
Beispiel #17
0
class EntityLinksForm(forms.Form):
    main_url = forms.CharField(label='main_url', widget=forms.Textarea())
Beispiel #18
0
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())