Example #1
0
def EditableRoles(user, editor):
    if not editor:
        return []
    if editor.HasAnyRole([Roles.GLOBAL_ADMIN]):
        return Roles.AllRoles()
    elif editor.HasAnyRole([Roles.WEBMASTER, Roles.DIRECTOR]):
        return [Roles.WEBMASTER, Roles.DIRECTOR]
    else:
        return []
Example #2
0
 def TemplateDict(self, user):
     return {
         'c':
         common.Common(self),
         'user':
         user,
         'all_roles':
         Roles.AllRoles(),
         'editing_location_enabled':
         auth.CanEditLocation(user=user, editor=self.user),
         'can_view_roles':
         auth.CanViewRoles(user=user, viewer=self.user),
         'editable_roles':
         auth.EditableRoles(user=user, editor=self.user),
     }
Example #3
0
 def get(self, user_id, role):
   user = (User.get_by_id(user_id) or
           User.query(User.wca_person == ndb.Key(Person, user_id))).get()
   if not user:
     self.response.write('error: unrecognized user %s' % user_id)
     self.response.set_status(400)
     return
   if role not in Roles.AllRoles():
     self.response.write('error: unrecognized role %s' % role)
     self.response.set_status(400)
     return
   if user.HasAnyRole(role):
     self.response.write('user already had role %s' % role)
     return
   user.roles.append(role)
   user.put()
   self.response.write('ok')
Example #4
0
 webapp2.Route(
     '/async/champions_by_year/<event_id:.*>/<championship_type:.*>/<championship_region:.*>',
     handler=ChampionsTableHandler),
 webapp2.Route(
     '/async/champions_by_region/<event_id:.*>/<championship_type:.*>/<year:\d*>',
     handler=ChampionsTableHandler),
 webapp2.Route(
     '/async/state_rankings/<event_id:.*>/<state_id:.*>/<use_average:\d>',
     handler=StateRankingsHandler),
 webapp2.Route(
     '/async/championship_psych/<championship_id:.*>/<event_id:.*>',
     handler=ChampionshipPsychAsyncHandler),
 # Admin
 webapp2.Route('/admin/edit_users',
               handler=BasicHandler('admin/edit_users.html',
                                    permitted_roles=Roles.AllRoles()),
               name='admin_edit_users'),
 webapp2.Route('/admin/upload_document',
               handler=UploadDocumentHandler,
               name='upload_document'),
 webapp2.Route('/admin/delete_document/<document_id:.*>',
               handler=DeleteDocumentHandler,
               name='delete_document'),
 webapp2.Route('/admin/restore_document/<document_id:.*>',
               handler=RestoreDocumentHandler,
               name='restore_document'),
 webapp2.Route('/admin/permanently_delete_documents',
               handler=PermanentlyDeleteDocumentsHandler),
 webapp2.Route('/admin/edit_championships',
               handler=EditChampionshipsHandler,
               name='edit_championships'),