def render(self, name, value, attrs=None, choices=()): from django.utils.html import escape from django.forms.util import flatatt, smart_unicode if value is None: value = '' final_attrs = self.build_attrs(attrs, name=name) output = [u'<select%s>' % flatatt(final_attrs)] str_value = smart_unicode(value) for group_label, group in self.choices: if group_label: # should belong to an optgroup group_label = smart_unicode(group_label) output.append(u'<optgroup label="%s">' % escape(group_label)) for k, v in group: option_value = smart_unicode(k) option_label = smart_unicode(v) if option_value == str_value: selected_html = u' selected="selected"' else: selected_html = '' output.append(u'<option value="%s"%s>%s</option>' % ( escape(option_value), selected_html, escape(option_label))) if group_label: output.append(u'</optgroup>') output.append(u'</select>') return u'\n'.join(output)
def render(self, name, value, attrs=None, choices=()): from django.utils.html import escape from django.forms.util import flatatt, smart_unicode if value is None: value = '' final_attrs = self.build_attrs(attrs, name=name) output = [u'<select%s>' % flatatt(final_attrs)] str_value = smart_unicode(value) for group_label, group in self.choices: if group_label: # should belong to an optgroup group_label = smart_unicode(group_label) output.append(u'<optgroup label="%s">' % escape(group_label)) for k, v in group: option_value = smart_unicode(k) option_label = smart_unicode(v) if option_value == str_value: selected_html = u' selected="selected"' else: selected_html = '' output.append(u'<option value="%s"%s>%s</option>' % (escape(option_value), selected_html, escape(option_label))) if group_label: output.append(u'</optgroup>') output.append(u'</select>') return u'\n'.join(output)
def asLine(self): if self.note != "": tmp_note = u", %s" % smart_unicode(self.note) else: tmp_note = u"" return u"%s (%s Kč)%s" % (smart_unicode(self.game.name), smart_unicode(self.price), smart_unicode(tmp_note), )
def __init__(self, name, value, attrs, choice, index): self.name, self.value = name, value self.attrs = attrs self.choice_value = smart_unicode(choice[0]) self.choice_label = smart_unicode(choice[1]) if len(choice) > 2: if choice[2] == "disabled": self.attrs["disabled"] = "disabled" self.index = index
def render(self, name, value, attrs=None): if value is None: value = '' display_format = "{total} бичлэгээс {start}-{end} ийг үзүүлж байна." #display_format = "Displaying {start}-{end} of {total} results" value = smart_unicode(value) display_format = smart_unicode(display_format) watermark = "Бичнэ үү" watermark = smart_unicode(watermark) # debug("FlexWidget Value = %s , name = %s"%(value, name)) if(value != ''): init_value = str(self.model.objects.get(pk=int(value))) else: init_value = '' id = attrs['id'] hidden_id = attrs['id']+"_hid" final_attrs = self.build_attrs(attrs, name=name) rendered= u"""<input name="%s" id="%s" type="hidden" value="%s" /> <div %s> </div> <script type="text/javascript"> jQuery(function(){ jQuery("#%s").flexbox('%s', { initialValue: '%s', watermark: '%s', width: 300, resultTemplate: '<table><tr><td class="row-center" width="100%%">{name}</td></tr></table>', paging:{ pageSize: 10, style: 'input', // or 'links' cssClass: 'paging', // prefix with containerClass (e.g. .ffb .paging) showSummary: true, // whether to show 'displaying 1-10 of 200 results' text summaryTemplate: '%s' // can use {page} and {pages} as well }, onSelect: function() { jQuery('#%s').attr('value',this.getAttribute('hiddenValue')); } }); }); </script> """ % (name, hidden_id ,value, flatatt(final_attrs), id, self.remote_url, smart_unicode(init_value), watermark, display_format, hidden_id) return mark_safe(rendered)
def render(self, name, value, attrs=None): if value is None: value = '' value = smart_unicode(value) final_attrs = self.build_attrs(attrs, name=name) id = attrs['id'] return str(u"""<input %s/> <span>Нэрийг нь бичнэ үү</span> <script type="text/javascript"> //<!CDATA[ jQuery("#%s").autocomplete('%s', { width: 250, multiple: false, matchContains: false, formatItem: function(row) { return row[0] + " (<strong>id: " + row[1] + "</strong>)"; }, formatResult: function (row) { return row[0].replace(/(<.+?>)/gi, ''); } }); //]> </script> """ % (flatatt(final_attrs) , id, self.remote_url))
def render(self, name, value, attrs=None): if value is None: value = '' value = smart_unicode(value) final_attrs = self.build_attrs(attrs) final_attrs['name'] = name assert 'id' in final_attrs, "TinyMCE widget attributes must contain 'id'" mce_config = tinymce.settings.DEFAULT_CONFIG.copy() mce_config.update(get_language_config(self.content_language)) if tinymce.settings.USE_FILEBROWSER: mce_config['file_browser_callback'] = "djangoFileBrowser" mce_config.update(self.mce_attrs) mce_config['mode'] = 'exact' mce_config['elements'] = final_attrs['id'] mce_config['strict_loading_mode'] = 1 mce_json = simplejson.dumps(mce_config) html = [u'<textarea%s>%s</textarea>' % (flatatt(final_attrs), escape(value))] if tinymce.settings.USE_COMPRESSOR: compressor_config = { 'plugins': mce_config.get('plugins', ''), 'themes': mce_config.get('theme', 'advanced'), 'languages': mce_config.get('language', ''), 'diskcache': True, 'debug': False, } compressor_json = simplejson.dumps(compressor_config) html.append(u'<script type="text/javascript">tinyMCE_GZ.init(%s)</script>' % compressor_json) html.append(u'<script type="text/javascript">tinyMCE.init(%s)</script>' % mce_json) return mark_safe(u'\n'.join(html))
def degitToStrDecimal(value, currency=None): if type(value) not in (str, unicode) : value = str(value) buhel = value.split(".") if not currency : if len(buhel) == 2 : return digitToStr(buhel[0]) + ' ' + digitToStr(buhel[1]) else: return digitToStr(buhel[0]) if len(buhel) == 2 : return digitToStr(buhel[0]) + ' ' + smart_unicode(currency.buhel) + ' ' + digitToStr(buhel[1]) + ' ' + smart_unicode(currency.butarhai) else: return digitToStr(buhel[0]) + ' ' + smart_unicode(currency.buhel)
def event_unapp(request, eventid): event = Event.objects.get(id=eventid) player = Player.objects.get(user=request.user) event.unregister(player) add_notif_message(request, u"%s: odhlášeno" % smart_unicode(event.name) ) return HttpResponseRedirect("/")
def render(self, name, value, attrs=None): if value is None: value = '' value = smart_unicode(value) final_attrs = self.build_attrs(attrs) final_attrs['name'] = name assert 'id' in final_attrs, "TinyMCE widget attributes must contain 'id'" mce_config = tinymce.settings.DEFAULT_CONFIG.copy() mce_config.update(get_language_config(self.content_language)) if tinymce.settings.USE_FILEBROWSER: mce_config['file_browser_callback'] = "djangoFileBrowser" mce_config.update(self.mce_attrs) mce_config['mode'] = 'exact' mce_config['elements'] = final_attrs['id'] mce_config['strict_loading_mode'] = 1 mce_json = simplejson.dumps(mce_config) html = [u'<textarea%s>%s</textarea>' % (flatatt(final_attrs), escape(value))] if tinymce.settings.USE_COMPRESSOR: compressor_config = { 'plugins': mce_config.get('plugins', 'fullscreen'), 'themes': mce_config.get('theme', 'advanced'), 'languages': mce_config.get('language', ''), 'diskcache': True, 'debug': False, } compressor_json = simplejson.dumps(compressor_config) html.append(u'<script type="text/javascript">tinyMCE_GZ.init(%s)</script>' % compressor_json) html.append(u'<script type="text/javascript">tinyMCE.init(%s)</script>' % mce_json) return mark_safe(u'\n'.join(html))
def event_app(request, eventid): event = Event.objects.get(id=eventid) questions_for_event = event.question.all().order_by("question") questions_for_game = [] if event.game is not None: questions_for_game = event.game.questionforgame_set.all().order_by("question") fields= {} for question in questions_for_event: fields[("%s" % question.question.id).rjust(20,"0")] = question.asField() for question in questions_for_game: fields["%s" % question.question.id] = question.asField() fields["%s" % question.question.id].label = u"Otázka ke hře %s: %s" % (event.game.name, fields["%s" % question.question.id].label) form = ApplicationForm() form.setFields(fields) if request.method == "POST": form.setData(request.POST) form.validate(request.POST) if form.is_valid(): form.save(eventid, request.user) add_notif_message(request, u"%s: přihláška přijata" % smart_unicode(event.name) ) if event.type == "multi": return HttpResponseRedirect("/game/%s/slots/" % event.id) return HttpResponseRedirect("/") return render_to_response("events/game_app.html", {'user' : request.user, 'form' : form, 'eventid' : eventid, })
def render(self, name, value, attrs=None): if value is None: value = '' value = smart_unicode(value) final_attrs = self.build_attrs(attrs, name=name) self.mce_settings['elements'] = "id_%s" % name mce_json = JSONEncoder().encode(self.mce_settings) return mark_safe(u'<textarea%s>%s</textarea> <script type="text/javascript">\ tinyMCE.init(%s)</script>' % (flatatt(final_attrs), escape(value), mce_json))
def clean(self, value): """Validate a phone number. """ super(CAPhoneNumberField, self).clean(value) if value in EMPTY_VALUES: return u'' value = re.sub('(\(|\)|\s+)', '', smart_unicode(value)) m = phone_digits_re.search(value) if m: return u'%s-%s-%s' % (m.group(1), m.group(2), m.group(3)) raise ValidationError(self.error_messages['invalid'])
def clean(self, value): """Validate a phone number. """ super(CAPhoneNumberField, self).clean(value) if value in EMPTY_VALUES: return '' value = re.sub('(\(|\)|\s+)', '', smart_unicode(value)) m = phone_digits_re.search(value) if m: return '%s-%s-%s' % (m.group(1), m.group(2), m.group(3)) raise ValidationError(self.error_messages['invalid'])
def render(self, name, value, attrs=None): if value is None: value = '' value = smart_unicode(value) final_attrs = self.build_attrs(attrs, name=name) self.mce_settings['elements'] = "id_%s" % name mce_json = JSONEncoder().encode(self.mce_settings) return u'<textarea%s>%s</textarea> <script type="text/javascript">\ tinyMCE.init(%s)</script>' % (flatatt(final_attrs), escape(value), mce_json)
def render(self, name, value, attrs={}): html_id = attrs.get('id', name) if value: value = smart_unicode(value) else: value = '' return AC_SNIPPET % {'id': html_id, 'name': name, 'value': escape(value), 'url': self.lookup_url, 'schema': self.schema}
def clean(self, value): """ Validate a phone number. Strips parentheses, whitespace and hyphens. """ super(AUPhoneNumberField, self).clean(value) if value in EMPTY_VALUES: return u'' value = re.sub('(\(|\)|\s+|-)', '', smart_unicode(value)) phone_match = PHONE_DIGITS_RE.search(value) if phone_match: return u'%s' % phone_match.group(1) raise ValidationError(self.error_messages['invalid'])
def render(self, name, value, attrs={}): html_id = attrs.get('id', name) if value: value = smart_unicode(value) else: value = '' return AC_SNIPPET % { 'id': html_id, 'name': name, 'value': escape(value), 'url': self.lookup_url, 'schema': self.schema }
def render(self, name, value=None, attrs=None): final_attrs = self.build_attrs(attrs, name=name) if value: value = smart_unicode(value) final_attrs['value'] = escape(value) if not self.attrs.has_key('id'): final_attrs['id'] = 'id_%s' % name return (u'<input type="text" name="%(name)s" class="%(name)s_field" id="%(id)s"/>' ' <span class="%(name)s_suggestions"></span>') % {'attrs' : flatatt(final_attrs), 'name' : name, 'id' : final_attrs['id'], 'url' : self.url, 'options' : self.options}
def render(self, name, value=None, attrs=None): final_attrs = self.build_attrs(attrs, name=name) if value: final_attrs['value'] = escape(smart_unicode(value)) if not self.attrs.has_key('id'): final_attrs['id'] = 'id_%s' % name return mark_safe('''<input type="text" %(attrs)s/> <script type="text/javascript"> %(js)s </script>''' % {'attrs': flatatt(final_attrs), 'js': self.render_js(final_attrs['id'])})
def render(self, name, value=None, attrs=None): final_attrs = self.build_attrs(attrs, name=name) if value: value = smart_unicode(value) final_attrs['value'] = escape(value) if not self.attrs.has_key('id'): final_attrs['id'] = 'id_%s' % name return (u'<input type="text" name="%(name)s" id="%(id)s"/> <div class="autocomplete" id="box_%(name)s"></div>' '<script type="text/javascript">' 'new Ajax.Autocompleter(\'%(id)s\', \'box_%(name)s\', \'%(url)s\', %(options)s);' '</script>') % {'attrs' : flatatt(final_attrs), 'name' : name, 'id' : final_attrs['id'], 'url' : self.url, 'options' : self.options}
def slots_change(request, eventid): event = Event.objects.get(id=eventid) player = Player.objects.get(user=request.user) event.mailToPlayer(player) games_applied = event.getGamesForPlayer(player) if len(games_applied) == 0: add_notif_message(request, u"%s: nejste přihlášen na žádnou hru" % smart_unicode(event.name) ) return HttpResponseRedirect(u"/") fields = {} for game in games_applied: for question in game.game.questionforgame_set.all().order_by("id"): fields["%s_%s" % (game.id, str(question.question.id).rjust(20,"0"))] = question.asField() fields["%s_%s" % (game.id, str(question.question.id).rjust(20,"0"))].label = u"Otázka ke hře %s: %s" % (game.game.name, fields["%s_%s" % (game.id, str(question.question.id).rjust(20,"0"))].label) fields["%s_%s" % (game.id, question.question.id)] = question.asField() fields["%s_%s" % (game.id, question.question.id)].label = u"Otázka ke hře %s: %s" % (game.game.name, fields["%s_%s" % (game.id, question.question.id)].label) if len(fields) == 0: add_notif_message(request, u"%s: registrace na jednotlivé hry byla přijata" % smart_unicode(event.name) ) return HttpResponseRedirect(u"/") form = QuestionsForGamesForm() form.setFields(fields) if request.method == "POST": form.setData(request.POST) form.validate("gheee") if form.is_valid(): add_notif_message(request, u"%s: registrace na jednotlivé hry byla přijata" % smart_unicode(event.name) ) form.save(request.user) return HttpResponseRedirect(u"/") return render_to_response("events/que_for_games.html", {u"user" : request.user, u"form" : form, u"eventid" : eventid})
def clean(self, value): """Validate a phone number. """ # print "-----------------|%s|------------------!!!" % value super(RU_PhoneNumberField, self).clean(value) if value in EMPTY_VALUES: return u'' value = re.sub('(\s+)', '', smart_unicode(value)) # print value for pd_re in phone_digits_re: m = pd_re.search(value) if m: value = u'(%s) %s-%s-%s' % (m.group(1), m.group(2), m.group(3), m.group(4)) return value raise ValidationError(self.error_messages['invalid'])
def render(self, name, value=None, attrs=None): final_attrs = self.build_attrs(attrs, name=name) if value: if self.func_display: final_attrs['value'] = self.func_display(value) else: final_attrs['value'] = escape(smart_unicode(value)) if 'id' not in self.attrs: final_attrs['id'] = 'id_%s' % name return mark_safe('<input type="text" %(attrs)s/> <script type="text/javascript" defer="defer"> %(js)s </script>' % { 'attrs' : flatatt(final_attrs), 'js' : self.render_js(final_attrs['id']), } )
def render(self, name, value, attrs=None): if value is None: value = '' value = smart_unicode(value) final_attrs = self.build_attrs(attrs, name=name) base_path = '%sjs/fckeditor/' % settings.MEDIA_URL return mark_safe(u''' <textarea%s>%s</textarea> <script type="text/javascript"> var oFCKeditor = new FCKeditor("%s"); oFCKeditor.BasePath = "%s"; oFCKeditor.Height = '500'; oFCKeditor.ReplaceTextarea(); </script> ''' % (flatatt(final_attrs), escape(value), name, base_path))
def render(self, name, value, attrs=None): """Render TinyMCE widget as HTML. """ if value is None: value = "" value = util.smart_unicode(value) final_attrs = self.build_attrs(attrs, name=name) self.mce_settings["elements"] = "id_%s" % name # convert mce_settings from dict to JSON mce_json = simplejson.JSONEncoder().encode(self.mce_settings) return safestring.mark_safe( self.TINY_MCE_HTML_FMT % {"attrs": widgets.flatatt(final_attrs), "value": html.escape(value), "settings_json": mce_json} )
def render(self, name, value, attrs=None): if value is None: value = '' value = smart_unicode(value) final_attrs = self.build_attrs(attrs) final_attrs['name'] = name mce_config = DEFAULT_CONFIG.copy() mce_config.update(get_language_config(self.content_language)) mce_config.update(self.mce_attrs) mce_config['mode'] = 'exact' mce_config['elements'] = final_attrs['id'] mce_json = simplejson.dumps(mce_config) return mark_safe( u'<textarea%s>%s</textarea>' u'<script type="text/javascript">tinyMCE.init(%s)</script>' % (flatatt(final_attrs), escape(value), mce_json) )
def render(self, name, value=None, attrs=None): final_attrs = self.build_attrs(attrs, name=name) if value: value = smart_unicode(value) final_attrs['value'] = escape(value) if not self.attrs.has_key('id'): final_attrs['id'] = 'id_%s' % name return ( u'<input type="text" name="%(name)s" id="%(id)s"/> <div class="autocomplete" id="box_%(name)s"></div>' '<script type="text/javascript">' 'new Ajax.Autocompleter(\'%(id)s\', \'box_%(name)s\', \'%(url)s\', %(options)s);' '</script>') % { 'attrs': flatatt(final_attrs), 'name': name, 'id': final_attrs['id'], 'url': self.url, 'options': self.options }
def render(self, name, value=None, attrs=None): final_attrs = self.build_attrs(attrs, name=name) if value: if self.multi: value = ", ".join([str(self.model.objects.get(id=v)) for v in value]) else: value = str(self.model.objects.get(id=value)) final_attrs['value'] = escape(smart_unicode(value)) if not self.attrs.has_key('id'): final_attrs['id'] = 'id_%s' % name return mark_safe('''<input type="text" %(attrs)s/> <script type="text/javascript"> %(js)s </script>''' % {'attrs': flatatt(final_attrs), 'js': self.render_js(final_attrs['id'])})
def render(self, name, value, attrs=None): """Render TinyMCE widget as HTML. """ if value is None: value = '' value = util.smart_unicode(value) final_attrs = self.build_attrs(attrs, name=name) self.mce_settings['elements'] = "id_%s" % name # convert mce_settings from dict to JSON mce_json = simplejson.JSONEncoder().encode(self.mce_settings) return safestring.mark_safe( self.TINY_MCE_HTML_FMT % { 'attrs': widgets.flatatt(final_attrs), 'value': html.escape(value), 'settings_json': mce_json })
def render(self, context): instance = Variable(self.instance).resolve(context) witems = instance.workitems.all() witems = witems.filter(status__endswith='active').exclude(user__username='******') retstr = u'' for item in witems: if item.user : username = Staff.objects.get(pk=item.user.pk).shortname() else : username = smart_unicode(item.pull_roles.all()[0]) #print username retstr += u'%s - %s ' %(item.activity.title, username) retstr += u'<br />' if retstr == '': return u'Алхамууд явагдаж дууссан' return retstr
def render(self, name, value=None, attrs=None): final_attrs = self.build_attrs(attrs, name=name) if value: if self.multi: value = ", ".join( [str(self.model.objects.get(id=v)) for v in value]) else: value = str(self.model.objects.get(id=value)) final_attrs['value'] = escape(smart_unicode(value)) if not self.attrs.has_key('id'): final_attrs['id'] = 'id_%s' % name return mark_safe('''<input type="text" %(attrs)s/> <script type="text/javascript"> %(js)s </script>''' % { 'attrs': flatatt(final_attrs), 'js': self.render_js(final_attrs['id']) })
def render(self, name, value, attrs=None): if value is None: value = '' value = smart_unicode(value) final_attrs = self.build_attrs(attrs, name=name) id = attrs['id'] button_id = id + "_trigger" format = '%Y-%m-%d' if(attrs.has_key('format')): format = attrs['format'] return str(u"""<input %s/> <img id="%s" class="calendar-trigger" alt="Calendar" src="/common/media/image/calendar.png" /> <script type="text/javascript"> //<!CDATA[ Calendar.setup({inputField : '%s', ifFormat :'%s', button : '%s'}); //]> </script> """ % (flatatt(final_attrs) , button_id, id, format, button_id))
def render(self, name, value=None, attrs=None): final_attrs = self.build_attrs(attrs, name=name) if value: value = smart_unicode(value) final_attrs["value"] = escape(value) if not self.attrs.has_key("id"): final_attrs["id"] = "id_%s" % name return ( u'<input type="text" name="%(name)s" id="%(id)s"/> ' '<div class="autocomplete" id="box_%(name)s"></div>' '<script type="text/javascript">' "new Ajax.Autocompleter('%(id)s', 'box_%(name)s', " "'%(url)s', %(options)s);" "</script>" ) % { "attrs": flatatt(final_attrs), "name": name, "id": final_attrs["id"], "url": self.url, "options": self.options, }
def __unicode__(self): return smart_unicode(self.title)
def add_notif_message(request, message): request.user.message_set.create(message=u"0|"+smart_unicode(message)) request.user.save()
def add_error_message(request, message): request.user.message_set.create(message=u"1|"+smart_unicode(message)) request.user.save()
def __unicode__(self): if self.is_signed : return u'%s - зурсан (%s)' %(self.signer.shortname(), smart_unicode(self.signed_date.strftime("%Y-%m-%d %H:%M"))) else : self.signer.shortname() return u'%s - зураагүй' %self.signer.shortname()