Exemplo n.º 1
0
    def test_syndication(self):
        self.portal.publisher = 'The publisher'
        addNyEvent(self.portal['info'], id='9000', contributor='Me',
        title='Eveniment', lang='en', start_date='12/12/2012', end_date='13/12/2012', host='Me', location='Somewhere')
        event = self.portal['info']['9000']
        tree = etree.XML(event.syndicateThis())
        event_contrib = tree.xpath('./dc:contributor', namespaces=rdf_ns_map)[0]
        event_type = tree.xpath('./dc:type', namespaces=rdf_ns_map)[0]
        event_format = tree.xpath('./dc:format', namespaces=rdf_ns_map)[0]
        event_source = tree.xpath('./dc:source', namespaces=rdf_ns_map)[0]
        event_host = tree.xpath('./ev:organizer', namespaces=rdf_ns_map)[0]
        event_startdate = tree.xpath('./ev:startdate', namespaces=rdf_ns_map)[0]
        event_enddate = tree.xpath('./ev:enddate', namespaces=rdf_ns_map)[0]
        event_location = tree.xpath('./ev:location', namespaces=rdf_ns_map)[0]
        about = tree.xpath('//@rdf:about', namespaces=rdf_ns_map)[0]
        lang = self.portal.gl_get_selected_language()

        self.assertEqual(about, event.absolute_url())
        self.assertEqual(event_contrib.text, "Me")
        self.assertEqual(event_type.text, 'Event')
        self.assertEqual(event_format.text, 'text')
        self.assertEqual(event_source.text, self.portal.publisher)
        self.assertEqual(event_host.text, event.host)
        self.assertEqual(event_location.text, event.location)
        self.assertEqual(event_startdate.text, event.utShowFullDateTimeHTML(event.start_date))
        self.assertEqual(event_enddate.text, event.utShowFullDateTimeHTML(event.end_date))
Exemplo n.º 2
0
    def test_events(self):
        """ Find NaayaEvents """

        calendar_id = 'portal_calendar'

        #add calendar
        manage_addEventCalendar(self._portal(),
                                id=calendar_id,
                                title='Events calendar',
                                day_len='3',
                                start_day='Monday',
                                catalog='portal_catalog')
        calendar = self._portal()._getOb(calendar_id)
        calendar.cal_meta_types = calendar.setCalMetaTypes('Naaya Event')

        #add portal catalog index
        catalog = self._portal()._getOb('portal_catalog')
        extra = Record(since_field='start_date', until_field='end_date')
        catalog.addIndex('resource_interval', 'DateRangeIndex', extra)

        #add event
        addNyFolder(self._portal(), 'myfolder')
        addNyEvent(self._portal().myfolder,
                   id='myevent',
                   title='My event',
                   lang='en',
                   start_date="10/10/2000",
                   end_date="15/10/2000")
        event = self._portal().myfolder._getOb('myevent')

        #get events
        self.assertEqual(calendar.getEvents(year=2000, month=10),
                         [(event, '10 October 2000', '15 October 2000')])
Exemplo n.º 3
0
 def afterSetUp(self):
     from Products.Naaya.NyFolder import addNyFolder
     from naaya.content.event.event_item import addNyEvent
     addNyFolder(self.portal, 'myfolder', contributor='contributor', submitted=1)
     addNyEvent(self.portal.myfolder, id='myevent', title='My event',
         submitted=1, contributor='contributor', start_date="10/10/2000")
     import transaction; transaction.commit()
Exemplo n.º 4
0
    def test_change_topitem_status(self):
        """ show/hide event on the front page """
        #add NyEvent
        addNyEvent(self._portal().info,
                   id='event1',
                   title='event1',
                   lang='en',
                   start_date="10/10/2000",
                   topitem=False)

        meta = self._portal().getCatalogedObjectsCheckView(
            meta_type=['Naaya Event'], topitem=1)
        self.assertEqual(meta, [])

        #show event on the front page
        self._portal().info.event1.change_topitem_status()
        meta = self._portal().getCatalogedObjectsCheckView(
            meta_type=['Naaya Event'], topitem=1)
        self.assertEqual(meta[0].getLocalProperty('title', 'en'), 'event1')

        #hide event from the front page
        self._portal().info.event1.change_topitem_status()
        meta = self._portal().getCatalogedObjectsCheckView(
            meta_type=['Naaya Event'], topitem=1)
        self.assertEqual(meta, [])
