forms.py 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. # -*- coding: utf-8 -*-
  2. from __future__ import absolute_import
  3. from __future__ import division
  4. from __future__ import print_function
  5. from __future__ import unicode_literals
  6. from django.contrib.contenttypes.models import ContentType
  7. from django import forms
  8. from rapid.models import Profile, Application, DocumentTemplate
  9. from rapid.wrappers import FieldData
  10. from rapid.widgets import RapidReadOnly, RapidRelationReadOnly, RapidSelector
  11. class ManageUsers(forms.ModelForm):
  12. class Meta(object):
  13. model = Profile
  14. fields = '__all__'
  15. widgets = {
  16. 'application': RapidRelationReadOnly(Application),
  17. 'name': RapidReadOnly(),
  18. 'description': RapidReadOnly,
  19. 'users': RapidSelector(FieldData.from_model(Profile, 'users'))
  20. }
  21. def get_document_template_form(model):
  22. class AddDocumentTemplate(forms.ModelForm):
  23. def save(self, commit=True):
  24. obj = super(AddDocumentTemplate, self).save(commit=False)
  25. obj.model = ContentType.objects.get_for_model(model)
  26. if commit:
  27. obj.save()
  28. self.save_m2m()
  29. return obj
  30. class Meta(object):
  31. model = DocumentTemplate
  32. fields = ('name', 'template')
  33. return AddDocumentTemplate