Source code for ontology.forms

__copyright__ = "Copyright © Stichting SciPost (SciPost Foundation)"
__license__ = "AGPL v3"


from django import forms

from dal import autocomplete

from .constants import TOPIC_RELATIONS_ASYM
from .models import Tag, Topic


[docs]class SelectTagsForm(forms.Form): tags = forms.ModelMultipleChoiceField( queryset=Tag.objects.all(), widget=autocomplete.ModelSelect2Multiple(url='/ontology/tag-autocomplete'), label='' )
[docs]class SelectTopicForm(forms.Form): topic = forms.ModelMultipleChoiceField( queryset=Topic.objects.all(), widget=autocomplete.ModelSelect2Multiple(url='/ontology/topic-autocomplete'), label='' ) def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) self.fields['topic'].widget.attrs.update({ 'placeholder':'type here to find topic'})
[docs]class SelectLinkedTopicForm(forms.Form): topic = forms.ModelMultipleChoiceField( queryset=Topic.objects.all(), widget=autocomplete.ModelSelect2Multiple( url='/ontology/topic-linked-autocomplete', attrs={'data-html': True} ), label='Find a topic (click to see it)' )
[docs]class AddRelationAsymForm(forms.Form): A = forms.ModelChoiceField( queryset=Topic.objects.all(), widget=autocomplete.ModelSelect2(url='/ontology/topic-autocomplete'), label='' ) relation = forms.ChoiceField(choices=TOPIC_RELATIONS_ASYM, label='') B = forms.ModelChoiceField( queryset=Topic.objects.all(), widget=autocomplete.ModelSelect2(url='/ontology/topic-autocomplete'), label='' )