示例#1
0
def setup_defaults():
    public_defaults = {
        'User': {
            'defaults': {
                'Viewer': 'anonymous_group',
                'Editor': 'context_agent',
                'SetManagePermissions': 'context_agent',
                'ManagePermissions': 'context_agent',
                'CreateLink': 'context_agent',
                'Unknown': 'context_agent'
            },
            'constraints': []
        },
        'Profile': {
            'defaults': {
                'Viewer': 'anonymous_group',
                'Editor': 'context_agent',
                'EmailAddressViewer': 'all_members_group',
                'HomeViewer': 'all_members_group',
                'WorkViewer': 'all_members_group',
                'MobileViewer': 'all_members_group',
                'FaxViewer': 'all_members_group',
                'AddressViewer': 'all_memebers_group',
                'SkypeViewer': 'all_members_group',
                'SipViewer': 'all_members_group',
                'ManagePermissions': 'context_agent',
                'Unknown': 'context_agent',
            },
            'constraints': [
                'Viewer>=Editor', 'Viewer>$context_agent',
                'Editor<$anonymous_group'
            ]
        },
        'Link': {
            'defaults': {
                'Viewer': 'all_members_group',
                'Manager': 'context_agent',
                'ManagePermissions': 'context_agent',
                'Unknown': 'context_agent'
            },
            'constraints': ['Viewer>=Manager']
        },
        'FeedItem': {
            'defaults': {
                'Viewer': 'all_members_group',
                'Delete': 'context_agent',
                'Unknown': 'context_agent'
            },
            'constraints': []
        },
        'HostInfo': {
            'defaults': {
                'Viewer': 'context_agent',
                'Editor': 'context_agent',
                'ManagePermissions': 'context_agent',
                'Unknown': 'context_agent',
            },
            'constraints': ['Viewer>=Editor']
        },
    }

    members_only_defaults = deepcopy(public_defaults)
    members_only_defaults = overlay(
        members_only_defaults, {
            'Profile': {
                'defaults': {
                    'Viewer': 'all_members_group'
                }
            },
            'User': {
                'defaults': {
                    'Viewer': 'all_members_group'
                }
            }
        })

    inactive_defaults = deepcopy(members_only_defaults)
    inactive_defaults['User']['defaults'] = {'Unknown': 'context_admin'}
    inactive_defaults['Profile']['defaults'] = {'Unknown': 'context_admin'}
    inactive_defaults['Link']['defaults'] = {'Unknown': 'context_admin'}
    inactive_defaults['HostInfo']['defaults'] = {'Unknown': 'context_admin'}

    return {
        'public': public_defaults,
        'members_only': members_only_defaults,
        'inactive': inactive_defaults
    }
