forms.py 1.2 KB

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