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 }
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 }
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}
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}