예제 #1
0
파일: forms.py 프로젝트: chassing/reversi
 class Meta:
     model = ReversiUser
     fields = ('nickname', 'email', 'theme')
     widgets = {
         'nickname': BootstrapTextInput(prepend='N', ),
         'email': BootstrapTextInput(prepend='E', ),
     }
예제 #2
0
파일: forms.py 프로젝트: I-TREND/SASF
 class Meta:
     model = Site
     fields = ('id', 'name', 'url')
     attrs = {
         'id': {
             'widget': HiddenInput(),
         },
         'fresh': {
             'help_text': '',
         },
         'banned': {
             'help_text': '',
         },
         'name': {
             'label':
             '',
             'help_text':
             '',
             'widget':
             BootstrapTextInput(attrs={'placeholder': 'Name of the site'}),
         },
         'url': {
             'label': '',
             'help_text': '',
             'widget':
             BootstrapTextInput(attrs={'placeholder': 'URL Address'}),
         },
     }
예제 #3
0
 class Meta:
     category = CategoryModelChoice(queryset=Category.objects.all(),
                                    widget=forms.Select())
     location = LocationModelChoice(queryset=Location.objects.all(),
                                    widget=forms.Select())
     #country_code = CountryCodeModelChoice(queryset = CountriesSupported.objects.all(), widget=forms.Select())
     twitter = forms.CharField(widget=BootstrapTextInput(
         prepend='www.twitter.com/'))
     facebook = forms.CharField(widget=BootstrapTextInput(
         prepend='www.facebook.com/'))
     model = Business
     fields = ('id', 'name', 'xmpp_handle', 'email', 'location', 'website',
               'facebook', 'twitter', 'category', 'phone_number',
               'preview_text', 'active', 'haptik_flag', 'devicehelp_flag',
               'devicehelp_active', 'ios_recommended',
               'android_recommended', 'via_name')
예제 #4
0
class EmailForm(forms.Form):
    subject = forms.CharField(
        widget=BootstrapTextInput(attrs={'style': 'width:98%'}),
        label=_('Title'),
        required=True)
    message = forms.CharField(
        widget=Textarea(attrs={'style': 'width:98%;max-width:98%'}),
        label=_('Text'),
        required=True)
예제 #5
0
 def __init__(self, *args, **kwargs):
     super(UserProfileForm, self).__init__(*args, **kwargs)
     twitter_id_field = self.fields['twitter_id']
     twitter_id_field.widget = BootstrapTextInput(
         prepend='@',
     )
     twitter_id_field.widget.attrs.update({
         'placeholder': 'Twitter Id'
     })
예제 #6
0
 class Meta:
     model = Blog
     fields = ('name', 'title', 'description', 'language', 'theme', 'dirty')
     exclude = ('owner', 'members', 'domain')
     widgets = {
         'name': NameWidget,
         'description':
         forms.Textarea(attrs={'class': 'input-block-level'}),
         'title': BootstrapTextInput({'class': 'input-block-level'}),
         'dirty': forms.HiddenInput(),
     }
예제 #7
0
class BusinessForm(forms.ModelForm):

    category = CategoryModelChoice(queryset=Category.objects.filter(active=1),
                                   widget=forms.Select())
    location = LocationModelChoice(queryset=CountriesSupported.objects.all(),
                                   widget=forms.Select())
    #country_code = CountryCodeModelChoice(queryset = CountriesSupported.objects.all(), widget=forms.Select())
    twitter = forms.CharField(widget=BootstrapTextInput(
        prepend='www.twitter.com/'))
    facebook = forms.CharField(widget=BootstrapTextInput(
        prepend='www.facebook.com/'))

    def __init__(self, *args, **kwargs):
        print 'IN INIT'
        print 'args : ', args
        print 'kwargs : ', kwargs
        super(BusinessForm, self).__init__(*args, **kwargs)
        for key in [
                'email', 'website', 'facebook', 'twitter', 'phone_number',
                'preview_text', 'location'
        ]:
            self.fields[key].required = False

    class Meta:
        category = CategoryModelChoice(queryset=Category.objects.all(),
                                       widget=forms.Select())
        location = LocationModelChoice(queryset=Location.objects.all(),
                                       widget=forms.Select())
        #country_code = CountryCodeModelChoice(queryset = CountriesSupported.objects.all(), widget=forms.Select())
        twitter = forms.CharField(widget=BootstrapTextInput(
            prepend='www.twitter.com/'))
        facebook = forms.CharField(widget=BootstrapTextInput(
            prepend='www.facebook.com/'))
        model = Business
        fields = ('id', 'name', 'xmpp_handle', 'email', 'location', 'website',
                  'facebook', 'twitter', 'category', 'phone_number',
                  'preview_text', 'active', 'haptik_flag', 'devicehelp_flag',
                  'devicehelp_active', 'ios_recommended',
                  'android_recommended', 'via_name')
