#360 Tranfer the hub edit mode to the widgets
Merged 6 years ago by abompard. Opened 6 years ago by abompard.
abompard/fedora-hubs edit-mode-widgets  into  develop

file modified
+2 -2
@@ -96,7 +96,7 @@ 

      <div id="left_widgets">

        {% for widget in widgets["left"] %}

        <div id="widget-{{ widget.idx }}" class="widget row"

-            data-url="{{ url_for('%s_root' % widget.plugin, hub=hub.name, idx=widget.idx) }}"

+            data-url="{{ url_for('%s_root' % widget.plugin, hub=hub.name, idx=widget.idx) }}{% if edit %}?editmode=1{% endif %}"

             ></div>

        {% endfor %}

      </div>
@@ -120,7 +120,7 @@ 

      <div id="right_widgets">

        {% for widget in widgets["right"] %}

        <div id="widget-{{ widget.idx }}" class="widget row"

-            data-url="{{ url_for('%s_root' % widget.plugin, hub=hub.name, idx=widget.idx) }}"

+            data-url="{{ url_for('%s_root' % widget.plugin, hub=hub.name, idx=widget.idx) }}{% if edit %}?editmode=1{% endif %}"

             ></div>

        {% endfor %}

      </div>

@@ -0,0 +1,34 @@ 

+ from __future__ import unicode_literals

+ 

+ import six

+ from mock import Mock

+ 

+ from hubs.app import app

+ from hubs.tests import APPTest

+ from hubs.widgets.base import Widget

+ from hubs.widgets.caching import CachedFunction

+ from hubs.widgets.view import WidgetView, RootWidgetView

+ 

+ 

+ class TestingWidget(Widget):

+     name = "testing"

+ 

+ 

+ class WidgetViewTest(APPTest):

+ 

+     def test_root_view(self):

+         testing_widget = TestingWidget()

+         view = RootWidgetView(testing_widget)

+         self.assertEqual(view.name, "root")

+         self.assertEqual(view.url_rules, ["/"])

+         self.assertEqual(view.template_name, "root.html")

+ 

+     def test_root_view_edit_mode(self):

+         testing_widget = TestingWidget()

+         view = RootWidgetView(testing_widget)

+         with app.test_request_context('/'):

+             context = view.get_extra_context(None)

+         self.assertFalse(context["edit_mode"])

+         with app.test_request_context('/?editmode=1'):

+             context = view.get_extra_context(None)

+         self.assertTrue(context["edit_mode"])

@@ -1,7 +1,8 @@ 

  from __future__ import unicode_literals

  

  from hubs.widgets import validators

- from hubs.widgets.base import Widget, WidgetView

+ from hubs.widgets.base import Widget

+ from hubs.widgets.view import WidgetView, RootWidgetView

  

  

  class About(Widget):
@@ -17,11 +18,7 @@ 

          )]

  

  

- class BaseView(WidgetView):

- 

-     name = "root"

-     url_rules = ["/"]

-     template_name = "about.html"

+ class BaseView(RootWidgetView):

  

      def get_context(self, instance, *args, **kwargs):

          return dict(

hubs/widgets/about/templates/root.html hubs/widgets/about/templates/about.html
file renamed
file was moved with no change to the file
@@ -4,7 +4,8 @@ 

  import requests

  

  from hubs.widgets import validators

- from hubs.widgets.base import Widget, WidgetView

+ from hubs.widgets.base import Widget

+ from hubs.widgets.view import WidgetView, RootWidgetView

  from hubs.widgets.caching import CachedFunction

  

  
@@ -21,11 +22,7 @@ 

          )]

  

  

- class BaseView(WidgetView):

- 

-     name = "root"

-     url_rules = ["/"]

-     template_name = "badges.html"

+ class BaseView(RootWidgetView):

  

      def get_context(self, instance, *args, **kwargs):

          context = {"title": self.widget.label}

