Example #1
0
def sync_joinus_field(): 
    """Copy the existing joinus text to the joinConfirm page
    """
    from hubspace.model import Page
    for joinus_page in Page.selectBy(path_name='joinus.html'):
        Page.selectBy(path_name='joinConfirm',
                      location=joinus_page.location)[0].content = joinus_page.content
Example #2
0
def setup_microsite_spaces(): 
    """Create the microsites spaces object
    """
    from hubspace.model import ObjectReference, Page, ListItem, PublicSpace, Location, MetaData, MicroSiteSpace, PublicPlace, User
    from hubspace.microSite import microsite_pages, microsite_page_types, microsite_left_page_list, microsite_right_page_list, append_existing_item
    Page.createTable(ifNotExists=True)
    ObjectReference.createTable(ifNotExists=True)
    ListItem.createTable(ifNotExists=True)
    PublicSpace.createTable(ifNotExists=True)
    PublicPlace.createTable(ifNotExists=True)
    MetaData.createTable(ifNotExists=True)
    for user in User.select():
        ObjectReference(**{'object': (user.__class__.__name__, user.id)})

    for loc in Location.select():
        if loc.id == 16 or not loc.url:
            continue
       
        try:
            old_space = MicroSiteSpace.select(AND(MicroSiteSpace.q.locationID==loc.id,
                                                  MicroSiteSpace.q.nextID==None))[0]
        except IndexError:
            print `loc.name` + " doesn't have any spaces to migrate"
            old_space = None
            
        next_item = None
        while old_space:
            new_space = PublicSpace(name=old_space.name, description=old_space.description, image=old_space.image)
            object_ref = ObjectReference.selectBy(object_type='PublicSpace', object_id=new_space.id)[0]
            new_list_item = ListItem(next=next_item, location=loc, active=old_space.active, list_name="spaces_list", object_ref=object_ref)
            next_item = new_list_item
            old_space = old_space.previous

        ObjectReference(**{'object': (loc.__class__.__name__, loc.id)})
        for page, type in microsite_pages.items():
            microsite_page_types[type].create_page(page, loc, {})
        
        kwargs = {'location':loc, 'object_type': Page, 'active': 1}
        for page in microsite_left_page_list:
            kwargs.update({'name':page})
            try:
                page = Page.select(AND(Page.q.location == loc,
                                       IN(Page.q.path_name, [page, page + '.html'])))[0]
                append_existing_item('left_tabs', page, **kwargs)
            except IndexError:
                pass
        for page in microsite_right_page_list: 
            kwargs.update({'name':page})
            try:
                page = Page.select(AND(Page.q.location == loc,
                                       IN(Page.q.path_name, [page, page + '.html'])))[0]
                append_existing_item('right_tabs', page, **kwargs)
            except IndexError:
                pass
Example #3
0
def create_subpage_lists():
    from hubspace.model import Page, List
    from hubspace.microSite import list_types
    for page in Page.select():
        List(list_name='subpages_%s' % page.id,
             object_types='Page',
             mode='add_new',
             page=page,
             location=page.location)
Example #4
0
def migrate_lists():
    from hubspace.model import Page, List, ListItem, Location
    from hubspace.microSite import list_types
    
    for location in Location.select():
        results = Page.selectBy(location=location, path_name='index.html')
        if results.count() == 0:
            continue;
        else:            
            indexpage = results[0] 

        for list_name, data in list_types.items():
            object_types = ','.join(data['object_types'])
            mode = data['mode']
            thelist = List(list_name=list_name,
                           object_types=object_types,
                           mode=mode,
                           page=indexpage,
                           location=location,)
            for listitem in ListItem.selectBy(location=location,list_name=list_name):
                listitem.list = thelist