def prepare_message(request, project, m, detailed): name, addr = m.sender m.sender_full_name = "%s <%s>" % (name, addr) m.sender_display_name = name or addr m.age = m.get_age() m.url = reverse("series_detail", kwargs={"project": project.name, "message_id": m.message_id}) m.status_tags = [] m.extra_links = [] if m.is_series_head: m.num_patches = m.get_num_patches() m.total_patches = m.get_total_patches() if m.num_patches < m.total_patches: missing = m.total_patches - m.num_patches m.status_tags.append({ "title": "Series not complete (%d %s not received)" % (missing, "patches" if missing > 1 else "patch"), "type": "warning", "char": "?", }) # hook points for plugins m.has_other_revisions = False m.extra_status = [] m.extra_ops = [] dispatch_module_hook("prepare_message_hook", request=request, message=m, detailed=detailed) if m.is_merged: m.status_tags = [{ "title": "Series merged", "type": "success", "char": "Merged", }] return m
def prepare_series(request, s, fields=None): r = {} def want_field(f): return not fields or f in fields if want_field("subject"): r["subject"] = s.subject if want_field("project"): r["project"] = s.project.name if want_field("project.git"): r["project.git"] = s.project.git if want_field("message-id"): r["message-id"] = s.message_id if want_field("patches"): r["patches"] = [prepare_patch(x) for x in s.get_patches()] if want_field("properties"): r["properties"] = s.get_properties() if want_field("is_complete"): r["is_complete"] = s.is_complete dispatch_module_hook("prepare_series_hook", request=request, series=s, response=r) if fields: r = dict([(k, v) for k, v in r.items() if k in fields]) return r
def prepare_message(request, m, detailed): name, addr = m.get_sender() m.sender_full_name = "%s <%s>" % (name, addr) m.sender_display_name = name or addr m.age = m.get_age() m.url = "/%s/%s" % (m.project.name, m.message_id) m.status_tags = [] if m.is_series_head: m.num_patches = m.get_num_patches() m.total_patches = m.get_total_patches() if m.num_patches < m.total_patches: missing = m.total_patches - m.num_patches m.status_tags.append({ "title": "Series not complete (%d %s not received)" % \ (missing, "patches" if missing > 1 else "patch"), "type": "warning", "char": "?", }) # hook points for plugins m.has_other_revisions = False m.extra_status = [] m.extra_ops = [] m.extra_links = [] dispatch_module_hook("prepare_message_hook", request=request, message=m, detailed=detailed) if m.is_merged: m.status_tags = [{ "title": "Series merged", "type": "success", "char": "Merged", }] return m
def get_fields(self): fields = super(ProjectSerializer, self).get_fields() request = self.context["request"] dispatch_module_hook("rest_project_fields_hook", request=request, fields=fields) return fields
def get_fields(self): fields = super(SeriesSerializer, self).get_fields() request = self.context['request'] dispatch_module_hook("rest_series_fields_hook", request=request, fields=fields, detailed=self.detailed) return fields
def get_fields(self): fields = super(MessageSerializer, self).get_fields() try: # When called from the CoreAPI schema generator, there is no context defined? request = self.context["request"] except TypeError: request = None dispatch_module_hook("rest_message_fields_hook", request=request, fields=fields) return fields
def get_fields(self): fields = super(MessageSerializer, self).get_fields() try: # When called from the CoreAPI schema generator, there is no context defined? request = self.context['request'] except TypeError: request = None dispatch_module_hook("rest_message_fields_hook", request=request, fields=fields) return fields
def prepare_project(p): ret = { "name": p.name, "mailing_list": p.mailing_list, "url": p.url, "git": p.git, "description": p.description, "properties": {}, } dispatch_module_hook("get_projects_prepare_hook", project=p, response=ret["properties"]) return ret
def prepare_series(request, s): r = { "subject": s.subject, "project": s.project.name, "project.git": s.project.git, "message-id": s.message_id, "patches": [prepare_patch(x) for x in s.get_patches()], "properties": s.get_properties(), "is_complete": s.is_complete, } dispatch_module_hook("prepare_series_hook", request=request, series=s, response=r) return r
def view_project_detail(request, project): po = api.models.Project.objects.filter(name=project).first() if not po: raise Http404("Project not found") nav_path = prepare_navigate_list( "Information", ("series_list", {"project": project}, project) ) po.extra_info = [] po.extra_status = [] po.extra_ops = [] dispatch_module_hook("prepare_project_hook", request=request, project=po) return render_page(request, "project-detail.html", results=prepare_results(request, po), project=po, navigate_links=nav_path, search="")
def view_project_detail(request, project): po = api.models.Project.objects.filter(name=project).first() if not po: raise Http404("Project not found") nav_path = prepare_navigate_list("Information", ("series_list", { "project": project }, project)) po.extra_info = [] po.extra_status = [] po.extra_ops = [] dispatch_module_hook("prepare_project_hook", request=request, project=po) return render_page(request, "project-detail.html", project=po, navigate_links=nav_path, search="")
# # Copyright 2016 Red Hat, Inc. # # Authors: # Fam Zheng <*****@*****.**> # # This work is licensed under the MIT License. Please see the LICENSE file or # http://opensource.org/licenses/MIT. from django.conf.urls import url from django.contrib.auth import views as auth_views from . import views from mod import dispatch_module_hook urlpatterns = [] dispatch_module_hook("www_url_hook", urlpatterns=urlpatterns) urlpatterns += [ url( '^login/$', auth_views.login, {'template_name': 'login.html'}, name="login" ), url( '^logout/$', auth_views.logout, name="logout" ), url(r"^search$", views.view_search, name="search"), url(r"^search-help$", views.view_search_help, name="search_help"),
def render_page(request, template_name, **data): data["patchew_version"] = settings.VERSION + try_get_git_head() dispatch_module_hook("render_page_hook", request=request, context_data=data) return render(request, template_name, context=data)
def get_fields(self): fields = super(ProjectSerializer, self).get_fields() request = self.context['request'] dispatch_module_hook("rest_project_fields_hook", request=request, fields=fields) return fields
def get_fields(self): fields = super(SeriesSerializer, self).get_fields() dispatch_module_hook("rest_series_fields_hook", fields=fields, detailed=self.detailed) return fields
def get_results(self, message): results = {} dispatch_module_hook("rest_results_hook", message=message, results=results) return results
def get_fields(self): fields = super(MessageSerializer, self).get_fields() dispatch_module_hook("rest_message_fields_hook", fields=fields) return fields