def create(request, to=None, reply_to=None): if to is not None: to = get_object_or_404(Player, pk=to) if reply_to is not None: reply_to = get_object_or_404(Message, pk=reply_to) subject = 'Re: ' + reply_to.subject if not reply_to.subject.startswith('Re: ') else reply_to.subject else: subject = '' if request.method == "POST": form = ComposeForm(request.POST) if form.is_valid(): m = Message.send(request.user.get_profile(), form.cleaned_data['to'], form.cleaned_data['subject'], form.cleaned_data['text'], reply_to=form.cleaned_data['reply_to'], ) return HttpResponseRedirect(reverse('wouso.interface.messaging.views.home')) #else: # print form, form.is_valid(), request.POST return render_to_response('messaging/create.html', {'to': to, 'reply_to': reply_to, 'subject': subject}, context_instance=RequestContext(request))
def header_footer(request): """ Generate header and footer bar contents. """ #TODO ordering, using config header = [] try: for game in get_games(): h = game.get_header_link(request) if h: header.append((h, game.get_instance().name)) except Exception as e: logging.exception(e) # add also messages and magic link try: h = Message.get_header_link(request) if h: header.append((h, 'Message')) h = Bazaar.get_header_link(request) if h: header.append((h, 'Magic')) except Exception as e: logging.exception(e) footer = [] try: for game in get_games(): f = game.get_footer_link(request) if f: footer.append(f) except: pass # also add stats link try: f = stats_link(request) if f: footer.append(f) except: pass # also add static pages for sp in get_static_pages(): footer.append(sp.html_link()) # qporposal if not Qproposal.disabled(): footer.append(Qproposal.get_footer_link(request)) # format header hids = lambda p: '<span id="head-%s"><a href="%s">%s</a>%s</span>' % (p[1].lower(), \ p[0]['link'], p[0]['text'], \ '<sup class="unread-count">%d</sup>' % p[0]['count'] if p[0].get('count', False) else '') header_html = " | ".join(map(hids, header)) footer = " | ".join(footer) return {'header': header_html, 'heads': header, 'footer': footer}