Merge branch 'auth_docs'
[mediagoblin.git] / mediagoblin / templates / mediagoblin / base.html
CommitLineData
76c9ea6b
WKG
1{#
2# GNU MediaGoblin -- federated, autonomous media hosting
cf29e8a8 3# Copyright (C) 2011, 2012 MediaGoblin contributors. See AUTHORS.
76c9ea6b
WKG
4#
5# This program is free software: you can redistribute it and/or modify
6# it under the terms of the GNU Affero General Public License as published by
7# the Free Software Foundation, either version 3 of the License, or
8# (at your option) any later version.
9#
10# This program is distributed in the hope that it will be useful,
11# but WITHOUT ANY WARRANTY; without even the implied warranty of
12# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13# GNU Affero General Public License for more details.
14#
15# You should have received a copy of the GNU Affero General Public License
16# along with this program. If not, see <http://www.gnu.org/licenses/>.
9a5b2da5
CAW
17-#}
18<!doctype html>
a80ebf3b
AL
19<html
20{% block mediagoblin_html_tag %}
21{% endblock mediagoblin_html_tag %}
22>
a0598d5c 23 <head>
5fa35884 24 <meta charset="utf-8">
e58f2599 25 <meta name="viewport" content="width=device-width, initial-scale=1.0">
4f8f0a4e 26 <meta http-equiv="X-UA-Compatible" content="IE=Edge">
78801685 27 <title>{% block title %}{{ app_config['html_title'] }}{% endblock %}</title>
1344821d 28 <link rel="stylesheet" type="text/css"
1dc7f28d 29 href="{{ request.staticdirect('/css/extlib/reset.css') }}"/>
8ac897c3
CAW
30 <link rel="stylesheet" type="text/css"
31 href="{{ request.staticdirect('/css/base.css') }}"/>
7a8ad818
CAW
32 <link rel="shortcut icon"
33 href="{{ request.staticdirect('/images/goblin.ico') }}" />
742bfa7a
E
34 <script type="text/javascript"
35 src="{{ request.staticdirect('/js/extlib/jquery.js') }}"></script>
3c912132
CAW
36 <script type="text/javascript"
37 src="{{ request.staticdirect('/js/header_dropdown.js') }}"></script>
2d7b6bde
JW
38 <script type="text/javascript"
39 src="{{ request.staticdirect('/js/notifications.js') }}"></script>
3c912132 40
f6d1d28d 41 {# For clarification, the difference between the extra_head.html template
cac17c15 42 # and the head template hook is that the former should be used by
f6d1d28d
CAW
43 # themes and the latter should be used by plugins.
44 # The reason is that only one thing can override extra_head.html...
45 # but multiple plugins can hook into the template hook.
46 #}
667d1fc8 47 {% include "mediagoblin/extra_head.html" %}
cac17c15 48 {% template_hook("head") %}
0416b866 49
e39b9cc6 50 {% template_hook("persona_head") %}
4f8f0a4e 51
00c39256
BK
52 {% block mediagoblin_head %}
53 {% endblock mediagoblin_head %}
a0598d5c 54 </head>
a0598d5c 55 <body>
8ca51d32 56 {% include 'mediagoblin/bits/body_start.html' %}
a0598d5c
CAW
57 {% block mediagoblin_body %}
58 {% block mediagoblin_header %}
afcb0855 59 <header>
17dcc3ae 60 {%- include "mediagoblin/bits/logo.html" -%}
afcb0855
JS
61 {% block mediagoblin_header_title %}{% endblock %}
62 <div class="header_right">
155438cd 63 {%- if request.user %}
29497982 64 {% if request.user and request.user.status == 'active' %}
2d7b6bde 65
7949d88a 66 {% set notification_count = get_notification_count(request.user.id) %}
0c7fa755 67 {% if notification_count %}
7949d88a
CAW
68 <a href="#notifications" class="notification-gem button_action" title="Notifications">
69 {{ notification_count }}</a>
0c7fa755 70 {% endif %}
135dd529
RE
71 <a href="#header" class="button_action header_dropdown_down">&#9660;</a>
72 <a href="#no_header" class="button_action header_dropdown_up">&#9650;</a>
29497982 73 {% elif request.user and request.user.status == "needs_email_verification" %}
afcb0855 74 {# the following link should only appear when verification is needed #}
7b6836a3 75 <a href="{{ request.urlgen('mediagoblin.user_pages.user_home',
29497982 76 user=request.user.username) }}"
afcb0855 77 class="button_action_highlight">
29497982 78 {% trans %}Verify your email!{% endtrans %}</a>
4f8f0a4e
RE
79 or <a id="logout" href=
80 {% if persona is not defined %}
81 "{{ request.urlgen('mediagoblin.auth.logout') }}"
82 {% else %}
83 "javascript:;"
84 {% endif %}
85 >{% trans %}log out{% endtrans %}</a>
681e1371 86 {% endif %}
744f1c83 87 {%- elif auth %}
4f8f0a4e
RE
88 <a href=
89 {% if persona_auth is defined %}
90 "javascript:;" id="persona_login"
91 {% else %}
92 "{{ request.urlgen('mediagoblin.auth.login') }}"
93 {% endif %}
94 >
155438cd
E
95 {%- trans %}Log in{% endtrans -%}
96 </a>
97 {%- endif %}
afcb0855 98 </div>
d297d8e8 99 <div class="clear"></div>
a7d079ac 100 {% if request.user and request.user.status == 'active' %}
2369feb5 101 <div class="header_dropdown">
d1d53560
CAW
102 <p>
103 <span class="dropdown_title">
104 {% trans user_url=request.urlgen('mediagoblin.user_pages.user_home',
105 user=request.user.username),
106 user_name=request.user.username -%}
107 <a href="{{ user_url }}">{{ user_name }}</a>'s account
108 {%- endtrans %}
a5b9a066
JS
109 </span>
110 &middot;
111 <a href="{{ request.urlgen('mediagoblin.edit.account') }}">{%- trans %}Change account settings{% endtrans -%}</a>
112 &middot;
113 <a href="{{ request.urlgen('mediagoblin.user_pages.processing_panel',
fe253e31 114 user=request.user.username) }}">
a5b9a066
JS
115 {%- trans %}Media processing panel{% endtrans -%}
116 </a>
117 &middot;
4f8f0a4e
RE
118 <a id="logout" href=
119 {% if persona is not defined %}
120 "{{ request.urlgen('mediagoblin.auth.logout') }}"
121 {% else %}
122 "javascript:;"
123 {% endif %}
124 >{% trans %}Log out{% endtrans %}</a>
d1d53560 125 </p>
a5b9a066 126 <a class="button_action" href="{{ request.urlgen('mediagoblin.submit.start') }}">
5a42915b 127 {%- trans %}Add media{% endtrans -%}
fe253e31 128 </a>
a5b9a066 129 <a class="button_action" href="{{ request.urlgen('mediagoblin.submit.collection') }}">
5a42915b 130 {%- trans %}Create new collection{% endtrans -%}
fe253e31 131 </a>
5a42915b 132 {% if request.user.is_admin %}
a5b9a066
JS
133 <p>
134 <span class="dropdown_title">Admin powers:</span>
135 <a href="{{ request.urlgen('mediagoblin.admin.panel') }}">
136 {%- trans %}Media processing panel{% endtrans -%}
137 </a>
138 </p>
5a42915b 139 {% endif %}
2d7b6bde 140 {% include 'mediagoblin/fragments/header_notifications.html' %}
5a42915b
JS
141 </div>
142 {% endif %}
afcb0855 143 </header>
a0598d5c 144 {% endblock %}
155438cd 145 <div class="container">
8ca51d32 146 {% include 'mediagoblin/bits/above_content.html' %}
155438cd 147 <div class="mediagoblin_content">
741d5a37 148 {% include "mediagoblin/utils/messages.html" %}
f7bcfaff
JS
149 {% block mediagoblin_content %}
150 {% endblock mediagoblin_content %}
e39b9cc6 151 {% if csrf_token is defined %}
4f8f0a4e
RE
152 {% template_hook("persona_form") %}
153 {% endif %}
155438cd 154 </div>
19968583 155 {%- include "mediagoblin/bits/base_footer.html" %}
155438cd
E
156 </div>
157 {%- endblock mediagoblin_body %}
8ca51d32 158 {% include 'mediagoblin/bits/body_end.html' %}
a0598d5c
CAW
159 </body>
160</html>