예제 #8
0
class ClientSignupForm(EmailRegistrationForm):

    email = forms.EmailField(max_length=256,
                             required=True,
                             widget=forms.TextInput(attrs={'class': 'email'}),
                             label="Email")
    password1 = forms.CharField(required=True,
                                widget=forms.PasswordInput(
                                    attrs={'class': 'password'},
                                    render_value=False),
                                label="Password")
    password2 = forms.CharField(required=True,
                                widget=forms.PasswordInput(
                                    attrs={'class': 'password'},
                                    render_value=False),
                                label="Password (repeat)")
    your_name = forms.CharField(required=False)
    pub_name = forms.CharField(label='News organization name', required=True)
    pub_type = forms.ChoiceField(choices=PUB_TYPES,
                                 label='News media type',
                                 required=True)
    first_name = forms.CharField(label='First name', required=True)
    last_name = forms.CharField(label='Last name', required=True)
    address = forms.CharField(max_length=100, required=True)
    city = forms.CharField(max_length=100, required=True)
    state = forms.CharField(widget=USStateSelect(),
                            initial="NE",
                            required=True)
    zipcode = forms.CharField(
        max_length=5,
        required=True,
        widget=BootstrapTextInput(attrs={'class': 'zipcode'}))
    phone = forms.CharField(max_length=15, required=True)
    pub_area = forms.CharField(
        max_length=100,
        required=True,
        label="Circulation or Broadcast Area",
        widget=BootstrapTextInput(attrs={'class': 'circarea'}))
    about = forms.CharField(
        required=False,
        label="Special Topics of interest to your audience. (optional)",
        widget=BootstrapTextInput(attrs={
            'class': 'specialtopics',
        }))
    twitter = forms.CharField(
        max_length=150,
        required=False,
        label="Twitter (optional)",
        widget=BootstrapTextInput(attrs={'class': 'website'}))
    facebook = forms.CharField(
        max_length=150,
        required=False,
        label="Facebook (optional)",
        widget=BootstrapTextInput(attrs={'class': 'website'}))
    website = forms.URLField(
        max_length=200,
        required=False,
        label="Website (optional)",
        widget=BootstrapTextInput(attrs={'class': 'website'}))
예제 #9
0
파일: forms.py 프로젝트: I-TREND/SASF
class LoginForm(forms.Form):

    username = forms.CharField(
        label='',
        max_length=100,
        required=True,
        widget=BootstrapTextInput(attrs={'placeholder': 'Username'}),
    )
    password = forms.CharField(
        label='',
        max_length=100,
        required=True,
        widget=BootstrapPasswordInput(attrs={'placeholder': 'Password'}),
    )
예제 #10
0
def identification_field_factory(label, error_required):
    """
    A simple identification field factory which enable you to set the label.

    :param label:
        String containing the label for this field.

    :param error_required:
        String containing the error message if the field is left empty.

    """
    return forms.CharField(label=label,
                           widget=BootstrapTextInput(attrs=attrs_dict),
                           max_length=75,
                           error_messages={'required': error_required})
예제 #11
0
파일: forms.py 프로젝트: I-TREND/SASF
 class Meta:
     model = SearchResult
     fields = ('id', 'sequence')
     attrs = {
         'id': {
             'widget': HiddenInput(),
         },
         'sequence': {
             'label':
             '',
             'widget':
             BootstrapTextInput(
                 attrs={'placeholder': 'Sequence number(s)'}),
         }
     }
