def test_get_unpublished_skill_rights_by_creator(self): self.save_new_skill('skill_a', self.user_id_admin, 'Description A', misconceptions=[], skill_contents=skill_domain.SkillContents( state_domain.SubtitledHtml('1', 'Explanation'), [state_domain.SubtitledHtml('2', 'Example 1')], {})) self.save_new_skill('skill_b', self.user_id_admin, 'Description B', misconceptions=[], skill_contents=skill_domain.SkillContents( state_domain.SubtitledHtml('1', 'Explanation'), [state_domain.SubtitledHtml('2', 'Example 1')], {})) skill_rights = skill_services.get_unpublished_skill_rights_by_creator( self.user_id_admin) skill_ids = [skill_rights_obj.id for skill_rights_obj in skill_rights] self.assertListEqual(skill_ids, ['skill_a', 'skill_b']) skill_services.publish_skill(self.SKILL_ID, self.user_id_admin) skill_rights = skill_services.get_unpublished_skill_rights_by_creator( self.user_id_admin) skill_ids = [skill_rights_obj.id for skill_rights_obj in skill_rights] self.assertListEqual(skill_ids, ['skill_a', 'skill_b'])
def test_get_unpublished_skill_rights_by_creator(self): self.save_new_skill( 'skill_a', self.user_id_admin, 'Description A', misconceptions=[], skill_contents=skill_domain.SkillContents( state_domain.SubtitledHtml('1', '<p>Explanation</p>'), [ state_domain.SubtitledHtml('2', '<p>Example 1</p>')], state_domain.RecordedVoiceovers.from_dict( {'voiceovers_mapping': {'1': {}, '2': {}}}), state_domain.WrittenTranslations.from_dict( {'translations_mapping': {'1': {}, '2': {}}}))) self.save_new_skill( 'skill_b', self.user_id_admin, 'Description B', misconceptions=[], skill_contents=skill_domain.SkillContents( state_domain.SubtitledHtml('1', '<p>Explanation</p>'), [ state_domain.SubtitledHtml('2', '<p>Example 1</p>')], state_domain.RecordedVoiceovers.from_dict( {'voiceovers_mapping': {'1': {}, '2': {}}}), state_domain.WrittenTranslations.from_dict( {'translations_mapping': {'1': {}, '2': {}}}))) skill_rights = skill_services.get_unpublished_skill_rights_by_creator( self.user_id_admin) skill_ids = [skill_rights_obj.id for skill_rights_obj in skill_rights] self.assertListEqual(skill_ids, ['skill_a', 'skill_b']) skill_services.publish_skill(self.SKILL_ID, self.user_id_admin) skill_rights = skill_services.get_unpublished_skill_rights_by_creator( self.user_id_admin) skill_ids = [skill_rights_obj.id for skill_rights_obj in skill_rights] self.assertListEqual(skill_ids, ['skill_a', 'skill_b'])
def get(self): """Handles GET requests.""" topic_summaries = topic_services.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_services.get_all_skill_ids_assigned_to_some_topic()) merged_skill_ids = (skill_services.get_merged_skill_ids()) topic_rights_dict = topic_services.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)) skill_ids_for_private_skills_by_user = [ skill_rights.id for skill_rights in ( skill_services.get_unpublished_skill_rights_by_creator( self.user_id)) ] skill_ids_for_unpublished_skills = [ skill_rights.id for skill_rights in ( skill_services.get_all_unpublished_skill_rights()) ] untriaged_skill_summary_dicts = [] mergeable_skill_summary_dicts = [] for skill_summary_dict in skill_summary_dicts: skill_id = skill_summary_dict['id'] if (skill_id not in skill_ids_assigned_to_some_topic) and ( skill_id not in skill_ids_for_unpublished_skills) and ( skill_id not in merged_skill_ids): untriaged_skill_summary_dicts.append(skill_summary_dict) if (skill_id in skill_ids_assigned_to_some_topic) and ( skill_id not in skill_ids_for_unpublished_skills) and ( skill_id not in merged_skill_ids): mergeable_skill_summary_dicts.append(skill_summary_dict) unpublished_skill_summary_dicts = [ summary.to_dict() for summary in (skill_services.get_multi_skill_summaries( skill_ids_for_private_skills_by_user)) ] 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': untriaged_skill_summary_dicts, 'mergeable_skill_summary_dicts': mergeable_skill_summary_dicts, 'unpublished_skill_summary_dicts': unpublished_skill_summary_dicts, 'topic_summary_dicts': topic_summary_dicts, 'can_delete_topic': can_delete_topic, 'can_create_topic': can_create_topic, 'can_delete_skill': can_delete_skill, 'can_create_skill': can_create_skill }) self.render_json(self.values)