Exemplo n.º 5
0
 def test_main(self):
     """ Add, Find, Edit and Delete Naaya Events """
     #add NyEvent
     addNyEvent(self._portal().info, id='event1', title='event1', lang='en')
     addNyEvent(self._portal().info, id='event1_fr', title='event1_fr', lang='fr')
     
     meta = self._portal().getCatalogedObjectsCheckView(meta_type=['Naaya Event'])
     
     #get added NyEvent
     for x in meta:
         if x.getLocalProperty('title', 'en') == 'event1':
             meta = x
         if x.getLocalProperty('title', 'fr') == 'event1_fr':
             meta_fr = x
         
     self.assertEqual(meta.getLocalProperty('title', 'en'), 'event1')
     self.assertEqual(meta_fr.getLocalProperty('title', 'fr'), 'event1_fr')
     
     #change NyEvent title
     meta.saveProperties(title='event1_edited', lang='en')
     meta_fr.saveProperties(title='event1_fr_edited', lang='fr')
     
     self.assertEqual(meta.getLocalProperty('title', 'en'), 'event1_edited')
     self.assertEqual(meta_fr.getLocalProperty('title', 'fr'), 'event1_fr_edited')
     
     #delete NyEvent
     self._portal().info.manage_delObjects([meta.id])
     self._portal().info.manage_delObjects([meta_fr.id])
     
     meta = self._portal().getCatalogedObjectsCheckView(meta_type=['Naaya Event'])
     self.assertEqual(meta, [])
Exemplo n.º 6
0
    def test_export_event(self):
        addNyEvent(self.test_folder, id="interesting_event", title="Great event", start_date="10/10/2000")

        export_value = self.test_folder.zip_export.do_export()
        self.assertFalse(isinstance(export_value, list), ("Errors are raised: ", export_value))

        zip = ZipFile(export_value, "r")
        self.assertEqual(sorted(zip.namelist()), sorted(["index.txt", "zip_export_folder/Great event.html"]))
        exported_event_content = zip.read("zip_export_folder/Great event.html")

        obj = self.test_folder["interesting_event"]
        schema = self.portal.getSchemaTool().getSchemaForMetatype("Naaya Event")
        obj_data = []
        obj_data.append("<html><body>")
        obj_data.append("<h1>%s</h1>" % obj.title_or_id())

        for widget in schema.listWidgets():
            if widget.prop_name() in ["sortorder", "topitem", "title"]:
                continue
            if not widget.visible:
                continue
            obj_widget_value = getattr(obj, widget.prop_name(), "")
            widget_data = widget._convert_to_form_string(obj_widget_value)

            if not widget_data:
                continue

            obj_data.append("<h2>%s</h2><p><div>%s</div></p>" % (widget.title, widget_data))

        obj_data.append("</body></html>")
        self.assertEqual("\n".join(obj_data), exported_event_content)
Exemplo n.º 7
0
    def test_main(self):
        """ Add, Find, Edit and Delete Naaya Events """
        # add NyEvent
        addNyEvent(self._portal().info, id="event1", title="event1", lang="en", start_date="10/10/2000")
        addNyEvent(self._portal().info, id="event1_fr", title="event1_fr", lang="fr", start_date="10/10/2000")

        meta = self._portal().getCatalogedObjectsCheckView(meta_type=["Naaya Event"])

        # get added NyEvent
        for x in meta:
            if x.getLocalProperty("title", "en") == "event1":
                meta = x
            if x.getLocalProperty("title", "fr") == "event1_fr":
                meta_fr = x

        self.assertEqual(meta.getLocalProperty("title", "en"), "event1")
        self.assertEqual(meta_fr.getLocalProperty("title", "fr"), "event1_fr")

        # change NyEvent title
        meta.saveProperties(title="event1_edited", lang="en", start_date="10/10/2000")
        meta_fr.saveProperties(title="event1_fr_edited", lang="fr", start_date="10/10/2000")

        self.assertEqual(meta.getLocalProperty("title", "en"), "event1_edited")
        self.assertEqual(meta_fr.getLocalProperty("title", "fr"), "event1_fr_edited")

        # delete NyEvent
        self._portal().info.manage_delObjects([meta.id])
        self._portal().info.manage_delObjects([meta_fr.id])

        meta = self._portal().getCatalogedObjectsCheckView(meta_type=["Naaya Event"])
        self.assertEqual(meta, [])