예제 #12
0
 class Meta:
     model = Post
     fields = ('blog', 'title', 'slug', 'tags', 'date', 'description',
               'markup', 'text', 'dirty')
     exclude = ('author', )
     widgets = {
         'title':
         BootstrapTextInput({'class': 'input-block-level'}),
         'slug':
         BootstrapTextInput({'class': 'input-block-level'}),
         'tags':
         BootstrapTextInput({'class': 'input-block-level'}),
         'date':
         DateTimeWidget(),
         'description':
         forms.Textarea({
             'rows': 3,
             'class': 'input-block-level'
         }),
         'text':
         forms.Textarea(),
         'dirty':
         forms.HiddenInput(),
     }
예제 #13
0
class RevisionForm(forms.ModelForm):
    class Meta:
        model = Revision

    f_actualizacion = forms.DateField(widget=BootstrapDateInput(attrs={}, ), )
    cambios = forms.CharField(label='Registro de Cambios',
                              widget=forms.Textarea(
                                  attrs={
                                      'rows': 5,
                                      'cols': 78,
                                      'style': 'width: 80%; height: 120px',
                                      'class': 'wmd-input'
                                  }))
    revision = forms.CharField(widget=BootstrapTextInput(attrs={
        'class': 'input-mini',
    }, ), )
예제 #14
0
파일: forms.py 프로젝트: I-TREND/SASF
 class Meta:
     model = Search
     fields = (
         'engine',
         'q',
     )
     attrs = {
         'engine': {
             'label': '',
             'empty_label': 'Select engine',
             'queryset': model.engine.get_query_set().filter(active=True),
         },
         'q': {
             'label':
             '',
             'widget':
             BootstrapTextInput(attrs={'placeholder': 'Query string'}),
         },
     }
예제 #15
0
파일: forms.py 프로젝트: chassing/reversi
class MultiplayerGameForm(forms.Form):
    name = forms.CharField(
        label=mark_safe('<span class="text-large">Spielname</span>'),
        initial=random_game_name,
        max_length=100,
        help_text=
        u'Jede Schlacht sollte einen sehr coolen Namen für die Geschichtsbücher haben!',
        widget=BootstrapTextInput(prepend='N',
                                  attrs={
                                      'placeholder': 'Benenne das Spiel',
                                      'class': 'input-xxlarge'
                                  }),
    )
    player = forms.ChoiceField(
        label=mark_safe(
            u'<span class="text-large">Wer beginnt die Schlacht?</span>'),
        help_text=
        u"Wähle ob Du die legendäre Schlacht beginnen oder Dein Territorium verteiltigen möchstest.",
        choices=(
            (CELL_PLAYER1, "Ich selbst"),
            (CELL_PLAYER2, "Mein Gegner"),
        ),
        widget=forms.RadioSelect(attrs={
            'inline': True,
            'class': 'input-xlarge'
        }))
    color = forms.ChoiceField()

    def __init__(self, user, *args, **kwargs):
        super(MultiplayerGameForm, self).__init__(*args, **kwargs)
        self.fields["color"] = forms.ChoiceField(
            label=mark_safe('<span class="text-large">Meine Farbe</span>'),
            choices=(
                (CELL_PLAYER1, user.theme.player1),
                (CELL_PLAYER2, user.theme.player2),
            ),
            widget=forms.RadioSelect(attrs={
                'inline': True,
                'class': 'input-xlarge'
            }))
예제 #16
0
파일: forms.py 프로젝트: I-TREND/SASF
 class Meta:
     model = SiteData
     fields = ('id', 'category', 'fresh', 'banned')
     attrs = {
         'id': {
             'widget': HiddenInput(),
         },
         'fresh': {
             'help_text': '',
         },
         'banned': {
             'help_text': '',
         },
         'name': {
             'help_text': '',
             'widget': BootstrapTextInput(attrs={'class': 'span11'}),
         },
         'category': {
             'label': '',
             'empty_label': 'Select category',
             'queryset': model.category.get_query_set().filter(active=True),
         },
     }
