[schema reorg, use "wiki/" as prefix in log.what raph.levien@gmail.com**20070106213827] { hunk ./app/models.py 18 + location = models.CharField(maxlength=50, blank=True, null=True) hunk ./app/models.py 27 - + hunk ./app/models.py 33 -class WikiLog(models.Model): +class Log(models.Model): hunk ./app/models.py 35 - wiki_data = models.TextField(maxlength=2550) + ldata = models.TextField(maxlength=1<<24 - 1) hunk ./app/models.py 38 + msg = models.TextField(maxlength=65535) + class Meta: + get_latest_by = 'id' + hunk ./app/templates/history.html 1 +{% load ghmarkup %} hunk ./app/templates/history.html 11 -{% for entry in wikilog %} -
-{{ wikilog.wiki_data|ghmarkup }} -
hunk ./app/templates/wiki.html 7 -Last edited: {{ wikilog.mtime }} by {{ wikilog.muser }}
+{{ log.ldata|ghmarkup }} + +Last edited: {{ log.mtime }} by {% filter ghlink %}user/{{ entry.muser }}{% endfilter %}
hunk ./app/templates/wiki.html 12 -Edit -History +Edit +History hunk ./app/templatetags/ghmarkup.py 3 -from ghestalt.app.models import WikiLog, UserProfile +from ghestalt.app.models import Log, UserProfile +from ghestalt.app.log_what import wikiwhat hunk ./app/templatetags/ghmarkup.py 27 - if page in ('RecentChanges',): return True - if isinstance(page, unicode): page = page.encode('utf-8') - if WikiLog.objects.filter(what=page).count()>0: + what = wikiwhat(page) + if what in ('wiki/RecentChanges',): return True + if isinstance(what, unicode): what = what.encode('utf-8') + if Log.objects.filter(what=what).count()>0: hunk ./app/templatetags/ghmarkup.py 58 - if re.match(r'[a-z\+]*://', link): + if re.match(r'[a-z0-9\.\+]*://', link): hunk ./app/templatetags/ghmarkup.py 71 - body = link + if re.match('wiki/', link): + body = link[5:] + else: + body = link hunk ./app/templatetags/ghmarkup.py 78 - if page.find('/') >= 0: - pref = '' - else: - pref = '/wiki/' - return settings.SITE_BASE + pref + urlquoteplus(page) + return settings.SITE_BASE + '/' + urlquote(wikiwhat(page)) hunk ./app/views.py 7 -from ghestalt.app.models import WikiLog +from ghestalt.app.models import Log hunk ./app/views.py 9 +from ghestalt.app.log_what import wikiwhat hunk ./app/views.py 12 + what = wikiwhat(page) hunk ./app/views.py 14 - wikilog = WikiLog.objects.order_by('-mtime').filter(what=page)[0] + log = Log.objects.filter(what=what).latest() + print `log` hunk ./app/views.py 17 - return render_to_response('missing.html',{'title':page}, + return render_to_response('missing.html',{'title':page, 'what':what}, hunk ./app/views.py 19 - return render_to_response('wiki.html',{'title':page, 'wikilog':wikilog}, + return render_to_response('wiki.html',{'title':page, 'log':log}, hunk ./app/views.py 24 - wikilog = WikiLog.objects.get(id=idnum) - except WikiLog.DoesNotExist: + log = Log.objects.get(id=idnum) + except Log.DoesNotExist: hunk ./app/views.py 27 - return render_to_response('wiki.html',{'title':wikilog.what, 'wikilog':wikilog}, + return render_to_response('wiki.html',{'title':log.what, 'log':log}, hunk ./app/views.py 31 - wikilog = WikiLog.objects.distinct().values('what') - return render_to_response('index.html',{'wikilog':wikilog}, + log = Log.objects.distinct().values('what') + return render_to_response('index.html',{'log':log}, hunk ./app/views.py 36 - wikilog = WikiLog.objects.filter(what=page).order_by('-mtime')[:5] - return render_to_response('history.html',{'title':page,'wikilog':wikilog}, + log = Log.objects.filter(what=wikiwhat(page)).order_by('-mtime')[:5] + return render_to_response('history.html',{'title':page,'log':log}, hunk ./app/views.py 41 - wikilog = WikiLog.objects.all().order_by('-mtime')[:5] - return render_to_response('recent.html',{'wikilog':wikilog}, + log = Log.objects.all().order_by('-id')[:50] + return render_to_response('recent.html',{'log':log}, hunk ./app/views.py 45 -class WikiLogForm(Form): - wiki_data = CharField(widget=Textarea(attrs={'rows': 24, 'cols': 80})) +class LogForm(Form): + ldata = CharField(widget=Textarea(attrs={'rows': 24, 'cols': 80}), label="Text") hunk ./app/views.py 51 + what = wikiwhat(page) hunk ./app/views.py 53 - form = WikiLogForm(request.POST) + form = LogForm(request.POST) hunk ./app/views.py 60 - return render_to_response('edit.html',{'form': form, 'title':page, 'mtime':'now', 'muser':'me', 'preview': form.clean_data.get('wiki_data')}, + return render_to_response('edit.html',{'form': form, 'title':page, 'mtime':'now', 'muser':'me', 'preview': form.clean_data.get('ldata')}, hunk ./app/views.py 62 - wikilog = WikiLog(what=page, wiki_data=form.clean_data.get('wiki_data').encode('utf-8'), muser=user.username) - wikilog.save() - return HttpResponseRedirect('/wiki/%s' % (page)) + log = Log(what=what, ldata=form.clean_data.get('ldata').encode('utf-8'), muser=user.username) + log.save() + return HttpResponseRedirect('/' + what) hunk ./app/views.py 67 - wikilog = WikiLog.objects.order_by('-mtime').filter(what=page)[0] - form = WikiLogForm({'wiki_data':wikilog.wiki_data}) + log = Log.objects.filter(what=what).latest() + form = LogForm({'ldata':log.ldata}) hunk ./app/views.py 70 - form = WikiLogForm() + form = LogForm() hunk ./urls.py 14 - (r'^wiki/history/(?P