コード例 #1
0
ファイル: forms.py プロジェクト: saeed97/backend_django
    class Meta:
        model = Project
        fields = [
            'title', 'looking_for_members', 'aws_resources', 'description',
            'bounty', 'technologies', 'team', 'image', 'inspiration',
            'what_it_does', 'how_it_was_built', 'challenges',
            'accomplishments', 'learned', 'whats_next'
        ]

        team = AutoCompleteSelectMultipleField(
            lookup_class=UserLookup,
            widget=AutoCompleteSelectMultipleWidget(lookup_class=UserLookup,
                                                    limit=10),
            label="Select a team member")
        bounty = AutoCompleteSelectField(lookup_class=BountyLookup,
                                         widget=AutoCompleteSelectWidget(
                                             lookup_class=BountyLookup,
                                             limit=10),
                                         label="Select a team member")
        widgets = {
            'team':
            AutoCompleteSelectMultipleWidget(lookup_class=UserLookup,
                                             limit=10),
            'bounty':
            AutoCompleteSelectWidget(lookup_class=BountyLookup, limit=10)
        }
コード例 #2
0
class SuggestionCreateForm(forms.ModelForm):
    county = AutoCompleteSelectField(
        lookup_class=CountyLookup,
        required=False,
        widget=AutoCompleteSelectWidget(
            lookup_class=CountyLookup,
            attrs={"class": "suggestions-hidden suggestions-county"},
        )
    )
    city = AutoCompleteSelectField(
        lookup_class=CityLookup,
        required=False,
        widget=AutoCompleteSelectWidget(
            lookup_class=CityLookup,
            attrs={"class": "suggestions-hidden suggestions-city"},
        )
    )

    class Meta:
        model = Suggestion

    class Media:
        js = (
            "suggestions/js/form.js",
        )
コード例 #3
0
class RequestForm(forms.ModelForm):
    county = AutoCompleteSelectField(
        lookup_class=CountyLookup,
        required=False,
        widget=AutoCompleteSelectWidget(
            lookup_class=CountyLookup,
            attrs={"class": "suggestions-hidden suggestions-county"},
        ))
    city = AutoCompleteSelectField(
        lookup_class=CityLookup,
        required=False,
        widget=AutoCompleteSelectWidget(
            lookup_class=CityLookup,
            attrs={"class": "suggestions-hidden suggestions-city"},
        ))

    class Meta:
        model = Request
        exclude = (
            'suggested_by',
            'resources',
            'rating',
            'status',
        )

    class Media:
        js = ("suggestions/js/form.js", )
コード例 #4
0
ファイル: __init__.py プロジェクト: saspi/regluit
class MapSubjectForm(forms.Form):
    subject = AutoCompleteSelectField(
        SubjectLookup,
        widget=AutoCompleteSelectWidget(SubjectLookup, allow_new=False),
        label='Source Subject',
    )
    onto_subject = AutoCompleteSelectField(
        SubjectLookup,
        widget=AutoCompleteSelectWidget(SubjectLookup, allow_new=False),
        label='Target Subject',
    )
コード例 #5
0
class ClaimAdminForm(forms.ModelForm):
    work = AutoCompleteSelectField(
        lookup_class=WorkLookup,
        widget=AutoCompleteSelectWidget(lookup_class=WorkLookup),
        required=True,
    )
    user = AutoCompleteSelectField(
        lookup_class=OwnerLookup,
        widget=AutoCompleteSelectWidget(lookup_class=OwnerLookup),
        required=True,
    )
    class Meta(object):
        model = models.Claim
        exclude = ()
コード例 #6
0
class MARCRecordAdminForm(ModelForm):
    edition = AutoCompleteSelectField(
        EditionLookup,
        widget=AutoCompleteSelectWidget(EditionLookup),
        required=True,
    )
    user = AutoCompleteSelectField(
        OwnerLookup,
        widget=AutoCompleteSelectWidget(OwnerLookup),
        required=True,
    )

    class Meta(object):
        model = MARCRecord
        exclude = ()
