示例#1
0
文件: base.py 项目: adviti/melange
class RequestHandler(RequestHandler):
  """Customization required by GCI to handle HTTP requests.
  """

  def render(self, template_path, context):
    """Renders the page using the specified context.

    See soc.views.base.RequestHandler.

    The context object is extended with the following values:
      base_layout: path to the base template.
      header: a rendered header.Header template for the current self.data
      mainmenu: a rendered site_menu.MainMenu template for the current self.data
      footer: a rendered site_menu.Footer template for the current self.data
    """
    context['base_layout'] = 'v2/modules/gci/base.html'
    if self.data.user:
      context['status'] = base_templates.Status(self.data)
    context['header'] = base_templates.Header(self.data)
    context['mainmenu'] = base_templates.MainMenu(self.data)
    context['footer'] = base_templates.Footer(self.data)
    super(RequestHandler, self).render(template_path, context)

  def init(self, request, args, kwargs):
    self.data = RequestData()
    self.redirect = RedirectHelper(self.data, self.response)
    self.data.populate(self.redirect, request, args, kwargs)
    if self.data.is_developer:
      self.mutator = access_checker.DeveloperMutator(self.data)
      self.check = access_checker.DeveloperAccessChecker(self.data)
    else:
      self.mutator = access_checker.Mutator(self.data)
      self.check = access_checker.AccessChecker(self.data)

  def error(self, status, message=None):
    if not self.data.program:
      return super(RequestHandler, self).error(status, message)

    self.response.set_status(status, message=message)

    template_path = "v2/modules/gci/error.html"
    context = {
        'page_name': self.response.content,
        'message': self.response.content,
    }

    self.response.content = ''
    self.render(template_path, context)
示例#2
0
文件: base.py 项目: adviti/melange
 def init(self, request, args, kwargs):
   self.data = RequestData()
   self.redirect = RedirectHelper(self.data, self.response)
   self.data.populate(self.redirect, request, args, kwargs)
   if self.data.is_developer:
     self.mutator = access_checker.DeveloperMutator(self.data)
     self.check = access_checker.DeveloperAccessChecker(self.data)
   else:
     self.mutator = access_checker.Mutator(self.data)
     self.check = access_checker.AccessChecker(self.data)
示例#3
0
def process(org_app):
  ctx = context.get()
  params = ctx.mapreduce_spec.mapper.params
  program_key = params['program_key']
  # TODO(SRabbelier): should have been a full url
  url = 'gci/profile/organization/%s' % program_key

  # TODO(SRabbelier): create a MapReduce/Task RequestData
  data = RequestData()
  data.program = GCIProgram.get_by_key_name(program_key)
  data.site = Site.get_by_key_name('site')

  if org_app.status == 'pre-accepted':
    org_app_logic.setStatus(data, org_app, 'accepted', url)
    yield operation.counters.Increment("proposals_accepted")
  elif org_app.status == 'pre-rejected':
    org_app_logic.setStatus(data, org_app, 'rejected', url)
    yield operation.counters.Increment("proposals_rejected")
  else:
    yield operation.counters.Increment("proposals_ignored")