# -*- coding: iso-8859-1 -*-
"""
    log - add log entry
    @license: GNU GPL, see COPYING for details.
    @copyright:  2007 MoinMoin:ReimarBauer
"""
from MoinMoin import wikiutil
from MoinMoin.PageEditor import PageEditor
from MoinMoin.Page import Page

def execute(pagename, request):
    _ = request.getText
    ticket = 'Geheim!'
    esc = wikiutil.escape
    date = esc(request.form.get('date', ['None'])[0])
    comment = esc(request.form.get('comment', ['None'])[0])
    secret = esc(request.form.get('ticket', ['wrong'])[0])

    if (ticket != secret or  date == 'None' or
        comment == 'None'):
        msg = _(u"A severe error occured:")
        request.theme.add_msg(msg, "error")
        Page(request, pagename).send_page()
        return

    pagename = u'LogPage'
    page = Page(request, pagename)
    raw = u''

    if page.exists():
        raw = page.get_raw_body()

    result = "|| %s || %s ||" % (date, comment)
    newtext = "%s%s\n" % (raw, result)
    try:
        PageEditor(request, pagename).saveText(newtext, 0)
        msg = u"OK!"
        request.theme.add_msg(msg, "info")
        Page(request, pagename).send_page()
    except:
        msg = _(u"A severe error occured:")
        request.theme.add_msg(msg, "error")
        Page(request, pagename).send_page()

