Sith/core/templates/core/base.jinja

294 lines
13 KiB
Plaintext
Raw Normal View History

2016-02-01 16:35:55 +00:00
<!DOCTYPE html>
<html lang="fr">
2016-07-19 17:03:16 +00:00
<head>
{% block head %}
<title>{% block title %}{% trans %}Welcome!{% endtrans %}{% endblock %}</title>
2017-07-05 22:18:38 +00:00
<link rel="shortcut icon" href="{{ static('core/img/favicon.ico') }}">
2016-07-19 17:03:16 +00:00
<link rel="stylesheet" href="{{ static('core/base.css') }}">
2016-08-10 03:48:06 +00:00
<link rel="stylesheet" href="{{ static('core/multiple-select.css') }}">
2016-09-08 01:29:49 +00:00
<link rel="stylesheet" href="{{ static('core/jquery.datetimepicker.min.css') }}">
2016-08-10 03:48:06 +00:00
<link rel="stylesheet" href="{{ static('core/js/ui/jquery-ui.min.css') }}">
<link rel="stylesheet" href="{{ static('ajax_select/css/ajax_select.css') }}">
2017-05-05 12:26:46 +00:00
<link href="{{ scss('core/style.scss') }}" rel="stylesheet" type="text/css" />
2016-07-19 17:03:16 +00:00
{% endblock %}
</head>
2016-02-01 16:35:55 +00:00
2016-07-19 17:03:16 +00:00
<body>
<!-- BEGIN HEADER -->
2016-08-10 03:48:06 +00:00
{% block header %}
2016-08-10 12:48:18 +00:00
{% if not popup %}
<div id="header_language_chooser">
{% for language in LANGUAGES %}
<form action="{{ url('set_language') }}" method="post">{% csrf_token %}
<input name="next" value="{{ request.path }}" type="hidden" />
<input name="language" value="{{ language[0] }}" type="hidden" />
<input type="submit" value="{{ language[0]|upper }}" />
</form>
{% endfor %}
</div>
2016-07-19 17:03:16 +00:00
<header>
{% if not user.is_authenticated() %}
<div id="header_logo" style="background-image: url('{{
static('core/img/logo.png') }}'); width: 185px; height: 100px;">
<a href="{{ url('core:index') }}"></a>
</div>
<div id="header_connect_links">
<form method="post" action="{{ url('core:login') }}">
{% csrf_token %}
<label for="id_username">{% trans %}Username{% endtrans %}</label>
<input id="id_username" maxlength="254" name="username" type="text">
<label for="id_password">{% trans %}Password{% endtrans %}</label>
<input type="password" name="password" id="id_password">
<input type="submit" value="{% trans %}Login{% endtrans %}">
</form>
<a href="{{ url('core:register') }}"><button type="button">{% trans %}Register{% endtrans %}</button></a>
</div>
2016-07-19 17:03:16 +00:00
{% else %}
<div id="header_logo" style="background-image: url('{{
static('core/img/logo.png') }}'); width: 92px; height: 50px;">
<a href="{{ url('core:index') }}"></a>
</div>
<div id="header_bar">
<ul id="header_bars_infos">
{% for bar in Counter.objects.filter(type="BAR").all() %}
<li>
<a href="{{ url('counter:activity', counter_id=bar.id) }}" style="padding: 0px">
{% if bar.is_inactive(): %}
<span style="color: orange">&#x3f;</span>
{% elif bar.is_open(): %}
<span style="color: green">&#x2713;</span>
{% else %}
<span style="color: red">&#10007;</span>
{% endif %}
{{ bar }}
</a>
</li>
2016-12-08 18:47:28 +00:00
{% endfor %}
</ul>
<form action="{{ url('core:search') }}" method="GET" id="header_search">
<input type="text" placeholder="{% trans %}Search{% endtrans %}" name="query" id="search" />
<input type="submit" value="{% trans %}Search{% endtrans %}" style="display: none;" />
</form>
<div id="header_user_links">
<a href="{{ url('core:user_profile', user_id=user.id) }}">{{ user.get_display_name() }}</a>
<a href="#" onclick="display_notif()">&#x1f514; ({{ user.notifications.filter(viewed=False).count() }})</a>
<ul id="notif">
{% for n in user.notifications.filter(viewed=False).order_by('-id') %}
<li><a href="{{ url("core:notification", notif_id=n.id) }}">
<span style="font-size: small; ">{{ n.date|localtime|date(DATE_FORMAT) }} {{
n.date|localtime|time(DATETIME_FORMAT) }}</span><br>
{{ n }}</a></li>
{% endfor %}
<li><a href="{{ url('core:notification_list') }}">{% trans %}View more{% endtrans %}</a>
<a href="{{ url('core:notification_list') }}?see_all">{% trans %}Mark all as read{% endtrans %}</a></li>
</ul>
<a href="{{ url('core:user_tools') }}">{% trans %}Tools{% endtrans %}</a>
<a href="{{ url('core:logout') }}">{% trans %}Logout{% endtrans %}</a>
</div>
</div>
2016-07-19 17:03:16 +00:00
{% endif %}
</header>
<div id="info_boxes">
{% set sith = get_sith() %}
{% if sith.alert_msg %}
<div id="alert_box">
{{ sith.alert_msg|markdown }}
</div>
{% endif %}
{% if sith.info_msg %}
<div id="info_box">
{{ sith.info_msg|markdown }}
</div>
{% endif %}
</div>
{% else %}{# if not popup #}
2016-08-10 12:48:18 +00:00
<div id="popupheader">{{ user.get_display_name() }}</div>
{% endif %}
2016-08-24 17:11:09 +00:00
{% endblock %}
<!-- END HEADER -->
2016-08-24 17:11:09 +00:00
2016-08-10 03:48:06 +00:00
{% block nav %}
2016-08-10 12:48:18 +00:00
{% if not popup %}
2016-07-19 17:03:16 +00:00
<nav>
2017-08-22 21:47:55 +00:00
<a href="https://ae2.utbm.fr/">{% trans %}Main{% endtrans %}</a>
2017-07-23 10:54:12 +00:00
<a href="{{ url('matmat:search_clear') }}">{% trans %}Matmatronch{% endtrans %}</a>
2016-07-22 00:05:29 +00:00
<a href="{{ url('core:page', page_name="Index") }}">{% trans %}Wiki{% endtrans %}</a>
2016-10-26 17:21:19 +00:00
<a href="{{ url('sas:main') }}">{% trans %}SAS{% endtrans %}</a>
2017-01-21 02:42:06 +00:00
<a href="{{ url('forum:main') }}">{% trans %}Forum{% endtrans %}</a>
2016-08-13 03:33:09 +00:00
<a href="{{ url('core:page', "services") }}">{% trans %}Services{% endtrans %}</a>
2016-08-29 01:14:53 +00:00
<a href="{{ url('core:file_list') }}">{% trans %}Files{% endtrans %}</a>
2017-08-31 12:11:18 +00:00
<a href="{{ url('core:page', page_name="partenaires")}}">{% trans %}Sponsors{% endtrans %}</a>
2017-08-22 21:47:55 +00:00
<a href="https://ae2.utbm.fr/article.php?name=docs:index">{% trans %}Help{% endtrans %}</a>
2016-07-19 17:03:16 +00:00
</nav>
2016-08-10 12:48:18 +00:00
{% endif %}
2016-08-10 03:48:06 +00:00
{% endblock %}
2016-02-01 16:35:55 +00:00
2017-01-07 14:07:28 +00:00
<ul id="quick_notif">
{% for n in quick_notifs %}
2017-01-11 11:18:42 +00:00
<li>{{ n }}</li>
2017-01-07 14:07:28 +00:00
{% endfor %}
</ul>
2016-07-19 17:03:16 +00:00
<div id="content">
{% if list_of_tabs %}
<div class="tool-bar">
<div>{{ tabs_title }}</div>
<div class="tools">
{% for t in list_of_tabs %}
<a href="{{ t.url }}"
2016-11-30 11:58:52 +00:00
{%- if current_tab == t.slug %}
class="selected_tab"
{%- endif -%}
>{{ t.name }}</a>
{% endfor %}
</div>
<hr>
</div>
{% endif %}
2016-07-19 17:03:16 +00:00
{% if error %}
2016-02-01 16:35:55 +00:00
{{ error }}
2016-07-19 17:03:16 +00:00
{% endif %}
{% block content %}
{% endblock %}
</div>
2016-02-01 16:35:55 +00:00
2016-08-15 19:04:06 +00:00
{% if not popup %}
2016-07-19 17:03:16 +00:00
<footer>
{% block footer %}
2016-11-29 10:26:18 +00:00
<div>
<a href="{{ url('core:page', 'contacts') }}">{% trans %}Contacts{% endtrans %}</a>
<a href="{{ url('core:page', 'legals') }}">{% trans %}Legal notices{% endtrans %}</a>
2017-08-22 21:47:55 +00:00
<a href="https://ae2.utbm.fr/copyright_agent.php">{% trans %}Intellectual property{% endtrans %}</a>
<a href="{{ url('core:page', 'docs') }}">{% trans %}Help & Documentation{% endtrans %}</a>
<a href="{{ url('core:page', 'rd') }}">{% trans %}R&D{% endtrans %}</a>
2016-11-29 10:26:18 +00:00
</div>
2016-07-19 17:03:16 +00:00
{% trans %}Site made by good people{% endtrans %}
{% endblock %}
</footer>
2016-08-15 19:04:06 +00:00
{% endif %}
2016-07-19 17:03:16 +00:00
<!--
{% block tests %}
{{ tests }}
{% endblock %}
-->
{% block script %}
2016-08-10 03:48:06 +00:00
<script src="{{ static('core/js/jquery-3.1.0.min.js') }}"></script>
<script src="{{ static('core/js/ui/jquery-ui.min.js') }}"></script>
<script src="{{ static('core/js/ui/i18n/datepicker-fr.js') }}"></script>
2016-09-08 01:29:49 +00:00
<script src="{{ static('core/js/jquery.datetimepicker.full.min.js') }}"></script>
2016-08-10 03:48:06 +00:00
<script src="{{ static('core/js/multiple-select.js') }}"></script>
<script src="{{ static('ajax_select/js/ajax_select.js') }}"></script>
2016-09-08 01:29:49 +00:00
<script src="{{ url('javascript-catalog') }}"></script>
2016-08-10 03:48:06 +00:00
<script src="{{ static('core/js/script.js') }}"></script>
<script>
$('.select_single').multipleSelect({
single: true,
{% if not popup %}
position: 'top',
{% endif %}
});
$('.select_multiple').multipleSelect({
filter: true,
{% if not popup %}
position: 'top',
{% endif %}
});
$('.select_date').datepicker({
changeMonth: true,
changeYear: true,
dayNamesShort: $.datepicker.regional[ "{{ request.LANGUAGE_CODE }}" ].dayNamesShort,
dayNames: $.datepicker.regional[ "{{ request.LANGUAGE_CODE }}" ].dayNames,
monthNamesShort: $.datepicker.regional[ "{{ request.LANGUAGE_CODE }}" ].monthNamesShort,
monthNames: $.datepicker.regional[ "{{ request.LANGUAGE_CODE }}" ].monthNames,
}).datepicker( $.datepicker.regional[ "{{ request.LANGUAGE_CODE }}"] );
$(document).keydown(function (e) {
if ($(e.target).is('input')) { return }
if ($(e.target).is('textarea')) { return }
2016-08-28 23:31:58 +00:00
if ($(e.target).is('select')) { return }
if (e.keyCode == 83) {
$("#search").focus();
return false;
}
});
2016-09-08 01:29:49 +00:00
jQuery.datetimepicker.setLocale('{{ request.LANGUAGE_CODE|lower }}');
$('.select_datetime').datetimepicker({
format: 'Y-m-d H:i:s',
});
function add_syntax(e, choice) {
ta = $(e).parent().children('textarea')[0];
ta.focus();
var start = ta.selectionStart;
var end = ta.selectionEnd;
var before = ta.value.substring(0, start);
var after = ta.value.substring(end);
var between = ta.value.substring(start, end);
switch (choice) {
case "bold":
ta.value = before + "**" + between + "**" + after;
ta.selectionEnd = end + 2;
break;
case "italic":
ta.value = before + "*" + between + "*" + after;
ta.selectionEnd = end + 1;
break;
case "underline":
ta.value = before + "__" + between + "__" + after;
ta.selectionEnd = end + 2;
break;
case "strike":
ta.value = before + "~~" + between + "~~" + after;
ta.selectionEnd = end + 2;
break;
case "sub":
ta.value = before + "<sub>" + between + "</sub>" + after;
ta.selectionEnd = end + 5;
break;
case "sup":
ta.value = before + "<sup>" + between + "</sup>" + after;
ta.selectionEnd = end + 5;
break;
case "link":
if (between === "") {
between = "https://";
}
name = "{% trans %}name{% endtrans %}";
ta.value = before + "[" + name + "](" + between + ")" + after;
ta.selectionStart = start + 1;
ta.selectionEnd = start + 1 + name.length;
break;
case "image":
if (between === "") {
between = "{% trans %}https://path/to/image.gif{% endtrans %}";
}
alt = "{% trans %}alternative text{% endtrans %}";
ta.value = before + "![" + alt + "](" + between + "?42% \"{% trans %}Title{% endtrans %}\")" + after;
ta.selectionStart = start + 2;
ta.selectionEnd = start + 2 + alt.length;
break;
}
}
$(document).ready(function() {
editor = $('.markdown_editor');
editor.prepend('<a onclick="javascript:add_syntax(this, \'image\')">{% trans %}Image{% endtrans %}</a>');
editor.prepend('<a onclick="javascript:add_syntax(this, \'link\')">{% trans %}Link{% endtrans %}</a>');
editor.prepend('<a onclick="javascript:add_syntax(this, \'sup\')"><sup>{% trans %}sup{% endtrans %}</sup></a>');
editor.prepend('<a onclick="javascript:add_syntax(this, \'sub\')"><sub>{% trans %}sub{% endtrans %}</sub></a>');
editor.prepend('<a onclick="javascript:add_syntax(this, \'strike\')"><del>{% trans %}S{% endtrans %}</del></a>');
editor.prepend('<a onclick="javascript:add_syntax(this, \'underline\')"><u>{% trans %}U{% endtrans %}</u></a>');
editor.prepend('<a onclick="javascript:add_syntax(this, \'italic\')"><i>{% trans %}I{% endtrans %}</i></a>');
editor.prepend('<a onclick="javascript:add_syntax(this, \'bold\')"><b>{% trans %}B{% endtrans %}</b></a>');
});
2016-08-10 03:48:06 +00:00
</script>
{% endblock %}
2016-07-19 17:03:16 +00:00
</body>
2016-02-01 16:35:55 +00:00
</html>