Source code for oioioi.base.utils.input_with_generate

import django
from django import forms
from django.utils.safestring import mark_safe


[docs]class TextInputWithGenerate(forms.TextInput):
[docs] html_template = ( "<div id={id}>\n" " {input_html}\n" " <input type=\"button\" value=\"Generate\" />\n" "</div>" )
def __init__(self, *args, **kwargs): attrs = kwargs.setdefault('attrs', {}) attrs.setdefault('style', 'width:200px;') super(TextInputWithGenerate, self).__init__(*args, **kwargs)
[docs] def render(self, name, value, attrs=None, renderer=None): if self.attrs is not None and 'id' in self.attrs: id = self.attrs.pop('id') elif attrs is not None and 'id' in attrs: id = attrs.pop('id') else: id = 'id' id += '_input-with-generate' html = super(TextInputWithGenerate, self).render(name, value, attrs, renderer) html = mark_safe(self.html_template.format(id=id, input_html=html)) return html
[docs] class Media(object):
[docs] js = ('common/ajax-generate-key.js',)