示例#2
0
def setup_defaults():
    public_defaults = {
        'TgGroup': {
            'defaults': {
                'Viewer': 'anonymous_group',
                'Editor': 'creator',
                'Delete': 'creator',
                'ManageMembers': 'creator',
                'Join': 'all_members_group',
                'Leave': 'context_agent',
                'Invite': 'creator',
                'ManagePermissions': 'context_admin',
                'SetManagePermissions': 'context_admin',
                'CreateLink': 'context_agent',
                'CreateComment': 'all_members_group',
                'CreateWikiPage': 'context_agent',
                'CreateResource': 'context_agent',
                'CreateApplication': 'all_members_group',
                'CreateMemberInvite': 'context_agent',
                'Message': 'context_agent',
                'StatusViewer': 'anonymous_group',
                'GroupTypeEditor': 'context_admin',
                'Commentor': 'context_agent',
                'Unknown': 'context_admin'
            },
            'constraints': [
                'Viewer>=Editor', 'Join>=ManageMembers',
                'ManageMembers<=$anonymous_group',
                'ManagePermissions<=$context_agent'
            ]
        },
        'WikiPage': {
            'defaults': {
                'Viewer': 'anonymous_group',
                'Editor': 'context_agent',
                'Creator': 'creator',
                'Manager': 'context_admin',
                'Commentor': 'all_members_group',
                'CommentViewer': 'anonymous_group',
                'Unknown': 'context_admin',
                'ManagePermissions': 'creator'
            },
            'constraints':
            ['Viewer>=Editor', 'Editor<$anonymous_group', 'Viewer>=Commentor']
        },
        'OurPost': {
            'defaults': {
                'Viewer': 'all_members_group',
                'Editor': 'creator',
                'Commentor': 'context_agent',
                'ManagePermissions': 'creator',
                'Unknown': 'context_admin'
            },
            'constraints': ['Viewer>=Editor', 'Editor<$anonymous_group']
        },
        'Site': {
            'defaults': {
                'CreateApplication': 'anonymous_group',
                'ManagePermissions': 'context_admin',
                'CreateVirtual': 'all_members_group',
                'CreateHub': 'context_admin',
                'Unknown': 'context_admin'
            },
            'constraints': []
        },
        'Application': {
            'defaults': {
                'Viewer': 'context_admin',
                'Editor': 'creator',
                'Accept': 'context_admin',
                'Reject': 'context_admin',
                'ManagePermissions': 'context_admin',
                'Unknown': 'context_admin',
            },
            'constraints': ['Viewer>=Editor', 'Editor<$anonymous_group']
        },
        'MemberInvite': {
            'defaults': {
                'Viewer': 'context_admin',
                'Editor': 'creator',
                'Accept': 'creator',
                'ManagePermissions': 'context_admin',
                'Unknown': 'context_admin',
            },
            'constraints': ['Viewer>=Editor', 'Editor<$anonymous_group']
        },
        'Contact': {
            'defaults': {
                'ContactAdmin': 'context_admin',
                'ContactInvite': 'all_members_group',
                'ManagePermissions': 'context_admin',
                'Unknown': 'context_admin'
            },
            'constraints': []
        },
        'Link': {
            'defaults': {
                'Viewer': 'anonymous_group',
                'Editor': 'creator',
                'Delete': 'context_agent',
                'Manager': 'context_agent',
                'ManagePermissions': 'context_admin',
                'Unknown': 'context_admin'
            },
            'constraints': ['Viewer>=Manager']
        },
        'Resource': {
            'defaults': {
                'Viewer': 'all_members_group',
                'Editor': 'context_agent',
                'Commentor': 'all_members_group',
                'Delete': 'context_admin',
                'Manager': 'context_agent',
                'ManagePermissions': 'context_admin',
                'Unknown': 'context_admin',
            },
            'constraints': ['Viewer>=Manager']
        },
        'FeedItem': {
            'defaults': {
                'Viewer': 'all_members_group',
                'Delete': 'context_agent',
                'Unknown': 'context_agent'
            },
            'constraints': []
        },
        'AggregateFeed': {
            'defaults': {
                'Viewer': 'context_agent',
                'Unknown': 'context_agent'
            },
            'constrains': []
        },
        'Profile': {
            'defaults': {
                'Viewer': 'anonymous_group',
                'Editor': 'creator',
                'EmailAddressViewer': 'context_agent',
                'HomeViewer': 'context_agent',
                'WorkViewer': 'context_agent',
                'MobileViewer': 'context_agent',
                'FaxViewer': 'context_agent',
                'AddressViewer': 'context_agent',
                'SkypeViewer': 'context_agent',
                'SipViewer': 'context_agent',
                'ManagePermissions': 'context_admin',
                'Unknown': 'creator',
            },
            'constraints': []
        }
    }

    # start by cloning the public, then we'll over-ride the differences using plus_lib/utils/overlay
    # XXX don't need to keep doing this ... make sure its called only once

    from apps.plus_lib.dict_tools import overlay

    open_defaults = deepcopy(public_defaults)
    open_defaults = overlay(
        open_defaults,
        {'TgGroup': {
            'defaults': {
                'Viewer': 'all_members_group'
            }
        }})
    open_defaults = overlay(
        open_defaults,
        {'WikiPage': {
            'defaults': {
                'Viewer': 'all_members_group'
            }
        }})
    open_defaults = overlay(
        open_defaults,
        {'Resource': {
            'defaults': {
                'Viewer': 'all_members_group'
            }
        }})
    open_defaults = overlay(
        open_defaults,
        {'WikiPage': {
            'defaults': {
                'Commentor': 'context_agent'
            }
        }})
    open_defatuls = overlay(
        open_defaults,
        {'Resource': {
            'defaults': {
                'Commentor': 'context_agent'
            }
        }})

    invite_defaults = deepcopy(open_defaults)
    invite_defaults = overlay(
        invite_defaults, {'TgGroup': {
            'defaults': {
                'Join': 'context_agent'
            }
        }})
    invite_defaults = overlay(
        invite_defaults,
        {'TgGroup': {
            'defaults': {
                'CreateMemberInvite': 'context_agent'
            }
        }})

    hub_defaults = deepcopy(invite_defaults)
    hub_defaults = overlay(
        hub_defaults, {'TgGroup': {
            'defaults': {
                'Invite': 'context_admin'
            }
        }})
    hub_defaults = overlay(
        hub_defaults,
        {'TgGroup': {
            'defaults': {
                'CreateMemberInvite': 'context_admin'
            }
        }})

    private_defaults = deepcopy(invite_defaults)
    private_defaults = overlay(
        private_defaults,
        {'TgGroup': {
            'defaults': {
                'Viewer': 'context_agent'
            }
        }})
    private_defaults = overlay(
        private_defaults,
        {'TgGroup': {
            'defaults': {
                'Invite': 'context_admin'
            }
        }})
    private_defaults = overlay(
        private_defaults,
        {'WikiPage': {
            'defaults': {
                'Viewer': 'context_agent'
            }
        }})
    private_defaults = overlay(
        private_defaults,
        {'Resource': {
            'defaults': {
                'Viewer': 'context_agent'
            }
        }})

    return {
        'public': public_defaults,
        'private': private_defaults,
        'open': open_defaults,
        'invite': invite_defaults
    }
