From fea0b3b289154c96017021d25b0ed455d6f7f7b4 Mon Sep 17 00:00:00 2001
From: Rodney Ewing
Date: Wed, 3 Jul 2013 07:16:31 -0700
Subject: [PATCH] use template hooks instead of hardcoding in templates
---
mediagoblin/plugins/basic_auth/__init__.py | 9 -------
mediagoblin/plugins/openid/__init__.py | 9 ++++---
.../mediagoblin/plugins/openid/edit_link.html | 25 +++++++++++++++++
.../plugins/openid/login_link.html | 25 +++++++++++++++++
.../plugins/openid/register_link.html | 27 +++++++++++++++++++
.../templates/mediagoblin/auth/login.html | 8 +-----
.../templates/mediagoblin/auth/register.html | 14 +---------
.../mediagoblin/edit/edit_account.html | 8 +-----
8 files changed, 85 insertions(+), 40 deletions(-)
create mode 100644 mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/edit_link.html
create mode 100644 mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login_link.html
create mode 100644 mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/register_link.html
diff --git a/mediagoblin/plugins/basic_auth/__init__.py b/mediagoblin/plugins/basic_auth/__init__.py
index 2e7e8f8c..c16d8855 100644
--- a/mediagoblin/plugins/basic_auth/__init__.py
+++ b/mediagoblin/plugins/basic_auth/__init__.py
@@ -71,11 +71,6 @@ def append_to_global_context(context):
return context
-def add_to_form_context(context):
- context['pass_auth_link'] = True
- return context
-
-
hooks = {
'setup': setup_plugin,
'authentication': auth,
@@ -87,8 +82,4 @@ hooks = {
'auth_check_password': check_password,
'auth_fake_login_attempt': auth_tools.fake_login_attempt,
'template_global_context': append_to_global_context,
- ('mediagoblin.plugins.openid.register',
- 'mediagoblin/auth/register.html'): add_to_form_context,
- ('mediagoblin.plugins.openid.finish_login',
- 'mediagoblin/auth/register.html'): add_to_form_context,
}
diff --git a/mediagoblin/plugins/openid/__init__.py b/mediagoblin/plugins/openid/__init__.py
index 9803ada6..1ee60fbf 100644
--- a/mediagoblin/plugins/openid/__init__.py
+++ b/mediagoblin/plugins/openid/__init__.py
@@ -56,6 +56,11 @@ def setup_plugin():
pluginapi.register_routes(routes)
pluginapi.register_template_path(os.path.join(PLUGIN_DIR, 'templates'))
+ pluginapi.register_template_hooks(
+ {'openid_register_link': 'mediagoblin/plugins/openid/register_link.html',
+ 'openid_login_link': 'mediagoblin/plugins/openid/login_link.html',
+ 'openid_edit_link': 'mediagoblin/plugins/openid/edit_link.html'})
+
def create_user(register_form):
if 'openid' in register_form:
@@ -115,8 +120,4 @@ hooks = {
'auth_no_pass_redirect': no_pass_redirect,
('mediagoblin.auth.register',
'mediagoblin/auth/register.html'): add_to_form_context,
- ('mediagoblin.auth.login',
- 'mediagoblin/auth/login.html'): add_to_form_context,
- ('mediagoblin.edit.account',
- 'mediagoblin/edit/edit_account.html'): add_to_form_context,
}
diff --git a/mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/edit_link.html b/mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/edit_link.html
new file mode 100644
index 00000000..2e63e1f8
--- /dev/null
+++ b/mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/edit_link.html
@@ -0,0 +1,25 @@
+{#
+# GNU MediaGoblin -- federated, autonomous media hosting
+# Copyright (C) 2011, 2012 MediaGoblin contributors. See AUTHORS.
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Affero General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Affero General Public License for more details.
+#
+# You should have received a copy of the GNU Affero General Public License
+# along with this program. If not, see .
+#}
+
+{% block openid_edit_link %}
+
+
+ {% trans %}Edit your OpenID's{% endtrans %}
+
+
+{% endblock %}
diff --git a/mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login_link.html b/mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login_link.html
new file mode 100644
index 00000000..e5e77d01
--- /dev/null
+++ b/mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login_link.html
@@ -0,0 +1,25 @@
+{#
+# GNU MediaGoblin -- federated, autonomous media hosting
+# Copyright (C) 2011, 2012 MediaGoblin contributors. See AUTHORS.
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Affero General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Affero General Public License for more details.
+#
+# You should have received a copy of the GNU Affero General Public License
+# along with this program. If not, see .
+#}
+
+{% block openid_login_link %}
+
+
+ {%- trans %}Or login with OpenID!{% endtrans %}
+
+
+{% endblock %}
diff --git a/mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/register_link.html b/mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/register_link.html
new file mode 100644
index 00000000..9bccb4d8
--- /dev/null
+++ b/mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/register_link.html
@@ -0,0 +1,27 @@
+{#
+# GNU MediaGoblin -- federated, autonomous media hosting
+# Copyright (C) 2011, 2012 MediaGoblin contributors. See AUTHORS.
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Affero General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Affero General Public License for more details.
+#
+# You should have received a copy of the GNU Affero General Public License
+# along with this program. If not, see .
+#}
+
+{% block openid_register_link %}
+ {% if openid_link is defined %}
+
+
+ {%- trans %}Or register with OpenID!{% endtrans %}
+
+
+ {% endif %}
+{% endblock %}
diff --git a/mediagoblin/templates/mediagoblin/auth/login.html b/mediagoblin/templates/mediagoblin/auth/login.html
index fa2e7201..2f821c0e 100644
--- a/mediagoblin/templates/mediagoblin/auth/login.html
+++ b/mediagoblin/templates/mediagoblin/auth/login.html
@@ -46,13 +46,7 @@
{%- trans %}Create one here!{% endtrans %}
{% endif %}
- {% if openid_link is defined %}
-
-
- {%- trans %}Or login with OpenID!{% endtrans %}
-
-
- {% endif %}
+ {% template_hook("openid_login_link") %}
{{ wtforms_util.render_divs(login_form, True) }}
{% if pass_auth %}
diff --git a/mediagoblin/templates/mediagoblin/auth/register.html b/mediagoblin/templates/mediagoblin/auth/register.html
index 9406f7ed..1e4b1858 100644
--- a/mediagoblin/templates/mediagoblin/auth/register.html
+++ b/mediagoblin/templates/mediagoblin/auth/register.html
@@ -34,19 +34,7 @@
method="POST" enctype="multipart/form-data">