Exemple #1
0
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_contribution_rights(user_id)
    if suggestion_type == feconf.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):
     """Handles GET requests."""
     contribution_rights = None
     if self.username:
         contribution_rights = user_services.get_user_contribution_rights(
             self.user_id)
     self.render_json({
         'can_review_translation_for_language_codes':
         (contribution_rights.can_review_translation_for_language_codes
          if contribution_rights else []),
         'can_review_voiceover_for_language_codes':
         (contribution_rights.can_review_voiceover_for_language_codes
          if contribution_rights else []),
         'can_review_questions': (contribution_rights.can_review_questions
                                  if contribution_rights else False)
     })
Exemple #3
0
 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_contribution_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
     })
Exemple #4
0
 def get(self):
     """Handles GET requests."""
     contribution_rights = None
     if self.username:
         contribution_rights = user_services.get_user_contribution_rights(
             self.user_id)
     self.render_json({
         'can_review_translation_for_language_codes':
         (contribution_rights.can_review_translation_for_language_codes
          if contribution_rights else []),
         'can_review_voiceover_for_language_codes':
         (contribution_rights.can_review_voiceover_for_language_codes
          if contribution_rights else []),
         'can_review_questions': (contribution_rights.can_review_questions
                                  if contribution_rights else False),
         'can_suggest_questions':
         (config_domain.CONTRIBUTOR_CAN_SUGGEST_QUESTIONS.value)
     })
Exemple #5
0
 def get(self):
     username = self.normalized_request.get('username', None)
     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_contribution_rights(user_id))
     response = {}
     if feconf.ROLE_ID_TRANSLATION_ADMIN in self.roles:
         response = {
             'can_review_translation_for_language_codes':
             (user_rights.can_review_translation_for_language_codes)
         }
     if feconf.ROLE_ID_QUESTION_ADMIN in self.roles:
         response.update({
             'can_review_questions':
             user_rights.can_review_questions,
             'can_submit_questions':
             user_rights.can_submit_questions
         })
     self.render_json(response)