from django.forms.extras.widgets import SelectDateWidget
from django.conf import settings
-from astakos.im.models import (
- AstakosUser, EmailChange, AstakosGroup, Invitation,
- Membership, GroupKind, get_latest_terms
-)
+from astakos.im.models import (AstakosUser, EmailChange, AstakosGroup,
+ Invitation, Membership, GroupKind, Resource,
+ get_latest_terms)
from astakos.im.settings import (INVITATIONS_PER_LEVEL, BASEURL, SITENAME,
- RECAPTCHA_PRIVATE_KEY, RECAPTCHA_ENABLED, DEFAULT_CONTACT_EMAIL,
- LOGGING_LEVEL
- )
+ RECAPTCHA_PRIVATE_KEY, RECAPTCHA_ENABLED,
+ DEFAULT_CONTACT_EMAIL, LOGGING_LEVEL)
from astakos.im.widgets import DummyWidget, RecaptchaWidget
from astakos.im.functions import send_change_email
class AstakosGroupCreationForm(forms.ModelForm):
-# issue_date = forms.DateField(widget=SelectDateWidget())
-# expiration_date = forms.DateField(widget=SelectDateWidget())
kind = forms.ModelChoiceField(
queryset=GroupKind.objects.all(),
label="",
class AstakosGroupSearchForm(forms.Form):
q = forms.CharField(max_length=200, label='Search group')
+class TimelineForm(forms.Form):
+ entity = forms.CharField(
+ widget=forms.HiddenInput(), label='')
+ resource = forms.ModelChoiceField(
+ queryset=Resource.objects.all()
+ )
+ start_date = forms.DateTimeField()
+ end_date = forms.DateTimeField()
+ action = forms.ChoiceField(choices=(), required=False)
+
+ def clean(self):
+ super(TimelineForm, self).clean()
+ d = self.cleaned_data
+ if 'resource' in d:
+ d['resource'] = str(d['resource'])
+ if 'start_date' in d:
+ d['start_date'] = d['start_date'].strftime("%Y-%m-%dT%H:%M:%S.%f")
+ if 'end_date' in d:
+ d['end_date'] = d['end_date'].strftime("%%Y-%m-%dT%H:%M:%S.%f")
+ return d
+
class AstakosGroupSortForm(forms.Form):
sort_by = forms.ChoiceField(label='Sort by',
choices=(('groupname', 'Name'), ('kindname', 'Type')),