hubs/widgets/badges/templates/root.html hubs/widgets/badges/templates/badges.html
file renamed
file was moved with no change to the file
@@ -6,16 +6,14 @@ 

  

  from hubs.utils.pkgdb import get_owned_packages

  from hubs.widgets import validators

- from hubs.widgets.base import Widget, WidgetView

+ from hubs.widgets.base import Widget

+ from hubs.widgets.view import WidgetView, RootWidgetView

  from hubs.widgets.caching import CachedFunction

  

  

  log = logging.getLogger('hubs.widgets')

  

  

- PKGDB_URL = "https://admin.fedoraproject.org/pkgdb/api/packager/package"

- 

- 

  class Bugzilla(Widget):

  

      name = "bugzilla"
@@ -36,11 +34,7 @@ 

          )]

  

  

- class BaseView(WidgetView):

- 

-     name = "root"

-     url_rules = ["/"]

-     template_name = "bugzilla.html"

+ class BaseView(RootWidgetView):

  

      def get_context(self, instance, *args, **kwargs):

          get_issues = GetIssues(instance)

hubs/widgets/bugzilla/templates/root.html hubs/widgets/bugzilla/templates/bugzilla.html
file renamed
file was moved with no change to the file
@@ -5,7 +5,8 @@ 

  import requests

  import six

  

- from hubs.widgets.base import Widget, WidgetView

+ from hubs.widgets.base import Widget

+ from hubs.widgets.view import WidgetView, RootWidgetView

  from hubs.utils.views import login_required

  

  
@@ -15,11 +16,7 @@ 

      position = "both"

  

  

- class BaseView(WidgetView):

- 

-     name = "root"

-     url_rules = ["/"]

-     template_name = "contact.html"

