Пример #1
0
  def list(self, request, access_type, page_name=None,
           params=None, filter=None, order=None,
           visibility=None, context=None, **kwargs):
    """Overwrites the base list to add an extra button and use other redirect.

    For normal listings of GradingSurveyGroups do not use this method.

    For args see base.View.list().
    """

    program_entity = program_logic.getFromKeyNameOr404(kwargs['scope_path'])

    params = params.copy()
    params['public_button_global'] = [
        {
          'bounds': [0,'all'],
          'id': 'create_new',
          'caption': 'Create new Grading Survey Group',
          'type': 'redirect_simple',
          'parameters': {
              'link': redirects.getCreateRedirect(program_entity, params),
              'new_window': False,
              }
        }]

    params['public_row_extra'] = lambda entity: {
        'link': redirects.getViewRecordsRedirect(entity, params),
    }

    filter = {'scope': program_entity}

    return super(View, self).list(
        request, 'allow', page_name=page_name,
        params=params, filter=filter, order=order,
        visibility='public', context=context, **kwargs)
Пример #2
0
    def setQueries(self, program_keyname, group_form):
        """Add program filtering queries to the GroupForm.

    Args:
      program_keyname: keyname of the program to filter on
      group_form: DynaForm instance to set the queries for
    """

        # fetch the program
        program = program_logic.getFromKeyNameOr404(program_keyname)

        # filter grading surveys by program and use title for display
        grading_query = grading_logic.getQueryForFields(
            filter={'scope_path': program_keyname})

        # filter project surveys by program and use title for display
        student_query = project_logic.getQueryForFields(
            filter={'scope_path': program_keyname})

        group_form.base_fields['grading_survey'].query = grading_query
        group_form.base_fields['student_survey'].query = student_query

        # use survey titles in drop-downs
        self.choiceTitles(group_form, 'grading_survey', grading_logic)
        self.choiceTitles(group_form, 'student_survey', project_logic)
Пример #3
0
  def setQueries(self, program_keyname, group_form):
    """Add program filtering queries to the GroupForm.

    Args:
      program_keyname: keyname of the program to filter on
      group_form: DynaForm instance to set the queries for
    """

    # fetch the program
    program = program_logic.getFromKeyNameOr404(program_keyname)

    # filter grading surveys by program and use title for display
    grading_query = grading_logic.getQueryForFields(
        filter={'scope_path':program_keyname})

    # filter project surveys by program and use title for display
    student_query = project_logic.getQueryForFields(
        filter={'scope_path':program_keyname})

    group_form.base_fields['grading_survey'].query = grading_query
    group_form.base_fields['student_survey'].query = student_query

    # use survey titles in drop-downs
    self.choiceTitles(group_form, 'grading_survey', grading_logic)
    self.choiceTitles(group_form, 'student_survey', project_logic)
Пример #4
0
    def list(self,
             request,
             access_type,
             page_name=None,
             params=None,
             filter=None,
             order=None,
             visibility=None,
             context=None,
             **kwargs):
        """Overwrites the base list to add an extra button and use other redirect.

    For normal listings of GradingSurveyGroups do not use this method.

    For args see base.View.list().
    """

        program_entity = program_logic.getFromKeyNameOr404(
            kwargs['scope_path'])

        params = params.copy()
        params['public_button_global'] = [{
            'bounds': [0, 'all'],
            'id': 'create_new',
            'caption': 'Create new Grading Survey Group',
            'type': 'redirect_simple',
            'parameters': {
                'link': redirects.getCreateRedirect(program_entity, params),
                'new_window': False,
            }
        }]

        params['public_row_extra'] = lambda entity: {
            'link': redirects.getViewRecordsRedirect(entity, params),
        }

        filter = {'scope': program_entity}

        return super(View, self).list(request,
                                      'allow',
                                      page_name=page_name,
                                      params=params,
                                      filter=filter,
                                      order=order,
                                      visibility='public',
                                      context=context,
                                      **kwargs)