Esempio n. 1
0
 def tabs(self):
     url = IURL(self.context, self.request)
     for id, view in self._tabs:
         yield {
             'active': self.view.__class__ is view,
             'title': title.get(view) or id,
             'url': '%s/%s' % (url, id),
         }
Esempio n. 2
0
    def apply(self):
        data, errors = self.extractData()
        if errors:
            form.errors = errors
            return FAILURE

        content = self.getContent()
        apply_data_event(self.fields, content, data)
        raise HTTPFound(IURL(content, self.request))
Esempio n. 3
0
    def add(self):
        data, errors = self.extractData()
        if errors:
            form.errors = errors
            return FAILURE

        uid = str(uuid.uuid4())  # a simple UUID id to avoid conflict.
        content = Leaf(data['title'], data['body'])
        self.context[uid] = content
        raise HTTPFound(IURL(self.context, self.request))
Esempio n. 4
0
    def __call__(self, form):
        data, errors = form.extractData()
        if errors:
            form.submissionError = errors
            return FAILURE

        apply_data_event(form.fields, form.getContentData(), data)
        message(self.successMessage)
        url = str(IURL(form.context, form.request))
        return SuccessMarker('Updated', True, url=url)
Esempio n. 5
0
 def tabs(self):
     url = IURL(self.context, self.request)
     result = []
     for id, view in self._tabs:
         result.append( {
             'active': self.view.__class__ is view,
             'title': title.get(view) or id,
             'url': '%s/%s' % (url, id),
         })
     result.sort(key=operator.itemgetter('title'))
     return result
Esempio n. 6
0
    def __call__(self, form):
        self.form=form
        data, errors = form.extractData()
        if errors:
            form.submissionError = errors
            return FAILURE

        apply_data_event(form.fields, form.getContentData(), data)
        message(_(u"Content updated"))
        form.postProcess()
        baseURL = str(IURL(form.context, form.request))
        url=self.newURL(baseURL)
        return SuccessMarker('Updated', True, url=url)
Esempio n. 7
0
    def __call__(self, form):
        data, errors = form.extractData()
        if errors:
            form.submissionError = errors
            return FAILURE

        obj = self.factory()
        set_fields_data(form.fields, obj, data)
        notify(ObjectCreatedEvent(obj))
        form.context.add(obj)

        message(self.successMessage)
        url = str(IURL(obj, form.request))
        return SuccessMarker('Added', True, url=url)
Esempio n. 8
0
    def update(self):
        # We get the real context
        menu_context = self.getMenuContext()

        # Get the MenuContext and calculate its url
        self.context_url = str(IURL(menu_context, self.request))

        # Get the viewlets, sort them and update them
        self.viewlets = sort_components(
            list(
                query_components(menu_context,
                                 self.request,
                                 self.view,
                                 self,
                                 interface=IMenuEntry)))
Esempio n. 9
0
    def __call__(self, form):
        content = form.getContentData().getContent()

        if ILocation.providedBy(content):
            container = content.__parent__
            name = content.__name__
            if name in container:
                try:
                    del container[name]
                    form.status = self.successMessage
                    message(form.status)
                    url = str(IURL(container, form.request))
                    return SuccessMarker('Deleted', True, url=url)
                except ValueError:
                    pass

        form.status = self.failureMessage
        message(form.status)
        return FAILURE
Esempio n. 10
0
 def __call__(self, form):
     self.form=form
     data, errors = form.extractData()
     if errors:
         form.submissionError = errors
         return FAILURE
     obj= form.factory()
     form.new=obj
     context=form.context
     set_fields_data(form.fields, obj, data)
     notify(ObjectCreatedEvent(obj))
     name=data['__name__']
     newName=uniqueName(context,name,ofType="#")
     context[newName]=obj
     message(_(u"Content created"))
     baseURL = str(IURL(obj, form.request))    
     self.new=form.new=obj
     url=self.newURL(baseURL)
     form.new.postProcess()
     return SuccessMarker('Added', True, url=url,code=307)
Esempio n. 11
0
 def __call__(self, form):
     content = form.getContentData().getContent()
     url = str(IURL(content, form.request))
     return SuccessMarker('Aborted', True, url=url)
Esempio n. 12
0
 def url(self):
     content = self.form.getContentData().getContent()
     return IURL(content, self.request)