def manage_addCourseTeam(self, id, title, result, REQUEST=None):
    """Add course tean"""
    if not mangle.Id(self,id).isValid():
        return
    object = CourseTeam(id)
    self._setObject(id, object)
    object = getattr(self, id)
    object.set_title(title)
    add_and_edit(self, id, REQUEST)
    return object
Beispiel #2
0
def manage_addReview(self, id, title, result, REQUEST=None):
    """Add review"""
    if not mangle.Id(self, id).isValid():
        return
    object = Review(id)
    self._setObject(id, object)
    object = getattr(self, id)
    object.set_title(title)
    add_and_edit(self, id, REQUEST)
    return object
Beispiel #3
0
    def _addSilvaContainer(self, context, id):
        idObj = mangle.Id(
            context, id, interface=interfaces.IContainer, allow_dup=1)
        if not idObj.isValid():
            return None

        while id in context.objectIds():
            obj = context[id]
            if interfaces.IContainer.providedBy(obj):
                return obj
            id = str(idObj.new())
        context.manage_addProduct['Silva'].manage_addFolder(id, id)
        return context[id]
    def startElementNS(self, name, qname, attrs):
        if name == (NS_URI, 'content'):
            id = attrs[(None, 'version_id')].encode('utf-8')
            if not mangle.Id(self._parent, id).isValid():
                return
            version = NewsItemVersion(id)
            parent = self.parent()
            parent._setObject(id, version)
            version = version.__of__(parent)

            helpers.set_attribute_as_list(version, 'target_audiences', attrs)
            helpers.set_attribute_as_list(version, 'subjects', attrs)
            helpers.set_attribute_as_naive_datetime(version,
                                                    'display_datetime', attrs)

            self.setResultId(id)
            self.updateVersionCount()
Beispiel #5
0
 def _getUniqueId(self, context, suggestion, **kw):
     # Make filename valid and unique.
     id = mangle.Id(context, suggestion, **kw)
     id.cook().unique()
     return str(id)
Beispiel #6
0
 def test_cook_id(self):
     id = mangle.Id(self.root.folder,
                    u'Gro\N{LATIN SMALL LETTER SHARP S}e Datei').cook()
     self.assertTrue(id.isValid())
     self.assertEqual(str(id), 'Grose_Datei')
Beispiel #7
0
    def test_validate(self):
        id = mangle.Id(self.root.folder, 'some_id')
        self.assertEquals(id.validate(), id.OK)

        id = mangle.Id(self.root.folder, 'info')
        self.assertEqual(id.validate(), id.IN_USE_CONTENT)

        id = mangle.Id(self.root.folder, 'data')
        self.assertEqual(id.validate(), id.IN_USE_ASSET)

        id = mangle.Id(self.root.folder, 'info', allow_dup=1)
        self.assertEqual(id.validate(), id.OK)

        id = mangle.Id(self.root.folder, 'data', allow_dup=1)
        self.assertEqual(id.validate(), id.OK)

        id = mangle.Id(self.root.folder, 'keys')
        self.assertEqual(id.validate(), id.RESERVED)

        id = mangle.Id(self.root.folder, 'values')
        self.assertEqual(id.validate(), id.RESERVED)

        id = mangle.Id(self.root.folder, 'service_foobar')
        self.assertEqual(id.validate(), id.RESERVED_PREFIX)

        # no explicitely forbidden, but would shadow method:
        id = mangle.Id(self.root.folder, 'content')
        self.assertEqual(id.validate(), id.RESERVED)

        id = mangle.Id(self.root.folder, '&*$()')
        self.assertEqual(id.validate(), id.CONTAINS_BAD_CHARS)

        id = mangle.Id(self.root.folder, 'index_html')
        self.assertEqual(id.validate(), id.RESERVED)

        id = mangle.Id(self.root.folder, 'index.html')
        self.assertEqual(id.validate(), id.OK)

        id = mangle.Id(self.root.folder, 'index-html')
        self.assertEqual(id.validate(), id.OK)

        # Zope does not allow any id ending with '__' in a hard boiled manner
        # (see OFS.ObjectManager.checkValidId)
        id = mangle.Id(self.root.folder, 'index__', allow_dup=1)
        self.assertEqual(id.validate(), id.RESERVED_POSTFIX)

        id = mangle.Id(self.root.folder, 'index')
        self.assertEqual(id.validate(), id.OK)

        id = mangle.Id(self.root.folder, 'index', interface=IAsset)
        self.assertEqual(id.validate(), id.RESERVED_FOR_CONTENT)

        #test IN_USE_ZOPE, by adding a non-reserved object to self.root.folder
        id = mangle.Id(self.root.folder, 'pt_test')
        self.assertEqual(id.validate(), id.IN_USE_ZOPE)