Exemplo n.º 8
0
 def afterSetUp(self):
     from naaya.content.event.event_item import addNyEvent
     addNyEvent(self.portal.info,
                id='ver_event',
                title='ver_event',
                submitted=1,
                start_date="10/10/2000")
     import transaction
     transaction.commit()
Exemplo n.º 9
0
 def afterSetUp(self):
     from Products.Naaya.NyFolder import addNyFolder
     from naaya.content.event.event_item import addNyEvent
     addNyFolder(self.portal,
                 'myfolder',
                 contributor='contributor',
                 submitted=1)
     addNyEvent(self.portal.myfolder,
                id='myevent',
                title='My event',
                submitted=1,
                contributor='contributor',
                start_date="10/10/2000")
     import transaction
     transaction.commit()
Exemplo n.º 10
0
 def import_items(self):
     """ """
     import xmlrpclib
     sdo = xmlrpclib.ServerProxy('http://sd-online.ewindows.eu.org')
     folder_name = skel.INFO_TYPES[self.info_type]['folder_name']
     obs = sdo.urls_export(folder_name)
     total_obs = len(obs)
     current_ob = 0
     for ob in obs:
         current_ob += 1
         self.translate_info(ob)
         if self.info_type == 'enterprises':
             object_id = NyEnterprise.addNyEnterprise(self,
                                                      contributor='admin',
                                                      **ob)
         if self.info_type == 'networks':
             object_id = NyNetwork.addNyNetwork(self,
                                                contributor='admin',
                                                **ob)
         if self.info_type == 'events':
             object_id = event_item.addNyEvent(self,
                                               contributor='admin',
                                               **ob)
         if self.info_type == 'tools':
             object_id = NyTool.addNyTool(self, contributor='admin', **ob)
         if self.info_type == 'trainings':
             object_id = NyTraining.addNyTraining(self,
                                                  contributor='admin',
                                                  **ob)
         print '%s of %s objects, SDO Id: %s, ID: %s' % (
             current_ob, total_obs, ob['original_sdo_id'], object_id)
     print 'Import finished.'
Exemplo n.º 11
0
    def test_change_topitem_status(self):
        """ show/hide event on the front page """
        # add NyEvent
        addNyEvent(self._portal().info, id="event1", title="event1", lang="en", start_date="10/10/2000", topitem=False)

        meta = self._portal().getCatalogedObjectsCheckView(meta_type=["Naaya Event"], topitem=1)
        self.assertEqual(meta, [])

        # show event on the front page
        self._portal().info.event1.change_topitem_status()
        meta = self._portal().getCatalogedObjectsCheckView(meta_type=["Naaya Event"], topitem=1)
        self.assertEqual(meta[0].getLocalProperty("title", "en"), "event1")

        # hide event from the front page
        self._portal().info.event1.change_topitem_status()
        meta = self._portal().getCatalogedObjectsCheckView(meta_type=["Naaya Event"], topitem=1)
        self.assertEqual(meta, [])
