from django.core.urlresolvers import reverse as urlreverse from django.db.models.query import QuerySet from django.forms.widgets import Widget from django.utils.safestring import mark_safe from django.utils.html import conditional_escape class ButtonWidget(Widget): def __init__(self, *args, **kwargs): self.label = kwargs.pop('label', None) self.show_on = kwargs.pop('show_on', None) self.require = kwargs.pop('require', None) self.required_label = kwargs.pop('required_label', None) super(ButtonWidget, self).__init__(*args, **kwargs) def render(self, name, value, attrs=None): html = u'
' % conditional_escape(self.show_on) html += u' ' % conditional_escape(self.label) if self.require: for i in self.require: html += u' ' % conditional_escape(i) required_str = u'Please fill in %s to attach a new file' % conditional_escape(self.required_label) html += u' ' % conditional_escape(required_str) html += u'' % conditional_escape(self.label) return mark_safe(html) class ShowAttachmentsWidget(Widget): def render(self, name, value, attrs=None): html = u'