コード例 #7
0
ファイル: admin.py プロジェクト: slimlime/regluit
class LibraryAdminForm(forms.ModelForm):
    user = AutoCompleteSelectField(
            UserLookup,
            widget=AutoCompleteSelectWidget(UserLookup),
            required=True,
        )
    owner = AutoCompleteSelectField(
            UserLookup,
            widget=AutoCompleteSelectWidget(UserLookup),
            required=True,
        )
    class Meta(object):
        model = models.Library
        widgets= {'group':forms.HiddenInput}
        exclude = ('group', )
コード例 #8
0
class EbookFileAdminForm(forms.ModelForm):
    edition = AutoCompleteSelectField(
        lookup_class=EditionLookup,
        label='Edition',
        widget=AutoCompleteSelectWidget(lookup_class=EditionLookup, attrs={'size':60}),
        required=True,
    )
    ebook = AutoCompleteSelectField(
        lookup_class=EbookLookup,
        label='Ebook',
        widget=AutoCompleteSelectWidget(lookup_class=EbookLookup, attrs={'size':60}),
        required=False,
    )
    class Meta(object):
        model = models.EbookFile
        fields = ('file', 'format', 'edition', 'ebook', 'source')
コード例 #9
0
class WorkRelationAdminForm(forms.ModelForm):
    to_work = AutoCompleteSelectField(
        lookup_class=WorkLookup,
        label='To Work',
        widget=AutoCompleteSelectWidget(lookup_class=WorkLookup),
        required=True,
    )
    from_work = AutoCompleteSelectField(
        lookup_class=WorkLookup,
        label='From Work',
        widget=AutoCompleteSelectWidget(lookup_class=WorkLookup),
        required=True,
    )
    class Meta(object):
        model = models.WorkRelation
        exclude = ()
コード例 #10
0
class EditionAdminForm(forms.ModelForm):
    work = AutoCompleteSelectField(
        lookup_class=WorkLookup,
        label='Work',
        widget=AutoCompleteSelectWidget(lookup_class=WorkLookup),
        required=True,
    )
    publisher_name = AutoCompleteSelectField(
        lookup_class=PublisherNameLookup,
        label='Publisher Name',
        widget=AutoCompleteSelectWidget(lookup_class=PublisherNameLookup),
        required=False,
    )
    class Meta(object):
        model = models.Edition
        exclude = ()
コード例 #11
0
ファイル: forms.py プロジェクト: gustavost26/pyexplain
class KeywordForm(forms.Form):
    keyword = forms.CharField(
        widget=AutoCompleteSelectWidget(lookup_class=KeywordLookup,
                                        attrs={
                                            'class': 'form-control col-xs-12',
                                            'placeholder': 'Buscar'
                                        }))
コード例 #12
0
class IdentifierAdminForm(forms.ModelForm):
    work = AutoCompleteSelectField(
        lookup_class=WorkLookup,
        label='Work',
        widget=AutoCompleteSelectWidget(lookup_class=WorkLookup, attrs={'size':60}),
        required=False,
    )
    edition = AutoCompleteSelectField(
        lookup_class=EditionLookup,
        label='Edition',
        widget=AutoCompleteSelectWidget(lookup_class=EditionLookup, attrs={'size':60}),
        required=False,
    )
    class Meta(object):
        model = models.Identifier
        exclude = ()
コード例 #13
0
ファイル: test_functional.py プロジェクト: malongge/inventory
 class Meta(object):
     model = OtherThing
     fields = (
         'name',
         'thing',
     )
     widgets = {'thing': AutoCompleteSelectWidget(lookup_class=ThingLookup)}
コード例 #14
0
 class Meta:
     fields = ['user', 'subscription_type']
     model = Subscription
     widgets = {
         'user': AutoCompleteSelectWidget(
             lookup_class=StaffUserLookup
         )
     }
