def get_reviewable_suggestions(user_id, suggestion_type): """Returns a list of suggestions of given suggestion_type which the user can review. Args: user_id: str. The ID of the user. suggestion_type: str. The type of the suggestion. Returns: list(Suggestion). A list of suggestions which the given user is allowed to review. """ all_suggestions = ([ get_suggestion_from_model(s) for s in (suggestion_models.GeneralSuggestionModel. get_in_review_suggestions_of_suggestion_type( suggestion_type, user_id)) ]) user_review_rights = user_services.get_user_community_rights(user_id) if suggestion_type == suggestion_models.SUGGESTION_TYPE_TRANSLATE_CONTENT: language_codes = ( user_review_rights.can_review_translation_for_language_codes) return [ suggestion for suggestion in all_suggestions if suggestion.change.language_code in language_codes ] return all_suggestions
def get(self): username = self.request.get('username', None) if username is None: raise self.InvalidInputException('Missing username param') user_id = user_services.get_user_id_from_username(username) if user_id is None: raise self.InvalidInputException('Invalid username: %s' % username) user_rights = (user_services.get_user_community_rights(user_id)) self.render_json({ 'can_review_translation_for_language_codes': (user_rights.can_review_translation_for_language_codes), 'can_review_voiceover_for_language_codes': (user_rights.can_review_voiceover_for_language_codes), 'can_review_questions': user_rights.can_review_questions })
def get(self): """Handles GET requests.""" community_rights = None if self.username: community_rights = user_services.get_user_community_rights( self.user_id) self.render_json({ 'can_review_translation_for_language_codes': (community_rights.can_review_translation_for_language_codes if community_rights else []), 'can_review_voiceover_for_language_codes': (community_rights.can_review_voiceover_for_language_codes if community_rights else []), 'can_review_questions': (community_rights.can_review_questions if community_rights else False) })