예제 #17
0
class TestForm(forms.Form):
    date = forms.DateField(widget=BootstrapDateInput(), )
    title = forms.CharField(
        max_length=100,
        help_text=u'This is the standard text input',
    )
    disabled = forms.CharField(
        max_length=100,
        help_text=u'I am disabled',
        widget=forms.TextInput(attrs={
            'disabled': 'disabled',
            'placeholder': 'I am disabled',
        }))
    uneditable = forms.CharField(
        max_length=100,
        help_text=u'I am uneditable and you cannot enable me with JS',
        initial=u'Uneditable',
        widget=BootstrapUneditableInput())
    content = forms.ChoiceField(
        choices=(
            ("text", "Plain text"),
            ("html", "HTML"),
        ),
        help_text=u'Pick your choice',
    )
    email = forms.EmailField()
    like = forms.BooleanField(required=False)
    fruits = forms.MultipleChoiceField(
        widget=forms.CheckboxSelectMultiple,
        choices=(
            ("apple", "Apple"),
            ("pear", "Pear"),
        ),
        help_text=u'As you can see, multiple checkboxes work too',
    )
    veggies = forms.MultipleChoiceField(
        widget=forms.CheckboxSelectMultiple(attrs={
            'inline': True,
        }),
        choices=(
            ("broccoli", "Broccoli"),
            ("carrots", "Carrots"),
            ("turnips", "Turnips"),
        ),
        help_text=u'And can be inline',
    )
    color = forms.ChoiceField(
        widget=forms.RadioSelect,
        choices=(
            ("#f00", "red"),
            ("#0f0", "green"),
            ("#00f", "blue"),
        ),
        help_text=u'And we have <i>radiosets</i>',
    )
    prepended = forms.CharField(
        max_length=100,
        help_text=u'I am prepended by a P',
        widget=BootstrapTextInput(prepend='P'),
    )

    def clean(self):
        cleaned_data = super(TestForm, self).clean()
        raise forms.ValidationError(
            "This error was added to show the non field errors styling.")
        return cleaned_data
예제 #18
0
class TestForm(forms.Form):
    date = forms.DateField(
        widget=BootstrapDateInput(),
    )
    title = forms.CharField(
        max_length=100,
        help_text=u'This is the standard text input',
    )
    body = forms.CharField(
        max_length=100,
        help_text=u'This is a text area',
        widget=forms.Textarea(
            attrs={
                'title': 'I am "nice"',
            }
        ),
    )
    disabled = forms.CharField(
        max_length=100,
        required=False,
        help_text=u'I am disabled',
        widget=forms.TextInput(attrs={
            'disabled': 'disabled',
            'placeholder': 'I am disabled',
        })
    )
    content = forms.ChoiceField(
        choices=(
            ("text", "Plain text"),
            ("html", "HTML"),
        ),
        help_text=u'Pick your choice',
    )
    email = forms.EmailField()
    like = forms.BooleanField(required=False)
    fruits = forms.MultipleChoiceField(
        widget=forms.CheckboxSelectMultiple,
        choices=(
            ("apple", "Apple"),
            ("pear", "Pear"),
        ),
        help_text=u'As you can see, multiple checkboxes work too',
    )
    number = forms.MultipleChoiceField(
        widget=forms.CheckboxSelectMultiple(attrs={
            'inline': True,
        }),
        choices=(
            ("3", "Three"),
            ("33", "Thirty three"),
            ("333", "Three hundred thirty three"),
        ),
        help_text=u'And can be inline',
    )
    color = forms.ChoiceField(
        widget=forms.RadioSelect(attrs={'data-demo-attr': 'bazinga'}),
        choices=(
            ("#f00", "red"),
            ("#0f0", "green"),
            ("#00f", "blue"),
        ),
        help_text=u'And we have <i>radiosets</i>',
    )
    prepended = forms.CharField(
        max_length=100,
        help_text=u'I am prepended by a P',
        widget=BootstrapTextInput(prepend='P'),
    )

    def clean(self):
        cleaned_data = super(TestForm, self).clean()
        raise forms.ValidationError("This error was added to show the non field errors styling.")
        return cleaned_data
