1 from django import forms |
1 from django import forms |
2 from models import Project, Content |
2 from models import Project, Content |
3 import uuid |
3 import uuid |
|
4 from utils import generate_uuid |
|
5 from django.forms.widgets import Widget |
|
6 from django.contrib.admin import widgets as admin_widgets |
|
7 from django.core.urlresolvers import reverse |
|
8 from ldt.settings import BASE_URL |
4 |
9 |
5 class LdtImportForm(forms.Form): |
10 class LdtImportForm(forms.Form): |
6 importFile = forms.FileField() |
11 importFile = forms.FileField() |
7 videoPath = forms.CharField(required=False) |
12 videoPath = forms.CharField(required=False) |
8 flatten = forms.BooleanField(required=False, initial=True) |
13 flatten = forms.BooleanField(required=False, initial=True) |
25 class AddProjectForm (forms.Form): |
30 class AddProjectForm (forms.Form): |
26 title = forms.CharField() |
31 title = forms.CharField() |
27 |
32 |
28 class CopyProjectForm (forms.Form): |
33 class CopyProjectForm (forms.Form): |
29 title = forms.CharField() |
34 title = forms.CharField() |
|
35 |
|
36 |
|
37 class ContentForm(forms.ModelForm): |
|
38 |
|
39 #iri_id = forms.CharField(max_length=1024, widget=forms.HiddenInput, initial=generate_uuid) |
|
40 iriurl = forms.CharField(max_length=1024, widget=forms.HiddenInput, required=False) |
|
41 content_creation_date = forms.SplitDateTimeField(widget=admin_widgets.AdminSplitDateTime, required=False) |
|
42 |
|
43 def clean_iri_id(self): |
|
44 data = self.cleaned_data.get('iri_id') |
|
45 if not data: |
|
46 data = generate_uuid() |
|
47 return data |
|
48 |
|
49 def clean(self): |
|
50 cleaned_data = self.cleaned_data |
|
51 iriurl_data = cleaned_data.get('iriurl') |
|
52 iri_id_data = cleaned_data['iri_id'] |
|
53 if not iriurl_data: |
|
54 iriurl_data = "%s/%s.iri" % (iri_id_data, iri_id_data) |
|
55 cleaned_data['iriurl'] = iriurl_data |
|
56 return cleaned_data |
|
57 |
|
58 class Meta: |
|
59 model = Content |
|
60 exclude = ("creation_date", "update_date", "authors") |
|
61 widgets = { |
|
62 'iri_id': forms.HiddenInput, |
|
63 } |
|
64 |
|
65 class Media: |
|
66 css = { |
|
67 'all' : ('admin/css/forms.css','admin/css/base.css', 'admin/css/base.css', 'admin/css/widgets.css') |
|
68 } |