Exemplo n.º 12
0
    def test_main(self):
        """ Add, Find, Edit and Delete Naaya Events """
        #add NyEvent
        addNyEvent(self._portal().info,
                   id='event1',
                   title='event1',
                   lang='en',
                   start_date="10/10/2000")
        addNyEvent(self._portal().info,
                   id='event1_fr',
                   title='event1_fr',
                   lang='fr',
                   start_date="10/10/2000")

        meta = self._portal().getCatalogedObjectsCheckView(
            meta_type=['Naaya Event'])

        #get added NyEvent
        for x in meta:
            if x.getLocalProperty('title', 'en') == 'event1':
                meta = x
            if x.getLocalProperty('title', 'fr') == 'event1_fr':
                meta_fr = x

        self.assertEqual(meta.getLocalProperty('title', 'en'), 'event1')
        self.assertEqual(meta_fr.getLocalProperty('title', 'fr'), 'event1_fr')

        #change NyEvent title
        meta.saveProperties(title='event1_edited',
                            lang='en',
                            start_date='10/10/2000')
        meta_fr.saveProperties(title='event1_fr_edited',
                               lang='fr',
                               start_date='10/10/2000')

        self.assertEqual(meta.getLocalProperty('title', 'en'), 'event1_edited')
        self.assertEqual(meta_fr.getLocalProperty('title', 'fr'),
                         'event1_fr_edited')

        #delete NyEvent
        self._portal().info.manage_delObjects([meta.id])
        self._portal().info.manage_delObjects([meta_fr.id])

        meta = self._portal().getCatalogedObjectsCheckView(
            meta_type=['Naaya Event'])
        self.assertEqual(meta, [])
Exemplo n.º 13
0
    def test_rss_item_for_object(self):
        syndication_tool = self.portal.getSyndicationTool()
        namespaces = {}
        for n in syndication_tool.getNamespaceItemsList():
            if n.prefix != '':
                namespaces[n.prefix] = n.value
            else:
                namespaces['a'] = n.value
        addNyEvent(self.portal['info'],
                   id='9000',
                   contributor='Me',
                   title='Eveniment',
                   start_date='12/12/2012',
                   description='About something')
        event = self.portal['info']['9000']
        event.approveThis()
        self.portal.recatalogNyObject(self.portal['info']['9000'])
        lang = self.portal.gl_get_selected_language()
        self.portal._setLocalPropValue('rights', lang, 'No rights')
        tree = rss_item_for_object(event, lang)
        title = tree.xpath('./title', namespaces=namespaces)[0]
        link = tree.xpath('./link', namespaces=namespaces)[0]
        description = tree.xpath('./description', namespaces=namespaces)[0]
        dc_title = tree.xpath('./dc:title', namespaces=namespaces)[0]
        identifier = tree.xpath('./dc:identifier', namespaces=namespaces)[0]
        dc_description = tree.xpath('./dc:description',
                                    namespaces=namespaces)[0]
        contributor = tree.xpath('./dc:contributor', namespaces=namespaces)[0]
        language = tree.xpath('./dc:language', namespaces=namespaces)[0]
        rights = tree.xpath('./dc:rights', namespaces=namespaces)[0]

        self.assertEqual(title.text, event.title)
        self.assertEqual(link.text, event.absolute_url())
        self.assertEqual(description.text, event.description)
        self.assertEqual(dc_title.text, event.title)
        self.assertEqual(identifier.text, event.absolute_url())
        self.assertEqual(dc_description.text, event.description)
        self.assertEqual(contributor.text, event.contributor)
        self.assertEqual(language.text, lang)
        self.assertEqual(rights.text, event.rights)
Exemplo n.º 14
0
 def afterSetUp(self):
     addNyEvent(self.portal.info, id='event1', title='event1',
                start_date='12/12/2010', end_date='13/12/2010', lang='en')
     addNyEvent(self.portal.info, id='event1_fr', title='event1_fr',
                start_date='12/12/2010', end_date='12/12/2010', lang='fr')
     addNyEvent(self.portal.info, id='event2', title='event2',
                start_date='28/11/2010', end_date='02/12/2010', lang='fr')
