aboutsummaryrefslogtreecommitdiffstats
path: root/mediagoblin/plugins/basic_auth
diff options
context:
space:
mode:
authorRodney Ewing <ewing.rj@gmail.com>2013-07-08 17:28:21 -0700
committerRodney Ewing <ewing.rj@gmail.com>2013-08-16 10:28:48 -0700
commit36f901fbbd68479a911058f4ec3b9717e81e2b92 (patch)
tree5f0b06384a7cd2a653af6580c72e47772be2c0c1 /mediagoblin/plugins/basic_auth
parentaf665c4eb9dfb53ef9ac28567f7f3806ed313093 (diff)
downloadmediagoblin-36f901fbbd68479a911058f4ec3b9717e81e2b92.tar.lz
mediagoblin-36f901fbbd68479a911058f4ec3b9717e81e2b92.tar.xz
mediagoblin-36f901fbbd68479a911058f4ec3b9717e81e2b92.zip
used template hooks instead of hardcoding basic_auth functionality into templates
Diffstat (limited to 'mediagoblin/plugins/basic_auth')
-rw-r--r--mediagoblin/plugins/basic_auth/__init__.py11
-rw-r--r--mediagoblin/plugins/basic_auth/static/js/autofilledin_password.js25
-rw-r--r--mediagoblin/plugins/basic_auth/templates/mediagoblin/plugins/basic_auth/edit_link.html25
-rw-r--r--mediagoblin/plugins/basic_auth/templates/mediagoblin/plugins/basic_auth/fp_head.html20
-rw-r--r--mediagoblin/plugins/basic_auth/templates/mediagoblin/plugins/basic_auth/fp_link.html25
5 files changed, 106 insertions, 0 deletions
diff --git a/mediagoblin/plugins/basic_auth/__init__.py b/mediagoblin/plugins/basic_auth/__init__.py
index 913ccba4..06059a07 100644
--- a/mediagoblin/plugins/basic_auth/__init__.py
+++ b/mediagoblin/plugins/basic_auth/__init__.py
@@ -13,6 +13,7 @@
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
+from pkg_resources import resource_filename
import os
from mediagoblin.plugins.basic_auth import forms as auth_forms
@@ -21,6 +22,8 @@ from mediagoblin.auth.tools import create_basic_user
from mediagoblin.db.models import User
from mediagoblin.tools import pluginapi
from sqlalchemy import or_
+from mediagoblin.tools.staticdirect import PluginStatic
+
PLUGIN_DIR = os.path.dirname(__file__)
@@ -42,6 +45,11 @@ def setup_plugin():
pluginapi.register_routes(routes)
pluginapi.register_template_path(os.path.join(PLUGIN_DIR, 'templates'))
+ pluginapi.register_template_hooks(
+ {'edit_link': 'mediagoblin/plugins/basic_auth/edit_link.html',
+ 'fp_link': 'mediagoblin/plugins/basic_auth/fp_link.html',
+ 'fp_head': 'mediagoblin/plugins/basic_auth/fp_head.html'})
+
def get_user(**kwargs):
username = kwargs.pop('username', None)
@@ -103,4 +111,7 @@ hooks = {
'auth_check_password': check_password,
'auth_fake_login_attempt': auth_tools.fake_login_attempt,
'template_global_context': append_to_global_context,
+ 'static_setup': lambda: PluginStatic(
+ 'coreplugin_basic_auth',
+ resource_filename('mediagoblin.plugins.basic_auth', 'static'))
}
diff --git a/mediagoblin/plugins/basic_auth/static/js/autofilledin_password.js b/mediagoblin/plugins/basic_auth/static/js/autofilledin_password.js
new file mode 100644
index 00000000..45e867fe
--- /dev/null
+++ b/mediagoblin/plugins/basic_auth/static/js/autofilledin_password.js
@@ -0,0 +1,25 @@
+/**
+ * GNU MediaGoblin -- federated, autonomous media hosting
+ * Copyright (C) 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 <http://www.gnu.org/licenses/>.
+ */
+
+$(document).ready(function(){
+ $('#forgot_password').click(function(event){
+ event.preventDefault();
+ window.location.pathname = $(this).attr('href') + '?username=' +
+ $('#username').val();
+ });
+});
diff --git a/mediagoblin/plugins/basic_auth/templates/mediagoblin/plugins/basic_auth/edit_link.html b/mediagoblin/plugins/basic_auth/templates/mediagoblin/plugins/basic_auth/edit_link.html
new file mode 100644
index 00000000..9fd09ab1
--- /dev/null
+++ b/mediagoblin/plugins/basic_auth/templates/mediagoblin/plugins/basic_auth/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 <http://www.gnu.org/licenses/>.
+#}
+
+{% block change_pass_link %}
+ <p>
+ <a href="{{ request.urlgen('mediagoblin.plugins.basic_auth.edit.pass') }}">
+ {% trans %}Change your password.{% endtrans %}
+ </a>
+ </p>
+{% endblock %}
diff --git a/mediagoblin/plugins/basic_auth/templates/mediagoblin/plugins/basic_auth/fp_head.html b/mediagoblin/plugins/basic_auth/templates/mediagoblin/plugins/basic_auth/fp_head.html
new file mode 100644
index 00000000..292dce28
--- /dev/null
+++ b/mediagoblin/plugins/basic_auth/templates/mediagoblin/plugins/basic_auth/fp_head.html
@@ -0,0 +1,20 @@
+{#
+# 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 <http://www.gnu.org/licenses/>.
+#}
+
+<script type="text/javascript"
+ src="{{ request.staticdirect('/js/autofilledin_password.js', 'coreplugin_basic_auth') }}"></script>
diff --git a/mediagoblin/plugins/basic_auth/templates/mediagoblin/plugins/basic_auth/fp_link.html b/mediagoblin/plugins/basic_auth/templates/mediagoblin/plugins/basic_auth/fp_link.html
new file mode 100644
index 00000000..404358d8
--- /dev/null
+++ b/mediagoblin/plugins/basic_auth/templates/mediagoblin/plugins/basic_auth/fp_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 <http://www.gnu.org/licenses/>.
+#}
+
+{% block fp_link %}
+ <p>
+ <a href="{{ request.urlgen('mediagoblin.plugins.basic_auth.forgot_password') }}" id="forgot_password">
+ {% trans %}Forgot your password?{% endtrans %}</a>
+ </p>
+{% endblock %}
+