Esempio n. 1
0
    def get(self):
        """Handles GET requests."""
        demo_exploration_ids = list(feconf.DEMO_EXPLORATIONS.keys())

        topic_summaries = topic_fetchers.get_all_topic_summaries()
        topic_summary_dicts = [
            summary.to_dict() for summary in topic_summaries]

        feature_flag_dicts = feature_services.get_all_feature_flag_dicts()

        config_properties = config_domain.Registry.get_config_property_schemas()
        # Removes promo-bar related configs as promo-bar is handlded by
        # release coordinators in /release-coordinator page.
        del config_properties['promo_bar_enabled']
        del config_properties['promo_bar_message']

        # Remove blog related configs as they will be handled by 'blog admins'
        # on blog admin page.
        del config_properties['max_number_of_tags_assigned_to_blog_post']
        del config_properties['list_of_default_tags_for_blog_post']

        self.render_json({
            'config_properties': config_properties,
            'demo_collections': sorted(feconf.DEMO_COLLECTIONS.items()),
            'demo_explorations': sorted(feconf.DEMO_EXPLORATIONS.items()),
            'demo_exploration_ids': demo_exploration_ids,
            'updatable_roles': role_services.UPDATABLE_ROLES,
            'viewable_roles': role_services.VIEWABLE_ROLES,
            'human_readable_roles': role_services.HUMAN_READABLE_ROLES,
            'role_to_actions': role_services.get_role_actions(),
            'topic_summaries': topic_summary_dicts,
            'feature_flags': feature_flag_dicts,
        })
Esempio n. 2
0
 def get(self):
     # type: () -> None
     """Handles GET requests."""
     config_properties = config_domain.Registry.get_config_property_schemas(
     )
     config_prop_for_blog_admin = {
         'list_of_default_tags_for_blog_post':
         (config_properties['list_of_default_tags_for_blog_post']),
         'max_number_of_tags_assigned_to_blog_post':
         (config_properties['max_number_of_tags_assigned_to_blog_post'])
     }
     role_to_action = role_services.get_role_actions()
     self.render_json({
         'config_properties': config_prop_for_blog_admin,
         'role_to_actions': {
             BLOG_POST_EDITOR: role_to_action[BLOG_POST_EDITOR],
             BLOG_ADMIN: role_to_action[BLOG_ADMIN]
         },
         'updatable_roles': {
             BLOG_POST_EDITOR:
             (role_services.HUMAN_READABLE_ROLES[BLOG_POST_EDITOR]),
             BLOG_ADMIN:
             role_services.HUMAN_READABLE_ROLES[BLOG_ADMIN]
         }
     })
Esempio n. 3
0
    def get(self):
        """Handles GET requests."""
        demo_exploration_ids = list(feconf.DEMO_EXPLORATIONS.keys())

        topic_summaries = topic_fetchers.get_all_topic_summaries()
        topic_summary_dicts = [
            summary.to_dict() for summary in topic_summaries]

        feature_flag_dicts = feature_services.get_all_feature_flag_dicts()

        config_properties = config_domain.Registry.get_config_property_schemas()

        # Removes promo-bar related configs as promo-bar is handlded by
        # release coordinators in /release-coordinator page.
        del config_properties['promo_bar_enabled']
        del config_properties['promo_bar_message']

        self.render_json({
            'config_properties': config_properties,
            'demo_collections': sorted(feconf.DEMO_COLLECTIONS.items()),
            'demo_explorations': sorted(feconf.DEMO_EXPLORATIONS.items()),
            'demo_exploration_ids': demo_exploration_ids,
            'updatable_roles': {
                role: role_services.HUMAN_READABLE_ROLES[role]
                for role in role_services.UPDATABLE_ROLES
            },
            'viewable_roles': {
                role: role_services.HUMAN_READABLE_ROLES[role]
                for role in role_services.VIEWABLE_ROLES
            },
            'topic_summaries': topic_summary_dicts,
            'role_to_actions': role_services.get_role_actions(),
            'feature_flags': feature_flag_dicts,
        })
Esempio n. 4
0
    def test_get_role_actions_return_value_in_correct_schema(self):
        role_actions = role_services.get_role_actions()

        self.assertTrue(isinstance(role_actions, dict))
        for role_name, allotted_actions in role_actions.items():
            self.assertTrue(isinstance(role_name, str))
            self.assertTrue(isinstance(allotted_actions, list))
            self.assertEqual(len(set(allotted_actions)), len(allotted_actions))
            for action_name in allotted_actions:
                self.assertTrue(isinstance(action_name, str))
Esempio n. 5
0
    def test_action_allocated_to_all_allowed_roles(self):
        role_actions = role_services.get_role_actions()

        self.assertItemsEqual(list(role_actions), feconf.ALLOWED_USER_ROLES)
Esempio n. 6
0
    def test_action_allocated_to_all_allowed_roles(self) -> None:
        role_actions = role_services.get_role_actions()

        self.assertItemsEqual(  # type: ignore[no-untyped-call]
            list(role_actions), feconf.ALLOWED_USER_ROLES)