示例#3
0
def setup_defaults():
    public_defaults = {'User':
                           {'defaults': 
                               {'Viewer': 'anonymous_group',
                                'Editor': 'context_agent',
                                 'SetManagePermissions': 'context_agent',
                                 'ManagePermissions':'context_agent',
                                 'CreateLink': 'context_agent',
                                 'Unknown': 'context_agent'
                                 },                           
                            'constraints':
                                []
                            },
                       'Profile':
                           {'defaults':
                                {'Viewer': 'anonymous_group',
                                 'Editor': 'context_agent',
                                 'EmailAddressViewer' : 'all_members_group',
                                 'HomeViewer' : 'all_members_group',
                                    'WorkViewer' : 'all_members_group',
                                    'MobileViewer' : 'all_members_group',
                                    'FaxViewer' : 'all_members_group',
                                    'AddressViewer' : 'all_memebers_group',
                                    'SkypeViewer' : 'all_members_group',
                                    'SipViewer' : 'all_members_group',
                                    'ManagePermissions':'context_agent',
                                    'Unknown' : 'context_agent',
                                    },
                               'constraints':['Viewer>=Editor', 'Viewer>$context_agent', 'Editor<$anonymous_group']
                               },
                          'Link': 
                              {'defaults': {'Viewer':'all_members_group',
                                            'Manager':'context_agent',
                                            'ManagePermissions':'context_agent',
                                            'Unknown' : 'context_agent'},
                               'constraints':['Viewer>=Manager']
                               },

                          'FeedItem':
                               {'defaults' : 
                                {'Viewer' : 'all_members_group',
                                 'Delete' : 'context_agent',
                                 'Unknown':'context_agent'},
                                'constraints' : []
                                },

                          'HostInfo':
                              {'defaults': {'Viewer':'context_agent',
                                            'Editor':'context_agent',
                                            'ManagePermissions':'context_agent',
                                            'Unknown':'context_agent',
                                            },
                               'constraints':['Viewer>=Editor']
                               },
                       }
                     
    members_only_defaults = deepcopy(public_defaults)
    members_only_defaults = overlay(members_only_defaults, {'Profile':{'defaults':{'Viewer':'all_members_group'}},
                                                            'User': {'defaults':{'Viewer':'all_members_group'}}})

    inactive_defaults = deepcopy(members_only_defaults)
    inactive_defaults['User']['defaults'] = {'Unknown':'context_admin'} 
    inactive_defaults['Profile']['defaults'] = {'Unknown':'context_admin'} 
    inactive_defaults['Link']['defaults'] = {'Unknown':'context_admin'} 
    inactive_defaults['HostInfo']['defaults'] = {'Unknown':'context_admin'} 

    
    return {'public':public_defaults,
            'members_only':members_only_defaults,
            'inactive':inactive_defaults}
