blob: 7e9a2669298437ae1f33717b9622fe712679a60b [file] [log] [blame]
# Copyright 2016 The Chromium Authors. All rights reserved.
# Use of this source code is govered by a BSD-style
# license that can be found in the LICENSE file or at
"""A class to display the project summary page."""
import logging
from framework import framework_bizobj
from framework import permissions
from framework import servlet
from project import project_views
from third_party import markdown
class ProjectSummary(servlet.Servlet):
"""Page to show brief project description and process documentation."""
_PAGE_TEMPLATE = 'project/project-summary-page.ezt'
def GatherPageData(self, mr):
"""Build up a dictionary of data values to use when rendering the page."""
with self.profiler.Phase('getting project star count'):
num_stars =
mr.cnxn, mr.project_id)
plural = '' if num_stars == 1 else 's'
page_data = {
'admin_tab_mode': self.PROCESS_TAB_SUMMARY,
'access_level': project_views.ProjectAccessView(mr.project.access),
'num_stars': num_stars,
'plural': plural,
'home_page': mr.project.home_page,
return page_data
def GatherHelpData(self, mr, _page_data):
"""Return a dict of values to drive on-page user help.
mr: common information parsed from the HTTP request.
_page_data: Dictionary of base and page template data.
A dict of values to drive on-page user help, to be added to page_data.
cue = None
dismissed = mr.auth.user_pb.dismissed_cues
project = mr.project
# Cue cards for project owners.
if self.CheckPerm(mr, permissions.EDIT_PROJECT):
if ('document_team_duties' not in dismissed
and len(framework_bizobj.AllProjectMembers(project)) > 1
and not
mr.cnxn, mr.project_id).commitments):
cue = 'document_team_duties'
return {
'cue': cue,