Exemplo n.º 15
0
    def test_export_event(self):
        addNyEvent(self.test_folder,
                   id='interesting_event',
                   title='Great event',
                   start_date='10/10/2000')

        export_value = self.test_folder.zip_export.do_export()
        self.assertFalse(isinstance(export_value, list),
                         ('Errors are raised: ', export_value))

        zip = ZipFile(export_value, 'r')
        self.assertEqual(
            sorted(zip.namelist()),
            sorted(['index.txt', 'zip_export_folder/Great event.html']))
        exported_event_content = zip.read('zip_export_folder/Great event.html')

        obj = self.test_folder['interesting_event']
        schema = self.portal.getSchemaTool().getSchemaForMetatype(
            'Naaya Event')
        obj_data = []
        obj_data.append('<html><body>')
        obj_data.append('<h1>%s</h1>' % obj.title_or_id())

        for widget in schema.listWidgets():
            if widget.prop_name() in ['sortorder', 'topitem', 'title']:
                continue
            if not widget.visible:
                continue
            obj_widget_value = getattr(obj, widget.prop_name(), '')
            widget_data = widget._convert_to_form_string(obj_widget_value)

            if not widget_data:
                continue

            obj_data.append('<h2>%s</h2><p><div>%s</div></p>' %
                            (widget.title, widget_data))

        obj_data.append('</body></html>')
        self.assertEqual('\n'.join(obj_data), exported_event_content)
    def test_events(self):
        """ Find NaayaEvents """

        calendar_id = 'portal_calendar'

        #add calendar
        manage_addEventCalendar(self._portal(), id=calendar_id, title='Events calendar', day_len='3', start_day='Monday', catalog='portal_catalog')
        calendar = self._portal()._getOb(calendar_id)
        calendar.cal_meta_types = calendar.setCalMetaTypes('Naaya Event')

        #add portal catalog index
        catalog = self._portal()._getOb('portal_catalog')
        extra = Record(since_field='start_date', until_field='end_date')
        catalog.addIndex('resource_interval', 'DateRangeIndex', extra)

        #add event
        addNyFolder(self._portal(), 'myfolder')
        addNyEvent(self._portal().myfolder, id='myevent', title='My event', lang='en', start_date="10/10/2000", end_date="15/10/2000")
        event = self._portal().myfolder._getOb('myevent')

        #get events
        self.assertEqual(calendar.getEvents(year=2000, month=10), [(event, '10 October 2000', '15 October 2000')])
Exemplo n.º 17
0
    def test_export_event(self):
        addNyEvent(self.test_folder, id='interesting_event',
                   title='Great event', start_date='10/10/2000')

        export_value = self.test_folder.zip_export.do_export()
        self.assertFalse(isinstance(export_value, list),
                         ('Errors are raised: ', export_value))

        zip = ZipFile(export_value, 'r')
        self.assertEqual(sorted(zip.namelist()),
                         sorted(['index.txt',
                                 'zip_export_folder/interesting_event.html']))
        exported_event_content = \
            zip.read('zip_export_folder/interesting_event.html')

        obj = self.test_folder['interesting_event']
        schema = self.portal.getSchemaTool().getSchemaForMetatype('Naaya Event')
        obj_data = []
        obj_data.append('<html><body>')
        obj_data.append('<h1>%s</h1>' % obj.title_or_id())

        for widget in schema.listWidgets():
            if widget.prop_name() in ['sortorder', 'topitem', 'title']:
                continue
            if not widget.visible:
                continue
            obj_widget_value = getattr(obj, widget.prop_name(), '')
            widget_data = widget._convert_to_form_string(obj_widget_value)

            if not widget_data:
                continue

            obj_data.append('<h2>%s</h2><p><div>%s</div></p>' % (widget.title,
                                                                 widget_data))

        obj_data.append('</body></html>')
        self.assertEqual('\n'.join(obj_data), exported_event_content)
