def get(self): """Handles GET requests.""" skill_summaries = skill_services.get_all_skill_summaries() skill_ids_assigned_to_some_topic = ( topic_fetchers.get_all_skill_ids_assigned_to_some_topic()) merged_skill_ids = skill_services.get_merged_skill_ids() untriaged_skill_summaries = ( skill_services.get_untriaged_skill_summaries( skill_summaries, skill_ids_assigned_to_some_topic, merged_skill_ids)) untriaged_short_skill_summaries = [ skill_domain.ShortSkillSummary.from_skill_summary(skill_summary) for skill_summary in untriaged_skill_summaries ] categorized_skills = ( skill_services.get_categorized_skill_ids_and_descriptions()) self.values.update({ 'untriaged_skill_summary_dicts': [ short_skill_summary.to_dict() for short_skill_summary in untriaged_short_skill_summaries ], 'categorized_skills_dict': categorized_skills.to_dict() }) self.render_json(self.values)
def test_get_all_skill_ids_assigned_to_some_topic(self): change_list = [ topic_domain.TopicChange({ 'cmd': topic_domain.CMD_MOVE_SKILL_ID_TO_SUBTOPIC, 'old_subtopic_id': None, 'new_subtopic_id': 1, 'skill_id': self.skill_id_1 }) ] topic_services.update_topic_and_subtopic_pages( self.user_id_admin, self.TOPIC_ID, change_list, 'Moved skill to subtopic.') topic_id = topic_fetchers.get_new_topic_id() self.save_new_topic( topic_id, self.user_id, name='Name 2', description='Description', abbreviated_name='random', url_fragment='name-three', canonical_story_ids=[], additional_story_ids=[], uncategorized_skill_ids=[self.skill_id_1, 'skill_3'], subtopics=[], next_subtopic_id=1) self.assertEqual( topic_fetchers.get_all_skill_ids_assigned_to_some_topic(), {self.skill_id_1, self.skill_id_2, 'skill_3'})
def get(self): """Returns all skill IDs linked to some topic.""" skill_ids = topic_fetchers.get_all_skill_ids_assigned_to_some_topic() skills = skill_fetchers.get_multi_skills(skill_ids, strict=False) skill_dicts = [skill.to_dict() for skill in skills] self.values.update({'skills': skill_dicts}) self.render_json(self.values)
def get(self): """Handles GET requests.""" topic_summaries = topic_fetchers.get_all_topic_summaries() topic_summary_dicts = [ summary.to_dict() for summary in topic_summaries ] skill_summaries = skill_services.get_all_skill_summaries() skill_summary_dicts = [ summary.to_dict() for summary in skill_summaries ] skill_ids_assigned_to_some_topic = ( topic_fetchers.get_all_skill_ids_assigned_to_some_topic()) merged_skill_ids = (skill_services.get_merged_skill_ids()) topic_rights_dict = topic_fetchers.get_all_topic_rights() for topic_summary in topic_summary_dicts: if topic_rights_dict[topic_summary['id']]: topic_rights = topic_rights_dict[topic_summary['id']] if topic_rights: topic_summary['is_published'] = ( topic_rights.topic_is_published) topic_summary['can_edit_topic'] = ( topic_services.check_can_edit_topic( self.user, topic_rights)) all_classrooms_dict = config_domain.CLASSROOM_PAGES_DATA.value all_classroom_names = [ classroom['name'] for classroom in all_classrooms_dict ] topic_classroom_dict = {} for classroom in all_classrooms_dict: for topic_id in classroom['topic_ids']: topic_classroom_dict[topic_id] = classroom['name'] for topic_summary_dict in topic_summary_dicts: topic_summary_dict['classroom'] = topic_classroom_dict.get( topic_summary_dict['id'], None) mergeable_skill_summary_dicts = [] untriaged_skill_summaries = ( skill_services.get_untriaged_skill_summaries( skill_summaries, skill_ids_assigned_to_some_topic, merged_skill_ids)) categorized_skills = ( skill_services.get_categorized_skill_ids_and_descriptions()) for skill_summary_dict in skill_summary_dicts: skill_id = skill_summary_dict['id'] if (skill_id in skill_ids_assigned_to_some_topic) and ( skill_id not in merged_skill_ids): mergeable_skill_summary_dicts.append(skill_summary_dict) can_delete_topic = (role_services.ACTION_DELETE_TOPIC in self.user.actions) can_create_topic = (role_services.ACTION_CREATE_NEW_TOPIC in self.user.actions) can_delete_skill = (role_services.ACTION_DELETE_ANY_SKILL in self.user.actions) can_create_skill = (role_services.ACTION_CREATE_NEW_SKILL in self.user.actions) self.values.update({ 'untriaged_skill_summary_dicts': [ skill_summary.to_dict() for skill_summary in untriaged_skill_summaries ], 'mergeable_skill_summary_dicts': mergeable_skill_summary_dicts, 'topic_summary_dicts': topic_summary_dicts, 'total_skill_count': len(skill_summary_dicts), 'all_classroom_names': all_classroom_names, 'can_delete_topic': can_delete_topic, 'can_create_topic': can_create_topic, 'can_delete_skill': can_delete_skill, 'can_create_skill': can_create_skill, 'categorized_skills_dict': categorized_skills.to_dict() }) self.render_json(self.values)