"""
    MoinMoin - Action for Discussion pages

    This Action is used to create a subpage Discussion below a comon page

    Install:
        put it into the 'action' directory and do create a DiscussionTemplate
        
    Note:
        derived from the newpage macro by Vito Miliano (vito_moinnewpagewithtemplate@perilith.com) et al

    Modification History:
       2006-08-25 ReimarBauer initial version
                   
    License:
        @license: GNU GPL, see COPYING for details.  
        
"""
from MoinMoin.Page import Page


def execute(pagename, request):
    
    _ = request.getText
    
    if pagename.find(_('Discussion')) != -1:
        redir = pagename.split('/')
        redir = '/'.join(redir[0:-1])
        query = {'action': 'edit', 'backto': redir}
        url = Page(request, pagename).url(request, query, escape=0, relative=False)
        request.http_redirect(url)
        
    newpagename = "%s/%s" % (pagename,_('Discussion'))

    if request.user.may.read(newpagename) and request.user.may.write(newpagename):
        query = {'action': 'edit', 'backto': pagename}
        
        from MoinMoin.wikiutil import quoteWikinameURL
        query['template'] = quoteWikinameURL('DiscussionTemplate')
        
        url = Page(request, newpagename).url(request, query, escape=0, relative=False)
        request.http_redirect(url)
        
    else: 
        page = Page(request, pagename)
        error = _('you don''t have access to the discussion page')
        page.send_page(request, msg=error)
        return ' '