Exemplo n.º 18
0
    def test_syndication(self):
        self.portal.publisher = 'The publisher'
        addNyEvent(self.portal['info'],
                   id='9000',
                   contributor='Me',
                   title='Eveniment',
                   lang='en',
                   start_date='12/12/2012',
                   end_date='13/12/2012',
                   host='Me',
                   location='Somewhere')
        event = self.portal['info']['9000']
        tree = etree.XML(event.syndicateThis())
        event_contrib = tree.xpath('./dc:contributor',
                                   namespaces=rdf_ns_map)[0]
        event_type = tree.xpath('./dc:type', namespaces=rdf_ns_map)[0]
        event_format = tree.xpath('./dc:format', namespaces=rdf_ns_map)[0]
        event_source = tree.xpath('./dc:source', namespaces=rdf_ns_map)[0]
        event_host = tree.xpath('./ev:organizer', namespaces=rdf_ns_map)[0]
        event_startdate = tree.xpath('./ev:startdate',
                                     namespaces=rdf_ns_map)[0]
        event_enddate = tree.xpath('./ev:enddate', namespaces=rdf_ns_map)[0]
        event_location = tree.xpath('./ev:location', namespaces=rdf_ns_map)[0]
        about = tree.xpath('//@rdf:about', namespaces=rdf_ns_map)[0]
        lang = self.portal.gl_get_selected_language()

        self.assertEqual(about, event.absolute_url())
        self.assertEqual(event_contrib.text, "Me")
        self.assertEqual(event_type.text, 'Event')
        self.assertEqual(event_format.text, 'text')
        self.assertEqual(event_source.text, self.portal.publisher)
        self.assertEqual(event_host.text, event.host)
        self.assertEqual(event_location.text, event.location)
        self.assertEqual(event_startdate.text,
                         event.utShowFullDateTimeHTML(event.start_date))
        self.assertEqual(event_enddate.text,
                         event.utShowFullDateTimeHTML(event.end_date))
Exemplo n.º 19
0
 def import_items(self):
     """ """
     import xmlrpclib
     sdo = xmlrpclib.ServerProxy('http://sd-online.ewindows.eu.org')
     folder_name = skel.INFO_TYPES[self.info_type]['folder_name']
     obs = sdo.urls_export(folder_name)
     total_obs = len(obs)
     current_ob = 0
     for ob in obs:
         current_ob += 1
         self.translate_info(ob)
         if self.info_type == 'enterprises':
             object_id = NyEnterprise.addNyEnterprise(self, contributor='admin', **ob)
         if self.info_type == 'networks':
             object_id = NyNetwork.addNyNetwork(self, contributor='admin', **ob)
         if self.info_type == 'events':
             object_id = event_item.addNyEvent(self, contributor='admin', **ob)
         if self.info_type == 'tools':
             object_id = NyTool.addNyTool(self, contributor='admin', **ob)
         if self.info_type == 'trainings':
             object_id = NyTraining.addNyTraining(self, contributor='admin', **ob)
         print '%s of %s objects, SDO Id: %s, ID: %s' % (current_ob, total_obs, ob['original_sdo_id'], object_id)
     print 'Import finished.'
Exemplo n.º 20
0
 def afterSetUp(self):
     addNyEvent(self.portal.info,
                id='event1',
                title='event1',
                start_date='12/12/2010',
                end_date='13/12/2010',
                lang='en')
     addNyEvent(self.portal.info,
                id='event1_fr',
                title='event1_fr',
                start_date='12/12/2010',
                end_date='12/12/2010',
                lang='fr')
     addNyEvent(self.portal.info,
                id='event2',
                title='event2',
                start_date='28/11/2010',
                end_date='02/12/2010',
                lang='fr')
Exemplo n.º 21
0
 def afterSetUp(self):
     portal = self.app.portal
     addNyFolder(portal, 'test_folder')
     addNyEvent(portal.test_folder, id='test_event', title='Test event')
Exemplo n.º 22
0
 def add_object(self, parent):
     kwargs = {'title': 'My event', 'start_date': "10/10/2000"}
     ob = parent[addNyEvent(parent, **kwargs)]
     ob.approveThis()
     return ob
Exemplo n.º 23
0
 def afterSetUp(self):
     from naaya.content.event.event_item import addNyEvent
     addNyEvent(self.portal.info, id='ver_event', title='ver_event',
                submitted=1, start_date="10/10/2000")
     import transaction; transaction.commit()
Exemplo n.º 24
0
 def add_object(self, parent):
     kwargs = {'title': 'My event', 'start_date': "10/10/2000"}
     ob = parent[addNyEvent(parent, **kwargs)]
     ob.approveThis()
     return ob
Exemplo n.º 25
0
 def add_object(self, parent, **kwargs):
     from naaya.content.event.event_item import addNyEvent
     if 'start_date' not in kwargs:
         kwargs['start_date'] = "05/11/2010"
     return addNyEvent(parent, **kwargs)