Auth spéciale

- Le backend d'auth K-Fêt est étendu pour aussi identifier une personne
  dans le cas dans d'un formulaire en récupérant le password contenu
  dans l'input de nom `KFETPASSWORD`
- Le middleware d'auth K-Fêt enregistre l'utilisateur connecté de
  manière normale dans `request.real_user`
- Ajout d'un processeurs de contextes `kfet.context_processors.auth` qui
  qui remplace `user` et `perms` par l'utilisateur connecté de manière
  normale (`request.real_user`) et non celui connecté temporairement
- Modification de la vue de modif d'un compte pour s'adapter à l'auth
- Modification du template de modification d'un compte pour utiliser ce
  moyen d'authentification
- Séparation du JS conservant le côté gauche d'une page à l'écran
- Séparation de l'encart gauche contenant les infos d'un comtpe dans un
  autre template (`left_account`) pour l'utiliser dans `account_read` et `account_update`
- `base_nav` utilise user (qui est donc le vrai utilisateur connecté) au
  lieu de `request.user` qui peut aussi bien être le vrai utilisateur
qu'un utilisateur temporaire
This commit is contained in:
Aurélien Delobelle 2016-08-20 23:31:30 +02:00
parent ac61a6e5c6
commit 8507072c8f
12 changed files with 132 additions and 100 deletions

View file

@ -22,49 +22,7 @@
<div class="row">
<div class="col-sm-4 col-md-3 col-content-left">
<div class="content-left">
<div class="content-left-top {% if account.is_frozen %}frozen-account{% endif %}">
<div class="line trigramme">{{ account.trigramme }}</div>
<div class="line balance">{{ account.balance|ukf:account.is_cof }} UKF</div>
<div class="block">
<div class="line">{{ account.name }}</div>
{% if perms.kfet.is_team %}
<div class="line">{{ account.nickname }}</div>
{% endif %}
<div class="line">
{% if account.email %}
{{ account.email }}
{% else %}
Pas d'email !
{% endif %}
</div>
<div class="line">
{{ account.departement }} {{ account.promo }}
</div>
<div class="line">Statut COF: {{ account.is_cof }}</div>
</div>
<div class="block block-neg">
{% if account.negative.start %}
<div class="line">En négatif depuis {{ account.negative.start }}</div>
{% endif %}
{% if account.negative.balance_offset %}
<div class="line">Solde réel: {{ account.real_balance }} €</div>
{% endif %}
{% if account.negative.authz_overdraft_amount %}
<div class="line">Découvert autorisé: {{ account.negative.authz_overdraft_amount }} €</div>
{% endif %}
{% if account.negative.authz_overdraft_until %}
<div class="line">Découvert autorisé jusqu'à : {{ account.negative.authz_overdraft_until }}</div>
{% endif %}
</div>
</div>
<div class="buttons">
<a class="btn btn-primary btn-lg" href="{% url 'kfet.account.update' account.trigramme %}">
Modifier
</a>
<a class="btn btn-primary btn-lg" disabled>
Recharger par CB
</a>
</div>
{% include 'kfet/left_account.html' %}
</div>
</div>
<div class="col-sm-8 col-md-9 col-content-right">
@ -116,19 +74,4 @@
</div>
</div>
<script type="text/javascript">
$(document).ready(function() {
$(window).scroll(function() {
console.log($(this).scrollTop());
if ($(window).width() >= 768 && $(this).scrollTop() > 72.6) {
$('.col-content-left').css({'position':'fixed', 'top':'50px'});
$('.col-content-right').addClass('col-sm-offset-4 col-md-offset-3');
} else {
$('.col-content-left').css({'position':'relative', 'top':'0'});
$('.col-content-right').removeClass('col-sm-offset-4 col-md-offset-3');
}
});
});
</script>
{% endblock %}

View file

