Merge branch '0.6.4' into dev
[astakos] / snf-astakos-app / astakos / im / forms.py
index eb28578..d90fe74 100644 (file)
@@ -47,14 +47,12 @@ from django.utils.encoding import smart_str
 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
@@ -525,8 +523,6 @@ class ExtendedPasswordChangeForm(PasswordChangeForm):
 
 
 class AstakosGroupCreationForm(forms.ModelForm):
-#     issue_date = forms.DateField(widget=SelectDateWidget())
-#     expiration_date = forms.DateField(widget=SelectDateWidget())
     kind = forms.ModelChoiceField(
         queryset=GroupKind.objects.all(),
         label="",
@@ -599,6 +595,27 @@ class AddGroupMembersForm(forms.Form):
 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')),