summaryrefslogtreecommitdiff
path: root/activity/xmlrpc/StartActivity.py
blob: b5e52c71e89fe0748b234118bec7050a34b91a60 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
import xmlrpclib
from .._activitybase import ActivityAction


def execute(self, pagename, description):
    action = ActivityAction(self._instr(pagename), self.request)

    if not action.page.exists():
        return self.noSuchPageFault()

    if not self.request.user.may.write(pagename):
        return self.notAllowedFault()

    if not action.can_use_activity:
        return xmlrpclib.Fault(1, "This page does not support activities.")

    action.start_activity(self._instr(description))

    return self._outstr('OK')