# -*- coding: utf-8 -*- from __future__ import absolute_import from __future__ import division from __future__ import print_function from __future__ import unicode_literals from django.contrib.contenttypes.models import ContentType from django import forms from rapid.models import Profile, Application, DocumentTemplate from rapid.wrappers import FieldData from rapid.widgets import RapidReadOnly, RapidSelector, getRapidReadonlyRelation class ManageUsers(forms.ModelForm): class Meta(object): model = Profile fields = '__all__' widgets = { 'application': getRapidReadonlyRelation(Application, None), 'name': RapidReadOnly(), 'description': RapidReadOnly, 'users': RapidSelector(FieldData.from_model(Profile, 'users')) } def get_document_template_form(model): class AddDocumentTemplate(forms.ModelForm): def save(self, commit=True): obj = super(AddDocumentTemplate, self).save(commit=False) obj.model = ContentType.objects.get_for_model(model) if commit: obj.save() self.save_m2m() return obj class Meta(object): model = DocumentTemplate fields = ('name', 'template') return AddDocumentTemplate