Exemplo n.º 1
0
Arquivo: views.py Projeto: mcdonc/ptah
    def update(self):
        context = self.context
        request = self.request
        registry = request.registry

        self.deleteContent = ptah.checkPermission(
            cms.DeleteContent, context)

        # cms(uri).read()
        # cms(uri).create(type)
        # cms(uri).delete()
        # cms(uri).update(**kwargs)
        # cms(uri).items(offset, limit)

        if self.deleteContent and 'form.buttons.remove' in request.POST:
            uris = self.request.POST.getall('item')
            for uri in uris:
                cms.wrap(uri).delete()

                self.message("Selected content items have been removed.")

        if 'form.buttons.rename' in request.POST:
            uris = self.request.POST.getall('item')
            print '=============', uris

        if 'form.buttons.cut' in request.POST:
            uris = self.request.POST.getall('item')
            print '=============', uris
Exemplo n.º 2
0
    def modify_handler(self):
        data, errors = self.extract()

        if errors:
            self.message(errors, 'form-error')
            return

        ptah.authService.set_userid(ptah.SUPERUSER_URI)

        cms.wrap(self.context.record).update(**data)

        self.message('Model record has been modified.', 'success')
Exemplo n.º 3
0
Arquivo: forms.py Projeto: mcdonc/ptah
    def create(self, **data):
        name = data.get('__name__')
        if not name:
            name = self.chooseName(**data)

        content = cms.wrap(self.container).create(
            self.tinfo.__uri__, name, **data)

        return content
Exemplo n.º 4
0
Arquivo: rest.py Projeto: mcdonc/ptah
def createContentAction(content, request, *args):
    """Create content"""
    name = request.GET.get('name')
    tinfo = request.GET.get('tinfo')

    tinfo = ptah.resolve(tinfo)

    fieldset = tinfo.fieldset.bind(None, request.POST)
    data, errors = fieldset.extract()
    if errors:
        request.response.status = 500
        return {'errors': errors.msg}

    item = wrap(content).create(tinfo.__uri__, name, **data)
    return nodeInfo(item, request)
Exemplo n.º 5
0
Arquivo: rest.py Projeto: runyaga/ptah
def createContentAction(content, request, *args):
    """Create content"""
    name = request.GET.get('name')
    tinfo = request.GET.get('tinfo')

    tinfo = ptah.resolve(tinfo)

    fieldset = tinfo.fieldset.bind(None, request.POST)
    data, errors = fieldset.extract()
    if errors:
        request.response.status = 500
        return {'errors': errors.msg}

    item = wrap(content).create(tinfo.__uri__, name, **data)
    return nodeInfo(item, request)
Exemplo n.º 6
0
Arquivo: rest.py Projeto: mcdonc/ptah
def cmsApplications(request, *args):
    apps = []

    for name, factory in ptah.cms.Factories.items():
        root = factory(request)

        try:
            info = wrap(root).info()
        except (AttributeError, CmsException):
            continue

        info['__mount__'] = name
        info['__link__'] = '%s/content:%s/%s/'%(
            request.application_url, name, root.__uri__)
        apps.append(info)

    return apps
Exemplo n.º 7
0
Arquivo: rest.py Projeto: runyaga/ptah
def cmsApplications(request, *args):
    apps = []

    for name, factory in ptah.cms.get_app_factories().items():
        root = factory(request)

        try:
            info = wrap(root).info()
        except (AttributeError, CmsException):
            continue

        info['__mount__'] = name
        if name:
            info['__link__'] = '%s/content:%s/%s/' % (request.application_url,
                                                      name, root.__uri__)
        else:
            info['__link__'] = '%s/content/%s/' % (request.application_url,
                                                   root.__uri__)
        apps.append(info)

    return apps
Exemplo n.º 8
0
Arquivo: rest.py Projeto: mcdonc/ptah
def nodeInfo(content, request, *args):
    info = wrap(content).info()
    info['__link__'] = '%s%s/'%(request.application_url, content.__uri__)
    return info
Exemplo n.º 9
0
Arquivo: forms.py Projeto: mcdonc/ptah
 def applyChanges(self, **data):
     cms.wrap(self.context).update(**data)
Exemplo n.º 10
0
Arquivo: rest.py Projeto: runyaga/ptah
def nodeInfo(content, request, *args):
    info = wrap(content).info()
    info['__link__'] = '%s%s/' % (request.application_url, content.__uri__)
    return info