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)
Exemple #2
0
  def _getExtraMenuItems(self, role_description, params=None):
    """Used to create the specific Sponsor menu entries.

    For args see group.View._getExtraMenuItems().
    """

    submenus = []

    group_entity = role_description['group']
    roles = role_description['roles']
  
    if roles.get('host'):
      # add a link to create a new program
      submenu = (redirects.getCreateRedirect(group_entity,
          {'url_name': 'program'}),"Create a New Program", 'any_access')
      submenus.append(submenu)

      # add a link to the management page
      submenu = (redirects.getListRolesRedirect(group_entity, params), 
          "Manage Program Administrators", 'any_access')
      submenus.append(submenu)

      # add a link to invite an a host
      submenu = (redirects.getInviteRedirectForRole(group_entity, 'host'), 
          "Invite a Program Administrator", 'any_access')
      submenus.append(submenu)

      # add a link to the request page
      submenu = (redirects.getListRequestsRedirect(group_entity, params), 
          "List Program Administrator Invites", 'any_access')
      submenus.append(submenu)

      # add a link to the edit page
      submenu = (redirects.getEditRedirect(group_entity, params), 
          "Edit Program Owner Profile", 'any_access')
      submenus.append(submenu)

      # add a link to resign as a host
      submenu = (redirects.getManageRedirect(roles['host'], 
          {'url_name': 'host'}), 
          "Resign as Program Administrator", 'any_access')
      submenus.append(submenu)

      # add a link to create a new document
      submenu = (redirects.getCreateDocumentRedirect(group_entity, 'sponsor'),
          "Create a New Document", 'any_access')
      submenus.append(submenu)

      # add a link to list all documents
      submenu = (redirects.getListDocumentsRedirect(group_entity, 'sponsor'),
          "List Documents", 'any_access')
      submenus.append(submenu)

    return submenus
Exemple #3
0
  def _getExtraMenuItems(self, role_description, params=None):
    """Used to create the specific Sponsor menu entries.

    For args see group.View._getExtraMenuItems().
    """

    submenus = []

    group_entity = role_description['group']
    roles = role_description['roles']
  
    if roles.get('host'):
      # add a link to create a new program
      submenu = (redirects.getCreateRedirect(group_entity,
          {'url_name': 'program'}),"Create a New Program", 'any_access')
      submenus.append(submenu)

      # add a link to the management page
      submenu = (redirects.getListRolesRedirect(group_entity, params), 
          "Manage Program Administrators", 'any_access')
      submenus.append(submenu)

      # add a link to invite an a host
      submenu = (redirects.getInviteRedirectForRole(group_entity, 'host'), 
          "Invite a Program Administrator", 'any_access')
      submenus.append(submenu)

      # add a link to the request page
      submenu = (redirects.getListRequestsRedirect(group_entity, params), 
          "List Program Administrator Invites", 'any_access')
      submenus.append(submenu)

      # add a link to the edit page
      submenu = (redirects.getEditRedirect(group_entity, params), 
          "Edit Program Owner Profile", 'any_access')
      submenus.append(submenu)

      # add a link to resign as a host
      submenu = (redirects.getManageRedirect(roles['host'], 
          {'url_name': 'host'}), 
          "Resign as Program Administrator", 'any_access')
      submenus.append(submenu)

      # add a link to create a new document
      submenu = (redirects.getCreateDocumentRedirect(group_entity, 'sponsor'),
          "Create a New Document", 'any_access')
      submenus.append(submenu)

      # add a link to list all documents
      submenu = (redirects.getListDocumentsRedirect(group_entity, 'sponsor'),
          "List Documents", 'any_access')
      submenus.append(submenu)

    return submenus
Exemple #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)
Exemple #5
0
    def _getExtraMenuItems(self, role_description, params=None):
        """Used to create the specific GCI Organization menu entries.

    For args see soc.views.models.organization.View._getExtraMenuItems().
    """
        submenus = []

        group_entity = role_description["group"]
        roles = role_description["roles"]

        mentor_entity = roles.get("gci_mentor")
        admin_entity = roles.get("gci_org_admin")

        is_active_mentor = mentor_entity and mentor_entity.status == "active"
        is_active_admin = admin_entity and admin_entity.status == "active"

        if admin_entity or mentor_entity:
            # add a link to view all the organization tasks.
            submenu = (
                gci_redirects.getListTasksRedirect(group_entity, {"url_name": "gci/task"}),
                "View all Tasks",
                "any_access",
            )
            submenus.append(submenu)

        if is_active_admin:
            # add a link to create task
            submenu = (
                redirects.getCreateRedirect(group_entity, {"url_name": "gci/task"}),
                "Create a Task",
                "any_access",
            )
            submenus.append(submenu)

            # add a link to bulk create tasks
            submenu = (
                gci_redirects.getBulkCreateRedirect(group_entity, {"url_name": "gci/task"}),
                "Bulk Create Tasks",
                "any_access",
            )
            submenus.append(submenu)

            # add a link to the management page
            submenu = (redirects.getListRolesRedirect(group_entity, params), "Manage Admins and Mentors", "any_access")
            submenus.append(submenu)

            # add a link to invite an org admin
            submenu = (
                redirects.getInviteRedirectForRole(group_entity, "gci/org_admin"),
                "Invite an Admin",
                "any_access",
            )
            submenus.append(submenu)

            # add a link to invite a member
            submenu = (redirects.getInviteRedirectForRole(group_entity, "gci/mentor"), "Invite a Mentor", "any_access")
            submenus.append(submenu)

            # add a link to the request page
            submenu = (
                redirects.getListRequestsRedirect(group_entity, params),
                "List Requests and Invites",
                "any_access",
            )
            submenus.append(submenu)

            # add a link to the edit page
            submenu = (redirects.getEditRedirect(group_entity, params), "Edit Organization Profile", "any_access")
            submenus.append(submenu)

        if is_active_mentor:
            # add a link to suggest task
            submenu = (
                gci_redirects.getSuggestTaskRedirect(group_entity, {"url_name": "gci/task"}),
                "Suggest a Task",
                "any_access",
            )
            submenus.append(submenu)

        if is_active_admin or is_active_mentor:
            submenu = (
                redirects.getCreateDocumentRedirect(group_entity, "gci_org"),
                "Create a New Document",
                "any_access",
            )
            submenus.append(submenu)

            submenu = (redirects.getListDocumentsRedirect(group_entity, "gci_org"), "List Documents", "any_access")
            submenus.append(submenu)

        if is_active_admin:
            # add a link to the resign page
            submenu = (
                redirects.getManageRedirect(roles["gci_org_admin"], {"url_name": "gci/org_admin"}),
                "Resign as Admin",
                "any_access",
            )
            submenus.append(submenu)

            # add a link to the edit page
            submenu = (
                redirects.getEditRedirect(roles["gci_org_admin"], {"url_name": "gci/org_admin"}),
                "Edit My Admin Profile",
                "any_access",
            )
            submenus.append(submenu)

        if is_active_mentor:
            # add a link to the resign page
            submenu = (
                redirects.getManageRedirect(roles["gci_mentor"], {"url_name": "gci/mentor"}),
                "Resign as Mentor",
                "any_access",
            )
            submenus.append(submenu)

            # add a link to the edit page
            submenu = (
                redirects.getEditRedirect(roles["gci_mentor"], {"url_name": "gci/mentor"}),
                "Edit My Mentor Profile",
                "any_access",
            )
            submenus.append(submenu)

        return submenus