コード例 #15
0
class RightsHolderAdminForm(forms.ModelForm):
    owner = AutoCompleteSelectField(
        lookup_class=OwnerLookup,
        widget=AutoCompleteSelectWidget(lookup_class=OwnerLookup),
        required=True,
    )
    class Meta(object):
        model = models.RightsHolder
        exclude = ()
コード例 #16
0
class EbookAdminForm(forms.ModelForm):
    edition = AutoCompleteSelectField(
        lookup_class=EditionLookup,
        label='Edition',
        widget=AutoCompleteSelectWidget(lookup_class=EditionLookup, attrs={'size':60}),
        required=True,
    )
    class Meta(object):
        model = models.Ebook
        exclude = ('user', 'filesize', 'download_count')
コード例 #17
0
ファイル: admin.py プロジェクト: kznmft/regluit
class PublisherAdminForm(forms.ModelForm):
    name = AutoCompleteSelectField(
        lookup_class=PublisherNameLookup,
        label='Name',
        widget=AutoCompleteSelectWidget(lookup_class=PublisherNameLookup),
        required=True,
    )

    class Meta(object):
        model = models.Publisher
        exclude = ()
コード例 #18
0
class OtherWorkForm(WorkForm):
    other_work = AutoCompleteSelectField(
            WorkLookup,
            label='Other Work (title)',
            widget=AutoCompleteSelectWidget(WorkLookup),
            required=True,
            error_messages={'required': 'Missing work to merge with.'},
        )

    def __init__(self,  *args, **kwargs):
        super(OtherWorkForm, self).__init__(*args, **kwargs)
        self.fields['other_work'].widget.update_query_parameters({'language':self.work.language})
コード例 #19
0
class MARCUploadForm(forms.Form):
    edition = AutoCompleteSelectField(
        EditionLookup,
        label='Edition',
        widget=AutoCompleteSelectWidget(EditionLookup),
        required=True,
        error_messages={'required': 'Please specify an edition.'},
    )
    file = forms.FileField(label='Select a MARCXML file.')
    source = forms.ChoiceField(label='This file is ...',
                               choices=[
                                   ('loc', 'from Library of Congress (print)'),
                                   ('raw', 'prepared for Unglue.it'),
                               ])
コード例 #20
0
 class TransferCreditForm(forms.Form):
     recipient = AutoCompleteSelectField(
             OwnerLookup,
             label='Recipient',
             widget=AutoCompleteSelectWidget(OwnerLookup),
             required=True,
             error_messages={'required': 'Please ensure the recipient is a valid Unglue.it account.'},
         )
     amount = forms.IntegerField(
             required=True,
             min_value=1,
             max_value=maximum,
             label="Transfer Amount",
             error_messages={
                 'min_value': 'Transfer amount must be positive',
                 'max_value': 'You only have %(limit_value)s available for transfer'
             },
         )
コード例 #21
0
class RightsHolderForm(forms.ModelForm):
    owner = AutoCompleteSelectField(
            OwnerLookup,
            label='Owner',
            widget=AutoCompleteSelectWidget(OwnerLookup),
            required=True,
            error_messages={'required': 'Please ensure the owner is a valid Unglue.it account.'},
        )
    email = forms.EmailField(
        label=_("notification email address for rights holder"),
        max_length=100,
        error_messages={'required': 'Please enter an email address for the rights holder.'},
        )
    class Meta:
        model = RightsHolder
        exclude = ()

    def clean_rights_holder_name(self):
        rights_holder_name = self.data["rights_holder_name"]
        try:
            RightsHolder.objects.get(rights_holder_name__iexact=rights_holder_name)
        except RightsHolder.DoesNotExist:
            return rights_holder_name
        raise forms.ValidationError(_("Another rights holder with that name already exists."))
