app/soc/views/helper/access.py
changeset 1776 f86b0fe5f4d9
parent 1716 a387bb7a39d4
child 1782 501ffd646d1e
equal deleted inserted replaced
1775:d605be8129c7 1776:f86b0fe5f4d9
  1079     """
  1079     """
  1080 
  1080 
  1081     if not django_args.get('scope_path'):
  1081     if not django_args.get('scope_path'):
  1082       raise out_of_band.AccessViolation(message_fmt=DEF_PAGE_DENIED_MSG)
  1082       raise out_of_band.AccessViolation(message_fmt=DEF_PAGE_DENIED_MSG)
  1083 
  1083 
  1084     program_entity = program_logic.getFromKeyName(django_args['scope_path'])
  1084     program_entity = program_logic.getFromKeyNameOr404(django_args['scope_path'])
  1085     user_entity = user_logic.getForCurrentAccount()
  1085     user_entity = user_logic.getForCurrentAccount()
  1086 
  1086 
  1087     filter = {'user': user_entity,
  1087     filter = {'user': user_entity,
  1088               'scope': program_entity,
  1088               'scope': program_entity,
  1089               'status': 'active'}
  1089               'status': 'active'}
  1135     if django_args.get('seed'):
  1135     if django_args.get('seed'):
  1136       key_name = django_args['seed']['scope_path']
  1136       key_name = django_args['seed']['scope_path']
  1137     else:
  1137     else:
  1138       key_name = django_args['scope_path']
  1138       key_name = django_args['scope_path']
  1139 
  1139 
  1140     program_entity = program_logic.getFromKeyName(key_name)
  1140     program_entity = program_logic.getFromKeyNameOr404(key_name)
  1141     user_entity = user_logic.getForCurrentAccount()
  1141     user_entity = user_logic.getForCurrentAccount()
  1142 
  1142 
  1143     filter = {'user': user_entity,
  1143     filter = {'user': user_entity,
  1144               'scope': program_entity,
  1144               'scope': program_entity,
  1145               'status': 'active'}
  1145               'status': 'active'}
  1166     """
  1166     """
  1167 
  1167 
  1168     if not django_args.get('scope_path'):
  1168     if not django_args.get('scope_path'):
  1169       raise out_of_band.AccessViolation(message_fmt=DEF_PAGE_DENIED_MSG)
  1169       raise out_of_band.AccessViolation(message_fmt=DEF_PAGE_DENIED_MSG)
  1170 
  1170 
  1171     org_entity = org_logic.getFromKeyName(django_args['scope_path'])
  1171     org_entity = org_logic.getFromKeyNameOr404(django_args['scope_path'])
  1172     user_entity = user_logic.getForCurrentAccount()
  1172     user_entity = user_logic.getForCurrentAccount()
  1173 
  1173 
  1174     filter = {'scope': org_entity.scope,
  1174     filter = {'scope': org_entity.scope,
  1175               'user': user_entity,
  1175               'user': user_entity,
  1176               'status': 'active'}
  1176               'status': 'active'}
  1398       key_name_field: key name field
  1398       key_name_field: key name field
  1399     """
  1399     """
  1400 
  1400 
  1401     if key_name_field:
  1401     if key_name_field:
  1402       key_name = django_args[key_name_field]
  1402       key_name = django_args[key_name_field]
  1403       document = document_logic.getFromKeyName(key_name)
  1403       document = document_logic.getFromKeyNameOr404(key_name)
  1404     else:
  1404     else:
  1405       document = document_logic.getFromKeyFieldsOr404(django_args)
  1405       document = document_logic.getFromKeyFieldsOr404(django_args)
  1406 
  1406 
  1407     self.checkMembership('read', document.prefix,
  1407     self.checkMembership('read', document.prefix,
  1408                          document.read_access, django_args)
  1408                          document.read_access, django_args)
  1417       key_name_field: key name field
  1417       key_name_field: key name field
  1418     """
  1418     """
  1419 
  1419 
  1420     if key_name_field:
  1420     if key_name_field:
  1421       key_name = django_args[key_name_field]
  1421       key_name = django_args[key_name_field]
  1422       document = document_logic.getFromKeyName(key_name)
  1422       document = document_logic.getFromKeyNameOr404(key_name)
  1423     else:
  1423     else:
  1424       document = document_logic.getFromKeyFieldsOr404(django_args)
  1424       document = document_logic.getFromKeyFieldsOr404(django_args)
  1425 
  1425 
  1426     self.checkMembership('write', document.prefix,
  1426     self.checkMembership('write', document.prefix,
  1427                          document.write_access, django_args)
  1427                          document.write_access, django_args)