Esempio n. 1
0
    def get(self, classroom_name):
        """Handles GET requests."""

        if not constants.ENABLE_NEW_STRUCTURE_PLAYERS:
            raise self.PageNotFoundException

        classroom_name_is_valid = False
        for classroom_dict in config_domain.TOPIC_IDS_FOR_CLASSROOM_PAGES.value:
            if classroom_dict['name'] == classroom_name:
                classroom_name_is_valid = True
                topic_ids = classroom_dict['topic_ids']
                break

        if not classroom_name_is_valid:
            raise self.PageNotFoundException

        topic_summaries = topic_services.get_multi_topic_summaries(topic_ids)
        topic_rights = topic_services.get_multi_topic_rights(topic_ids)
        topic_summary_dicts = [
            summary.to_dict() for ind, summary in enumerate(topic_summaries)
            if summary is not None and topic_rights[ind].topic_is_published
        ]

        self.values.update({'topic_summary_dicts': topic_summary_dicts})
        self.render_json(self.values)
Esempio n. 2
0
    def get(self, classroom_url_fragment):
        """Handles GET requests."""

        classroom = classroom_services.get_classroom_by_url_fragment(
            classroom_url_fragment)

        topic_ids = classroom.topic_ids
        topic_summaries = topic_services.get_multi_topic_summaries(topic_ids)
        topic_rights = topic_services.get_multi_topic_rights(topic_ids)
        public_topic_summary_dicts = [
            summary.to_dict() for ind, summary in enumerate(topic_summaries)
            if summary is not None and topic_rights[ind].topic_is_published
        ]
        private_topic_summary_dicts = [
            summary.to_dict() for ind, summary in enumerate(topic_summaries)
            if summary is not None and not topic_rights[ind].topic_is_published
        ]

        self.values.update({
            'public_topic_summary_dicts': public_topic_summary_dicts,
            'private_topic_summary_dicts': private_topic_summary_dicts,
            'topic_list_intro': classroom.topic_list_intro,
            'course_details': classroom.course_details,
            'name': classroom.name
        })
        self.render_json(self.values)
Esempio n. 3
0
    def get(self, classroom_url_fragment):
        """Handles GET requests."""

        classroom = classroom_services.get_classroom_by_url_fragment(
            classroom_url_fragment)

        topic_ids = classroom.topic_ids
        topic_summaries = topic_services.get_multi_topic_summaries(topic_ids)
        topic_rights = topic_services.get_multi_topic_rights(topic_ids)
        topic_summary_dicts = []
        for index, summary in enumerate(topic_summaries):
            if summary is not None:
                topic_summary_dict = summary.to_dict()
                topic_summary_dict['is_published'] = (
                    topic_rights[index].topic_is_published)
                topic_summary_dicts.append(topic_summary_dict)

        self.values.update({
            'topic_summary_dicts': topic_summary_dicts,
            'topic_list_intro': classroom.topic_list_intro,
            'course_details': classroom.course_details,
            'name': classroom.name
        })
        self.render_json(self.values)
Esempio n. 4
0
    def get(self, classroom_url_fragment):
        """Handles GET requests."""

        if not constants.ENABLE_NEW_STRUCTURE_PLAYERS:
            raise self.PageNotFoundException

        classroom = classroom_services.get_classroom_by_url_fragment(
            classroom_url_fragment)

        topic_ids = classroom.topic_ids
        topic_summaries = topic_services.get_multi_topic_summaries(topic_ids)
        topic_rights = topic_services.get_multi_topic_rights(topic_ids)
        topic_summary_dicts = [
            summary.to_dict() for ind, summary in enumerate(topic_summaries)
            if summary is not None and topic_rights[ind].topic_is_published
        ]

        self.values.update({
            'topic_summary_dicts': topic_summary_dicts,
            'topic_list_intro': classroom.topic_list_intro,
            'course_details': classroom.course_details,
            'name': classroom.name
        })
        self.render_json(self.values)