예제 #19
0
 class Meta:
     model = Ticket
     exclude = ['event', 'sale', 'success', 'checked_in', 'lobby_day', 'ambassador_program']
     widgets = {
         'twitter': BootstrapTextInput(attrs={'placeholder': "e.g., \"tcampdc\""}),
     }
예제 #20
0
class SignupForm(forms.Form):
    """
    Form for creating a new user account.

    Validates that the requested username and e-mail is not already in use.
    Also requires the password to be entered twice.

    """
    username = forms.RegexField(
        regex=USERNAME_RE,
        max_length=30,
        widget=BootstrapTextInput(attrs=attrs_dict),
        label=_("Username"),
        error_messages={
            'invalid':
            _('Username must contain only letters, numbers, dots and underscores.'
              )
        })
    email = forms.EmailField(
        widget=BootstrapTextInput(attrs=dict(attrs_dict, maxlength=75)),
        label=_("Email"))
    password1 = forms.CharField(widget=BootstrapPasswordInput(),
                                label=_("Create password"))
    password2 = forms.CharField(widget=BootstrapPasswordInput(
        attrs=attrs_dict, render_value=False),
                                label=_("Repeat password"))

    def clean_username(self):
        """
        Validate that the username is alphanumeric and is not already in use.
        Also validates that the username is not listed in
        ``USERENA_FORBIDDEN_USERNAMES`` list.

        """
        try:
            user = get_user_model().objects.get(
                username__iexact=self.cleaned_data['username'])
        except get_user_model().DoesNotExist:
            pass
        else:
            if userena_settings.USERENA_ACTIVATION_REQUIRED and UserenaSignup.objects.filter(
                    user__username__iexact=self.cleaned_data['username']
            ).exclude(activation_key=userena_settings.USERENA_ACTIVATED):
                raise forms.ValidationError(
                    _('This username is already taken but not confirmed. Please check your email for verification steps.'
                      ))
            raise forms.ValidationError(_('This username is already taken.'))
        if self.cleaned_data['username'].lower(
        ) in userena_settings.USERENA_FORBIDDEN_USERNAMES:
            raise forms.ValidationError(_('This username is not allowed.'))
        return self.cleaned_data['username']

    def clean_email(self):
        """ Validate that the e-mail address is unique. """
        if get_user_model().objects.filter(
                email__iexact=self.cleaned_data['email']):
            if userena_settings.USERENA_ACTIVATION_REQUIRED and UserenaSignup.objects.filter(
                    user__email__iexact=self.cleaned_data['email']).exclude(
                        activation_key=userena_settings.USERENA_ACTIVATED):
                raise forms.ValidationError(
                    _('This email is already in use but not confirmed. Please check your email for verification steps.'
                      ))
            raise forms.ValidationError(
                _('This email is already in use. Please supply a different email.'
                  ))
        return self.cleaned_data['email']

    def clean(self):
        """
        Validates that the values entered into the two password fields match.
        Note that an error here will end up in ``non_field_errors()`` because
        it doesn't apply to a single field.

        """
        if 'password1' in self.cleaned_data and 'password2' in self.cleaned_data:
            if self.cleaned_data['password1'] != self.cleaned_data['password2']:
                raise forms.ValidationError(
                    _('The two password fields didn\'t match.'))
        return self.cleaned_data

    def save(self):
        """ Creates a new user and account. Returns the newly created user. """
        username, email, password = (self.cleaned_data['username'],
                                     self.cleaned_data['email'],
                                     self.cleaned_data['password1'])

        new_user = UserenaSignup.objects.create_user(
            username, email, password,
            not userena_settings.USERENA_ACTIVATION_REQUIRED,
            userena_settings.USERENA_ACTIVATION_REQUIRED)
        return new_user
예제 #21
0
 class Meta:
     model = Organization
     fields = ('org_name', )
     widgets = {'org_name': BootstrapTextInput()}