コード例 #22
0
class EditionForm(forms.ModelForm):
    '''
    form for bibliographic data (both editions and works
    '''
    add_author = forms.CharField(max_length=500, required=False)
    add_author_relation = forms.ChoiceField(choices=CREATOR_RELATIONS,
                                            initial=('aut', 'Author'))
    add_subject = AutoCompleteSelectField(
        SubjectLookup,
        widget=AutoCompleteSelectWidget(SubjectLookup, allow_new=True),
        label='Keyword',
        required=False,
    )
    add_related_work = AutoCompleteSelectField(
        WorkLookup,
        widget=AutoCompleteSelectWidget(WorkLookup,
                                        allow_new=False,
                                        attrs={'size': 40}),
        label='Related Work',
        required=False,
    )
    add_work_relation = forms.ChoiceField(
        choices=TEXT_RELATION_CHOICES,
        initial=('translation', 'translation'),
        required=False,
    )

    bisac = forms.ModelChoiceField(bisac_headings, required=False)

    publisher_name = AutoCompleteSelectField(
        PublisherNameLookup,
        label='Publisher Name',
        widget=AutoCompleteSelectWidget(PublisherNameLookup, allow_new=True),
        required=False,
        allow_new=True,
    )

    id_type = forms.ChoiceField(label='Identifier Type', choices=ID_CHOICES)
    id_value = forms.CharField(
        label='Identifier Value',
        widget=forms.TextInput(attrs={'size': 60}),
        required=False,
    )
    language = forms.ChoiceField(choices=LANGUAGES)
    age_level = forms.ChoiceField(choices=AGE_LEVEL_CHOICES, required=False)
    description = forms.CharField(required=False, widget=CKEditorWidget())
    coverfile = forms.ImageField(required=False)
    note = AutoCompleteSelectField(
        EditionNoteLookup,
        widget=AutoCompleteSelectWidget(EditionNoteLookup, allow_new=True),
        label='Edition Note',
        required=False,
        allow_new=True,
    )

    def __init__(self, *args, **kwargs):
        super(EditionForm, self).__init__(*args, **kwargs)
        self.relators = []
        if self.instance:
            for relator in self.instance.relators.all():
                select = forms.Select(choices=CREATOR_RELATIONS).render(
                    'change_relator_%s' % relator.id, relator.relation.code)
                self.relators.append({'relator': relator, 'select': select})

    def clean_doi(self):
        doi = self.cleaned_data["doi"]
        if doi and doi.startswith("http"):
            return doi.split('/', 3)[3]
        return doi

    def clean_title(self):
        return sanitize_line(self.cleaned_data["title"])

    def clean_add_author(self):
        return sanitize_line(self.cleaned_data["add_author"])

    def clean_description(self):
        return remove_badxml(self.cleaned_data["description"])

    def clean(self):
        id_type = self.cleaned_data['id_type']
        id_value = self.cleaned_data.get('id_value', '').strip()
        if id_value:
            identifier = Identifier.objects.filter(type=id_type,
                                                   value=id_value)
            if identifier:
                err_msg = "{} is a duplicate for work #{}.".format(
                    identifier[0], identifier[0].work.id)
                self.add_error('id_value', forms.ValidationError(err_msg))
            try:
                self.cleaned_data['value'] = identifier_cleaner(id_type)(
                    id_value)
            except forms.ValidationError, ve:
                self.add_error(
                    'id_value',
                    forms.ValidationError('{}: {}'.format(
                        ve.message, id_value)))
        return self.cleaned_data
コード例 #23
0
 class Meta(object):
     model = OtherThing
     widgets = {'thing': AutoCompleteSelectWidget(lookup_class=ThingLookup)}
コード例 #24
0
ファイル: __init__.py プロジェクト: saspi/regluit
class SubjectSelectForm(forms.Form):
    add_kw = AutoCompleteSelectField(
        SubjectLookup,
        widget=AutoCompleteSelectWidget(SubjectLookup, allow_new=False),
        label='Keyword',
    )