コード例 #1
0
    def get(self):
        filter_criterion = self.request.get('filter_criterion')

        if filter_criterion == feconf.USER_FILTER_CRITERION_ROLE:
            role = self.request.get(feconf.USER_FILTER_CRITERION_ROLE)
            users_by_role = {
                username: role
                for username in user_services.get_usernames_by_role(role)
            }
            role_services.log_role_query(self.user_id,
                                         feconf.ROLE_ACTION_VIEW_BY_ROLE,
                                         role=role)
            self.render_json(users_by_role)
        elif filter_criterion == feconf.USER_FILTER_CRITERION_USERNAME:
            username = self.request.get(feconf.USER_FILTER_CRITERION_USERNAME)
            user_id = user_services.get_user_id_from_username(username)
            role_services.log_role_query(self.user_id,
                                         feconf.ROLE_ACTION_VIEW_BY_USERNAME,
                                         username=username)
            if user_id is None:
                raise self.InvalidInputException(
                    'User with given username does not exist.')
            user_role_dict = {
                username: user_services.get_user_role_from_id(user_id)
            }
            self.render_json(user_role_dict)
        else:
            raise self.InvalidInputException(
                'Invalid filter criterion to view roles.')
コード例 #2
0
ファイル: admin.py プロジェクト: divyanshutewari17/oppia
    def post(self):
        username = self.payload.get('username')
        role = self.payload.get('role')
        topic_id = self.payload.get('topic_id')
        user_id = user_services.get_user_id_from_username(username)
        if user_id is None:
            raise self.InvalidInputException(
                'User with given username does not exist.')

        if (user_services.get_user_role_from_id(user_id) ==
                feconf.ROLE_ID_TOPIC_MANAGER):
            topic_services.deassign_user_from_all_topics(
                user_services.get_system_user(), user_id)

        user_services.update_user_role(user_id, role)
        role_services.log_role_query(self.user_id,
                                     feconf.ROLE_ACTION_UPDATE,
                                     role=role,
                                     username=username)

        if topic_id:
            user = user_services.UserActionsInfo(user_id)
            topic_services.assign_role(user_services.get_system_user(), user,
                                       topic_domain.ROLE_MANAGER, topic_id)

        self.render_json({})
コード例 #3
0
    def get(self):
        view_method = self.request.get('method')

        if view_method == feconf.VIEW_METHOD_ROLE:
            role = self.request.get(feconf.VIEW_METHOD_ROLE)
            users_by_role = {
                username: role
                for username in user_services.get_usernames_by_role(role)
            }
            role_services.log_role_query(self.user_id,
                                         feconf.ROLE_ACTION_VIEW_BY_ROLE,
                                         role=role)
            self.render_json(users_by_role)
        elif view_method == feconf.VIEW_METHOD_USERNAME:
            username = self.request.get(feconf.VIEW_METHOD_USERNAME)
            user_id = user_services.get_user_id_from_username(username)
            role_services.log_role_query(self.user_id,
                                         feconf.ROLE_ACTION_VIEW_BY_USERNAME,
                                         username=username)
            if user_id is None:
                raise self.InvalidInputException(
                    'User with given username does not exist.')
            user_role_dict = {
                username: user_services.get_user_role_from_id(user_id)
            }
            self.render_json(user_role_dict)
        else:
            raise self.InvalidInputException('Invalid method to view roles.')
コード例 #4
0
 def test_log_role_query(self) -> None:
     self.assertEqual(
         gae_models.RoleQueryAuditModel.has_reference_to_user_id(
             'TEST_USER'), False)
     role_services.log_role_query('TEST_USER',
                                  feconf.ROLE_ACTION_ADD,
                                  role='GUEST')
     self.assertEqual(
         gae_models.RoleQueryAuditModel.has_reference_to_user_id(
             'TEST_USER'), True)
コード例 #5
0
 def post(self):
     username = self.payload.get('username')
     role = self.payload.get('role')
     user_id = user_services.get_user_id_from_username(username)
     if user_id is None:
         raise self.InvalidInputException(
             'User with given username does not exist.')
     user_services.update_user_role(user_id, role)
     role_services.log_role_query(self.user_id,
                                  feconf.ROLE_ACTION_UPDATE,
                                  role=role,
                                  username=username)
     self.render_json({})
コード例 #6
0
ファイル: blog_admin.py プロジェクト: vojtechjelinek/oppia
 def post(self) -> None:
     """Handles POST requests."""
     username = self.normalized_payload.get('username')
     role = self.normalized_payload.get('role')
     user_id = user_services.get_user_id_from_username(username)
     if user_id is None:
         raise self.InvalidInputException(
             'User with given username does not exist.')
     user_services.add_user_role(user_id, role)
     role_services.log_role_query(
         self.user_id, feconf.ROLE_ACTION_ADD, role=role,
         username=username)
     self.render_json({})
コード例 #7
0
ファイル: admin.py プロジェクト: ReshuKumari/oppia
    def get(self):
        filter_criterion = self.normalized_request.get(
            'filter_criterion')
        if filter_criterion == feconf.USER_FILTER_CRITERION_ROLE:
            role = self.normalized_request.get(
                feconf.USER_FILTER_CRITERION_ROLE)
            users_by_role = {
                username: role
                for username in user_services.get_usernames_by_role(role)
            }
            role_services.log_role_query(
                self.user_id, feconf.ROLE_ACTION_VIEW_BY_ROLE,
                role=role)
            self.render_json(users_by_role)
        elif filter_criterion == feconf.USER_FILTER_CRITERION_USERNAME:
            username = self.normalized_request.get(
                feconf.USER_FILTER_CRITERION_USERNAME)
            user_id = user_services.get_user_id_from_username(username)
            role_services.log_role_query(
                self.user_id, feconf.ROLE_ACTION_VIEW_BY_USERNAME,
                username=username)
            if user_id is None:
                raise self.InvalidInputException(
                    'User with given username does not exist.')

            user_settings = user_services.get_user_settings(user_id)
            user_roles = user_settings.roles
            managed_topic_ids = []
            if feconf.ROLE_ID_TOPIC_MANAGER in user_roles:
                managed_topic_ids = [
                    rights.id for rights in
                    topic_fetchers.get_topic_rights_with_user(user_id)]
            user_roles_dict = {
                'roles': user_roles,
                'managed_topic_ids': managed_topic_ids,
                'banned': user_settings.banned
            }
            self.render_json(user_roles_dict)