@ -18,17 +18,29 @@
{% block content %}
{% if post and success %}
<p>Informations mises à jour</p>
{% elif post and not success %}
<p>Echec de la mise à jour des informations</p>
{% endif %}
<form action="{% url 'kfet.account.update' account.trigramme %}" method="post">
{% csrf_token %}
{{ user_form.as_p }}
{{ cof_form.as_p }}
{{ account_form.as_p }}
<input type="submit" value="Mettre à jour">
</form>
<div class="row">
<div class="col-sm-4 col-md-3 col-content-left">
<div class="content-left">
{% include 'kfet/left_account.html' %}
</div>
</div>
<div class="col-sm-8 col-md-9 col-content-right">
{% include "kfet/base_messages.html" %}
<div class="content-right">
<div class="content-right-block">
<form action="{% url 'kfet.account.update' account.trigramme %}" method="post">
{% csrf_token %}
{{ user_form.as_p }}
{{ cof_form.as_p }}
{{ account_form.as_p }}
{% if perms.kfet.is_team and not perms.kfet.change_account %}
<input type="password" name="KFETPASSWORD">
{% endif %}
<input type="submit" value="Mettre à jour">
</form>
</div>
</div>
</div>
</div>
{% endblock %}

View file

@ -17,6 +17,7 @@
<script src="https://code.jquery.com/jquery-3.1.0.min.js" integrity="sha256-cCueBR6CsyA4/9szpPfrX3s49M9vUU5BgtiJj06wt/s=" crossorigin="anonymous"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script>
<script type="text/javascript" src="{% static 'kfet/js/jquery-confirm.js' %}"></script>
<script type="text/javascript" src="{% static 'kfet/js/kfet.js' %}"></script>
{% block extra_head %}{% endblock %}

View file

@ -18,10 +18,10 @@
<li><a href="{% url 'kfet.home' %}">Home</a></li>
</ul>
<ul class="nav navbar-nav navbar-right">
{% if request.user.username == 'kfet_genericteam' %}
{% if user.username == 'kfet_genericteam' %}
<li class="navbar-text">Équipe standard</li>
{% endif %}
{% if request.user.profile.account_kfet %}
{% if user.profile.account_kfet %}
<li>
<a href="{% url 'kfet.account.read' request.user.profile.account_kfet.trigramme %}">Mes infos</a>
</li>
@ -34,13 +34,13 @@
<li><a href="{% url 'kfet.account' %}">Comptes</a></li>
<li><a href="{% url 'kfet.checkout' %}">Caisses</a></li>
<li><a href="{% url 'kfet.article' %}">Articles</a></li>
{% if request.user.username != 'kfet_genericteam' %}
{% if user.username != 'kfet_genericteam' %}
<li><a href="{% url 'kfet.login.genericteam' %}" target="_blank" id="genericteam">Connexion standard</a></li>
{% endif %}
</ul>
</li>
{% endif %}
{% if request.user.is_authenticated %}
{% if user.is_authenticated %}
<li><a href="/logout" title="Déconnexion"><span class="glyphicon glyphicon-log-out"></span></a></li>
{% endif %}
</ul>

View file

@ -0,0 +1,43 @@
{% load kfet_tags %}
<div class="content-left-top {% if account.is_frozen %}frozen-account{% endif %}">
<div class="line trigramme">{{ account.trigramme }}</div>
<div class="line balance">{{ account.balance|ukf:account.is_cof }} UKF</div>
<div class="block">
<div class="line">{{ account.name }}</div>
{% if perms.kfet.is_team %}
<div class="line">{{ account.nickname }}</div>
{% endif %}
<div class="line">
{% if account.email %}
{{ account.email }}
{% else %}
Pas d'email !
{% endif %}
</div>
<div class="line">
{{ account.departement }} {{ account.promo }}
</div>
<div class="line">Statut COF: {{ account.is_cof }}</div>
</div>
<div class="block block-neg">
{% if account.negative.start %}
<div class="line">En négatif depuis {{ account.negative.start }}</div>
{% endif %}
{% if account.negative.balance_offset %}
<div class="line">Solde réel: {{ account.real_balance }} €</div>
{% endif %}
{% if account.negative.authz_overdraft_amount %}
<div class="line">Découvert autorisé: {{ account.negative.authz_overdraft_amount }} €</div>
{% endif %}
{% if account.negative.authz_overdraft_until %}
<div class="line">Découvert autorisé jusqu'à : {{ account.negative.authz_overdraft_until }}</div>
{% endif %}
</div>
</div>
<div class="buttons">
<a class="btn btn-primary btn-lg" href="{% url 'kfet.account.update' account.trigramme %}">
Modifier
</a>
<a class="btn btn-primary btn-lg" disabled>Recharger par CB</a>
</div>