Exemple #6
0
    def _getExtraMenuItems(self, role_description, params=None):
        """Used to create the specific GCI Organization menu entries.

    For args see soc.views.models.organization.View._getExtraMenuItems().
    """
        submenus = []

        group_entity = role_description['group']
        roles = role_description['roles']

        mentor_entity = roles.get('gci_mentor')
        admin_entity = roles.get('gci_org_admin')

        is_active_mentor = mentor_entity and mentor_entity.status == 'active'
        is_active_admin = admin_entity and admin_entity.status == 'active'

        if admin_entity or mentor_entity:
            # add a link to view all the organization tasks.
            submenu = (gci_redirects.getListTasksRedirect(
                group_entity,
                {'url_name': 'gci/task'}), "View all Tasks", 'any_access')
            submenus.append(submenu)

        if is_active_admin:
            # add a link to create task
            submenu = (redirects.getCreateRedirect(group_entity,
                                                   {'url_name': 'gci/task'}),
                       "Create a Task", 'any_access')
            submenus.append(submenu)

            # add a link to bulk create tasks
            submenu = (gci_redirects.getBulkCreateRedirect(
                group_entity,
                {'url_name': 'gci/task'}), "Bulk Create Tasks", 'any_access')
            submenus.append(submenu)

            # add a link to the management page
            submenu = (redirects.getListRolesRedirect(group_entity, params),
                       "Manage Admins and Mentors", 'any_access')
            submenus.append(submenu)

            # add a link to invite an org admin
            submenu = (redirects.getInviteRedirectForRole(
                group_entity,
                'gci/org_admin'), "Invite an Admin", 'any_access')
            submenus.append(submenu)

            # add a link to invite a member
            submenu = (redirects.getInviteRedirectForRole(
                group_entity, 'gci/mentor'), "Invite a Mentor", 'any_access')
            submenus.append(submenu)

            # add a link to the request page
            submenu = (redirects.getListRequestsRedirect(group_entity, params),
                       "List Requests and Invites", 'any_access')
            submenus.append(submenu)

            # add a link to the edit page
            submenu = (redirects.getEditRedirect(group_entity, params),
                       "Edit Organization Profile", 'any_access')
            submenus.append(submenu)

        if is_active_mentor:
            # add a link to suggest task
            submenu = (gci_redirects.getSuggestTaskRedirect(
                group_entity,
                {'url_name': 'gci/task'}), "Suggest a Task", 'any_access')
            submenus.append(submenu)

        if is_active_admin or is_active_mentor:
            submenu = (redirects.getCreateDocumentRedirect(
                group_entity,
                'gci_org'), "Create a New Document", 'any_access')
            submenus.append(submenu)

            submenu = (redirects.getListDocumentsRedirect(
                group_entity, 'gci_org'), "List Documents", 'any_access')
            submenus.append(submenu)

        if is_active_admin:
            # add a link to the resign page
            submenu = (redirects.getManageRedirect(
                roles['gci_org_admin'], {'url_name': 'gci/org_admin'}),
                       "Resign as Admin", 'any_access')
            submenus.append(submenu)

            # add a link to the edit page
            submenu = (redirects.getEditRedirect(
                roles['gci_org_admin'], {'url_name': 'gci/org_admin'}),
                       "Edit My Admin Profile", 'any_access')
            submenus.append(submenu)

        if is_active_mentor:
            # add a link to the resign page
            submenu = (redirects.getManageRedirect(roles['gci_mentor'],
                                                   {'url_name': 'gci/mentor'}),
                       "Resign as Mentor", 'any_access')
            submenus.append(submenu)

            # add a link to the edit page
            submenu = (redirects.getEditRedirect(roles['gci_mentor'],
                                                 {'url_name': 'gci/mentor'}),
                       "Edit My Mentor Profile", 'any_access')
            submenus.append(submenu)

        return submenus