+ class BaseView(RootWidgetView):

  

      def get_context(self, instance, *args, **kwargs):

          ''' Data for Contact widget. Checks if the hub associated

hubs/widgets/contact/templates/root.html hubs/widgets/contact/templates/contact.html
file renamed
file was moved with no change to the file
@@ -1,7 +1,8 @@ 

  from __future__ import unicode_literals

  

  from hubs.widgets import validators

- from hubs.widgets.base import Widget, WidgetView

+ from hubs.widgets.base import Widget

+ from hubs.widgets.view import RootWidgetView

  

  

  class Dummy(Widget):
@@ -17,11 +18,7 @@ 

          )]

  

  

- class BaseView(WidgetView):

- 

-     name = "root"

-     url_rules = ["/"]

-     template_name = "dummy.html"

+ class BaseView(RootWidgetView):

  

      def get_context(self, instance, *args, **kwargs):

          return dict(

hubs/widgets/dummy/templates/root.html hubs/widgets/dummy/templates/dummy.html
file renamed
file was moved with no change to the file
@@ -8,7 +8,8 @@ 

  from hubs.utils import get_fedmsg_config

  from hubs.utils.text import commas

  from hubs.widgets import validators

- from hubs.widgets.base import Widget, WidgetView

+ from hubs.widgets.base import Widget

+ from hubs.widgets.view import RootWidgetView

  from hubs.widgets.caching import CachedFunction

  

  
@@ -29,11 +30,7 @@ 

          )]

  

  

- class BaseView(WidgetView):

- 

-     name = "root"

-     url_rules = ["/"]

-     template_name = "fedmsgstats.html"

+ class BaseView(RootWidgetView):

  

      def get_context(self, instance, *args, **kwargs):

          username = instance.config["username"]

hubs/widgets/fedmsgstats/templates/root.html hubs/widgets/fedmsgstats/templates/fedmsgstats.html
file renamed
file was moved with no change to the file
@@ -4,7 +4,8 @@ 

  import logging

  

  from hubs.widgets import validators

- from hubs.widgets.base import Widget, WidgetView

+ from hubs.widgets.base import Widget

+ from hubs.widgets.view import WidgetView, RootWidgetView

  

  from .functions import GetData

  
@@ -28,11 +29,7 @@ 

      cached_functions_module = ".functions"

  

  

- class BaseView(WidgetView):

- 

-     name = "root"

-     url_rules = ["/"]

-     template_name = "feed.html"

+ class BaseView(RootWidgetView):

  

      def get_context(self, instance, *args, **kwargs):

          return dict(

hubs/widgets/feed/templates/root.html hubs/widgets/feed/templates/feed.html
file renamed
file was moved with no change to the file
@@ -3,7 +3,8 @@ 

  from six.moves.xmlrpc_client import ServerProxy

  

  from hubs.widgets import validators

- from hubs.widgets.base import Widget, WidgetView

+ from hubs.widgets.base import Widget

+ from hubs.widgets.view import RootWidgetView

  from hubs.widgets.caching import CachedFunction

  

  
@@ -28,11 +29,7 @@ 

          )]

  

  

- class BaseView(WidgetView):

- 

-     name = "root"

-     url_rules = ["/"]

-     template_name = "fhosted.html"

+ class BaseView(RootWidgetView):

  

      def get_context(self, instance, *args, **kwargs):

          get_tickets = GetTickets(instance)

hubs/widgets/fhosted/templates/root.html hubs/widgets/fhosted/templates/fhosted.html
file renamed
file was moved with no change to the file
@@ -5,7 +5,8 @@ 

  from hubs.utils import get_fedmsg_config

  from hubs.utils.github import github_repos, github_pulls

  from hubs.widgets import validators

- from hubs.widgets.base import Widget, WidgetView

+ from hubs.widgets.base import Widget

+ from hubs.widgets.view import RootWidgetView

  from hubs.widgets.caching import CachedFunction

  

  
@@ -34,11 +35,7 @@ 

          )]

  

  

- class BaseView(WidgetView):

- 

-     name = "root"

-     url_rules = ["/"]

-     template_name = "github_pr.html"

+ class BaseView(RootWidgetView):

  

      def get_context(self, instance, *args, **kwargs):

          get_prs = GetPRs(instance)

hubs/widgets/github_pr/templates/root.html hubs/widgets/github_pr/templates/github_pr.html
file renamed
file was moved with no change to the file
@@ -3,7 +3,8 @@ 

  import requests

  

  from hubs.widgets import validators

- from hubs.widgets.base import Widget, WidgetView

+ from hubs.widgets.base import Widget

+ from hubs.widgets.view import RootWidgetView

  from hubs.widgets.caching import CachedFunction

  

  
@@ -34,11 +35,7 @@ 

          )]

  

  

- class BaseView(WidgetView):

- 

-     name = "root"

-     url_rules = ["/"]

-     template_name = "githubissues.html"

+ class BaseView(RootWidgetView):

  

      def get_context(self, instance, *args, **kwargs):

          get_issues = GetIssues(instance)

hubs/widgets/githubissues/templates/root.html hubs/widgets/githubissues/templates/githubissues.html
file renamed
file was moved with no change to the file
hubs/widgets/halp/templates/root.html hubs/widgets/halp/templates/halp.html
file renamed
file was moved with no change to the file
file modified
+2 -6
@@ -9,7 +9,7 @@ 

  from hubs.models import Hub

  from hubs.utils.views import get_hub, require_hub_access

  from hubs.widgets import registry

- from hubs.widgets.base import WidgetView

+ from hubs.widgets.view import WidgetView, RootWidgetView

  from .functions import GetRequests

  from .utils import find_hubs_for_msg, paginate

  
@@ -19,13 +19,9 @@ 

      before_render_template = None  # Flask < 0.11

  

  

- class BaseView(WidgetView):

+ class BaseView(RootWidgetView):

      """The base view to instantiate the widget."""

  

-     name = "root"

-     url_rules = ["/"]

-     template_name = "halp.html"

- 

      def get_context(self, instance, *args, **kwargs):

          return dict(

              hubs=instance.config.get("hubs", []),

@@ -1,7 +1,8 @@ 

  from __future__ import unicode_literals

  

  from hubs.widgets import clean_input, validators

- from hubs.widgets.base import Widget, WidgetView

+ from hubs.widgets.base import Widget

+ from hubs.widgets.view import RootWidgetView

  

  

  class Library(Widget):
@@ -19,11 +20,7 @@ 

          )]

  

  

- class BaseView(WidgetView):

- 

-     name = "root"

-     url_rules = ["/"]

-     template_name = "library.html"

+ class BaseView(RootWidgetView):

  

      def get_context(self, instance, *args, **kwargs):

          urls = [

hubs/widgets/library/templates/root.html hubs/widgets/library/templates/library.html
file renamed
file was moved with no change to the file
@@ -1,7 +1,8 @@ 

  from __future__ import unicode_literals

  

  from hubs.widgets import validators

- from hubs.widgets.base import Widget, WidgetView

+ from hubs.widgets.base import Widget

+ from hubs.widgets.view import RootWidgetView

  

  

  class Linechart(Widget):
@@ -18,11 +19,7 @@ 

          )]

  

  

- class BaseView(WidgetView):

- 

-     name = "root"

-     url_rules = ["/"]

-     template_name = "linechart.html"

+ class BaseView(RootWidgetView):

  

      def get_context(self, instance, *args, **kwargs):

          username = instance.config["username"]

hubs/widgets/linechart/templates/root.html hubs/widgets/linechart/templates/linechart.html
file renamed
file was moved with no change to the file
@@ -7,7 +7,8 @@ 

  

  from hubs.utils.text import markup

  from hubs.widgets import validators

- from hubs.widgets.base import Widget, WidgetView

+ from hubs.widgets.base import Widget

+ from hubs.widgets.view import RootWidgetView

  from hubs.widgets.caching import CachedFunction

  

  
@@ -37,11 +38,7 @@ 

          return env

  

  

- class BaseView(WidgetView):

- 

-     name = "root"

-     url_rules = ["/"]

-     template_name = "meetings.html"

+ class BaseView(RootWidgetView):

  

      def get_context(self, instance, *args, **kwargs):

          get_meetings = GetMeetings(instance)

hubs/widgets/meetings/templates/root.html hubs/widgets/meetings/templates/meetings.html
file renamed
file was moved with no change to the file
@@ -2,7 +2,8 @@ 

  

  import hubs.models

  

- from hubs.widgets.base import Widget, WidgetView

+ from hubs.widgets.base import Widget

+ from hubs.widgets.view import RootWidgetView

  

  

  ELLIPSIS_LIMIT = 3
@@ -15,11 +16,7 @@ 

      position = "both"

  

  

- class BaseView(WidgetView):

- 

-     name = "root"

-     url_rules = ["/"]

-     template_name = "memberships.html"

+ class BaseView(RootWidgetView):

  

      def get_context(self, instance, *args, **kwargs):

          hub = instance.hub

hubs/widgets/memberships/templates/root.html hubs/widgets/memberships/templates/memberships.html
file renamed
file was moved with no change to the file
@@ -1,7 +1,8 @@ 

  from __future__ import unicode_literals

  

  from hubs.widgets import validators

- from hubs.widgets.base import Widget, WidgetView

+ from hubs.widgets.base import Widget

+ from hubs.widgets.view import RootWidgetView

  from hubs.widgets.caching import CachedFunction

  

  import requests
@@ -24,11 +25,7 @@ 

          )]

  

  

- class BaseView(WidgetView):

- 

-     name = "root"

-     url_rules = ["/"]

-     template_name = "pagure_pr.html"

+ class BaseView(RootWidgetView):

  

      def get_context(self, instance, *args, **kwargs):

          get_prs = GetPRs(instance)

hubs/widgets/pagure_pr/templates/root.html hubs/widgets/pagure_pr/templates/pagure_pr.html
file renamed
file was moved with no change to the file
@@ -3,7 +3,8 @@ 

  import requests

  

  from hubs.widgets import validators

- from hubs.widgets.base import Widget, WidgetView

+ from hubs.widgets.base import Widget

+ from hubs.widgets.view import RootWidgetView

  from hubs.widgets.caching import CachedFunction

  

  pagure_url = "https://pagure.io/api/0"
@@ -24,11 +25,7 @@ 

          )]

  

  

- class BaseView(WidgetView):

- 

-     name = "root"

-     url_rules = ["/"]

-     template_name = "pagureissues.html"

+ class BaseView(RootWidgetView):

  

      def get_context(self, instance, *args, **kwargs):

          get_issues = GetIssues(instance)

hubs/widgets/pagureissues/templates/root.html hubs/widgets/pagureissues/templates/pagureissues.html
file renamed
file was moved with no change to the file
@@ -4,7 +4,8 @@ 

  

  from hubs.utils import username2avatar

  from hubs.widgets import validators

- from hubs.widgets.base import Widget, WidgetView

+ from hubs.widgets.base import Widget

+ from hubs.widgets.view import RootWidgetView

  

  

  ELLIPSIS_LIMIT = 5
@@ -42,11 +43,7 @@ 

          )]

  

  

- class BaseView(WidgetView):

- 

-     name = "root"

-     url_rules = ["/"]

-     template_name = "rules.html"

+ class BaseView(RootWidgetView):

  

      def get_context(self, instance, *args, **kwargs):

          owners = instance.hub.owners

hubs/widgets/rules/templates/root.html hubs/widgets/rules/templates/rules.html
file renamed
file was moved with no change to the file
@@ -3,7 +3,8 @@ 

  import flask

  

  from hubs.utils.text import commas

- from hubs.widgets.base import Widget, WidgetView

+ from hubs.widgets.base import Widget

+ from hubs.widgets.view import RootWidgetView

  from hubs.widgets.caching import CachedFunction

  

  
@@ -13,11 +14,7 @@ 

      position = "right"

  

  

- class BaseView(WidgetView):

- 

-     name = "root"

-     url_rules = ["/"]

-     template_name = "stats.html"

+ class BaseView(RootWidgetView):

  

      def get_context(self, instance, *args, **kwargs):

          get_stats = GetStats(instance)

hubs/widgets/stats/templates/root.html hubs/widgets/stats/templates/stats.html
file renamed
file was moved with no change to the file
@@ -1,7 +1,8 @@ 

  from __future__ import unicode_literals

  

  from hubs.widgets import validators

- from hubs.widgets.base import Widget, WidgetView

+ from hubs.widgets.base import Widget

+ from hubs.widgets.view import RootWidgetView

  

  

  class Sticky(Widget):
@@ -19,11 +20,7 @@ 

          )]

  

  

- class BaseView(WidgetView):

- 

-     name = "root"

-     url_rules = ["/"]

-     template_name = "sticky.html"

+ class BaseView(RootWidgetView):

  

      def get_context(self, instance, *args, **kwargs):

          # TODO -- render with markdown

hubs/widgets/sticky/templates/root.html hubs/widgets/sticky/templates/sticky.html
file renamed
file was moved with no change to the file
@@ -7,7 +7,8 @@ 

  import hubs.models

  from hubs.utils import get_fedmsg_config

  from hubs.widgets import validators

- from hubs.widgets.base import Widget, WidgetView

+ from hubs.widgets.base import Widget

+ from hubs.widgets.view import RootWidgetView

  from hubs.widgets.caching import CachedFunction

  

  
@@ -28,11 +29,7 @@ 

          )]

  

  

- class BaseView(WidgetView):

- 

-     name = "root"

-     url_rules = ["/"]

-     template_name = "subscriptions.html"

+ class BaseView(RootWidgetView):

  

      def get_context(self, instance, *args, **kwargs):

          context = dict(title="Hubs")

hubs/widgets/subscriptions/templates/root.html hubs/widgets/subscriptions/templates/subscriptions.html
file renamed
+1 -1
@@ -1,4 +1,4 @@ 

- {% if associations %}

+ {% if associations or edit_mode %}

  {% extends "panel.html" %}

  

  {% block content %}

file modified
+15
@@ -135,3 +135,18 @@ 

                  flask._app_ctx_stack.top.app,

                  template=template, context=context)

              return output

+ 

+ 

+ class RootWidgetView(WidgetView):

+ 

+     name = "root"

+     url_rules = ["/"]

+     template_name = "root.html"

+ 

+     def get_extra_context(self, *args, **kwargs):

+         """

+         Export the edit mode status to the template

+         """

+         context = super(RootWidgetView, self).get_extra_context(*args, **kwargs)

+         context["edit_mode"] = flask.request.args.get("editmode", "", type=bool)

+         return context

@@ -4,7 +4,8 @@ 

  

  from hubs.utils import username2avatar

  from hubs.widgets import validators

- from hubs.widgets.base import Widget, WidgetView

+ from hubs.widgets.base import Widget

+ from hubs.widgets.view import WidgetView, RootWidgetView

  from hubs.widgets.caching import CachedFunction

  

  
@@ -23,10 +24,8 @@ 

          )]

  

  

- class BaseView(WidgetView):

+ class BaseView(RootWidgetView):

  

-     name = "root"

-     url_rules = ["/"]

      # TODO -- add approve/deny buttons or just link through to pkgdb

      template_name = "pendingacls.html"

  

@@ -1,4 +1,4 @@ 

- {% if pending_acls %}

+ {% if pending_acls or edit_mode %}

  

  {% extends "panel.html" %}

  

@@ -1,4 +1,4 @@ 

- {% if updates %}

+ {% if updates or edit_mode %}

  {% extends "panel.html" %}

  

  {% block content %}

@@ -3,7 +3,8 @@ 

  import requests

  

  from hubs.widgets import validators

- from hubs.widgets.base import Widget, WidgetView

+ from hubs.widgets.base import Widget

+ from hubs.widgets.view import WidgetView, RootWidgetView

  from hubs.widgets.caching import CachedFunction

  

  
@@ -27,10 +28,8 @@ 

          )]

  

  

- class BaseView(WidgetView):

+ class BaseView(RootWidgetView):

  

-     name = "root"

-     url_rules = ["/"]

      # TODO -- add approve/deny buttons or just link through to pkgdb

      template_name = "updates2stable.html"

  

Some widgets display no chrome when there is no data. However, in edit mode, the chrome should be displayed anyway or the widget can't be configured, removed, or moved on the page.

This change allows widgets to be informed of the display mode and display the panel chrome accordingly.

This is tiny nitpick, but I recommend using False rather than an empty string here (unless there's a reason not to that I'm not seeing). I know empty strings cast to False`, but usingFalse`` explicitly is easier to read.

Small nitpick, but otherwise looks good. Feel free to take or leave my suggestion and merge when ready!

@jcline: my reasoning here is that what we would get from the URL's query string is an empty string if the edit mode is off. I always try to have the second argument of .get() be as similar as possible (at least of the same type) as what I would get if there was an actual value.
It comes from a bad experience where I once used .get("arg", False) in a query string and forgot to convert it to boolean, which worked when arg was absent but failed in some cases.

Actually, now that I think of it, I should use the type keyword of args.get()

I'll change that and merge the PR.

@abompard That's a fair argument for the stringy approach and wasn't something I considered. Also, I didn't know about the type keyword either, it looks nice!

rebased

6 years ago

Pull-Request has been merged by abompard

6 years ago
Metadata
Changes Summary 49
+2 -2
file changed
hubs/templates/hubs.html
+34
file added
hubs/tests/test_widget_view.py
+3 -6
file changed
hubs/widgets/about/__init__.py
+0 -0
file renamed
hubs/widgets/about/templates/about.html
hubs/widgets/about/templates/root.html
+3 -6
file changed
hubs/widgets/badges/__init__.py
+0 -0
file renamed
hubs/widgets/badges/templates/badges.html
hubs/widgets/badges/templates/root.html
+3 -9
file changed
hubs/widgets/bugzilla/__init__.py
+0 -0
file renamed
hubs/widgets/bugzilla/templates/bugzilla.html
hubs/widgets/bugzilla/templates/root.html
+3 -6
file changed
hubs/widgets/contact/__init__.py
+0 -0
file renamed
hubs/widgets/contact/templates/contact.html
hubs/widgets/contact/templates/root.html
+3 -6
file changed
hubs/widgets/dummy/__init__.py
+0 -0
file renamed
hubs/widgets/dummy/templates/dummy.html
hubs/widgets/dummy/templates/root.html
+3 -6
file changed
hubs/widgets/fedmsgstats/__init__.py
+0 -0
file renamed
hubs/widgets/fedmsgstats/templates/fedmsgstats.html
hubs/widgets/fedmsgstats/templates/root.html
+3 -6
file changed
hubs/widgets/feed/__init__.py
+0 -0
file renamed
hubs/widgets/feed/templates/feed.html
hubs/widgets/feed/templates/root.html
+3 -6
file changed
hubs/widgets/fhosted/__init__.py
+0 -0
file renamed
hubs/widgets/fhosted/templates/fhosted.html
hubs/widgets/fhosted/templates/root.html
+3 -6
file changed
hubs/widgets/github_pr/__init__.py
+0 -0
file renamed
hubs/widgets/github_pr/templates/github_pr.html
hubs/widgets/github_pr/templates/root.html
+3 -6
file changed
hubs/widgets/githubissues/__init__.py
+0 -0
file renamed
hubs/widgets/githubissues/templates/githubissues.html
hubs/widgets/githubissues/templates/root.html
+0 -0
file renamed
hubs/widgets/halp/templates/halp.html
hubs/widgets/halp/templates/root.html
+2 -6
file changed
hubs/widgets/halp/views.py
+3 -6
file changed
hubs/widgets/library/__init__.py
+0 -0
file renamed
hubs/widgets/library/templates/library.html
hubs/widgets/library/templates/root.html
+3 -6
file changed
hubs/widgets/linechart/__init__.py
+0 -0
file renamed
hubs/widgets/linechart/templates/linechart.html
hubs/widgets/linechart/templates/root.html
+3 -6
file changed
hubs/widgets/meetings/__init__.py
+0 -0
file renamed
hubs/widgets/meetings/templates/meetings.html
hubs/widgets/meetings/templates/root.html
+3 -6
file changed
hubs/widgets/memberships/__init__.py
+0 -0
file renamed
hubs/widgets/memberships/templates/memberships.html
hubs/widgets/memberships/templates/root.html
+3 -6
file changed
hubs/widgets/pagure_pr/__init__.py
+0 -0
file renamed
hubs/widgets/pagure_pr/templates/pagure_pr.html
hubs/widgets/pagure_pr/templates/root.html
+3 -6
file changed
hubs/widgets/pagureissues/__init__.py
+0 -0
file renamed
hubs/widgets/pagureissues/templates/pagureissues.html
hubs/widgets/pagureissues/templates/root.html
+3 -6
file changed
hubs/widgets/rules/__init__.py
+0 -0
file renamed
hubs/widgets/rules/templates/rules.html
hubs/widgets/rules/templates/root.html
+3 -6
file changed
hubs/widgets/stats/__init__.py
+0 -0
file renamed
hubs/widgets/stats/templates/stats.html
hubs/widgets/stats/templates/root.html
+3 -6
file changed
hubs/widgets/sticky/__init__.py
+0 -0
file renamed
hubs/widgets/sticky/templates/sticky.html
hubs/widgets/sticky/templates/root.html
+3 -6
file changed
hubs/widgets/subscriptions/__init__.py
+1 -1
file renamed
hubs/widgets/subscriptions/templates/subscriptions.html
hubs/widgets/subscriptions/templates/root.html
+15 -0
file changed
hubs/widgets/view.py
+3 -4
file changed
hubs/widgets/workflow/pendingacls.py
+1 -1
file changed
hubs/widgets/workflow/templates/pendingacls.html
+1 -1
file changed
hubs/widgets/workflow/templates/updates2stable.html
+3 -4
file changed
hubs/widgets/workflow/updates2stable.py