示例#4
0
def setup_defaults():
    public_defaults = {'TgGroup':
                       {'defaults':
                            {'Viewer':'anonymous_group', 
                             'Editor':'creator',
                             'Delete':'creator',
                             'ManageMembers':'creator',
                             'Join':'all_members_group',
                             'Leave':'context_agent',
                             'Invite':'creator',
                             'ManagePermissions':'context_admin',
                             'SetManagePermissions':'context_admin',
                             'CreateLink':'context_agent',
                             'CreateComment':'all_members_group',
                             'CreateWikiPage':'context_agent',
                             'CreateResource':'context_agent',
                             'CreateApplication':'all_members_group',
                             'CreateMemberInvite':'context_agent',
                             'Message':'context_agent',
                             'StatusViewer':'anonymous_group',
                             'GroupTypeEditor':'context_admin',
                             'Commentor':'context_agent',
                             'Unknown': 'context_admin'
                             },
                        'constraints':
                            ['Viewer>=Editor', 'Join>=ManageMembers', 'ManageMembers<=$anonymous_group', 'ManagePermissions<=$context_agent']
                        },
                   'WikiPage':
                       {'defaults':
                            {'Viewer':'anonymous_group',
                             'Editor':'context_agent',
                             'Creator':'creator',
                             'Manager':'context_admin',
                             'Commentor':'all_members_group',
                             'CommentViewer':'anonymous_group',
                             'Unknown':'context_admin',
                             'ManagePermissions':'creator'},
                        'constraints': ['Viewer>=Editor', 'Editor<$anonymous_group', 'Viewer>=Commentor']
                        },
                   'OurPost':
                       { 'defaults' : 
                         {'Viewer':'all_members_group',
                          'Editor':'creator',
                          'Commentor':'context_agent',
                          'ManagePermissions':'creator',
                          'Unknown': 'context_admin'},
                         'constraints':['Viewer>=Editor', 'Editor<$anonymous_group']
                         },
                   'Site' : 
                   {'defaults':
                        {'CreateApplication':'anonymous_group',
                         'ManagePermissions':'context_admin',
                         'CreateVirtual':'all_members_group',
                         'CreateHub':'context_admin',
                         'Unknown': 'context_admin'}, 
                    'constraints': [] 
                    },
                   'Application':
                       {'defaults' :
                        {'Viewer':'context_admin',
                         'Editor':'creator',
                         'Accept':'context_admin',
                         'Reject':'context_admin',
                         'ManagePermissions':'context_admin',
                         'Unknown': 'context_admin',
                         },
                        'constraints':['Viewer>=Editor', 'Editor<$anonymous_group'] 
                        },   
                   'MemberInvite':
                       {'defaults' :
                        {'Viewer':'context_admin',
                         'Editor':'creator',
                         'Accept':'creator',
                         'ManagePermissions':'context_admin',
                         'Unknown': 'context_admin',
                         },
                        'constraints':['Viewer>=Editor', 'Editor<$anonymous_group'] 
                        },                      
                   'Contact':
                       {'defaults' : 
                        {'ContactAdmin':'context_admin',
                         'ContactInvite':'all_members_group',
                         'ManagePermissions':'context_admin',
                         'Unknown': 'context_admin'
                         },               
                        'constraints':[]
                        },
                   'Link':
                       {'defaults' : 
                          { 'Viewer':'anonymous_group',
                            'Editor':'creator',
                            'Delete':'context_agent',
                            'Manager':'context_agent',
                            'ManagePermissions':'context_admin',
                            'Unknown':'context_admin'
                          },
                          'constraints':['Viewer>=Manager']
                        },
                   'Resource':
                       {'defaults' :
                          { 'Viewer': 'all_members_group',
                            'Editor':  'context_agent',
                            'Commentor': 'all_members_group',
                            'Delete' : 'context_admin',
                            'Manager': 'context_agent',
                            'ManagePermissions':'context_admin',
                            'Unknown': 'context_admin',
                          },
                          'constraints':['Viewer>=Manager']
                        },
                   'FeedItem':
                       {'defaults':
                            {'Viewer' : 'all_members_group',
                             'Delete' : 'context_agent',
                             'Unknown':'context_agent'},
                        'constraints': []
                        },

                    'AggregateFeed':
                           {'defaults':
                                {'Viewer' : 'context_agent',
                                 'Unknown' : 'context_agent'},
                            'constrains':[]
                            },
                       
                   'Profile':
                       {'defaults': 
                        {'Viewer': 'anonymous_group',
                         'Editor': 'creator',
                         'EmailAddressViewer' : 'context_agent',
                         'HomeViewer' : 'context_agent',
                         'WorkViewer' : 'context_agent',
                         'MobileViewer' : 'context_agent',
                         'FaxViewer' : 'context_agent',
                         'AddressViewer' : 'context_agent',
                         'SkypeViewer' : 'context_agent',
                         'SipViewer' : 'context_agent',
                         'ManagePermissions':'context_admin',
                         'Unknown' : 'creator',
                         },
                        'constraints':[]
                        }
                   }


    # start by cloning the public, then we'll over-ride the differences using plus_lib/utils/overlay
    # XXX don't need to keep doing this ... make sure its called only once

    from apps.plus_lib.dict_tools import overlay

    open_defaults = deepcopy(public_defaults)
    open_defaults = overlay(open_defaults,{'TgGroup':{'defaults':{'Viewer':'all_members_group'}}})
    open_defaults = overlay(open_defaults,{'WikiPage':{'defaults':{'Viewer':'all_members_group'}}})
    open_defaults = overlay(open_defaults,{'Resource':{'defaults':{'Viewer':'all_members_group'}}})
    open_defaults = overlay(open_defaults,{'WikiPage':{'defaults':{'Commentor':'context_agent'}}})
    open_defatuls = overlay(open_defaults,{'Resource':{'defaults':{'Commentor':'context_agent'}}})

    invite_defaults = deepcopy(open_defaults)
    invite_defaults = overlay(invite_defaults,{'TgGroup':{'defaults':{'Join':'context_agent'}}})
    invite_defaults = overlay(invite_defaults,{'TgGroup':{'defaults':{'CreateMemberInvite':'context_agent'}}})

    hub_defaults = deepcopy(invite_defaults)
    hub_defaults = overlay(hub_defaults, {'TgGroup':{'defaults':{'Invite':'context_admin'}}})
    hub_defaults = overlay(hub_defaults, {'TgGroup':{'defaults':{'CreateMemberInvite':'context_admin'}}})

    private_defaults = deepcopy(invite_defaults)
    private_defaults = overlay(private_defaults,{'TgGroup':{'defaults':{'Viewer':'context_agent'}}})
    private_defaults = overlay(private_defaults,{'TgGroup':{'defaults':{'Invite':'context_admin'}}})
    private_defaults = overlay(private_defaults,{'WikiPage':{'defaults':{'Viewer':'context_agent'}}})
    private_defaults = overlay(private_defaults,{'Resource':{'defaults':{'Viewer':'context_agent'}}})
    

    return {'public':public_defaults,
            'private':private_defaults,
            'open' : open_defaults,
            'invite' : invite_defaults}