from django import forms

from smadrill.models import Semtype, Tag

# TODO: if semtype is selected, only show tags that apply to that
# semtype

# TODO: if tag is selected, only show semtypes that apply

def keyedTuples(queryset, key):
	tuplelist = [(item.id, item.__getattribute__(key)) for item in queryset]
	return tuplelist

SEMTYPES = [('None', 'None')] + keyedTuples(Semtype.objects.all(), 'semtype')
TAGS = [('None', 'None')] + keyedTuples(Tag.objects.all(), 'string')

class MorfaCElement(forms.Form):
	wordstring = forms.CharField(required=False)
	tagstr = forms.ChoiceField(choices=TAGS, widget=forms.Select)
	semtype = forms.ChoiceField(choices=SEMTYPES, widget=forms.Select)

	sample = forms.CharField(required=False)
	additionals = forms.CharField(required=False)


